Amsterdam / amsterdam-styled-components

Component Library based on Amsterdam Design System
https://amsterdam.github.io/amsterdam-styled-components/?path=/docs/introduction-welcome--page
Mozilla Public License 2.0
26 stars 13 forks source link
team-dataportaal

Amsterdam Styled Components (ASC)

style: styled-components Storybook lerna TypeScript Build Status Netlify Status code style: prettier

Demo site with the storybook of the components

Use components in your project

Please read the getting started documentation

Contributing / Creating components

Please read the CONTRIBUTION.md

Design system

We aim the components to be aligned with the Amsterdam Design System. In order to align these components, we contact people on the DST (Design System Team) slack group to let them know which components we want to align. Usually some modifications need to be made in both Storybook and Amsterdam Design System. The state of a component indicates whether it is ‘approved’ as officially aligned. There are two possible states:

  1. stable: Stable components are aligned and "approved" by the design system. These components are usually embedded in the corresponding the design system.
  2. experimental: These components are simply not yet aligned and reviewed by the Design system, but they can be used in your project if you want. Keep in mind they can change in the near future when aligning them.

Some components don't have a state in the stories, consider these "experimental".

More info can be found here

If you have any questions, please contact one of the maintainers to get access to the DST slack group

Structure

This project is a monorepo with 2 packages

Vision

Consistency is always an issue in software engineering, especially when it comes to web styling and UX. That is why we think a component library who captures styling but also certain UX aspects, e.g. button loading state, is highly beneficial for organisations with large or multiple applications, such as the municipality of Amsterdam.

We acknowledge that such a library entails some risks and pitfalls and we aim to cover these as much as possible. On the other hand we think that the benefits outweigh the downsides.

Quality assurance and durable maintainability

One of the biggest risks is the way a library needs be maintained in order to guarentee quality and keep developers motivated to continue using it. This is at risk when:

Our goal is to set up strict guidelines for development and limit the amount of reviewers in the repo. Creating these guidelines is an iterative process and we invite all who are interested to contribute.

The guidelines can be found here (TBD)

Tradeoff

PROS

Risks

Extra information

More detailed information can be found in the README.md of each package.