@cloudflare/kumo 1.16.0 → 1.17.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 +110 -0
- package/ai/USAGE.md +3 -1
- package/ai/component-registry.json +200 -59
- package/ai/component-registry.md +269 -33
- package/ai/schemas.ts +15 -5
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +101 -37
- 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-n80t3z8u9ttlxi20.js +120 -0
- package/dist/chunks/badge-n80t3z8u9ttlxi20.js.map +1 -0
- package/dist/chunks/banner-nz0eryqnz3qd86ln.js +79 -0
- package/dist/chunks/banner-nz0eryqnz3qd86ln.js.map +1 -0
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js → breadcrumbs-cjgn3w4drahvqnuj.js} +3 -3
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js.map → breadcrumbs-cjgn3w4drahvqnuj.js.map} +1 -1
- package/dist/chunks/{button-j0hi0afn33w9lxgi.js → button-odxi0hp4fvi5i2w3.js} +50 -48
- package/dist/chunks/button-odxi0hp4fvi5i2w3.js.map +1 -0
- package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js → checkbox-dx8x0rzv582yjv7n.js} +38 -47
- package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js.map → checkbox-dx8x0rzv582yjv7n.js.map} +1 -1
- package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-kyk51d1ze7zvdn4q.js} +55 -54
- package/dist/chunks/clipboard-text-kyk51d1ze7zvdn4q.js.map +1 -0
- package/dist/chunks/{combobox-ft0u7rfaxawk0r0c.js → combobox-9fhjzprab46csmon.js} +97 -82
- package/dist/chunks/combobox-9fhjzprab46csmon.js.map +1 -0
- package/dist/chunks/{command-palette-b31nq4wk7o7gx4sa.js → command-palette-kenx2bbdzd4kpx36.js} +158 -154
- package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +1 -0
- package/dist/chunks/{dialog-l5tmwxrzp9g83jmw.js → dialog-e05ysa8t2fklw065.js} +22 -20
- package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +1 -0
- package/dist/chunks/{dropdown-icy3xatdwhzr4une.js → dropdown-g587px7zv3ssaxr4.js} +96 -90
- package/dist/chunks/dropdown-g587px7zv3ssaxr4.js.map +1 -0
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js → empty-fuz1un7r7mbz0kim.js} +2 -2
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js.map → empty-fuz1un7r7mbz0kim.js.map} +1 -1
- package/dist/chunks/{field-csje72m7j9403fj5.js → field-fq504lyu7ttsh5m9.js} +3 -3
- package/dist/chunks/{field-csje72m7j9403fj5.js.map → field-fq504lyu7ttsh5m9.js.map} +1 -1
- package/dist/chunks/{input-area-jko15sbc6zeage3l.js → input-area-nq40szg9110on89c.js} +4 -4
- package/dist/chunks/{input-area-jko15sbc6zeage3l.js.map → input-area-nq40szg9110on89c.js.map} +1 -1
- package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js → input-group-hbebbyh8fo6aqydn.js} +3 -3
- package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js.map → input-group-hbebbyh8fo6aqydn.js.map} +1 -1
- package/dist/chunks/{input-c8jmidy7gdqfiky1.js → input-kvhyo3p4859bexvx.js} +4 -4
- package/dist/chunks/input-kvhyo3p4859bexvx.js.map +1 -0
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js → label-j9owppbgnn35mebg.js} +3 -3
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js.map → label-j9owppbgnn35mebg.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-hmmf3k1xn6rm72rt.js} +2 -2
- package/dist/chunks/{link-o7yfj4kwgl19fklp.js.map → link-hmmf3k1xn6rm72rt.js.map} +1 -1
- package/dist/chunks/{menubar-g1wqqjuyyfvsim83.js → menubar-abojnm0uwjuni8ok.js} +20 -20
- package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +1 -0
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js → meter-i84dte2f82qmvn7y.js} +2 -2
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js.map → meter-i84dte2f82qmvn7y.js.map} +1 -1
- package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js → pagination-pbd7qqik97ac0l7m.js} +3 -3
- package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js.map → pagination-pbd7qqik97ac0l7m.js.map} +1 -1
- package/dist/chunks/{popover-jurf834u2uywluux.js → popover-i951xjcgezeqr4iv.js} +31 -28
- package/dist/chunks/popover-i951xjcgezeqr4iv.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-l2vkcue40d84fmo1.js} +13 -16
- package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js.map → radio-l2vkcue40d84fmo1.js.map} +1 -1
- package/dist/chunks/{select-hnt87e3cfos48qql.js → select-paedwa3nlhpq82ua.js} +39 -37
- package/dist/chunks/select-paedwa3nlhpq82ua.js.map +1 -0
- package/dist/chunks/{sensitive-input-lvtccf3iqc06lj7b.js → sensitive-input-kznmknpp5h1grc6k.js} +97 -91
- package/dist/chunks/sensitive-input-kznmknpp5h1grc6k.js.map +1 -0
- package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js → sidebar-jepeq7gaf4issuw6.js} +3 -3
- package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js.map → sidebar-jepeq7gaf4issuw6.js.map} +1 -1
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
- package/dist/chunks/surface-blo81kgy9g0sexgm.js +36 -0
- package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +1 -0
- package/dist/chunks/{switch-fukrbip86khvqjn7.js → switch-i0zwcp3wq6vsxm1c.js} +64 -64
- package/dist/chunks/{switch-fukrbip86khvqjn7.js.map → switch-i0zwcp3wq6vsxm1c.js.map} +1 -1
- package/dist/chunks/table-nrcw19tlpduayukl.js +183 -0
- package/dist/chunks/table-nrcw19tlpduayukl.js.map +1 -0
- package/dist/chunks/tabs-bw92jb303zxw7w4f.js +92 -0
- package/dist/chunks/{tabs-n0t7iro7wr0pzgk2.js.map → tabs-bw92jb303zxw7w4f.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-lrnwby56drs7vtae.js} +59 -57
- package/dist/chunks/toast-lrnwby56drs7vtae.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-cit9ltlxfuhwctuj.js} +24 -21
- package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +1 -0
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js → vendor-base-ui-n30qblevnpk9cc5c.js} +42 -41
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js.map → vendor-base-ui-n30qblevnpk9cc5c.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/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 +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/text.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/index.js +75 -73
- 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 +288 -24
- 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 +95 -22
- package/dist/src/components/badge/badge.d.ts.map +1 -1
- package/dist/src/components/banner/banner.d.ts +2 -0
- package/dist/src/components/banner/banner.d.ts.map +1 -1
- package/dist/src/components/button/button.d.ts +2 -0
- 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.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/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/loader/skeleton-line.d.ts +2 -1
- package/dist/src/components/loader/skeleton-line.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.map +1 -1
- package/dist/src/components/select/select.d.ts +8 -1
- package/dist/src/components/select/select.d.ts.map +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/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 +11 -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 +49 -46
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-fedramp.css +3 -3
- package/dist/styles/theme-kumo.css +202 -22
- package/dist/utils.js +8 -6
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/scripts/theme-generator/config.ts +298 -24
- 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/clipboard-text-ohx8kkpxisz382rj.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-c8jmidy7gdqfiky1.js.map +0 -1
- package/dist/chunks/menubar-g1wqqjuyyfvsim83.js.map +0 -1
- package/dist/chunks/popover-jurf834u2uywluux.js.map +0 -1
- package/dist/chunks/select-hnt87e3cfos48qql.js.map +0 -1
- package/dist/chunks/sensitive-input-lvtccf3iqc06lj7b.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/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
|
@@ -11,32 +11,77 @@
|
|
|
11
11
|
"variant": {
|
|
12
12
|
"type": "enum",
|
|
13
13
|
"optional": true,
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Color variant of the badge.\n- `\"red\"` / `\"red-subtle\"` — Red badge\n- `\"orange\"` / `\"orange-subtle\"` — Orange badge\n- `\"yellow\"` / `\"yellow-subtle\"` — Yellow badge\n- `\"green\"` / `\"green-subtle\"` — Green badge (emerald scale)\n- `\"teal\"` / `\"teal-subtle\"` — Teal badge\n- `\"blue\"` / `\"blue-subtle\"` — Blue badge\n- `\"neutral\"` / `\"neutral-subtle\"` — Neutral badge\n- `\"inverted\"` — Inverted badge (near-black, white in dark mode)\n- `\"outline\"` — Bordered badge with transparent background\n- `\"beta\"` — Dashed-border badge for beta/experimental features\n- `\"primary\"` — **Deprecated.** Use `\"inverted\"` instead.\n- `\"secondary\"` — **Deprecated.** Use `\"neutral\"` instead.\n- `\"destructive\"` — **Deprecated.** Use `\"red\"` instead.\n- `\"success\"` — **Deprecated.** Use `\"green\"` instead.",
|
|
15
15
|
"values": [
|
|
16
|
+
"red",
|
|
17
|
+
"red-subtle",
|
|
18
|
+
"orange",
|
|
19
|
+
"orange-subtle",
|
|
20
|
+
"yellow",
|
|
21
|
+
"yellow-subtle",
|
|
22
|
+
"green",
|
|
23
|
+
"green-subtle",
|
|
24
|
+
"teal",
|
|
25
|
+
"teal-subtle",
|
|
26
|
+
"blue",
|
|
27
|
+
"blue-subtle",
|
|
28
|
+
"neutral",
|
|
29
|
+
"neutral-subtle",
|
|
30
|
+
"inverted",
|
|
31
|
+
"outline",
|
|
32
|
+
"beta",
|
|
16
33
|
"primary",
|
|
17
34
|
"secondary",
|
|
18
35
|
"destructive",
|
|
19
|
-
"success"
|
|
20
|
-
"outline",
|
|
21
|
-
"beta"
|
|
36
|
+
"success"
|
|
22
37
|
],
|
|
23
38
|
"descriptions": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
39
|
+
"red": "Red badge",
|
|
40
|
+
"red-subtle": "Subtle red badge",
|
|
41
|
+
"orange": "Orange badge",
|
|
42
|
+
"orange-subtle": "Subtle orange badge",
|
|
43
|
+
"yellow": "Yellow badge",
|
|
44
|
+
"yellow-subtle": "Subtle yellow badge",
|
|
45
|
+
"green": "Green badge",
|
|
46
|
+
"green-subtle": "Subtle green badge",
|
|
47
|
+
"teal": "Teal badge",
|
|
48
|
+
"teal-subtle": "Subtle teal badge",
|
|
49
|
+
"blue": "Blue badge",
|
|
50
|
+
"blue-subtle": "Subtle blue badge",
|
|
51
|
+
"neutral": "Neutral badge",
|
|
52
|
+
"neutral-subtle": "Subtle neutral badge",
|
|
53
|
+
"inverted": "Inverted badge",
|
|
28
54
|
"outline": "Bordered badge with transparent background",
|
|
29
|
-
"beta": "Indicates beta or experimental features"
|
|
55
|
+
"beta": "Indicates beta or experimental features",
|
|
56
|
+
"primary": "Deprecated. Use inverted instead.",
|
|
57
|
+
"secondary": "Deprecated. Use neutral instead.",
|
|
58
|
+
"destructive": "Deprecated. Use red instead.",
|
|
59
|
+
"success": "Deprecated. Use green instead."
|
|
30
60
|
},
|
|
31
61
|
"classes": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
62
|
+
"red": "bg-kumo-badge-red text-white",
|
|
63
|
+
"red-subtle": "bg-kumo-badge-red-subtle text-kumo-badge-red-subtle",
|
|
64
|
+
"orange": "bg-kumo-badge-orange text-white",
|
|
65
|
+
"orange-subtle": "bg-kumo-badge-orange-subtle text-kumo-badge-orange-subtle",
|
|
66
|
+
"yellow": "bg-kumo-badge-yellow text-white",
|
|
67
|
+
"yellow-subtle": "bg-kumo-badge-yellow-subtle text-kumo-badge-yellow-subtle",
|
|
68
|
+
"green": "bg-kumo-badge-green text-white",
|
|
69
|
+
"green-subtle": "bg-kumo-badge-green-subtle text-kumo-badge-green-subtle",
|
|
70
|
+
"teal": "bg-kumo-badge-teal text-white",
|
|
71
|
+
"teal-subtle": "bg-kumo-badge-teal-subtle text-kumo-badge-teal-subtle",
|
|
72
|
+
"blue": "bg-kumo-badge-blue text-white",
|
|
73
|
+
"blue-subtle": "bg-kumo-badge-blue-subtle text-kumo-badge-blue-subtle",
|
|
74
|
+
"neutral": "bg-kumo-badge-neutral text-white",
|
|
75
|
+
"neutral-subtle": "bg-kumo-fill text-kumo-badge-neutral-subtle",
|
|
76
|
+
"inverted": "bg-kumo-badge-inverted text-kumo-badge-inverted",
|
|
36
77
|
"outline": "border border-kumo-fill bg-transparent text-kumo-default",
|
|
37
|
-
"beta": "border border-dashed border-kumo-brand bg-transparent text-kumo-link"
|
|
78
|
+
"beta": "border border-dashed border-kumo-brand bg-transparent text-kumo-link",
|
|
79
|
+
"primary": "bg-kumo-badge-inverted text-kumo-badge-inverted",
|
|
80
|
+
"secondary": "bg-kumo-badge-neutral text-white",
|
|
81
|
+
"destructive": "bg-kumo-badge-red text-white",
|
|
82
|
+
"success": "bg-kumo-badge-green text-white"
|
|
38
83
|
},
|
|
39
|
-
"default": "
|
|
84
|
+
"default": "neutral"
|
|
40
85
|
},
|
|
41
86
|
"className": {
|
|
42
87
|
"type": "string",
|
|
@@ -50,24 +95,53 @@
|
|
|
50
95
|
}
|
|
51
96
|
},
|
|
52
97
|
"examples": [
|
|
53
|
-
"<div className=\"flex flex-wrap items-center gap-2\">\n <Badge variant=\"
|
|
54
|
-
"<Badge variant=\"
|
|
55
|
-
"<Badge variant=\"
|
|
56
|
-
"<Badge variant=\"
|
|
57
|
-
"<Badge variant=\"
|
|
98
|
+
"<div className=\"flex flex-wrap items-center gap-2\">\n <Badge variant=\"red\">Red</Badge>\n <Badge variant=\"orange\">Orange</Badge>\n <Badge variant=\"yellow\">Yellow</Badge>\n <Badge variant=\"green\">Green</Badge>\n <Badge variant=\"teal\">Teal</Badge>\n <Badge variant=\"blue\">Blue</Badge>\n <Badge variant=\"neutral\">Neutral</Badge>\n <Badge variant=\"inverted\">Inverted</Badge>\n <Badge variant=\"outline\">Outline</Badge>\n <Badge variant=\"beta\">Beta</Badge>\n <Badge variant=\"red-subtle\">Red subtle</Badge>\n <Badge variant=\"orange-subtle\">Orange subtle</Badge>\n <Badge variant=\"yellow-subtle\">Yellow subtle</Badge>\n <Badge variant=\"green-subtle\">Green subtle</Badge>\n <Badge variant=\"teal-subtle\">Teal subtle</Badge>\n <Badge variant=\"blue-subtle\">Blue subtle</Badge>\n <Badge variant=\"neutral-subtle\">Neutral subtle</Badge>\n </div>",
|
|
99
|
+
"<Badge variant=\"red\">Red</Badge>",
|
|
100
|
+
"<Badge variant=\"red-subtle\">Red subtle</Badge>",
|
|
101
|
+
"<Badge variant=\"orange\">Orange</Badge>",
|
|
102
|
+
"<Badge variant=\"orange-subtle\">Orange subtle</Badge>",
|
|
103
|
+
"<Badge variant=\"yellow\">Yellow</Badge>",
|
|
104
|
+
"<Badge variant=\"yellow-subtle\">Yellow subtle</Badge>",
|
|
105
|
+
"<Badge variant=\"green\">Green</Badge>",
|
|
106
|
+
"<Badge variant=\"green-subtle\">Green subtle</Badge>",
|
|
107
|
+
"<Badge variant=\"teal\">Teal</Badge>",
|
|
108
|
+
"<Badge variant=\"teal-subtle\">Teal subtle</Badge>",
|
|
109
|
+
"<Badge variant=\"blue\">Blue</Badge>",
|
|
110
|
+
"<Badge variant=\"blue-subtle\">Blue subtle</Badge>",
|
|
111
|
+
"<Badge variant=\"neutral\">Neutral</Badge>",
|
|
112
|
+
"<Badge variant=\"neutral-subtle\">Neutral subtle</Badge>",
|
|
113
|
+
"<Badge variant=\"inverted\">Inverted</Badge>",
|
|
58
114
|
"<Badge variant=\"outline\">Outline</Badge>",
|
|
59
115
|
"<Badge variant=\"beta\">Beta</Badge>",
|
|
60
|
-
"<p className=\"flex items-center gap-2\">\n Workers\n <Badge variant=\"
|
|
116
|
+
"<p className=\"flex items-center gap-2\">\n Workers\n <Badge variant=\"blue\">New</Badge>\n </p>"
|
|
61
117
|
],
|
|
62
118
|
"colors": [
|
|
63
|
-
"bg-kumo-
|
|
64
|
-
"bg-kumo-
|
|
119
|
+
"bg-kumo-badge-blue",
|
|
120
|
+
"bg-kumo-badge-blue-subtle",
|
|
121
|
+
"bg-kumo-badge-green",
|
|
122
|
+
"bg-kumo-badge-green-subtle",
|
|
123
|
+
"bg-kumo-badge-inverted",
|
|
124
|
+
"bg-kumo-badge-neutral",
|
|
125
|
+
"bg-kumo-badge-orange",
|
|
126
|
+
"bg-kumo-badge-orange-subtle",
|
|
127
|
+
"bg-kumo-badge-red",
|
|
128
|
+
"bg-kumo-badge-red-subtle",
|
|
129
|
+
"bg-kumo-badge-teal",
|
|
130
|
+
"bg-kumo-badge-teal-subtle",
|
|
131
|
+
"bg-kumo-badge-yellow",
|
|
132
|
+
"bg-kumo-badge-yellow-subtle",
|
|
65
133
|
"bg-kumo-fill",
|
|
66
|
-
"bg-kumo-success",
|
|
67
134
|
"border-kumo-brand",
|
|
68
135
|
"border-kumo-fill",
|
|
136
|
+
"text-kumo-badge-blue-subtle",
|
|
137
|
+
"text-kumo-badge-green-subtle",
|
|
138
|
+
"text-kumo-badge-inverted",
|
|
139
|
+
"text-kumo-badge-neutral-subtle",
|
|
140
|
+
"text-kumo-badge-orange-subtle",
|
|
141
|
+
"text-kumo-badge-red-subtle",
|
|
142
|
+
"text-kumo-badge-teal-subtle",
|
|
143
|
+
"text-kumo-badge-yellow-subtle",
|
|
69
144
|
"text-kumo-default",
|
|
70
|
-
"text-kumo-inverse",
|
|
71
145
|
"text-kumo-link"
|
|
72
146
|
],
|
|
73
147
|
"baseStyles": "inline-flex w-fit flex-none shrink-0 items-center justify-self-start rounded-full px-2 py-0.5 text-xs font-medium whitespace-nowrap"
|
|
@@ -94,6 +168,11 @@
|
|
|
94
168
|
"optional": true,
|
|
95
169
|
"description": "Secondary description text displayed below the title. Use for i18n string injection."
|
|
96
170
|
},
|
|
171
|
+
"action": {
|
|
172
|
+
"type": "ReactNode",
|
|
173
|
+
"optional": true,
|
|
174
|
+
"description": "Action slot rendered at the trailing end of the banner (e.g. a CTA button or link). Only used in structured mode (with `title` or `description`)."
|
|
175
|
+
},
|
|
97
176
|
"text": {
|
|
98
177
|
"type": "string",
|
|
99
178
|
"optional": true
|
|
@@ -130,13 +209,15 @@
|
|
|
130
209
|
}
|
|
131
210
|
},
|
|
132
211
|
"examples": [
|
|
133
|
-
"<div className=\"space-y-3\">\n <Banner\n icon={<Info weight=\"fill\" />}\n title=\"Update available\"\n description=\"A new version is ready to install.\"\n />\n <Banner\n icon={<Warning weight=\"fill\" />}\n variant=\"alert\"\n title=\"Session expiring\"\n description=\"Your session will expire in 5 minutes.\"\n />\n <Banner\n icon={<WarningCircle weight=\"fill\" />}\n variant=\"error\"\n title=\"Save failed\"\n description=\"We couldn't save your changes. Please try again.\"\n />\n </div>",
|
|
212
|
+
"<div className=\"w-full space-y-3\">\n <Banner\n icon={<Info weight=\"fill\" />}\n title=\"Update available\"\n description=\"A new version is ready to install.\"\n />\n <Banner\n icon={<Warning weight=\"fill\" />}\n variant=\"alert\"\n title=\"Session expiring\"\n description=\"Your session will expire in 5 minutes.\"\n />\n <Banner\n icon={<WarningCircle weight=\"fill\" />}\n variant=\"error\"\n title=\"Save failed\"\n description=\"We couldn't save your changes. Please try again.\"\n />\n </div>",
|
|
134
213
|
"<Banner\n icon={<Info weight=\"fill\" />}\n title=\"Update available\"\n description=\"A new version is ready to install.\"\n />",
|
|
135
214
|
"<Banner\n icon={<Warning weight=\"fill\" />}\n variant=\"alert\"\n title=\"Session expiring\"\n description=\"Your session will expire in 5 minutes.\"\n />",
|
|
136
215
|
"<Banner\n icon={<WarningCircle weight=\"fill\" />}\n variant=\"error\"\n title=\"Save failed\"\n description=\"We couldn't save your changes. Please try again.\"\n />",
|
|
137
216
|
"<Banner\n icon={<Info weight=\"fill\" />}\n title=\"Your changes have been saved.\"\n />",
|
|
138
217
|
"<Banner\n icon={<Warning weight=\"fill\" />}\n variant=\"alert\"\n title=\"Review required\"\n description=\"Please review your billing information before proceeding.\"\n />",
|
|
139
218
|
"<Banner\n icon={<Info weight=\"fill\" />}\n title=\"Custom content supported\"\n description={\n <Text DANGEROUS_className=\"text-inherit\">\n This banner supports <strong>custom content</strong> with Text.\n </Text>\n }\n />",
|
|
219
|
+
"<div className=\"w-full space-y-3\">\n <Banner\n icon={<Info weight=\"fill\" />}\n title=\"Update available\"\n description=\"A new version is ready to install.\"\n action={<Button size=\"sm\">Update now</Button>}\n />\n <Banner\n icon={<Info weight=\"fill\" />}\n title=\"Update available\"\n description=\"A new version is ready to install.\"\n action={\n <Button\n size=\"sm\"\n variant=\"ghost\"\n shape=\"square\"\n icon={X}\n aria-label=\"Dismiss\"\n />\n }\n />\n </div>",
|
|
220
|
+
"<Banner\n icon={<Warning weight=\"fill\" />}\n variant=\"alert\"\n title=\"Session expiring\"\n description=\"Your session will expire in 5 minutes.\"\n action={\n <>\n <Button size=\"sm\" variant=\"secondary\">\n Dismiss\n </Button>\n <Button size=\"sm\">Extend session</Button>\n </>\n }\n />",
|
|
140
221
|
"<Banner icon={<Info />}>This is a simple banner using children.</Banner>"
|
|
141
222
|
],
|
|
142
223
|
"colors": [
|
|
@@ -367,15 +448,15 @@
|
|
|
367
448
|
"optional": true,
|
|
368
449
|
"description": "Shows a loading spinner and disables interaction."
|
|
369
450
|
},
|
|
370
|
-
"
|
|
451
|
+
"title": {
|
|
371
452
|
"type": "string",
|
|
372
453
|
"optional": true
|
|
373
454
|
},
|
|
374
|
-
"
|
|
455
|
+
"id": {
|
|
375
456
|
"type": "string",
|
|
376
457
|
"optional": true
|
|
377
458
|
},
|
|
378
|
-
"
|
|
459
|
+
"lang": {
|
|
379
460
|
"type": "string",
|
|
380
461
|
"optional": true
|
|
381
462
|
},
|
|
@@ -413,7 +494,9 @@
|
|
|
413
494
|
"<Button variant=\"secondary\" icon={PlusIcon}>\n Create Worker\n </Button>",
|
|
414
495
|
"<div className=\"flex flex-wrap items-center gap-3\">\n <Button\n variant=\"secondary\"\n shape=\"square\"\n icon={PlusIcon}\n aria-label=\"Add item\"\n />\n <Button\n variant=\"secondary\"\n shape=\"circle\"\n icon={PlusIcon}\n aria-label=\"Add item\"\n />\n </div>",
|
|
415
496
|
"<Button variant=\"primary\" loading>\n Loading...\n </Button>",
|
|
416
|
-
"<Button variant=\"secondary\" disabled>\n Disabled\n </Button>"
|
|
497
|
+
"<Button variant=\"secondary\" disabled>\n Disabled\n </Button>",
|
|
498
|
+
"<Button variant=\"secondary\">Click me</Button>",
|
|
499
|
+
"<div className=\"flex flex-wrap items-center gap-3\">\n <Button variant=\"secondary\" title=\"Create a new Worker\">\n Create Worker\n </Button>\n <Button\n variant=\"secondary\"\n shape=\"square\"\n icon={PlusIcon}\n aria-label=\"Add item\"\n title=\"Add item\"\n />\n </div>"
|
|
417
500
|
],
|
|
418
501
|
"colors": [
|
|
419
502
|
"bg-kumo-base",
|
|
@@ -523,7 +606,6 @@
|
|
|
523
606
|
"colors": [
|
|
524
607
|
"bg-kumo-base",
|
|
525
608
|
"bg-kumo-contrast",
|
|
526
|
-
"border-kumo-line",
|
|
527
609
|
"ring-kumo-contrast",
|
|
528
610
|
"ring-kumo-danger",
|
|
529
611
|
"ring-kumo-line",
|
|
@@ -659,6 +741,11 @@
|
|
|
659
741
|
"required": true,
|
|
660
742
|
"description": "The text to display and copy to clipboard."
|
|
661
743
|
},
|
|
744
|
+
"textToCopy": {
|
|
745
|
+
"type": "string",
|
|
746
|
+
"optional": true,
|
|
747
|
+
"description": "If provided, this text will be copied to clipboard instead of the `text` prop."
|
|
748
|
+
},
|
|
662
749
|
"className": {
|
|
663
750
|
"type": "string",
|
|
664
751
|
"optional": true,
|
|
@@ -679,6 +766,7 @@
|
|
|
679
766
|
"<ClipboardText text=\"0c239dd2\" />",
|
|
680
767
|
"<ClipboardText text=\"abc123\" />",
|
|
681
768
|
"<ClipboardText text=\"sk_live_51H8...\" />",
|
|
769
|
+
"<ClipboardText\n text=\"sk_live_***********\"\n textToCopy=\"sk_live_51H8_abc123\"\n />",
|
|
682
770
|
"<ClipboardText text=\"https://example.com/very/long/url/path\" />",
|
|
683
771
|
"<ClipboardText\n text=\"npx kumo add button\"\n tooltip={{ text: \"Copy\", copiedText: \"Copied!\", side: \"top\" }}\n />"
|
|
684
772
|
],
|
|
@@ -2119,6 +2207,7 @@
|
|
|
2119
2207
|
"<Combobox\n value={value}\n onValueChange={(v) => setValue(v as ServerLocation | null)}\n items={servers}\n >\n <Combobox.TriggerInput\n className=\"w-[200px]\"\n placeholder=\"Select server\"\n />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(group: ServerLocationGroup) => (\n <Combobox.Group key={group.value} items={group.items}>\n <Combobox.GroupLabel>{group.value}</Combobox.GroupLabel>\n <Combobox.Collection>\n {(item: ServerLocation) => (\n <Combobox.Item key={item.value} value={item}>\n {item.label}\n </Combobox.Item>\n )}\n </Combobox.Collection>\n </Combobox.Group>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>",
|
|
2120
2208
|
"<div className=\"flex gap-2\">\n <Combobox\n value={value}\n onValueChange={setValue}\n items={bots}\n isItemEqualToValue={(bot: BotItem, selected: BotItem) =>\n bot.value === selected.value\n }\n multiple\n >\n <Combobox.TriggerMultipleWithInput\n className=\"w-[400px]\"\n placeholder=\"Select bots\"\n renderItem={(selected: BotItem) => (\n <Combobox.Chip key={selected.value}>{selected.label}</Combobox.Chip>\n )}\n inputSide=\"right\"\n />\n <Combobox.Content className=\"max-h-[200px] min-w-auto overflow-y-auto\">\n <Combobox.Empty />\n <Combobox.List>\n {(item: BotItem) => (\n <Combobox.Item key={item.value} value={item}>\n <div className=\"flex gap-2\">\n <Text>{item.label}</Text>\n <Text variant=\"secondary\">{item.author}</Text>\n </div>\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n <Button variant=\"primary\">Submit</Button>\n </div>",
|
|
2121
2209
|
"<div className=\"w-80\">\n <Combobox\n items={databases}\n value={value}\n onValueChange={setValue}\n label=\"Database\"\n description=\"Select your preferred database\"\n >\n <Combobox.TriggerInput placeholder=\"Select database\" />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(item: DatabaseItem) => (\n <Combobox.Item key={item.value} value={item}>\n {item.label}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n </div>",
|
|
2210
|
+
"<div className=\"flex flex-wrap gap-4 items-start\">\n <Combobox value=\"Apple\" items={fruits} disabled>\n <Combobox.TriggerInput\n className=\"w-[200px]\"\n placeholder=\"Select fruit\"\n />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(item: string) => (\n <Combobox.Item key={item} value={item}>\n {item}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n\n <Combobox value={languages[0]} items={languages} disabled>\n <Combobox.TriggerValue className=\"w-[200px]\" />\n <Combobox.Content>\n <Combobox.Input placeholder=\"Search\" />\n <Combobox.Empty />\n <Combobox.List>\n {(item: Language) => (\n <Combobox.Item key={item.value} value={item}>\n {item.emoji} {item.label}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n </div>",
|
|
2122
2211
|
"<div className=\"w-80\">\n <Combobox\n items={databases}\n value={value}\n onValueChange={setValue}\n label=\"Database\"\n error={{ message: \"Please select a database\", match: true }}\n >\n <Combobox.TriggerInput placeholder=\"Select database\" />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(item: DatabaseItem) => (\n <Combobox.Item key={item.value} value={item}>\n {item.label}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n </div>",
|
|
2123
2212
|
"<div className=\"flex flex-wrap items-center gap-4\">\n <Combobox\n size=\"sm\"\n value={smValue}\n onValueChange={(v) => setSmValue(v as string | null)}\n items={fruits.slice(0, 8)}\n >\n <Combobox.TriggerInput placeholder=\"Small (sm)\" />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(item: string) => (\n <Combobox.Item key={item} value={item}>\n {item}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n <Combobox\n size=\"base\"\n value={baseValue}\n onValueChange={(v) => setBaseValue(v as string | null)}\n items={fruits.slice(0, 8)}\n >\n <Combobox.TriggerInput placeholder=\"Base (default)\" />\n <Combobox.Content>\n <Combobox.Empty />\n <Combobox.List>\n {(item: string) => (\n <Combobox.Item key={item} value={item}>\n {item}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n </div>",
|
|
2124
2213
|
"<div className=\"flex flex-wrap items-center gap-4\">\n <Combobox\n size=\"sm\"\n value={smValue}\n onValueChange={(v) => setSmValue(v as Language)}\n items={languages}\n >\n <Combobox.TriggerValue className=\"w-[160px]\" />\n <Combobox.Content>\n <Combobox.Input placeholder=\"Search\" />\n <Combobox.Empty />\n <Combobox.List>\n {(item: Language) => (\n <Combobox.Item key={item.value} value={item}>\n {item.emoji} {item.label}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n <Combobox\n size=\"base\"\n value={baseValue}\n onValueChange={(v) => setBaseValue(v as Language)}\n items={languages}\n >\n <Combobox.TriggerValue className=\"w-[180px]\" />\n <Combobox.Content>\n <Combobox.Input placeholder=\"Search\" />\n <Combobox.Empty />\n <Combobox.List>\n {(item: Language) => (\n <Combobox.Item key={item.value} value={item}>\n {item.emoji} {item.label}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox>\n </div>"
|
|
@@ -2158,6 +2247,10 @@
|
|
|
2158
2247
|
"sideOffset": {
|
|
2159
2248
|
"type": "ComboboxBase.Positioner.Props[\"sideOffset\"]",
|
|
2160
2249
|
"optional": true
|
|
2250
|
+
},
|
|
2251
|
+
"container": {
|
|
2252
|
+
"type": "PortalContainer",
|
|
2253
|
+
"optional": true
|
|
2161
2254
|
}
|
|
2162
2255
|
}
|
|
2163
2256
|
},
|
|
@@ -2245,6 +2338,11 @@
|
|
|
2245
2338
|
"type": "ReactNode",
|
|
2246
2339
|
"optional": true,
|
|
2247
2340
|
"description": "Child content - typically one or more Panel components"
|
|
2341
|
+
},
|
|
2342
|
+
"container": {
|
|
2343
|
+
"type": "PortalContainer",
|
|
2344
|
+
"optional": true,
|
|
2345
|
+
"description": "Container element for the portal. Use this to render the command palette inside a Shadow DOM or custom container. Overrides `KumoPortalProvider` context."
|
|
2248
2346
|
}
|
|
2249
2347
|
},
|
|
2250
2348
|
"examples": [
|
|
@@ -2432,6 +2530,11 @@
|
|
|
2432
2530
|
"optional": true,
|
|
2433
2531
|
"description": "Dialog content (typically Title, Description, Close, and action buttons)."
|
|
2434
2532
|
},
|
|
2533
|
+
"container": {
|
|
2534
|
+
"type": "PortalContainer",
|
|
2535
|
+
"optional": true,
|
|
2536
|
+
"description": "Container element for the portal. Use this to render the dialog inside a Shadow DOM or custom container. Overrides `KumoPortalProvider` context."
|
|
2537
|
+
},
|
|
2435
2538
|
"size": {
|
|
2436
2539
|
"type": "enum",
|
|
2437
2540
|
"optional": true,
|
|
@@ -2468,6 +2571,7 @@
|
|
|
2468
2571
|
],
|
|
2469
2572
|
"colors": [
|
|
2470
2573
|
"bg-kumo-base",
|
|
2574
|
+
"bg-kumo-recessed",
|
|
2471
2575
|
"text-kumo-default"
|
|
2472
2576
|
],
|
|
2473
2577
|
"subComponents": {
|
|
@@ -3159,7 +3263,6 @@
|
|
|
3159
3263
|
"colors": [
|
|
3160
3264
|
"bg-kumo-base",
|
|
3161
3265
|
"bg-kumo-elevated",
|
|
3162
|
-
"bg-kumo-recessed",
|
|
3163
3266
|
"ring-kumo-fill",
|
|
3164
3267
|
"ring-kumo-line",
|
|
3165
3268
|
"text-kumo-strong"
|
|
@@ -3388,8 +3491,9 @@
|
|
|
3388
3491
|
],
|
|
3389
3492
|
"colors": [
|
|
3390
3493
|
"bg-kumo-base",
|
|
3391
|
-
"bg-kumo-
|
|
3392
|
-
"border-kumo-fill"
|
|
3494
|
+
"bg-kumo-recessed",
|
|
3495
|
+
"border-kumo-fill",
|
|
3496
|
+
"border-kumo-recessed"
|
|
3393
3497
|
],
|
|
3394
3498
|
"styling": {
|
|
3395
3499
|
"container": {
|
|
@@ -3792,7 +3896,6 @@
|
|
|
3792
3896
|
"bg-kumo-tint",
|
|
3793
3897
|
"border-kumo-danger",
|
|
3794
3898
|
"border-kumo-interact",
|
|
3795
|
-
"border-kumo-line",
|
|
3796
3899
|
"border-kumo-ring",
|
|
3797
3900
|
"ring-kumo-danger",
|
|
3798
3901
|
"ring-kumo-line",
|
|
@@ -3953,7 +4056,7 @@
|
|
|
3953
4056
|
"<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 />",
|
|
3954
4057
|
"<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>",
|
|
3955
4058
|
"<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>",
|
|
3956
|
-
"<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=\"
|
|
4059
|
+
"<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=\"neutral\">{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>",
|
|
3957
4060
|
"<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>"
|
|
3958
4061
|
],
|
|
3959
4062
|
"colors": [
|
|
@@ -4444,29 +4547,43 @@
|
|
|
4444
4547
|
"Surface": {
|
|
4445
4548
|
"name": "Surface",
|
|
4446
4549
|
"type": "component",
|
|
4447
|
-
"description": "Surface
|
|
4550
|
+
"description": "Polymorphic container with consistent background, shadow, and border styling. Use the `render` prop to change the underlying element: ```tsx <Surface render={<section />} className=\"rounded-lg p-4\">Card content</Surface> ```",
|
|
4448
4551
|
"importPath": "@cloudflare/kumo",
|
|
4449
4552
|
"category": "Layout",
|
|
4450
4553
|
"props": {
|
|
4451
4554
|
"as": {
|
|
4452
4555
|
"type": "React.ElementType",
|
|
4453
|
-
"optional": true
|
|
4454
|
-
"description": "The HTML element type to render as (e.g. `\"div\"`, `\"section\"`, `\"article\"`)."
|
|
4556
|
+
"optional": true
|
|
4455
4557
|
},
|
|
4456
|
-
"
|
|
4457
|
-
"type": "
|
|
4558
|
+
"render": {
|
|
4559
|
+
"type": "ReactNode",
|
|
4458
4560
|
"optional": true,
|
|
4459
|
-
"description": "
|
|
4561
|
+
"description": "Allows you to replace the component’s HTML element with a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
|
|
4460
4562
|
},
|
|
4461
4563
|
"children": {
|
|
4462
4564
|
"type": "ReactNode",
|
|
4463
|
-
"optional": true
|
|
4464
|
-
|
|
4565
|
+
"optional": true
|
|
4566
|
+
},
|
|
4567
|
+
"className": {
|
|
4568
|
+
"type": "string",
|
|
4569
|
+
"optional": true
|
|
4570
|
+
},
|
|
4571
|
+
"id": {
|
|
4572
|
+
"type": "string",
|
|
4573
|
+
"optional": true
|
|
4574
|
+
},
|
|
4575
|
+
"lang": {
|
|
4576
|
+
"type": "string",
|
|
4577
|
+
"optional": true
|
|
4578
|
+
},
|
|
4579
|
+
"title": {
|
|
4580
|
+
"type": "string",
|
|
4581
|
+
"optional": true
|
|
4465
4582
|
}
|
|
4466
4583
|
},
|
|
4467
4584
|
"examples": [
|
|
4468
4585
|
"<Surface className=\"rounded-lg p-6\">\n <Text size=\"lg\" bold>\n Surface Component\n </Text>\n <div className=\"mt-2\">\n <Text variant=\"secondary\">\n A container with consistent elevation and border styling.\n </Text>\n </div>\n </Surface>",
|
|
4469
|
-
"<div className=\"flex flex-col gap-4\">\n <Surface
|
|
4586
|
+
"<div className=\"flex flex-col gap-4\">\n <Surface render={<section />} className=\"rounded-lg p-4\">\n <Text bold>As section element</Text>\n </Surface>\n <Surface render={<article />} className=\"rounded-lg p-4\">\n <Text bold>As article element</Text>\n </Surface>\n <Surface render={<aside />} className=\"rounded-lg p-4\">\n <Text bold>As aside element</Text>\n </Surface>\n </div>",
|
|
4470
4587
|
"<Surface className=\"rounded-lg p-6\">\n <Text bold>Outer Surface</Text>\n <Surface className=\"mt-4 rounded-md bg-kumo-elevated p-4\">\n <Text variant=\"secondary\">Nested Surface</Text>\n </Surface>\n </Surface>"
|
|
4471
4588
|
],
|
|
4472
4589
|
"colors": [
|
|
@@ -4593,7 +4710,7 @@
|
|
|
4593
4710
|
"<Switch label=\"Disabled\" checked={false} disabled />",
|
|
4594
4711
|
"<Switch\n label=\"Neutral switch\"\n variant=\"neutral\"\n checked={checked}\n onCheckedChange={setChecked}\n />",
|
|
4595
4712
|
"<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>",
|
|
4596
|
-
"<div className=\"
|
|
4713
|
+
"<div className=\"grid grid-cols-2 gap-x-8 gap-y-4\">\n <Switch\n label=\"Default off\"\n checked={false}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Default on\"\n checked={true}\n onCheckedChange={() => {}}\n />\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 </div>",
|
|
4597
4714
|
"<div className=\"flex flex-col gap-4\">\n <Switch\n label=\"Small\"\n size=\"sm\"\n checked={true}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Base (default)\"\n size=\"base\"\n checked={true}\n onCheckedChange={() => {}}\n />\n <Switch\n label=\"Large\"\n size=\"lg\"\n checked={true}\n onCheckedChange={() => {}}\n />\n </div>"
|
|
4598
4715
|
],
|
|
4599
4716
|
"colors": [
|
|
@@ -4683,6 +4800,21 @@
|
|
|
4683
4800
|
"selected": "bg-kumo-tint"
|
|
4684
4801
|
}
|
|
4685
4802
|
},
|
|
4803
|
+
"sticky": {
|
|
4804
|
+
"type": "enum",
|
|
4805
|
+
"values": [
|
|
4806
|
+
"left",
|
|
4807
|
+
"right"
|
|
4808
|
+
],
|
|
4809
|
+
"descriptions": {
|
|
4810
|
+
"left": "Pin column to the left edge of the scroll container",
|
|
4811
|
+
"right": "Pin column to the right edge of the scroll container"
|
|
4812
|
+
},
|
|
4813
|
+
"classes": {
|
|
4814
|
+
"left": "sticky left-0",
|
|
4815
|
+
"right": "sticky right-0"
|
|
4816
|
+
}
|
|
4817
|
+
},
|
|
4686
4818
|
"className": {
|
|
4687
4819
|
"type": "string",
|
|
4688
4820
|
"description": "Additional CSS classes"
|
|
@@ -4698,6 +4830,7 @@
|
|
|
4698
4830
|
"<LayerCard>\n <LayerCard.Primary className=\"p-0\">\n <Table>\n <Table.Header variant=\"compact\">\n <Table.Row>\n <Table.Head>Subject</Table.Head>\n <Table.Head>From</Table.Head>\n <Table.Head>Date</Table.Head>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {emailData.slice(0, 3).map((row) => (\n <Table.Row key={row.id}>\n <Table.Cell>{row.subject}</Table.Cell>\n <Table.Cell>{row.from}</Table.Cell>\n <Table.Cell>{row.date}</Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </LayerCard.Primary>\n </LayerCard>",
|
|
4699
4831
|
"<LayerCard>\n <LayerCard.Primary className=\"p-0\">\n <Table>\n <Table.Header>\n <Table.Row>\n <Table.CheckHead\n checked={selectedIds.size === rows.length}\n indeterminate={\n selectedIds.size > 0 && selectedIds.size < rows.length\n }\n onValueChange={toggleAll}\n aria-label=\"Select all rows\"\n />\n <Table.Head>Subject</Table.Head>\n <Table.Head>From</Table.Head>\n <Table.Head>Date</Table.Head>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {rows.map((row) => (\n <Table.Row\n key={row.id}\n variant={selectedIds.has(row.id) ? \"selected\" : \"default\"}\n >\n <Table.CheckCell\n checked={selectedIds.has(row.id)}\n onValueChange={() => toggleRow(row.id)}\n aria-label={`Select ${row.subject}`}\n />\n <Table.Cell>{row.subject}</Table.Cell>\n <Table.Cell>{row.from}</Table.Cell>\n <Table.Cell>{row.date}</Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </LayerCard.Primary>\n </LayerCard>",
|
|
4700
4832
|
"<LayerCard>\n <LayerCard.Primary className=\"p-0\">\n <Table layout=\"fixed\">\n <colgroup>\n <col />\n <col className=\"w-[150px]\" />\n <col className=\"w-[150px]\" />\n </colgroup>\n <Table.Header>\n <Table.Row>\n <Table.Head>Subject</Table.Head>\n <Table.Head>From</Table.Head>\n <Table.Head>Date</Table.Head>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {emailData.map((row) => (\n <Table.Row key={row.id}>\n <Table.Cell>{row.subject}</Table.Cell>\n <Table.Cell>{row.from}</Table.Cell>\n <Table.Cell>{row.date}</Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </LayerCard.Primary>\n </LayerCard>",
|
|
4833
|
+
"<LayerCard>\n <LayerCard.Primary className=\"w-full max-w-md overflow-x-auto p-0\">\n <Table>\n <Table.Header>\n <Table.Row>\n <Table.Head>Subject</Table.Head>\n <Table.Head>From</Table.Head>\n <Table.Head>Date</Table.Head>\n <Table.Head>Tags</Table.Head>\n <Table.Head sticky=\"right\">\n <span className=\"sr-only\">Actions</span>\n </Table.Head>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {emailData.map((row) => (\n <Table.Row key={row.id}>\n <Table.Cell className=\"whitespace-nowrap\">\n {row.subject}\n </Table.Cell>\n <Table.Cell className=\"whitespace-nowrap\">\n {row.from}\n </Table.Cell>\n <Table.Cell className=\"whitespace-nowrap\">\n {row.date}\n </Table.Cell>\n <Table.Cell className=\"whitespace-nowrap\">\n {row.tags ? (\n <div className=\"inline-flex gap-1\">\n {row.tags.map((tag) => (\n <Badge key={tag}>{tag}</Badge>\n ))}\n </div>\n ) : (\n \"—\"\n )}\n </Table.Cell>\n <Table.Cell sticky=\"right\" className=\"text-right\">\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n variant=\"ghost\"\n size=\"sm\"\n shape=\"square\"\n aria-label=\"More options\"\n >\n <DotsThree weight=\"bold\" size={16} />\n </Button>\n }\n />\n <DropdownMenu.Content>\n <DropdownMenu.Item icon={Eye}>View</DropdownMenu.Item>\n <DropdownMenu.Item icon={PencilSimple}>\n Edit\n </DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.Item icon={Trash} variant=\"danger\">\n Delete\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </LayerCard.Primary>\n </LayerCard>",
|
|
4701
4834
|
"<LayerCard>\n <LayerCard.Primary className=\"w-full overflow-x-auto p-0\">\n <Table layout=\"fixed\">\n <colgroup>\n <col />{\" \"}\n {/* Checkbox column - width handled by Table.CheckHead/CheckCell */}\n <col />\n <col style={{ width: \"150px\" }} />\n <col style={{ width: \"120px\" }} />\n <col style={{ width: \"50px\" }} />\n </colgroup>\n <Table.Header>\n <Table.Row>\n <Table.CheckHead\n checked={selectedIds.size === emailData.length}\n indeterminate={\n selectedIds.size > 0 && selectedIds.size < emailData.length\n }\n onValueChange={toggleAll}\n aria-label=\"Select all rows\"\n />\n <Table.Head>Subject</Table.Head>\n <Table.Head>From</Table.Head>\n <Table.Head>Date</Table.Head>\n <Table.Head></Table.Head>\n </Table.Row>\n </Table.Header>\n <Table.Body>\n {emailData.map((row) => (\n <Table.Row\n key={row.id}\n variant={selectedIds.has(row.id) ? \"selected\" : \"default\"}\n >\n <Table.CheckCell\n checked={selectedIds.has(row.id)}\n onValueChange={() => toggleRow(row.id)}\n aria-label={`Select ${row.subject}`}\n />\n <Table.Cell>\n <div className=\"flex items-center gap-2\">\n <EnvelopeSimple size={16} />\n <span className=\"truncate\">{row.subject}</span>\n {row.tags && (\n <div className=\"ml-2 inline-flex gap-1\">\n {row.tags.map((tag) => (\n <Badge key={tag}>{tag}</Badge>\n ))}\n </div>\n )}\n </div>\n </Table.Cell>\n <Table.Cell>\n <span className=\"truncate\">{row.from}</span>\n </Table.Cell>\n <Table.Cell>\n <span className=\"truncate\">{row.date}</span>\n </Table.Cell>\n <Table.Cell className=\"text-right\">\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n variant=\"ghost\"\n size=\"sm\"\n shape=\"square\"\n aria-label=\"More options\"\n >\n <DotsThree weight=\"bold\" size={16} />\n </Button>\n }\n />\n <DropdownMenu.Content>\n <DropdownMenu.Item icon={Eye}>View</DropdownMenu.Item>\n <DropdownMenu.Item icon={PencilSimple}>\n Edit\n </DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.Item icon={Trash} variant=\"danger\">\n Delete\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </LayerCard.Primary>\n </LayerCard>"
|
|
4702
4835
|
],
|
|
4703
4836
|
"colors": [
|
|
@@ -4826,9 +4959,9 @@
|
|
|
4826
4959
|
"bg-kumo-base",
|
|
4827
4960
|
"bg-kumo-brand",
|
|
4828
4961
|
"bg-kumo-recessed",
|
|
4829
|
-
"bg-kumo-surface",
|
|
4830
4962
|
"bg-kumo-tint",
|
|
4831
4963
|
"border-kumo-ring",
|
|
4964
|
+
"ring-kumo-line",
|
|
4832
4965
|
"ring-kumo-ring",
|
|
4833
4966
|
"text-kumo-default",
|
|
4834
4967
|
"text-kumo-strong",
|
|
@@ -4933,6 +5066,11 @@
|
|
|
4933
5066
|
"optional": true,
|
|
4934
5067
|
"description": "Whether to use bold font weight (only applies to body variants)."
|
|
4935
5068
|
},
|
|
5069
|
+
"truncate": {
|
|
5070
|
+
"type": "boolean",
|
|
5071
|
+
"optional": true,
|
|
5072
|
+
"description": "Whether to truncate overflowing text with an ellipsis. Adds `truncate min-w-0` classes."
|
|
5073
|
+
},
|
|
4936
5074
|
"as": {
|
|
4937
5075
|
"type": "React.ElementType",
|
|
4938
5076
|
"optional": true,
|
|
@@ -4945,7 +5083,8 @@
|
|
|
4945
5083
|
}
|
|
4946
5084
|
},
|
|
4947
5085
|
"examples": [
|
|
4948
|
-
"<div className=\"grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading1\">Heading 1</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-3xl (30px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading2\">Heading 2</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-2xl (24px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading3\">Heading 3</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-lg (16px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text>Body</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text bold>Body bold</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"lg\">Body lg</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-lg (16px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"sm\">Body sm</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"xs\">Body xs</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-xs (12px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"secondary\">Body secondary</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono\">Monospace</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono\" size=\"lg\">\n Monospace lg\n </Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono-secondary\">Monospace secondary</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"success\">Success</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"error\">Error</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n </div>"
|
|
5086
|
+
"<div className=\"grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading1\">Heading 1</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-3xl (30px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading2\">Heading 2</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-2xl (24px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"heading3\">Heading 3</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-lg (16px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text>Body</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text bold>Body bold</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"lg\">Body lg</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-lg (16px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"sm\">Body sm</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text size=\"xs\">Body xs</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-xs (12px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"secondary\">Body secondary</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono\">Monospace</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono\" size=\"lg\">\n Monospace lg\n </Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"mono-secondary\">Monospace secondary</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-sm (13px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"success\">Success</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n <div className=\"flex flex-col justify-end gap-1 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text variant=\"error\">Error</Text>\n <p className=\"font-mono text-xs text-kumo-subtle\">text-base (14px)</p>\n </div>\n </div>",
|
|
5087
|
+
"<div className=\"w-64 rounded-lg border border-kumo-line bg-kumo-base p-4\">\n <Text truncate>\n This is a long piece of text that will be truncated with an ellipsis\n when it overflows its container.\n </Text>\n </div>"
|
|
4949
5088
|
],
|
|
4950
5089
|
"colors": [
|
|
4951
5090
|
"text-kumo-danger",
|
|
@@ -5008,11 +5147,11 @@
|
|
|
5008
5147
|
"info": "Info toast for neutral informational messages"
|
|
5009
5148
|
},
|
|
5010
5149
|
"classes": {
|
|
5011
|
-
"default": "border-kumo-fill bg-kumo-
|
|
5012
|
-
"success": "
|
|
5013
|
-
"error": "
|
|
5014
|
-
"warning": "
|
|
5015
|
-
"info": "
|
|
5150
|
+
"default": "border-kumo-fill bg-kumo-base",
|
|
5151
|
+
"success": "ring-[0.3px] ring-kumo-success bg-kumo-base [&_[data-toast-icon]]:text-kumo-success [&_[data-toast-title]]:text-kumo-success",
|
|
5152
|
+
"error": "ring-[0.3px] ring-kumo-danger bg-kumo-base [&_[data-toast-icon]]:text-kumo-danger [&_[data-toast-title]]:text-kumo-danger",
|
|
5153
|
+
"warning": "ring-[0.3px] ring-kumo-warning bg-kumo-base [&_[data-toast-icon]]:text-kumo-warning [&_[data-toast-title]]:text-kumo-warning",
|
|
5154
|
+
"info": "ring-[0.3px] ring-kumo-info bg-kumo-control [&_[data-toast-icon]]:text-kumo-info [&_[data-toast-title]]:text-kumo-info"
|
|
5016
5155
|
}
|
|
5017
5156
|
},
|
|
5018
5157
|
"className": {
|
|
@@ -5026,6 +5165,7 @@
|
|
|
5026
5165
|
},
|
|
5027
5166
|
"examples": [],
|
|
5028
5167
|
"colors": [
|
|
5168
|
+
"bg-kumo-base",
|
|
5029
5169
|
"bg-kumo-contrast",
|
|
5030
5170
|
"bg-kumo-control",
|
|
5031
5171
|
"bg-kumo-danger-tint",
|
|
@@ -5033,11 +5173,12 @@
|
|
|
5033
5173
|
"bg-kumo-info-tint",
|
|
5034
5174
|
"bg-kumo-success-tint",
|
|
5035
5175
|
"bg-kumo-warning-tint",
|
|
5036
|
-
"border-kumo-danger",
|
|
5037
5176
|
"border-kumo-fill",
|
|
5038
|
-
"
|
|
5039
|
-
"
|
|
5040
|
-
"
|
|
5177
|
+
"ring-kumo-danger",
|
|
5178
|
+
"ring-kumo-info",
|
|
5179
|
+
"ring-kumo-ring",
|
|
5180
|
+
"ring-kumo-success",
|
|
5181
|
+
"ring-kumo-warning",
|
|
5041
5182
|
"text-kumo-danger",
|
|
5042
5183
|
"text-kumo-default",
|
|
5043
5184
|
"text-kumo-info",
|
|
@@ -5051,8 +5192,8 @@
|
|
|
5051
5192
|
"width": 300,
|
|
5052
5193
|
"padding": 16,
|
|
5053
5194
|
"borderRadius": 8,
|
|
5054
|
-
"background": "
|
|
5055
|
-
"border": "
|
|
5195
|
+
"background": "bg-kumo-base",
|
|
5196
|
+
"border": "ring-[0.3px] ring-kumo-ring",
|
|
5056
5197
|
"shadow": "shadow-lg",
|
|
5057
5198
|
"gap": 4
|
|
5058
5199
|
},
|