Changelog
Additions and updates to Smallest UI, grouped by the day they landed.
September 13, 2026
September 6, 2026
Proportional Slider splits a fixed total across n colored segments with draggable dividers, read-only mode, onValuePreview for live drag sync, and setSegmentValue for external inputs (suffix strategy keeps earlier fields fixed; trailing segments absorb the remainder).
Added Proportional Slider
12:45 PM·Aditya Induraj·Commit
Searchbar ships field and expand variants. Expand is an icon-only control that grows left on focus with a masked placeholder and fixed leading icon, sized to match md controls.
Added Searchbar
12:15 PM·Aditya Induraj·Commit
Aperture adds Corner, Eclipse, Diagonal, and Prism voice choreographies, ambient motion, simulation input, and analytic duotone materials via look.secondaryFill. Iris is removed; Converse and Playground docs cover mark selection and duotone toggles.
Affected Aperture
12:15 PM·Aditya Induraj·Commit
Drawer supports showCloseButton on DrawerContent and separated on DrawerFooter for action bars with a top border. Docs add nested width peek examples.
Affected Drawer
12:15 PM·Aditya Induraj·Commit
September 3, 2026
Dropdown rows now support size="sm" | "lg" for large leading/trailing media, and interactive={false} for identity headers that should not highlight or close the menu. Item stacks use a 1px gap. Docs cover account menus and scrollable workspace switchers.
Affected Dropdown
11:40 AM·Aditya Induraj·Commit
September 2, 2026
Columned Lists now keep a 1px neutral-100 gutter around the elevated panel. The Frame well stays 17px and the list surface stays 16px so the radii remain concentric. Tables are unchanged and stay flush.
9:12 AM·Aditya Induraj·Commit
New Multiline Chart time-series recipe (top bar → plot → legend) and BarList rankings, with chart color tokens and docs.
Frame defaults to a flush 17px neutral-100 well. Table keeps its own 17px / 16px neutral-200 stroke shell with pinned-column fades. Lists stay on shadow-sm without a stroke fill, and column headers use 16×12 padding.
Also ships a Slider secondary variant, InputGroup invalid indicator, and small Breadcrumb / menu polish.
Added Multiline Chart, BarList
8:30 AM·Aditya Induraj·Commit
August 29, 2026
Shortcut chords on Button now share a single Kbd chip (4px horizontal padding) instead of one pill per key. Trailing keys use the same compact right padding as trailing icons.
Primary chips use a solid neutral-800 fill with white glyphs, stepping to neutral-700 on hover/pressed. The Keys docs preview no longer hijacks Enter/S keypresses.
Affected Button, Kbd
5:30 AM·Aditya Induraj·Commit
August 28, 2026
Column labels on Lists with columns used 16px padding on every side. The header well is now 16px horizontal and 8px vertical.
Affected Lists
7:55 AM·Aditya Induraj·Commit
August 26, 2026
Adds the Notification primitive (item, tray, empty states, bell count pill) skinned to Smallest tokens.
Ships a docs page with Playground, Item, Tray, and Empty previews, plus nav/search/guidance registration.
Includes count-pill motion and tray resize transitions in globals.css.
Added Notification, Navigation
Misc Utilities
August 23, 2026
Production never published #6 because next build failed typecheck on the pill padding Table (satisfies typeof CONTENT_SLOT_PADDING) and a nullable shape passed into contentSlotPadding.
Use a shared padding Table type and accept a nullable shape so Vercel can deploy the Keys work to smallest.design.
Affected Button
Add a keys prop on Button so shortcut chips sit beside the Label (string = one Chip, array = one Chip per key).
Teach Kbd to resolve chords into icon tokens and size square/wide chips; skin Chip fills per Button variant.
Add a Keys docs playground with Mac/Windows frames, and make Stepper navigable when the preview needs to step through shortcuts.
Input, Textarea, and InputGroup shake once when they first become invalid (6px / −6px / 4px over 280ms) and fade the danger ring in over the same beat. Static / default-invalid examples skip the mount-Frame shake.
FieldError expands with a CSS grid clip (0fr → 1fr) plus opacity, so the message eases the Field open instead of snapping. Reduced motion keeps the ring and copy and drops the shake.
Input and Field docs share one live Email preview that starts invalid (ash@smallest). Fixing the address dismisses the message; breaking it and blurring shakes again.
Tooltip is translucent black glass only — the light surface is gone. Title, a two-line description, and a single action sit in a 200px prompt. DocumentationCallout is a tertiary info icon next to a label; View docs opens href and, if PostHog is already on the page, captures documentation_callout_clicked with source pagename/heading.
Affected Tooltip
3:43 AM·Aditya Induraj·Commit
August 21, 2026
Button and Command detect leading and trailing icons by component name, which production minifiers mangle — deploys fell back to symmetric 12px padding on every button. Icons now pin explicit displayNames, so content-slot padding (10px on the icon side) survives minification.
12:00 AM·Aditya Induraj·Commit
August 20, 2026
Frame is a neutral-100 well with an elevated white panel. default uses a 4px inset; thin uses 2px. Lists with columns and Tables render through Frame.
Hover Card previews rich content on hover or focus via Base UI PreviewCard, using the same elevated white surface as popovers with delay and placement controls.
Gauge is rebuilt as a Geist-style 0–100 meter with sm/md/lg/xl sizes, threshold colors, equal arc priority, indeterminate sparkle, and center icons.
Tooltip drops the arrow, keeps dark as default, adds a light popover-style variant, and documents sides, grouped providers, and adaptive morphing for shared popups.
Input-family controls match button icon padding: reduced outer pad on leading/trailing icons and an 8px icon-to-label gap across InputGroup, Calendar, Select, and Combobox triggers.
Shadows adds border-strong tokens and documents Default, Thin, and Sheet scales. Docs and components prefer Neutral primitives over older semantic surface aliases.
Added Frame, Hover Card
Affected Gauge, Tooltip, Input, Calendar, Select, Combobox, Lists, Table, Shadows
4:35 PM·Aditya Induraj·Commit
August 19, 2026
Chip covers md, sm, and inline variants. md and sm use shadow-sm fill that inverts the input surface (white on primary fields, neutral-100 on secondary). Inline chips sit in body copy at 20px with neutral-100 fill, border, and baseline alignment.
Combobox filters from the control only — popup search was removed. Enter selects the highlighted match; section labels hide while typing; empty results render as a single non-interactive list row. Multiselect chips pick up inverse fill and 6px horizontal inset when chips are present (12px when empty).
Tabs primary selected indicator now uses shadow-sm instead of a custom drop-shadow filter.
Dropdown, Select, and Combobox multiselect rows share MenuCheckboxIndicator. List rows use uniform p-4 padding; Entity title and content accept an optional weight prop. Docs Preview blocks are full width with 24px inset across component pages.
Stepper ghost keeps the rounded track and horizontal padding; only the neutral fill is removed.
12:54 PM·Aditya Induraj·Commit
Command is a searchable palette with compact and entity rows, inset search, ScrollArea list, keyboard footer, and nested Sonner-style stack animation. Docs search lives in a 36px header field; ⌘K opens browse-by-default results with two-line variant hits and a copy action on color selection.
Navigation puts Introduction and Changelog first, Foundations in Brand → Typography → Colors → Shadows → Icons → Flags → Easings order, and Components alphabetically. Easings and Flags docs were added; the header changelog icon and introduction hero rule were removed.
Button padding is unified by size with runtime content-slot detection (−2px on the icon side). IconButton sizes map to square recipes; SplitButton keeps a full-height chevron seam. Icon sizing by button size remains in progress — local 16px overrides are documented in AGENTS.md.
Affected Button, Flags, Scroll Area
11:15 AM·Aditya Induraj·Commit
Table keeps headers in the gray well above a rounded white body. Pinned start/end columns are frozen panes outside the scrollport so they stay put at scroll extremes, with a 16px body radius and a single neutral-200 frame.
Overflow uses the original per-cell fade: 32px linear gradient from the pin surface (neutral-100 in the header, container in the body, hover/selected to neutral-50) to transparent, shown at 150ms when that edge overflows. The start pin keeps a 1px divider; the end pin does not.
Affected Table
6:44 AM·Aditya Induraj·Commit
Adds a floating search pill to the docs, centered in the main column, opened with ⌘K / Ctrl+K. Escape or a click outside closes it. The copy control copies a page import, an in-page snippet (variant="primary", a type import), or a color hex.
Search is prefix / word-start matching, not substring. It finds pages, in-page types and variants (IconButton, RadioCard, primary, sizes, shapes, sections), and color tokens (palettes + semantic groups; Colors after 3 letters, or immediately for # / --). Color queries rank Colors first.
Results stay one row height: pages use title + description; deeper hits use the type/variant as the name with quiet context (type · Radio); Colors keep a swatch. Doc sections now have stable ids so Enter jumps to the matching heading.
Accordion hover covers the full open item instead of only the header, and expand/collapse uses measured height with --ease-out (200ms) plus a matching chevron rotation.
Buttons press in to scale(0.97) at 160ms with --ease-out; icon and split buttons inherit it, text links skip the scale, and reduced-motion drops the transform.
Pills are 4px roomier (h-7 / px-3) so labels have more internal padding.
August 18, 2026
Refine selection and menu components.
2:44 PM·Aditya Induraj·Commit
Update design system components and foundations.
Added Accordion, Brand, Voice Avatar
Affected Alert Dialog, Breadcrumb, Button, Combobox, Dropdown, Filters, Lists, Scroll Area, Select, Shadows, Slider, Table, Badge, Choicebox, Dialog, Drawer, Input Group, Input, Textarea, Toast, Toggle, Navigation, Colors
Misc Utilities, CI
12:06 PM·Aditya Induraj·Commit
Reskin dialogs and add Alert Dialog
Added Alert Dialog
Affected Dialog, Field, Fieldset, Label, Navigation
8:19 AM·Aditya Induraj·Commit
August 17, 2026
Add Smallest design system docs site and component library.
Added Autoheight, Avatar, Breadcrumb, Button, Calendar, Checkbox, Code, Colors, Combobox, Dialog, Drawer, Dropdown, Entity, Field, Fieldset, Filters, Flags, Gauge, Input, Label, Lists, Middle Truncate, Pickers, Pills, Radio, Scroll Area, Shadows, Slider, Switch, Table, Tabs, Textarea, Toast, Toggle, Tooltip, Typography, Icons, Badge, Checkbox Group, Choicebox, Code Block, Flag, Heading, Icon Button, Input Group, Popover, Radio Group, Spinner, Split Button, Text, Navigation
Misc Utilities, CI
9:44 PM·Aditya Induraj·Commit