Components
Every component in PanelUI, by what it is for — 99 of them, each with its anatomy, props and variants.
All 99 components, grouped by the job they do. Every page covers the anatomy, every prop and every variant, read straight from the library's TypeScript so it cannot drift from the code.
Actions
The things a screen can be told to do, and the controls that ask.
Button
Pressable action with variants, sizes, loading state and icon slots.
ButtonGroup
Several buttons drawn as one control — a segmented run, a split action, a toolbar.
Chip
Interactive pill — a filter, a tag, or a removable token.
ContextMenu
Actions for a piece of content, opened by holding it.
Fab
The floating action button — one action pinned over the content, with an optional dial of others behind it.
Menu
The list of things you can do to something.
Swipe
A row that slides aside to reveal the things you can do to it.
ToggleButton
A button that stays down, on its own or in a group.
Forms and input
Everything that takes a value from someone and hands it back typed.
Calendar
A month of days, for picking one, several, or a range.
Checkbox
Animated checkbox, as a row or a selectable card.
ColorPicker
A colour chosen by dragging — a saturation square or a wheel, a hue scale, and opacity.
Combobox
A text field that filters a list of options as you type.
DatePicker
A calendar behind a button.
DateTimePicker
A day and a time of day, picked in one panel.
Field
Layout and validation-state kit a form control composes into.
Form
Form state — values, validation and submission — with no form library underneath.
Input
Text field with label, description and error message.
InputGroup
Input with leading and trailing decorators.
Label
Form field label with required, invalid and disabled states.
MarkdownEditor
A field for writing markdown, with a formatting toolbar and a rendered preview.
NumberInput
Numeric field stepped by buttons or typed by hand.
OtpInput
One-time-code field drawn as a row of separate cells.
Questionnaire
One question at a time, with progress, validation and a way back.
RadioGroup
Single-select list of options.
Rating
A row of stars to read or set a score.
Select
Picker shown in a bottom sheet, expanded in place, or floating over the page.
Signature
Sign with a finger, and get the result back out as SVG or PNG.
Slider
Pick a value, or a span, by dragging a thumb along a track.
Switch
Animated on/off toggle.
TagInput
A field whose value is a list of tokens rather than a string.
Textarea
Text field that runs to several lines, sized in rows.
TimePicker
A time of day, as a wheel, a clock or a swipeable scale.
Overlays
Surfaces that arrive over the page and leave again.
BottomSheet
Draggable sheet anchored to the bottom of the screen.
Dialog
Modal dialog with a backdrop and footer actions.
Drawer
A panel that comes in from an edge of the screen and covers the app until dismissed.
Popover
Panel anchored to the element that opened it.
Toast
Transient notification queue with swipe to dismiss.
Tooltip
A small label that names the control under your finger.
Navigation
Moving between places, and showing where you are in them.
Breadcrumb
The trail of links back up the hierarchy to the current page.
Pagination
Paged navigation over a long result set.
SectionRail
Floating section navigator for a long screen.
Sortable
A list whose rows can be dragged into a different order.
Steps
Stepper for multi-step flows.
Tabs
Segmented navigation with an animated indicator.
Tour
A walkthrough that introduces a screen one control at a time.
Tree
A hierarchy you can open a level at a time.
Layout and structure
The surfaces the rest of it sits on.
Accordion
Collapsible sections with single or multiple selection.
Card
Content surface with header, body and footer.
Carousel
A run of slides, one at a time, dragged with a finger.
Direction
Reading direction for everything below it.
Frame
Widget shell — a card of rows sitting in a titled tray.
GridItem
Bento tiles, and the grid that places them.
Item
Row of media, text and actions for lists and settings.
ScrollCanvas
Image frame whose contents move as you scroll.
ScrollFade
Fades the edges of a scroll container.
Separator
Horizontal or vertical rule between content, optionally labelled.
Surface
Elevated container with a variant ladder.
Typography
Semantic text presets.
Data
Rows, sequences and numbers, laid out to be read.
Flow
Pan-and-zoom canvas of draggable nodes joined by animated edges.
Kpi
One number, what it is doing, and the shape it made getting there.
Map
Vector map whose basemap is drawn from your theme tokens.
Table
Rows and columns that stay lined up, with sortable headers.
Timeline
Vertical sequence of events.
Charts
Series drawn on the UI thread, one file each, no chart library.
AreaChart
Filled bands over time, stacked or overlaid.
BarChart
Categories compared by length, grouped or stacked.
CandlestickChart
Open, high, low and close for a period, drawn as one mark.
HeatmapChart
Contribution grid with a themed colour ramp and a readout.
HexChart
A whole broken into parts, counted out in cells.
LineChart
Animated time series, drawn on the UI thread.
PieChart
One whole, divided between its parts.
RadarChart
Several measures of one thing, drawn as one shape.
RingChart
Concentric arcs, each measured against its own target.
ScatterChart
Two quantities against each other, to show how they relate.
Feedback and status
Saying what happened, what is happening, and what is missing.
Alert
Status message with a built-in icon.
Badge
Compact status label, dot, or notification count.
EmptyState
Placeholder for a list or screen with no content.
Loader
Nine loading animations behind one variant prop.
Marker
Inline note between conversation turns.
Progress
Determinate and indeterminate progress bar.
Skeleton
Shimmer placeholder for loading content.
Spinner
Indeterminate loading indicator.
Media and motion
Pictures, conversation and things that move.
Attachment
File row with upload states, built on Item.
Avatar
User image with an initials fallback and an optional badge overlay.
Message
Chat turn with avatar, bubble, header and footer.
MessageScroller
Scroll behaviour a chat transcript needs.
Post
A social card — author, body, media and the counts underneath, with the votes animated.
QRCode
A string a camera can read — framed, titled, or folded away behind a button.
ScrollText
Text that resolves word by word as you scroll.
TextAnimation
Five ways a piece of text or a number arrives.
AI components
The parts an assistant interface is built from.
CodeBlock
A fenced snippet, syntax-coloured and scrolled sideways.
Panelside
Navigation panel that moves the app aside instead of covering it.
Plan
What an agent intends to do, before it does it.
Reasoning
The model's working, shown while it happens and folded away after.
Response
A model's answer, rendered as markdown while it is still arriving.
Shimmer
Animated highlight sweeping across content.
Soundwave
What a voice looks like while an app listens.
Sources
Where an answer came from, folded under a count.
Task
One step an agent took, and what it did while it was there.
ThinkingOrb
Dotted orb saying which kind of busy an agent is.