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>

| Package | Description | |---------|-------------| | @voidable/theme | CSS custom properties and design tokens (--void-*) | | @voidable/ui | Lit 3 web components (Light DOM) | | @voidable/ui-react | React wrapper components with event bridging | | @voidable/ui-vue | Vue useTheme composable | | @voidable/ui-solid | Solid useTheme signal | | @voidable/ui-svelte | Svelte theme readable store | | @voidable/ui-angular | Angular module + ThemeService | | @voidable/ui-hotwire | Stimulus controller + Turbo morph protection | | @voidable/ui-alpine | Alpine.js plugin with event directive and Livewire morph protection | | @voidable/ui-liveview | Phoenix 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