![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@bbc/psammead-assets
Advanced tools
A collection of common assets that are likely to be required by many Psammead components or users, such as SVGs or small scripts.
This package provides a collection of common assets that are likely to be required by many Psammead components or users, such as SVGs or small scripts.
/amp-boilerplate
- A helper, allowing projects using Psammead to easily pull in a versioned copy of AMP's required boilerplate scripts.
/svgs
- SVG icons commonly required by projects using Psammead.
npm install @bbc/psammead-assets --save
import { BBC_BLOCKS, news } from '@bbc/psammead-assets/svgs';
import { AMP_SCRIPT } from '@bbc/psammead-assets/amp-boilerplate';
Service brand SVGs, like news
, are objects that contains an svg group, viewbox, ratio and height;
This package currently has brand SVGs for the BBC News World Services as well as for BBC News, BBC Scotland.
Property | Type | Required | Default | Example |
---|---|---|---|---|
group | node | Yes | N/A | <g fillrule="evenodd"><path d="M84.32" /></g> |
viewbox | object | Yes | N/A | { height: 24, width: 167.95 } |
ratio | number | Yes | N/A | 6.9979 |
The width of your SVG can be calculated using your desired height multiplied by the ratio
value provided above.
const WrappingContainer = () => (
<svg viewBox={`0 0 ${news.viewbox.width} ${news.viewbox.height}`}>{news.group}</svg>
);
Core icons is an object containing styled SVG icons from GEL Iconography Core. By default Core icons are sized to work well alongside text from the GEL BodyCopy
typography group.
import { coreIcons } from '@bbc/psammead-assets/svgs';
<p>{coreIcons.info} Did you know, in Switzerland it's illegal to own just one guinea pig?</p>
Media icons is an object containing styled SVG icons for video, audio, photogallery and guidance. Media icons are sized to work well alongside specific text with typography group GEL Minion
. They are used in psammead-media-indicator
and psammead-media-player
components.
import { mediaIcons } from '@bbc/psammead-assets/svgs';
<span>
{mediaIcons.audio}
{duration && datetime && (<time dateTime={datetime}>{duration}</time>)}
</span>
Navigation icons is an object containing styled SVG icons for hamburger and cross. They are used in psammead-navigation
component.
import { navigationIcons } from '@bbc/psammead-assets/svgs';
<span>
{navigationIcons.cross}
</span>
When adding a new export to this utility package the export tests also need to be updated. When removing an exisiting export from this utility package the export tests need to be updated and the package version requires a major change (EG: 1.2.1 -> 2.0.0) as this would be considered a breaking change due to functionality being removed.
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.
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.
Psammead is Apache 2.0 licensed.
FAQs
A collection of common assets that are likely to be required by many Psammead components or users, such as SVGs or small scripts.
The npm package @bbc/psammead-assets receives a total of 5 weekly downloads. As such, @bbc/psammead-assets popularity was classified as not popular.
We found that @bbc/psammead-assets demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.