@cloudflare/kumo 2.5.2 → 2.6.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 +24 -0
- package/ai/component-registry.json +166 -119
- package/ai/component-registry.md +168 -50
- package/ai/schemas.ts +23 -12
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +75 -48
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +207 -197
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/SankeyChart-g1tng405ml2e0qg2.js +890 -0
- package/dist/chunks/SankeyChart-g1tng405ml2e0qg2.js.map +1 -0
- package/dist/chunks/{autocomplete-d52negr21cedr4rm.js → autocomplete-hgprlcuf0ixbbo6d.js} +18 -18
- package/dist/chunks/{autocomplete-d52negr21cedr4rm.js.map → autocomplete-hgprlcuf0ixbbo6d.js.map} +1 -1
- package/dist/chunks/{breadcrumbs-bfuf7g8hh36rg7h8.js → breadcrumbs-lyj8ljudrm2owx5y.js} +2 -2
- package/dist/chunks/{breadcrumbs-bfuf7g8hh36rg7h8.js.map → breadcrumbs-lyj8ljudrm2owx5y.js.map} +1 -1
- package/dist/chunks/button-gtdhvogt5rlrf1is.js +237 -0
- package/dist/chunks/button-gtdhvogt5rlrf1is.js.map +1 -0
- package/dist/chunks/{checkbox-bt4nfv1i2142kykg.js → checkbox-byg8t8r9vbmif696.js} +3 -3
- package/dist/chunks/{checkbox-bt4nfv1i2142kykg.js.map → checkbox-byg8t8r9vbmif696.js.map} +1 -1
- package/dist/chunks/{clipboard-text-h3oi6wm5vj2q7q4h.js → clipboard-text-lf909phvldd8rfk8.js} +4 -4
- package/dist/chunks/{clipboard-text-h3oi6wm5vj2q7q4h.js.map → clipboard-text-lf909phvldd8rfk8.js.map} +1 -1
- package/dist/chunks/{collapsible-nzqcf9zwnjkxqzr6.js → collapsible-dl61f8gd4j897hmv.js} +4 -4
- package/dist/chunks/{collapsible-nzqcf9zwnjkxqzr6.js.map → collapsible-dl61f8gd4j897hmv.js.map} +1 -1
- package/dist/chunks/{combobox-l6qcou2s3xmsbplp.js → combobox-dxff22zxzq846nec.js} +4 -4
- package/dist/chunks/{combobox-l6qcou2s3xmsbplp.js.map → combobox-dxff22zxzq846nec.js.map} +1 -1
- package/dist/chunks/{command-palette-fqhyacp33fhyf696.js → command-palette-i4r0402b838wiy0j.js} +21 -21
- package/dist/chunks/{command-palette-fqhyacp33fhyf696.js.map → command-palette-i4r0402b838wiy0j.js.map} +1 -1
- package/dist/chunks/{dialog-3mpu1i1wssrsz8i6.js → dialog-g1b8161nbyixdit0.js} +7 -7
- package/dist/chunks/{dialog-3mpu1i1wssrsz8i6.js.map → dialog-g1b8161nbyixdit0.js.map} +1 -1
- package/dist/chunks/{dropdown-g4sb4cw9ffqaw5gx.js → dropdown-irp18txvgz8590e9.js} +27 -27
- package/dist/chunks/{dropdown-g4sb4cw9ffqaw5gx.js.map → dropdown-irp18txvgz8590e9.js.map} +1 -1
- package/dist/chunks/{empty-frsjvok4w6i0fyex.js → empty-daa6d7u9oleaw24a.js} +2 -2
- package/dist/chunks/{empty-frsjvok4w6i0fyex.js.map → empty-daa6d7u9oleaw24a.js.map} +1 -1
- package/dist/chunks/{field-m57qcw5b1zt1ohfz.js → field-f1hy08um3jf9jos6.js} +3 -3
- package/dist/chunks/{field-m57qcw5b1zt1ohfz.js.map → field-f1hy08um3jf9jos6.js.map} +1 -1
- package/dist/chunks/{input-area-o2avpahffav0gydf.js → input-area-bwyujceeulpfkpxv.js} +4 -4
- package/dist/chunks/{input-area-o2avpahffav0gydf.js.map → input-area-bwyujceeulpfkpxv.js.map} +1 -1
- package/dist/chunks/{input-iahz0dpc9xdar2ju.js → input-f2ct7obgdzypjmp2.js} +3 -3
- package/dist/chunks/{input-iahz0dpc9xdar2ju.js.map → input-f2ct7obgdzypjmp2.js.map} +1 -1
- package/dist/chunks/{input-group-os810pmsqcftt6mq.js → input-group-kcd3jin5pbdijmw8.js} +5 -5
- package/dist/chunks/{input-group-os810pmsqcftt6mq.js.map → input-group-kcd3jin5pbdijmw8.js.map} +1 -1
- package/dist/chunks/{label-kib2hn4pkbn28c31.js → label-himqjkdhh0hgfdsa.js} +3 -3
- package/dist/chunks/{label-kib2hn4pkbn28c31.js.map → label-himqjkdhh0hgfdsa.js.map} +1 -1
- package/dist/chunks/{layer-card-er4flkcxmzfug8jw.js → layer-card-cshi5vydqg3phyfx.js} +2 -2
- package/dist/chunks/{layer-card-er4flkcxmzfug8jw.js.map → layer-card-cshi5vydqg3phyfx.js.map} +1 -1
- package/dist/chunks/{link-i6vnwyjcwvjz5btm.js → link-bw21ofmgg58igq5n.js} +4 -4
- package/dist/chunks/{link-i6vnwyjcwvjz5btm.js.map → link-bw21ofmgg58igq5n.js.map} +1 -1
- package/dist/chunks/{menubar-ng5if56amh1tto4j.js → menubar-m12wcbbucuszspw4.js} +2 -2
- package/dist/chunks/{menubar-ng5if56amh1tto4j.js.map → menubar-m12wcbbucuszspw4.js.map} +1 -1
- package/dist/chunks/{meter-d5igshkjqttl1fdj.js → meter-dn8vgc0smpk0du75.js} +4 -4
- package/dist/chunks/{meter-d5igshkjqttl1fdj.js.map → meter-dn8vgc0smpk0du75.js.map} +1 -1
- package/dist/chunks/{pagination-mvvg7qfvoqr5l4vt.js → pagination-oafyxvdndm9m8250.js} +3 -3
- package/dist/chunks/{pagination-mvvg7qfvoqr5l4vt.js.map → pagination-oafyxvdndm9m8250.js.map} +1 -1
- package/dist/chunks/{popover-ozf1j7oi7pxiudyz.js → popover-bbxr39l1lx175hum.js} +18 -18
- package/dist/chunks/{popover-ozf1j7oi7pxiudyz.js.map → popover-bbxr39l1lx175hum.js.map} +1 -1
- package/dist/chunks/radio-ffx05ih9nc764evh.js +226 -0
- package/dist/chunks/radio-ffx05ih9nc764evh.js.map +1 -0
- package/dist/chunks/{select-c79vjqmcytn2oujb.js → select-kl1skfh3pmwc33rp.js} +6 -6
- package/dist/chunks/{select-c79vjqmcytn2oujb.js.map → select-kl1skfh3pmwc33rp.js.map} +1 -1
- package/dist/chunks/{sensitive-input-mxbd0ayw2mbju4ii.js → sensitive-input-izmbyk1t7r56ciiq.js} +4 -4
- package/dist/chunks/{sensitive-input-mxbd0ayw2mbju4ii.js.map → sensitive-input-izmbyk1t7r56ciiq.js.map} +1 -1
- package/dist/chunks/{sidebar-dqw2uxx6xqln639l.js → sidebar-ior8rnhsd7gy5am5.js} +48 -48
- package/dist/chunks/sidebar-ior8rnhsd7gy5am5.js.map +1 -0
- package/dist/chunks/{surface-iyejjbqogjbo7ise.js → surface-g5a1buofz4erjov2.js} +2 -2
- package/dist/chunks/{surface-iyejjbqogjbo7ise.js.map → surface-g5a1buofz4erjov2.js.map} +1 -1
- package/dist/chunks/{switch-dld1q6qdzhe1uip7.js → switch-kh8a6l3l0hszm9h4.js} +3 -3
- package/dist/chunks/{switch-dld1q6qdzhe1uip7.js.map → switch-kh8a6l3l0hszm9h4.js.map} +1 -1
- package/dist/chunks/{table-l64wm81r9t67mtzm.js → table-dz2k55oab66h2vi9.js} +2 -2
- package/dist/chunks/{table-l64wm81r9t67mtzm.js.map → table-dz2k55oab66h2vi9.js.map} +1 -1
- package/dist/chunks/{tabs-ho9t1gkq22jb855l.js → tabs-kcw98wibdz4mhpkc.js} +2 -2
- package/dist/chunks/{tabs-ho9t1gkq22jb855l.js.map → tabs-kcw98wibdz4mhpkc.js.map} +1 -1
- package/dist/chunks/{toast-gewrapiiy5x9ak0o.js → toast-dkdo1lu72tnefya6.js} +7 -7
- package/dist/chunks/{toast-gewrapiiy5x9ak0o.js.map → toast-dkdo1lu72tnefya6.js.map} +1 -1
- package/dist/chunks/toolbar-o7xe6pd189evdd53.js +172 -0
- package/dist/chunks/toolbar-o7xe6pd189evdd53.js.map +1 -0
- package/dist/chunks/{tooltip-ken77ixya0qpidie.js → tooltip-eqnhjdbvwapy8gj4.js} +4 -4
- package/dist/chunks/{tooltip-ken77ixya0qpidie.js.map → tooltip-eqnhjdbvwapy8gj4.js.map} +1 -1
- package/dist/chunks/{vendor-base-ui-knphx7dts1vm1x37.js → vendor-base-ui-f9z44m829vvptrg0.js} +2209 -2207
- package/dist/chunks/{vendor-base-ui-knphx7dts1vm1x37.js.map → vendor-base-ui-f9z44m829vvptrg0.js.map} +1 -1
- package/dist/code.js +1 -1
- package/dist/components/autocomplete.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/collapsible.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/input-group.js +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/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/toast.js +2 -2
- package/dist/components/toolbar.js +8 -0
- package/dist/components/toolbar.js.map +1 -0
- package/dist/components/tooltip.js +1 -1
- package/dist/index.js +199 -195
- 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/otp-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 +13 -2
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/components/button/button.d.ts +2 -2
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/EChart.d.ts +12 -4
- package/dist/src/components/chart/EChart.d.ts.map +1 -1
- package/dist/src/components/chart/Legend.d.ts +11 -2
- package/dist/src/components/chart/Legend.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts +15 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/radio/index.d.ts +1 -1
- package/dist/src/components/radio/index.d.ts.map +1 -1
- package/dist/src/components/radio/radio.d.ts +49 -10
- package/dist/src/components/radio/radio.d.ts.map +1 -1
- package/dist/src/components/radio/radio.type-spec.d.ts +12 -0
- package/dist/src/components/radio/radio.type-spec.d.ts.map +1 -0
- package/dist/src/components/toolbar/index.d.ts +2 -0
- package/dist/src/components/toolbar/index.d.ts.map +1 -0
- package/dist/src/components/toolbar/toolbar.d.ts +50 -0
- package/dist/src/components/toolbar/toolbar.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-kumo.css +11 -4
- package/package.json +5 -1
- package/scripts/component-registry/discovery.ts +16 -11
- package/scripts/component-registry/metadata.ts +30 -0
- package/scripts/theme-generator/config.ts +14 -2
- package/dist/chunks/SankeyChart-i1m7zv0lys3j0iq6.js +0 -775
- package/dist/chunks/SankeyChart-i1m7zv0lys3j0iq6.js.map +0 -1
- package/dist/chunks/button-ov39dxshqbqrthhd.js +0 -210
- package/dist/chunks/button-ov39dxshqbqrthhd.js.map +0 -1
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js +0 -218
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js.map +0 -1
- package/dist/chunks/sidebar-dqw2uxx6xqln639l.js.map +0 -1
package/ai/component-registry.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### Autocomplete
|
|
8
8
|
|
|
9
|
-
Autocomplete — free-form text input with an optional filtered suggestion list.
|
|
9
|
+
Autocomplete — free-form text input with an optional filtered suggestion list.
|
|
10
10
|
|
|
11
11
|
**Type:** component
|
|
12
12
|
|
|
@@ -300,7 +300,7 @@ Small status label for categorizing or highlighting content.
|
|
|
300
300
|
|
|
301
301
|
**Colors (kumo tokens used):**
|
|
302
302
|
|
|
303
|
-
`bg-kumo-badge-blue`, `bg-kumo-badge-inverted`, `bg-kumo-badge-neutral`, `bg-kumo-badge-orange`, `bg-kumo-badge-purple`, `bg-kumo-badge-red`, `bg-kumo-badge-teal`, `bg-kumo-badge-teal-subtle`, `bg-kumo-danger-tint`, `bg-kumo-fill`, `bg-kumo-info-tint`, `bg-kumo-success`, `bg-kumo-success-tint`, `bg-kumo-warning-tint`, `border-kumo-brand`, `border-kumo-fill`, `ring-kumo-hairline`, `text-kumo-badge-inverted`, `text-kumo-badge-neutral-subtle`, `text-kumo-badge-teal-subtle`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-link`, `text-kumo-success`, `text-kumo-warning`
|
|
303
|
+
`bg-kumo-badge-blue`, `bg-kumo-badge-green`, `bg-kumo-badge-inverted`, `bg-kumo-badge-neutral`, `bg-kumo-badge-orange`, `bg-kumo-badge-purple`, `bg-kumo-badge-red`, `bg-kumo-badge-teal`, `bg-kumo-badge-teal-subtle`, `bg-kumo-danger-tint`, `bg-kumo-fill`, `bg-kumo-info-tint`, `bg-kumo-success`, `bg-kumo-success-tint`, `bg-kumo-warning-tint`, `border-kumo-brand`, `border-kumo-fill`, `ring-kumo-hairline`, `text-kumo-badge-inverted`, `text-kumo-badge-neutral-subtle`, `text-kumo-badge-teal-subtle`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-link`, `text-kumo-success`, `text-kumo-warning`
|
|
304
304
|
|
|
305
305
|
**Examples:**
|
|
306
306
|
|
|
@@ -321,6 +321,7 @@ Small status label for categorizing or highlighting content.
|
|
|
321
321
|
<div className="flex flex-wrap items-center gap-2">
|
|
322
322
|
<Badge variant="neutral">Neutral</Badge>
|
|
323
323
|
<Badge variant="red">Red</Badge>
|
|
324
|
+
<Badge variant="green">Green</Badge>
|
|
324
325
|
<Badge variant="orange">Orange</Badge>
|
|
325
326
|
<Badge variant="teal">Teal</Badge>
|
|
326
327
|
<Badge variant="blue">Blue</Badge>
|
|
@@ -628,8 +629,7 @@ Primary action trigger. Supports multiple variants, sizes, shapes, icons, and lo
|
|
|
628
629
|
|
|
629
630
|
**State Classes:**
|
|
630
631
|
- `"primary"`:
|
|
631
|
-
- `
|
|
632
|
-
- `disabled`: `disabled:bg-kumo-brand/50`
|
|
632
|
+
- `disabled`: `disabled:opacity-50`
|
|
633
633
|
- `"secondary"`:
|
|
634
634
|
- `not-disabled`: `not-disabled:hover:bg-kumo-tint`
|
|
635
635
|
- `disabled`: `disabled:bg-kumo-base/50 disabled:!text-kumo-default/70`
|
|
@@ -637,7 +637,7 @@ Primary action trigger. Supports multiple variants, sizes, shapes, icons, and lo
|
|
|
637
637
|
- `"ghost"`:
|
|
638
638
|
- `hover`: `hover:bg-kumo-tint`
|
|
639
639
|
- `"destructive"`:
|
|
640
|
-
- `
|
|
640
|
+
- `disabled`: `disabled:opacity-50`
|
|
641
641
|
- `"secondary-destructive"`:
|
|
642
642
|
- `not-disabled`: `not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30`
|
|
643
643
|
- `disabled`: `disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70`
|
|
@@ -660,7 +660,7 @@ Primary action trigger. Supports multiple variants, sizes, shapes, icons, and lo
|
|
|
660
660
|
|
|
661
661
|
**Colors (kumo tokens used):**
|
|
662
662
|
|
|
663
|
-
`bg-kumo-base`, `bg-kumo-
|
|
663
|
+
`bg-kumo-base`, `bg-kumo-tint`, `ring-kumo-brand`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
|
|
664
664
|
|
|
665
665
|
**Examples:**
|
|
666
666
|
|
|
@@ -1464,7 +1464,7 @@ Props:
|
|
|
1464
1464
|
|
|
1465
1465
|
### Collapsible
|
|
1466
1466
|
|
|
1467
|
-
Collapsible — a composable disclosure component for showing/hiding content.
|
|
1467
|
+
Collapsible — a composable disclosure component for showing/hiding content.
|
|
1468
1468
|
|
|
1469
1469
|
**Type:** component
|
|
1470
1470
|
|
|
@@ -1615,7 +1615,7 @@ Props:
|
|
|
1615
1615
|
|
|
1616
1616
|
### Combobox
|
|
1617
1617
|
|
|
1618
|
-
Combobox — autocomplete input with filterable dropdown list.
|
|
1618
|
+
Combobox — autocomplete input with filterable dropdown list.
|
|
1619
1619
|
|
|
1620
1620
|
**Type:** component
|
|
1621
1621
|
|
|
@@ -2119,7 +2119,7 @@ Icon sub-component (wraps ComboboxBase)
|
|
|
2119
2119
|
|
|
2120
2120
|
### CommandPalette
|
|
2121
2121
|
|
|
2122
|
-
CommandPalette — accessible command palette / spotlight search overlay.
|
|
2122
|
+
CommandPalette — accessible command palette / spotlight search overlay.
|
|
2123
2123
|
|
|
2124
2124
|
**Type:** component
|
|
2125
2125
|
|
|
@@ -2424,7 +2424,7 @@ CommandPalette — accessible command palette / spotlight search overlay. Compo
|
|
|
2424
2424
|
|
|
2425
2425
|
### DatePicker
|
|
2426
2426
|
|
|
2427
|
-
DatePicker — a date selection calendar.
|
|
2427
|
+
DatePicker — a date selection calendar.
|
|
2428
2428
|
|
|
2429
2429
|
**Type:** component
|
|
2430
2430
|
|
|
@@ -2603,7 +2603,7 @@ DatePicker — a date selection calendar. Built on [react-day-picker](https://d
|
|
|
2603
2603
|
|
|
2604
2604
|
### DateRangePicker
|
|
2605
2605
|
|
|
2606
|
-
DateRangePicker — dual-calendar date range selector.
|
|
2606
|
+
DateRangePicker — dual-calendar date range selector.
|
|
2607
2607
|
|
|
2608
2608
|
**Type:** component
|
|
2609
2609
|
|
|
@@ -3028,7 +3028,7 @@ Close sub-component
|
|
|
3028
3028
|
|
|
3029
3029
|
### DropdownMenu
|
|
3030
3030
|
|
|
3031
|
-
DropdownMenu — accessible dropdown menu anchored to a trigger.
|
|
3031
|
+
DropdownMenu — accessible dropdown menu anchored to a trigger.
|
|
3032
3032
|
|
|
3033
3033
|
**Type:** component
|
|
3034
3034
|
|
|
@@ -4353,7 +4353,7 @@ Description sub-component
|
|
|
4353
4353
|
|
|
4354
4354
|
### Label
|
|
4355
4355
|
|
|
4356
|
-
Label component for form fields.
|
|
4356
|
+
Label component for form fields.
|
|
4357
4357
|
|
|
4358
4358
|
**Type:** component
|
|
4359
4359
|
|
|
@@ -4697,7 +4697,7 @@ Animated circular spinner for indicating loading states.
|
|
|
4697
4697
|
|
|
4698
4698
|
### MenuBar
|
|
4699
4699
|
|
|
4700
|
-
MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation.
|
|
4700
|
+
MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation.
|
|
4701
4701
|
|
|
4702
4702
|
**Type:** component
|
|
4703
4703
|
|
|
@@ -5293,7 +5293,7 @@ Close sub-component
|
|
|
5293
5293
|
|
|
5294
5294
|
### Radio
|
|
5295
5295
|
|
|
5296
|
-
Radio — radio button group for single-select choices.
|
|
5296
|
+
Radio — radio button group for single-select choices.
|
|
5297
5297
|
|
|
5298
5298
|
**Type:** component
|
|
5299
5299
|
|
|
@@ -5303,12 +5303,9 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
5303
5303
|
|
|
5304
5304
|
**Props:**
|
|
5305
5305
|
|
|
5306
|
-
- `
|
|
5307
|
-
|
|
5308
|
-
- `
|
|
5309
|
-
Child Radio.Item components (and optionally a Radio.Legend)
|
|
5310
|
-
- `orientation`: enum
|
|
5311
|
-
Layout direction of the radio items
|
|
5306
|
+
- `variant`: enum [default: default]
|
|
5307
|
+
- `"default"`: Default radio appearance
|
|
5308
|
+
- `"error"`: Error state for validation failures
|
|
5312
5309
|
- `appearance`: enum [default: default]
|
|
5313
5310
|
- `"default"`: Standard inline radio item
|
|
5314
5311
|
- `"card"`: Choice card appearance with border, padding, and highlighted selection state
|
|
@@ -5316,20 +5313,16 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
5316
5313
|
**State Classes:**
|
|
5317
5314
|
- `"card"`:
|
|
5318
5315
|
- `hover`: `hover:bg-kumo-tint`
|
|
5319
|
-
- `error`: string
|
|
5320
|
-
Error message for the group
|
|
5321
|
-
- `description`: ReactNode
|
|
5322
|
-
Helper text for the group
|
|
5323
|
-
- `value`: string
|
|
5324
|
-
Value of the radio that should be selected (controlled)
|
|
5325
|
-
- `disabled`: boolean
|
|
5326
|
-
Whether all radios in the group are disabled
|
|
5327
|
-
- `controlPosition`: enum
|
|
5328
|
-
Position of radio control relative to label: "start" puts radio before label, "end" puts label before radio. Defaults to "start" for default appearance and "end" for card appearance.
|
|
5329
|
-
- `name`: string
|
|
5330
|
-
Form submission name for the radio group
|
|
5331
5316
|
- `className`: string
|
|
5332
5317
|
Additional CSS classes
|
|
5318
|
+
- `children`: ReactNode
|
|
5319
|
+
Child elements
|
|
5320
|
+
- `value`: T
|
|
5321
|
+
The controlled value of the selected radio item.
|
|
5322
|
+
- `defaultValue`: T
|
|
5323
|
+
The uncontrolled initial value of the selected radio item.
|
|
5324
|
+
- `onValueChange`: (value: T, eventDetails: RadioGroupChangeEventDetails) => void
|
|
5325
|
+
Callback fired when the selected value changes. The second argument carries native event details about the interaction.
|
|
5333
5326
|
|
|
5334
5327
|
**Colors (kumo tokens used):**
|
|
5335
5328
|
|
|
@@ -5348,18 +5341,9 @@ Item sub-component
|
|
|
5348
5341
|
Group sub-component
|
|
5349
5342
|
|
|
5350
5343
|
Props:
|
|
5351
|
-
- `
|
|
5352
|
-
- `
|
|
5353
|
-
- `
|
|
5354
|
-
- `appearance`: KumoRadioAppearance
|
|
5355
|
-
- `error`: string
|
|
5356
|
-
- `description`: ReactNode
|
|
5357
|
-
- `value`: string
|
|
5358
|
-
- `disabled`: boolean
|
|
5359
|
-
- `label`: "start" puts radio before label (required)
|
|
5360
|
-
- `controlPosition`: RadioControlPosition
|
|
5361
|
-
- `name`: string
|
|
5362
|
-
- `className`: string
|
|
5344
|
+
- `value`: T - The controlled value of the selected radio item.
|
|
5345
|
+
- `defaultValue`: T - The uncontrolled initial value of the selected radio item.
|
|
5346
|
+
- `onValueChange`: (value: T, eventDetails: RadioGroupChangeEventDetails) => void - Callback fired when the selected value changes. The second argument carries native event details about the interaction.
|
|
5363
5347
|
|
|
5364
5348
|
#### Radio.Legend
|
|
5365
5349
|
|
|
@@ -5564,6 +5548,29 @@ Props:
|
|
|
5564
5548
|
</Radio.Group>
|
|
5565
5549
|
```
|
|
5566
5550
|
|
|
5551
|
+
```tsx
|
|
5552
|
+
<div className="grid grid-cols-2 gap-6">
|
|
5553
|
+
<Radio.Group<number>
|
|
5554
|
+
legend="Items per page"
|
|
5555
|
+
value={pageSize}
|
|
5556
|
+
onValueChange={setPageSize}
|
|
5557
|
+
>
|
|
5558
|
+
<Radio.Item<number> label="10" value={10} />
|
|
5559
|
+
<Radio.Item<number> label="25" value={25} />
|
|
5560
|
+
<Radio.Item<number> label="50" value={50} />
|
|
5561
|
+
</Radio.Group>
|
|
5562
|
+
<Radio.Group<ThemeType>
|
|
5563
|
+
legend="Theme"
|
|
5564
|
+
value={theme}
|
|
5565
|
+
onValueChange={setTheme}
|
|
5566
|
+
>
|
|
5567
|
+
<Radio.Item<ThemeType> label="Light" value={ThemeType.light} />
|
|
5568
|
+
<Radio.Item<ThemeType> label="Dark" value={ThemeType.dark} />
|
|
5569
|
+
<Radio.Item<ThemeType> label="System" value={ThemeType.system} />
|
|
5570
|
+
</Radio.Group>
|
|
5571
|
+
</div>
|
|
5572
|
+
```
|
|
5573
|
+
|
|
5567
5574
|
```tsx
|
|
5568
5575
|
<Radio.Group
|
|
5569
5576
|
legend="Choose a plan"
|
|
@@ -6153,7 +6160,7 @@ Password/secret input that masks its value by default and reveals on click. Incl
|
|
|
6153
6160
|
|
|
6154
6161
|
### Sidebar
|
|
6155
6162
|
|
|
6156
|
-
Sidebar — responsive navigation panel with expand/collapse support.
|
|
6163
|
+
Sidebar — responsive navigation panel with expand/collapse support.
|
|
6157
6164
|
|
|
6158
6165
|
**Type:** component
|
|
6159
6166
|
|
|
@@ -7176,7 +7183,7 @@ Props:
|
|
|
7176
7183
|
|
|
7177
7184
|
### Table
|
|
7178
7185
|
|
|
7179
|
-
Table — semantic HTML table with styled rows, cells, and selection support.
|
|
7186
|
+
Table — semantic HTML table with styled rows, cells, and selection support.
|
|
7180
7187
|
|
|
7181
7188
|
**Type:** component
|
|
7182
7189
|
|
|
@@ -7631,7 +7638,7 @@ ResizeHandle sub-component
|
|
|
7631
7638
|
|
|
7632
7639
|
### TableOfContents
|
|
7633
7640
|
|
|
7634
|
-
TableOfContents — presentational compound component for section navigation.
|
|
7641
|
+
TableOfContents — presentational compound component for section navigation.
|
|
7635
7642
|
|
|
7636
7643
|
**Type:** component
|
|
7637
7644
|
|
|
@@ -8111,7 +8118,7 @@ Text component
|
|
|
8111
8118
|
|
|
8112
8119
|
### Toasty
|
|
8113
8120
|
|
|
8114
|
-
Toasty — toast notification provider and viewport.
|
|
8121
|
+
Toasty — toast notification provider and viewport.
|
|
8115
8122
|
|
|
8116
8123
|
**Type:** component
|
|
8117
8124
|
|
|
@@ -8148,6 +8155,117 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
|
|
|
8148
8155
|
```
|
|
8149
8156
|
|
|
8150
8157
|
|
|
8158
|
+
---
|
|
8159
|
+
|
|
8160
|
+
### Toolbar
|
|
8161
|
+
|
|
8162
|
+
Toolbar component
|
|
8163
|
+
|
|
8164
|
+
**Type:** component
|
|
8165
|
+
|
|
8166
|
+
**Import:** `import { Toolbar } from "@cloudflare/kumo";`
|
|
8167
|
+
|
|
8168
|
+
**Category:** Other
|
|
8169
|
+
|
|
8170
|
+
**Props:**
|
|
8171
|
+
|
|
8172
|
+
- `disabled`: boolean
|
|
8173
|
+
- `orientation`: ToolbarRoot.Orientation
|
|
8174
|
+
The orientation of the toolbar.
|
|
8175
|
+
- `loopFocus`: boolean
|
|
8176
|
+
If `true`, using keyboard navigation will wrap focus to the other end of the toolbar once the end is reached.
|
|
8177
|
+
- `id`: string
|
|
8178
|
+
- `lang`: string
|
|
8179
|
+
- `title`: string
|
|
8180
|
+
- `className`: string | object
|
|
8181
|
+
CSS class applied to the element, or a function that returns a class based on the component's state.
|
|
8182
|
+
- `render`: ReactNode
|
|
8183
|
+
Allows you to replace the component's HTML element with a different tag, or compose it with another component.
|
|
8184
|
+
|
|
8185
|
+
Accepts a `ReactElement` or a function that returns the element to render.
|
|
8186
|
+
- `children`: ReactNode
|
|
8187
|
+
Toolbar controls rendered as one grouped card.
|
|
8188
|
+
- `size`: enum [default: base]
|
|
8189
|
+
- `"xs"`: Extra small toolbar for compact UIs
|
|
8190
|
+
- `"sm"`: Small toolbar for secondary controls
|
|
8191
|
+
- `"base"`: Default toolbar size
|
|
8192
|
+
- `"lg"`: Large toolbar for prominent controls
|
|
8193
|
+
|
|
8194
|
+
**Colors (kumo tokens used):**
|
|
8195
|
+
|
|
8196
|
+
`bg-kumo-control`, `border-kumo-line`, `ring-kumo-brand`, `ring-kumo-focus`, `ring-kumo-line`
|
|
8197
|
+
|
|
8198
|
+
**Sub-Components:**
|
|
8199
|
+
|
|
8200
|
+
This is a compound component. Use these sub-components:
|
|
8201
|
+
|
|
8202
|
+
#### Toolbar.Button
|
|
8203
|
+
|
|
8204
|
+
Button sub-component
|
|
8205
|
+
|
|
8206
|
+
#### Toolbar.Input
|
|
8207
|
+
|
|
8208
|
+
Input sub-component
|
|
8209
|
+
|
|
8210
|
+
#### Toolbar.InputGroup
|
|
8211
|
+
|
|
8212
|
+
InputGroup sub-component
|
|
8213
|
+
|
|
8214
|
+
|
|
8215
|
+
**Examples:**
|
|
8216
|
+
|
|
8217
|
+
```tsx
|
|
8218
|
+
<Toolbar className="w-full max-w-md">
|
|
8219
|
+
<Toolbar.InputGroup aria-label="Search DNS records" className="flex-1">
|
|
8220
|
+
<InputGroup.Addon>
|
|
8221
|
+
<MagnifyingGlassIcon />
|
|
8222
|
+
</InputGroup.Addon>
|
|
8223
|
+
<InputGroup.Input placeholder="Search DNS records" />
|
|
8224
|
+
</Toolbar.InputGroup>
|
|
8225
|
+
<Toolbar.Button icon={FunnelSimpleIcon} aria-label="Filter" />
|
|
8226
|
+
<Toolbar.Button icon={GearSixIcon} aria-label="Settings" />
|
|
8227
|
+
</Toolbar>
|
|
8228
|
+
```
|
|
8229
|
+
|
|
8230
|
+
```tsx
|
|
8231
|
+
<div className="grid gap-3">
|
|
8232
|
+
{(["xs", "sm", "base", "lg"] as const).map((size) => (
|
|
8233
|
+
<div key={size} className="flex items-center gap-3">
|
|
8234
|
+
<span className="w-10 text-sm text-kumo-subtle">{size}</span>
|
|
8235
|
+
<Toolbar size={size} className="w-fit">
|
|
8236
|
+
<Toolbar.Input aria-label={`${size} search`} placeholder="Search..." />
|
|
8237
|
+
<Toolbar.Button>Apply</Toolbar.Button>
|
|
8238
|
+
</Toolbar>
|
|
8239
|
+
</div>
|
|
8240
|
+
))}
|
|
8241
|
+
</div>
|
|
8242
|
+
```
|
|
8243
|
+
|
|
8244
|
+
```tsx
|
|
8245
|
+
<Toolbar className="w-full max-w-lg">
|
|
8246
|
+
<Toolbar.InputGroup aria-label="Worker subdomain" className="flex-1">
|
|
8247
|
+
<InputGroup.Input placeholder="my-worker" />
|
|
8248
|
+
<InputGroup.Suffix>.workers.dev</InputGroup.Suffix>
|
|
8249
|
+
</Toolbar.InputGroup>
|
|
8250
|
+
<Toolbar.Button>Visit</Toolbar.Button>
|
|
8251
|
+
</Toolbar>
|
|
8252
|
+
```
|
|
8253
|
+
|
|
8254
|
+
```tsx
|
|
8255
|
+
<Toolbar>
|
|
8256
|
+
<Toolbar.Button icon={UploadSimpleIcon}>Upload</Toolbar.Button>
|
|
8257
|
+
<Toolbar.Button icon={DownloadSimpleIcon}>Download</Toolbar.Button>
|
|
8258
|
+
</Toolbar>
|
|
8259
|
+
```
|
|
8260
|
+
|
|
8261
|
+
```tsx
|
|
8262
|
+
<Toolbar className="w-full max-w-lg">
|
|
8263
|
+
<Toolbar.Input aria-label="Search records" className="flex-1" placeholder="Search" />
|
|
8264
|
+
<Toolbar.Button icon={MagnifyingGlassIcon} aria-label="Search" />
|
|
8265
|
+
</Toolbar>
|
|
8266
|
+
```
|
|
8267
|
+
|
|
8268
|
+
|
|
8151
8269
|
---
|
|
8152
8270
|
|
|
8153
8271
|
### Tooltip
|
|
@@ -8329,7 +8447,7 @@ Multi-line textarea input with Input variants and InputArea-specific dimensions
|
|
|
8329
8447
|
## Quick Reference
|
|
8330
8448
|
|
|
8331
8449
|
**Components by Category:**
|
|
8332
|
-
- **Other:** Autocomplete, CloudflareLogo, DatePicker, Label, Link, SensitiveInput, Sidebar, Table, TableOfContents, DeleteResource
|
|
8450
|
+
- **Other:** Autocomplete, CloudflareLogo, DatePicker, Label, Link, SensitiveInput, Sidebar, Table, TableOfContents, Toolbar, DeleteResource
|
|
8333
8451
|
- **Display:** Badge, Breadcrumbs, Code, Collapsible, Empty, LayerCard, Meter, Text
|
|
8334
8452
|
- **Feedback:** Banner, Loader, Toasty
|
|
8335
8453
|
- **Action:** Button, ClipboardText
|
package/ai/schemas.ts
CHANGED
|
@@ -641,17 +641,13 @@ export const PopoverPropsSchema = z.object({
|
|
|
641
641
|
});
|
|
642
642
|
|
|
643
643
|
export const RadioPropsSchema = z.object({
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
orientation: z.enum(["vertical", "horizontal"]).optional(), // Layout direction of the radio items
|
|
647
|
-
appearance: z.enum(["default", "card"]).optional(), // Visual appearance applied to all Radio.Item children. - `"default"` — Standard inline radio items - `"card"` — Choice card with border, padding, and highlighted selection state Individual items can override this with their own `appearance` prop.
|
|
648
|
-
error: z.string().optional(), // Error message for the group
|
|
649
|
-
description: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Helper text for the group
|
|
650
|
-
value: z.string().optional(), // Value of the radio that should be selected (controlled)
|
|
651
|
-
disabled: z.boolean().optional(), // Whether all radios in the group are disabled
|
|
652
|
-
controlPosition: z.enum(["start", "end"]).optional(), // Position of radio control relative to label: "start" puts radio before label, "end" puts label before radio. Defaults to "start" for default appearance and "end" for card appearance.
|
|
653
|
-
name: z.string().optional(), // Form submission name for the radio group
|
|
644
|
+
variant: z.enum(["default", "error"]).optional(),
|
|
645
|
+
appearance: z.enum(["default", "card"]).optional(),
|
|
654
646
|
className: z.string().optional(), // Additional CSS classes
|
|
647
|
+
children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Child elements
|
|
648
|
+
value: z.unknown().optional(), // The controlled value of the selected radio item.
|
|
649
|
+
defaultValue: z.unknown().optional(), // The uncontrolled initial value of the selected radio item.
|
|
650
|
+
onValueChange: z.unknown().optional(), // Callback fired when the selected value changes. The second argument carries native event details about the interaction.
|
|
655
651
|
});
|
|
656
652
|
|
|
657
653
|
export const SelectPropsSchema = z.object({
|
|
@@ -793,6 +789,19 @@ export const ToastyPropsSchema = z.object({
|
|
|
793
789
|
children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Child elements
|
|
794
790
|
});
|
|
795
791
|
|
|
792
|
+
export const ToolbarPropsSchema = z.object({
|
|
793
|
+
disabled: z.boolean().optional(),
|
|
794
|
+
orientation: z.unknown().optional(), // The orientation of the toolbar.
|
|
795
|
+
loopFocus: z.boolean().optional(), // If `true`, using keyboard navigation will wrap focus to the other end of the toolbar once the end is reached.
|
|
796
|
+
id: z.string().optional(),
|
|
797
|
+
lang: z.string().optional(),
|
|
798
|
+
title: z.string().optional(),
|
|
799
|
+
className: z.unknown().optional(), // CSS class applied to the element, or a function that returns a class based on the component's state.
|
|
800
|
+
render: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Allows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
|
|
801
|
+
children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Toolbar controls rendered as one grouped card.
|
|
802
|
+
size: z.enum(["xs", "sm", "base", "lg"]).optional(), // Locks every toolbar item to this size.
|
|
803
|
+
});
|
|
804
|
+
|
|
796
805
|
export const TooltipPropsSchema = z.object({
|
|
797
806
|
side: z.enum(["top", "bottom", "left", "right"]).optional(),
|
|
798
807
|
className: z.string().optional(), // Additional CSS classes
|
|
@@ -807,7 +816,7 @@ export const TooltipPropsSchema = z.object({
|
|
|
807
816
|
/**
|
|
808
817
|
* All valid component type names
|
|
809
818
|
*/
|
|
810
|
-
export type KumoComponentType = "Autocomplete" | "Badge" | "Banner" | "Breadcrumbs" | "Button" | "Checkbox" | "ClipboardText" | "CloudflareLogo" | "Code" | "Collapsible" | "Combobox" | "CommandPalette" | "DatePicker" | "DateRangePicker" | "Dialog" | "DropdownMenu" | "Empty" | "Field" | "Grid" | "Input" | "InputArea" | "InputGroup" | "Label" | "LayerCard" | "Link" | "Loader" | "MenuBar" | "Meter" | "Pagination" | "Popover" | "Radio" | "Select" | "SensitiveInput" | "Sidebar" | "Surface" | "Switch" | "Table" | "TableOfContents" | "Tabs" | "Text" | "Toasty" | "Tooltip";
|
|
819
|
+
export type KumoComponentType = "Autocomplete" | "Badge" | "Banner" | "Breadcrumbs" | "Button" | "Checkbox" | "ClipboardText" | "CloudflareLogo" | "Code" | "Collapsible" | "Combobox" | "CommandPalette" | "DatePicker" | "DateRangePicker" | "Dialog" | "DropdownMenu" | "Empty" | "Field" | "Grid" | "Input" | "InputArea" | "InputGroup" | "Label" | "LayerCard" | "Link" | "Loader" | "MenuBar" | "Meter" | "Pagination" | "Popover" | "Radio" | "Select" | "SensitiveInput" | "Sidebar" | "Surface" | "Switch" | "Table" | "TableOfContents" | "Tabs" | "Text" | "Toasty" | "Toolbar" | "Tooltip";
|
|
811
820
|
|
|
812
821
|
export const KumoComponentTypeSchema = z.enum([
|
|
813
822
|
"Autocomplete",
|
|
@@ -851,6 +860,7 @@ export const KumoComponentTypeSchema = z.enum([
|
|
|
851
860
|
"Tabs",
|
|
852
861
|
"Text",
|
|
853
862
|
"Toasty",
|
|
863
|
+
"Toolbar",
|
|
854
864
|
"Tooltip",
|
|
855
865
|
]);
|
|
856
866
|
|
|
@@ -899,6 +909,7 @@ export const ComponentPropsSchemas = {
|
|
|
899
909
|
Tabs: TabsPropsSchema,
|
|
900
910
|
Text: TextPropsSchema,
|
|
901
911
|
Toasty: ToastyPropsSchema,
|
|
912
|
+
Toolbar: ToolbarPropsSchema,
|
|
902
913
|
Tooltip: TooltipPropsSchema,
|
|
903
914
|
} as const;
|
|
904
915
|
|
|
@@ -956,4 +967,4 @@ export function validateUITree(tree: unknown): SafeParseResult<UITree> {
|
|
|
956
967
|
/**
|
|
957
968
|
* List of all component names (for catalog generation)
|
|
958
969
|
*/
|
|
959
|
-
export const KUMO_COMPONENT_NAMES = ["Autocomplete", "Badge", "Banner", "Breadcrumbs", "Button", "Checkbox", "ClipboardText", "CloudflareLogo", "Code", "Collapsible", "Combobox", "CommandPalette", "DatePicker", "DateRangePicker", "Dialog", "DropdownMenu", "Empty", "Field", "Grid", "Input", "InputArea", "InputGroup", "Label", "LayerCard", "Link", "Loader", "MenuBar", "Meter", "Pagination", "Popover", "Radio", "Select", "SensitiveInput", "Sidebar", "Surface", "Switch", "Table", "TableOfContents", "Tabs", "Text", "Toasty", "Tooltip"] as const;
|
|
970
|
+
export const KUMO_COMPONENT_NAMES = ["Autocomplete", "Badge", "Banner", "Breadcrumbs", "Button", "Checkbox", "ClipboardText", "CloudflareLogo", "Code", "Collapsible", "Combobox", "CommandPalette", "DatePicker", "DateRangePicker", "Dialog", "DropdownMenu", "Empty", "Field", "Grid", "Input", "InputArea", "InputGroup", "Label", "LayerCard", "Link", "Loader", "MenuBar", "Meter", "Pagination", "Popover", "Radio", "Select", "SensitiveInput", "Sidebar", "Surface", "Switch", "Table", "TableOfContents", "Tabs", "Text", "Toasty", "Toolbar", "Tooltip"] as const;
|
package/dist/.build-complete
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1782153248772
|