Collection of Components
A complete set of ready-to-use UI components built for SXO . Every piece works perfectly with Tailwind CSS and meets accessibility standards.
Technology Stack
What You'll Find
- Complete component implementations
- Interactive examples and demos
- Accessibility-focused design patterns
- Copy-paste ready code snippets and installation
Installation
Dependencies
Install the core dependencies for SXO and Reactive Component. SXO provides the JSX transformation and server-side rendering capabilities, while Reactive Component enables client-side interactivity through the islands architecture pattern.
pnpm add sxo @qery/reactive-componentDevDependencies
Install Tailwind CSS and its CLI as development dependencies. The CLI is used to process your stylesheets and generate the final CSS output with all the utility classes used in your components.
pnpm add -D tailwindcss @tailwindcss/cli basecoat-css@0.3.3After installing the dependencies, import Tailwind and Basecoat CSS into your main stylesheet:
@import "tailwindcss";
@import "basecoat-css";Components
Run the following command from your project root to install a component and its associated assets (styles, JSX components, and the client script).
pnpx sxo add <component>Accordion
A vertically stacked set of interactive headings that each reveal a section of content.
Is it accessible?
Yes. It adheres to the WAI-ARIA design pattern.
Is it styled?
Yes. It comes styled to match the rest of the components.
Is it animated?
Yes. It's animated by default.
Usage
Use the following primitives to build an accordion:
- <Accordion>: Root container that configures behavior via the
typeprop (singleormultiple). - <AccordionItem>: Wrap each item. Renders a native details element. Add the
openattribute to default an item as expanded. - <AccordionHeader>: Clickable header. Renders a summary with a heading and optional
chevron icon; hide the icon with
hideIcon. - <AccordionContent>: Panel content. Renders a section by default; override the element
with the
asprop.
Installation
pnpx sxo add accordionAlert
Displays a callout for user attention.
This is an alert with only a title.
This is an alert with icon, description and no title.
Alert Title
This is an alert with both a title and a description.
This one has a description only. No title. No icon.
Success! Your changes have been saved
This is an alert with icon, title and description.
Something went wrong!
Please verify your billing information and try again.
- Check your card details
- Ensure sufficient funds
- Verify billing address
Plot Twist: This Alert is Actually Amber!
This one has custom colors for light and dark mode.
Usage
Use the following primitives to build an alert:
- Alert: The main container for the alert message, supporting optional className for styling.
- AlertTitle: Displays the title of the alert, with a level prop for semantic heading.
- AlertDescription: Contains the description text, which can include paragraphs, lists, etc.
- Icon components: Optional icons like
IconCircleCheck,IconCircleExclamation, etc., placed before the title or description for visual emphasis.
Installation
pnpx sxo add alertAlert Dialog
A modal dialog that interrupts the user with important content and expects a response.
Usage
Use the following primitives to build an alert dialog:
- <AlertDialog>: The root container for the alert dialog.
- <AlertDialogTrigger>: A button that opens the dialog.
- <AlertDialogWindow>: The modal window containing the dialog content.
- <AlertDialogTitle>: The title of the dialog.
- <AlertDialogDescription>: The description text explaining the action.
- <AlertDialogFooter>: The footer with action buttons.
Installation
pnpx sxo add alert-dialogAvatar
An image element with a fallback for representing the user.
ALCN

XYUsage
Use the following primitives to build an example:
- <Avatar>: Displays a user image or fallback initials/name. Supports
src,name,initials,size, andshapeprops. - <AvatarGroup>: Groups multiple avatars with optional hover spread using
hoverSpreadprop.
Installation
pnpx sxo add avatarBadge
Displays a badge or a component that looks like a badge.
Usage
Use the following primitive to build badges:
- <Badge>: Displays status indicators, labels, or counts with variants (primary, secondary, outline, destructive) and a pill variant for numeric indicators.
Installation
pnpx sxo add badgeCard
Displays a card with header, content, and footer.
Login to your account
Enter your details below to login to your account
Is this an image?
This is a card with an image.
Usage
Use the following primitives to build cards:
- <Card>: The root card component.
- <CardHeader>: The header section of the card.
- <CardHeaderTitle>: The title in the header.
- <CardHeaderDescription>: The description in the header.
- <CardSection>: The main content section.
- <CardFooter>: The footer section.
Installation
pnpx sxo add cardCheckbox
A control that allows the user to toggle between checked and not checked.
Usage
Use the following primitives to build checkboxes:
- <Checkbox>: The checkbox input component.
Installation
pnpx sxo add checkboxDialog
A window overlaid on either the primary window or another dialog window, rendering the content underneath inert.
Usage
Use the following primitives to build dialogs:
- <Dialog>: The root container that manages dialog state and provides context for other dialog components.
- <DialogTrigger>: The button that opens the dialog, can be any interactive element.
- <DialogContent>: The modal content container that renders the dialog overlay and content.
- <DialogHeader>: The header section containing title and description.
- <DialogTitle>: The title text within the dialog header.
- <DialogDescription>: The description text within the dialog header.
- <DialogFooter>: The footer section for action buttons.
- <DialogClose>: A button that closes the dialog, typically used for close icons or cancel buttons.
Installation
pnpx sxo add dialogForm
Building forms with React Hook Form and Zod.
Usage
Use the following primitives to build forms:
- <Form>: The root form component.
- <FormLabel>: Labels for form inputs.
- <FormInput>: Input fields (text, date, radio, checkbox).
- <FormDescription>: Descriptive text for form fields.
- <FormFieldset>: Groups related form fields.
- <FormLegend>: Legend for fieldsets.
- <FormSubmit>: Submit button.
- <FormReset>: Reset button.
Installation
pnpx sxo add formInput
Displays a form input field or a component that looks like an input field.
Usage
Use the following primitive to build form inputs:
- <Input>: A form input field that supports various HTML input types (text, email, password, search, number, date) with proper styling and accessibility.
Installation
pnpx sxo add inputLabel
Renders an accessible label associated with controls.
Usage
Use the following primitive to build form labels:
- <Label>: A form label component that properly associates with form controls and supports variants (inline, stacked, align-top) for different layouts.
Installation
pnpx sxo add labelPagination
Pagination with page navigation, next and previous links.
Usage
Use the following primitives to build pagination:
- <Pagination>: Displays page navigation with customizable props like
totalPages,currentPage, and visibility options for prev/next/first/last buttons.
Installation
pnpx sxo add paginationPopover
Displays rich content in a portal, triggered by a button.
Usage
Use the following primitives to build a popover:
- <Popover>: The root component for a popover.
- <PopoverTrigger>: The button that opens the popover.
- <PopoverContent>: The content displayed in the popover.
Installation
pnpx sxo add popoverRadio Group
A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.
Usage
Use the following primitives to build radio groups:
- <RadioGroup>: The container component that manages the radio group state and provides proper form integration.
- <RadioGroupItem>: Individual radio button inputs that work together within a RadioGroup.
Installation
pnpx sxo add radio-groupSelect
Displays a list of options for the user to pick from—triggered by a button.
Usage
Use the following primitives to build a select:
- <Select>: The root component for a select dropdown.
- <SelectPlaceholder>: Placeholder text shown when no option is selected.
- <SelectOption>: Individual selectable options.
- <SelectGroup>: Groups options with a label.
Installation
pnpx sxo add selectSkeleton
Use to show a placeholder while content is loading.
Usage
Use the following primitives to build skeletons:
- <Skeleton>: A placeholder component for loading states, with customizable width, height, and shape.
Installation
pnpx sxo add skeletonSlider
An input where the user selects a value from within a given range.
Usage
Use the following primitives to build a slider:
- <Slider>: An input component for selecting a value within a range, with props like
min,max,step, andvalue.
Installation
pnpx sxo add sliderSwitch
A control that allows the user to toggle between checked and not checked.
Usage
Use the following primitives to build a switch:
- <Switch>: A toggle control for on/off states.
Installation
pnpx sxo add switchTable
A responsive table component.
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | PayPal | $450.00 |
| Total | $1,200.00 | ||
Usage
Use the following primitives to build data tables:
- <Table>: The root container for the table structure.
- <TableCaption>: An accessible caption for the table.
- <TableHeader>: Contains the table header rows with column headings.
- <TableBody>: Contains the main table data rows.
- <TableFooter>: Contains footer rows, typically for totals or summaries.
- <TableRow>: Represents a single row in the table.
- <TableHead>: Header cell for column headings.
- <TableCell>: Standard data cell for table content.
Installation
pnpx sxo add tableTabs
A set of layered sections of content—known as tab panels—that are displayed one at a time.
Usage
Use the following primitives to build tabbed interfaces:
- <Tabs>: The root container that manages tab state and provides context for other tab components.
- <TabsList>: Contains the tab trigger buttons and provides navigation between tab panels.
- <TabsTrigger>: Individual tab buttons that activate their corresponding content panels.
- <TabsContent>: The content panels that are shown/hidden based on the active tab.
Installation
pnpx sxo add tabsTextarea
Displays a form textarea or a component that looks like a textarea.
Type your message and press enter to send.
Usage
Use the following primitive to build multi-line text inputs:
- <Textarea>: A multi-line text input component with auto-resize capability, validation support, and accessibility features.
Installation
pnpx sxo add textareaToast
A succinct message that is displayed temporarily.
Usage
Use the following primitives to build toast notifications:
- <Toaster>: The container that manages toast positioning and stacking with alignment options (start, center, end).
- <Toast>: Individual toast notification with category variants (success, info, warning, destructive) and auto-dismiss functionality.
- <ToastTitle>: The title text within a toast notification.
- <ToastDescription>: The description text within a toast notification.
Installation
pnpx sxo add toastTooltip
A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
Usage
Use the following primitives to build tooltips:
- <Tooltip>: The root component that manages tooltip state and positioning.
- <TooltipTrigger>: The element that triggers the tooltip (usually a button).
- <TooltipContent>: The content displayed in the tooltip.
Installation
pnpx sxo add tooltip