# GPUIxUI > The documentation for GPUIxUI, a native UI component library for GPUix and React. Components render through GPUix host elements, not the DOM. This site is a browser application documenting a native library, so a browser preview is a labelled approximation of the component unless the page says it mounts the real renderer (`/live`, the wasm build). A page's API tables are held to the props its component declares; `.agents/slop/COMPONENTS.md` in the repository is the status record for every component, and a page existing is not a claim that its component is finished. Every page above is also served whole, as Markdown, at https://gpuixui.sudokw.com/llms-full.txt. ## Guide - [Guide](https://gpuixui.sudokw.com/getting-started): Add a component, render a window, pick a theme. - [Omarchy](https://gpuixui.sudokw.com/getting-started/omarchy): Develop on Hyprland/Arch, and follow the theme the desktop is running. - [Build prompt](https://gpuixui.sudokw.com/getting-started/prompt): A copyable build prompt, generated from the pages - [Terminal](https://gpuixui.sudokw.com/getting-started/terminal): Run the same view inside kitty or Ghostty instead of a window. ## Docs - [Examples](https://gpuixui.sudokw.com/examples): Every worked example a package ships, and the file to copy. - [Introduction](https://gpuixui.sudokw.com/introduction): Native React components for GPUix - [API reference](https://gpuixui.sudokw.com/reference): Every export the workspace publishes - [Registry](https://gpuixui.sudokw.com/registry): Install a component's source with the shadcn CLI. - [Themes](https://gpuixui.sudokw.com/themes): Edit the tokens live, pick a look, import a shadcn theme. ## Components - [Components](https://gpuixui.sudokw.com/components): Every component the library ships - [Accordion](https://gpuixui.sudokw.com/components/accordion): Stacked sections, one or several open - [Alert](https://gpuixui.sudokw.com/components/alert): A persistent, in-flow message about the current state - [Aspect ratio](https://gpuixui.sudokw.com/components/aspect-ratio): A box whose height follows its width through one ratio - [Auth](https://gpuixui.sudokw.com/components/auth): Sign in, sign up, reset and one-time codes - [Auto height](https://gpuixui.sudokw.com/components/auto-height): A reveal that grows to its content's measured height - [Avatar](https://gpuixui.sudokw.com/components/avatar): A person or team as a picture, falling back to initials - [Avatar group](https://gpuixui.sudokw.com/components/avatar-group): A facepile of overlapping avatars with an overflow chip - [Badge](https://gpuixui.sudokw.com/components/badge): A short status label on a pill, never a control - [Breadcrumb](https://gpuixui.sudokw.com/components/breadcrumb): The trail to the current page, with a collapsing middle - [Bubble](https://gpuixui.sudokw.com/components/bubble): The message surface, with variants and reactions - [Button](https://gpuixui.sudokw.com/components/button): The primary action, with busy and disabled states - [Calendar](https://gpuixui.sudokw.com/components/calendar): A month grid for a day, several days, or a range - [Card](https://gpuixui.sudokw.com/components/card): A bounded surface that groups related content - [Carousel](https://gpuixui.sudokw.com/components/carousel): Discrete slide stepping, a dot per slide, arrow keys - [Chat](https://gpuixui.sudokw.com/components/chat): A conversation with a following transcript - [Checkbox](https://gpuixui.sudokw.com/components/checkbox): An independent yes/no with an optional mixed state - [Code block](https://gpuixui.sudokw.com/components/code-block): Source or output, tokenized by @tanstack/highlight - [Collapsible](https://gpuixui.sudokw.com/components/collapsible): One section that reveals its body on demand - [Color picker](https://gpuixui.sudokw.com/components/color-picker): A swatch that opens the saturation, hue and alpha rails - [Color swatches](https://gpuixui.sudokw.com/components/color-swatches): One colour chosen from a fixed row - [Combobox](https://gpuixui.sudokw.com/components/combobox): A searchable single- or multi-select with ranked options - [Command menu](https://gpuixui.sudokw.com/components/command-menu): A searchable action list, the ⌘K palette - [Confirmation dialog](https://gpuixui.sudokw.com/components/confirm-dialog): The safe workflow for an action that cannot be undone - [Context menu](https://gpuixui.sudokw.com/components/context-menu): Menu rows at the pointer, or opened from the keyboard - [Copy button](https://gpuixui.sudokw.com/components/copy-button): An icon action that copies a value and acknowledges it - [Countdown](https://gpuixui.sudokw.com/components/countdown): A remaining duration as clock text - [Counting number](https://gpuixui.sudokw.com/components/counting-number): A number that counts to its value - [Date picker](https://gpuixui.sudokw.com/components/date-picker): A day or a span of days, chosen from a Calendar - [Diagram](https://gpuixui.sudokw.com/components/diagram): A Mermaid source, drawn by Pele - [Dialog](https://gpuixui.sudokw.com/components/dialog): A modal surface that takes the window until it is dismissed - [Disclosure](https://gpuixui.sudokw.com/components/disclosure): An inspector section headed by a triangle - [Drawer](https://gpuixui.sudokw.com/components/drawer): A modal panel anchored to any window edge - [Dropdown menu](https://gpuixui.sudokw.com/components/dropdown-menu): A list of actions anchored to the control that opened it - [Empty state](https://gpuixui.sudokw.com/components/empty-state): The panel a collection shows when it has no rows - [Field and inline validation](https://gpuixui.sudokw.com/components/field): A label, control and one message slot around an input - [Fieldset](https://gpuixui.sudokw.com/components/fieldset): A named group of fields with a disabled state - [Form](https://gpuixui.sudokw.com/components/form): Schema validation and a submit lifecycle around fields - [Glyph](https://gpuixui.sudokw.com/components/glyph): A wall of generated characters for its own box - [Gradient](https://gpuixui.sudokw.com/components/gradient): A two-stop gradient surface that breathes between ramps - [Gradient text](https://gpuixui.sudokw.com/components/gradient-text): A phrase painted as a per-glyph colour ramp - [Highlight text](https://gpuixui.sudokw.com/components/highlight-text): A phrase whose matches a marker wash sweeps across - [Hotkey recorder](https://gpuixui.sudokw.com/components/hotkey-recorder): Capture a chord and display it as keycaps - [Hover card](https://gpuixui.sudokw.com/components/hover-card): A rich surface previewed from a name, on hover or on focus - [Image zoom](https://gpuixui.sudokw.com/components/image-zoom): A frame whose picture magnifies under the pointer - [Inline edit](https://gpuixui.sudokw.com/components/inline-edit): Rename a value where it is displayed - [Input group](https://gpuixui.sudokw.com/components/input-group): A field and its addons inside one bordered, focus-ringed row - [Inset group](https://gpuixui.sudokw.com/components/inset-group): A settings form's grouped rows, as System Settings draws them - [Item](https://gpuixui.sudokw.com/components/item): One row of a list, with media, text and actions - [Kanban](https://gpuixui.sudokw.com/components/kanban): Columns of cards a person reorders with a pointer or the arrow keys - [Keyboard shortcuts](https://gpuixui.sudokw.com/components/keyboard-shortcuts): A cheat sheet of chords as platform keycaps - [Knob](https://gpuixui.sudokw.com/components/knob): A rotary control for one value in a range - [List](https://gpuixui.sudokw.com/components/list): Rows with one tab stop, type-ahead and a row action - [Mention input](https://gpuixui.sudokw.com/components/mention-input): `@name` autocompletion in a text field - [Message](https://gpuixui.sudokw.com/components/message): A typical agent conversation - [Message Scroller](https://gpuixui.sudokw.com/components/message-scroller): Follows new content, keeps a scrolled-up reader in place - [MultiStepForm](https://gpuixui.sudokw.com/components/multi-step-form): A gated wizard over Stepper, submitted on the last step - [Navigation menu](https://gpuixui.sudokw.com/components/navigation-menu): A horizontal nav that opens one anchored panel at a time - [Page transition](https://gpuixui.sudokw.com/components/page-transition): A region that swaps views with the house motion - [Pagination](https://gpuixui.sudokw.com/components/pagination): Previous and next controls around a stable-width page window - [Pinned list](https://gpuixui.sudokw.com/components/pinned-list): Headers that stay pinned while rows scroll under them - [Popover](https://gpuixui.sudokw.com/components/popover): A floating panel anchored to the control that opened it - [Preview card](https://gpuixui.sudokw.com/components/preview-card): A rich, hoverable card shown on hover or on a press - [Progress](https://gpuixui.sudokw.com/components/progress): A determinate or indeterminate bar in the caller's scale - [Reorderable tabs](https://gpuixui.sudokw.com/components/reorderable-tabs): A tab strip you can drag, close and reorder with the keyboard. - [Reveal](https://gpuixui.sudokw.com/components/reveal): Content that fades and travels into place - [Scroll fade](https://gpuixui.sudokw.com/components/scroll-fade): An edge that fades where more content is hidden - [Scroll progress](https://gpuixui.sudokw.com/components/scroll-progress): A reading line for how far through content a reader is - [Search input](https://gpuixui.sudokw.com/components/search-input): A single-line search field with a clear affordance - [Segmented control](https://gpuixui.sudokw.com/components/segmented-control): One choice among a few, as a Mac view switcher - [Select](https://gpuixui.sudokw.com/components/select): One choice from a list, in a popover - [Separator](https://gpuixui.sudokw.com/components/separator): A rule between regions, decorative or announced - [Sheet](https://gpuixui.sudokw.com/components/sheet): A modal panel anchored to any of four window edges - [Shimmer](https://gpuixui.sudokw.com/components/shimmer): A travelling highlight painted into text, or a surface band over children the runtime cannot recolour - [Sidebar](https://gpuixui.sudokw.com/components/sidebar): The persistent navigation panel, collapsible to icons - [Skeleton](https://gpuixui.sudokw.com/components/skeleton): A placeholder block that reserves the box content will paint - [Slider](https://gpuixui.sudokw.com/components/slider): One value on a track, or the two ends of a range - [Sliding number](https://gpuixui.sudokw.com/components/sliding-number): A number whose digits roll like a counter - [Spinner](https://gpuixui.sudokw.com/components/spinner): A ring of ticks whose lit arc steps around the circle, in three sizes - [Stepper](https://gpuixui.sudokw.com/components/stepper): Progress through named steps, from one value - [Switch](https://gpuixui.sudokw.com/components/switch): An immediate on/off pill with a sliding knob - [Table](https://gpuixui.sudokw.com/components/table): A bounded grid with a pinned header and sortable columns - [Tabs](https://gpuixui.sudokw.com/components/tabs): A roving-focus tab list and the panels it switches - [Tag input](https://gpuixui.sudokw.com/components/tag-input): Keywords entered through a field, as removable chips - [Theme toggler](https://gpuixui.sudokw.com/components/theme-toggler): The control that switches light and dark - [Time picker](https://gpuixui.sudokw.com/components/time-picker): A time of day, entered as an HH:mm field - [Timeline](https://gpuixui.sudokw.com/components/timeline): A read-only rail of events the app marks - [Toast](https://gpuixui.sudokw.com/components/toast): A stacked, auto-dismissing notification queue - [Toggle](https://gpuixui.sudokw.com/components/toggle): A button that stays on, for a mode the next action uses - [Toggle group](https://gpuixui.sudokw.com/components/toggle-group): A toolbar of related modes with one tab stop - [Tooltip](https://gpuixui.sudokw.com/components/tooltip): A short label on hover - [User menu](https://gpuixui.sudokw.com/components/user-menu): An avatar and name that open the account actions ## Primitives - [Primitives](https://gpuixui.sudokw.com/primitives): The Tier 1 layer over GPUix host elements - [Box](https://gpuixui.sudokw.com/primitives/box): A surface with tone, padding, radius, border and flex facts - [ButtonGroup](https://gpuixui.sudokw.com/primitives/button-group): A row or column of related actions, attached or separated - [Checkbox group](https://gpuixui.sudokw.com/primitives/checkbox-group): Several independent choices sharing one tab stop - [Grid](https://gpuixui.sudokw.com/primitives/grid): Equal tracks in two dimensions - [IconButton](https://gpuixui.sudokw.com/primitives/icon-button): A square, icon-only action with a required name - [Input](https://gpuixui.sudokw.com/primitives/input): A single-line text field, controlled or uncontrolled - [Label](https://gpuixui.sudokw.com/primitives/label): A control's visible name, with a required marker - [Meter](https://gpuixui.sudokw.com/primitives/meter): A measurement inside a range - [NumberField](https://gpuixui.sudokw.com/primitives/number-field): A number in a text field, with steps and optional bounds - [OTPField](https://gpuixui.sudokw.com/primitives/otp-field): A one-time code in length cells, held as one string - [Progress](https://gpuixui.sudokw.com/primitives/progress): A determinate or indeterminate progress bar - [RadioGroup](https://gpuixui.sudokw.com/primitives/radio-group): One choice from a small set, with arrow navigation - [RangeSlider](https://gpuixui.sudokw.com/primitives/range-slider): Two values, the ends of one interval, on one track - [Rating](https://gpuixui.sudokw.com/primitives/rating): A score in stars, whole or in halves - [ScrollArea](https://gpuixui.sudokw.com/primitives/scroll-area): A bounded container that scrolls on the chosen axes - [Separator](https://gpuixui.sudokw.com/primitives/separator): One theme-coloured rule between regions - [Skeleton](https://gpuixui.sudokw.com/primitives/skeleton): A pulsing placeholder for content that has not arrived - [Slider](https://gpuixui.sudokw.com/primitives/slider): A value on a track, by click, drag or keyboard - [Spacer](https://gpuixui.sudokw.com/primitives/spacer): Empty space as a fixed step or a flexible filler - [Spinner](https://gpuixui.sudokw.com/primitives/spinner): An activity indicator drawn as a ring whose lit arc steps around the circle, because the runtime cannot rotate - [Stack](https://gpuixui.sudokw.com/primitives/stack): Children laid out along one axis, spaced by the theme scale - [Text](https://gpuixui.sudokw.com/primitives/text): One run of type, named by a theme role and a semantic tone - [TextArea](https://gpuixui.sudokw.com/primitives/textarea): A multi-line text field sized in rows - [ThemeProvider](https://gpuixui.sudokw.com/primitives/theme-provider): Supplies the theme every primitive draws with - [Toggle](https://gpuixui.sudokw.com/primitives/toggle): A button whose action has a persistent on/off state - [Toggle group](https://gpuixui.sudokw.com/primitives/toggle-group): A toolbar of related modes, pressed and unpressed ## Graphics - [Charts](https://gpuixui.sudokw.com/graphics/charts): Seventeen chart types, one line of code each - [Charts](https://gpuixui.sudokw.com/graphics/charts/charts): Bar, stacked, line, area, pie, donut, radar, radial, treemap, sankey, sunburst and sparkline charts - [Diagrams](https://gpuixui.sudokw.com/graphics/diagrams): A Mermaid source, drawn by Pele - [Icon set](https://gpuixui.sudokw.com/graphics/icons): Every glyph the set ships, with the geometry it paints and its naming rule. - [Icons](https://gpuixui.sudokw.com/graphics/icons/icon): 83 monochrome icons and their size scale ## Data display - [Data display](https://gpuixui.sudokw.com/data-display): The data lane's shipped surfaces - [Advanced filtering / query builders](https://gpuixui.sudokw.com/data-display/advanced-filter): A builder over a typed predicate tree - [Charts](https://gpuixui.sudokw.com/data-display/charts): Bar, stacked, line, area, pie, donut, radar, radial and sparkline charts - [Charts](https://gpuixui.sudokw.com/data-display/charts/charts): Bar, stacked, line, area, pie, donut, radar, radial, treemap, sankey, sunburst and sparkline charts - [Charts](https://gpuixui.sudokw.com/data-display/charts/index): Seventeen chart types, one line of code each - [Column configuration](https://gpuixui.sudokw.com/data-display/column-configuration): Show, hide, reorder and resize a table's columns - [Data toolbars](https://gpuixui.sudokw.com/data-display/data-toolbar): The row of controls a data surface acts from - [Expandable rows](https://gpuixui.sudokw.com/data-display/expandable-rows): A table row that opens a detail panel under itself - [Frozen columns](https://gpuixui.sudokw.com/data-display/frozen-columns): A pinned column beside a grid that pans - [Key-value displays](https://gpuixui.sudokw.com/data-display/key-value): A two-column list of labels and values - [Property panels](https://gpuixui.sudokw.com/data-display/property-panel): A panel of property rows over one object the caller owns - [Statistic / metric cards](https://gpuixui.sudokw.com/data-display/stat-card): A card that shows one derived reading - [Filtering controls](https://gpuixui.sudokw.com/data-display/table-filtering): The field a data surface narrows its rows from - [Table selection](https://gpuixui.sudokw.com/data-display/table-selection): A checkbox column for a data table - [Table sorting](https://gpuixui.sudokw.com/data-display/table-sorting): The press cycle a sortable header reports - [Tree views](https://gpuixui.sudokw.com/data-display/tree-view): Expandable rows of a hierarchy, with arrow keys - [Virtual trees](https://gpuixui.sudokw.com/data-display/virtual-tree): A hierarchy painted one window at a time - [Virtualization](https://gpuixui.sudokw.com/data-display/virtualization): A long list and table that mount one window of rows ## Workspace - [Panel surfaces](https://gpuixui.sudokw.com/dock): Split panes, panel groups and a dock layout for a workspace. - [Docking layouts](https://gpuixui.sudokw.com/dock/dock-layout): A named tree of split and tab groups, rendered from a schema - [Panel groups](https://gpuixui.sudokw.com/dock/panel-group): N panes in a row or column, each resizable - [Split pane](https://gpuixui.sudokw.com/dock/split-pane): Two panes and the divider between them - [Code surfaces](https://gpuixui.sudokw.com/editor): A code editor, a diff, a Markdown editor and search-and-replace. - [Code editor](https://gpuixui.sudokw.com/editor/code-editor): An editable code surface with tokenized highlighting - [Diff viewer](https://gpuixui.sudokw.com/editor/diff-viewer): Two sources compared, tinted by change - [MarkdownEditor](https://gpuixui.sudokw.com/editor/markdown-editor): Markdown editing with the rendered result beside it - [Search and replace](https://gpuixui.sudokw.com/editor/search-replace): Find, match count, next/previous and replace-all - [File surfaces](https://gpuixui.sudokw.com/files): A file tree, a log viewer and an inspector panel. - [File trees](https://gpuixui.sudokw.com/files/file-tree): A file tree with declarative folders and one selection - [Log viewers](https://gpuixui.sudokw.com/files/log-viewer): A tail-anchored log list with a level filter - [Property panels](https://gpuixui.sudokw.com/files/property-panel): A key/value editor for text, number, boolean and select - [Media surfaces](https://gpuixui.sudokw.com/media): Image preview, upload, crop and QR surfaces for a file workflow. - [CropArea](https://gpuixui.sudokw.com/media/crop-area): A picture with a controlled crop hole and drag handles - [DropZone](https://gpuixui.sudokw.com/media/drop-zone): A drop target that reports files and offers a picker - [FileUpload](https://gpuixui.sudokw.com/media/file-upload): A queue of files with progress, retry and remove - [ImagePreview](https://gpuixui.sudokw.com/media/image-preview): An image surface with loading, error and pointer zoom - [MediaPlayer](https://gpuixui.sudokw.com/media/media-player): A clip's poster and Mux's transport, on the app's clock - [QrCode](https://gpuixui.sudokw.com/media/qr-code): A QR symbol from the package's own encoder - [Shell surfaces](https://gpuixui.sudokw.com/shell): The app menu, the status bar and the toolbar that frame a window. - [Application menu](https://gpuixui.sudokw.com/shell/app-menu): The in-window menu bar, with keyboard traversal - [Status bar](https://gpuixui.sudokw.com/shell/status-bar): The bottom strip of the application chrome — left, centre and right groups, tones, hairline separators, truncation and a mono type scale - [Toolbar](https://gpuixui.sudokw.com/shell/toolbar): A horizontal action strip with an overflow menu - [Workspace](https://gpuixui.sudokw.com/workspace): The desktop-shell lane, with split and dock ## Effects - [Effects](https://gpuixui.sudokw.com/effects): Decorative motion — particles, stars, shine and ripple, kinetic text — kept out of the core library. - [Bubbles](https://gpuixui.sudokw.com/effects/bubbles): A decorative field of rising bubbles - [Fireworks](https://gpuixui.sudokw.com/effects/fireworks): A decorative field of bursting sparks - [Gravity stars](https://gpuixui.sudokw.com/effects/gravity-stars): A decorative field of stars falling into a well - [Hexagon](https://gpuixui.sudokw.com/effects/hexagon): A tiled hexagon outline field generated for its box - [Liquid button](https://gpuixui.sudokw.com/effects/liquid-button): An action a soft fill floods into on hover - [Magnetic](https://gpuixui.sudokw.com/effects/magnetic): Content that leans toward the pointer over it - [Motion grid](https://gpuixui.sudokw.com/effects/motion-grid): Cells that travel to their new slots when order changes - [Particles](https://gpuixui.sudokw.com/effects/particles): A decorative field of drifting motes - [Ripple button](https://gpuixui.sudokw.com/effects/ripple-button): An action whose press spreads a wash from the pointer - [Rolling text](https://gpuixui.sudokw.com/effects/rolling-text): A value that rolls into place when it changes - [Rotating text](https://gpuixui.sudokw.com/effects/rotating-text): One line whose phrase changes on an interval - [Shader layer](https://gpuixui.sudokw.com/effects/shader-layer): Fire, liquid metal, glass and backdrop effects painted by GPUI in painter order - [Shine button](https://gpuixui.sudokw.com/effects/shine-button): An action a soft sheen crosses under the pointer - [Sliding text](https://gpuixui.sudokw.com/effects/sliding-text): A value that slides horizontally into place when it changes - [Splitting text](https://gpuixui.sudokw.com/effects/splitting-text): A headline that arrives word by word - [Stars](https://gpuixui.sudokw.com/effects/stars): A decorative field of twinkling lights - [Typing text](https://gpuixui.sudokw.com/effects/typing-text): A string that arrives a character at a time ## Platform - [Platform](https://gpuixui.sudokw.com/platform): The behaviours only the operating system owns. - [Window](https://gpuixui.sudokw.com/platform/native-window): The native window's anatomy — a sidebar under the traffic lights, a unified toolbar, opaque content. - [Window actions](https://gpuixui.sudokw.com/platform/window): Minimise, zoom, fullscreen, rename, and the system's path picker. ## Blocks - [Blocks](https://gpuixui.sudokw.com/blocks): Page-level recipes composed from the library - [All blocks](https://gpuixui.sudokw.com/blocks/all): Every block, one per row, generated from the block pages' own frontmatter. - [Calendar](https://gpuixui.sudokw.com/blocks/calendar): A month grid with the selected day's agenda beside it - [Command centre](https://gpuixui.sudokw.com/blocks/command-centre): A command palette over a dimmed page - [Conversations](https://gpuixui.sudokw.com/blocks/conversations): A Messages-style window in four platform dresses - [Dashboard](https://gpuixui.sudokw.com/blocks/dashboard): An activity dashboard with stats and charts - [Dashboard 01](https://gpuixui.sudokw.com/blocks/dashboard-01): shadcn's dashboard — an inset sidebar, stat cards, and a chart of every shape - [Dashboard management](https://gpuixui.sudokw.com/blocks/dashboard-management): A settings console with a workspace rail and one column of service sections - [Data table](https://gpuixui.sudokw.com/blocks/data-table): A deploy table with filtering, sorting, selection and paging - [Desktop](https://gpuixui.sudokw.com/blocks/desktop): A whole XP-era or Aero-era desktop, from the library - [Email inbox](https://gpuixui.sudokw.com/blocks/email-inbox): A mail client with a folder rail, message list and reading pane - [File manager](https://gpuixui.sudokw.com/blocks/file-manager): A three-pane file browser - [Kanban board](https://gpuixui.sudokw.com/blocks/kanban): A hunter's contract board with counted columns - [Notifications](https://gpuixui.sudokw.com/blocks/notification-centre): A notification centre with filters and grouped rows - [Pipeline](https://gpuixui.sudokw.com/blocks/pipeline): A release pipeline in a native Mac window - [Profile settings](https://gpuixui.sudokw.com/blocks/profile-settings): A profile page with a photo, contact details and tabbed settings - [Settings dialog](https://gpuixui.sudokw.com/blocks/settings-dialog): A modal settings window - [Sidebar](https://gpuixui.sudokw.com/blocks/sidebar): Sixteen sidebar blocks on one page, grouped - [Sign in](https://gpuixui.sudokw.com/blocks/sign-in): A full sign-in page - [Tasks](https://gpuixui.sudokw.com/blocks/tasks): A Notion-style tasks view with an inbox and pinned docs