@bbc/psammead-headings

5.0.30 • Public • Published

psammead-headings - Known Vulnerabilities Dependency Status peerDependencies Status Storybook GitHub license npm version PRs Welcome

Description

The Headings are a set of two components, Headline and SubHeading. They use a h1 and h2 HTML element respectively, with the Headline being designed for a single use on the page, with SubHeading being aimed at repeated use.

Installation

npm install @bbc/psammead-headings

Props

Argument Type Required Default Example
script object yes latin { 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 { Headline, SubHeading } from '@bbc/psammead-headings';
import { latin } from '@bbc/gel-foundations/scripts';

const Wrapper = () => (
  <Fragment>
    <Heading script={latin} service="news">
      Some headline
    </Heading>
    <SubHeading script={latin} service="news">
      Some subheadline
    </SubHeading>
  </Fragment>
);

SubHeading components can be used as page anchors when passed an id prop. To take the above usage as an example:

<SubHeading id="some-subheadline" script={latin} service="news">
  Some subheadline
</SubHeading>

This usage will allow for the page anchor: www.bbc.com/news/articles/articleID#some-subheadline

When to use this component

These components can be used at any point on the page, however the Headline is designed to be used once at the top of the page. The SubHeading takes an optional id value and passes it to the h2 which can be used as an anchor when referencing content.

Accessibility notes

The SubHeading component has a tabindex of -1 so that it works correctly with screen readers when navigated to via a skip link.

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 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

Psammead is Apache 2.0 licensed.

Package Sidebar

Install

npm i @bbc/psammead-headings

Weekly Downloads

118

Version

5.0.30

License

Apache-2.0

Unpacked Size

42.2 kB

Total Files

9

Last publish

Collaborators

  • eagerterrier_bbc
  • bbc-online