@statistikzh/leu
v0.22.1
Published
UI component library of the canton of zurich
Downloads
448
Readme

🦁 leu
A UI component library based on the design system of the canton of zurich.
⚠️ Active development
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.
Prerequisites
Node.js > v20.9.0
Installation
npm i @statistikzh/leuUsage
The 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>CDN
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/[email protected]/dist/theme.css"
/>
<script type="module">
import "https://esm.sh/@statistikzh/[email protected]/leu-input.js"
</script>
<leu-input label="Repository" type="text" value="@statistikzh/leu"></leu-input>Linting and formatting
To scan the project for linting and formatting errors, run
npm run lintTo automatically fix linting and formatting errors, run
npm run formatTesting with Web Test Runner
To execute a single test run:
npm run testTo run the tests in interactive watch mode run:
npm run test:watchDemoing with Storybook
To run a local instance of Storybook for your component, run
npm run storybookTo build a production version of Storybook, run
npm run storybook:buildContributors
Thanks to the following people who have contributed to this project
Contact
Dan Büschlen [email protected]
License
This project uses the following license:
- Code license: Copyright (c) <2025> <Statistisches Amt Kanton Zürich>
Guidelines for contributing
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.
