BrutalLab UI
Components
Explore controls and compositions. Each page includes a demo, source code, and a local installation command.
Accordion
Expandable sections with keyboard navigation and independent content panels.
ControlsAlert
Inline feedback with a title, description, and semantic intent.
FeedbackAlert Dialog
An explicit confirmation step for consequential actions.
FeedbackAspect Ratio
A predictable media container that preserves its width-to-height ratio.
ControlsAvatar
Circular identity in three sizes, with filled or transparent outline variants, image fallback, status and stacked groups.
ControlsBreadcrumb
A trail of semantic links showing the current location.
NavigationButton Group
Related actions grouped under one outline and accessible name.
ControlsCalendar
Keyboard-accessible day selection with month navigation.
ControlsCarousel
Scrollable content slides with previous and next controls.
CompositionsChart
Responsive charts with theme-aware series and a text alternative.
CompositionsCheckbox
Independent selection with checked, mixed, and disabled states.
ControlsCollapsible
A single disclosure region controlled by a button.
ControlsCombobox
Searchable single selection with a keyboard-operated listbox.
ControlsCommand
Searchable command list with keyboard selection and empty results.
NavigationDropdown Menu
A button-triggered action menu with grouped commands.
NavigationContext Menu
A contextual menu opened with a pointer or keyboard.
NavigationData Table
A client-side table with search, sorting, pagination, and empty results.
CompositionsDate Picker
A date selection control composed from Popover and Calendar.
CompositionsDialog
A modal surface for a focused task with managed focus.
CompositionsSheet
A side panel for supporting details and short tasks.
CompositionsDrawer
A touch-friendly panel with a swipe handle and explicit close action.
CompositionsDirection
Direction context for right-to-left component behavior.
CompositionsEmpty
An empty state with context and a useful next action.
FeedbackField
Form composition for visible labels, help, and error messages.
ControlsHover Card
A supplementary preview attached to a semantic link.
FeedbackInput Group
An input with aligned prefixes, suffixes, and supporting actions.
ControlsInput OTP
A single accessible input rendered as grouped verification-code slots.
ControlsItem
A structured row with media, content, and contextual actions.
CompositionsKbd
Keyboard shortcut notation using semantic kbd elements.
ControlsLabel
A visible semantic label associated with a form control.
ControlsMenubar
Desktop-style grouped commands with arrow-key navigation.
NavigationNative Select
A styled native select that keeps platform keyboard and touch behavior.
ControlsNavigation Menu
Website navigation with linked destinations and expandable sections.
NavigationPagination
Page navigation with an explicitly marked current page.
NavigationPopover
An anchored panel for a compact interactive task.
CompositionsQuestionnaire
A small single-choice questionnaire with required-answer validation.
CompositionsRadio Group
A mutually exclusive selection controlled with arrow keys.
ControlsResizable
Resizable panes with bounded sizing and a keyboard-operable separator.
CompositionsScroll Area
A bounded scroll region with styled scrollbars.
CompositionsSelect
A custom select with typeahead, focus management, and selected-item feedback.
ControlsSeparator
A visual or semantic boundary between related content groups.
ControlsSkeleton
Outlined loading placeholders composed into a full profile card, with an optional pulse and reduced-motion support.
FeedbackSlider
A numeric range control with keyboard increments and a visible value.
ControlsSpinner
An indeterminate loading indicator paired with status text.
FeedbackSwitch
An immediate binary setting with explicit on/off state.
ControlsTable
A semantic table with caption, headers, rows, and summary footer.
CompositionsTabs
Related content panels with a roving keyboard tab list.
NavigationTextarea
A multiline text field with visible focus and native form behavior.
ControlsToast
Transient notifications with semantic status and dismiss controls.
FeedbackToggle
A pressed-state button for a reversible formatting choice.
ControlsToggle Group
A related set of toggle buttons with shared selection behavior.
ControlsTooltip
Short supplementary help shown on hover and keyboard focus.
FeedbackAttachment
A file-like content row with metadata and explicit actions.
CompositionsBubble
Message bubbles with alignment and semantic color variants.
CompositionsMarker
A compact visual marker pairing an icon and short text.
FeedbackMessage
Conversation structure for author, content, and message metadata.
CompositionsMessage Scroller
A scroll container for conversations with a return-to-latest control.
CompositionsAudio Controls
Controlled playback, speed selection and audio availability. Connect it to any audio engine.
Word Input Group
Controlled word fields with keyboard navigation, paste distribution and per-word feedback.
Vocabulary Card
A word with optional pronunciation, contextual meaning and word class.
Sentence Breakdown
Vocabulary cards grouped by their function in a sentence.
Playback Settings
Compact speed and repeat popovers with automatic reading preference.
Keyboard Shortcut
Accessible, reusable key labels for actions.
Phosphor Icons
All six Phosphor weights with accessible labels and tree-shakable icon imports.
Theme Provider
Persistent light, dark and system themes for React, with an early initializer and cross-tab updates.
Theme Toggle
A direct light/dark button with a sun or moon reflecting the current theme.
Password Input
A masked password field with an independent, keyboard-accessible visibility toggle. Uses Input borders, focus and validation, and Phosphor Eye/EyeSlash icons.
ControlsListening Indicator
Decorative playback waveform that animates only while speech plays.
FeedbackReward Sticker
Tilted game sticker for a confirmed reward: title, combo, points and caption.
FeedbackCompletion Emblem
Decorative emblem for a completed lesson or course with a one-time celebration.
FeedbackExercise Track
Level-style progress for a practice attempt: one segment per exercise, done in mint, the current one lifted in lilac.
FeedbackCombo Meter
Combo chip with a lightning, the multiplier and pips; its tone follows the same tiers as Reward Sticker.
FeedbackGame Stat
Score-board chip for points or time: icon, label and a game-number value that can pop when it changes.
FeedbackGame Action Bar
Game controls in one row, straight on the page: helper tools first and the main action last. Narrow bars put the tools on one row and the action below.
Button
Action family with seven variants, eight sizes, and compositions for icons, loading, links, and groups.
ControlsCard
Composable surface for grouping related content, context, and actions.
ControlsBadge
Compact label for status, categories, and small pieces of information.
FeedbackInput
Text field with visible focus, disabled states, and an accessible error signal.
ControlsProgress
Accessible indicator for progress across courses, tasks, and multi-step flows.
FeedbackSidebar
Composable side navigation with brand, sections, active state, and a persistent footer.
NavigationAppShell
Application structure combining navigation, header, actions, and the main working surface.
Compositions