- ChangedAt 720px and below, the
AppShellband holds the brand mark, the page title on one line, search and Menu, and nothing else.Shell - Added
DrawertakesinitialFocusRef, asModaldoes, to choose the control that takes focus on open.Drawer - Added
AppShelltakesheadControl, one glyph control in the sidebar head before the fold button, drawn as the fold is with no border and no fill.Shell - Added
DrawertakesheaderActions, controls that stand in its header before the close button.Drawer
- ChangedOn a phone narrower than 560px, the
AppShellband is one row of bare 40px icons with no border and no box: Menu, the brand mark, the band control, search, the theme switch and the account.Shell - DeprecatedReact
AppShellno longer drawssearchShortLabel, because the phone search trigger shows only its icon.Shell
- FixedOn a screen narrower than 560px, a
DatePickerpopover stays inside the screen.DatePicker - FixedOn phones, a menu
Dropdownin theAppShellband no longer draws over the theme switch.AppShellDropdown - ChangedOn a phone narrower than 390px, the
AppShellband hides its brand mark and shows search as a 34px icon button, so a band control of up to 108px keeps its full label.AppShell
- FixedOn a phone with touch, a tap on the edge of an
AppShellband control or a stackedDatePickershortcut no longer reaches the control next to itAppShellDatePicker
- BreakingThe vanilla HTML factories, their initializers and the vanilla overlay stack are removedButtonCardSegmentedDropdownDrawerConfirmCommand paletteTablePaginationStat bandTabsNavigationTooltipTopbarToast
- ChangedThe React components are the only kit: every story, gate and the Storybook runs on them.
- ChangedThe dropdown containment browser check now measures the React Dropdown against the one Storybook build, including long labels and moving anchors.Dropdown
- ChangedA drawer row or React
KeyValueListrow whose value is a select, a text field or a dropdown now lines its label up with the control by itself.Drawer - ChangedThe modal title is now semibold in the strong ink, the same as the drawer title.Modal
- ChangedThe select chevron now draws the same shape and 1.6px stroke as the Dropdown chevron.SelectDropdown
- ChangedAt 720px and below, a dropdown panel keeps the 16px page margin from the edge of the view instead of 8px.Dropdown
- FixedIn the light theme, a hovered dropdown or version row now shows a quiet fill.DropdownTopbar
- FixedThe focus ring of a dropdown row draws inside the row, so the edge of a scrolling panel does not clip it.Dropdown
- FixedA focused text field, text area, select or Dropdown search field now shows only the accent ring.InputSelectDropdown
- FixedThe CommandPalette search field now shows the accent ring inside its row while it has keyboard focus.CommandPalette
- FixedReact
FilterBarshows a chip's remove mark, andClear all, only when a chip has a value.FilterBar - FixedA focused scrolling table with a sticky header or a pinned column shows its focus ring on all four sides.TableAppShell
- FixedThe last column of a table, its header and the table edge now share one right edge.Table
- FixedIn forced colours, the Dropdown chevron stays visible, a hovered dropdown or version row shows a border, and a scrolling table keeps a distinct focus band.DropdownTopbarTable
- ChangedThe helpers that the React components take from the vanilla files move to
src/logic/: the dropdown placement, the code tokenizer,nearestSection,themeIconandACCOUNT_NAV.
- AddedReact
AppShelltakeslayout="rail"for the side rail, with the account at the rail foot and only Sign out in its menu.AppShell
- AddedReact
Toasttakescollapse.Toast
- AddedThe React landing page story shows the strategy page with kit cards, controls and a phone stack that starts with Agent-ready.Landing Page
- AddedReact
AuthShellcenters a sign-in card and places the brand above its content.AuthShell
- AddedReact TopBar, ViewSwitch, VersionSwitcher and AccountMenu build the strategy top bar from slots, with the existing look and the two phone rows.Topbar
- ChangedThe current view in the Deck and Text switch has the accent fill of a chosen Segmented option.Topbar
- ChangedThe version button shows only the chosen version name.Topbar
- ChangedThe version button chevron is centred on its text.Topbar
- AddedReact
DataTabletakeszebra,hover,stack,rowState,footerandcaption, and a column takesrowHeaderandcell.DataTable - ChangedA revoked table row now shows only the word, with no strike line.Table
- AddedIn a stacked table, a cell with
data-labelshows that label before its figure, and a stacked.is-targetrow paints one tint.TableDataTable - ChangedTable row hover now uses a quiet neutral fill in vanilla and React.TableDataTable
- AddedReact
Feedbackshows a "Give feedback" pill on a text selection and opens a form with the quoted passage and a note.Feedback - FixedThe error line in the feedback form now clears WCAG AA contrast in the dark theme.Feedback
- ChangedThe feedback form uses neutral ink for its section title, icon and quote mark.Feedback
- AddedReact Footer provides full, slim and app layouts with brand, links, legal and switcher parts.Footer
- FixedThe LinkedIn social mark now has a visible solid shape in React and vanilla footers.Footer
- AddedThe React invoice showcase demonstrates upload, review, editing and recovery with sample data.
- AddedReact
FileDroptakestitleto show a dashed drop area for an empty page.FileDrop - Added
.ui-card__title--mutedranks a supporting card's title below its neighbour.Card - ChangedThe invoice showcase no longer offers Undo after Save.
- ChangedThe story CSS gate in the React workspace now reads every stylesheet in the showcases folder, also when its own module imports it.
- ChangedBadges now include the neutral variant class when no variant is supplied.Badge
- FixedAt 720px and below, a shell band without a menu starts 16px from the left, level with the page column.Shell
- ChangedA dropdown in a Modal or Drawer body scrolls the body to show the whole panel with its field's label, and a body too short to hold it opens the panel over the body instead.DropdownModalDrawer
- AddedA person mark:
avatar()and ReactAvatardraw first and last initials on one of eight fixed hues chosen from the person's key, at 24 or 32 px.Avatar - AddedDropdown items take
avatar: { key, name, src }, and aselectleads its trigger with the chosen mark or a dashed ring with the placeholder.Dropdown - ChangedThe top bar account button draws the avatar part at 32 px, with its hue from the account email.TopbarShell
- AddedReact Toast notices accept
compact,dismissibleandtimer.Toast - ChangedThe auto-dismiss timer line now stops while a notice holds focus, not only while the pointer is over it.Toast
- ChangedAt 720px and below, both shells replace the icon strip with a top band, a menu button, and the brand mark.Shell
- AddedA Spacing guideline sets two gaps for a page: 8px inside a group and 32px between groups, with 20px inner gaps for small controls on a touch phone.Guidelines
- AddedA Spacing guideline sets two gaps for a page: 8px inside a group and 32px between groups, with 20px inner gaps for small controls on a touch phone.Guidelines
- AddedA checkbox with
indeterminateset shows the checked fill with a short dash.DataTableCheckbox - ChangedIn the dark theme, the tick, the dash and the radio dot of a selected box use the ink that a selected Segmented pill uses there, so they keep their contrast on the lighter accents.Checkbox
- FixedIn forced colours, an unavailable checkbox, radio or selection box and its mark use GrayText, and the radio dot stays visible.Checkbox
- AddedReact NavTabs and Breadcrumbs provide route navigation with the existing underline, pill, and breadcrumb styles.Navigation
- AddedNavTabs and Breadcrumbs take renderLink, so a router can own route changes, and the main entry now exports safeUrl, observeNavFit, revealCurrentNav and revealFocusedNav for callers that assemble their own navigation markup.Navigation
- ChangedThe current pill tab uses an accent label on its existing soft accent fill.Navigation
- FixedTab rows scroll within narrow containers without widening the page, moving off the page gutter or lifting the active underline off the row rule.Navigation
- FixedA tab row that does scroll now scrolls to a link the keyboard lands on, so its focus ring clears the scrolling edge instead of being cut off at the end of the row.Navigation
- ChangedThe Colour and theming guideline limits selected navigation to one accent signal.GuidelinesNavigation
- AddedReact
Dropdowntakesaria-describedbyandaria-invalidand puts them on its trigger.DropdownField - Fixed
field()around adropdown()now names the trigger with the label and then the value, describes it with the error or hint, and marks it invalid while the error shows.DropdownField
- FixedSelected items and their badges, shortcuts and folded-row names use system colours in forced colours.NavigationSegmentedPaginationCommandPalette
- FixedPortalled dropdown menus open on the opposite side when their configured side has less room than the height floor and the opposite side has more.Dropdown
- FixedThe current page in Pagination uses the same accent fill and contrasting ink as a selected Segmented pill, in vanilla and React.Pagination
- FixedEnabled selected Segmented pills use the accent fill with contrasting ink in vanilla and React.Segmented
- AddedReact
Checkboxtakes ahintthat shows under the label and is linked to the box.Checkbox
- FixedThe product topbar uses two rows on phones.Topbar
- ChangedFive guideline rules no longer link to the deployed site.Guidelines
- ChangedThe React AppShell band theme switch now offers dark, light and auto, like
themeToggle()and ReactThemeToggle, and follows the system live in auto.AppShellThemeToggle
- FixedBoth AppShell implementations place the rail brand, navigation and fold control inside a named Sidebar region.AppShell
- FixedDatePicker puts
idon its trigger button instead of its outer wrapper, so aFieldlabel now names and focuses the trigger directly, with noariaLabelneeded.DatePickerField
- AddedReact Tooltip accepts a label, value and detail, with a preferred top or bottom placement.Tooltip
- ChangedTables inside fit-content cards size to their content, and their pagers wrap within that width.TableDataTablePagination
- ChangedFilter bars accept an optional link clear action.FilterBar
- FixedCallout status tones now use the circled glyphs toasts already use:
circleCheck,circleXandcircleAlert.Callout - FixedBadge and pill tones that report no statusBadgeTopbar
- AddedUse
--chip-neutral-fillfor a chip whose tone reports no verdict. - FixedThe light success chip ink is deeper, reading 7.17:1 on its own fill instead of 5.29:1.BadgeCalloutToast
- FixedThe Soon badge and pill take body ink instead of accent ink.Badge
- FixedThe dark danger chip ink is lighter, reading 6.30:1 on its own fill over a floating panel instead of 4.23:1.BadgeCalloutToastTable
- ChangedThe filter bar’s clear button is labelled
Clear all, notClear all filters, and the React bar’s add controlFilter, notAdd filter.FilterBarReact FilterBar - AddedA labels guideline: say the noun once.
- FixedFilter chips and the add control use the weight of secondary controls, and the remove mark uses glyph ink.React FilterBarFilterBar
- FixedThe add-filter control puts its words on the page, not on a grey block.React FilterBar
- FixedClearing a React filter bar no longer loses the focus.React FilterBarFilterBar
- AddedReact FilterBar draws the way to add a filterReact FilterBar
- AddedfilterPanelRow(dd) is published.DropdownFilterBar
- AddedReact Chart draws monthly bars with a line, a bridge from a starting total to a result, and a sparkline at text size for a stat band trend slot.React Chart
- AddedThe main entry exports chartScale, bridgeWalk and pointTarget, the arithmetic behind those shapes, so a surface that draws them without React asks the kit instead of writing its own scale and its own pointer targets.
- ChangedNothing the kit renders changes.
- FixedBelow 720px a pinned identity column keeps each row name on one line instead of hiding it.Table
- Added
--ui-table-identity-maxretunes that cap on a consumer table without restyling the kit cell.Table - AddedA table cell marked
ui-table__linkedholds one link and nothing else, and the kit gives that link the whole cell.Table - AddedReact
DataTablecolumns takelinked.Table - FixedA React sortable header in a capped pinned column keeps its sort caret.Table
- FixedA table marked
ui-table--stackwraps its identity name again.Table
- FixedDropdown triggers now keep the live edge and the disabled edge separate.Dropdown
- AddedDashboard and report guidelines ship linked Finance examples with filters and a period control that narrows the ledger rows, and the Money in, Money out and Net result figures follow the filtered and dated rows.
- AddedReport links keep the theme and accent, and a landed row shows its arrival highlight and the focus ring together.
- AddedFigure bands and report controls fit narrow screens.
- Changed
.ui-filter-bar__chipnow paints a surface and a--control-edgeborder, where it was transparent before, and this reaches every filter chip you already ship.FilterBar - ChangedAn unset chip’s name now reads in
--textat normal weight, where it read in--mutedbefore.FilterBar - Changed
.ui-app__main > h1with no.ui-app__subnow keeps a 32px bottom margin, reaching every title-only app screen you ship.Shell - Added
.ui-toolbar--splitlays out a control row whose last control sits at the row’s end. - Added
.ui-table__pairlays out a cell that stacks a reference and a status.Table - Added
.is-targetmarks the row a reference landed a reader on.Table - Added
statBand’sbasisIdpoints a band at comparison text stated elsewhere.StatBand
- AddedReact Segmented accepts size="sm" and block for compact and full-width choices. block composes with the underline appearance; under underline, size="sm" changes only the type size.Segmented
- AddedThe app shell’s band search takes a short label for phone widths —
shortLabelinside the vanillasearchoption, andsearchShortLabelbeside a newsearchLabelon ReactAppShell.Shell - FixedBelow 560px the band trigger no longer truncates mid-word.Shell
- FixedOn a phone, under a finger, the band’s palette trigger and its theme switch reach the 44x44 tap floor.Shell
- FixedThe band’s theme switch keeps its square when the band is crowded.Shell
- AddedWhile the React AppShell draws its phone bottom bar — below 560px, for a section list with somewhere to go — it publishes
--ui-app-bottom-clearanceon the root, including the safe-area inset. - AddedA batch-change showcase: proposed row changes with signed amounts and their booked month, a closed-period warning and Undo.
- FixedA pinned identity column draws its divider only where its region can actually scroll.DataTable
- AddedA table that scrolls sideways shows a soft shade on whichever edge still has columns behind it, and none once that edge is reached.DataTable
- ChangedA React AppShell draws its section navigation when the list has somewhere to go.AppShell
- FixedFloating dropdown panelsDropdown
- FixedThe topbar’s version switcher menu and account menu draw the kit’s focus ring on their own scroll region now, since the same cap makes both scroll by default rather than on request.Topbar
- ChangedThe Iconography and Button labels guideline pages read shorter.
- FixedA dropdown panel stays inside the viewport horizontally, in both the vanilla kit and React.Dropdown
- FixedA panel keeps that place while the page moves its trigger.Dropdown
- Added
--ui-dropdown-edgenames the gap a panel keeps from the edge of the screen, declared on.ui-dropdown__panelbeside the offset and the padding; set it to 0 for a panel flush with the edge, or wider for more room.Dropdown
- ChangedThe focus ring is one solid accent band with no glow, drawn as a real
outline1px off the control it marks.Focus - Breaking
--ringis anoutlinevalue now, not abox-shadowvalue.Focus - FixedA keyboard-focused current day or month in the date picker draws one accent band instead of two.DatePicker
- ChangedTwo things the old carrier forced are gone.FocusDropdownDrawerCommandPalette
- ChangedA focused control draws the band and nothing beside it.Focus
- ChangedA selected item is marked by a background highlight and never by an edge.SegmentedCommandPaletteDropdown
- FixedThose three marks are visible again on the light theme.SegmentedCommandPaletteDropdown
- FixedSix rules in the kit’s own Storybook draw the band againFocus
- ChangedThe sidebar rail marks the current row with a plate alone, and the plate is now a fill you can see.SidebarNavAppShell
- ChangedThe kit’s documentation is two reader pages instead of one specification:
docs/foundations.mdholds the tokens and the floors, anddocs/components.mdkeeps the catalogue and says what each component guarantees.
- BreakingThe React DataTable’s column pager is removed.DataTable
- ChangedA filter chip’s menu marks the value the chip is showing: the row takes a soft accent wash and keeps the kit’s 16px check.FilterBarDropdown
- Added
filterChipItems(filter)hands a chip’s menu the chip’s items with the chip’s own value markedselected, matching a row by itsvalueor by itslabelwhere it has none.FilterBar - AddedfilterPanelFit() and DD_MENU_FLOOR are published, so a second implementation of the dropdown asks the kit where a filter chip’s menu may sit instead of measuring its own.DropdownFilterBar
- AddedtransitionMs(el) is published from the motion helpers.Motion
- FixedAn open filter menu is readable again.FilterBarDropdown
- FixedA menu left open while the layout moves under it is re-fitted to the row it is now in.FilterBarDropdown
- FixedAn open menu now follows its chip when the chip in front of it changes size.FilterBarDropdown
- FixedClosing a filter chip’s menu no longer collapses it while it is still on screen.FilterBarDropdown
- FixedA selected option’s tick no longer reaches outside the panel that bounds it inside a filter chip.FilterBarDropdown
- FixedA keyboard-focused link on a folded sidebar rail draws the whole focus ring.NavigationSidebarNav
- Changed
npm run check:wordsmeasures the prose on each guidelines page and fails one that is over its word budget.
- ChangedReact
FileDropdraws remove as the kit’s small text button reading “Remove”, where it drew a wordlessx.File drop - AddedButton labels is a new guideline pageButton
- Added
iconOnlyNamessays which word a wordless control’s name may open with.Button - FixedA link in guideline prose takes the kit focus ring on keyboard focus instead of the browser’s own outline, in both themes.
- FixedAn underline segmented strip wraps onto a further row when its tabs do not fit, instead of keeping one row and scrolling.Segmented
- ChangedThe chosen tab in an underline strip is its own label and 2px of accent under it — no plate, no hairline, no upright rail.Segmented
- ChangedAn underline strip no longer draws a rule under its tabs.Segmented
- Changed
filterBarand ReactFilterBarshow the clear action only once a filter is applied, and draw it in the kit’s bordered skin without its fillFilter bar - FixedClearing the last filter, or removing the last chip, no longer leaves the focus on the filter bar itself.Filter bar
- ChangedAn underline tab takes its padding from the spacing scale and its height from the tap floor:
--space-3, andmin-height: var(--tap-min).Segmented
- AddedReact AccentPicker provides the four existing accent swatches as a controlled group.
- FixedThe selected accent swatch says so again: it carries a tick inside the circle, the same mark a checked box takes, in the kit’s ink for a saturated fill.AccentPicker
- Added
accentSwatchStyle(accent)returns the custom properties one swatch button carries:--swatch, the gradient its circle wears. - ChangedThe published type of
ACCENTSnarrows fromstring[]to a readonly tuple, so React can derive itsAccentunion from it.
- ChangedThe packaged manifest’s
testscript now ends a run with its ten slowest tests and files, and says which of them are over the stated budget.
- AddedStat band figures take a
captionfor context that is not a change, such as what a rate is a share of.StatBand - BreakingA stat figure with nothing to compare now shows its value alone, and keeps only the caption you gave it.StatBand
- ChangedA change now keeps its arrow and its number on one line.StatBand
- ChangedA band’s own caption is set at 13px rather than 11px, on the kit’s caption rank.StatBand
- AddedA component-choice guideline: group one category at a time.
- Breaking
accountShell()is removed, with the Showcases/Account preset screen that drew it.Shell - FixedBelow 720px the topbar’s version menu opens leftwards from its switcher, as the account menu beside it always has.Topbar
- FixedBelow 560px the topbar’s controls sit one spacing step apart, so the account avatar is whole on a 390px page.Topbar
- FixedA bare link in a table cell now gives a pointer the 24px target floor, through a layer that changes no layout.Table
- AddedGuidelines / Account and settings says where account and personal settings belong: in one modal over the product, its navigation beside the pane — above it on a phone — rather than in a full-width sheet with columns.Shell
- AddedThe drawer guideline now explains when a drawer fits and when a page does, with a rendered pair that edits one member’s access on a page and in a drawer.Drawer
- ChangedThe component-choice guideline sends a long form to a page rather than a drawer, which is what the drawer guideline says.
- AddedReact DatePicker picks one month, a range of months, one date, or a range of dates, from the dropdown’s own trigger and panel.DatePicker
- AddedReact FileDrop is the compact drop: at rest one row with the Upload button and the accepted types beside it, and a drop target painted only while a file is over the region it covers.
- AddedGuidelines / File drop sets seven rules for receiving a file
- FixedEvery box the kit scrolls now answers the keyboard with a focus indicator of the kit’s own instead of the browser’s outline.CardTableDropdownDrawerConfirmCommandPaletteModalShell
- Added
--ring-scrollis what a scroll region inside a surface draws: the shared ring’s own 1px gap and 2px band, drawn inward, without the halo. - ChangedA confirm’s consequence carries
--space-1of padding, so its focus band clears the glyphs the way a scrolling table’s does.Confirm - ChangedA scrolling table wrapper draws the inward band instead of the full ring, with the six scroll regions beside it.Table
- AddedTable footers are a supported surface: totals open with the strong rule, each footer label sits against the figure it names, and a label marked strong carries the weight across the whole row.Table
- FixedA final body row keeps its separator when a footer follows it; previously the last row of every row group lost its rule.Table
- FixedThe theme toggle shows the kit focus ring on keyboard focus instead of the browser’s own outline, in the vanilla topbar, React ThemeToggle and the React shell alike.ThemeToggle
- AddedA document review showcase walks one invoice through review, confirmation and the recorded result, and shows the preview loading, unavailable and refused-approval states.
- AddedDensity and accents gains a rule: emphasis follows consequence.
- AddedReact Card merges a caller
classNamewith the kit class instead of ignoring it, so a page can mark one card without hand-writingui-cardbeside its own.Card - ChangedThe packaged README is about half its old length and reads as plain English.
- FixedA pager’s page-size control keeps its compact width, padding, type size, radius and chevron offset in a React app.Pagination
- Changed
apliteni-ui/react/cssno longer repeats the kit’s form-control CSS.
- FixedA disabled select draws one chevron again, on its right edge, in both themes.Inputs
- FixedAn inline
.ui-codechip now paints whichever reading surface its container is not on, so an identifier keeps its chip inside a card, a panel, a drawer, a toast, a table cell and a callout.Typography - Added
--code-bgnames the reading surface an inline code chip paints.
- ChangedThe status-label guideline no longer asks a status badge for a glyph or a dot: its word and its tone fill are enough.
- ChangedThe Accessibility minimums page now draws the focus ring, the disabled pair, the status badge and the measurable ground as do/don’t specimens instead of describing them, and its prose is a line or two per point.
- FixedA focus ring drawn inside a Storybook specimen stage reads its gap from that stage instead of the page behind it, so the documented ring is the one the kit paints.
- FixedSnippet copy controls and keyboard-focused code use the shared focus ring in vanilla and React, including the reveal variant.
- AddedReact Snippet accepts highlighted token children and can omit its copy button with copy={false}.
- AddedSyntax highlighting covers JSON and TypeScript as well as shell. hlCode(raw, lang) returns the HTML and codeLanguages lists what lang accepts; hlShell is unchanged.Snippet
- ChangedThe Snippet copy button is icon-only. copyLabel is now its accessible name and its tooltip rather than visible text, so pass something that names what is copied — it defaults to “Copy code”.Snippet
- AddedBelow the phone step a coarse pointer gets a transparent 44px tap zone outside each small control, so a finger reaches the floor and no control is drawn any bigger.ButtonSegmentedTabsDropdownPagination
- ChangedBelow the phone step, to a coarse pointer, the kit’s rows of small controls open to
--tap-gap(20px) so two zones fit between their drawn edgesSegmentedTabsPaginationTableToastConfirmDrawer - AddedA zone grows only where a container has opened the room for it:
--tap-clear-xand--tap-clear-ydefault to zero, and a container that opens declares what it gives. - Added
--tap-min(44px) is the target the zone reaches for and--tap-aa(24px) the WCAG 2.5.8 target the kit holds at every width. - AddedTwo Accessibility minimums rules: the tap zone, and the space two neighbouring small controls need before either can reach the floor.
- BreakingIn the light theme a card, the shell's rail and every floating surface no longer draw the neutral hairline.CardShellDropdownDrawerModalToast
- AddedFour level tokens name which edge each level draws —
--card-edge,--rail-edge,--float-edge,--float-edge-inner— so a sheet never has to ask which theme it is in. - ChangedA line that divides two regions of one surface stays a line in both themes: a card's rows, a table's rules, the rail's head band, the topbar.
- FixedThe signed-out auth card, the success panel and the feedback composer paint the floating step but never took the floating treatment, so they were the only flat surfaces left on it.ShellSuccessFeedback
- AddedReact SearchField renders the kit’s search input group for a toolbar: a search glyph, a native search input and an accessible name instead of a visible label, so the row keeps the height of the unlabelled controls beside it.
- ChangedThe Empty states showcase draws its filtered list’s search box with the kit’s standalone search field, the part React’s SearchField renders, so the box has a name and the search glyph.
- ChangedA toolbar’s text field takes the whole line at 560px and below, instead of holding its 6rem basis while narrow controls share the line and cut its placeholder off.
- ChangedA FilterBar chip shows the chosen value by itself instead of printing the field’s name beside it, so a bar of chips reads as the values in force.FilterBar
- AddedfilterChipText, filterChipName and filterChipUnset are exported from the entry: the one place that decides what a chip prints, what it is called and whether it counts as unset.FilterBar
- FixedA filter bar no longer widens the page on a phone.FilterBar
- FixedA link inside a table cell shows the kit focus ring on keyboard focus instead of the browser’s own outline.Table
- AddedReact Success, SuccessPanel and SuccessCheck provide the confirmation layouts and the check mark.
- ChangedSuccess confirmations now sit on a plain elevated card.Success
- ChangedSuccess confirmations carry one title and at most one short line.Success
- ChangedThe check mark is now an unmodified Lucide path in the success colour, with no filled disc or burst ring behind it.Success
- AddedReact Checkbox supports checkboxes and grouped radios, and Switch renders a native checkbox with the existing switch track.
- FixedA disabled checkbox or radio now paints as unavailable instead of rendering identically to a live one, and hovering it no longer lights its border with the accent.
- AddedReact SidebarNav supports sections, one level of nested disclosure, counts, disabled and danger rows, collapsed presentation, artwork and footer slots, and router links.
- ChangedThe rail’s collapse control draws Lucide panel-left-close while the rail is open and panel-left-open while it is folded, so the mark says what the press will do; the seam no longer travels.AppShellSidebarNav
- ChangedNothing the kit renders changes.Shell
- FixedIconography guidance allows the shell’s theme toggle, sidebar toggle and collapsed-rail links to drop their visible labels.
- AddedReact TextField supports password and search, takes a decorative glyph by name in
icon, and forwards its ref to the input. - FixedA search field with a value no longer shows the browser’s own clear button next to the kit glyph.Input
- AddedReact Pill and StatusDot use the existing metadata pill and live dot styling.
- AddedThe main entry now ships TypeScript declarations and shared numeric and delta formatting helpers.
- ChangedReact FilterBar now uses React Dropdown and table values render native JSX while retaining their classes and controlled behavior.FilterBarTable
- FixedDropdown state and neutral badges use soft fills with similar visibility in both themes and match the standard badge size, without outlines.
- FixedReact KeyValueList uses its container’s spacing in modals and other layouts.
- FixedSegmented controls accept full accessible labels, wrap long pill strips, and keep their content width in grid layouts.
- AddedReact tables offer column navigation when they overflow, and tables inside cards share the card surface.
- FixedDense tables inside a card scroll wrapper align their first column with the card title.
- FixedReact StatBand accepts a tooltip on each delta and can reference a shared comparison description through basisId.
- AddedA period-selection showcase with six months, loading states, labelled status marks, and signed cashflow comparisons.
- AddedReact Tooltip adds short explanations on hover, keyboard focus, or touch, using the existing tooltip styling.
- FixedReact fields retain their hint beside validation errors.
- FixedReact toast stacks publish their occupied height so floating feedback controls can stay above every notice.
- ChangedThe feedback showcase uses the shared field surface and a neutral callout for failed sends.
- AddedReact Timeline now supports person, rule, and reversal kinds, plus relative timestamps for the newest event.
- FixedTimeline examples now use the shared card reading surface instead of the grey canvas.
- ChangedModal now uses a borderless dialog with a deeper backdrop, a compact header, and a scrolling body so the title and actions stay reachable on short screens.
- ChangedComponent guidance allows content-sized modals for short forms and drawers for long forms.
- ChangedThe light theme re-picks its surface colours
- ChangedText controls, neutral badges, code blocks and navigation use reading surfaces in both themes instead of grey fills.
- Changed
.ui-cardpadsvar(--space-6)on every side, where it paddedvar(--space-6) 26px, and.ui-card--pad-smpadsvar(--space-5) var(--space-6). - ChangedA tinted card stays above the page.
- ChangedA link inside
.ui-tabletakes the row's ink and underlines on hover, instead of the accent. - Fixed
.ui-segno longer stretches inside a flex or grid parent;--blockand--underlinestill take the full width.
- FixedDense table headers align with their column values.
- FixedToasts use a compact neutral card with an unfilled tone icon in vanilla and React.
- AddedEmpty-state guidelines explain how to name missing content and offer an action using the kit.
- AddedDensity and accent guidelines now show paired examples of narrow stat bands, payout previews and primary actions.
- DeprecatedVanilla HTML factories, initializers, and the vanilla overlay are scheduled for removal in the next release (#429); this release changes no runtime behavior.
- FixedTheme toggle icons use the control text color for clearer contrast in React and vanilla.
- AddedReact ThemeToggle cycles through dark, light and auto, saves the choice, and follows the operating system in auto mode.
- AddedReact now includes EmptyState with the vanilla layout, four text presets, and illustration and action slots.
- AddedReact AppShell adds router links to the kit’s rail and top band, with saved folding and a phone navigation sheet.
- AddedThe text length guideline explains where UI copy should stay short, when explanations help, and how to remove filler.
- ChangedContributor rules now require general, composable components reused across products.
- AddedReact now includes Callout with four status tones, a neutral default, an icon override, and optional actions.Callout
- AddedReact now includes Toast and useToast for notifications in the kit’s five tones.
- AddedAdded TextField, TextArea, SelectField, and FileField to React.
- AddedReact now includes Timeline for ordered record histories, with timestamps, metadata and optional undo buttons.Timeline
- AddedAdded React Confirm, which asks users to approve actions that have a cost.React Confirm
- AddedReact now includes Tabs with controlled selection, optional counts, and keyboard navigation.
- ChangedContributor setup and component steps now live in README, with short agent rules and plain release notes.
- AddedReact now includes Snippet for copying commands and one-time secrets.Snippet
- AddedReact now includes KeyValueList and DrawerSection for displaying a record’s details.
- FixedVanilla factories now keep quoted values inside attributes.
- FixedThe React documentation now describes the shared dialog stack.
- ChangedGuideline examples now name concrete choices.
- FixedPublishing an older release no longer moves npm’s latest tag backwards.
- ChangedStorybook’s Apps section is now called Showcases.
- ChangedBusy buttons keep each variant’s resting fill, border and ink while replacing the label with larger, brighter dots.Button
- AddedThe guidelines now recommend giving the committing action more weight than the dismissing action.
- ChangedThe DataTable sort chevron now rotates between ascending and descending in 150 ms with the kit's ease-out; rows still reorder instantly.
- FixedDataTable sort indicators are now SVG chevrons instead of text arrow characters, which iOS showed as colour emoji.
- ChangedGuideline pages now use short, plain-English rules with a one-sentence reason, clear Do and Don’t examples, and body ink instead of muted text.
- AddedDense financial tables now have value, signed-change and company-identity renderers in vanilla and React.Table
- AddedTables can keep their header and company column visible while scrolling.Table
- ChangedTables use white backgrounds in light mode and the base canvas in dark mode.Table
- AddedDense-table guidelines and a fictional stock screener demonstrate 15 columns, both densities, scrolling and loading, empty and refresh-error states.Table
- ChangedBlock confirmations use the glowing green check from the full-page confirmation.
- ChangedFocus now uses a separated solid band with a soft glow.
- AddedFocus-ring width, colour and gap can now be tuned independently.
- ChangedAncestor ring overrides now stop at painted kit containers.
- FixedFocus remains visible in forced-colors mode.
- FixedInputs, textareas and selects now use native focus-visible like the other controls.
- ChangedWords now use body ink at every size instead of muted or dim ink for hierarchy.Typography
- ChangedGuidelines now explain why contrast alone does not justify fading words.Typography
- AddedButton now supports
size="xs"in vanilla and React for inline controls beside a value.Button
- FixedComponent text now follows the
--text-*scale when an app overrides it.Typography
- ChangedTouch and pen taps now open chart readouts; a tap on another mark moves the readout, and a second tap or a tap elsewhere closes it.Tooltip
- ChangedThe hover-readout guidelines now say to open with a tap and close with the next tap, rather than showing a readout only while a finger is down.Tooltip
- ChangedThe topbar search field now uses the raised
--surfacefill so it stays distinct from the band.Shell - FixedThe topbar search field now uses the kit’s focus ring and accent edge instead of the browser’s square outline.Shell
- Added
appShell({ layout: 'topbar' })adds a band beside the rail with search and the reader’s menu; the fold control moves to the rail’s foot.Shell - AddedBoth shell layouts now accept
width: 'wide' | 'centered'.Shell - AddedThe topbar search trigger now opens the command palette.ShellCommandPalette
- AddedReact
<Dropdown>now supports both variants, sections, badges, separators, disabled and danger rows, controlled or uncontrolledopen,onSelectandonOpenChange.Dropdown - Added
dropdownMatch(label, query)anddropdownFiltering(query)are now exported so consumers can reuse the dropdown’s matching rules.Dropdown - AddedReact
<BackLink>now matchesbackLink()and acceptsasfor router links. - AddedDropdown panels now expose
--ui-dropdown-padand afootslot with shared header/footer spacing and a separator.Dropdown - AddedA new caption rank uses
--text-smat--weight-normalfor text below specimens, figures and screenshots. - FixedLong back-link names now stay on one line and end with an ellipsis.
- FixedDropdown-trigger carets are now centered in both states, within a quarter pixel of the trigger’s middle.Dropdown
- FixedLight-mode dropdown search fields now use
--bginstead of--surface-2to reduce their contrast with the floating panel.Dropdown - AddedA new test rejects emitted
__labelclasses without a matching CSS rule in either workspace.
- ChangedFloating menus, dialogs, drawers, toasts, the command palette and hover readout now have a two-line edge and a broad, faint shadow.DropdownDrawerConfirmCalloutTooltipCommandPaletteTopbar
- AddedFloating surfaces now use theme-specific
--elev-dropshadows and an inner edge that can be changed with--elev-edge.Callout - FixedCollapsed-rail flyout labels now use the floating surface edge and shadow.Shell
- BreakingSign out now lives in the reader’s menu.Shell
- Breaking
footer()column titles now useh2instead ofh4.Footer - Changed
success()now usesh1for hero and split titles andh2for compact titles;leveloverrides the choice.Success - AddedThe app rail now folds to an icon strip with an animated toggle.Shell
- Added
wireShell()connects the rail toggle, account menu and navigation groups, and stores toggle presses in theapliteni-ui-railcookie.Shell - AddedThe reader block at the rail’s foot now opens an account menu above it, including Sign out.ShellDropdown
- AddedThe page guidelines now cover heading order, one title and primary action, at most six cards, no overlays at load, one density and a two-sentence introduction.
- FixedDropdowns now become visible immediately on opening so arrow-key focus reaches their rows.DropdownTopbar
- FixedFolded sidebars now keep navigation groups reachable.Shell
- BreakingCast shadows were removed throughout the kit, including React modals, feedback controls and the
.m-liftutility.CardDropdownDrawerConfirmCommandPaletteModalTooltipCalloutTopbarSwitchSegmentedFeedback - Breaking
--shadow-sm,--shadow-md,--shadow-lg,--shadow-segand--shadow-cardare deprecated and now resolve to transparent0 0 #0000; consumers can override them to restore shadows.DrawerConfirmCommandPalette - Breaking
--surface-2now means a sunken field or track, while--bg-elevatedmeans a floating panel; update uses that relied on their previous roles. - BreakingCards now have a border in both themes, and accent cards colour that border instead of adding an inset ring.Card
- ChangedDark
--mutedchanged from #948fa8 to #a29db6 to meet AA contrast on the highest surfaces. - ChangedLight
--pinkchanged to #a92d59, with a matching glow.BadgeCalloutNav - FixedHover readouts now use
--surface-3in both themes so the light-mode panel remains visible over cards.Tooltip - FixedDropdown accent counters now use a flat badge fill with accent ink, matching the navigation badge introduced in #157.Dropdown
- FixedThe rail’s resting glyph opacity was adjusted to remain readable against the new background.Nav
- FixedRaised-panel hover and active states now use
--surface-3, including dropdown and account rows, drawer close controls, badges and palette key caps.DropdownTopbarDrawerCommandPalette - FixedSwitch knobs now use a
--border-strongborder so they remain visible without a shadow.Switch - FixedSelect chevrons now use the theme’s
--mutedcolour, with a separate SVG stroke value for each theme.Inputs
- FixedOn touch screens, both published stylesheets now set all
input,selectandtextareatext to 16px to prevent iOS focus zoom, including host-page fields.InputsDropdownPaginationCommandPaletteFeedback
- BreakingThese changes were already on npm by 0.30.0: they merged before the version bump in #287 and shipped in 0.28.0, 0.29.0 and 0.30.0 without release notes.
- BreakingEleven text styles no longer force uppercase or add uppercase-only letter spacing.BadgeTableNavDropdownFooterSnippet
- Breaking
card()and<Card>titles now useh2; uselevelforh3–h6inside sections.Card - AddedUse
commandPalette()withwireCommandPalette(), or React<CommandPalette>, for grouped, ranked results opened with ⌘K or Ctrl+K.CommandPalette - Added
drawerSection({ title, rows, body })now defines a drawer group with a heading above label-and-value rows.Drawer - AddedReact
Drawernow uses the HTML drawer's markup, slide behavior, and scrim from the kit's own stylesheet.Drawer - AddedEntrance transitions now fade in changing content while respecting reduced-motion preferences.TabsNavFeedback
- AddedGuidelines / The command palette now define six rules for using the pattern.CommandPalette
- AddedThe drawer and motion guidelines now connect each rule to the kit code that implements it.Drawer
- AddedGuidelines / Labels and titles now define four rules for text case and heading structure.Card
- AddedThe letter-case test now checks CSS and rendered labels across source, stories, site, React and Storybook files, including 21 supported spellings.
- ChangedLabels use
--text-smwith--weight-medium, chips use--text-xswith--weight-semibold, and card titles use--text-lgwith--weight-semiboldand the text face.BadgeCardTable - ChangedReact
Modalnow fades in and out and remains mounted until its exit transition finishes.Modal - ChangedReact Modals, Drawers and CommandPalettes now share a dialog stack; only the top dialog responds to Escape and Tab.ModalDrawerCommandPaletteConfirm
- FixedReduced-motion opening now places focus on the first control in drawers, confirmations, and command palettes.DrawerConfirmCommandPalette
- Added
dropdown({ search: true })adds a search field that matches anywhere in labels, ignores case and accents, and keeps row order.Dropdown - AddedDropdown guidelines now require search for ten or more options or any data-supplied list, as decided in #283.Dropdown
- Added
backLink()adds a parent-page link above the title, showing a destination name beside an arrow.Back link - Added
appShell({ back })replaces breadcrumbs with a back link and marks the active sidebar row as the current section, not the current page.Page shellNavigation - AddedGuidelines / Going back now define six rules for pages that return to a parent.Back link
- ChangedCards no longer cast shadows in either theme, including interactive-card hover.Card
- Added
pagination()accepts page, page size and an optional total for server, array or cursor paging.Pagination - AddedPagination guidelines now cover page changes, announcing row ranges and remembering page size, with seven rules linked to kit code.Pagination
- BreakingReact
DataTablenow defaults to 100 rows per page instead of 4.DataTable - AddedReact
DataTablenow supports controlledpageandonPageChange.DataTable - FixedReact
DataTablenow hides the pager when there is only one page.DataTable - BreakingThe React table pager now uses
.ui-pagerinstead of.rx-pagerand.rx-pager__info, with status such as1–100 of 4,812.DataTablePagination - FixedDisabled ghost buttons now use
--disabled-ink-bareto meet the 5.56:1 floor from #220 on every kit surface.Button
- AddedReact
DataTablecan now omit selection controls and share controlled sorting with another view of the same rows.DataTable
- FixedThe React Modal now skips hidden and fieldset-disabled controls when choosing the opening focus.Modal
- ChangedOpening focus now reaches a link or disclosure summary before the body's first field.Modal
- FixedClicking the scrim now keeps focus on the element that opened the dialog.Modal
- AddedFocus coverage now includes nine regression tests and a CollapsedForm story.Modal
- ChangedTopbar avatar initials now inherit the text font while keeping their 600 weight, 12.5px size and 32 × 32 circle.TopbarDrawerCalloutFeedback
- FixedVersion rows, interactive cards and feedback pills now reset browser button styles when rendered as
<button>, following the dropdown repair in #251.TopbarCardFeedback - ChangedVersion rows now use
width: 100%and left-aligned text.Topbar - AddedThe clickable-style test now compares controls with and without browser button defaults across seven properties.
- FixedDropdown rows rendered as buttons now reset the browser’s fill, border, font, alignment and width.Dropdown
- AddedA regression test now checks dropdown rows rendered as divs, links and buttons.
- BreakingBody text now uses IBM Plex Sans through
--font-sans; headings and brand marks keep Poppins through--font-display.Tokens - ChangedTypeface now follows role: headings and brand marks use the display face, while body content uses the text face.DrawerConfirmTopbar
- Changed
bandstrongnow use--weight-semiboldinstead of the browser’s 700 weight. - ChangedThe Typography story now shows display and text scales, including the same 13px paragraph in both fonts.
- FixedDropdown panels now set their text font explicitly, so portalling a panel out of a display-font container no longer changes its typeface.Dropdown
- AddedNew tests check typeface roles and confirm that repository font-loading snippets include every required family.
- AddedDropdowns now accept
direction: 'up'or'auto'; auto flips when there is insufficient room below and more room above.Dropdown - Added
dropdown({ portal: true })now lets panels escape clipped or isolated containers.Dropdown - ChangedPortalled panels carry their own
is-openstate and keyboard handlers.Dropdown - AddedDropdown tests now check placement CSS and viewport-positioning calculations, including upward and portalled panels.
- Fixed
data-accentnow works withoutdata-theme, using the kit’s default dark theme.Tokens - RemovedThe conflicting
--inkalias was removed, and body text now uses--textlike the rest of the kit.Tokens - AddedA regression test now checks tokens and accents without a theme attribute and catches missing light-theme overrides.
- ChangedRepeated explanations were removed from five published token, component and stylesheet files.
- ChangedStylesheet and component headers now use short notes and documentation pointers.
- ChangedIcon and loading-component headers now point to documentation instead of repeating it.
- ChangedKit transitions now use shared duration and easing tokens:
--dur-fastfor controls,--dur-medfor surfaces and--dur-slowfor entrances. - FixedThe two topbar menus and dropdown panel now name transition properties explicitly so visibility updates when they open.
- AddedThe motion scale now includes
--ease-out,--ease-in,--ease-sharp,--ease-springand the 80ms--dur-instant, backed by brand tokens. - AddedThe shared reduced-motion stylesheet now ships through both CSS entry points, including the React stylesheet.
- AddedA new test checks motion tokens, transition properties, visibility timing and reduced-motion coverage.
- ChangedDisabled controls now use disabled colours at full opacity instead of
opacity.ButtonInputNavDropdown - AddedDisabled colours now use neutral aliases:
--disabled-ink,--disabled-surface, and--disabled-borderalias--muted,--surface-2, and--border. - AddedThe disabled-state guarantee now requires at least 3:1 contrast and a colour pair that differs from the enabled state.
- ChangedThe disabled-control gate now finds subjects from disabled selectors and checks each subject with and without its disabled state.
- ChangedThe accessibility floor page now records the disabled-state requirement as a numeric value.
- ChangedThe kit now has three breakpoints:
860px,720px, and560px. - AddedA gate now checks every
@mediapx value insrc/styles/andsite/against the three breakpoint steps from the specification. - ChangedThe layout guideline now explains that matching numbers do not create a shared breakpoint token.
- FixedAll three controls now meet the 24 × 24 CSS px target-size floor.Targets
- ChangedThe target-size gate now measures pointer-reachable areas, including pseudo-elements.
- AddedThree tests now cover overlay-based target sizes, reject unmeasurable out-of-flow pseudo-elements, and derive the floor page's gap badge from the exemption list.
- ChangedThe target-size gap has been removed from the accessibility floor page.
- AddedThe kit now documents what it ships, guarantees, supports, and does not do.
- Changed
docs/adr/has been removed. - AddedDocumentation citations now have an automated validity gate.
- ChangedAll stroked glyphs now use at least 1.5 CSS px.
- AddedThe glyph-width gate now builds every story, resolves the cascade, and measures rendered glyphs.
- AddedThe error-row glyph now has an explicit size.
- FixedThe focus ring now uses the accent colour at full opacity through one declaration.Focus
- ChangedSeven duplicate
--ringdeclarations have been removed fromtokens.cssandaccents.css. - AddedThe accessibility-floor page now states a 4.22:1 ring floor.
- ChangedTable row spacing now follows the spacing scale for base and
--denserows.Table - ChangedSpacing values exactly between scale steps now round according to purpose.
- AddedThe table-spacing gate now reads spacing steps from the token file, discovers padding, margin, and gap values, and enforces the tie-break rule.
- AddedThe reading column now uses separate scales for component boxes and text lines.
- ChangedSeveral component and text widths now use shared tokens: panels use 420px or 560px, and prose uses 44ch, 54ch, or 62ch.ToastEmptyDeniedFeedbackHeroShell
- ChangedThe measure gate now uses the smallest panel step as its floor and reads it from the token file.
- FixedThe measure gate now reads inline
style="…"attributes as CSS. - AddedThe kit now documents its breakpoint convention.
- ChangedThe callout and toast status glyphs now use strokes wide enough for their contrast requirement.CalloutToast
- FixedCallout icons now use text-grade
--chip-*-inkcolours.Callout - FixedThe neutral toast check now uses
--signal-solid-inkwith its neutral circle.Toast - AddedThe glyph-contrast gate now checks twenty status pairs across two glyph families, five statuses, and both themes.
- AddedBusy regions now announce pending and completed content to screen readers.Loading
- AddedSkeleton components now reserve layout space and share a reduced-motion-aware shimmer.Loading
- AddedDenied states now identify the missing permission.Denied
- AddedThe kit now includes
.ui-srfor text intended only for assistive technology. - AddedReact now supports busy buttons and persistent busy-region announcements.ButtonLoadingDenied
- FixedThe Guidelines / The full state set page now documents loading as implemented.
- ChangedThe standard page width changed from 1180px to 1120px for containers, topbars and footers.ContainerTopbarFooter
- AddedPage width now uses
--container, while the reading column beside a sidebar uses the 860px--measuretoken. - FixedApp shells now use the stylesheet’s
--measureunless givenmaxWidth.Shell - AddedA new test rejects literal page-scale maximum widths in kit styles and site pages.
- AddedLayout guidelines now explain page and reading-column widths and density from spacing tokens.
- FixedStatus messages now use
circleCheck,circleXandcircleAlert, leaving the bare x for dismissal.ToastCallout - Added
iconOnlyAllowednow limits wordless actions to dismiss, copy, overflow and expand/collapse.Button - Added
iconMeaningsnow documents the eight glyphs that components choose automatically. - FixedDuplicate catalogue entries for
card,chartanddocwere removed without changing their paths or imports.Icons - AddedIconography guidelines now cover icon-only actions, glyph meanings, naming, grouping and path sources.
- FixedToast actions now meet AA contrast across statuses and themes by using text-grade signal inks.Toast
- AddedUse
--toast-action-inkto override the trailing action’s colour independently.Toast - FixedReact table sort carets now use full-opacity muted ink so they remain readable in light mode.DataTable
- FixedThe Nebula picker swatch now follows its actual accent ramp.Footer
- AddedStorybook now has five guideline pages for colour, states, component choice, wording and destructive actions.
- AddedTwo unimplemented guideline rules now state their gaps and link to tracking issues.
- ChangedThe five design rules moved from the contributor guide into Guidelines: tokens, signal colours, states, themes and accents, and labels that name the current state.
- FixedThe wording guideline and example screen now use “Revoke access” instead of “Revoke” so the action makes sense on its own.
- Added
appShell()now provides a full-height sidebar beside one main region.Shell - AddedBelow 720px, the rail now becomes an icon strip instead of disappearing.Shell
- Breaking
accountShell()now usesappShell()markup: a main region,.ui-nav--sidenavigation andbreadcrumbs().Shell - Breaking
ACCOUNT_NAVentries are now{ id, icon, label }objects instead of tuples.Shell - BreakingPass raw text for navigation labels, such as
Access & agents, instead of pre-escaped entities.Shell - Breaking
crumbis now escaped text, not trusted HTML.Shell - ChangedThe trusted-HTML
subslot now renders as a paragraph.Shell - RemovedThe stylesheet no longer includes
.ui-sideor.ui-shell.Shell - FixedRail and breadcrumb links now keep kit colours when a host stylesheet defines
a:link. - FixedBadged rail rows now include their count in the accessible name at every width.
- FixedThe reader block now sits outside navigation, so screen readers no longer announce the email as a navigation entry.
- FixedThe shell no longer fills a missing account name with the demo person’s name.Shell
- ChangedAccount-menu initials now use the display name when available and the address otherwise, matching the rail.
- Changed
ACCOUNT_NAVnow stores its ampersand as&, not&.
- Breaking
drawer({ open: true })now traps focus, makes the background inert and closes on Escape. - Added
confirm()adds a focus-trapped confirmation dialog over a scrim. - FixedOpening a drawer now places focus inside the panel after it becomes visible.Drawer
- FixedClosing stacked drawers or confirmations out of order no longer leaves the page inert.
- ChangedThe npm package now includes the source-comment updates made after 0.9.0.
- FixedMerging a version bump now creates a tag and release from the changelog and starts publication.
- BreakingThe inline-icon reset now uses
svg:where(:not([width]):not([height])), reducing specificity from (0,2,1) to (0,0,1). - Added
footer(),success(),successCheck()andwireSuccess()can now be imported from the package root. - Added
empty.cssis now included through/inline. - FixedThe theme control now reports the current theme, not the theme a click would produce.Topbar
- Fixed
--pinknow clears the surfaces on which it is drawn in both themes.BadgeCallout - FixedGlow washes now use a tint of the colour they carry.
- FixedThe danger navigation row is quiet at rest and uses
--pinkon hover. - ChangedContrast tests now measure every story in both themes against its resolved background.
- FixedThe zebra table recipe now keeps its end cells inside the container border.Table
- FixedThe homepage audience switcher now announces and behaves as a tablist.
- FixedThe Storybook toolbar selector works again, and the workbench no longer composes stories from outside the kit.
- FixedReleases can publish again because
npm publishnow receives the tarball as a file path.
- AddedReact components are now available from
@apliteni/apliteni-ui/react. - AddedStorybook now contains a Guidelines area, beginning with destructive actions.
- AddedStorybook now switches themes with one click instead of a dropdown.
- FixedLight-mode Phoenix and Emerald are now darker to meet WCAG AA.
- FixedDanger uses
--pinkeverywhere, and components now get colour from tokens instead of scattered literal values. - FixedField errors are now connected to their fields, decorative icons are hidden from assistive technology, and every icon-only control has a name.Inputs
- ChangedThe icon set now uses canonical Feather/Lucide glyphs throughout.
- ChangedStorybook was upgraded from 8 to 10, and Vite from 5 to 6.
- ChangedThe package license changed from proprietary/UNLICENSED to MIT.
- FixedTable-row hover no longer touches the container border.
- ChangedHomepage Copy buttons now show a checkmark after success, instantly under reduced motion.
- AddedA new accessible Tabs component is available through
tabs({ items, active, name }).
- ChangedThe theme toggle is now one compact icon-only switch.
- RemovedThe unused public
aurora()export and.ui-bg-aurorabackdrop were removed. - AddedThe homepage bento now shows more of the kit and separates its content into panels.
- AddedAdded a token-driven motion library with reusable effects for entrances, interactions, attention, and scroll reveals.
- AddedAdded one global
prefers-reduced-motionrule that disables every animation and transition in the kit. - ChangedConnected motion tokens to the Apliteni design-system vocabulary.
- ChangedThe landing page’s people-and-agents grid now uses separate coloured cells without card-level hover animation.
- AddedAdded an ambient aurora background with drifting glow blobs and optional paper grain.
- Added
npm testnow runs every story through axe for WCAG 2.0/2.1 A and AA checks. - AddedAdded the Apliteni seedling to the Brand page beside the kit prism.
- FixedFixed the WCAG A/AA violations reported by the accessibility panel.
- FixedSeparated the consent-card brand lockup so the mark no longer touches the label.
- FixedIncluded the aurora CSS in the inline and server-render bundles.
- ChangedReduced the visual intensity of the Storybook manager chrome.
- ChangedLight
--bgand--surfaceare now #ffffff, with adjusted neutral colours. - AddedAdded the finance data-table treatment and semantic status badges to the kit.
- FixedImproved light cards and table overflow on white backgrounds.
- FixedMoved the active segmented pill inside its track and added a tighter
--shadow-segtoken.Segmented
- AddedAdded a gradient-bars busy loader to buttons.Button
- AddedAdded a centered Google-SSO sign-in with a glow and separate idle and signing-in states.
- AddedAdded the
--accent-strongtoken so primary buttons meet WCAG AA contrast requirements.Button - AddedAdded the
--seg-active-bgtoken so the active segmented pill remains clear in dark mode.Segmented - AddedAdded a sign-in story that supports Google SSO only.
- FixedFixed card-grid alignment by moving spacing to
.ui-card-stack.Card - ChangedRemoved the automatically generated Storybook "Docs" pages.
- FixedThe landing-page hero now has more space, larger feature icons and aligned preview cards.
- ChangedMoved the version into a navigation pill and removed the Strategy footer link.
- FixedEnlarged the consent-scope icons and app-chip icons.
- FixedKept the account menu hidden until the session is confirmed.
- AddedPublished the first release with tokens, components, and the deck theme.
- AddedAdded the Nebula, Phoenix, Ocean, and Emerald accent sub-themes in both dark and light modes.
- AddedAdded the Storybook workbench and the ui.apli.tech landing page.