Precise, accessible UI for any framework
Hololink UI is a library of native web components with design tokens, light and dark themes, and WCAG 2.2 AA as the baseline. Write HTML and ship in any stack.
pnpm add @philbob-sideprojects/hololink-ui- Custom elements
- 48
- WCAG 2.2 target
- AA
- Themes, light and dark
- 2
- Semantic design tokens
- 71
Principles
Platform first, framework never
Hololink UI uses what the browser already does well, and adds only the behaviour the platform is missing.
Native web components
Standards-based custom elements with Shadow DOM. Use them in plain HTML, Vue, React, Angular, Astro or anything that renders DOM.
Accessible by default
Built on native <dialog>, the Popover API and real form controls. Keyboard support, visible focus and 3:1 control boundaries are part of the contract.
Themed with tokens
A two-tier token model of primitives and semantic roles. Rebrand by overriding --s-* custom properties, with no build step or forks.
Light and dark built in
Every themed colour uses light-dark(). Components follow the OS preference, or you force a scheme with data-theme on any container.
Form-associated controls
Text fields, checkboxes, switches and radios participate in native <form> submission and validation through ElementInternals.
Import only what you use
Every component is its own entry point and registers itself on import, so bundles carry just the elements you render.
Developer experience
From import to interface in three lines
Register the elements you need, then write HTML. Attributes, events and slots work the same in every framework.
import '@philbob-sideprojects/hololink-ui/styles/global.css';import '@philbob-sideprojects/hololink-ui/holo-button';import '@philbob-sideprojects/hololink-ui/holo-text-field';import '@philbob-sideprojects/hololink-ui/holo-switch';<holo-text-field label="Email" type="email"></holo-text-field><holo-switch label="Product updates" checked></holo-switch><holo-button label="Subscribe"></holo-button>Catalogue
Everything a product interface needs
Seven component families, each documented with live examples and an API reference.
- 4 componentsActionsbutton · icon button · button group · link
- 8 componentsFormsform field · text field · textarea · select
- 5 componentsOverlaysdialog · drawer · popover · tooltip
- 5 componentsFeedbackalert · toast · progress · spinner
- 6 componentsNavigationtabs · accordion · details · breadcrumb
- 7 componentsData displaycard · table · list · badge
- 4 componentsLayoutcontainer · grid · stack · visually hidden
Start building with Hololink UI
Install the package, load the tokens, and ship your first component in minutes.