Components

Framework-native adapters and custom elements over shared Sometic behavior engines. Install the adapter you use (@sometic/react, @sometic/vue, or @sometic/elements) plus @sometic/dom when you need engines directly.

Button family

ComponentSummary
ButtonNative <button> with loading, slots, and shared styling state
Icon buttonIcon-only action that requires a non-empty accessible name
Button grouprole="group" layout for related actions
Toggle buttonPressed/unpressed toggle with aria-pressed
Async buttonRuns an abortable async action and owns loading state

Field & text inputs

ComponentSummary
FieldLabel, description, control, and error with generated IDs
FormReact / Vue / sometic-form adapters over the forms engine
InputControllable text-like native input with state attributes
Password inputPassword field with show/hide reveal control
OTP inputFixed-length one-time code input (one-time-code)

Specialized inputs

ComponentSummary
Number inputNumeric value as number | null with optional clamp
File inputNative file picker emitting File[]
Masked inputPattern mask (# / A / *) with raw value callback
Currency inputLocale-aware currency display over a numeric value
Date inputDate value via a pluggable DateAdapter

Selection

ComponentSummary
CheckboxBoolean / indeterminate checkbox
SwitchInstant on/off switch semantics
RadioMutually exclusive radio option
SelectNative select with controllable value

Overlay & feedback

ComponentSummary
DialogModal dialog with focus and dismiss behavior
PopoverAnchored non-modal popover
TooltipHover/focus tooltip
ToastToast queue and region
AlertInline status alert
DrawerModal side panel
MenuAction menu
Context menuPointer-triggered context menu

Structure

ComponentSummary
TabsTablist selection with keyboard resolve
AccordionExpandable panels
BreadcrumbHierarchical path navigation
Command paletteFilterable command list
TreeHierarchical selection tree
ComboboxFilterable listbox over free text
ProgressDeterminate progress indicator
SpinnerIndeterminate loading indicator
SkeletonPlaceholder loading surface
BadgeCompact status label

React and Vue ship these from @sometic/react/structure and @sometic/vue/structure. Custom elements are not shipped for the navigation surfaces; use those adapters or @sometic/dom. FAQs and comparisons live on each component page.

Status surfaces

ComponentSummary
StatusShared empty/error/offline/conflict resolve
Empty stateEmpty collection surface
Error stateError recovery surface
Offline stateOffline recovery surface
Conflict stateConflict resolution surface

Data & business

ComponentDocs
Data tableData table
Query builderQuery builder
UploadUpload
Schema formSchema form
Permission matrixPermission matrix
ActivityActivity
ApprovalApproval
Notification centerNotification center