Displays a timestamp, with suitable semantic markup.
For displaying an isolated timestamp, separate from the other content in an article or cell.
When a date or time is to be displayed inline inside a paragraph.
npm install @bbc/psammead-timestamp
Argument | Type | Required | Default | Example |
---|---|---|---|---|
datetime |
string (supported formats) | Yes | N/A | 2006-09-24T05:00-07:00 |
typographyFunc |
function | No | getBrevier | function getPica(script){ return 'font-size: 28'; } |
padding |
boolean | No | true |
false |
script |
object | Yes | N/A | { canon: { groupA: { fontSize: '28', lineHeight: '32',}, groupB: { fontSize: '32', lineHeight: '36', }, groupD: { fontSize: '44', lineHeight: '48', }, }, trafalgar: { groupA: { fontSize: '20', lineHeight: '24', }, groupB: { fontSize: '24', lineHeight: '28', }, groupD: { fontSize: '32', lineHeight: '36', }, }, } |
service | string | Yes | N/A | 'news' |
darkMode | bool | no | false | true |
import { latin } from '@bbc/gel-foundations/scripts';
import { getPica } from '@bbc/gel-foundations/typography';
const WrappingContainer = () => (
<Timestamp
datetime="2019-03-01T14:00+00:00"
typographyFunc={getPica}
padding={false}
script={latin}
service="news"
>
Friday 1 March 2019
</Timestamp>
);
The usage of the semantic time
element within this component can result in strange behaviours when using assistive technology such as VoiceOver for iOS. Specifically, it results in a "text splitting" behaviour, where any text in the prefix is read out, but the value inside the semantic time
element require an additional swipe before being read out.
However, as we heavily encourage the use of this semantic element, and want to ensure it's usage is in line with the W3C examples, we feel this compromise is necessary.
Simorgh is completely open source. We are grateful for any contributions, whether they be new components, bug fixes or general improvements. Please see our primary contributing guide which can be found at the root of the Simorgh respository.
We welcome feedback and help on this work. By participating in this project, you agree to abide by the code of conduct. Please take a moment to read it.
Simorgh is Apache 2.0 licensed.