@ferjalo/testing-zen-ui
v0.0.2
Published
Zen UI components library
Downloads
3
Readme
ZEN-UI
A collection of UI components that are shared across Reciprocity applications
Dev environment setup
yarn
yarn start
This command will concurrently run both Stencil and Storybook in watch mode.
Storybook should be available on http://localhost:6006
Changes on components are shown in Storybook in real-time (hot module reload)
Folder structure
src/components
Stencil src folder. Implementation, tests, and stories for all available Zen UI components.
src/stories
General stories/guides, not based on an individual Zen UI component
.storybook
Storybook configuration files
.circleci
Deployment configuration
How it works
Stencil
The library is based on Stencil. Stencil is a lib to produce standard web components.
Web components
Web components are part of the existing Web standards. Thus they're natively supported by modern web browsers (IE with polyfills). Therefore they can be consumed in any FE framework (React, Vue, Angular,...) or even in Vanilla js.
Storybook
For presentation, we're using Storybook. Storybook is an industry-standard for presenting component libraries and design styles. Stencil support is under development since March 2019 (1.5 years since this writing), but there's nothing public yet. Therefore this lib is based on Storybook config for web components. Setup was created from the ground up but was modeled on dutscher/stencil-storybook. Under the hood, it uses lit-html for rendering the components. This is why the components in each story are implemented using lit-html. Lit-html allows us to use some powerful stuff that is common for higher FE frameworks, like binding non-scalar props (arrays, objects) directly and listening to emitted events.
Dev environment
Components documentation
Documentation for each component is autogenerated by Stencil. Storybook picks autogenerated readme.md
of each component and includes it to component's story. Check Stencil Docs Readme generation for detailed guides on how to tailor docs using special code comments.
MDX
All non-component pages are written in MDX format. MDX is a format that lets you write JSX in your Markdown documents. Be sure to get to know it better before altering docs.