Full width
Two buttons that stretch to the width of their container: a filled primary and an outlined cancel.
Sketchbook
Every demo in the docs is a page with a number. Filter, tick the ones you want, then copy the list or hand it to your AI.
313 of 313 shown
Two buttons that stretch to the width of their container: a filled primary and an outlined cancel.
Buttons with an icon before the label, after the label, and with a ghost download action.
Buttons in the loading state, including one that toggles loading for two seconds when clicked.
The three button sizes side by side: small, medium and large.
Disabled buttons, a destructive action with an icon, and a link rendered as a button.
All five button variants in a row: filled, glass, outlined, ghost and destructive.
Three disabled checkboxes: unchecked, checked and indeterminate.
Checkboxes in unchecked, pre-checked and indeterminate states, the first two bound to local state.
Three checkboxes with no visible label, named only through aria-label: bound, checked and indeterminate.
A searchable Combobox over eight frameworks that prints the selected value below the field.
Three Combobox states: with description and custom search and empty texts, with error and required, and disabled.
A default CopyButton that copies an npm install command.
An icon-only CopyButton and a labelled one that shows a toast after copying, with a Toaster mounted.
CopyButton in three variants and two extra sizes, side by side.
An inline single-date Calendar and a RangeCalendar, each printing its selected value below.
Date and time inputs with constraints: a bounded DatePicker, a required DatePicker with an error, a disabled DateField and a read-only TimeField.
Segmented DateField and TimeField inputs with bound values, minute granularity and 24h and 12h hour cycles.
A DatePicker and a DateRangePicker with popover calendars, each printing its selected value.
An ExportMenu exporting three domain rows with custom column headers and a status line reporting the last export.
A multi-file FileUpload with a size limit and hint that reports how many files are selected.
Two FileUpload dropzones: one restricted to images with custom label and hint, and one disabled.
A FilterGroup of three role options bound to a value that is printed below.
Five MaskedField inputs for Brazilian documents: CPF, CNPJ, combined CPF or CNPJ, birth date and RG, with validators on three.
A native input masked with the mask action, showing the bound value below.
A PhoneField and a CepField that looks up an address asynchronously and prints the resolved street, district and city.
Four MoneyInput fields showing min and max bounds, negative values, an error message and a disabled state.
MoneyInput in three currencies and locales: USD en-US, JPY without decimals and EUR de-DE.
A default MoneyInput bound to a cents value, with the raw cents and formatted display printed below.
Two money helper functions evaluated inline: centsToDisplay and parseInputToCents.
Two NumberField inputs in a Stack: an integer quantity with bounds and a decimal price with a step.
Four NumberField states in a Stack: with description, with error and required, disabled, and small.
A verification-code PinInput that reports its value and completion, plus a masked four-digit PIN.
Four PinInput states: with description, with error, disabled with a partial value, and a text-type five-character key.
Radio group in `cards` variant with three plans, one disabled, bound to a selected plan.
Two radio groups: one with a single disabled item and one fully disabled group.
Radio group laid out in a row with Small, Medium and Large options.
Default vertical radio group of three fruits with the selected value printed below.
Two segmented controls: a text-only Week/Month/Year period and a List/Grid view switch with icons.
Small full-width segmented control with four items, one disabled.
Select with five framework options and the chosen value printed below.
Select whose first option has an empty value labelled All projects, with the raw value printed.
Select with no initial value that shows placeholder text until a country is chosen.
Three selects showing a description, an error and a disabled state, with one disabled option.
Two setting rows, each with a label, a description and a Switch on the right.
Two-thumb range slider from 0 to 100 with the selected price range printed beside it.
Two single-value sliders, Volume and Brightness, each with a live readout.
A slider that snaps in steps of 10 and a disabled slider fixed at 35.
Swatch group with four custom colors where one swatch is disabled.
Swatch group of five theme presets: ocean, violet, emerald, rose, amber.
Two labelled switches, one starting off and one starting on.
Two disabled switches, one off and one on.
Settings list of three rows, each with a title, a subtitle and a Switch.
Two switches with no visible label, named only through aria-label.
Three text areas: empty, with a placeholder, and with initial content.
Six text areas showing description, error, required, read-only, disabled and fixed-size states.
Two basic text fields: a full name and an email with type email.
Search field with a leading icon and a password field with a trailing show/hide button.
Six text fields showing description, error, required, read-only, disabled and small size.
Theme toggle button rendered inside a rail container.
Single-select alignment group, a required text filter and a multi-select formatting group.
Three toggle groups sharing one value: outlined, ghost and vertical.
Form built with useForm and a hand-written validate function, with Validate and Reset buttons.
Form with a schema that simulates a 1.2 second submit, then shows a success message and resets.
Form using a schema for username length and bio length, with a live character count.
A single-open Accordion with its open item bound to state and the current value printed below.
An Accordion that lets several of its three items stay open at once.
A single-open Accordion with three Liquid Glass FAQ questions, where opening one closes the others.
Two glass Cards side by side: one with a brand tint and one with a brand glow, each with a title and one line of text.
A single glass Card with a Featured eyebrow, a heading, a description and an Explore materials link.
A glass Card with a built-in Team members header and an Invite button supplied through a headerActions snippet.
A solid Card that is a link as a whole, with a Surface heading and a one line description.
Three glass stat Cards in a flex row, each with a label, a large value and a delta line.
Three independent Collapsible FAQ panels stacked with a small gap, all closed initially.
A Collapsible that starts expanded with its open state bound and printed below it.
A LiquidGlass refraction layer using the regular optics preset behind a line of text in a padded frame.
Six solid Surface tiles showing elevation levels 0 to 5 in a wrapping row.
A Surface rendered as a button that counts how many times it was pressed.
Five Surface tiles, one per material, over a brand to info to success gradient so the translucency is visible.
An 18 tile grid of solid Surfaces crossing six tones with three variants.
A destructive alert dialog whose async confirm handler waits 1.5 seconds before an Item removed note appears.
Two alert dialogs, a plain sign out confirmation and a destructive project delete, with an event log below.
An alert dialog driven by parent state: the pending prop is set for 1.5 seconds before the dialog closes itself.
A medium dialog with the chromeless prop, so the content fills the panel edge to edge with no header or padding.
A small dialog asking to delete an item, with Cancel and Delete buttons in the actions snippet.
A medium dialog containing an invite form with name, email and role fields and a Send invite button disabled until name and email are filled.
An informational dialog with rich text about how Dialog works and a single Got it action.
A split dialog with a media panel beside a lead form containing name, email and a Save button.
A right drawer, 400px wide, listing four notifications with unread dots and timestamps.
A default drawer titled Filters with status and role filter groups, two switches and Reset and Apply actions.
Two drawers opened from separate buttons: a 280px left navigation drawer and a bottom sort drawer.
A lightbox opened from a button to show a single generated SVG image.
A progress bar that fills from 0 to 100 percent in steps of 5 every 100 ms when Start upload is clicked.
Four determinate progress bars at 25, 50, 75 and 100 percent, each with a percent label.
Two indeterminate progress bars labelled Loading and Syncing for work of unknown length.
A bottom sheet titled Sessions with a footer button, opened with swipe to dismiss on or off.
A sheet titled Switch session with a description and a list of eight accounts that close it on click.
A glass card skeleton with a circular avatar placeholder beside three text lines of different widths.
A flush glass card skeleton with a 180px rectangular image placeholder above two caption lines.
A glass card skeleton with a 60% wide heading line above a block of three text lines.
A Button that shows its loading spinner for two seconds after click and changes its label to Saving.
A glass card with a centered 40px spinner and a Loading data text.
Three spinners side by side at 16, 24 and 40 pixels.
Eight buttons that trigger toasts: five variants and three duration cases, with one Toaster mounted.
Two dismissible alerts, an info one with a title and a warning one, that are replaced by a short dismissed note once closed.
The four alert severities stacked: success, warning, error and info, each with a one-line message.
Two alerts with a bold title above the body text: a success and an error.
A row of four large avatars loaded from image URLs.
Large avatars with no image source: three given only `alt` names and two given explicit `fallback` text.
Large avatars showing the rounded shape and the four status indicators: online, busy, away and offline.
Avatars at every preset size from extra small to extra large, plus a custom numeric size.
An overlapping avatar stack of three photo avatars and a fourth `+4` overflow avatar.
A notification bell icon button wrapped in a count badge, shown in the four badge colors.
Four badges on icon buttons: a dot, a count of 3, a count of 99 and a count of 100.
Three medium avatars each carrying a status dot in success, warning or error color.
Three plain chips with text labels.
Removable chips: deleting one drops it from the list, and a reset link appears when all are gone.
Three chips each with a leading lucide icon: star, zap and tag.
Two toggle chips, Filter A starting off and Filter B starting on, that flip on click.
StatusChip in its five statuses: success, warning, error, info and neutral.
Chip color variants (default, brand, success, warning, error, info) plus a small size chip.
Three CodeSnippet blocks highlighting Svelte, TypeScript and CSS sources.
A DataTable driven from outside: filter, sort and pagination state live in the page, which slices 12 users into pages of 5.
A DataTable with five columns and 12 user rows, passing only `columns` and `data`.
Three stacked text sections inside a glass card separated by horizontal dividers.
Three text items in a row inside a glass card separated by vertical dividers.
A table of three domains where each row ends with an ExternalLink to a registrar URL.
An Image with an inline 4:3 gradient SVG, constrained to a 360px wrapper.
An Image with a two-rendition `srcset` (400w and 800w) and a `sizes` hint, in a 420px wrapper.
Keyboard key caps inline in a sentence describing the Ctrl+K shortcut to open the command palette and Esc to close it.
A LiveList that streams in 40 simulated domain availability checks, one every 150ms, after a Start bulk check button is pressed.
A NotificationBell whose notifications live in state and are updated by its read, read-all and clear callbacks.
Two NotificationBell triggers side by side: one given three notifications and one given an empty list.
Pagination for 100 items at 10 per page, with the current page bound to state and printed below.
Pagination with 30 items at 10 per page and no bound state.
Pagination for 200 items at 10 per page with two sibling pages shown on each side of the current page.
A horizontal ScrollArea with an always visible scrollbar holding a row of 24 Tag chips inside a glass card.
A vertical ScrollArea capped at 220px tall containing 20 Lorem ipsum rows inside a glass card.
A SimpleTable that turns each row into a stacked card on narrow screens, listing three users in a flush glass card.
A default SimpleTable listing three users with name, email, role and status in a flush glass card.
A basic Timeline of four project milestones, each with a label and a date.
A Timeline of an order's five tracking events, coloured by variant, with descriptions and timestamps.
A Tooltip wrapping plain inline text, which becomes the hover and focus trigger.
Three tooltips with different open delays on glass buttons: instant, default and slow.
Four icon-only buttons (Info, Heart, Zap, Star) that each reveal a Tooltip describing the action.
Four outlined buttons whose tooltips open on the top, right, bottom and left side.
An input that receives focus on mount, with a button that remounts it through a keyed block.
A box that counts how many clicks land outside it using the clickOutside action.
A native button that copies an install command to the clipboard and shows a Copied! label for two seconds.
A button that opens a box where Tab stays trapped among three buttons until Close is pressed.
A native button that fires a long-press handler after an 800ms hold and shows Long press! for 1.5 seconds.
A glass app bar with a title on the left and search, notifications and avatar on the right, inside a flush glass card.
A glass app bar with a menu button in the leading slot and an Upgrade button plus avatar in the trailing slot.
Four stacked breadcrumbs with 2, 3, 5 and 1 levels, where the last item is the current page without a link.
A breadcrumb with a custom separator character between three items.
A static list of four keyboard hints for the command palette, each pairing a Kbd key with a description.
A command palette opened by a button, filtering two modules of navigation items and reporting the picked path.
Two buttons that open a left navigation drawer and a right settings drawer.
A dropdown menu of file actions with icons, a separator and a destructive Delete item, reporting the last action.
A dropdown menu opened by a three-dot icon button, with Share and Copy link items aligned to the end.
A popover opened from a button, containing a sentence of text and a Confirm button.
A popover anchored below-start of a button that holds a text field with Cancel and Save buttons.
A four-step horizontal stepper inside a glass card with Back and Next buttons that advance the step.
Tabs bound to a state variable with a line below showing the active tab value.
An uncontrolled tab set of Overview, Props and Examples, each with a short paragraph of documentation text.
A labelled diagram of the app shell showing a 52px rail, a 200px panel and the main content area.
A working app shell with a rail, panel and page content whose pathname lives in local state and updates on navigation.
An empty inbox state with an icon, a title, a description and a Compose message button.
A hero-sized empty state inviting the user to start a first project, with Create project and Import buttons.
An empty state without an icon, showing a title, a description and a Create item button with a Plus icon.
A no-results state for search with a magnifier icon and a Clear filters button.
A load-failure state with a wifi-off icon and Retry plus Contact support buttons.
The ErrorPage component rendering a 404 status without its action buttons.
A complete user creation form with a header, two sections, bound fields and a footer with Cancel and Create user.
A compact form page with no title or description, one section and a Cancel and Save footer.
Three KPI cards with title, value, an optional unit, a positive or negative trend and an icon, inside a KpiGrid.
Two KPI cards whose trends are negative, one with an icon and one without.
Three KPI cards without a trend value, one with an icon and two plain.
A KpiGrid holding four KPI cards: Revenue, Users, Growth and Uptime, each with a trend and icon.
A KpiGrid holding three KPI cards to show how the grid lays out an odd number of items.
A Container and Section holding a Stack of two plan cards, showing the page-level layout primitives.
A Grid with responsive column counts and gaps holding eight numbered cells.
A Stack with a wrapping Flex row of three chips above a single padded Box.
A searchable, filterable users list with a New user action, a role filter and a table with user cell and status chip.
A settings page with General and Security tabs, a Save action and form sections with text fields and switches.
A dashboard page shell with four KPI cards and a placeholder glass card for a chart or table.
A button that opens a full-screen mobile pane titled Maria Souza with a message list, a header action and a composer.
A page shell inside a flush glass card with a title, description, New report action, four KPI cards and a placeholder card.
A scrolling form whose sticky Cancel and Save bar only appears once the Name field has text.
A scrolling area with a sticky bar whose Back and Continue buttons stretch across the width.
A horizontal bar chart ranking eight products by a single Sales series, with values formatted as thousands.
A stacked bar chart splitting six months of revenue into four acquisition channels.
A bar chart with Grouped and Stacked buttons that switch the same two-year quarterly data between layouts.
A vertical bar chart of one Revenue series across four quarters.
A ring gauge that counts up from 0 to 94 on mount, with a text label that changes with the value.
A ring gauge controlled by a slider, starting at 65.
A single gauge showing a score of 78 with a Score label.
Three gauges (CPU 67, Memory 82, Disk 45) that share colour zones for success, warning and error.
A calendar heatmap of daily commit counts from 2026-01-01 to 2026-09-15.
A matrix heatmap of task counts by hour of day (24 columns) and weekday (7 rows).
A calendar heatmap with 2026 and 2025 buttons that swap the dataset and date range.
A single Revenue line with a filled area under it across nine months.
A line chart with three series, Revenue, Expenses and Profit, across nine months.
A basic line chart of a single Revenue series over nine months.
A live line chart that shifts in a new Live revenue point every 800 ms over a 20-point window.
An analytics dashboard combining four KPI cards with line, stacked bar, donut, scatter, calendar heatmap, gauge and radar charts.
A donut chart with Q1, Q2 and Q3 chips that switch which quarter of data the chart shows.
A donut chart with a total value and caption shown in the centre.
A donut chart of market share split across five categories.
A Nightingale rose chart of six product areas, using the rose prop on PieChart.
A radar chart comparing Team A and Team B across six dimensions.
A radar chart for My team with six sliders that edit each dimension live.
A radar chart of one team, Team Alpha, across six dimensions.
A scatter plot of 80 generated points in a single Data points series.
A bubble chart where each of 50 accounts carries a third value that sets the bubble size.
A scatter plot with three named series, Premium, Standard and Free, of 30 points each.
Three labelled bar sparklines with up, down and neutral trends in a wrapping row.
Four KPI cards, each with a value, a change percentage and a trend-coloured sparkline.
Three live sparklines for CPU, Memory and Network that shift in a new value every 600 ms.
A table of four products with an inline sparkline per row and a text trend label.
Six swatches for the brand color tokens, each showing its name and CSS variable.
Three swatches for the outline tokens, drawn with a border so they stay visible on the page.
Four swatches for the semantic status color tokens: success, warning, error and info.
Four swatches for the surface tokens from sunken to overlay, drawn with a border.
Four swatches for the text color tokens: primary, secondary, hint and disabled.
Three native buttons using the glass button classes over a brand to info gradient backdrop.
Five glass surfaces at elevations 1 to 5, from Ultra thin to Chrome, over a three color gradient.
Three glass surfaces over a gradient: tinted, glowing, and tinted with glow.
Five cards, each with one shadow token from xs to xl, labelled with its name and CSS variable.
Seven body text size tokens from Body 1 to Nano, each rendered as a sample line.
The three font family tokens, sans, display and mono, each with a sample sentence.
Six heading size tokens, Heading 1 to Heading 6, each rendered as a bold sample line.
A CardGrid with two LinkCards, followed by a row of five MethodBadges for the HTTP verbs.
Two CodeTabs groups, each with cURL and Node.js tabs, that share the selected language through the same sync key.
A DocsNav sidebar with two groups and a TableOfContents of four headings rendered side by side.
A documentation article using the ca-prose wrapper with headings, two Callouts, a Steps list and a request fields table.
A DocsSearch dialog opened from an Open search button over a two-entry index, showing the selected href afterwards.
Seven tabs in a narrow container where the list scrolls horizontally with edge fades.
Tabs with a Lucide icon, a brand-colored svg icon and a scheme-aware monochrome icon next to each label.
A dropdown menu of agents where brand-colored icons opt out of the item's text color, including a scheme-aware monochrome mark.
Two large avatars whose fallback is a custom icon: one with an image that fails to decode and one with no image.
Avatar, KpiCard, TextField and Card all switched to their skeleton state by one shared loading flag.
A lightbox gallery with three items, two images and one video, each with a caption and some with meta text.
The install prompt in iOS mode, showing add to home screen instructions inside a reserved stage box.
The install prompt in native mode, triggered by a stand-in beforeinstallprompt event fired on mount.
A record list of three apps with an avatar identity, scopes, install count, status chip, created date and a row menu.
A three column record list of webhooks with no actions slot, so there is no trailing menu track.
The same record list inside a narrow slot, to show it stacking because the list reads its own width.
A grouped chat thread: two incoming bubbles from one sender with a name and avatar, then an outgoing read bubble.
Four outgoing bubbles, one per delivery state: pending, sent, delivered and read.
An incoming bubble with a reply quote at the top and two reaction chips under it.
An inbox of four conversation rows: unread count, pinned, muted, typing, with the selected row highlighted.
Two voice message players: one with a waveform from peaks, one with flat placeholder bars.
A media grid of six items (images, a video, a document) showing four tiles and a +2 overflow that opens the gallery.
A windowed chat history of 40 messages that loads 30 older ones at the top without moving the view.
A LoadingBoundary around a suspending report with a fast (100 ms) and a slow (1.5 s) load button.
A card that fades in while rising 16px into place, replaying on a loop only while it is in view.
A headline whose words rise out of a clipping mask one after another, 70ms apart. The unsplit sentence stays the accessible name; the split words are aria-hidden.
A line of monospace text that decodes from random glyphs, locking one letter every 55ms from left to right. It re-runs on every loop and again on hover or focus.
A KPI value made of digit columns that slide to the new digit, the ones place first and each column 60ms after the last. It cycles through values on its own; typing a number rolls it.
A row of partner names sliding left forever at a constant speed, with a seamless loop. Hovering or focusing any name pauses it; Back and Forward buttons nudge it once you take over.
A prompt that types itself at 55ms per character, holds for 1100ms, then deletes at 28ms per character while a caret blinks. Typing in the field below takes over the line.
A heading painted with a brand gradient and a light band that sweeps across it in 2200ms. Once you move the pointer or press arrow keys the band follows you.
A KPI that counts from 0 to 12,480 in 1400ms with an ease-out-expo curve, so the last digits settle slowly. A Count again button replays it on demand.
A two-line headline that sharpens from a 12px blur while rising 8px, each line 160ms after the previous. The sentence keeps one accessible name; a button replays it.
A feed of cards inside a scroll container: each row fades in and rises 24px as it enters, a short stagger between rows that arrive together.
Tiles tied to their own position in the scroll area: opacity, rise and scale advance exactly as far as the tile has entered, in both directions, with no JavaScript when the browser supports view timelines.
Three layers (sky, ridge, foreground) plus a caption move at different speeds while the container scrolls, so the scene gains depth. Native scroll timeline, with a scroll listener fallback.
A 4px bar stuck to the top of an article fills from left to right as it is read, with a percentage readout, tied directly to scroll position.
Vertical scrolling inside a pinned frame slides a row of four step cards sideways, with a progress bar underneath. The page scrolls down; the content moves across.
A pinned media panel on the left changes its figure and caption as each step on the right scrolls through the middle of the frame; inactive steps dim to 40%.
A revenue figure counts up from $0 to $48,210 while a line chart draws itself, both tied to the container's scroll position; scrolling back reverses them.
A pill button that leans toward the pointer inside a 72px range, pulled by a Spring and released on leave.
A button that scales to 0.94 on press and overshoots past 1 on release before settling, driven by a Spring.
A sun icon that morphs into a moon: a mask circle slides over the disc to bite it into a crescent while the rays rotate and shrink away.
A like button whose heart pops to 1.45 and throws eight particles outward while the count ticks up; aria-pressed carries the state.
A destructive button that only fires after a 1.2 second hold, filling a progress ring; releasing early cancels and drains the ring. Space and Enter work the same way.
A copy button whose two sheets scale away while a check mark draws itself, then it reverts after 1.6 seconds.
Tapping Add to cart sends a dot flying from the button to the bag, then the badge count bumps with an overshoot.
A stat card that leans up to 10 degrees toward the pointer in 3D and settles flat on leave, driven by a Spring.
A switch whose thumb stretches to 1.3 on press and overshoots into place on release.
A plan cover that morphs from a list tile into the detail card through the View Transitions API, with a plain crossfade when the API is missing.
A sortable list whose rows slide to their new position instead of teleporting when the sort changes (First, Last, Invert, Play).
An FAQ accordion whose panels open and close with a spring on their height, overshooting slightly before they settle.
The package Tabs with one pill that slides and stretches under the active tab instead of each tab repainting its own background.
Toasts that slide in from above, stack with a depth cascade (each older one lower, smaller and dimmer) and leave when dismissed.
A bottom sheet that springs up over its page, follows your finger when dragged down and either dismisses or springs back depending on distance and speed.
Filter chips over a list: rows that no longer match shrink and fade out, survivors slide into the gap, and the total counts to its new value.
A pricing grid lit by a soft brand spotlight and a grid of fine lines that only shows inside the light; the light eases toward the pointer.
A grid of dots where a click sends a wave outward: each dot swells and fades back after a delay equal to its distance from the click.
A KPI card on a gradient field whose hue and angle drift slowly through registered CSS custom properties; the pointer takes over and paints it.
A before and after compare slider: a handle clips the old design over the new one, and a spring snaps it to 25%, 50% or 75% on release.
A chain of 14 dots that eases after the pointer, each one shrinking and following the dot ahead; autoplay traces a looping path.
A hero block whose eyebrow, headline, copy and buttons enter one after another, each rising 14px and fading in, 90ms apart.
A payment card that leans up to 10 degrees toward the pointer on a spring while a soft glare slides across its surface.
Five checkboxes where Shift+click selects the whole range from the last clicked row, using the forwarded onclick and data-testid.
A FileUpload without its built-in list, opened from an Add files button in the section header; picked names are listed by the page.
Two inline TextFields whose label is kept for screen readers only with hideLabel, plus native maxlength and a bound ref.
A view menu with two checkbox items and a radio group for the sort order, kept open while options change, with the current state shown below.
An item menu with Rename, a Color submenu, a Move to submenu and a destructive Delete, reporting the last action.
A dashed button area that opens a Rename, Duplicate, Delete menu at the pointer on right-click, or from the keyboard with Shift+F10 or the ContextMenu key.
A multi-select Combobox with removable chips, starting with two labels selected and echoing the array below.
A multi-select Combobox that offers a Create row for text that matches no tag, and adds the new tag to its options.
A CommandPalette whose async `search` returns grouped invoice and customer records after a simulated 600 ms server delay.
A checklist whose rows reorder by dragging a grip, by touch press-and-hold, or with the keyboard (Space, arrows, Enter).
A three-column board: cards reorder inside a column and move between columns by mouse, touch or keyboard.
Task chips dragged from a tray onto weekday drop zones, with a dashed highlight while a chip is over a day.
A DataTable of tasks grouped into collapsible sprints, with a resizable Task column, drag-to-reorder rows between groups and a button inside a cell.
Tabs with variant="line": bare text tabs with an underline on the active one, used as a view switcher with no panels.
A drawer without a title whose own header carries the item key, a heading and a close button; aria-labelledby names the panel.
A destructive alert dialog with a rich description and a TextField body; Confirm stays disabled until the key is typed.
A button showing the chosen date that opens a popover holding a calendar; picking a day closes the popover.
An app shell whose panel starts at 280px for long item names and has a drag handle on its edge.
App shell panel rows with a color dot, a neutral count, a per-row actions menu and drag-to-reorder.