@duetds/components
v8.7.3
Published
This package includes Duet Design System Web Components and related utilities.
Downloads
8,627
Readme
Duet Components
This package includes Duet Web Components and related tools.
Usage
For usage instructions, please see Duet Design System documentation.
Architecture
This package is built with Stencil.js, a compiler and toolchain for building web components. The component source code is written in TypeScript + JSX (TSX), with stylesheets written in SCSS.
Development
The following are the most commonly used commands during development:
npm start
- Compile components, start watching for changes, start local development servernpm test
- Compile components, start watching for changes, start local development server and run tests.
The local development server started by npm start
or npm test
serves a files located at /src/prototypes/
. Any local changes or new components are available on this page, so this can be used as a testing ground when developing.
On that page you can also press ctrl + p
to choose any of the component fixtures to work on.
How to develop new components
- Create component files
- add directory for component under
src/components/[component-name]
- add
[component-name].tsx
- add
[component-name].scss
- add
[component-name].e2e.ts
- add
readme.md
- add directory for component under
- Implement component
- Write tests
- Write readme
- add info for docs
- add comprehensive examples
- Test theming for both
default
andturva
- Browser testing
- Accessibility testing, following the Duet accessibility checklist
- Test SSR
- Add the following to
docs/
:- An SVG icon for listing on component page
- Add to
changelog.md
Documentation and examples
- Documentation that is shown on duetds.com acts as our primary component development platform. To get started locally, open
/docs/
directory and runnpm install
andnpm start
. - Once the server is up and running, you can access the local development environment by pointing your browser to http://localhost:8000. The components section in the documentation will be empty at this point.
- Next, go to
/packages/components/
directory and runnpm install
andnpm start
that starts up the component watch and build tasks. - If you now open any of the
*.tsx
,*.scss
, orreadme.md
files underneath/packages/components/src/components/
and hit save, that will trigger a rebuild task which also copies the necessary changes over to the local documentation running at http://localhost:8000. - Editing
*.tsx
and*.scss
files will generate a new JavaScript bundle, while editing thereadme.md
files only generates and copies over the documentation and component usage examples. - When working on new components or editing existing ones, make sure to follow our code style guide found under the guidelines section.
- Component variation examples are inside each component’s
readme.md
, while the component templates are located under/docs/src/templates/
directory.
Copyright
Copyright © 2023 LocalTapiola/Turva.