@bbc/psammead-timestamp
v4.0.31
Published
React styled component for displaying a timestamp with a suitable semantic markup
Downloads
419
Readme
psammead-timestamp -
Description
Displays a timestamp, with suitable semantic markup.
When to use this component
For displaying an isolated timestamp, separate from the other content in an article or cell.
When not to use this component
When a date or time is to be displayed inline inside a paragraph.
Installation
npm install @bbc/psammead-timestamp
Props
| 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 |
Usage
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>
);
Accessibility notes
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.
Contributing
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.
Code of Conduct
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.
License
Simorgh is Apache 2.0 licensed.