@colletdev/core
v0.3.12
Published
Rust/WASM Custom Elements — 50 production-grade UI components
Downloads
5,726
Maintainers
Readme
@colletdev/core
48 accessible web components built in Rust, compiled to WASM, distributed as Custom Elements. Component-level WCAG 2.2 AA constraints are enforced at compile time -- page-level integration (focus order, layout, slotted content) remains the consumer's responsibility. WASM loads on interaction only.
Install
npm install @colletdev/coreQuick Start
import { init } from '@colletdev/core';
await init(); // registers all <cx-*> elements<cx-button variant="filled" label="Save" intent="primary"></cx-button>
<cx-text-input label="Email" kind="email" placeholder="[email protected]"></cx-text-input>Selective Loading
await init({ components: ['button', 'text-input', 'select'] }); // tree-shakes the rest
await init({ lazy: true }); // defer WASM until interactionTheming
Collet uses CSS custom properties for all colors, spacing, typography, and motion. Override the defaults in your own stylesheet or generate a custom tokens.css with @colletdev/tokens.
:root {
--color-primary: oklch(0.55 0.22 265);
--color-surface: oklch(0.98 0 0);
--radius-md: 0.5rem;
}Vite Plugin
Handles WASM MIME types, asset copying, preload hints, and Declarative Shadow DOM pre-rendering.
import { colletPlugin } from '@colletdev/core/vite-plugin';
export default defineConfig({ plugins: [colletPlugin()] });SSR
Server-side rendering helpers are available via the /server export:
import { renderToString } from '@colletdev/core/server';Exports
| Export | Description |
|--------|-------------|
| @colletdev/core | init(), element registrations, TypeScript types |
| @colletdev/core/runtime | Base classes (CxElement, CxFormElement) |
| @colletdev/core/vite-plugin | Vite integration |
| @colletdev/core/server | SSR utilities |
| @colletdev/core/markdown | renderMarkdown() / renderMarkdownSync() |
| @colletdev/core/elements/* | Individual Custom Element definitions |
IDE Support
A custom-elements.json manifest is included. VS Code, WebStorm, and Lit-based tooling will pick it up for autocomplete and documentation on <cx-*> tags.
License
MIT -- github.com/Danrozen87/collet
