@cloudflare/kumo 1.13.0 → 1.14.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 +35 -0
- package/ai/component-registry.json +47 -21
- package/ai/component-registry.md +243 -15
- package/ai/schemas.ts +3 -2
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +10 -2
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +175 -173
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/Legend-mkh1v83sz972e29d.js +407 -0
- package/dist/chunks/Legend-mkh1v83sz972e29d.js.map +1 -0
- package/dist/chunks/{breadcrumbs-e564gabk59go37cg.js → breadcrumbs-gr907zcoo65rpn90.js} +2 -2
- package/dist/chunks/{breadcrumbs-e564gabk59go37cg.js.map → breadcrumbs-gr907zcoo65rpn90.js.map} +1 -1
- package/dist/chunks/{button-b1yp3lbrhjr9eg07.js → button-d82sexqgnd834eaa.js} +2 -2
- package/dist/chunks/{button-b1yp3lbrhjr9eg07.js.map → button-d82sexqgnd834eaa.js.map} +1 -1
- package/dist/chunks/{checkbox-khvh0efmlzvlo6qi.js → checkbox-gebzflhsvo6zkcrm.js} +3 -3
- package/dist/chunks/{checkbox-khvh0efmlzvlo6qi.js.map → checkbox-gebzflhsvo6zkcrm.js.map} +1 -1
- package/dist/chunks/{clipboard-text-jvrlvyz5ulm49h5b.js → clipboard-text-nnmfwusts804p1qd.js} +4 -4
- package/dist/chunks/{clipboard-text-jvrlvyz5ulm49h5b.js.map → clipboard-text-nnmfwusts804p1qd.js.map} +1 -1
- package/dist/chunks/{combobox-hdstt4dqqxbtxwod.js → combobox-ds8qzpuaagb1udzg.js} +88 -77
- package/dist/chunks/combobox-ds8qzpuaagb1udzg.js.map +1 -0
- package/dist/chunks/{command-palette-l8dym46a74o7j8ci.js → command-palette-essubhvibj84mhx8.js} +3 -3
- package/dist/chunks/{command-palette-l8dym46a74o7j8ci.js.map → command-palette-essubhvibj84mhx8.js.map} +1 -1
- package/dist/chunks/{dialog-emk68n0piw8u7hkb.js → dialog-hmfums1yr41afbsx.js} +2 -2
- package/dist/chunks/{dialog-emk68n0piw8u7hkb.js.map → dialog-hmfums1yr41afbsx.js.map} +1 -1
- package/dist/chunks/{dropdown-ejgjnn9gq3daua1h.js → dropdown-nhhm3rddlt7fmd2a.js} +2 -2
- package/dist/chunks/{dropdown-ejgjnn9gq3daua1h.js.map → dropdown-nhhm3rddlt7fmd2a.js.map} +1 -1
- package/dist/chunks/{empty-crbntv0dhud7besh.js → empty-h3qhwtx0z8arupc9.js} +2 -2
- package/dist/chunks/{empty-crbntv0dhud7besh.js.map → empty-h3qhwtx0z8arupc9.js.map} +1 -1
- package/dist/chunks/{engine-javascript-hi1kqifa6nkcridk.js → engine-javascript-cvvdau2e8o59vsx6.js} +5 -5
- package/dist/chunks/{engine-javascript-hi1kqifa6nkcridk.js.map → engine-javascript-cvvdau2e8o59vsx6.js.map} +1 -1
- package/dist/chunks/{field-ftrgblg9mbmz9eo3.js → field-pcsc33yrvgq6g9ll.js} +3 -3
- package/dist/chunks/{field-ftrgblg9mbmz9eo3.js.map → field-pcsc33yrvgq6g9ll.js.map} +1 -1
- package/dist/chunks/input-area-oyw0rq0q2wm0blmb.js +74 -0
- package/dist/chunks/input-area-oyw0rq0q2wm0blmb.js.map +1 -0
- package/dist/chunks/{input-group-g6qyhe5jvpe02hee.js → input-group-fjq64pzze8kklmni.js} +3 -3
- package/dist/chunks/{input-group-g6qyhe5jvpe02hee.js.map → input-group-fjq64pzze8kklmni.js.map} +1 -1
- package/dist/chunks/{input-me56hug8sl0u650q.js → input-oaa51811nxs0z2mw.js} +20 -20
- package/dist/chunks/input-oaa51811nxs0z2mw.js.map +1 -0
- package/dist/chunks/{label-eooot7dhtfvw7n3x.js → label-m5dcn3mqhnmi0dgq.js} +3 -3
- package/dist/chunks/{label-eooot7dhtfvw7n3x.js.map → label-m5dcn3mqhnmi0dgq.js.map} +1 -1
- package/dist/chunks/{link-moetfdbgxda0yhwg.js → link-desli097365ac82o.js} +2 -2
- package/dist/chunks/{link-moetfdbgxda0yhwg.js.map → link-desli097365ac82o.js.map} +1 -1
- package/dist/chunks/{menubar-c2zwv4mbo3xqq7is.js → menubar-eir09makes5l9xby.js} +2 -2
- package/dist/chunks/{menubar-c2zwv4mbo3xqq7is.js.map → menubar-eir09makes5l9xby.js.map} +1 -1
- package/dist/chunks/{meter-em2hfu8j2rhmf5ae.js → meter-kl2puqzdbfkwrok9.js} +2 -2
- package/dist/chunks/{meter-em2hfu8j2rhmf5ae.js.map → meter-kl2puqzdbfkwrok9.js.map} +1 -1
- package/dist/chunks/{pagination-xt93wvwvow4z44lc.js → pagination-c2sv9vs43whhvznh.js} +3 -3
- package/dist/chunks/{pagination-xt93wvwvow4z44lc.js.map → pagination-c2sv9vs43whhvznh.js.map} +1 -1
- package/dist/chunks/{popover-irccwetx73p8pnua.js → popover-ji1zh9zqrj6at834.js} +2 -2
- package/dist/chunks/{popover-irccwetx73p8pnua.js.map → popover-ji1zh9zqrj6at834.js.map} +1 -1
- package/dist/chunks/radio-cnsup12f302rxkxl.js +200 -0
- package/dist/chunks/radio-cnsup12f302rxkxl.js.map +1 -0
- package/dist/chunks/{select-jxxef2rf76pgdrf8.js → select-hgn6ikyor1p6jd9r.js} +21 -14
- package/dist/chunks/select-hgn6ikyor1p6jd9r.js.map +1 -0
- package/dist/chunks/{sensitive-input-i7ey1w0ky7nco012.js → sensitive-input-drdu6upod3ucl6vt.js} +34 -34
- package/dist/chunks/sensitive-input-drdu6upod3ucl6vt.js.map +1 -0
- package/dist/chunks/switch-n7zyzirax1l016n2.js +241 -0
- package/dist/chunks/switch-n7zyzirax1l016n2.js.map +1 -0
- package/dist/chunks/{table-d4ql7fjvok30xs1f.js → table-l2yy3jtkbhvqlq43.js} +3 -3
- package/dist/chunks/table-l2yy3jtkbhvqlq43.js.map +1 -0
- package/dist/chunks/{tabs-n3rcvuzx0gbslyy6.js → tabs-omc1n6jaxkf41pvg.js} +2 -2
- package/dist/chunks/{tabs-n3rcvuzx0gbslyy6.js.map → tabs-omc1n6jaxkf41pvg.js.map} +1 -1
- package/dist/chunks/{toast-j05qj3vk688ht1i1.js → toast-bkvbwc1x3s7fbzkt.js} +3 -3
- package/dist/chunks/{toast-j05qj3vk688ht1i1.js.map → toast-bkvbwc1x3s7fbzkt.js.map} +1 -1
- package/dist/chunks/{tooltip-es2dwwbhftg4k2jy.js → tooltip-nwvv7fhpqpo2rqlc.js} +2 -2
- package/dist/chunks/{tooltip-es2dwwbhftg4k2jy.js.map → tooltip-nwvv7fhpqpo2rqlc.js.map} +1 -1
- package/dist/chunks/{vendor-base-ui-kxxocm122zr4pipe.js → vendor-base-ui-lgoligkf81eyvnde.js} +21 -21
- package/dist/chunks/{vendor-base-ui-kxxocm122zr4pipe.js.map → vendor-base-ui-lgoligkf81eyvnde.js.map} +1 -1
- package/dist/code/server.js +0 -2
- package/dist/code/server.js.map +1 -1
- package/dist/code.js +2 -3
- package/dist/code.js.map +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/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 +1435 -1431
- 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/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/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/tooltip.js +1 -1
- package/dist/index.js +69 -68
- 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 +12 -3
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/code/code-highlighted.d.ts +2 -2
- package/dist/src/code/code-highlighted.d.ts.map +1 -1
- package/dist/src/code/provider.d.ts +2 -2
- package/dist/src/code/provider.d.ts.map +1 -1
- package/dist/src/components/chart/EChart.d.ts +7 -2
- package/dist/src/components/chart/EChart.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.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/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 +43 -4
- package/dist/src/components/radio/radio.d.ts.map +1 -1
- package/dist/src/components/select/select.d.ts.map +1 -1
- package/dist/src/components/switch/switch.d.ts +8 -8
- package/dist/src/components/switch/switch.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-binding.css +5 -0
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-kumo.css +7 -0
- package/package.json +3 -6
- package/scripts/theme-generator/config.ts +12 -3
- package/dist/chunks/Legend-o2bjbo2pp24c2fqd.js +0 -402
- package/dist/chunks/Legend-o2bjbo2pp24c2fqd.js.map +0 -1
- package/dist/chunks/combobox-hdstt4dqqxbtxwod.js.map +0 -1
- package/dist/chunks/input-area-hxtyrqpp44m18j72.js +0 -59
- package/dist/chunks/input-area-hxtyrqpp44m18j72.js.map +0 -1
- package/dist/chunks/input-me56hug8sl0u650q.js.map +0 -1
- package/dist/chunks/radio-394mfs3au5m8cgd8.js +0 -125
- package/dist/chunks/radio-394mfs3au5m8cgd8.js.map +0 -1
- package/dist/chunks/select-jxxef2rf76pgdrf8.js.map +0 -1
- package/dist/chunks/sensitive-input-i7ey1w0ky7nco012.js.map +0 -1
- package/dist/chunks/switch-b0xo8fxsfzv87krj.js +0 -257
- package/dist/chunks/switch-b0xo8fxsfzv87krj.js.map +0 -1
- package/dist/chunks/table-d4ql7fjvok30xs1f.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @cloudflare/kumo
|
|
2
2
|
|
|
3
|
+
## 1.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8b2d6a0: Add radio card appearance via `appearance="card"` prop on Radio.Group and Radio.Item. Cards display a bordered, selectable container with title and description. Also adds `description` prop to Radio.Item for helper text. Supports vertical and horizontal orientations, error state, and disabled state.
|
|
8
|
+
- abbf586: Expose Chart `optionUpdateBehavior` to control how ECharts applies option updates; `notMerge` now defaults to `false`.
|
|
9
|
+
- c6aa554: Add neutral variant to Switch component and improve accessibility
|
|
10
|
+
- New `variant="neutral"` option: monochrome switch with squircle shape, matching the design from stratus
|
|
11
|
+
- Improved off-state visibility for default variant with darker background/ring colors
|
|
12
|
+
- Removed `error` variant (not useful for toggle switches)
|
|
13
|
+
- Added defensive fallback so invalid variant values don't cause runtime crashes
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- f2e17d7: removed `outline-none` to bring back focus states on all buttons
|
|
18
|
+
- eba693e: Fix flaky vitest "Closing rpc while fetch was pending" error in deep-imports test
|
|
19
|
+
- db91f50: Fix InputArea label click not focusing textarea. Use FieldBase.Control with render callback to properly associate the label with the textarea element.
|
|
20
|
+
- 80afd4d: Fix TypeScript return types for ShikiProvider and CodeHighlighted components.
|
|
21
|
+
|
|
22
|
+
Changed return type from `ReactNode` to `React.JSX.Element` to resolve JSX compatibility errors. This fixes issues when consuming these components in projects with stricter TypeScript configurations (e.g., `skipLibCheck: false`), where `ReactNode` was incorrectly inferred as a valid JSX element return type.
|
|
23
|
+
|
|
24
|
+
- dc9742d: Fix table header font size to ensure consistent rendering across dashboards with different default font sizes
|
|
25
|
+
- f94fee7: Add dedicated `kumo-placeholder` text color token and use it for Input, InputArea, SensitiveInput, and CommandPalette placeholder text. The new token provides better visual distinction between placeholder and active text in both light and dark modes.
|
|
26
|
+
- 66012b7: Replace the package-level ESLint pass with Oxlint JS plugin coverage for the remaining jsx-a11y rules, and pin the library build to `es2022` with a post-build browser-compat test that blocks newer runtime APIs from shipping in `dist`.
|
|
27
|
+
- e8acdd8: fix(Select): prevent chevron overflow with long multi-select values
|
|
28
|
+
|
|
29
|
+
Added `min-w-0 truncate` to the value element and `shrink-0` to the chevron icon so that long option names truncate gracefully instead of pushing the chevron outside the select bounds.
|
|
30
|
+
|
|
31
|
+
## 1.13.1
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- c272f6a: Fix combobox caret icon to use text-kumo-subtle with fill-current instead of invalid fill-kumo-subtle token
|
|
36
|
+
- 5e12c15: fix TimeseriesChart brush cursor not activating when loading prop transitions from true to false
|
|
37
|
+
|
|
3
38
|
## 1.13.0
|
|
4
39
|
|
|
5
40
|
### Minor Changes
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
"ghost": "text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit",
|
|
323
323
|
"destructive": "bg-kumo-danger !text-white hover:bg-kumo-danger/70",
|
|
324
324
|
"secondary-destructive": "bg-kumo-base !text-kumo-danger ring not-disabled:hover:border-secondary! not-disabled:hover:bg-kumo-base disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base",
|
|
325
|
-
"outline": "text-kumo-default ring-2 ring-kumo-ring"
|
|
325
|
+
"outline": "bg-transparent text-kumo-default ring-2 ring-kumo-ring"
|
|
326
326
|
},
|
|
327
327
|
"stateClasses": {
|
|
328
328
|
"primary": {
|
|
@@ -2134,7 +2134,6 @@
|
|
|
2134
2134
|
"bg-kumo-fill-hover",
|
|
2135
2135
|
"bg-kumo-overlay",
|
|
2136
2136
|
"border-kumo-line",
|
|
2137
|
-
"fill-kumo-ring",
|
|
2138
2137
|
"ring-kumo-line",
|
|
2139
2138
|
"text-kumo-default",
|
|
2140
2139
|
"text-kumo-strong",
|
|
@@ -3718,6 +3717,28 @@
|
|
|
3718
3717
|
"horizontal"
|
|
3719
3718
|
]
|
|
3720
3719
|
},
|
|
3720
|
+
"appearance": {
|
|
3721
|
+
"type": "enum",
|
|
3722
|
+
"optional": true,
|
|
3723
|
+
"description": "Visual appearance applied to all Radio.Item children.\n- `\"default\"` — Standard inline radio items\n- `\"card\"` — Choice card with border, padding, and highlighted selection state\n\nIndividual items can override this with their own `appearance` prop.",
|
|
3724
|
+
"values": [
|
|
3725
|
+
"default",
|
|
3726
|
+
"card"
|
|
3727
|
+
],
|
|
3728
|
+
"descriptions": {
|
|
3729
|
+
"default": "Standard inline radio item",
|
|
3730
|
+
"card": "Choice card appearance with border, padding, and highlighted selection state"
|
|
3731
|
+
},
|
|
3732
|
+
"classes": {
|
|
3733
|
+
"card": "rounded-lg border border-kumo-ring bg-kumo-base p-3 transition-colors hover:bg-kumo-tint has-[[data-checked]]:border-kumo-interact has-[[data-checked]]:bg-kumo-tint"
|
|
3734
|
+
},
|
|
3735
|
+
"stateClasses": {
|
|
3736
|
+
"card": {
|
|
3737
|
+
"hover": "hover:bg-kumo-tint"
|
|
3738
|
+
}
|
|
3739
|
+
},
|
|
3740
|
+
"default": "default"
|
|
3741
|
+
},
|
|
3721
3742
|
"error": {
|
|
3722
3743
|
"type": "string",
|
|
3723
3744
|
"optional": true,
|
|
@@ -3741,7 +3762,7 @@
|
|
|
3741
3762
|
"controlPosition": {
|
|
3742
3763
|
"type": "enum",
|
|
3743
3764
|
"optional": true,
|
|
3744
|
-
"description": "Position of radio control relative to label: \"start\" (default) puts radio before label, \"end\" puts label before radio",
|
|
3765
|
+
"description": "Position of radio control relative to label: \"start\" (default) puts radio before label, \"end\" puts label before radio. Note: In card appearance, the control is always positioned at the end.",
|
|
3745
3766
|
"values": [
|
|
3746
3767
|
"start",
|
|
3747
3768
|
"end"
|
|
@@ -3763,14 +3784,20 @@
|
|
|
3763
3784
|
"<Radio.Group legend=\"Account type\" value={value} onValueChange={setValue}>\n <Radio.Item label=\"Personal\" value=\"personal\" />\n <Radio.Item label=\"Business\" value=\"business\" />\n <Radio.Item label=\"Enterprise\" value=\"enterprise\" />\n </Radio.Group>",
|
|
3764
3785
|
"<Radio.Group\n legend=\"Size\"\n orientation=\"horizontal\"\n value={value}\n onValueChange={setValue}\n >\n <Radio.Item label=\"Small\" value=\"sm\" />\n <Radio.Item label=\"Medium\" value=\"md\" />\n <Radio.Item label=\"Large\" value=\"lg\" />\n </Radio.Group>",
|
|
3765
3786
|
"<Radio.Group\n legend=\"Shipping method\"\n description=\"Choose how you'd like to receive your order\"\n value={value}\n onValueChange={setValue}\n >\n <Radio.Item label=\"Standard (5-7 days)\" value=\"standard\" />\n <Radio.Item label=\"Express (2-3 days)\" value=\"express\" />\n <Radio.Item label=\"Overnight\" value=\"overnight\" />\n </Radio.Group>",
|
|
3766
|
-
"<Radio.Group\n
|
|
3767
|
-
"<div className=\"
|
|
3768
|
-
"<Radio.Group legend=\"Preferences\" controlPosition=\"end\" defaultValue=\"a\">\n <Radio.Item label=\"Label before radio\" value=\"a\" />\n <Radio.Item label=\"Another option\" value=\"b\" />\n </Radio.Group>"
|
|
3787
|
+
"<div className=\"grid grid-cols-2 gap-6\">\n <Radio.Group\n legend=\"Payment method\"\n error=\"Please select a payment method to continue\"\n >\n <Radio.Item label=\"Credit Card\" value=\"card\" variant=\"error\" />\n <Radio.Item label=\"PayPal\" value=\"paypal\" variant=\"error\" />\n </Radio.Group>\n <Radio.Group\n legend=\"Payment method\"\n appearance=\"card\"\n error=\"Please select a payment method to continue\"\n >\n <Radio.Item\n label=\"Credit Card\"\n description=\"Pay with Visa, Mastercard, American Express, or Elo.\"\n value=\"card\"\n variant=\"error\"\n />\n <Radio.Item\n label=\"PayPal\"\n description=\"Pay with your PayPal account.\"\n value=\"paypal\"\n variant=\"error\"\n />\n </Radio.Group>\n </div>",
|
|
3788
|
+
"<div className=\"grid grid-cols-2 gap-6\">\n <Radio.Group legend=\"Disabled group\" disabled defaultValue=\"a\">\n <Radio.Item label=\"Option A\" value=\"a\" />\n <Radio.Item label=\"Option B\" value=\"b\" />\n </Radio.Group>\n <Radio.Group legend=\"Individual disabled\" defaultValue=\"available\">\n <Radio.Item label=\"Available\" value=\"available\" />\n <Radio.Item label=\"Unavailable\" value=\"unavailable\" disabled />\n </Radio.Group>\n <Radio.Group\n legend=\"Disabled card group\"\n appearance=\"card\"\n disabled\n defaultValue=\"a\"\n >\n <Radio.Item\n label=\"Option A\"\n description=\"This option is disabled.\"\n value=\"a\"\n />\n <Radio.Item\n label=\"Option B\"\n description=\"This option is disabled.\"\n value=\"b\"\n />\n </Radio.Group>\n <Radio.Group\n legend=\"Individual disabled card\"\n appearance=\"card\"\n defaultValue=\"available\"\n >\n <Radio.Item\n label=\"Available\"\n description=\"This option can be selected.\"\n value=\"available\"\n />\n <Radio.Item\n label=\"Unavailable\"\n description=\"This option is not available.\"\n value=\"unavailable\"\n disabled\n />\n </Radio.Group>\n </div>",
|
|
3789
|
+
"<Radio.Group legend=\"Preferences\" controlPosition=\"end\" defaultValue=\"a\">\n <Radio.Item label=\"Label before radio\" value=\"a\" />\n <Radio.Item label=\"Another option\" value=\"b\" />\n </Radio.Group>",
|
|
3790
|
+
"<Radio.Group\n legend=\"Choose a plan\"\n appearance=\"card\"\n value={value}\n onValueChange={setValue}\n >\n <Radio.Item\n label=\"Free\"\n description=\"For personal or hobby projects that aren't business-critical.\"\n value=\"free\"\n />\n <Radio.Item\n label=\"Pro\"\n description=\"For professional websites that aren't business-critical.\"\n value=\"pro\"\n />\n <Radio.Item\n label=\"Business\"\n description=\"For small businesses operating online.\"\n value=\"business\"\n />\n <Radio.Item\n label=\"Contract\"\n description=\"For mission-critical applications that are core to your business.\"\n value=\"contract\"\n />\n </Radio.Group>",
|
|
3791
|
+
"<Radio.Group\n legend=\"Choose a plan\"\n appearance=\"card\"\n orientation=\"horizontal\"\n value={value}\n onValueChange={setValue}\n >\n <Radio.Item\n label=\"Free\"\n description=\"For personal or hobby projects that aren't business-critical.\"\n value=\"free\"\n />\n <Radio.Item\n label=\"Pro\"\n description=\"For professional websites that aren't business-critical.\"\n value=\"pro\"\n />\n <Radio.Item\n label=\"Business\"\n description=\"For small businesses operating online.\"\n value=\"business\"\n />\n <Radio.Item\n label=\"Contract\"\n description=\"For mission-critical applications that are core to your business.\"\n value=\"contract\"\n />\n </Radio.Group>"
|
|
3769
3792
|
],
|
|
3770
3793
|
"colors": [
|
|
3771
3794
|
"bg-kumo-base",
|
|
3772
3795
|
"bg-kumo-contrast",
|
|
3796
|
+
"bg-kumo-tint",
|
|
3797
|
+
"border-kumo-danger",
|
|
3798
|
+
"border-kumo-interact",
|
|
3773
3799
|
"border-kumo-line",
|
|
3800
|
+
"border-kumo-ring",
|
|
3774
3801
|
"ring-kumo-danger",
|
|
3775
3802
|
"ring-kumo-line",
|
|
3776
3803
|
"ring-kumo-ring",
|
|
@@ -3864,6 +3891,8 @@
|
|
|
3864
3891
|
"<Select aria-label=\"Loading select\" className=\"w-[200px]\" loading />",
|
|
3865
3892
|
"<Select\n label=\"Assignee\"\n className=\"w-[200px]\"\n loading={loading}\n value={value}\n onValueChange={(v) => setValue(v as string | null)}\n placeholder=\"Select assignee\"\n items={items}\n />",
|
|
3866
3893
|
"<Select\n label=\"Visible Columns\"\n className=\"w-[250px]\"\n multiple\n renderValue={(value) => {\n if (value.length > 3) {\n return (\n <span className=\"line-clamp-1\">\n {value.slice(0, 2).join(\", \") + ` and ${value.length - 2} more`}\n </span>\n );\n }\n return <span>{value.join(\", \")}</span>;\n }}\n value={value}\n onValueChange={(v) => setValue(v as string[])}\n >\n <Select.Option value=\"Name\">Name</Select.Option>\n <Select.Option value=\"Location\">Location</Select.Option>\n <Select.Option value=\"Size\">Size</Select.Option>\n <Select.Option value=\"Read\">Read</Select.Option>\n <Select.Option value=\"Write\">Write</Select.Option>\n <Select.Option value=\"CreatedAt\">Created At</Select.Option>\n </Select>",
|
|
3894
|
+
"<Select\n label=\"Compliance Frameworks\"\n className=\"w-[280px]\"\n multiple\n value={value}\n onValueChange={(v) => setValue(v as string[])}\n >\n <Select.Option value=\"European Union Privacy Regulation\">\n European Union Privacy Regulation\n </Select.Option>\n <Select.Option value=\"California Consumer Protection Act\">\n California Consumer Protection Act\n </Select.Option>\n <Select.Option value=\"Health Insurance Portability Act\">\n Health Insurance Portability Act\n </Select.Option>\n <Select.Option value=\"Payment Card Industry Standard\">\n Payment Card Industry Standard\n </Select.Option>\n </Select>",
|
|
3895
|
+
"<Select\n label=\"Issue Types\"\n className=\"w-[220px]\"\n multiple\n renderValue={(selected) => (\n <span className=\"flex items-center gap-2\">\n <span>Issue Types</span>\n {selected.length > 0 && (\n <Badge variant=\"secondary\">{selected.length}</Badge>\n )}\n </span>\n )}\n value={value}\n onValueChange={(v) => setValue(v as string[])}\n >\n {allOptions.map((option) => (\n <Select.Option key={option.value} value={option.value}>\n {option.label}\n </Select.Option>\n ))}\n </Select>",
|
|
3867
3896
|
"<Select\n label=\"Author\"\n description=\"Select the primary author for this document\"\n className=\"w-[200px]\"\n onValueChange={(v) => setValue(v as (typeof authors)[0] | null)}\n value={value}\n isItemEqualToValue={(item, value) => item?.id === value?.id}\n renderValue={(author) => {\n return author?.name ?? \"Select an author\";\n }}\n >\n {authors.map((author) => (\n <Select.Option key={author.id} value={author}>\n <div className=\"flex w-[300px] items-center justify-between gap-2\">\n <Text>{author.name}</Text>\n <Text variant=\"secondary\">{author.title}</Text>\n </div>\n </Select.Option>\n ))}\n </Select>"
|
|
3868
3897
|
],
|
|
3869
3898
|
"colors": [
|
|
@@ -4102,17 +4131,14 @@
|
|
|
4102
4131
|
"variant": {
|
|
4103
4132
|
"type": "enum",
|
|
4104
4133
|
"optional": true,
|
|
4105
|
-
"description": "Visual variant: \"default\" or \"
|
|
4134
|
+
"description": "Visual variant: \"default\" (pill, brand color) or \"neutral\" (squircle, monochrome)",
|
|
4106
4135
|
"values": [
|
|
4107
4136
|
"default",
|
|
4108
|
-
"
|
|
4137
|
+
"neutral"
|
|
4109
4138
|
],
|
|
4110
4139
|
"descriptions": {
|
|
4111
|
-
"default": "Default switch
|
|
4112
|
-
"
|
|
4113
|
-
},
|
|
4114
|
-
"classes": {
|
|
4115
|
-
"error": "ring-kumo-danger"
|
|
4140
|
+
"default": "Default switch with squircle shape and brand blue color",
|
|
4141
|
+
"neutral": "Monochrome switch with squircle shape for subtle toggles"
|
|
4116
4142
|
},
|
|
4117
4143
|
"default": "default"
|
|
4118
4144
|
},
|
|
@@ -4211,16 +4237,15 @@
|
|
|
4211
4237
|
"<Switch label=\"Switch\" checked={checked} onCheckedChange={setChecked} />",
|
|
4212
4238
|
"<Switch label=\"Switch\" checked={false} onCheckedChange={() => {}} />",
|
|
4213
4239
|
"<Switch label=\"Switch\" checked={true} onCheckedChange={() => {}} />",
|
|
4214
|
-
"<Switch label=\"Disabled\" checked={false} disabled />"
|
|
4240
|
+
"<Switch label=\"Disabled\" checked={false} disabled />",
|
|
4241
|
+
"<Switch\n label=\"Neutral switch\"\n variant=\"neutral\"\n checked={checked}\n onCheckedChange={setChecked}\n />",
|
|
4242
|
+
"<div className=\"flex flex-col gap-4\">\n <Switch\n label=\"Neutral off\"\n variant=\"neutral\"\n checked={false}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Neutral on\"\n variant=\"neutral\"\n checked={true}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Neutral disabled\"\n variant=\"neutral\"\n checked={false}\n disabled\n />\n </div>",
|
|
4243
|
+
"<div className=\"flex flex-col gap-4\">\n <Switch\n label=\"Default variant\"\n checked={true}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Neutral variant\"\n variant=\"neutral\"\n checked={true}\n onCheckedChange={() => {}}\n />\n </div>"
|
|
4215
4244
|
],
|
|
4216
4245
|
"colors": [
|
|
4217
|
-
"bg-kumo-
|
|
4218
|
-
"bg-kumo-brand-hover",
|
|
4219
|
-
"bg-kumo-danger",
|
|
4220
|
-
"bg-kumo-interact",
|
|
4221
|
-
"bg-kumo-recessed",
|
|
4246
|
+
"bg-kumo-base",
|
|
4222
4247
|
"border-kumo-line",
|
|
4223
|
-
"ring-kumo-
|
|
4248
|
+
"ring-kumo-line",
|
|
4224
4249
|
"text-kumo-danger",
|
|
4225
4250
|
"text-kumo-default",
|
|
4226
4251
|
"text-kumo-subtle"
|
|
@@ -4708,7 +4733,8 @@
|
|
|
4708
4733
|
"examples": [
|
|
4709
4734
|
"<TooltipProvider>\n <Tooltip content=\"Add new item\" asChild>\n <Button shape=\"square\" icon={PlusIcon} aria-label=\"Add new item\" />\n </Tooltip>\n </TooltipProvider>",
|
|
4710
4735
|
"<TooltipProvider>\n <Tooltip content=\"Add\" asChild>\n <Button shape=\"square\" icon={PlusIcon} aria-label=\"Add\" />\n </Tooltip>\n </TooltipProvider>",
|
|
4711
|
-
"<TooltipProvider>\n <div className=\"flex gap-2\">\n <Tooltip content=\"Add\" asChild>\n <Button shape=\"square\" icon={PlusIcon} aria-label=\"Add\" />\n </Tooltip>\n <Tooltip content=\"Change language\" asChild>\n <Button\n shape=\"square\"\n icon={TranslateIcon}\n aria-label=\"Change language\"\n />\n </Tooltip>\n </div>\n </TooltipProvider>"
|
|
4736
|
+
"<TooltipProvider>\n <div className=\"flex gap-2\">\n <Tooltip content=\"Add\" asChild>\n <Button shape=\"square\" icon={PlusIcon} aria-label=\"Add\" />\n </Tooltip>\n <Tooltip content=\"Change language\" asChild>\n <Button\n shape=\"square\"\n icon={TranslateIcon}\n aria-label=\"Change language\"\n />\n </Tooltip>\n </div>\n </TooltipProvider>",
|
|
4737
|
+
"<TooltipProvider>\n <Tooltip\n content=\"Click to learn more\"\n className=\"inline-flex items-center gap-1.5 rounded-full bg-kumo-brand px-3 py-1.5 text-sm font-medium text-white shadow-md transition-transform hover:scale-105 active:scale-95\"\n >\n <Info className=\"size-4\" />\n <span>Help</span>\n </Tooltip>\n </TooltipProvider>"
|
|
4712
4738
|
],
|
|
4713
4739
|
"colors": [
|
|
4714
4740
|
"bg-kumo-base",
|
package/ai/component-registry.md
CHANGED
|
@@ -1209,7 +1209,7 @@ Combobox — autocomplete input with filterable dropdown list. Compound compone
|
|
|
1209
1209
|
|
|
1210
1210
|
**Colors (kumo tokens used):**
|
|
1211
1211
|
|
|
1212
|
-
`bg-kumo-control`, `bg-kumo-fill-hover`, `bg-kumo-overlay`, `border-kumo-line`, `
|
|
1212
|
+
`bg-kumo-control`, `bg-kumo-fill-hover`, `bg-kumo-overlay`, `border-kumo-line`, `ring-kumo-line`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
|
|
1213
1213
|
|
|
1214
1214
|
**Sub-Components:**
|
|
1215
1215
|
|
|
@@ -3815,6 +3815,13 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3815
3815
|
Child Radio.Item components
|
|
3816
3816
|
- `orientation`: enum
|
|
3817
3817
|
Layout direction of the radio items
|
|
3818
|
+
- `appearance`: enum [default: default]
|
|
3819
|
+
- `"default"`: Standard inline radio item
|
|
3820
|
+
- `"card"`: Choice card appearance with border, padding, and highlighted selection state
|
|
3821
|
+
|
|
3822
|
+
**State Classes:**
|
|
3823
|
+
- `"card"`:
|
|
3824
|
+
- `hover`: `hover:bg-kumo-tint`
|
|
3818
3825
|
- `error`: string
|
|
3819
3826
|
Error message for the group
|
|
3820
3827
|
- `description`: ReactNode
|
|
@@ -3824,7 +3831,7 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3824
3831
|
- `disabled`: boolean
|
|
3825
3832
|
Whether all radios in the group are disabled
|
|
3826
3833
|
- `controlPosition`: enum
|
|
3827
|
-
Position of radio control relative to label: "start" (default) puts radio before label, "end" puts label before radio
|
|
3834
|
+
Position of radio control relative to label: "start" (default) puts radio before label, "end" puts label before radio. Note: In card appearance, the control is always positioned at the end.
|
|
3828
3835
|
- `name`: string
|
|
3829
3836
|
Form submission name for the radio group
|
|
3830
3837
|
- `className`: string
|
|
@@ -3832,7 +3839,7 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3832
3839
|
|
|
3833
3840
|
**Colors (kumo tokens used):**
|
|
3834
3841
|
|
|
3835
|
-
`bg-kumo-base`, `bg-kumo-contrast`, `border-kumo-line`, `ring-kumo-danger`, `ring-kumo-line`, `ring-kumo-ring`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-subtle`
|
|
3842
|
+
`bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-tint`, `border-kumo-danger`, `border-kumo-interact`, `border-kumo-line`, `border-kumo-ring`, `ring-kumo-danger`, `ring-kumo-line`, `ring-kumo-ring`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-subtle`
|
|
3836
3843
|
|
|
3837
3844
|
**Examples:**
|
|
3838
3845
|
|
|
@@ -3875,18 +3882,37 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3875
3882
|
```
|
|
3876
3883
|
|
|
3877
3884
|
```tsx
|
|
3878
|
-
<
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3885
|
+
<div className="grid grid-cols-2 gap-6">
|
|
3886
|
+
<Radio.Group
|
|
3887
|
+
legend="Payment method"
|
|
3888
|
+
error="Please select a payment method to continue"
|
|
3889
|
+
>
|
|
3890
|
+
<Radio.Item label="Credit Card" value="card" variant="error" />
|
|
3891
|
+
<Radio.Item label="PayPal" value="paypal" variant="error" />
|
|
3892
|
+
</Radio.Group>
|
|
3893
|
+
<Radio.Group
|
|
3894
|
+
legend="Payment method"
|
|
3895
|
+
appearance="card"
|
|
3896
|
+
error="Please select a payment method to continue"
|
|
3897
|
+
>
|
|
3898
|
+
<Radio.Item
|
|
3899
|
+
label="Credit Card"
|
|
3900
|
+
description="Pay with Visa, Mastercard, American Express, or Elo."
|
|
3901
|
+
value="card"
|
|
3902
|
+
variant="error"
|
|
3903
|
+
/>
|
|
3904
|
+
<Radio.Item
|
|
3905
|
+
label="PayPal"
|
|
3906
|
+
description="Pay with your PayPal account."
|
|
3907
|
+
value="paypal"
|
|
3908
|
+
variant="error"
|
|
3909
|
+
/>
|
|
3910
|
+
</Radio.Group>
|
|
3911
|
+
</div>
|
|
3886
3912
|
```
|
|
3887
3913
|
|
|
3888
3914
|
```tsx
|
|
3889
|
-
<div className="
|
|
3915
|
+
<div className="grid grid-cols-2 gap-6">
|
|
3890
3916
|
<Radio.Group legend="Disabled group" disabled defaultValue="a">
|
|
3891
3917
|
<Radio.Item label="Option A" value="a" />
|
|
3892
3918
|
<Radio.Item label="Option B" value="b" />
|
|
@@ -3895,6 +3921,40 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3895
3921
|
<Radio.Item label="Available" value="available" />
|
|
3896
3922
|
<Radio.Item label="Unavailable" value="unavailable" disabled />
|
|
3897
3923
|
</Radio.Group>
|
|
3924
|
+
<Radio.Group
|
|
3925
|
+
legend="Disabled card group"
|
|
3926
|
+
appearance="card"
|
|
3927
|
+
disabled
|
|
3928
|
+
defaultValue="a"
|
|
3929
|
+
>
|
|
3930
|
+
<Radio.Item
|
|
3931
|
+
label="Option A"
|
|
3932
|
+
description="This option is disabled."
|
|
3933
|
+
value="a"
|
|
3934
|
+
/>
|
|
3935
|
+
<Radio.Item
|
|
3936
|
+
label="Option B"
|
|
3937
|
+
description="This option is disabled."
|
|
3938
|
+
value="b"
|
|
3939
|
+
/>
|
|
3940
|
+
</Radio.Group>
|
|
3941
|
+
<Radio.Group
|
|
3942
|
+
legend="Individual disabled card"
|
|
3943
|
+
appearance="card"
|
|
3944
|
+
defaultValue="available"
|
|
3945
|
+
>
|
|
3946
|
+
<Radio.Item
|
|
3947
|
+
label="Available"
|
|
3948
|
+
description="This option can be selected."
|
|
3949
|
+
value="available"
|
|
3950
|
+
/>
|
|
3951
|
+
<Radio.Item
|
|
3952
|
+
label="Unavailable"
|
|
3953
|
+
description="This option is not available."
|
|
3954
|
+
value="unavailable"
|
|
3955
|
+
disabled
|
|
3956
|
+
/>
|
|
3957
|
+
</Radio.Group>
|
|
3898
3958
|
</div>
|
|
3899
3959
|
```
|
|
3900
3960
|
|
|
@@ -3905,6 +3965,67 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
3905
3965
|
</Radio.Group>
|
|
3906
3966
|
```
|
|
3907
3967
|
|
|
3968
|
+
```tsx
|
|
3969
|
+
<Radio.Group
|
|
3970
|
+
legend="Choose a plan"
|
|
3971
|
+
appearance="card"
|
|
3972
|
+
value={value}
|
|
3973
|
+
onValueChange={setValue}
|
|
3974
|
+
>
|
|
3975
|
+
<Radio.Item
|
|
3976
|
+
label="Free"
|
|
3977
|
+
description="For personal or hobby projects that aren't business-critical."
|
|
3978
|
+
value="free"
|
|
3979
|
+
/>
|
|
3980
|
+
<Radio.Item
|
|
3981
|
+
label="Pro"
|
|
3982
|
+
description="For professional websites that aren't business-critical."
|
|
3983
|
+
value="pro"
|
|
3984
|
+
/>
|
|
3985
|
+
<Radio.Item
|
|
3986
|
+
label="Business"
|
|
3987
|
+
description="For small businesses operating online."
|
|
3988
|
+
value="business"
|
|
3989
|
+
/>
|
|
3990
|
+
<Radio.Item
|
|
3991
|
+
label="Contract"
|
|
3992
|
+
description="For mission-critical applications that are core to your business."
|
|
3993
|
+
value="contract"
|
|
3994
|
+
/>
|
|
3995
|
+
</Radio.Group>
|
|
3996
|
+
```
|
|
3997
|
+
|
|
3998
|
+
```tsx
|
|
3999
|
+
<Radio.Group
|
|
4000
|
+
legend="Choose a plan"
|
|
4001
|
+
appearance="card"
|
|
4002
|
+
orientation="horizontal"
|
|
4003
|
+
value={value}
|
|
4004
|
+
onValueChange={setValue}
|
|
4005
|
+
>
|
|
4006
|
+
<Radio.Item
|
|
4007
|
+
label="Free"
|
|
4008
|
+
description="For personal or hobby projects that aren't business-critical."
|
|
4009
|
+
value="free"
|
|
4010
|
+
/>
|
|
4011
|
+
<Radio.Item
|
|
4012
|
+
label="Pro"
|
|
4013
|
+
description="For professional websites that aren't business-critical."
|
|
4014
|
+
value="pro"
|
|
4015
|
+
/>
|
|
4016
|
+
<Radio.Item
|
|
4017
|
+
label="Business"
|
|
4018
|
+
description="For small businesses operating online."
|
|
4019
|
+
value="business"
|
|
4020
|
+
/>
|
|
4021
|
+
<Radio.Item
|
|
4022
|
+
label="Contract"
|
|
4023
|
+
description="For mission-critical applications that are core to your business."
|
|
4024
|
+
value="contract"
|
|
4025
|
+
/>
|
|
4026
|
+
</Radio.Group>
|
|
4027
|
+
```
|
|
4028
|
+
|
|
3908
4029
|
|
|
3909
4030
|
---
|
|
3910
4031
|
|
|
@@ -4087,6 +4208,53 @@ Option sub-component
|
|
|
4087
4208
|
</Select>
|
|
4088
4209
|
```
|
|
4089
4210
|
|
|
4211
|
+
```tsx
|
|
4212
|
+
<Select
|
|
4213
|
+
label="Compliance Frameworks"
|
|
4214
|
+
className="w-[280px]"
|
|
4215
|
+
multiple
|
|
4216
|
+
value={value}
|
|
4217
|
+
onValueChange={(v) => setValue(v as string[])}
|
|
4218
|
+
>
|
|
4219
|
+
<Select.Option value="European Union Privacy Regulation">
|
|
4220
|
+
European Union Privacy Regulation
|
|
4221
|
+
</Select.Option>
|
|
4222
|
+
<Select.Option value="California Consumer Protection Act">
|
|
4223
|
+
California Consumer Protection Act
|
|
4224
|
+
</Select.Option>
|
|
4225
|
+
<Select.Option value="Health Insurance Portability Act">
|
|
4226
|
+
Health Insurance Portability Act
|
|
4227
|
+
</Select.Option>
|
|
4228
|
+
<Select.Option value="Payment Card Industry Standard">
|
|
4229
|
+
Payment Card Industry Standard
|
|
4230
|
+
</Select.Option>
|
|
4231
|
+
</Select>
|
|
4232
|
+
```
|
|
4233
|
+
|
|
4234
|
+
```tsx
|
|
4235
|
+
<Select
|
|
4236
|
+
label="Issue Types"
|
|
4237
|
+
className="w-[220px]"
|
|
4238
|
+
multiple
|
|
4239
|
+
renderValue={(selected) => (
|
|
4240
|
+
<span className="flex items-center gap-2">
|
|
4241
|
+
<span>Issue Types</span>
|
|
4242
|
+
{selected.length > 0 && (
|
|
4243
|
+
<Badge variant="secondary">{selected.length}</Badge>
|
|
4244
|
+
)}
|
|
4245
|
+
</span>
|
|
4246
|
+
)}
|
|
4247
|
+
value={value}
|
|
4248
|
+
onValueChange={(v) => setValue(v as string[])}
|
|
4249
|
+
>
|
|
4250
|
+
{allOptions.map((option) => (
|
|
4251
|
+
<Select.Option key={option.value} value={option.value}>
|
|
4252
|
+
{option.label}
|
|
4253
|
+
</Select.Option>
|
|
4254
|
+
))}
|
|
4255
|
+
</Select>
|
|
4256
|
+
```
|
|
4257
|
+
|
|
4090
4258
|
```tsx
|
|
4091
4259
|
<Select
|
|
4092
4260
|
label="Author"
|
|
@@ -4316,8 +4484,8 @@ Switch component
|
|
|
4316
4484
|
**Props:**
|
|
4317
4485
|
|
|
4318
4486
|
- `variant`: enum [default: default]
|
|
4319
|
-
- `"default"`: Default switch
|
|
4320
|
-
- `"
|
|
4487
|
+
- `"default"`: Default switch with squircle shape and brand blue color
|
|
4488
|
+
- `"neutral"`: Monochrome switch with squircle shape for subtle toggles
|
|
4321
4489
|
- `label`: ReactNode
|
|
4322
4490
|
Label content for the switch (Field wrapper is built-in) - can be a string or any React node. Optional when used standalone for visual-only purposes.
|
|
4323
4491
|
- `labelTooltip`: ReactNode
|
|
@@ -4345,7 +4513,7 @@ Switch component
|
|
|
4345
4513
|
|
|
4346
4514
|
**Colors (kumo tokens used):**
|
|
4347
4515
|
|
|
4348
|
-
`bg-kumo-
|
|
4516
|
+
`bg-kumo-base`, `border-kumo-line`, `ring-kumo-line`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-subtle`
|
|
4349
4517
|
|
|
4350
4518
|
**Sub-Components:**
|
|
4351
4519
|
|
|
@@ -4379,6 +4547,54 @@ Props:
|
|
|
4379
4547
|
<Switch label="Disabled" checked={false} disabled />
|
|
4380
4548
|
```
|
|
4381
4549
|
|
|
4550
|
+
```tsx
|
|
4551
|
+
<Switch
|
|
4552
|
+
label="Neutral switch"
|
|
4553
|
+
variant="neutral"
|
|
4554
|
+
checked={checked}
|
|
4555
|
+
onCheckedChange={setChecked}
|
|
4556
|
+
/>
|
|
4557
|
+
```
|
|
4558
|
+
|
|
4559
|
+
```tsx
|
|
4560
|
+
<div className="flex flex-col gap-4">
|
|
4561
|
+
<Switch
|
|
4562
|
+
label="Neutral off"
|
|
4563
|
+
variant="neutral"
|
|
4564
|
+
checked={false}
|
|
4565
|
+
onCheckedChange={() => {}}
|
|
4566
|
+
/>
|
|
4567
|
+
<Switch
|
|
4568
|
+
label="Neutral on"
|
|
4569
|
+
variant="neutral"
|
|
4570
|
+
checked={true}
|
|
4571
|
+
onCheckedChange={() => {}}
|
|
4572
|
+
/>
|
|
4573
|
+
<Switch
|
|
4574
|
+
label="Neutral disabled"
|
|
4575
|
+
variant="neutral"
|
|
4576
|
+
checked={false}
|
|
4577
|
+
disabled
|
|
4578
|
+
/>
|
|
4579
|
+
</div>
|
|
4580
|
+
```
|
|
4581
|
+
|
|
4582
|
+
```tsx
|
|
4583
|
+
<div className="flex flex-col gap-4">
|
|
4584
|
+
<Switch
|
|
4585
|
+
label="Default variant"
|
|
4586
|
+
checked={true}
|
|
4587
|
+
onCheckedChange={() => {}}
|
|
4588
|
+
/>
|
|
4589
|
+
<Switch
|
|
4590
|
+
label="Neutral variant"
|
|
4591
|
+
variant="neutral"
|
|
4592
|
+
checked={true}
|
|
4593
|
+
onCheckedChange={() => {}}
|
|
4594
|
+
/>
|
|
4595
|
+
</div>
|
|
4596
|
+
```
|
|
4597
|
+
|
|
4382
4598
|
|
|
4383
4599
|
---
|
|
4384
4600
|
|
|
@@ -5041,6 +5257,18 @@ Accessible popup that shows additional information on hover/focus. Wrap your app
|
|
|
5041
5257
|
</TooltipProvider>
|
|
5042
5258
|
```
|
|
5043
5259
|
|
|
5260
|
+
```tsx
|
|
5261
|
+
<TooltipProvider>
|
|
5262
|
+
<Tooltip
|
|
5263
|
+
content="Click to learn more"
|
|
5264
|
+
className="inline-flex items-center gap-1.5 rounded-full bg-kumo-brand px-3 py-1.5 text-sm font-medium text-white shadow-md transition-transform hover:scale-105 active:scale-95"
|
|
5265
|
+
>
|
|
5266
|
+
<Info className="size-4" />
|
|
5267
|
+
<span>Help</span>
|
|
5268
|
+
</Tooltip>
|
|
5269
|
+
</TooltipProvider>
|
|
5270
|
+
```
|
|
5271
|
+
|
|
5044
5272
|
|
|
5045
5273
|
---
|
|
5046
5274
|
|
package/ai/schemas.ts
CHANGED
|
@@ -606,11 +606,12 @@ export const RadioPropsSchema = z.object({
|
|
|
606
606
|
legend: z.string(), // Legend text for the group (required for accessibility)
|
|
607
607
|
children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Child Radio.Item components
|
|
608
608
|
orientation: z.enum(["vertical", "horizontal"]).optional(), // Layout direction of the radio items
|
|
609
|
+
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.
|
|
609
610
|
error: z.string().optional(), // Error message for the group
|
|
610
611
|
description: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Helper text for the group
|
|
611
612
|
value: z.string().optional(), // Value of the radio that should be selected (controlled)
|
|
612
613
|
disabled: z.boolean().optional(), // Whether all radios in the group are disabled
|
|
613
|
-
controlPosition: z.enum(["start", "end"]).optional(), // Position of radio control relative to label: "start" (default) puts radio before label, "end" puts label before radio
|
|
614
|
+
controlPosition: z.enum(["start", "end"]).optional(), // Position of radio control relative to label: "start" (default) puts radio before label, "end" puts label before radio. Note: In card appearance, the control is always positioned at the end.
|
|
614
615
|
name: z.string().optional(), // Form submission name for the radio group
|
|
615
616
|
className: z.string().optional(), // Additional CSS classes
|
|
616
617
|
});
|
|
@@ -665,7 +666,7 @@ export const SurfacePropsSchema = z.object({
|
|
|
665
666
|
});
|
|
666
667
|
|
|
667
668
|
export const SwitchPropsSchema = z.object({
|
|
668
|
-
variant: z.enum(["default", "
|
|
669
|
+
variant: z.enum(["default", "neutral"]).optional(), // Visual variant: "default" (pill, brand color) or "neutral" (squircle, monochrome)
|
|
669
670
|
label: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Label content for the switch (Field wrapper is built-in) - can be a string or any React node. Optional when used standalone for visual-only purposes.
|
|
670
671
|
labelTooltip: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Tooltip content to display next to the label via an info icon
|
|
671
672
|
required: z.boolean().optional(), // Whether the switch is required. When explicitly false, shows "(optional)" text after the label.
|
package/dist/.build-complete
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1773854944431
|
package/dist/ai/schemas.d.ts
CHANGED
|
@@ -828,6 +828,10 @@ export declare const RadioPropsSchema: z.ZodObject<{
|
|
|
828
828
|
horizontal: "horizontal";
|
|
829
829
|
vertical: "vertical";
|
|
830
830
|
}>>;
|
|
831
|
+
appearance: z.ZodOptional<z.ZodEnum<{
|
|
832
|
+
default: "default";
|
|
833
|
+
card: "card";
|
|
834
|
+
}>>;
|
|
831
835
|
error: z.ZodOptional<z.ZodString>;
|
|
832
836
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
|
|
833
837
|
path: z.ZodString;
|
|
@@ -916,7 +920,7 @@ export declare const SurfacePropsSchema: z.ZodObject<{
|
|
|
916
920
|
export declare const SwitchPropsSchema: z.ZodObject<{
|
|
917
921
|
variant: z.ZodOptional<z.ZodEnum<{
|
|
918
922
|
default: "default";
|
|
919
|
-
|
|
923
|
+
neutral: "neutral";
|
|
920
924
|
}>>;
|
|
921
925
|
label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
|
|
922
926
|
path: z.ZodString;
|
|
@@ -1806,6 +1810,10 @@ export declare const ComponentPropsSchemas: {
|
|
|
1806
1810
|
horizontal: "horizontal";
|
|
1807
1811
|
vertical: "vertical";
|
|
1808
1812
|
}>>;
|
|
1813
|
+
appearance: z.ZodOptional<z.ZodEnum<{
|
|
1814
|
+
default: "default";
|
|
1815
|
+
card: "card";
|
|
1816
|
+
}>>;
|
|
1809
1817
|
error: z.ZodOptional<z.ZodString>;
|
|
1810
1818
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
|
|
1811
1819
|
path: z.ZodString;
|
|
@@ -1894,7 +1902,7 @@ export declare const ComponentPropsSchemas: {
|
|
|
1894
1902
|
readonly Switch: z.ZodObject<{
|
|
1895
1903
|
variant: z.ZodOptional<z.ZodEnum<{
|
|
1896
1904
|
default: "default";
|
|
1897
|
-
|
|
1905
|
+
neutral: "neutral";
|
|
1898
1906
|
}>>;
|
|
1899
1907
|
label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodObject<{
|
|
1900
1908
|
path: z.ZodString;
|
package/dist/ai/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../ai/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../ai/schemas.ts"],"names":[],"mappings":"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"}
|