Skip to main content

Overview

YDS is made of a few parts that share the same tokens and names. Design tokens start as Figma variables and are built into code formats in @yleisradio/yds-core, so a colour or spacing value means the same thing in a design file and in an application.

PartUsed forWhere
DocumentationGuidelines, usage, API referenceThis site
Figma librariesDesigning with components, tokens and iconsYDS Foundation and others, see below
npm packagesBuilding with tokens, components, icons and fontsYle's GitHub Packages registry, see below
StorybookTrying out components and their propsStorybook
CDNFonts and native icon files without installing packagesdesign-system.cdn.yle.fi, see below
Source codePackages, docs and StorybookGitHub

What each part contains​

  • Tags show the platform packages: all works anywhere (CSS, JavaScript, SVG); react and react native are separate packages with those suffixes. For example, yds-components react is @yleisradio/yds-components-react.
  • Dotted boxes are 0.x packages: usable, but their APIs may still change between minor versions.
  • In the diagram below, yds-core stands for the token and theme packages, yds-icons for the icon packages and yds-components for the component packages.

How the parts connect​

  • Tokens are defined as Figma variables and built into CSS, JavaScript, SCSS, Less and Android formats in @yleisradio/yds-core.
  • Icons are drawn in Figma, exported as SVG and generated into the icon packages for web, React and React Native.
  • Components are built on the tokens and icons, shown in Storybook and released as npm packages together with the token and icon packages.
  • Services and prototypes install the packages and follow the documentation. What they learn comes back as feedback and contributions to the Figma libraries and the code.

Figma libraries​

LibraryContents
YDS FoundationDesign tokens as Figma variables, light and dark themes, text styles and shared components
YDS Global ColorsGlobal palettes and colour swatches
YDS Icons and LogosBasic icons, illustrative icons, logos and graphical assets
YDS InfographicsInfographic colour themes, weather symbols and examples of simple infographic components

How to enable them: Using YDS in Figma.

Packages​

All packages are published under the @yleisradio scope to Yle's GitHub Packages registry. Installing them requires access: see For developers.

PackageContentsPlatform
@yleisradio/yds-coreDesign tokens and themes as CSS custom properties, JS/TS constants, SCSS, Less and Android colour resourcesAll
@yleisradio/yds-fontsYle Next font filesAll
@yleisradio/yds-components-reactReact componentsWeb
@yleisradio/yds-components-react-nativeReact Native componentsMobile
@yleisradio/yds-iconsIcon SVG files and icon name typesAll
@yleisradio/yds-icons-reactIcons as React componentsWeb
@yleisradio/yds-icons-react-nativeIcons as React Native componentsMobile
@yleisradio/yds-theme-customGenerating accessible custom themes from a colour combinationWeb
@yleisradio/yds-infographic-components-reactColumn, line, area and donut charts, legends and accessible data tablesWeb
@yleisradio/yds-infographic-iconsInfographic icon SVG files, such as weather symbolsAll
@yleisradio/yds-infographic-icons-reactInfographic icons as React componentsWeb
@yleisradio/yds-infographic-icons-react-nativeInfographic icons as React Native componentsMobile

Release notes for every package are in GitHub releases.

Storybook​

Storybook shows every React component in isolation, with controls for trying out props and states. Component pages on this site link to the matching story.

React Native components have their own Storybook in the YDS repository. It isn't published on the web: run it locally on an iOS or Android simulator with yarn storybook:native. See the repository README for setup.

CDN​

design-system.cdn.yle.fi serves static files that don't need a package install: