A UI component library based on the design system of the canton of zurich.
This library hasn't had a major release yet. Therefore, all minor releases may include breaking changes. Check the changelog for details on the changes made. If you plan to use this library in production, please get in touch with us.
Node.js > v20.9.0
npm i @statistikzh/leuThe storybook contains a in depth guide to install the library and a comprehensive overview of all components and their usage.
In order for the components to work, you need to load the theme styles and the font definitions globally.
The theme file is part of the package (dist/theme.css).
The fonts on the other hand have to be licensed and are therefore not included in this package.
If you have an environment that resolves bare module imports, you can use the library like this:
<link rel="stylesheet" href="@statistikzh/leu/theme.css" />
<script type="module">
import "@statistikzh/leu/leu-input.js"
</script>
<leu-input label="Repository" type="text" value="@statistikzh/leu"></leu-input>Browsers can't resolve bare module imports without import maps. But we can use a CDN to resolve the imports for us. This is useful if you're just using plain HTML and JavaScript without any build or transformation steps. This is also applicable in an environment like Observable.
<link
rel="stylesheet"
href="https://esm.sh/@statistikzh/leu@0.22.0/dist/theme.css"
/>
<script type="module">
import "https://esm.sh/@statistikzh/leu@0.22.0/leu-input.js"
</script>
<leu-input label="Repository" type="text" value="@statistikzh/leu"></leu-input>To scan the project for linting and formatting errors, run
npm run lintTo automatically fix linting and formatting errors, run
npm run formatTo execute a single test run:
npm run testTo run the tests in interactive watch mode run:
npm run test:watchTo run a local instance of Storybook for your component, run
npm run storybookTo build a production version of Storybook, run
npm run storybook:buildThanks to the following people who have contributed to this project
Dan Büschlen
dan.bueschlen@statistik.ji.zh.ch
This project uses the following license:
- Code license: Copyright (c) <2025> <Statistisches Amt Kanton Zürich>
We welcome contributions. Please see our CONTRIBUTING.md file for detailed guidelines of how to contribute.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
