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
First, install the package.
# using npm
npm install --save @chanzuckerberg/eds
# or using Yarn
yarn add @chanzuckerberg/eds
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 */
}
For more information and configuration options, read the Theming Overview.
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.
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.
See our Security Readme.
Please review our Education Design System Site (SSO Required) here.