Skip to content

international-labour-organization/designsystem

Repository files navigation

ILO Digital Design System ILO Digital Design System

πŸš€ Go to website  |  βš›οΈ React docs  |  🌿 Twig docs

Introduction

The ILO Design System provides tools and components for building accessible websites that implement the visual identity of the International Labour Organization.

It comes in two flavors:

Twig (Drupal)

Our Twig Component Library ships production-ready component templates for Drupal. The fastest way to adopt it is via the ILO Base Theme, which bundles the components as Drupal patterns.

If you prefer to build a bespoke Drupal theme, you can still consume the package directly β€” import the Twig templates you need and wire them into your custom modules.

Quick links:

React

Our React Component Library provides accessible building blocks for dynamic websites. Install @ilo-org/react (which already depends on @ilo-org/styles) to get the components you need for any framework β€” Next.js, React Router, Remix, or even a simple Vite app.

Quick links:

Installation

You can install each library directly from npm:

npm i @ilo-org/twig
npm i @ilo-org/react

These two packages already include most of the assets you'll need in production. You do not have to β€” and in most cases shouldn't β€” install the following Design System dependencies separately.

  • @ilo-org/styles
  • @ilo-org/fonts
  • @ilo-org/icons (or other icon-related packages)

However, if you need to use logos, you will need to install @ilo-org/brand-assets which provides a selection of approved brand assets in multiple languages.

Packages

In addition to the two component libraries mentioned above, this monorepo includes packages that provide the styles, assets, and utilities both libraries need to operate. Again, because the component libraries already include everything (except logos) you need to start a new project, you generally shouldn't install these packages individually. Only installing @ilo-org/react or @ilo-org/twig should give you everything you need.

The one exception is the @ilo-org/brand-assets package which includes assets like logos that don't come bundled in with the main design system packages.

Package Description Current version
@ilo-org/brand-assets Logos and image files
@ilo-org/fonts Official fonts
@ilo-org/icon-build-helpers Module used internally to generate icons
@ilo-org/icons Icon files
@ilo-org/icons-react Icon components
@ilo-org/react React component library
@ilo-org/styles Stylesheets for components
@ilo-org/twig Twig component library
@ilo-org/maestro Storybook helpers for Twig

Deprecated

The following packages have been deprecated and should no longer be used in new projects.

Package Last version Notes
@ilo-org/themes We are moving all theming to CSS custom properties defined in @ilo-org/styles, making design tokens available via a standard naming convention so teams can override defaults easily as theming becomes a core feature of upcoming releases.
@ilo-org/utils Initially intended for sharing logic between Twig and React packages, but it no longer provided enough unique functionality to justify a standalone package.

Code quality

JavaScript/TypeScript projects undertaken for the ILO should use these configurations to stay consistent with ILO code standards.

Package Description Current version
@ilo-org/eslint-config Config for linting with ESLint
@ilo-org/prettier-config Config for formatting with Prettier
@ilo-org/typescript-config Config for type checking with TypeScript

Issues

Feel free to create an issue in this repository for all bugs, questions and feature requests.

Contributing

ILO Design System is an open-source project and we welcome your contributions! Before submitting a pull request, please take a moment to review our Contribution Guidelines.

License

Licensed under the Apache 2.0.

About

A design system for the International Labour Organization

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors