Skip to content

UI showcase

Every shared component, split across dedicated pages by category.

Skeleton

Matches the real layout it stands in for, not a generic spinner — the loading state used by every card, table and chart.

Spinner

Inline loading indicator inside a button, used for every async submit in the app.

Progress

Determinate progress bar, used for usage meters and multi-step flows.

Import progress64%

Empty state

Icon, one-line explanation, primary action — matching the pattern in `CardList`'s default empty state.

No invoices yet

Your first invoice will appear here after the initial billing cycle.

Error state

Plain message plus retry — matches `WidgetErrorBoundary`'s fallback used to isolate a broken dashboard widget.

Couldn't load this widget

Something went wrong while rendering this data.

© 2026 Igris. All rights reserved.

v1.0.0

Command palette

Search pages and run actions