This package contains the Stencil-based web components that power KoliBri.
Each component ships in the @public-ui/components
npm package.
Learn more about the architecture in the architecture concept and find additional guides on the documentation site.
Add the library to your project with pnpm:
pnpm add @public-ui/components
Register the components with a theme before using them:
import { register } from '@public-ui/components';
import { defineCustomElements } from '@public-ui/components/dist/loader';
import { DEFAULT } from '@public-ui/theme-default';
register(DEFAULT, defineCustomElements).catch(console.error);
After registration you can use the elements in your markup:
<kol-button _label="Hello World"></kol-button>
Framework-specific adapters are available for improved developer experience. See the framework guides.
- Temporarily remove elements in
src/index.html
while working on components.- Search for the component name with an uppercase letter.
- Input components are located under "Form".
- Restore
src/index.html
orsrc/index.bak.html
once your work is done.
Run pnpm --filter @public-ui/components build
to build the library.
During development you can start the live preview with pnpm start
.
-
pnpm start
– run the local dev server with live reload -
pnpm test
– execute unit and snapshot tests -
pnpm lint
– check the code base with ESLint and Stylelint
The component source README describes additional styling rules.
-
src/components
– each web component lives in its own folder. -
src/schema
– TypeScript schema describing the API of every component. -
src/assets
,src/locales
andsrc/utils
– shared assets, translations and utilities.
You can customize KoliBri by creating your own theme. See the default theme guide for details.