Socket
Socket
Sign inDemoInstall

@bbc/psammead-consent-banner

Package Overview
Dependencies
68
Maintainers
40
Versions
99
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @bbc/psammead-consent-banner

React styled components for the Consent Banner


Version published
Weekly downloads
2
Maintainers
40
Install size
966 kB
Created
Weekly downloads
 

Readme

Source

Description

The psammead-consent-banner component is a styled div that encapsulates information regarding privacy and cookie policy. The component also has two options, for users to accept the policy or be directed to a page with additional information regarding the data policy.

Installation

npm install @bbc/psammead-consent-banner

Props

ArgumentTypeRequiredDefaultExample
titlestringYesN/AWe've updated our Privacy and Cookies Policy
textelementYesN/A<ConsentBannerText script={script}> This is some text</ConsentBannerText>
acceptelementYesN/A<button type="button">Accept</button>
rejectelementYesN/A<a href="https://www.bbc.co.uk/usingthebbc/your-data-matters">Find out what's changed</a>
idstringNoNullConsentBanner
hiddenboolNoNullfalse
dirstringNo'ltr'One of 'rtl' 'ltr'
scriptscriptYesN/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', }, }, }
servicestringYesN/A'news'
headingRefReferencenonulluseRef(null)

Usage

The typical use-case of this component is on top of the webpage of all page types. It is visible for new users.

The headingRef prop is used so that the title of the consent banner can be programmatically focussed for accessibility reasons. This ref will be assigned to an HTML heading element which can be focussed using the DOM APIs: headingRef.current.focus().

import { ConsentBanner, ConsentBannerText } from '@bbc/psammead-consent-banner';
import { latin } from '@bbc/gel-foundations/scripts';

const Accept = (
  <button onClick={() => {}} type="button">
    OK
  </button>
);

const Reject = (
  <a href="https://www.bbc.co.uk/usingthebbc/your-data-matters">
    Find out what&apos;s changed
  </a>
);

const Text = (
  <ConsentBannerText dir="ltr" script={latin} service="news">
    This is some text with <a href="https://www.bbc.com/news">a link</a> inside
    the consent banner. We have made some important changes to our Privacy and
    Cookie Policy.
  </ConsentBannerText>
);

const props = {
  dir: 'ltr',
  title: 'We have updated our Privacy and Cookies Policy',
  text: Text,
  accept: Accept,
  reject: Reject,
  id: null,
  hidden: false,
  script: latin,
  service: 'news',
};

<ConsentBanner {...props} />;

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.

Keywords

FAQs

Last updated on 30 Mar 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc