Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

@bbc/psammead-consent-banner

2.3.32 • Public • Published

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

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

Argument Type Required Default Example
title string Yes N/A We've updated our Privacy and Cookies Policy
text element Yes N/A <ConsentBannerText script={script}> This is some text</ConsentBannerText>
accept element Yes N/A <button type="button">Accept</button>
reject element Yes N/A <a href="https://www.bbc.co.uk/usingthebbc/your-data-matters">Find out what's changed</a>
id string No Null ConsentBanner
hidden bool No Null false
dir string No 'ltr' One of 'rtl' 'ltr'
script script 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'

Usage

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

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.

Install

npm i @bbc/psammead-consent-banner

DownloadsWeekly Downloads

1,084

Version

2.3.32

License

Apache-2.0

Unpacked Size

39.5 kB

Total Files

9

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar