Library
Components
Production-ready, accessible React components. Built with CVA for variants, Radix primitives for behaviour, and token-driven styling throughout. All 48 components in a single showcase.
01 · Primitives
Primitives
The atomic building blocks. Buttons, badges, tags, keyboard hints, inline code, avatars, separators, and labels.
Search:⌘K
Undo:CtrlZ
Install with pnpm add @entangle-hq/ui and import import { Button } from '@entangle-hq/ui' to get started. Run pnpm build to compile tokens.
Content below
Centre
Right
02 · Forms
Form Controls
Text inputs, textareas, and toggle switches with full validation states, size variants, and accessibility support.
We'll never share your email.
Username is already taken.
Markdown supported.
03 · Layout
Container & Stack
Layout primitives for page structure and content flow. Container constrains width; Stack provides flex layout with direction, gap, and alignment.
04 · Surface
Surface & Content
Cards with compound composition, alerts for user feedback, and metric KPI cards for data display.
Token-driven component library with full a11y coverage and visual regression testing.
Four hand-tuned palettes with semantic token mapping and automatic dark mode support.
Purple border tint with subtle background fill.
Hover to see border highlight on cursor.
Both props combined.
05 · Feedback
Feedback
Loading skeletons, progress bars, and toast notifications for communicating system state.
Click a button to trigger a toast notification in the bottom-right corner.
06 · Overlay
Overlay & Interaction
Dialogs, sheets, tabs, tooltips, dropdown menus, and popovers. Built on Radix primitives with glass treatment and backdrop blur.
A modal dialog with overlay, glass treatment, and keyboard dismissal.
A slide-out panel from the right edge.
This is the overview panel. Tabs use Radix primitives for keyboard navigation and ARIA attributes.
Hover or focus the buttons to see tooltips.
Click the button to open a context menu.
Click to open a popover with rich content.
08 · Data Display
Data Display
Tables, comparison cards, and ad format cards for marketing reports and client dashboards.
| Campaign | Spend | Conversions | ROAS |
|---|---|---|---|
| Brand — Search | $12,400 | 342 | 8.2x |
| Generic — Shopping | $8,200 | 156 | 4.1x |
| Retargeting — Display | $3,100 | 89 | 6.7x |
| Prospecting — Meta | $6,800 | 94 | 3.2x |
aquapulsespas.com.au/shop
Premium Spa Products | Free Delivery Over $99
Shop Australia's widest range of spa equipment, chemicals & accessories. Expert advice & fast shipping.
- Headline 1 drives 40% of clicks — test expanding this angle
Join 2,400+ Queensland families who upgraded to a premium spa experience. Free delivery & installation.
Transform Your Backyard This Weekend
- Frequency at 2.1 — headroom before fatigue
09 · Multi-Step
Wizards & Quizzes
Multi-step form wizards and interactive quizzes for onboarding flows, assessments, and guided experiences.
We'll audit this during onboarding.
What is a good blended ROAS target for e-commerce?
10 · Date & Time
Date Pickers
Single date input, date range between two dates, and preset period selector for dashboards and reports.
Date must be in the future
Inline range selector with two date inputs and a connector label.
Quick period selection for dashboards. Active preset gets the primary pill treatment.
Preset pills for quick selection with a date range picker for custom periods.
11 · Learning
Learning Components
Educational content components for academy and documentation flows. Token-driven, no hardcoded colours, Lucide icons throughout.
Note
Warning
Tip
Error
Analogy
Think of CSS layers like namespaces in programming — they prevent naming collisions between independent systems.
Key Takeaway
Key Takeaway
The design token is the atomic unit of the system. Every color, spacing, and typography value is a named variable before it becomes a pixel on screen.
Install packages
pnpm add @entangle-hq/ui @entangle-hq/tokens
Add CSS imports
tokens/css → theme.css → components.css → utilities.css → theme preset
Wrap with WeaveProvider
Add WeaveProvider and WeaveThemeScript to your root layout
Import components
import { Button, Card } from '@entangle-hq/ui'
| Approach | v0.2.x | v0.3.0 |
|---|---|---|
| Theme init | className='dark' on html | WeaveProvider + WeaveThemeScript |
| Token CSS | Manual :root overrides | import @entangle-hq/tokens/css |
| Components | 35 core | 48 (+ learning + contracts) |
| Font slots | Not exported | CSS variable slots in theme.css |
12 · Contracts
Contract Components
Reusable contract and proposal components with print CSS. Import @entangle-hq/ui/contracts/print.css once in the contract page layout.
Brisbane, QLD
Gold Coast, QLD
Sticky top navigation for contract documents showing status badge and client name. Shown here without sticky positioning for demo purposes.
Service Provider
Entangle Pty Ltd
Aaron Rodrigo · Director
Awaiting signature
Client
Aqua Pulse Spas Pty Ltd
Hayden Smith · Director
Awaiting signature