Repository navigation
·
39 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
3.2.0 (2026-10-10)
Bug Fixes
- blocks: Make the stat card variants announce and focus their figures (4b78c3e)
- blocks: Keep stat card figures, shares and legends consistent at the edges (3848ec6)
- overlays: Portal menu submenus out of the clipping parent content (d3ecde1)
- theme: Give the nosferry preset its chart palette (b685d9a)
- locales: Move the European Portuguese locale to the current spelling (698b590)
- shells: Light only the most specific nav item and keep rail groups open (c549725)
- scripts: Build the export detector program without the default lib (b6ca728)
- charts: Round only the outer ends of a stacked bar (a26e2c7)
- charts: Format tooltips and time axes with the chart locale (aa12226)
- charts: Clip each side of a stacked bar and keep thin ends whole (f9637dd)
- charts: Keep a hidden value axis numeric (e32b6c1)
- charts: Skip value labels on empty and cramped segments (e507fea)
- charts: Keep value labels compact, apart and inside the chart (1d8948d)
- charts: Draw each stacked bar as one shape divided by color (59d4110)
- blocks: Draw the composition track as one shape divided by color (81d1c50)
- charts: Follow the animated segment and key stack clips by position (bad0c31)
- blocks: Keep the composition track one element with a measured radius (d34b2a2)
- blocks: Centre the two-factor code field and recovery actions (674c39c)
- blocks: Describe recovery codes and drop stale errors when the challenge switches mode (dd9e81c)
- locales: Stop telling readers recovery codes are shown only once (103c168)
- blocks: Hide only the errors on screen when the two-factor mode switched (7d5aea6)
- blocks: Show a repeated two-factor error once the next attempt finishes (a114778)
- shells: Make collapsible group labels real buttons (12c9b6c)
- shells: Keep the sidebar logo whole on the icon rail (a8bdadc)
- blocks: Name the tour close control from the locale (ccffcbc)
- locales: Announce loading in the locale (b1b7aee)
- charts: List legend entries in the order of the series (2c316ac)
- charts: Order the legend by the index of each series (4da7c46)
- blocks: Skip tour steps whose target is missing and record the outcome (7fccc73)
- blocks: Wait briefly for a later tour target and ignore clicks meanwhile (6f73f34)
- blocks: Ignore going back when no earlier tour step is on the page (f6660b9)
- blocks: Record a running tour before another one replaces it (8527db7)
- blocks: Let a tour started from onProgress take over cleanly (d0c319e)
- shells: Hydrate collapsed nav groups from defaultOpen (3a44324)
- shells: Keep nav groups toggling when storage is unavailable (a935374)
- shells: Draw unlabelled subgroups and subgroup item badges (ebc0f64)
- shells: Keep subgroup badges beside the link and key siblings apart (e73e89e)
- shells: Shrink the header search button to its icon below sm (a727d62)
- shells: Keep the header breadcrumbs on one line on narrow screens (a565602)
- shells: Leave standalone breadcrumbs as they were (84044e4)
- time-picker: Keep the field, the columns and the stored value in step (dcbc277)
- time-picker: Keep the selected option visible and the columns aligned (63abcbc)
- date-time-picker: Bound the full date and time (a0a3cb7)
- blocks: Wait for tour targets once and drop the missing steps (12c9a35)
- blocks: Render the tour progress label as text (cc5790b)
- blocks: Settle a waiting tour start against the running tour (023a3cf)
- blocks: Keep a shared tour start and count the steps still shown (7ad6905)
- blocks: Format default percentages in the provider locale (bde8259)
- locales: Agree the data table total with its count (3d95117)
- blocks: Fall back to en-US for a malformed number locale (36d88d3)
Code Refactoring
- shells: Serve the cookie reader only from the server entry (67d9f18)
- date-picker: Share the day boundaries (55367df)
- ui: Share the picker trigger, clear control and value state (32cb0a9)
Features
- command: Let CommandDialog forward props to the inner Command (7147166)
- combobox: Let Combobox take a filter function for the inner Command (3dde235)
- blocks: Give the stat card an inline layout and an exact value line (d5b907a)
- blocks: Let a stat card show its share as a bar with a tooltip (1f81407)
- blocks: Add a stat breakdown card for a total split into parts (2d91d27)
- blocks: Add a brand logo that takes its colors from the brand preset (05c6668)
- charts: Let a bar chart color its bars by category (e3d8d71)
- blocks: Let a danger zone action require the current password (b931537)
- two-factor: Add an enable button and the fetch error labels (bb228d6)
- inertia: Add a Fortify two-factor hook (526cbbc)
- shells: Let apps add their own entries to the user menu (7984617)
- shells: Read the settings layout heading from the locale (e387f8e)
- blocks: Add a notification bell with an unread badge and popover (01c2d47)
- inertia: Add an Inertia notification bell that polls while active (b44f16f)
- charts: Add value domains, log scales and reference lines (e066e85)
- charts: Add value labels, lollipop bars and gradient areas (cec7821)
- blocks: Add a CompositionBar for a total split into parts (f6bb38e)
- charts: Add a symmetric value domain with rounded ticks (5d3c513)
- charts: Show exact values in tooltips by default (8411c23)
- shells: Read the sidebar_state cookie from a server-safe entry (2e86a57)
- shells: Let AppSidebar render without a user and take a footer (d2976a7)
- shells: Let AppSidebar choose how it collapses (63ea33e)
- shells: Restore the remembered sidebar state on load (1d1a00a)
- types: Let nav groups nest and declare their default state (9bcd7d0)
- shells: Render nested nav groups in NavMain and AppSidebar (1a25a93)
- time-picker: Add the time value helpers (2fb99bf)
- locales: Add the time picker sections (acc7cce)
- time-picker: Add the hour and minute columns (ef3a185)
- field: Give the field label an id controls can reference (8188f73)
- time-picker: Add the TimePicker (1d85a28)
- date-time-picker: Add the DateTimePicker (8f03eed)
3.1.0 (2026-10-02)
Bug Fixes
- locales: Spell the Portuguese locale in European Portuguese (a0a980d)
- locales: Reach EmptyState, DangerZone, form overlays and Editor (c1535b8)
- locales: Let the locale provider name the shadcn primitives (cd9e448)
- theme: Paint the root background overscroll reveals (be94677)
- inertia: Omit only from table filter visits when undefined (c703164)
- theme: Keep the nested-surface reset when a surface is renamed (092bf2e)
- theme: Mark the floating sheet panel as a surface (9fbfa94)
Features
- shells: Add actions slot to AppSidebarHeader (42beca7)
- editor: Style task lists and ship taskListExtensions (5014eb1)
- Export the props types consumers wrap (31d4b6d)
- locales: Add spanish labels (30d5496)
- data-table: Pin the actions column to the inline end (87d2e30)
- shells: Let a sidebar nav item carry a badge (04197c1)
- blocks: Move the info field copy control to the label row (0140559)
- shells: Let the app name the sidebar user menu entries (11c6dd6)
3.0.0 (2026-09-19)
Breaking Changes
- build: Ship charts, data table and form from their own entry points (eb93de9)
Bug Fixes
- tests: Stop charging a cold barrel import to the test timeout (0ccc9df)
- date-filter: Follow the provider date locale instead of pinning Portuguese (9e11f56)
- locales: Export the date locale hook from the blocks entry (20fcb0b)
- chart: Keep series colors apart when two keys sanitize to the same name (6db2f92)
- passkeys: Keep the removal confirmation open when it fails (2e05578)
- passkeys: Draw the passkey blocks from the design language (afc8285)
- passkeys: Seat the passkey list on Card like the settings entries (d0a76d7)
- two-factor: Hold the qr at a fixed size and read the setup key as a field (fd997f7)
- two-factor: Scroll the setup dialog body and keep the heading and action in view (c477ee9)
- two-factor: Wrap the revealed setup key and cap image qr codes to the frame (e78792e)
Features
- calendar: Follow the date locale of the locale provider (583e058)
- two-factor: Read labels from the locale provider (b93ba56)
- passkeys: Add composable passkey blocks (bd26822)
- inertia: Bind the passkey blocks to @laravel/passkeys (bfd3f2e)
2.6.0 (2026-09-17)
Bug Fixes
- chart: Keep the series variable spellable as a custom property (99ad302)
- chart: Declare the donut colors above its legend (23dbac0)
- chart: Give the donut ring a width under a bottom legend (e66783a)
- chart: Stop a series key or color from reaching the stylesheet raw (73e6da7)
- button: Keep the internal variant out of the copy button API (2644f76)
- table: Drop the inner surface a bleeding table still painted (bea854f)
- toast: Let an action handler return a value (4f521a1)
- toast: Hold the toast open when an action fails, and vet its link (15e67d1)
- toast: Report a failed action instead of letting it escape (285e1e2)
- field: Let an application translate the required-field label (703f47b)
- toast: Strip the control characters a URL parser removes from an action link (4ebe315)
- editor: Refuse a link whose scheme the URL parser reassembles (0ad93a4)
Features
- chart: Add a series palette and high-level chart components (e4bfd1f)
- chart: Paint the charts on the first render (43baec5)
- button: Let every variant carry a tone (f686186)
- table: Let a table bleed to the edges of its card (0d9e395)
- toast: Style the actions, the cancel and the close button (ae4a835)
- build: Publish a built dist branch for git installs (5bafce2)
2.5.0 (2026-09-04)
Bug Fixes
- release: Point generated changelog links at the real repository (0fd195a)
- docs-site: Correct preview-link regex, editor/code specifiers, and PR clobbering (cae9eb6)
- docs-site: Stop code-block from ever getting its own scaffolded folder (7765b92)
- progress: Report the value to assistive technology (3a18f10)
Features
- dropzone: Take a file without the browser control (c9ec42f)
- dropzone: Stop inviting a file the full zone would not take (8584d91)
2.4.0 (2026-09-02)
Features
- data-table: Add a flat prop for tables inside an elevated surface (f501058)
- tabs: Let a tab panel give up its padding (fede28c)
2.3.0 (2026-09-01)
Bug Fixes
- combobox: Make the list scrollable inside a dialog (68af886)
- shells: Match the active nav item by path, not by the whole url (0d22807)
- release: Keep latest on the highest published major (5f5e59a)
- inertia: Check the login Form binding against the peer's own types (ed86606)
- tests: Follow bare, dynamic and parent-relative imports in the dist graph (ca4f6d4)
Code Refactoring
- shells: Keep the path rule in one place (2b1ed50)
- blocks: Replace the login-form wildcard with an explicit export list (ee5c158)
Features
- login-form: Export fieldError for consumers writing custom parts (a76290b)
2.2.0 (2026-08-28)
Bug Fixes
- floating-sheet: Let the page show through the scrim (7cbed86)
- floating-sheet: Open overlays inside the sheet panel (a71c0c5)
- floating-sheet: Portal the remaining overlays into the sheet panel (d25d60a)
Features
- data-table: Let a row action decide whether it applies (67b3f14)
- blocks: Accept a node as a field label (e2a59d7)
2.1.0 (2026-08-09)
Bug Fixes
- floating-sheet: Draw the scroll shadows with the elevated surface tokens (46c0fbc)
Features
- floating-sheet: Add scroll-driven header and footer shadows (ee3b246)
- locales: Add French locale to @akira-io/ui (56e4dbe)
2.0.0 (2026-08-09)
Breaking Changes
- inertia: Narrow the peer range to the Inertia version that exports Form (f5af2ee)
- inertia: Raise the peer floor to the first version with resetOnSuccess (0847fca)
- login-form: Scope the public export surface (5646057)
Bug Fixes
- shells: Accept slotName on AuthShell parts (a72e203)
- build: Make the Inertia peer optional so Next and Astro apps skip it (a4deb1d)
- build: Cover code/editor entries with client directive, drop metafile, self-heal missing dist in tests (acf0308)
- build: Always rebuild before verifying the client directive (7a94ba6)
- login-form: Skip blank messages when resolving fieldError (0e9e5fe)
- blocks: Associate login form errors with their fields, mark submit busy (0690c59)
- blocks: Render a resting submit button flat, cover password field aria wiring (46dd172)
- login-form: Let the forgot-password link wrap instead of splitting words (c040f72)
- login-form: Place the forgot-password link under the input (a11e0d2)
- login-form: Resolve part labels through the locale provider without a Root (9393dda)
- login-form: Treat a nullish array entry as no error in fieldError (3b60c64)
- login-form: Let a consumer relax autoFocus and required on the email field (dbfe174)
- login-form: Stop the submit button announcing its pending label twice (bd2c1cd)
- login-form: Give LoginFormPassword the autoFocus/required parity LoginFormEmail got (1fd2df0)
- login-form: Accept slotName on LoginFormPreset (c5cdda4)
- login-form: Stop hardcoding a positive tab order in LoginFormPreset (70074a6)
- login-form: Fix idle submit markup, mark required fields, guard autoComplete (a15d6ed)
- inertia: Compile against Inertia 2.x and forward InertiaLoginForm's slot (742a0d2)
- shells: Let AuthShellPanel take an explicit arrangement, guard AuthShell's slot (abc7dff)
- release: Gate release tags on the version git-cliff computes (aeb4384)
Features
- shells: Split AuthShell into composable parts (5085953)
- build: Preserve the client directive so Next server components can consume the library (5f85a01)
- blocks: Add the login form labels and context (f2b88bf)
- blocks: Add the composable login form parts (ddf2f9b)
- blocks: Add the login form preset composed from the parts (1507a44)
- inertia: Bind the login form to the Inertia form (17a55e6)
- akira-mark: Ship the brand mark and use it in the auth shell docs (dbff2d0)
- login-form: Resolve labels through the shared locale mechanism (2d9d1c1)
1.3.1 (2026-08-08)
Bug Fixes
- data-table: Space the faceted filter evenly (#80) (99c8536)
- theme: Bring the nosferry dark red back to the brand (#82) (f57b068)
- button: Match the icon gap to the padding (5b3fda8)
- button: Tell a leading icon from a trailing one (7ec6a6a)
- tabs: Stop the active tab reading as a hole in dark mode (b02fe9b)
- language: Start field text at 16px so iOS Safari stops zooming (0fb0209)
1.3.0 (2026-08-07)
Bug Fixes
- card: Make the card opaque and add an outlined variant (#74) (6bbe7ae)
- theme: Give light mode a surface hierarchy (#75) (93519b3)
- nav-user: Give the user row a resting fill and a softer hover (#76) (eb8abe8)
- date-filter: Put the filter rows back in the menu language (#77) (a940b07)
- overlays: Make the sheet and the sidebar behave on a phone (#78) (25773c0)
1.2.0 (2026-08-07)
Breaking Changes
- ui: Stop making consumers undo the design language (b178117)
Bug Fixes
- password-input: Let the locale provider name the reveal control (1210949)
1.1.1 (2026-08-07)
Breaking Changes
- button: Let a component composing Button name its own element (047df7a)
Bug Fixes
- field: Forward the props Field hands its controls (56913e2)
- data-table: Let the search field read its focus as depth (143c348)
Code Refactoring
- ui: Give the whole catalog one rule for naming a slot (4e85c25)
1.1.0 (2026-08-07)
Bug Fixes
- ui: Preserve Button asChild props (#3) (b967bf5)
- button: Support loading for slotted controls (#3) (1ae85bf)
- button: Preserve slotted loading footprint (#3) (90a8d98)
- button: Stabilize slotted loading states (#3) (8dbdba7)
- button: Preserve controlled caller props (17ce73b)
- ci: Keep docs sync on site next (f6892f8)
- language: Let a recessed surface read as a well, not a second panel (febe5bf)
- floating-sheet: Name the stack after its top panel and hold the stack order (e49fd1d)
- collapsible: Let the primitive open and close without painting a card (c6fa49f)
Features
- ui: Add accessible spinner primitive (#3) (a1cf359)
- ui: Add Button loading state (#3) (a4649c2)
- theme: Distinguish Nos Ferry destructive actions (af91c90)
- types: Export the table types the DataTable API already exposes (c13be88)
- blocks: Add the settings family a grouped index and its pages compose from (7035960)
- floating-sheet: Stack panels like pages of a book (684f92e)
- shells: Let sidebar groups remember whether they are collapsed (726c7b3)
- settings: Autosave a settings form, show its state and pair its fields (1535aea)
- inertia: Drive table filters from one hook (8c02d2d)
- date-picker: Pick a single day from the shared calendar (7b1c7d9)
- copy: Add a copy button and let InfoField use it (7187773)
- two-factor: Add a headless setup and verification family (65d32b6)
- code: Show code inline, in a block, and as JSON (33f9bf1)
- ui: Add an appearance toggle, a text link and a status badge (e2af9d1)
- locales: Read component labels from a locale provider (7df364b)
- blocks: Put a form in an overlay with a save footer (7139638)
- field: Pair a label, description and error with any control (15bc4e8)
- shells: Add an auth shell and a danger zone (f86215f)
- empty-state: Show one design for anything with nothing to show (f5714d1)
- editor: Add a composable rich text editor on Tiptap (745f8cc)
1.0.0 (2026-08-03)
Breaking Changes
- tour: Rename the popover class to akira-tour (8b2de22)
- package: Share recharts with the app and stop shipping Portuguese (23071c5)
- i18n: Default every user-facing string to english (1c5aac5)
- theme: One design language across every component (abe17a0)
Bug Fixes
- inertia: Record tour progress without a page visit (7cdfb9d)
- package: Declare the animate plugin and mark inertia optional (feb7ca9)
- theme: Make components read the brand tokens (e0e1a3c)
- theme: Stop painting destructive text in the on-destructive color (ad81c8b)
- components: Close the three gaps the demos found (c20acfe)
- components: Draw the placeholder pattern and put the popover on tokens (9a90180)
- theme: Make the toaster follow the dark class, not next-themes (92489c9)
- blocks: Stop painting every stat card icon green (ec55109)
- data-table: Put the active page on the brand, not near black (a4e5b60)
- accordion: Give the accordion its own surface (d37cb25)
- theme: Make elevated surfaces read as lifted, not outlined (b191091)
- theme: Draw a surface edge once, in glass (bb85d95)
- theme: Separate stacked surfaces by tone, not by outline (2cb46eb)
- language: Flatten the ring when a surface nests inside another (1dcf130)
- table: Drop the corner radius when a table nests in a panel (8be7d4d)
- data-table: Show the search icon and the active page size (5be6a65)
Code Refactoring
- language: Compose every floating surface from one source (5382a74)
Features
- theme: Add the akira color ramp (35ebe31)
- theme: Drive semantic tokens from the akira ramp (705d93f)
- theme: Add data-brand presets with the nosferry palette (07f0435)
- i18n: Ship the portuguese data table labels as a locale export (2b3c3f5)
- theme: Give every container component its own surface (70bfa49)
- language: Give controls a glass surface and modals a solid edge (f477921)
- language: Unify surface, radius and control colour across the set (c140692)
- package: Ship the documentation with the package (d8aea54)