Components

Display

Accordions, avatars, badges, stat cards, spinners, progress bars, skeletons, dividers, tooltips, and async containers.

Accordion

Composable expandable/collapsible content sections with four visual variants and two expand modes (single and multi).

Default

Jan Kowalski · PESEL 80010112345 · Mazowieckie

Salary, freelance, rental income.

Internet relief, home office, child allowance.

FAQ & Filled variants

FAQ variant · multi-expand

For most individuals the PIT return is due by 30 April.
Yes — joint filing is supported for married couples.

Filled variant

PIT-11_acme_2025.pdf, ZUS_RCA_Q4.pdf

Internet relief · PLN 760

Avatar

Circular user avatar displaying initials. Six color variants, five sizes, optional status dot and ring. Groups with overflow count via x-pajak::avatar-group.

Colors
JK AW MN PR EZ TS
Sizes
JK JK JK JK JK
Status & ring
JK AW MN PR
Avatar group
JK AW MN PR +4

Badge

Small inline label for status, categories, and counts. Six color variants, three sizes, outline and dot modifiers.

Colors
Default Complete In Progress Overdue Pending Draft
Dot, outline & sizes
Verified Rejected Small Large

Divider

Flexible separator for horizontal rules, vertical inline separators, and labeled "or"-style dividers.

Horizontal variants

Subtle


Default


Strong


Dashed


Dotted


Labeled

or
Vertical
Invoice #142 Acme Sp. z o.o. Mar 12, 2026

Progress

Linear determinate progress bar. Three sizes, four colors, optional label and value display.

With label & value
Income sources
65%
Personal details
100%
Deductions
30%
Review & submit
0%
Sizes & colors

Skeleton

Shimmer placeholder shown while content is loading. Six shape variants; width and height are set via the style attribute.

Text lines
Mixed shapes

Spinner

Loading indicators in three styles: arc (primary), dot pulse, and indeterminate bar.

Arc sizes
Types & colors

Tooltip

Wrapper that shows a tooltip bubble on hover or keyboard focus. Pure CSS — no JavaScript required.

Placement
Upload document
Save draft
Delete record
View details

Async

Fetches HTML from a URL on page load and injects the response into the content area. A skeleton placeholder is shown while the request is in flight to prevent layout shift.

PropTypeDefaultDescription
urlstringURL to fetch HTML from (required)
sizeSpinnerSizeSpinnerSize::MdArc spinner size shown in the refresh overlay
labelstring'Loading'Text shown next to the spinner in the refresh overlay
SlotDescription
skeletonPlaceholder shown while the initial fetch is in flight. Should match the shape of the loaded content to prevent layout shift.
Default
Custom skeleton
Async card

Stat Card

Dashboard metric card with a label, value, icon bubble, optional trend line, and sub-text. The icon bubble colour and trend text colour are controlled by enums.

PropTypeDefaultDescription
labelstringSmall uppercase label above the value
valuestringLarge display value
:colorStatCardColorPrimaryIcon bubble background colour
:trend-directionStatCardTrend|nullnullColours the $trend slot text (Up = green, Down = red, Warn = amber)
SlotDescription
$iconIcon placed inside the colour-tinted bubble (top-right). Use <x-heroicon-o-*> at 20×20 px.
$trendTrend text. Colour is set by :trend-direction.
$subSecondary description in muted tertiary colour.
Default
Tenants 8 +2 this month · 7 active, 1 trial Team members across tenants
Color variants
Primary 12
Success 34
Warning 5
Sand 21
Error 2
Trend directions
Revenue PLN 4,280 +18% vs last month
Churn 3 −2 accounts this week
Pending 11 Needs review
Users 142 No trend set