From 184dfb464c047b40c50af42b62bc39b81833eb2b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 18:46:38 +0000 Subject: [PATCH] Version Packages --- .changeset/chart-colors-docs-refine.md | 6 - .../checkbox-breaking-onCheckedChange.md | 37 ---- .changeset/collapsible-compound-api.md | 45 ---- .changeset/composable-group-legend.md | 11 - .changeset/decouple-text-heading-semantics.md | 23 -- .changeset/feat-input-group-revamp.md | 46 ---- .changeset/focus-accessibility-sync.md | 13 -- .changeset/global-typography-defaults.md | 10 - .changeset/odd-oranges-give.md | 6 - ...o-reactnode-label-card-control-position.md | 8 - .changeset/table-of-contents-polish.md | 9 - .changeset/table-on-checked-change.md | 21 -- .changeset/update-base-ui-1.4.0.md | 7 - packages/kumo-docs-astro/CHANGELOG.md | 82 ++++++++ packages/kumo-docs-astro/package.json | 2 +- packages/kumo-figma/CHANGELOG.md | 18 ++ packages/kumo-figma/package.json | 2 +- packages/kumo/CHANGELOG.md | 196 ++++++++++++++++++ packages/kumo/package.json | 2 +- 19 files changed, 299 insertions(+), 245 deletions(-) delete mode 100644 .changeset/chart-colors-docs-refine.md delete mode 100644 .changeset/checkbox-breaking-onCheckedChange.md delete mode 100644 .changeset/collapsible-compound-api.md delete mode 100644 .changeset/composable-group-legend.md delete mode 100644 .changeset/decouple-text-heading-semantics.md delete mode 100644 .changeset/feat-input-group-revamp.md delete mode 100644 .changeset/focus-accessibility-sync.md delete mode 100644 .changeset/global-typography-defaults.md delete mode 100644 .changeset/odd-oranges-give.md delete mode 100644 .changeset/radio-reactnode-label-card-control-position.md delete mode 100644 .changeset/table-of-contents-polish.md delete mode 100644 .changeset/table-on-checked-change.md delete mode 100644 .changeset/update-base-ui-1.4.0.md diff --git a/.changeset/chart-colors-docs-refine.md b/.changeset/chart-colors-docs-refine.md deleted file mode 100644 index c7508fd312..0000000000 --- a/.changeset/chart-colors-docs-refine.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@cloudflare/kumo": patch -"@cloudflare/kumo-docs-astro": patch ---- - -Update chart color docs and demos, including sequential heatmap/CVD coverage and improved chart demo behavior. \ No newline at end of file diff --git a/.changeset/checkbox-breaking-onCheckedChange.md b/.changeset/checkbox-breaking-onCheckedChange.md deleted file mode 100644 index d20640d732..0000000000 --- a/.changeset/checkbox-breaking-onCheckedChange.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -"@cloudflare/kumo": major ---- - -**BREAKING:** Checkbox `onCheckedChange` now receives event details as second argument - -The `onCheckedChange` callback signature now matches Base UI, providing access to the underlying event: - -```tsx -// Before -onCheckedChange={(checked) => console.log(checked)} - -// After (event details available as optional second arg) -onCheckedChange={(checked, eventDetails) => { - console.log(checked); - console.log(eventDetails.event); // native event -}} -``` - -**Removed deprecated props:** - -- `onChange` - use `onCheckedChange` instead -- `onValueChange` on individual checkboxes - use `onCheckedChange` instead -- `onClick` - was redundant, use standard React event handling via spread props - -**Migration:** - -```tsx -// Before (deprecated) - console.log(e.target.checked)} /> - setChecked(checked)} /> - -// After - setChecked(checked)} /> -``` - -Note: `Checkbox.Group`'s `onValueChange` prop is unchanged - it still accepts `(values: string[]) => void`. diff --git a/.changeset/collapsible-compound-api.md b/.changeset/collapsible-compound-api.md deleted file mode 100644 index 09a8c6ec1b..0000000000 --- a/.changeset/collapsible-compound-api.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -"@cloudflare/kumo": major ---- - -feat(Collapsible)!: refactor to compound component API - -**Breaking change:** Collapsible now uses a compound component pattern matching other Kumo components like Popover and Dialog. - -### Before - -```tsx - - Content here - -``` - -### After - -```tsx - - Show details - Content here - -``` - -### Migration - -For the quickest migration, use the new `DefaultTrigger` and `DefaultPanel` components which preserve the previous styling: - -```tsx - - Show details - Content here - -``` - -### New Sub-components - -| Component | Description | -|-----------|-------------| -| `Collapsible.Root` | Manages open state | -| `Collapsible.Trigger` | Composable trigger with `render` prop support | -| `Collapsible.Panel` | Content container | -| `Collapsible.DefaultTrigger` | Pre-styled trigger with caret icon (migration helper) | -| `Collapsible.DefaultPanel` | Pre-styled panel with border-left accent (migration helper) | diff --git a/.changeset/composable-group-legend.md b/.changeset/composable-group-legend.md deleted file mode 100644 index f5fed37631..0000000000 --- a/.changeset/composable-group-legend.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@cloudflare/kumo": minor ---- - -feat(radio, checkbox, switch): add composable Legend sub-component for group components - -- Add `Radio.Legend`, `Checkbox.Legend`, and `Switch.Legend` sub-components -- Accepts `className` for full styling control (e.g. `className="sr-only"` to visually hide) -- Make `legend` string prop optional when using the sub-component instead -- Useful when a parent Field already provides a visible label and the legend would be redundant -- **Breaking:** `Switch.Group` no longer renders a visible border/padding/rounded container — now consistent with `Radio.Group` and `Checkbox.Group`. Use `className` to add a border if needed. diff --git a/.changeset/decouple-text-heading-semantics.md b/.changeset/decouple-text-heading-semantics.md deleted file mode 100644 index 2baa7333a6..0000000000 --- a/.changeset/decouple-text-heading-semantics.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -"@cloudflare/kumo": major ---- - -feat(Text): decouple visual heading variants from semantic HTML elements - -**Breaking change:** `heading1`, `heading2`, `heading3` variants no longer auto-render `

`, `

`, `

` tags. They now render as `` by default. Use the `as` prop to set the appropriate semantic heading level for your document outline. - -Before: - -```tsx -Title // rendered

-``` - -After: - -```tsx - - Title - // explicit semantic element -``` - -The `as` prop is now restricted to valid text elements: `"h1"` through `"h6"`, `"p"`, and `"span"`. diff --git a/.changeset/feat-input-group-revamp.md b/.changeset/feat-input-group-revamp.md deleted file mode 100644 index 25b9d68fc1..0000000000 --- a/.changeset/feat-input-group-revamp.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -"@cloudflare/kumo": minor -"@cloudflare/kumo-docs-astro": patch ---- - -Add `InputGroup` compound component for composing decorated inputs - -Compound structure: `InputGroup`, `InputGroup.Input`, `InputGroup.Addon`, `InputGroup.Suffix`, `InputGroup.Button`. - -- Field integration — pass `label`, `description`, `error`, `required`, and `labelTooltip` directly to `InputGroup` -- Size variants (`xs`, `sm`, `base`, `lg`) propagate to all sub-components via context, including icon sizing in addons -- `InputGroup.Addon` — positions icons, text, or buttons at `align="start"` (default) or `align="end"` of the input -- `InputGroup.Suffix` — inline text suffix (e.g. `.workers.dev`) -- `InputGroup.Button` — ghost button for secondary actions with tooltip support -- Deprecated `InputGroup.Label` — use `InputGroup.Addon` instead -- Deprecated `InputGroup.Description` — use `InputGroup.Suffix` instead - -```tsx -{/* Reveal / hide password */} - - - - setShow(!show)} - > - {show ? : } - - - -``` - -```tsx -{/* Search input */} - - - - - - -``` diff --git a/.changeset/focus-accessibility-sync.md b/.changeset/focus-accessibility-sync.md deleted file mode 100644 index f86d182787..0000000000 --- a/.changeset/focus-accessibility-sync.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@cloudflare/kumo": patch -"@cloudflare/kumo-docs-astro": patch ---- - -Improved focus and keyboard accessibility styles across Kumo components and docs navigation. - -- Added the `kumo-focus` semantic token to the theme generator config and generated `theme-kumo.css` output. -- Updated focus ring behavior across interactive components (including `Button`, `Input`, `InputGroup`, `Select`, `Checkbox`, `Radio`, `Switch`, `Sidebar`, `Tabs`, `Menubar`, and related controls) for more consistent and visible keyboard focus visibility. -- Text-entry controls use a lighter opacity `kumo-focus` ring to keep pointer and keyboard focus visually consistent where browsers apply `:focus-visible` heuristics to typed-input controls. -- Refined `Select` and `Input` styling/state combinations to align focus visuals with current semantic token usage. -- Updated docs `SidebarNav` keyboard-focus affordances (links, section toggles, search trigger) and adjusted collapsible list overflow so focus rings remain visible. -- Replace raw colors in `Select` with kumo semantic tokens. diff --git a/.changeset/global-typography-defaults.md b/.changeset/global-typography-defaults.md deleted file mode 100644 index c784a0c835..0000000000 --- a/.changeset/global-typography-defaults.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@cloudflare/kumo-docs-astro": patch ---- - -Add global letter-spacing and typography defaults - -- Set global `letter-spacing: -0.01em`, `line-height: 1.5`, and OpenType font features (`cv02`, `cv03`, `cv04`, `calt`) on `html` -- Reset `letter-spacing: normal` on `pre`, `code`, `kbd`, and `.font-mono` elements -- Replace hardcoded `tracking-[-0.02em]` with `tracking-tight` utility across headings -- Switch prose paragraphs and lists from `leading-relaxed` to `leading-normal` diff --git a/.changeset/odd-oranges-give.md b/.changeset/odd-oranges-give.md deleted file mode 100644 index ab1b0041fd..0000000000 --- a/.changeset/odd-oranges-give.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@cloudflare/kumo-docs-astro": minor -"@cloudflare/kumo": minor ---- - -Adds Autocomplete component. A free-form text input with an optional filtered suggestion list. Unlike Combobox, the value is not constrained to the items list. diff --git a/.changeset/radio-reactnode-label-card-control-position.md b/.changeset/radio-reactnode-label-card-control-position.md deleted file mode 100644 index 41dbcd2e5e..0000000000 --- a/.changeset/radio-reactnode-label-card-control-position.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@cloudflare/kumo": minor ---- - -feat(radio): accept ReactNode for `Radio.Item` label and honor `controlPosition` on card appearance - -- `Radio.Item`'s `label` prop now accepts `ReactNode`, allowing icons, badges, or other markup alongside text. -- `Radio.Group`'s `controlPosition` prop now takes effect on `appearance="card"`. Card appearance continues to default to `"end"` (radio on the right); pass `controlPosition="start"` to render the radio on the left of the label and description. diff --git a/.changeset/table-of-contents-polish.md b/.changeset/table-of-contents-polish.md deleted file mode 100644 index 12e31a7ca9..0000000000 --- a/.changeset/table-of-contents-polish.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@cloudflare/kumo": minor ---- - -Polish TableOfContents indicator and semantic HTML - -- Replace pill/background-tint hover with left-border indicator pattern -- Switch to semantic `ul`/`li` HTML structure -- Add `href` and `active` props to `TableOfContents.Group` for clickable labels diff --git a/.changeset/table-on-checked-change.md b/.changeset/table-on-checked-change.md deleted file mode 100644 index 2f1c888b6f..0000000000 --- a/.changeset/table-on-checked-change.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"@cloudflare/kumo": minor ---- - -feat(table): add `onCheckedChange` prop to `Table.CheckCell` and `Table.CheckHead`, aligning with the `Checkbox` component's signature. - -The new prop exposes an optional second argument with event details, matching Base UI's idiom: - -```tsx - { - toggle(row.id); - eventDetails?.event.stopPropagation(); - }} -/> -``` - -The existing `onValueChange` prop still works but is now deprecated and flagged by the `no-deprecated-props` lint rule. It will be removed in a future major version. Migrate by renaming the prop — the single-argument callback shape is preserved. - -This change is additive and does not require consumer code changes at this time. diff --git a/.changeset/update-base-ui-1.4.0.md b/.changeset/update-base-ui-1.4.0.md deleted file mode 100644 index 598c3e874d..0000000000 --- a/.changeset/update-base-ui-1.4.0.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/kumo": patch ---- - -chore: update @base-ui/react to v1.4.0 - -Bugfix release with improvements to Popover hover state, Checkbox/Switch readOnly mode, Select touch handling, Tabs activation direction, Toast timers, and various other fixes. No breaking changes. diff --git a/packages/kumo-docs-astro/CHANGELOG.md b/packages/kumo-docs-astro/CHANGELOG.md index aa3aad2636..5b4b3def7d 100644 --- a/packages/kumo-docs-astro/CHANGELOG.md +++ b/packages/kumo-docs-astro/CHANGELOG.md @@ -1,5 +1,87 @@ # @cloudflare/kumo-docs-astro +## 1.4.0 + +### Minor Changes + +- 353faea: Adds Autocomplete component. A free-form text input with an optional filtered suggestion list. Unlike Combobox, the value is not constrained to the items list. + +### Patch Changes + +- ec73bc5: Update chart color docs and demos, including sequential heatmap/CVD coverage and improved chart demo behavior. +- 1eee41a: Add `InputGroup` compound component for composing decorated inputs + + Compound structure: `InputGroup`, `InputGroup.Input`, `InputGroup.Addon`, `InputGroup.Suffix`, `InputGroup.Button`. + - Field integration — pass `label`, `description`, `error`, `required`, and `labelTooltip` directly to `InputGroup` + - Size variants (`xs`, `sm`, `base`, `lg`) propagate to all sub-components via context, including icon sizing in addons + - `InputGroup.Addon` — positions icons, text, or buttons at `align="start"` (default) or `align="end"` of the input + - `InputGroup.Suffix` — inline text suffix (e.g. `.workers.dev`) + - `InputGroup.Button` — ghost button for secondary actions with tooltip support + - Deprecated `InputGroup.Label` — use `InputGroup.Addon` instead + - Deprecated `InputGroup.Description` — use `InputGroup.Suffix` instead + + ```tsx + { + /* Reveal / hide password */ + } + + + + setShow(!show)} + > + {show ? : } + + + ; + ``` + + ```tsx + { + /* Search input */ + } + + + + + + ; + ``` + +- c019b41: Improved focus and keyboard accessibility styles across Kumo components and docs navigation. + - Added the `kumo-focus` semantic token to the theme generator config and generated `theme-kumo.css` output. + - Updated focus ring behavior across interactive components (including `Button`, `Input`, `InputGroup`, `Select`, `Checkbox`, `Radio`, `Switch`, `Sidebar`, `Tabs`, `Menubar`, and related controls) for more consistent and visible keyboard focus visibility. + - Text-entry controls use a lighter opacity `kumo-focus` ring to keep pointer and keyboard focus visually consistent where browsers apply `:focus-visible` heuristics to typed-input controls. + - Refined `Select` and `Input` styling/state combinations to align focus visuals with current semantic token usage. + - Updated docs `SidebarNav` keyboard-focus affordances (links, section toggles, search trigger) and adjusted collapsible list overflow so focus rings remain visible. + - Replace raw colors in `Select` with kumo semantic tokens. + +- 87432f8: Add global letter-spacing and typography defaults + - Set global `letter-spacing: -0.01em`, `line-height: 1.5`, and OpenType font features (`cv02`, `cv03`, `cv04`, `calt`) on `html` + - Reset `letter-spacing: normal` on `pre`, `code`, `kbd`, and `.font-mono` elements + - Replace hardcoded `tracking-[-0.02em]` with `tracking-tight` utility across headings + - Switch prose paragraphs and lists from `leading-relaxed` to `leading-normal` + +- Updated dependencies [ec73bc5] +- Updated dependencies [bf68ac0] +- Updated dependencies [f9ba3f9] +- Updated dependencies [1954aa8] +- Updated dependencies [3256a7b] +- Updated dependencies [1eee41a] +- Updated dependencies [c019b41] +- Updated dependencies [353faea] +- Updated dependencies [431de04] +- Updated dependencies [f9d8b76] +- Updated dependencies [07426f6] +- Updated dependencies [6765526] + - @cloudflare/kumo@2.0.0 + ## 1.3.18 ### Patch Changes diff --git a/packages/kumo-docs-astro/package.json b/packages/kumo-docs-astro/package.json index e441ac7a97..a7583abd51 100644 --- a/packages/kumo-docs-astro/package.json +++ b/packages/kumo-docs-astro/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/kumo-docs-astro", - "version": "1.3.18", + "version": "1.4.0", "private": true, "type": "module", "exports": { diff --git a/packages/kumo-figma/CHANGELOG.md b/packages/kumo-figma/CHANGELOG.md index 97d828a299..f76fc170bc 100644 --- a/packages/kumo-figma/CHANGELOG.md +++ b/packages/kumo-figma/CHANGELOG.md @@ -1,5 +1,23 @@ # @cloudflare/figma-plugin +## 0.3.24 + +### Patch Changes + +- Updated dependencies [ec73bc5] +- Updated dependencies [bf68ac0] +- Updated dependencies [f9ba3f9] +- Updated dependencies [1954aa8] +- Updated dependencies [3256a7b] +- Updated dependencies [1eee41a] +- Updated dependencies [c019b41] +- Updated dependencies [353faea] +- Updated dependencies [431de04] +- Updated dependencies [f9d8b76] +- Updated dependencies [07426f6] +- Updated dependencies [6765526] + - @cloudflare/kumo@2.0.0 + ## 0.3.23 ### Patch Changes diff --git a/packages/kumo-figma/package.json b/packages/kumo-figma/package.json index 60f243ea82..fdbcbad9eb 100644 --- a/packages/kumo-figma/package.json +++ b/packages/kumo-figma/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/kumo-figma", - "version": "0.3.23", + "version": "0.3.24", "private": true, "type": "module", "description": "Figma plugin for generating Kumo UI Kit components", diff --git a/packages/kumo/CHANGELOG.md b/packages/kumo/CHANGELOG.md index 5fa4ef21bf..8dd5839476 100644 --- a/packages/kumo/CHANGELOG.md +++ b/packages/kumo/CHANGELOG.md @@ -1,5 +1,201 @@ # @cloudflare/kumo +## 2.0.0 + +### Major Changes + +- bf68ac0: **BREAKING:** Checkbox `onCheckedChange` now receives event details as second argument + + The `onCheckedChange` callback signature now matches Base UI, providing access to the underlying event: + + ```tsx + // Before + onCheckedChange={(checked) => console.log(checked)} + + // After (event details available as optional second arg) + onCheckedChange={(checked, eventDetails) => { + console.log(checked); + console.log(eventDetails.event); // native event + }} + ``` + + **Removed deprecated props:** + - `onChange` - use `onCheckedChange` instead + - `onValueChange` on individual checkboxes - use `onCheckedChange` instead + - `onClick` - was redundant, use standard React event handling via spread props + + **Migration:** + + ```tsx + // Before (deprecated) + console.log(e.target.checked)} /> + setChecked(checked)} /> + + // After + setChecked(checked)} /> + ``` + + Note: `Checkbox.Group`'s `onValueChange` prop is unchanged - it still accepts `(values: string[]) => void`. + +- f9ba3f9: feat(Collapsible)!: refactor to compound component API + + **Breaking change:** Collapsible now uses a compound component pattern matching other Kumo components like Popover and Dialog. + + ### Before + + ```tsx + + Content here + + ``` + + ### After + + ```tsx + + Show details + Content here + + ``` + + ### Migration + + For the quickest migration, use the new `DefaultTrigger` and `DefaultPanel` components which preserve the previous styling: + + ```tsx + + Show details + Content here + + ``` + + ### New Sub-components + + | Component | Description | + | ---------------------------- | ----------------------------------------------------------- | + | `Collapsible.Root` | Manages open state | + | `Collapsible.Trigger` | Composable trigger with `render` prop support | + | `Collapsible.Panel` | Content container | + | `Collapsible.DefaultTrigger` | Pre-styled trigger with caret icon (migration helper) | + | `Collapsible.DefaultPanel` | Pre-styled panel with border-left accent (migration helper) | + +- 3256a7b: feat(Text): decouple visual heading variants from semantic HTML elements + + **Breaking change:** `heading1`, `heading2`, `heading3` variants no longer auto-render `

`, `

`, `

` tags. They now render as `` by default. Use the `as` prop to set the appropriate semantic heading level for your document outline. + + Before: + + ```tsx + Title // rendered

+ ``` + + After: + + ```tsx + + Title + // explicit semantic element + ``` + + The `as` prop is now restricted to valid text elements: `"h1"` through `"h6"`, `"p"`, and `"span"`. + +### Minor Changes + +- 1954aa8: feat(radio, checkbox, switch): add composable Legend sub-component for group components + - Add `Radio.Legend`, `Checkbox.Legend`, and `Switch.Legend` sub-components + - Accepts `className` for full styling control (e.g. `className="sr-only"` to visually hide) + - Make `legend` string prop optional when using the sub-component instead + - Useful when a parent Field already provides a visible label and the legend would be redundant + - **Breaking:** `Switch.Group` no longer renders a visible border/padding/rounded container — now consistent with `Radio.Group` and `Checkbox.Group`. Use `className` to add a border if needed. + +- 1eee41a: Add `InputGroup` compound component for composing decorated inputs + + Compound structure: `InputGroup`, `InputGroup.Input`, `InputGroup.Addon`, `InputGroup.Suffix`, `InputGroup.Button`. + - Field integration — pass `label`, `description`, `error`, `required`, and `labelTooltip` directly to `InputGroup` + - Size variants (`xs`, `sm`, `base`, `lg`) propagate to all sub-components via context, including icon sizing in addons + - `InputGroup.Addon` — positions icons, text, or buttons at `align="start"` (default) or `align="end"` of the input + - `InputGroup.Suffix` — inline text suffix (e.g. `.workers.dev`) + - `InputGroup.Button` — ghost button for secondary actions with tooltip support + - Deprecated `InputGroup.Label` — use `InputGroup.Addon` instead + - Deprecated `InputGroup.Description` — use `InputGroup.Suffix` instead + + ```tsx + { + /* Reveal / hide password */ + } + + + + setShow(!show)} + > + {show ? : } + + + ; + ``` + + ```tsx + { + /* Search input */ + } + + + + + + ; + ``` + +- 353faea: Adds Autocomplete component. A free-form text input with an optional filtered suggestion list. Unlike Combobox, the value is not constrained to the items list. +- 431de04: feat(radio): accept ReactNode for `Radio.Item` label and honor `controlPosition` on card appearance + - `Radio.Item`'s `label` prop now accepts `ReactNode`, allowing icons, badges, or other markup alongside text. + - `Radio.Group`'s `controlPosition` prop now takes effect on `appearance="card"`. Card appearance continues to default to `"end"` (radio on the right); pass `controlPosition="start"` to render the radio on the left of the label and description. + +- f9d8b76: Polish TableOfContents indicator and semantic HTML + - Replace pill/background-tint hover with left-border indicator pattern + - Switch to semantic `ul`/`li` HTML structure + - Add `href` and `active` props to `TableOfContents.Group` for clickable labels + +- 07426f6: feat(table): add `onCheckedChange` prop to `Table.CheckCell` and `Table.CheckHead`, aligning with the `Checkbox` component's signature. + + The new prop exposes an optional second argument with event details, matching Base UI's idiom: + + ```tsx + { + toggle(row.id); + eventDetails?.event.stopPropagation(); + }} + /> + ``` + + The existing `onValueChange` prop still works but is now deprecated and flagged by the `no-deprecated-props` lint rule. It will be removed in a future major version. Migrate by renaming the prop — the single-argument callback shape is preserved. + + This change is additive and does not require consumer code changes at this time. + +### Patch Changes + +- ec73bc5: Update chart color docs and demos, including sequential heatmap/CVD coverage and improved chart demo behavior. +- c019b41: Improved focus and keyboard accessibility styles across Kumo components and docs navigation. + - Added the `kumo-focus` semantic token to the theme generator config and generated `theme-kumo.css` output. + - Updated focus ring behavior across interactive components (including `Button`, `Input`, `InputGroup`, `Select`, `Checkbox`, `Radio`, `Switch`, `Sidebar`, `Tabs`, `Menubar`, and related controls) for more consistent and visible keyboard focus visibility. + - Text-entry controls use a lighter opacity `kumo-focus` ring to keep pointer and keyboard focus visually consistent where browsers apply `:focus-visible` heuristics to typed-input controls. + - Refined `Select` and `Input` styling/state combinations to align focus visuals with current semantic token usage. + - Updated docs `SidebarNav` keyboard-focus affordances (links, section toggles, search trigger) and adjusted collapsible list overflow so focus rings remain visible. + - Replace raw colors in `Select` with kumo semantic tokens. + +- 6765526: chore: update @base-ui/react to v1.4.0 + + Bugfix release with improvements to Popover hover state, Checkbox/Switch readOnly mode, Select touch handling, Tabs activation direction, Toast timers, and various other fixes. No breaking changes. + ## 1.19.0 ### Minor Changes diff --git a/packages/kumo/package.json b/packages/kumo/package.json index 240ac94134..ec791088bb 100644 --- a/packages/kumo/package.json +++ b/packages/kumo/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/kumo", - "version": "1.19.0", + "version": "2.0.0", "private": false, "type": "module", "description": "Kumo - Cloudflare's component library for building modern web applications",