Design system

Components

Shared Workshop1 primitives, grouped by the job they do.

These components are the public building blocks for Workshop1 interfaces. Import each primitive from its own @workshop1/ui/components/<name> entry point.

Actions and selection

ComponentUse it for
ButtonPrimary, secondary, and icon actions
Button groupClosely related actions in one control group
ToggleA single pressed or unpressed option
Toggle groupOne or more choices from a compact set

Forms and input

ComponentUse it for
CalendarDate selection
CheckboxIndependent yes or no choices
ChoiceboxRich options with supporting copy
ComboboxSearchable selection from a longer list
FieldLabels, controls, hints, and errors
InputSingle-line text and native input types
Input groupInputs with prefixes, suffixes, or actions
Input OTPOne-time passcodes split into cells
LabelA visible name for a form control
Native selectPlatform-native option selection
Radio groupOne choice from a visible set
SelectCompact selection from known options
SliderA value or range on a continuous scale
SwitchA setting that takes effect immediately
TextareaMulti-line text entry
ComponentUse it for
BreadcrumbHierarchical page context
MenubarPersistent application command menus
Navigation menuPrimary navigation with grouped destinations
PaginationMoving through known result pages
SidebarPersistent product navigation
TabsRelated views of one subject

Feedback and status

ComponentUse it for
AlertContextual information, warnings, and errors
BadgeCategories, counts, and compact metadata
EmptyEmpty collections and a permitted next action
ProgressDeterminate completion
SkeletonShape-matched loading placeholders
SonnerBrief, transient toast feedback
SpinnerShort, bounded busy states
Status chipDomain and workflow status

Content and data

ComponentUse it for
Aspect ratioMedia with stable proportions
AttachmentAttached document summaries
AvatarPeople and group identity
BubbleShort conversational content
CardOne bounded, elevated subject
CarouselA sequence of visual panels
ChartQuantitative trends and comparisons
ItemStructured list rows with media and actions
KbdKeyboard keys and shortcut chords
MarkerHighlighting short text passages
MessageAuthored conversation entries
Message scrollerA bounded message history
SeparatorA visual boundary between related content
TableComparable records in rows and columns

Disclosure and overlays

ComponentUse it for
AccordionSeveral collapsible content sections
Alert dialogConfirmation of a consequential action
CollapsibleOne optional content region
CommandSearchable commands and destinations
Context menuCommands opened from a pointer context action
DialogFocused work over the current page
DrawerTouch-friendly supporting work
Dropdown menuA compact list of commands
Hover cardSupporting detail for a linked subject
PopoverCompact interactive content beside a trigger
SheetLarger supporting work from a viewport edge
TooltipA concise label or explanation on hover and focus

Layout and utilities

ComponentUse it for
DirectionText and component reading direction
ResizableUser-adjustable adjacent panels
Scroll areaA bounded overflow region