@cloudflare/kumo 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +163 -0
- package/ai/USAGE.md +38 -30
- package/ai/component-registry.json +237 -93
- package/ai/component-registry.md +421 -45
- package/ai/schemas.ts +15 -5
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +105 -49
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +187 -174
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/{Legend-bov5dqf08wemc2qj.js → Legend-o0ntojbaplmszwk0.js} +4 -2
- package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +1 -0
- package/dist/chunks/badge-dan90i0rzy4pwa1j.js +102 -0
- package/dist/chunks/badge-dan90i0rzy4pwa1j.js.map +1 -0
- package/dist/chunks/banner-eiwcnk7ts21s3bnb.js +79 -0
- package/dist/chunks/banner-eiwcnk7ts21s3bnb.js.map +1 -0
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js → breadcrumbs-k39s28qx05vbxxth.js} +3 -3
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js.map → breadcrumbs-k39s28qx05vbxxth.js.map} +1 -1
- package/dist/chunks/{button-j0hi0afn33w9lxgi.js → button-cdxnqcgzwko8ooha.js} +55 -53
- package/dist/chunks/button-cdxnqcgzwko8ooha.js.map +1 -0
- package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js → checkbox-kt1uojk2f9e0d0h1.js} +46 -55
- package/dist/chunks/checkbox-kt1uojk2f9e0d0h1.js.map +1 -0
- package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-vcbvmtne4zjk4b18.js} +55 -54
- package/dist/chunks/clipboard-text-vcbvmtne4zjk4b18.js.map +1 -0
- package/dist/chunks/{code-liq1g6f5lhee305d.js → code-cz0w1y5z4h29a9eg.js} +18 -18
- package/dist/chunks/code-cz0w1y5z4h29a9eg.js.map +1 -0
- package/dist/chunks/{combobox-ft0u7rfaxawk0r0c.js → combobox-he2hd9e2ruknq5mp.js} +97 -82
- package/dist/chunks/combobox-he2hd9e2ruknq5mp.js.map +1 -0
- package/dist/chunks/{command-palette-b31nq4wk7o7gx4sa.js → command-palette-jc1w07jwakxvj23a.js} +159 -155
- package/dist/chunks/command-palette-jc1w07jwakxvj23a.js.map +1 -0
- package/dist/chunks/{dialog-l5tmwxrzp9g83jmw.js → dialog-oqh8l3l3zutpibxx.js} +22 -20
- package/dist/chunks/dialog-oqh8l3l3zutpibxx.js.map +1 -0
- package/dist/chunks/{dropdown-icy3xatdwhzr4une.js → dropdown-ncwhcd912vmone8k.js} +96 -90
- package/dist/chunks/dropdown-ncwhcd912vmone8k.js.map +1 -0
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js → empty-cj898km1r8xwuw44.js} +2 -2
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js.map → empty-cj898km1r8xwuw44.js.map} +1 -1
- package/dist/chunks/{field-csje72m7j9403fj5.js → field-krp6z6vfbkrvufz2.js} +3 -3
- package/dist/chunks/{field-csje72m7j9403fj5.js.map → field-krp6z6vfbkrvufz2.js.map} +1 -1
- package/dist/chunks/input-area-no30c09udyjxshu5.js +78 -0
- package/dist/chunks/input-area-no30c09udyjxshu5.js.map +1 -0
- package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js → input-group-lxdd09p60cf27pe1.js} +26 -26
- package/dist/chunks/input-group-lxdd09p60cf27pe1.js.map +1 -0
- package/dist/chunks/{input-c8jmidy7gdqfiky1.js → input-h48k3uagzrgb98au.js} +40 -36
- package/dist/chunks/input-h48k3uagzrgb98au.js.map +1 -0
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js → label-latndvb1ngem7we8.js} +3 -3
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js.map → label-latndvb1ngem7we8.js.map} +1 -1
- package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js → layer-card-l5yjvrxry1dhte57.js} +8 -8
- package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js.map → layer-card-l5yjvrxry1dhte57.js.map} +1 -1
- package/dist/chunks/{link-o7yfj4kwgl19fklp.js → link-hn5ejal7nhh0o0b4.js} +2 -2
- package/dist/chunks/{link-o7yfj4kwgl19fklp.js.map → link-hn5ejal7nhh0o0b4.js.map} +1 -1
- package/dist/chunks/{loader-m5wfmqwgucrr4i5v.js → loader-hr2w7cpqeev3p3vl.js} +9 -6
- package/dist/chunks/loader-hr2w7cpqeev3p3vl.js.map +1 -0
- package/dist/chunks/{menubar-g1wqqjuyyfvsim83.js → menubar-f1pilzooe5mue7c4.js} +20 -20
- package/dist/chunks/menubar-f1pilzooe5mue7c4.js.map +1 -0
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js → meter-gfa1hz9fhjnvx784.js} +2 -2
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js.map → meter-gfa1hz9fhjnvx784.js.map} +1 -1
- package/dist/chunks/pagination-cu5lm6p5dxuycta4.js +243 -0
- package/dist/chunks/pagination-cu5lm6p5dxuycta4.js.map +1 -0
- package/dist/chunks/{popover-jurf834u2uywluux.js → popover-h300w4vit0s2ayej.js} +31 -28
- package/dist/chunks/popover-h300w4vit0s2ayej.js.map +1 -0
- package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js +18 -0
- package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js.map +1 -0
- package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js → radio-jouttv89lbvhs55r.js} +47 -50
- package/dist/chunks/radio-jouttv89lbvhs55r.js.map +1 -0
- package/dist/chunks/select-kva5ru5f673kah1m.js +179 -0
- package/dist/chunks/select-kva5ru5f673kah1m.js.map +1 -0
- package/dist/chunks/{sensitive-input-lvtccf3iqc06lj7b.js → sensitive-input-hd4tpqkzifad1yca.js} +90 -84
- package/dist/chunks/sensitive-input-hd4tpqkzifad1yca.js.map +1 -0
- package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js → sidebar-hljy3ssm8itc0ucx.js} +5 -5
- package/dist/chunks/sidebar-hljy3ssm8itc0ucx.js.map +1 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
- package/dist/chunks/surface-cilvbyhmyujz1bee.js +36 -0
- package/dist/chunks/surface-cilvbyhmyujz1bee.js.map +1 -0
- package/dist/chunks/switch-ihaydbzem62bey4p.js +243 -0
- package/dist/chunks/switch-ihaydbzem62bey4p.js.map +1 -0
- package/dist/chunks/table-inweecadl3her7pd.js +183 -0
- package/dist/chunks/table-inweecadl3her7pd.js.map +1 -0
- package/dist/chunks/tabs-e7eh7l3mpk3xgmwq.js +92 -0
- package/dist/chunks/{tabs-n0t7iro7wr0pzgk2.js.map → tabs-e7eh7l3mpk3xgmwq.js.map} +1 -1
- package/dist/chunks/{text-gzt92mlji1lug13d.js → text-nmyi1rkwdj37f30f.js} +24 -22
- package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +1 -0
- package/dist/chunks/{toast-r9ajsces7xp8l85w.js → toast-bpz6iaq54u9jmuu8.js} +62 -60
- package/dist/chunks/toast-bpz6iaq54u9jmuu8.js.map +1 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
- package/dist/chunks/{tooltip-hnc71tg4gz2gpcvc.js → tooltip-belkznz8t8333h5f.js} +28 -21
- package/dist/chunks/tooltip-belkznz8t8333h5f.js.map +1 -0
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js → vendor-base-ui-k7bzesq81ie36nya.js} +55 -51
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js.map → vendor-base-ui-k7bzesq81ie36nya.js.map} +1 -1
- package/dist/code/server.js +10 -9
- package/dist/code/server.js.map +1 -1
- package/dist/code.js +3 -2
- package/dist/code.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/chart.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/flow.js +5 -4
- package/dist/components/flow.js.map +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/loader.js +2 -2
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/index.js +76 -74
- package/dist/index.js.map +1 -1
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/scripts/theme-generator/config.d.ts.map +1 -1
- package/dist/scripts/theme-generator/config.js +226 -43
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/code/provider.d.ts.map +1 -1
- package/dist/src/code/server.d.ts.map +1 -1
- package/dist/src/code/types.d.ts +1 -1
- package/dist/src/code/types.d.ts.map +1 -1
- package/dist/src/components/badge/badge.d.ts +76 -21
- package/dist/src/components/badge/badge.d.ts.map +1 -1
- package/dist/src/components/banner/banner.d.ts +5 -3
- package/dist/src/components/banner/banner.d.ts.map +1 -1
- package/dist/src/components/button/button.d.ts +4 -2
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/src/components/clipboard-text/clipboard-text.d.ts +2 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
- package/dist/src/components/code/code.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.d.ts +8 -1
- package/dist/src/components/combobox/combobox.d.ts.map +1 -1
- package/dist/src/components/command-palette/command-palette.d.ts +9 -2
- package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/src/components/command-palette/types.d.ts +7 -0
- package/dist/src/components/command-palette/types.d.ts.map +1 -1
- package/dist/src/components/dialog/dialog.d.ts +8 -1
- package/dist/src/components/dialog/dialog.d.ts.map +1 -1
- package/dist/src/components/dropdown/dropdown.d.ts +17 -2
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/src/components/flow/diagram.d.ts.map +1 -1
- package/dist/src/components/input/input-area.d.ts.map +1 -1
- package/dist/src/components/input/input.d.ts +1 -2
- package/dist/src/components/input/input.d.ts.map +1 -1
- package/dist/src/components/loader/loader.d.ts +7 -1
- package/dist/src/components/loader/loader.d.ts.map +1 -1
- package/dist/src/components/loader/skeleton-line.d.ts +2 -1
- package/dist/src/components/loader/skeleton-line.d.ts.map +1 -1
- package/dist/src/components/pagination/pagination.d.ts +11 -1
- package/dist/src/components/pagination/pagination.d.ts.map +1 -1
- package/dist/src/components/popover/popover.d.ts +8 -1
- package/dist/src/components/popover/popover.d.ts.map +1 -1
- package/dist/src/components/radio/radio.d.ts +1 -1
- package/dist/src/components/radio/radio.d.ts.map +1 -1
- package/dist/src/components/select/select.d.ts +74 -3
- package/dist/src/components/select/select.d.ts.map +1 -1
- package/dist/src/components/sensitive-input/sensitive-input.d.ts +1 -1
- package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
- package/dist/src/components/surface/surface.d.ts +23 -23
- package/dist/src/components/surface/surface.d.ts.map +1 -1
- package/dist/src/components/switch/switch.d.ts.map +1 -1
- package/dist/src/components/table/table.d.ts +34 -2
- package/dist/src/components/table/table.d.ts.map +1 -1
- package/dist/src/components/tabs/tabs.d.ts.map +1 -1
- package/dist/src/components/text/text.d.ts +5 -0
- package/dist/src/components/text/text.d.ts.map +1 -1
- package/dist/src/components/toast/toast.d.ts +16 -9
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts +21 -6
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/portal-provider.d.ts +56 -0
- package/dist/src/utils/portal-provider.d.ts.map +1 -0
- package/dist/styles/kumo-binding.css +52 -46
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-fedramp.css +6 -6
- package/dist/styles/theme-kumo.css +183 -64
- package/dist/utils.js +8 -6
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/scripts/component-registry/index.test.ts +4 -4
- package/scripts/component-registry/metadata.ts +3 -3
- package/scripts/theme-generator/config.ts +236 -43
- package/dist/chunks/Legend-bov5dqf08wemc2qj.js.map +0 -1
- package/dist/chunks/badge-mrshucy2530o70cq.js +0 -56
- package/dist/chunks/badge-mrshucy2530o70cq.js.map +0 -1
- package/dist/chunks/banner-vzdjbqsb6em7tmdk.js +0 -75
- package/dist/chunks/banner-vzdjbqsb6em7tmdk.js.map +0 -1
- package/dist/chunks/button-j0hi0afn33w9lxgi.js.map +0 -1
- package/dist/chunks/checkbox-lawmt1894wr6rpgi.js.map +0 -1
- package/dist/chunks/clipboard-text-ohx8kkpxisz382rj.js.map +0 -1
- package/dist/chunks/code-liq1g6f5lhee305d.js.map +0 -1
- package/dist/chunks/combobox-ft0u7rfaxawk0r0c.js.map +0 -1
- package/dist/chunks/command-palette-b31nq4wk7o7gx4sa.js.map +0 -1
- package/dist/chunks/dialog-l5tmwxrzp9g83jmw.js.map +0 -1
- package/dist/chunks/dropdown-icy3xatdwhzr4une.js.map +0 -1
- package/dist/chunks/input-area-jko15sbc6zeage3l.js +0 -74
- package/dist/chunks/input-area-jko15sbc6zeage3l.js.map +0 -1
- package/dist/chunks/input-c8jmidy7gdqfiky1.js.map +0 -1
- package/dist/chunks/input-group-cjsy8kh4vf9312xl.js.map +0 -1
- package/dist/chunks/loader-m5wfmqwgucrr4i5v.js.map +0 -1
- package/dist/chunks/menubar-g1wqqjuyyfvsim83.js.map +0 -1
- package/dist/chunks/pagination-e3dp8bd80s35f7sd.js +0 -224
- package/dist/chunks/pagination-e3dp8bd80s35f7sd.js.map +0 -1
- package/dist/chunks/popover-jurf834u2uywluux.js.map +0 -1
- package/dist/chunks/radio-l9dzm6sohcvvrsdc.js.map +0 -1
- package/dist/chunks/select-hnt87e3cfos48qql.js +0 -130
- package/dist/chunks/select-hnt87e3cfos48qql.js.map +0 -1
- package/dist/chunks/sensitive-input-lvtccf3iqc06lj7b.js.map +0 -1
- package/dist/chunks/sidebar-l6rk9o5qf8k5vth1.js.map +0 -1
- package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js +0 -28
- package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js.map +0 -1
- package/dist/chunks/surface-dhshylwccuaz91d1.js +0 -21
- package/dist/chunks/surface-dhshylwccuaz91d1.js.map +0 -1
- package/dist/chunks/switch-fukrbip86khvqjn7.js +0 -241
- package/dist/chunks/switch-fukrbip86khvqjn7.js.map +0 -1
- package/dist/chunks/table-orfgzwvxh8yr90dk.js +0 -155
- package/dist/chunks/table-orfgzwvxh8yr90dk.js.map +0 -1
- package/dist/chunks/tabs-n0t7iro7wr0pzgk2.js +0 -86
- package/dist/chunks/text-gzt92mlji1lug13d.js.map +0 -1
- package/dist/chunks/toast-r9ajsces7xp8l85w.js.map +0 -1
- package/dist/chunks/tooltip-hnc71tg4gz2gpcvc.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,168 @@
|
|
|
1
1
|
# @cloudflare/kumo
|
|
2
2
|
|
|
3
|
+
## 1.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b1e51a8: Add Enter key navigation to Pagination page number input and new `pageSelector` prop for dropdown mode
|
|
8
|
+
- The page number input in `Pagination.Controls` now navigates on Enter key press (previously only on blur)
|
|
9
|
+
- New `pageSelector` prop on `Pagination.Controls`: set to `"dropdown"` to render a Select dropdown instead of a text input for page selection
|
|
10
|
+
|
|
11
|
+
- e676f0b: Add disabled option support, groups, group labels, and separators to Select
|
|
12
|
+
- `Select.Option` now accepts `disabled` and `className` props
|
|
13
|
+
- New `Select.Group` and `Select.GroupLabel` sub-components for organizing options under labeled headers
|
|
14
|
+
- New `Select.Separator` sub-component for visual dividers between groups
|
|
15
|
+
- The `items` object-map prop now accepts `SelectItemDescriptor` values with `disabled` metadata
|
|
16
|
+
|
|
17
|
+
- a685953: Expose `delay` and `closeDelay` props on Tooltip component to control open and close timing. These props are forwarded to the underlying Base UI Trigger component.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- dacf445: Input and InputArea now automatically apply error styling when the `error` prop is truthy. You no longer need to set `variant="error"` separately - just pass an error message and the styling is applied automatically. The `variant="error"` prop is now deprecated but still works for backwards compatibility.
|
|
22
|
+
- 44c26f5: Adjust semantic tint usage for status/error ring styles across core form and feedback components.
|
|
23
|
+
- Update background styles in `Badge` and `Banner` components to use `*-tint` tokens.
|
|
24
|
+
- Update `kumo-danger` to a darker token to improve a11y contrast.
|
|
25
|
+
- Update error ring styling in form components to use semantic tokens (now darker with token swap).
|
|
26
|
+
- Removed `text-color-badge-red-subtle` token in replacement of the `danger` token.
|
|
27
|
+
- Update theme generator color mappings used by these tints to improve visual consistency.
|
|
28
|
+
|
|
29
|
+
- 2bb8628: Fix CodeBlock crash when an unsupported `lang` value is passed at runtime. The `codeVariants()` function now uses optional chaining with a nullish coalescing fallback to the default language, matching the defensive pattern already used by `switchVariants()` and `badgeVariants()`.
|
|
30
|
+
- e8bcf6f: fix(select): use ring-kumo-hairline token in Select popup (missed in PR #355)
|
|
31
|
+
- c3beded: Fix Select popup scrolling and height behavior; align popup/list structure with Base UI. Split popup into frame (Popup) and scroll container (List) to match Combobox pattern and fix touch scroll on long lists.
|
|
32
|
+
- 4a2fb02: fix(loader): add ARIA attributes for screen reader accessibility
|
|
33
|
+
|
|
34
|
+
Added `role="status"` and `aria-label="Loading"` to the Loader SVG component to make it accessible to screen readers. This resolves a WCAG 2.1 SC 4.1.3 (Status Messages) violation where assistive technology users received no indication that content was loading.
|
|
35
|
+
|
|
36
|
+
- 5e4c7b1: Refine badge semantics/fill styling and banner tone updates
|
|
37
|
+
- Rework `Badge` variant model to prioritize semantic variants (`primary`, `secondary`, `error`, `warning`, `success`, `info`) with updated descriptions and `primary` as default.
|
|
38
|
+
- Keep token color variants for product-specific use cases while updating class mappings so semantic and token variants are distinct.
|
|
39
|
+
- Slight updates to token color variants to meet a11y contrast requirements.
|
|
40
|
+
- Update token color variants by replacing `yellow` with `purple` since `yellow` doesn't meet a11y contrast requirements, and keeping docs/demo examples in sync.
|
|
41
|
+
- Update badge docs demos/content to focus on primary semantic badges and a consolidated "other variants" section.
|
|
42
|
+
- Adjust banner variant surfaces (`default`, `alert`, `error`) to stronger tinted backgrounds and borders.
|
|
43
|
+
- Update theme generator badge/semantic token mappings and regenerate `theme-kumo.css` to match the new badge color system.
|
|
44
|
+
|
|
45
|
+
- 6458fae: Fix Switch label click not toggling when a custom `id` prop is provided
|
|
46
|
+
|
|
47
|
+
The `id` was not being forwarded to Base UI's `Switch.Root`, causing a mismatch between the label's `htmlFor` and the button's actual `id`.
|
|
48
|
+
|
|
49
|
+
- cf6b917: Align semantic token documentation and docs presentation updates.
|
|
50
|
+
- Update `colors.mdx` token documentation structure.
|
|
51
|
+
- Replaced `kumo-ring` with `kumo-hairline` for border/ring colors and all its instances in kumo components and docs.
|
|
52
|
+
- Sync `packages/kumo/ai/USAGE.md` token reference categories and descriptions with the docs token guide.
|
|
53
|
+
- Adjust the typo in the recessed dark token value in theme generator config and regenerate `theme-kumo.css`.
|
|
54
|
+
- Updated `kumo-fill-hover` token value from `neutral-700` to `neutral-800`
|
|
55
|
+
|
|
56
|
+
## 1.17.0
|
|
57
|
+
|
|
58
|
+
### Minor Changes
|
|
59
|
+
|
|
60
|
+
- 355a1b5: Badge: add color-based variants and deprecate semantic variants
|
|
61
|
+
- Add color variants: `red`, `orange`, `yellow`, `green`, `teal`, `blue`, `neutral`, `inverted`
|
|
62
|
+
- Add subtle variants for each color (`red-subtle`, `orange-subtle`, etc.) with lighter backgrounds and darker text
|
|
63
|
+
- Retain `outline` and `beta` variants unchanged
|
|
64
|
+
- Deprecate `primary` (use `inverted`), `secondary` (use `neutral`), `destructive` (use `red`), `success` (use `green`)
|
|
65
|
+
- Dark mode support: subtle variants flip to dark backgrounds with light text, regular color variants darken slightly, inverted flips to white bg with black text
|
|
66
|
+
- Default variant changed from `primary` to `neutral`
|
|
67
|
+
|
|
68
|
+
- 250a6dd: Add `action` prop to Banner for rendering CTA buttons alongside structured title/description content without resorting to the `children` prop.
|
|
69
|
+
- 8c244d2: Refresh semantic surface color tokens and component surface usage.
|
|
70
|
+
- Add and adopt `kumo-canvas` as the page-level surface token in theme output and docs usage.
|
|
71
|
+
- Rebalance neutral token values in `kumo-binding.css` and generated theme variables for improved light/dark surface hierarchy.
|
|
72
|
+
- Update surface-related component styling (`LayerCard`, `MenuBar`, `Tabs`) to align with the refreshed `canvas`/`elevated`/`recessed` layering model.
|
|
73
|
+
- Update token usage guidance in `ai/USAGE.md` to reflect page vs component background roles.
|
|
74
|
+
|
|
75
|
+
- ef15662: Make timeseries' highlighted on hovering a data point
|
|
76
|
+
- cd0c22f: Add Shadow DOM support via `KumoPortalProvider` and `container` prop on all portal-based components
|
|
77
|
+
|
|
78
|
+
All overlay components (Dialog, DropdownMenu, Combobox, Select, Tooltip, Popover, CommandPalette, Toast) now support rendering inside Shadow DOM or custom containers.
|
|
79
|
+
|
|
80
|
+
**New exports:**
|
|
81
|
+
- `KumoPortalProvider` - Context provider to set default portal container for all overlays
|
|
82
|
+
- `PortalContainer` - Type for portal container (HTMLElement, ShadowRoot, or ref)
|
|
83
|
+
|
|
84
|
+
**Component updates:**
|
|
85
|
+
All portal-based components now accept an optional `container` prop:
|
|
86
|
+
- `Dialog` - `container` prop on Dialog component
|
|
87
|
+
- `DropdownMenu.Content` - `container` prop
|
|
88
|
+
- `Combobox.Content` - `container` prop
|
|
89
|
+
- `Select` - `container` prop
|
|
90
|
+
- `Tooltip` - `container` prop
|
|
91
|
+
- `Popover.Content` - `container` prop
|
|
92
|
+
- `CommandPalette.Root` and `CommandPalette.Dialog` - `container` prop
|
|
93
|
+
- `Toasty` (Toast provider) - `container` prop
|
|
94
|
+
|
|
95
|
+
**Usage:**
|
|
96
|
+
|
|
97
|
+
Set once at the app level:
|
|
98
|
+
|
|
99
|
+
```tsx
|
|
100
|
+
<KumoPortalProvider container={shadowRoot}>
|
|
101
|
+
<App />
|
|
102
|
+
</KumoPortalProvider>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Or override per component:
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
<Dialog container={customContainer}>
|
|
109
|
+
<Dialog.Title>Modal inside shadow DOM</Dialog.Title>
|
|
110
|
+
</Dialog>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
When no provider or prop is set, components default to `document.body` (existing behavior).
|
|
114
|
+
|
|
115
|
+
- 17f21f3: SkeletonLine: add `blockHeight` prop to set a container height and vertically center the skeleton line within it
|
|
116
|
+
- d1f697b: Table: add `sticky` prop to `Table.Head` and `Table.Cell` for pinning columns to left/right edges, and `sticky` prop to `Table.Header` for sticky header rows. Uses `isolate` stacking context with `z-0`/`z-1`/`z-2` layering.
|
|
117
|
+
- 56e3640: Add `toml` as a supported language for syntax highlighting in the Code component
|
|
118
|
+
- f0c8952: Add `title` prop to `Button` — wraps the button in a `Tooltip` when provided.
|
|
119
|
+
|
|
120
|
+
### Patch Changes
|
|
121
|
+
|
|
122
|
+
- 7721bc5: Checkbox.Group & Radio.Group: remove fieldset border box and simplify styling
|
|
123
|
+
- Remove `rounded-lg border border-kumo-line p-4` wrapper from both group fieldsets
|
|
124
|
+
- Downsize legend from `text-lg` to `text-base` with inline-flex layout
|
|
125
|
+
- Drop `font-medium` from Checkbox.Item and Radio.Item labels
|
|
126
|
+
|
|
127
|
+
- 6c21970: Fix missing disabled styling on Combobox triggers. `TriggerValue` and `TriggerMultipleWithInput` now apply `opacity-50` and `cursor-not-allowed` when disabled, matching the behaviour of the `Select` component.
|
|
128
|
+
- 0e4247a: Update dialog backdrop overlay to use `bg-kumo-recessed` token
|
|
129
|
+
- 0060bb9: Remove `ai/schemas.ts` from version control (now fully generated at build time)
|
|
130
|
+
- 04a1f07: Fix LayerCard.Primary stacking order when sandwiched between LayerCard.Secondary elements
|
|
131
|
+
- 94d50e2: Fix SensitiveInput focus ring and global CSS pollution
|
|
132
|
+
- Fix focus ring not showing on container when inner input is focused (focus-within:outline)
|
|
133
|
+
- Add defensive styles to eye toggle and copy buttons to prevent global CSS pollution
|
|
134
|
+
- Fix inputVariants parentFocusIndicator using wrong selector ([&:has(:focus-within)] → focus-within:)
|
|
135
|
+
|
|
136
|
+
- db75c51: SkeletonLine: move `.skeleton-line` styles into `@layer base` so Tailwind utility classes (e.g. `className="h-6"`) can override the default height
|
|
137
|
+
- eb68b35: Tabs indicator now uses `translate-x` for its transition animation, replacing the CSS `left` transition with a GPU-accelerated transform.
|
|
138
|
+
- e21a6df: fix flow component not reflecting padding prop
|
|
139
|
+
- 29c56fd: `Surface`: replace `as` prop with Base UI `render` prop for polymorphism
|
|
140
|
+
|
|
141
|
+
The `as` prop used a hand-rolled generic `forwardRef` pattern (with `as any` casts) that conflicted with how the rest of the library handles polymorphism via Base UI's `useRender` hook.
|
|
142
|
+
|
|
143
|
+
`Surface` now accepts a `render` prop, consistent with `Link` and other components. The old `as` prop is kept as a deprecated alias and continues to work unchanged — no migration required.
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
// Still works (deprecated)
|
|
147
|
+
<Surface as="section">...</Surface>
|
|
148
|
+
|
|
149
|
+
// Preferred going forward
|
|
150
|
+
<Surface render={<section />}>...</Surface>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- 9272b4a: Switch: polish squircle styling
|
|
154
|
+
- Use `ring-inset` on thumb to prevent border protruding beyond the track
|
|
155
|
+
- Make thumb ring transparent to remove visible border outline
|
|
156
|
+
- Switch focus indicator from `ring` to `outline` with `outline-offset-2` to avoid clashing with the track's own ring border
|
|
157
|
+
|
|
158
|
+
- 6b15bac: fix(Tabs): update segmented tab spacing and track styling
|
|
159
|
+
- Adjust segmented `Tabs` list styling colour to `bg-kumo-recessed` and added `ring` to make the Tabs background more visible
|
|
160
|
+
- Remove extra edge spacing and keep the segmented track/indicator alignment consistent
|
|
161
|
+
|
|
162
|
+
- cfe814d: update toast styling to use a subtle ring and background that reflect each state.
|
|
163
|
+
- 7ac73d2: update status text token values for info and danger to improve a11y contrast ratio on banners.
|
|
164
|
+
- dcbf185: Add `truncate` prop to `Text` component. When `true`, applies `truncate min-w-0` classes to clip overflowing text with an ellipsis.
|
|
165
|
+
|
|
3
166
|
## 1.16.0
|
|
4
167
|
|
|
5
168
|
### Minor Changes
|
package/ai/USAGE.md
CHANGED
|
@@ -73,44 +73,52 @@ import { Button, Input, Dialog } from "@cloudflare/kumo";
|
|
|
73
73
|
|
|
74
74
|
## Semantic Token Reference
|
|
75
75
|
|
|
76
|
+
### Surface Hierarchy
|
|
77
|
+
| Token | Purpose |
|
|
78
|
+
|-------|---------|
|
|
79
|
+
| `bg-kumo-canvas` | The outermost page background — sits behind everything |
|
|
80
|
+
| `bg-kumo-base` | Default component background |
|
|
81
|
+
| `bg-kumo-elevated` | Slightly elevated surface, e.g. `LayerCard.Secondary` |
|
|
82
|
+
| `bg-kumo-recessed` | Recessed surface with a subtly darker fill, e.g. segmented `Tabs` background |
|
|
83
|
+
| `bg-kumo-tint` | Subtle tinted background for tables or hover states |
|
|
84
|
+
| `bg-kumo-contrast` | High-contrast, inverted background |
|
|
85
|
+
|
|
86
|
+
### Brand
|
|
87
|
+
| Token | Purpose |
|
|
88
|
+
|-------|---------|
|
|
89
|
+
| `bg-kumo-brand` | Primary brand background |
|
|
90
|
+
| `bg-kumo-brand-hover` | Hover state for brand backgrounds |
|
|
91
|
+
|
|
92
|
+
### Semantic Status Colors
|
|
93
|
+
| Token | Purpose |
|
|
94
|
+
|-------|---------|
|
|
95
|
+
| `bg-kumo-info` | Info indicator (icon, dot, bar) |
|
|
96
|
+
| `bg-kumo-success` | Success indicator |
|
|
97
|
+
| `bg-kumo-warning` | Warning indicator |
|
|
98
|
+
| `bg-kumo-danger` | Error/destructive indicator |
|
|
99
|
+
|
|
100
|
+
Use the solid token on icons, status dots, and progress fills. Banners and badges use the solid fills with a reduced opacity.
|
|
101
|
+
|
|
76
102
|
### Text Colors
|
|
77
103
|
| Token | Purpose |
|
|
78
104
|
|-------|---------|
|
|
79
|
-
| `text-kumo-default` | Primary text |
|
|
80
|
-
| `text-kumo-
|
|
81
|
-
| `text-kumo-
|
|
82
|
-
| `text-kumo-
|
|
105
|
+
| `text-kumo-default` | Primary body text |
|
|
106
|
+
| `text-kumo-strong` | Secondary text with slightly less contrast than default |
|
|
107
|
+
| `text-kumo-subtle` | Muted text for descriptions, captions, or secondary labels |
|
|
108
|
+
| `text-kumo-inactive` | Disabled or inactive text |
|
|
109
|
+
| `text-kumo-placeholder` | Placeholder text in inputs |
|
|
110
|
+
| `text-kumo-inverse` | Text intended for use on high-contrast or inverted backgrounds |
|
|
83
111
|
| `text-kumo-link` | Link text |
|
|
112
|
+
| `text-kumo-info` | Info-colored text |
|
|
113
|
+
| `text-kumo-success` | Success-colored text |
|
|
114
|
+
| `text-kumo-warning` | Warning-colored text |
|
|
84
115
|
| `text-kumo-danger` | Error/destructive text |
|
|
85
|
-
| `text-kumo-success` | Success text |
|
|
86
|
-
| `text-kumo-warning` | Warning text |
|
|
87
|
-
| `text-kumo-brand` | Brand-colored text |
|
|
88
116
|
|
|
89
|
-
###
|
|
90
|
-
| Token | Purpose |
|
|
91
|
-
|-------|---------|
|
|
92
|
-
| `bg-kumo-base` | Page/card background |
|
|
93
|
-
| `bg-kumo-elevated` | Slightly elevated surface |
|
|
94
|
-
| `bg-kumo-overlay` | Overlay/hover background |
|
|
95
|
-
| `bg-kumo-contrast` | High-contrast background (inverted) |
|
|
96
|
-
| `bg-kumo-control` | Form control background |
|
|
97
|
-
| `bg-kumo-fill` | Muted fill (borders, badges) |
|
|
98
|
-
| `bg-kumo-fill-hover` | Hover state for fills |
|
|
99
|
-
| `bg-kumo-tint` | Subtle tinted background |
|
|
100
|
-
| `bg-kumo-interact` | Interactive element background |
|
|
101
|
-
| `bg-kumo-brand` | Brand primary background |
|
|
102
|
-
| `bg-kumo-brand-hover` | Brand hover background |
|
|
103
|
-
| `bg-kumo-danger` | Error/destructive background |
|
|
104
|
-
| `bg-kumo-success` | Success background |
|
|
105
|
-
| `bg-kumo-warning` | Warning background |
|
|
106
|
-
|
|
107
|
-
### Border/Ring Colors
|
|
117
|
+
### Borders & Rings
|
|
108
118
|
| Token | Purpose |
|
|
109
119
|
|-------|---------|
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `ring-kumo-line` | Default ring (input borders) |
|
|
113
|
-
| `ring-kumo-ring` | Focus ring |
|
|
120
|
+
| `kumo-hairline` | A border/ring color to distinguish between flat surfaces where no shadow is present (i.e. `LayerCard`). |
|
|
121
|
+
| `kumo-line` | A thicker border/ring color that defines the edge of an elevated surface alongside a shadow. |
|
|
114
122
|
|
|
115
123
|
## Icons
|
|
116
124
|
|