Status: pre-release / under construction. Not yet on Hex. The full research-backed plan lives in PLAN.md.

Form-first UI components for Phoenix LiveView (1.1+) on Phoenix 1.8+: rich select, date picker, OTP input, dialogs, toasts and top-layer panels — server-authoritative, viewport-aware, themeable from 12 CSS tokens, with zero third-party JavaScript (one colocated-hooks import, ~7 KB min+gzip).

Installed and managed through mix tasks built on Igniter, including --strip-daisy to replace Phoenix 1.8's bundled daisyUI on fresh apps.

Install

Add the dep, then run the installer — it wires CSS/JS/imports, replaces the default Phoenix home with a Skua starter page (theme toggle, component showcase, Phoenix + Skua version line), and strips the default branding:

# mix.exs — while pre-Hex, use a path or git dep
{:skua, path: "../skua"}
mix deps.get
mix skua.install   # idempotent; re-run any time
mix phx.server     # open /

The installer is path-dep aware (no deps/skua needed) and degrades to printed manual steps if your app diverges from the default layout. Local-testing notes in guides/local-testing.md.

Repository layout

  • PLAN.md — the full project plan (architecture decisions, installer spec, strip-daisy design, release pipeline, roadmap).
  • assets/css/skua.css — the token + component CSS layer (the stable artifact).
  • lib/ — components, colocated hooks, and mix tasks land here per the roadmap phases.
  • _component_defaults/ — reference prototypes the library is being built from (styled-layer HTML demo, LiveView hook/component prototypes, and the skua.sh brand system). Not shipped in the hex package.

License

MIT — see LICENSE.md.