/edu-design-system

Design system for Education Projects

Primary LanguageTypeScriptMIT LicenseMIT

Education Design System

Test CI Release codecov

The Education Design System (EDS) is a repository of building blocks, implementing the Chan Zuckerberg Initiative Education Design System. It contains:

  • Design Tokens defining the color, sizes, and other details used in the system
  • Tooling/Configuration for using and updating the tokens in a consuming application
  • Presentational components implementing the common controls provided by the EDS toolkit
  • Guidelines for creating recipes using EDS, composing the above components

Installation

First, install the package.

# using npm
npm install --save @chanzuckerberg/eds

# or using Yarn
yarn add @chanzuckerberg/eds

Setting up EDS in your project

Import the EDS stylesheets somewhere in your app root, e.g. an init.ts or app.ts file:

import '@chanzuckerberg/eds/index.css'; // Includes relevant styles and tokens for EDS
import '@chanzuckerberg/eds/fonts.css'; // Includes font files if using the built in theme fonts

Also, include this in your base / reset styles to allow configuation of the pixel-to-rem ratio:

html {
  font-size: calc(var(--eds-font-size-base) * 1px); /* Sets the default pixel-to-rem ratio */
}

Theming Setup

For more information and configuration options, read the Theming Overview.

EDS Component Usage

Import any of the components from the top-level package:

// Import components by name at the top of your file
import { Heading } from '@chanzuckerberg/eds';

// ...and then use them in your React components:

<Heading preset="headline-lg">
  Coffee!
</Heading>

EDS provides a suite of components for use, and documentation for available props and overrides.

Development

This project is under active development. See CONTRIBUTING.md for more information on how to contribute to the Design System and IDE (VSCode) setup. Also, read our guidelines for additional information on how we build EDS components.

Instead, if you want to report an issue, you can open an issue.

This project is governed under the Contributor Covenant code of conduct.

Reporting Security Issues

See our Security Readme.

FAQ, More Information, and Support

Please review our Education Design System Site (SSO Required) here.