Modules
Skua — headless-first, token-driven UI components for Phoenix LiveView.
Cryptographically secure numeric one-time-password primitive for the
mix skua.gen.auth OTP flows.
A date input — a hidden ISO <input> that carries the value plus a trigger
that opens a keyboard-navigable calendar (W3C APG date-grid pattern).
Display & feedback components — badge, dot, card, header, list, empty state, spinner, alert, accordion, breadcrumb, avatar, progress, skeleton.
Skua form components — button, label, error, field wrapper, input, textarea, toggle (checkbox / radio / switch), OTP, chip toggle, segmented control and slider (single + dual-handle range).
A dropdown menu — a trigger button that opens a top-layer menu of actions.
Top-layer overlay components — popover, dialog and drawer.
An international phone field — country picker + national number input that
writes a canonical E.164 value (e.g. "+15555550100") into a hidden input
for phx-change/phx-submit.
A styled, accessible <select> — single or multi, text or badge display,
optionally searchable and creatable.
A token-styled, slot-driven table and a pagination control.
A tabs component — an ARIA tablist with client-side panel switching (no server round-trip), full keyboard support (Left/Right/Up/Down/Home/End), and roving tabindex. Token-styled and morphdom-safe.
A dark/light theme toggle.
Toasts — two complementary mechanisms
A tooltip — a small top-layer label shown on hover/focus of its trigger.
Normalizes a Phoenix.HTML.FormField (or raw name/value) into the
attributes every Skua form component needs: a sanitized DOM id, the form
name, the current value, and the list of errors to display.
Self-contained phone harness — country data, country/dial-code helpers, E.164 normalization, display formatting, and an Ecto changeset validator.
The country dataset Skua's phone field ships with — {name, iso2, dial}
tuples for 230 countries and territories. Self-contained (no third-party
dependency); ported from the aif-core dogfooding app so existing apps get
the identical list.
Mix Tasks
Generates an authentication system by running mix phx.gen.auth and then
applying Skua's flow-specific changes. The generated code is yours to edit.
Generates editable starter pages and wires their routes
Installs Skua into the current Phoenix project.
Lists every prepackaged theme you can bake in with mix skua.install --theme <name>.