@bbc/psammead-useful-links
v3.0.33
Published
React component for Useful Links
Downloads
377
Maintainers
Readme
psammead-useful-links -
Description
The UsefulLinks
component implements a Link Promo type that accesses links with information about various things to do with the world service website. UsefulLinks
consists of a wrapper and a link element when there is only one useful item. In case there are multiple items, UsefulLinks
consists of an unordered list with list items.
Installation
npm install @bbc/psammead-useful-links
UsefulLink Props
| Argument | Type | Required | Default | Example |
| --------- | ---- | -------- | ------- | ------- |
| service | string | yes | N/A | 'news'
|
| 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', }, }, } |
| href | string | yes | N/A | 'https://www.bbc.com/igbo/afirika-49883577'
|
UsefulLinksUl Props
| Argument | Type | Required | Default | Example |
| --------- | ---- | -------- | ------- | ------- |
| children | node | yes | N/A | <UsefulLinksLi><UsefulLink service='news' script={latin} href='https://www.bbc.com/igbo/afirika-49883577'> Mitocinmu da sauko da sautin labarai </UsefulLink></UsefulLinksLi>
|
UsefulLinksLi Props
| Argument | Type | Required | Default | Example |
| --------- | ---- | -------- | ------- | ------- |
| children | node | yes | N/A | <UsefulLink service='news' script={latin} href='https://www.bbc.com/igbo/afirika-49883577'> Mitocinmu da sauko da sautin labarai </UsefulLink>
|
Usage
import { latin } from '@bbc/gel-foundations/scripts';
import { UsefulLink, UsefulLinksLi, UsefulLinksUl } from './index';
const SingleUsefulItem = () => (
<UsefulLink script={latin} service="news" href={url}>
{usefulItems[0]}
</UsefulLink>
);
const MultipleUsefulItems = () => (
<UsefulLinksUl>
{usefulItems.map(item => {
return (
<UsefulLinksLi key={item.id}>
<UsefulLink script={latin} service="news" href={item.url}>
{item.name}
</UsefulLink>
</UsefulLinksLi>
);
})}
</UsefulLinksUl>
);
When to use this component
This component can be used at any point on the page.
Accessibility notes
When there are multiple useful items, they are announced by a screen reader as list items within a list. When there is only one useful item, a screen reader does not announce it as a list item.
We have added the role list
and listitem
to the corresponding list items due to a VoiceOver bug to reinstate the list semantics.
Contributing
Psammead 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 Psammead repository.
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
Psammead is Apache 2.0 licensed.