Skip to content

Voidable

Voidable is a framework-agnostic web component library built on Lit 3. Every component renders in the Light DOM — no Shadow DOM barriers — so your CSS has full access to component internals.

  • 56 components covering layout, forms, data display, feedback, and navigation
  • CSS token system with dark/light themes via data-theme attribute
  • Zero visual CSS in components — all styling flows through @voidable/theme
  • First-class framework adapters for React, Vue, Solid, Svelte, Angular, Hotwire, Alpine, and LiveView
Terminal window
npm install @voidable/ui @voidable/theme
/* Import the full theme in your app entry point */
@import '@voidable/theme';
<void-button variant="filled">Click me</void-button>
PackageDescription
@voidable/themeCSS custom properties and design tokens (--void-*)
@voidable/uiLit 3 web components (Light DOM)
@voidable/ui-reactReact wrapper components with event bridging
@voidable/ui-vueVue useTheme composable
@voidable/ui-solidSolid useTheme signal
@voidable/ui-svelteSvelte theme readable store
@voidable/ui-angularAngular module + ThemeService
@voidable/ui-hotwireStimulus controller + Turbo morph protection
@voidable/ui-alpineAlpine.js plugin with event directive and Livewire morph protection
@voidable/ui-liveviewPhoenix LiveView hooks and DOM preservation
live_voidable (Hex)Phoenix function components for HEEx templates
voidable-hotwire (Gem)Rails helper and asset pipeline integration
  • Storybook — Interactive component demos
  • GitHub — Source code and issues