API Reference Skua v#0.7.1

Copy Markdown View Source

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>.