Components

All @constela/ui components reference

Basic Components

Button

Clickable button with multiple variants and sizes.

Params:

ParamTypeDefaultDescription
variantstring"default"default, destructive, outline, secondary, ghost, link
sizestring"default"default, sm, lg, icon
disabledboolean-Disable the button
typestring-HTML button type
ariaLabelstring-ARIA label

Example:

json
{
  "kind": "component",
  "name": "Button",
  "props": {
    "variant": { "expr": "lit", "value": "outline" },
    "size": { "expr": "lit", "value": "lg" }
  },
  "children": [
    { "kind": "text", "value": { "expr": "lit", "value": "Submit" } }
  ]
}

Input

Text input field.

Params:

ParamTypeDescription
valuestringInput value
placeholderstringPlaceholder text
disabledbooleanDisable input
requiredbooleanRequired field
typestringtext, password, email, etc.
namestringInput name
idstringInput ID
ariaLabelstringARIA label

Textarea

Multi-line text input.

Params:

ParamTypeDescription
valuestringTextarea value
placeholderstringPlaceholder text
rowsnumberVisible rows
disabledbooleanDisable textarea
requiredbooleanRequired field

Select

Dropdown selection.

Params:

ParamTypeDescription
valuestringSelected value
disabledbooleanDisable select
requiredbooleanRequired field
placeholderstringPlaceholder text

Checkbox

Checkbox input.

Params:

ParamTypeDescription
checkedbooleanChecked state
disabledbooleanDisable checkbox
requiredbooleanRequired field
valuestringCheckbox value

Radio

Radio button for single selection within a group.

Params:

ParamTypeDescription
checkedbooleanSelected state
disabledbooleanDisable radio
namestringGroup name
valuestringRadio value

Switch

Toggle switch.

Params:

ParamTypeDescription
checkedbooleanOn/off state
disabledbooleanDisable switch

Feedback Components

Alert

Alert message with icon.

Params:

ParamTypeDefaultDescription
variantstring"default"default, destructive
titlestring-Alert title

Card

Card container.

Params:

ParamTypeDefaultDescription
variantstring"default"default, outline

Badge

Inline badge.

Params:

ParamTypeDefaultDescription
variantstring"default"default, secondary, destructive, outline

Skeleton

Loading placeholder with animation.

Params:

ParamTypeDescription
widthstringSkeleton width
heightstringSkeleton height

Avatar

User avatar with fallback.

Params:

ParamTypeDefaultDescription
srcstring-Image URL
altstring-Alt text
fallbackstring-Fallback text
sizestring"default"default, sm, lg

Overlay Components

Dialog

Modal dialog.

Params:

ParamTypeDescription
openbooleanOpen state
titlestringDialog title

Accessibility: role="dialog", aria-modal="true"

Tooltip

Hover tooltip.

Params:

ParamTypeDefaultDescription
contentstring-Tooltip text
positionstring"top"top, right, bottom, left

Accessibility: role="tooltip"

Popover

Click-triggered popover.

Params:

ParamTypeDefaultDescription
openboolean-Open state
positionstring"bottom"top, right, bottom, left

Toast

Notification toast.

Params:

ParamTypeDefaultDescription
variantstring"default"default, success, error, warning, info
titlestring-Toast title
descriptionstring-Toast description

Accessibility: role="alert", aria-live="polite"


Navigation/Layout Components

Tabs

Tab navigation.

Params:

ParamTypeDefaultDescription
activeTabstring-Active tab ID
variantstring"default"default, outline

Accessibility: role="tablist"

Breadcrumb

Breadcrumb navigation.

Params:

ParamTypeDefaultDescription
separatorstring"/"Separator character

Accessibility: aria-label="Breadcrumb"

Pagination

Page pagination.

Params:

ParamTypeDefaultDescription
currentPagenumber-Current page
totalPagesnumber-Total pages
sizestring"default"default, sm, lg

Accessibility: aria-label="Pagination"

Container

Max-width container.

Params:

ParamTypeDefaultDescription
maxWidthstring"lg"sm, md, lg, xl, 2xl, full

Grid

CSS Grid layout.

Params:

ParamTypeDefaultDescription
colsstring"1"1, 2, 3, 4, 6, 12
gapstring"md"none, sm, md, lg

Stack

Flexbox stack.

Params:

ParamTypeDefaultDescription
directionstring"column"row, column
gapstring"md"none, sm, md, lg
alignstring-start, center, end, stretch
justifystring-start, center, end, between