Core Components
Button
A versatile button component with multiple variants and sizes.Props
Visual style of the buttonOptions:
default, destructive, outline, secondary, ghost, linkSize of the buttonOptions:
default, sm, lg, iconWhether to render as a child component using Radix Slot
Usage Example
Card
A container component with header, content, and footer sections.Components
Card- Main containerCardHeader- Header section with grid layoutCardTitle- Title text with semibold stylingCardDescription- Subtitle text in muted colorCardAction- Action buttons in headerCardContent- Main content areaCardFooter- Footer section
Usage Example
The Card component uses CSS grid for layout and includes responsive padding and spacing.
Dialog
A modal dialog component for displaying content in an overlay.Components
Dialog- Root componentDialogTrigger- Element that opens the dialogDialogContent- Main dialog containerDialogHeader- Header sectionDialogTitle- Dialog titleDialogDescription- Dialog descriptionDialogFooter- Footer with actionsDialogClose- Close button
Props
Whether to show the close button in the top-right corner (DialogContent only)
Usage Example
Input
A styled text input component.Props
HTML input type (text, email, password, etc.)
Usage Example
The Input component includes focus-visible rings, error states via
aria-invalid, and dark mode support.Select
A styled select dropdown component.Components
Select- Root componentSelectTrigger- Button that opens the selectSelectValue- Displays selected valueSelectContent- Dropdown containerSelectItem- Individual optionSelectLabel- Label for option groupsSelectGroup- Groups related optionsSelectSeparator- Visual separator
Props (SelectTrigger)
Size of the trigger buttonOptions:
default, smUsage Example
Additional UI Components
The UI library includes many more components for various use cases:Layout & Navigation
Tabs- Tabbed interfacesSheet- Side drawer componentScrollArea- Styled scrollable containerSeparator- Visual divider
Feedback & Display
AlertDialog- Confirmation dialogsPopover- Floating popoversTooltip- Hover tooltipsSkeleton- Loading placeholdersAvatar- User avatarsTimeline- Event timeline display
Forms & Input
Checkbox- Checkbox inputTextarea- Multi-line text inputCommand- Command palette/searchCalendar- Date pickerLabel- Form labels
Editor Components
Your Bible includes a rich set of Plate editor components for note-taking:Editor/EditorStatic- Rich text editorToolbar/FixedToolbar- Editor toolbars- Various node types: paragraphs, headings, lists, code blocks, media
- Formatting buttons for marks, links, and more
Media Components
MediaImageNode- Image embedsMediaVideoNode- Video embedsMediaAudioNode- Audio embedsMediaFileNode- File attachmentsMediaEmbedNode- URL embeds
All UI components follow a consistent design system with support for dark mode, focus states, error states, and accessibility features.
Styling Pattern
All components use thecn() utility for conditional className merging:
Accessibility
Components include:- Proper ARIA attributes
- Keyboard navigation support
- Focus management
- Screen reader labels
- Error state announcements via
aria-invalid
Customization
Components can be customized via:classNameprop for Tailwind classes- CSS variables for theme colors
- Component variants where available
- Radix UI props for behavior customization