Atoms

The lowest layer of Nuxora. Every other component is built from these.

Avatar

Sizes and fallback

SDSDSDB
<UiAvatar name="Sarah Dewi" size="lg" />

Group with overflow

SD
RP
JW
+2
<UiAvatarGroup :max="3"> ... </UiAvatarGroup>
PropTypeDefaultDescription
namestringFull name. Used for initials and as the accessible name.
srcstringundefinedImage URL. Falls back to initials when omitted.
size'xs' | 'sm' | 'md' | 'lg''md'Avatar diameter.

AvatarGroup

PropTypeDefaultDescription
maxnumber4How many avatars to show before collapsing the rest into +N.

Badge

Variants

DraftNewActivePendingFailedInfo
<UiBadge variant="success" dot>Active</UiBadge>
PropTypeDefaultDescription
variant'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info''neutral'Semantic colour.
size'sm' | 'md''md'Badge height and text size.
dotbooleanfalseShows a leading status dot.
iconstringundefinedLeading icon id.

Button

Variants

<UiButton variant="secondary">Cancel</UiButton>

Sizes

<UiButton size="lg">Continue</UiButton>

Icons and state

<UiButton icon="lucide:plus" :loading="true">Add</UiButton>
PropTypeDefaultDescription
variant'primary' | 'secondary' | 'ghost' | 'danger''primary'Visual weight of the button.
size'sm' | 'md' | 'lg''md'Control height and padding.
loadingbooleanfalseShows a spinner, keeps the label, and blocks clicks.
disabledbooleanfalseBlocks interaction.
iconstringundefinedLeading icon id.
iconEndstringundefinedTrailing icon id.
type'button' | 'submit' | 'reset''button'Native button type.

Divider

Plain and labelled

LeftRight
<UiDivider label="OR" />
PropTypeDefaultDescription
orientation'horizontal' | 'vertical''horizontal'Divider direction.
labelstringundefinedOptional centred label.

Icon

Sizes

<UiIcon name="lucide:check" :size="16" />

Labelled icon

<UiIcon name="lucide:bell" label="Notifications" />
PropTypeDefaultDescription
namestringIcon id, e.g. "lucide:check".
sizenumber20Rendered size in pixels.
labelstringundefinedAccessible name. Omit for decorative icons.

Icon button

Variants and sizes

<UiIconButton icon="lucide:trash-2" label="Delete" variant="danger" />
PropTypeDefaultDescription
iconstringIcon id to render.
labelstringRequired accessible name.
variant'secondary' | 'ghost' | 'danger''secondary'Visual weight.
size'sm' | 'md' | 'lg''md'Square control size.
disabledbooleanfalseBlocks interaction.

Kbd

Shortcuts

Search CtrlKSave CtrlShiftSClose Esc
<UiKbd keys="mod+k" />
PropTypeDefaultDescription
keysstringundefinedCombination such as "mod+k". "mod" renders as ⌘ on macOS and Ctrl elsewhere.

Skeleton

Loading a profile card

<UiSkeleton :lines="3" />

Block

<UiSkeleton shape="rect" height="8rem" />
PropTypeDefaultDescription
shape'line' | 'circle' | 'rect''line'Placeholder shape.
widthstring'100%'Any CSS width.
heightstring'1rem'Any CSS height.
linesnumber1Line count. The last line is shortened.

Spinner

Sizes

<UiSpinner size="lg" label="Saving" />
PropTypeDefaultDescription
size'sm' | 'md' | 'lg''md'Spinner diameter.
labelstring'Loading'Accessible status name.