@cloudflare/kumo 2.3.0 → 2.4.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 +80 -0
- package/ai/component-registry.json +166 -123
- package/ai/component-registry.md +349 -215
- package/ai/schemas.ts +7 -2
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +46 -34
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +12 -4
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/SankeyChart-npoyr1j06svoxsfe.js +770 -0
- package/dist/chunks/SankeyChart-npoyr1j06svoxsfe.js.map +1 -0
- package/dist/chunks/{autocomplete-h39m8kzoq0csjh9l.js → autocomplete-cvp5fsdt6gh0p3vu.js} +32 -28
- package/dist/chunks/autocomplete-cvp5fsdt6gh0p3vu.js.map +1 -0
- package/dist/chunks/{badge-e9w8qrjmeu9nocf6.js → badge-c1th6h6ahz7eu49q.js} +2 -2
- package/dist/chunks/badge-c1th6h6ahz7eu49q.js.map +1 -0
- package/dist/chunks/banner-es5iwuk4pf25e29e.js +120 -0
- package/dist/chunks/banner-es5iwuk4pf25e29e.js.map +1 -0
- package/dist/chunks/{breadcrumbs-g4pyoikibpoxsgw4.js → breadcrumbs-j214mimk5zj4ffp4.js} +8 -6
- package/dist/chunks/breadcrumbs-j214mimk5zj4ffp4.js.map +1 -0
- package/dist/chunks/{button-fxdpoacmq5rv1adk.js → button-mnrxu6dud2x5js5b.js} +19 -17
- package/dist/chunks/{button-fxdpoacmq5rv1adk.js.map → button-mnrxu6dud2x5js5b.js.map} +1 -1
- package/dist/chunks/{checkbox-dtoq56ieijj9m6vr.js → checkbox-dqih8tzzt3vhp870.js} +25 -19
- package/dist/chunks/checkbox-dqih8tzzt3vhp870.js.map +1 -0
- package/dist/chunks/{clipboard-text-nvdsloomefwgcxat.js → clipboard-text-mrut8z3dt1w0efxz.js} +4 -4
- package/dist/chunks/{clipboard-text-nvdsloomefwgcxat.js.map → clipboard-text-mrut8z3dt1w0efxz.js.map} +1 -1
- package/dist/chunks/{collapsible-cnsxmp7dko87pgx0.js → collapsible-nzqcf9zwnjkxqzr6.js} +21 -17
- package/dist/chunks/collapsible-nzqcf9zwnjkxqzr6.js.map +1 -0
- package/dist/chunks/{combobox-jcqn64ixr4557a0s.js → combobox-dpptfpcmqfrso1xa.js} +115 -103
- package/dist/chunks/combobox-dpptfpcmqfrso1xa.js.map +1 -0
- package/dist/chunks/{command-palette-jrq7p16tff6n46nj.js → command-palette-fqhyacp33fhyf696.js} +5 -5
- package/dist/chunks/{command-palette-jrq7p16tff6n46nj.js.map → command-palette-fqhyacp33fhyf696.js.map} +1 -1
- package/dist/chunks/{dialog-gndju3sqg1lmpb3f.js → dialog-my9fioafdstq50mi.js} +49 -33
- package/dist/chunks/{dialog-gndju3sqg1lmpb3f.js.map → dialog-my9fioafdstq50mi.js.map} +1 -1
- package/dist/chunks/{dropdown-k6orz4j043xybf54.js → dropdown-g4sb4cw9ffqaw5gx.js} +54 -44
- package/dist/chunks/dropdown-g4sb4cw9ffqaw5gx.js.map +1 -0
- package/dist/chunks/{empty-ni12ufom1kkakbuc.js → empty-n17inn1z67bpohkw.js} +2 -2
- package/dist/chunks/{empty-ni12ufom1kkakbuc.js.map → empty-n17inn1z67bpohkw.js.map} +1 -1
- package/dist/chunks/{field-n16udu32tpyq5udz.js → field-c8o7h3rlam4c9pcx.js} +3 -3
- package/dist/chunks/{field-n16udu32tpyq5udz.js.map → field-c8o7h3rlam4c9pcx.js.map} +1 -1
- package/dist/chunks/{input-area-hhhpgg0ev8bowtrk.js → input-area-eurk3seud30ricwn.js} +4 -4
- package/dist/chunks/{input-area-hhhpgg0ev8bowtrk.js.map → input-area-eurk3seud30ricwn.js.map} +1 -1
- package/dist/chunks/{input-mv7giprcc6hfkpq3.js → input-en8hhb14mmt3tfwn.js} +3 -3
- package/dist/chunks/{input-mv7giprcc6hfkpq3.js.map → input-en8hhb14mmt3tfwn.js.map} +1 -1
- package/dist/chunks/{input-group-kkw5j7rwzhj66h10.js → input-group-d09ocmjcbdai0gze.js} +5 -5
- package/dist/chunks/{input-group-kkw5j7rwzhj66h10.js.map → input-group-d09ocmjcbdai0gze.js.map} +1 -1
- package/dist/chunks/{label-f6yvqca8qhbpvkq8.js → label-c8rz453pti66slki.js} +3 -3
- package/dist/chunks/{label-f6yvqca8qhbpvkq8.js.map → label-c8rz453pti66slki.js.map} +1 -1
- package/dist/chunks/{layer-card-gegkqhkjy65l1ueo.js → layer-card-er4flkcxmzfug8jw.js} +2 -2
- package/dist/chunks/{layer-card-gegkqhkjy65l1ueo.js.map → layer-card-er4flkcxmzfug8jw.js.map} +1 -1
- package/dist/chunks/{link-jjk7qolyol7s1jkk.js → link-i6vnwyjcwvjz5btm.js} +20 -19
- package/dist/chunks/{link-jjk7qolyol7s1jkk.js.map → link-i6vnwyjcwvjz5btm.js.map} +1 -1
- package/dist/chunks/menubar-ng5if56amh1tto4j.js +98 -0
- package/dist/chunks/menubar-ng5if56amh1tto4j.js.map +1 -0
- package/dist/chunks/{meter-kxn34sy6l2mz5dwq.js → meter-d5igshkjqttl1fdj.js} +2 -2
- package/dist/chunks/{meter-kxn34sy6l2mz5dwq.js.map → meter-d5igshkjqttl1fdj.js.map} +1 -1
- package/dist/chunks/{pagination-ixbq8ssuuo0jxaa4.js → pagination-bw7vwca4wrfjm8vb.js} +3 -3
- package/dist/chunks/{pagination-ixbq8ssuuo0jxaa4.js.map → pagination-bw7vwca4wrfjm8vb.js.map} +1 -1
- package/dist/chunks/{popover-js5ds3szd43kspja.js → popover-ozf1j7oi7pxiudyz.js} +4 -2
- package/dist/chunks/popover-ozf1j7oi7pxiudyz.js.map +1 -0
- package/dist/chunks/{radio-nyw89v4eafptepmz.js → radio-gpg6kmzonr2cayq1.js} +54 -46
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js.map +1 -0
- package/dist/chunks/{select-o2i7aovnu8v1zv8t.js → select-dw9iw35ug7yer3o3.js} +101 -91
- package/dist/chunks/select-dw9iw35ug7yer3o3.js.map +1 -0
- package/dist/chunks/{sensitive-input-bjg6m791yz7g6bn3.js → sensitive-input-dgoxjtoxl4zqa51v.js} +50 -44
- package/dist/chunks/{sensitive-input-bjg6m791yz7g6bn3.js.map → sensitive-input-dgoxjtoxl4zqa51v.js.map} +1 -1
- package/dist/chunks/sidebar-hzio700cg85f7f31.js +1014 -0
- package/dist/chunks/sidebar-hzio700cg85f7f31.js.map +1 -0
- package/dist/chunks/{surface-lzwbh3f5t0gxc83t.js → surface-iyejjbqogjbo7ise.js} +2 -2
- package/dist/chunks/{surface-lzwbh3f5t0gxc83t.js.map → surface-iyejjbqogjbo7ise.js.map} +1 -1
- package/dist/chunks/{switch-d9cs31oj4rjtg717.js → switch-g8f77h69h34xld06.js} +50 -45
- package/dist/chunks/switch-g8f77h69h34xld06.js.map +1 -0
- package/dist/chunks/{table-c6qemc2jmv22cv3p.js → table-e1te1im2tt2ez05y.js} +2 -2
- package/dist/chunks/{table-c6qemc2jmv22cv3p.js.map → table-e1te1im2tt2ez05y.js.map} +1 -1
- package/dist/chunks/{table-of-contents-fzyv7uhnnyr13dqu.js → table-of-contents-jco9kvt48d34dwsw.js} +34 -30
- package/dist/chunks/table-of-contents-jco9kvt48d34dwsw.js.map +1 -0
- package/dist/chunks/{tabs-f0ztlooi91ko9g04.js → tabs-hice1yy5q2t889z8.js} +6 -4
- package/dist/chunks/tabs-hice1yy5q2t889z8.js.map +1 -0
- package/dist/chunks/{toast-ejfm5cbt9yulqhol.js → toast-kvbgct0jvfmn4mas.js} +29 -27
- package/dist/chunks/{toast-ejfm5cbt9yulqhol.js.map → toast-kvbgct0jvfmn4mas.js.map} +1 -1
- package/dist/chunks/{tooltip-o6xfw9jjclv9pxaj.js → tooltip-ken77ixya0qpidie.js} +6 -6
- package/dist/chunks/{tooltip-o6xfw9jjclv9pxaj.js.map → tooltip-ken77ixya0qpidie.js.map} +1 -1
- package/dist/chunks/{vendor-base-ui-mzjqwv5teijixz8h.js → vendor-base-ui-knphx7dts1vm1x37.js} +1726 -1719
- package/dist/chunks/{vendor-base-ui-mzjqwv5teijixz8h.js.map → vendor-base-ui-knphx7dts1vm1x37.js.map} +1 -1
- package/dist/code.js +1 -1
- package/dist/components/autocomplete.js +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/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +22 -23
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table-of-contents.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 +122 -123
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/otp-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/scripts/theme-generator/config.d.ts.map +1 -1
- package/dist/scripts/theme-generator/config.js +36 -38
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -1
- package/dist/scripts/theme-generator/types.d.ts +8 -2
- package/dist/scripts/theme-generator/types.d.ts.map +1 -1
- package/dist/src/components/autocomplete/autocomplete.d.ts +1 -0
- package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/src/components/autocomplete/index.d.ts +1 -0
- package/dist/src/components/autocomplete/index.d.ts.map +1 -1
- package/dist/src/components/badge/badge.d.ts +1 -1
- package/dist/src/components/banner/banner.d.ts +14 -7
- package/dist/src/components/banner/banner.d.ts.map +1 -1
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts +43 -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/collapsible/collapsible.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.d.ts +1 -0
- package/dist/src/components/combobox/combobox.d.ts.map +1 -1
- package/dist/src/components/combobox/index.d.ts +1 -0
- package/dist/src/components/combobox/index.d.ts.map +1 -1
- package/dist/src/components/dialog/dialog.d.ts.map +1 -1
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/src/components/link/link.d.ts.map +1 -1
- package/dist/src/components/menubar/menubar.d.ts.map +1 -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.map +1 -1
- package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
- package/dist/src/components/sidebar/index.d.ts +1 -1
- package/dist/src/components/sidebar/index.d.ts.map +1 -1
- package/dist/src/components/sidebar/sidebar.d.ts +159 -146
- package/dist/src/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/src/components/switch/switch.d.ts.map +1 -1
- package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -1
- package/dist/src/components/tabs/tabs.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-standalone.css +1 -1
- package/dist/styles/kumo.css +37 -0
- package/dist/styles/theme-kumo.css +28 -35
- package/package.json +4 -1
- package/scripts/theme-generator/config.ts +37 -39
- package/scripts/theme-generator/generate-css.ts +4 -1
- package/scripts/theme-generator/types.ts +8 -2
- package/dist/chunks/SankeyChart-krkvltewpn3bbupw.js +0 -651
- package/dist/chunks/SankeyChart-krkvltewpn3bbupw.js.map +0 -1
- package/dist/chunks/autocomplete-h39m8kzoq0csjh9l.js.map +0 -1
- package/dist/chunks/badge-e9w8qrjmeu9nocf6.js.map +0 -1
- package/dist/chunks/banner-ip2lm8r87hich557.js +0 -88
- package/dist/chunks/banner-ip2lm8r87hich557.js.map +0 -1
- package/dist/chunks/breadcrumbs-g4pyoikibpoxsgw4.js.map +0 -1
- package/dist/chunks/checkbox-dtoq56ieijj9m6vr.js.map +0 -1
- package/dist/chunks/collapsible-cnsxmp7dko87pgx0.js.map +0 -1
- package/dist/chunks/combobox-jcqn64ixr4557a0s.js.map +0 -1
- package/dist/chunks/dropdown-k6orz4j043xybf54.js.map +0 -1
- package/dist/chunks/menubar-d5s6h96nw8ggy04a.js +0 -96
- package/dist/chunks/menubar-d5s6h96nw8ggy04a.js.map +0 -1
- package/dist/chunks/popover-js5ds3szd43kspja.js.map +0 -1
- package/dist/chunks/radio-nyw89v4eafptepmz.js.map +0 -1
- package/dist/chunks/select-o2i7aovnu8v1zv8t.js.map +0 -1
- package/dist/chunks/sidebar-izcfqkrzt4vqn8ez.js +0 -875
- package/dist/chunks/sidebar-izcfqkrzt4vqn8ez.js.map +0 -1
- package/dist/chunks/switch-d9cs31oj4rjtg717.js.map +0 -1
- package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js.map +0 -1
- package/dist/chunks/tabs-f0ztlooi91ko9g04.js.map +0 -1
package/ai/component-registry.md
CHANGED
|
@@ -115,19 +115,17 @@ Collection sub-component (wraps AutocompleteBase)
|
|
|
115
115
|
```tsx
|
|
116
116
|
<div className="w-80">
|
|
117
117
|
<Autocomplete
|
|
118
|
-
items={
|
|
119
|
-
label="
|
|
120
|
-
description="Start typing to filter
|
|
121
|
-
filter={
|
|
122
|
-
item.label.toLowerCase().includes(query.toLowerCase())
|
|
123
|
-
}
|
|
118
|
+
items={languages}
|
|
119
|
+
label="Language"
|
|
120
|
+
description="Start typing to filter languages"
|
|
121
|
+
filter={filter}
|
|
124
122
|
>
|
|
125
|
-
<Autocomplete.InputGroup placeholder="Search
|
|
123
|
+
<Autocomplete.InputGroup placeholder="Search a language…" />
|
|
126
124
|
<Autocomplete.Content>
|
|
127
125
|
<Autocomplete.List>
|
|
128
|
-
{(item:
|
|
129
|
-
<Autocomplete.Item key={item.
|
|
130
|
-
{item.label}
|
|
126
|
+
{(item: Language) => (
|
|
127
|
+
<Autocomplete.Item key={item.value} value={item}>
|
|
128
|
+
{item.emoji} {item.label}
|
|
131
129
|
</Autocomplete.Item>
|
|
132
130
|
)}
|
|
133
131
|
</Autocomplete.List>
|
|
@@ -142,9 +140,7 @@ Collection sub-component (wraps AutocompleteBase)
|
|
|
142
140
|
items={countries}
|
|
143
141
|
label="Country"
|
|
144
142
|
error={{ message: "Please enter a valid country", match: true }}
|
|
145
|
-
filter={
|
|
146
|
-
item.label.toLowerCase().includes(query.toLowerCase())
|
|
147
|
-
}
|
|
143
|
+
filter={filter}
|
|
148
144
|
>
|
|
149
145
|
<Autocomplete.InputGroup placeholder="Search countries…" />
|
|
150
146
|
<Autocomplete.Content>
|
|
@@ -304,7 +300,7 @@ Small status label for categorizing or highlighting content.
|
|
|
304
300
|
|
|
305
301
|
**Colors (kumo tokens used):**
|
|
306
302
|
|
|
307
|
-
`bg-kumo-badge-blue`, `bg-kumo-badge-
|
|
303
|
+
`bg-kumo-badge-blue`, `bg-kumo-badge-inverted`, `bg-kumo-badge-neutral`, `bg-kumo-badge-orange`, `bg-kumo-badge-purple`, `bg-kumo-badge-red`, `bg-kumo-badge-teal`, `bg-kumo-badge-teal-subtle`, `bg-kumo-danger-tint`, `bg-kumo-fill`, `bg-kumo-info-tint`, `bg-kumo-success`, `bg-kumo-success-tint`, `bg-kumo-warning-tint`, `border-kumo-brand`, `border-kumo-fill`, `ring-kumo-hairline`, `text-kumo-badge-inverted`, `text-kumo-badge-neutral-subtle`, `text-kumo-badge-teal-subtle`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-link`, `text-kumo-success`, `text-kumo-warning`
|
|
308
304
|
|
|
309
305
|
**Examples:**
|
|
310
306
|
|
|
@@ -326,7 +322,6 @@ Small status label for categorizing or highlighting content.
|
|
|
326
322
|
<Badge variant="neutral">Neutral</Badge>
|
|
327
323
|
<Badge variant="red">Red</Badge>
|
|
328
324
|
<Badge variant="orange">Orange</Badge>
|
|
329
|
-
<Badge variant="green">Green</Badge>
|
|
330
325
|
<Badge variant="teal">Teal</Badge>
|
|
331
326
|
<Badge variant="blue">Blue</Badge>
|
|
332
327
|
<Badge variant="purple">Purple</Badge>
|
|
@@ -364,6 +359,10 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
364
359
|
|
|
365
360
|
**Props:**
|
|
366
361
|
|
|
362
|
+
- `className`: string
|
|
363
|
+
Additional CSS classes merged via `cn()`.
|
|
364
|
+
- `id`: string
|
|
365
|
+
- `lang`: string
|
|
367
366
|
- `icon`: ReactNode
|
|
368
367
|
Icon element rendered before the banner content (e.g. from `@phosphor-icons/react`).
|
|
369
368
|
- `title`: string
|
|
@@ -378,12 +377,11 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
378
377
|
- `"default"`: Informational banner for general messages
|
|
379
378
|
- `"alert"`: Warning banner for cautionary messages
|
|
380
379
|
- `"error"`: Error banner for critical issues
|
|
381
|
-
- `
|
|
382
|
-
Additional CSS classes merged via `cn()`.
|
|
380
|
+
- `"secondary"`: Neutral banner for secondary messages
|
|
383
381
|
|
|
384
382
|
**Colors (kumo tokens used):**
|
|
385
383
|
|
|
386
|
-
`bg-kumo-
|
|
384
|
+
`bg-kumo-banner-info`, `bg-kumo-banner-warning`, `bg-kumo-contrast`, `bg-kumo-danger-tint`, `text-kumo-danger`, `text-kumo-info`, `text-kumo-subtle`, `text-kumo-warning`
|
|
387
385
|
|
|
388
386
|
**Examples:**
|
|
389
387
|
|
|
@@ -406,6 +404,12 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
406
404
|
title="Save failed"
|
|
407
405
|
description="We couldn't save your changes. Please try again."
|
|
408
406
|
/>
|
|
407
|
+
<Banner
|
|
408
|
+
icon={<Info weight="fill" />}
|
|
409
|
+
variant="secondary"
|
|
410
|
+
title="Maintenance scheduled"
|
|
411
|
+
description="This service will be unavailable for 10 minutes."
|
|
412
|
+
/>
|
|
409
413
|
</div>
|
|
410
414
|
```
|
|
411
415
|
|
|
@@ -6114,7 +6118,7 @@ Password/secret input that masks its value by default and reveals on click. Incl
|
|
|
6114
6118
|
|
|
6115
6119
|
### Sidebar
|
|
6116
6120
|
|
|
6117
|
-
Sidebar — responsive navigation panel with expand/collapse support. Compound component: `Sidebar` (root `<aside>`), `.Provider`, `.Header`, `.Content`, `.Footer`, `.Group`, `.GroupLabel`, `.
|
|
6121
|
+
Sidebar — responsive navigation panel with expand/collapse support. Compound component: `Sidebar` (root `<aside>`), `.Provider`, `.Header`, `.Content`, `.Footer`, `.Group`, `.GroupLabel`, `.Menu`, `.MenuItem`, `.MenuButton`, `.MenuBadge`, `.MenuSub`, `.MenuSubItem`, `.MenuSubButton`, `.Separator`, `.Trigger`, `.Rail`, `.MenuChevron`, `.Collapsible`, `.CollapsibleTrigger`, `.CollapsibleContent`.
|
|
6118
6122
|
|
|
6119
6123
|
**Type:** component
|
|
6120
6124
|
|
|
@@ -6147,6 +6151,12 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
|
|
|
6147
6151
|
Minimum width in pixels when resizing.
|
|
6148
6152
|
- `maxWidth`: number
|
|
6149
6153
|
Maximum width in pixels when resizing.
|
|
6154
|
+
- `contained`: boolean
|
|
6155
|
+
When true, the collapsed sidebar uses absolute positioning instead of fixed, keeping it scoped inside a bounded parent. Useful for demos and embedded sidebars.
|
|
6156
|
+
- `peekable`: boolean
|
|
6157
|
+
When true, hovering or focusing the collapsed sidebar temporarily expands it. The `state` will be `"peeking"` during the peek. Moving away collapses it back.
|
|
6158
|
+
- `animationDuration`: number
|
|
6159
|
+
Duration of sidebar expand/collapse animation in milliseconds.
|
|
6150
6160
|
- `children`: ReactNode
|
|
6151
6161
|
Content — typically `<Sidebar>` + main content.
|
|
6152
6162
|
- `className`: string
|
|
@@ -6154,7 +6164,7 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
|
|
|
6154
6164
|
|
|
6155
6165
|
**Colors (kumo tokens used):**
|
|
6156
6166
|
|
|
6157
|
-
`bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-hairline`, `bg-kumo-
|
|
6167
|
+
`bg-kumo-base`, `bg-kumo-brand`, `bg-kumo-hairline`, `bg-kumo-line`, `bg-kumo-recessed`, `bg-kumo-tint`, `border-kumo-line`, `ring-kumo-brand`, `text-kumo-default`, `text-kumo-strong`, `text-kumo-subtle`
|
|
6158
6168
|
|
|
6159
6169
|
**Styling:**
|
|
6160
6170
|
|
|
@@ -6177,6 +6187,9 @@ Props:
|
|
|
6177
6187
|
- `defaultWidth`: number
|
|
6178
6188
|
- `minWidth`: number
|
|
6179
6189
|
- `maxWidth`: number
|
|
6190
|
+
- `contained`: boolean
|
|
6191
|
+
- `peekable`: boolean
|
|
6192
|
+
- `animationDuration`: number
|
|
6180
6193
|
- `children`: ReactNode (required)
|
|
6181
6194
|
- `className`: string
|
|
6182
6195
|
|
|
@@ -6185,36 +6198,28 @@ Props:
|
|
|
6185
6198
|
Header sub-component
|
|
6186
6199
|
|
|
6187
6200
|
Props:
|
|
6188
|
-
- `
|
|
6189
|
-
- `defaultOpen`: boolean
|
|
6190
|
-
- `open`: boolean
|
|
6201
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6191
6202
|
|
|
6192
6203
|
#### Sidebar.Content
|
|
6193
6204
|
|
|
6194
6205
|
Content sub-component
|
|
6195
6206
|
|
|
6196
6207
|
Props:
|
|
6197
|
-
- `
|
|
6198
|
-
- `defaultOpen`: boolean
|
|
6199
|
-
- `open`: boolean
|
|
6208
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6200
6209
|
|
|
6201
6210
|
#### Sidebar.Footer
|
|
6202
6211
|
|
|
6203
6212
|
Footer sub-component
|
|
6204
6213
|
|
|
6205
6214
|
Props:
|
|
6206
|
-
- `
|
|
6207
|
-
- `defaultOpen`: boolean
|
|
6208
|
-
- `open`: boolean
|
|
6215
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6209
6216
|
|
|
6210
6217
|
#### Sidebar.Group
|
|
6211
6218
|
|
|
6212
6219
|
Group sub-component
|
|
6213
6220
|
|
|
6214
6221
|
Props:
|
|
6215
|
-
- `
|
|
6216
|
-
- `defaultOpen`: boolean
|
|
6217
|
-
- `open`: boolean
|
|
6222
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6218
6223
|
|
|
6219
6224
|
#### Sidebar.GroupLabel
|
|
6220
6225
|
|
|
@@ -6223,13 +6228,6 @@ GroupLabel sub-component
|
|
|
6223
6228
|
Props:
|
|
6224
6229
|
- `icon`: React.ComponentType<{ className?: string
|
|
6225
6230
|
|
|
6226
|
-
#### Sidebar.GroupContent
|
|
6227
|
-
|
|
6228
|
-
GroupContent sub-component
|
|
6229
|
-
|
|
6230
|
-
Props:
|
|
6231
|
-
- `icon`: React.ComponentType<{ className?: string
|
|
6232
|
-
|
|
6233
6231
|
#### Sidebar.Menu
|
|
6234
6232
|
|
|
6235
6233
|
Menu sub-component
|
|
@@ -6251,14 +6249,6 @@ MenuButton sub-component
|
|
|
6251
6249
|
Props:
|
|
6252
6250
|
- `icon`: React.ComponentType<{ className?: string
|
|
6253
6251
|
|
|
6254
|
-
#### Sidebar.MenuAction
|
|
6255
|
-
|
|
6256
|
-
MenuAction sub-component
|
|
6257
|
-
|
|
6258
|
-
Props:
|
|
6259
|
-
- `active`: boolean
|
|
6260
|
-
- `href`: string
|
|
6261
|
-
|
|
6262
6252
|
#### Sidebar.MenuBadge
|
|
6263
6253
|
|
|
6264
6254
|
MenuBadge sub-component
|
|
@@ -6296,29 +6286,33 @@ Props:
|
|
|
6296
6286
|
Separator sub-component
|
|
6297
6287
|
|
|
6298
6288
|
Props:
|
|
6299
|
-
- `
|
|
6300
|
-
- `
|
|
6301
|
-
|
|
6302
|
-
#### Sidebar.Input
|
|
6303
|
-
|
|
6304
|
-
Input sub-component
|
|
6305
|
-
|
|
6306
|
-
Props:
|
|
6307
|
-
- `placeholder`: string
|
|
6308
|
-
- `shortcut`: string
|
|
6289
|
+
- `defaultOpen`: boolean
|
|
6290
|
+
- `open`: boolean
|
|
6309
6291
|
|
|
6310
6292
|
#### Sidebar.Trigger
|
|
6311
6293
|
|
|
6312
6294
|
Trigger sub-component
|
|
6313
6295
|
|
|
6296
|
+
Props:
|
|
6297
|
+
- `defaultOpen`: boolean
|
|
6298
|
+
- `open`: boolean
|
|
6299
|
+
|
|
6314
6300
|
#### Sidebar.Rail
|
|
6315
6301
|
|
|
6316
6302
|
Rail sub-component
|
|
6317
6303
|
|
|
6304
|
+
Props:
|
|
6305
|
+
- `defaultOpen`: boolean
|
|
6306
|
+
- `open`: boolean
|
|
6307
|
+
|
|
6318
6308
|
#### Sidebar.ResizeHandle
|
|
6319
6309
|
|
|
6320
6310
|
ResizeHandle sub-component
|
|
6321
6311
|
|
|
6312
|
+
Props:
|
|
6313
|
+
- `defaultOpen`: boolean
|
|
6314
|
+
- `open`: boolean
|
|
6315
|
+
|
|
6322
6316
|
#### Sidebar.MenuChevron
|
|
6323
6317
|
|
|
6324
6318
|
MenuChevron sub-component
|
|
@@ -6330,20 +6324,46 @@ Props:
|
|
|
6330
6324
|
|
|
6331
6325
|
Collapsible sub-component
|
|
6332
6326
|
|
|
6327
|
+
Props:
|
|
6328
|
+
- `defaultOpen`: boolean
|
|
6329
|
+
- `open`: boolean
|
|
6330
|
+
|
|
6333
6331
|
#### Sidebar.CollapsibleTrigger
|
|
6334
6332
|
|
|
6335
6333
|
CollapsibleTrigger sub-component
|
|
6336
6334
|
|
|
6335
|
+
Props:
|
|
6336
|
+
- `render`: React.ReactElement (required)
|
|
6337
|
+
|
|
6337
6338
|
#### Sidebar.CollapsibleContent
|
|
6338
6339
|
|
|
6339
6340
|
CollapsibleContent sub-component
|
|
6340
6341
|
|
|
6342
|
+
Props:
|
|
6343
|
+
- `activeKey`: string (required)
|
|
6344
|
+
- `direction`: "left" | "right"
|
|
6345
|
+
|
|
6346
|
+
#### Sidebar.SlidingViews
|
|
6347
|
+
|
|
6348
|
+
SlidingViews sub-component
|
|
6349
|
+
|
|
6350
|
+
Props:
|
|
6351
|
+
- `activeKey`: string (required)
|
|
6352
|
+
- `direction`: "left" | "right"
|
|
6353
|
+
|
|
6354
|
+
#### Sidebar.SlidingView
|
|
6355
|
+
|
|
6356
|
+
SlidingView sub-component
|
|
6357
|
+
|
|
6358
|
+
Props:
|
|
6359
|
+
- `value`: string (required)
|
|
6360
|
+
|
|
6341
6361
|
|
|
6342
6362
|
**Examples:**
|
|
6343
6363
|
|
|
6344
6364
|
```tsx
|
|
6345
6365
|
<DemoContainer>
|
|
6346
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6366
|
+
<Sidebar.Provider contained defaultOpen className="min-h-0! h-full">
|
|
6347
6367
|
<Sidebar>
|
|
6348
6368
|
<Sidebar.Content>
|
|
6349
6369
|
<Sidebar.Group>
|
|
@@ -6376,9 +6396,31 @@ CollapsibleContent sub-component
|
|
|
6376
6396
|
/>
|
|
6377
6397
|
<Sidebar.CollapsibleContent>
|
|
6378
6398
|
<Sidebar.MenuSub>
|
|
6379
|
-
<Sidebar.
|
|
6380
|
-
|
|
6381
|
-
|
|
6399
|
+
<Sidebar.MenuSubItem>
|
|
6400
|
+
<Sidebar.Collapsible>
|
|
6401
|
+
<Sidebar.CollapsibleTrigger
|
|
6402
|
+
render={
|
|
6403
|
+
<Sidebar.MenuSubButton>
|
|
6404
|
+
Workers & Pages
|
|
6405
|
+
<Sidebar.MenuChevron />
|
|
6406
|
+
</Sidebar.MenuSubButton>
|
|
6407
|
+
}
|
|
6408
|
+
/>
|
|
6409
|
+
<Sidebar.CollapsibleContent>
|
|
6410
|
+
<Sidebar.MenuSub>
|
|
6411
|
+
<Sidebar.MenuSubButton>
|
|
6412
|
+
Overview
|
|
6413
|
+
</Sidebar.MenuSubButton>
|
|
6414
|
+
<Sidebar.MenuSubButton>
|
|
6415
|
+
Workers
|
|
6416
|
+
</Sidebar.MenuSubButton>
|
|
6417
|
+
<Sidebar.MenuSubButton>
|
|
6418
|
+
Pages
|
|
6419
|
+
</Sidebar.MenuSubButton>
|
|
6420
|
+
</Sidebar.MenuSub>
|
|
6421
|
+
</Sidebar.CollapsibleContent>
|
|
6422
|
+
</Sidebar.Collapsible>
|
|
6423
|
+
</Sidebar.MenuSubItem>
|
|
6382
6424
|
<Sidebar.MenuSubButton>
|
|
6383
6425
|
Durable Objects
|
|
6384
6426
|
</Sidebar.MenuSubButton>
|
|
@@ -6400,64 +6442,7 @@ CollapsibleContent sub-component
|
|
|
6400
6442
|
|
|
6401
6443
|
```tsx
|
|
6402
6444
|
<DemoContainer>
|
|
6403
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6404
|
-
<Sidebar>
|
|
6405
|
-
<Sidebar.Content>
|
|
6406
|
-
{/* GroupContent is required for collapsible groups (provides grid-rows animation) */}
|
|
6407
|
-
<Sidebar.Group collapsible defaultOpen>
|
|
6408
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6409
|
-
<Sidebar.GroupContent>
|
|
6410
|
-
<Sidebar.Menu>
|
|
6411
|
-
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6412
|
-
Home
|
|
6413
|
-
</Sidebar.MenuButton>
|
|
6414
|
-
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6415
|
-
Analytics
|
|
6416
|
-
</Sidebar.MenuButton>
|
|
6417
|
-
<Sidebar.MenuButton icon={GlobeIcon}>
|
|
6418
|
-
Domains
|
|
6419
|
-
</Sidebar.MenuButton>
|
|
6420
|
-
</Sidebar.Menu>
|
|
6421
|
-
</Sidebar.GroupContent>
|
|
6422
|
-
</Sidebar.Group>
|
|
6423
|
-
|
|
6424
|
-
<Sidebar.Group collapsible defaultOpen>
|
|
6425
|
-
<Sidebar.GroupLabel>Build</Sidebar.GroupLabel>
|
|
6426
|
-
<Sidebar.GroupContent>
|
|
6427
|
-
<Sidebar.Menu>
|
|
6428
|
-
<Sidebar.MenuButton icon={CodeIcon}>
|
|
6429
|
-
Compute
|
|
6430
|
-
</Sidebar.MenuButton>
|
|
6431
|
-
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6432
|
-
Storage
|
|
6433
|
-
</Sidebar.MenuButton>
|
|
6434
|
-
</Sidebar.Menu>
|
|
6435
|
-
</Sidebar.GroupContent>
|
|
6436
|
-
</Sidebar.Group>
|
|
6437
|
-
|
|
6438
|
-
<Sidebar.Group collapsible defaultOpen={false}>
|
|
6439
|
-
<Sidebar.GroupLabel>Protect & Connect</Sidebar.GroupLabel>
|
|
6440
|
-
<Sidebar.GroupContent>
|
|
6441
|
-
<Sidebar.Menu>
|
|
6442
|
-
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6443
|
-
Security
|
|
6444
|
-
</Sidebar.MenuButton>
|
|
6445
|
-
<Sidebar.MenuButton icon={LockIcon}>
|
|
6446
|
-
Zero Trust
|
|
6447
|
-
</Sidebar.MenuButton>
|
|
6448
|
-
</Sidebar.Menu>
|
|
6449
|
-
</Sidebar.GroupContent>
|
|
6450
|
-
</Sidebar.Group>
|
|
6451
|
-
</Sidebar.Content>
|
|
6452
|
-
</Sidebar>
|
|
6453
|
-
<DemoMain />
|
|
6454
|
-
</Sidebar.Provider>
|
|
6455
|
-
</DemoContainer>
|
|
6456
|
-
```
|
|
6457
|
-
|
|
6458
|
-
```tsx
|
|
6459
|
-
<DemoContainer>
|
|
6460
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6445
|
+
<Sidebar.Provider contained defaultOpen className="min-h-0! h-full">
|
|
6461
6446
|
<Sidebar>
|
|
6462
6447
|
<Sidebar.Header>
|
|
6463
6448
|
<BrandLogo />
|
|
@@ -6486,7 +6471,7 @@ CollapsibleContent sub-component
|
|
|
6486
6471
|
</Sidebar>
|
|
6487
6472
|
<DemoMain>
|
|
6488
6473
|
<ToggleButton />
|
|
6489
|
-
<p
|
|
6474
|
+
<p>
|
|
6490
6475
|
Click the button or the sidebar trigger to toggle
|
|
6491
6476
|
</p>
|
|
6492
6477
|
</DemoMain>
|
|
@@ -6496,97 +6481,7 @@ CollapsibleContent sub-component
|
|
|
6496
6481
|
|
|
6497
6482
|
```tsx
|
|
6498
6483
|
<DemoContainer>
|
|
6499
|
-
<Sidebar.Provider
|
|
6500
|
-
<Sidebar>
|
|
6501
|
-
<Sidebar.Header>
|
|
6502
|
-
<AccountSwitcher />
|
|
6503
|
-
</Sidebar.Header>
|
|
6504
|
-
|
|
6505
|
-
<Sidebar.Content>
|
|
6506
|
-
<div className="px-1 pb-2">
|
|
6507
|
-
<Sidebar.Input placeholder="Quick search..." shortcut="⌘K" />
|
|
6508
|
-
</div>
|
|
6509
|
-
|
|
6510
|
-
<Sidebar.Group>
|
|
6511
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6512
|
-
<Sidebar.Menu>
|
|
6513
|
-
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6514
|
-
Home
|
|
6515
|
-
</Sidebar.MenuButton>
|
|
6516
|
-
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6517
|
-
Analytics & Logs
|
|
6518
|
-
</Sidebar.MenuButton>
|
|
6519
|
-
<Sidebar.MenuButton icon={GlobeIcon}>
|
|
6520
|
-
Domains
|
|
6521
|
-
</Sidebar.MenuButton>
|
|
6522
|
-
</Sidebar.Menu>
|
|
6523
|
-
</Sidebar.Group>
|
|
6524
|
-
|
|
6525
|
-
<Sidebar.Separator />
|
|
6526
|
-
|
|
6527
|
-
<Sidebar.Group>
|
|
6528
|
-
<Sidebar.GroupLabel>Build</Sidebar.GroupLabel>
|
|
6529
|
-
<Sidebar.Menu>
|
|
6530
|
-
<Sidebar.MenuItem>
|
|
6531
|
-
<Sidebar.Collapsible defaultOpen>
|
|
6532
|
-
<Sidebar.CollapsibleTrigger
|
|
6533
|
-
render={
|
|
6534
|
-
<Sidebar.MenuButton icon={CodeIcon}>
|
|
6535
|
-
Compute
|
|
6536
|
-
<Sidebar.MenuChevron />
|
|
6537
|
-
</Sidebar.MenuButton>
|
|
6538
|
-
}
|
|
6539
|
-
/>
|
|
6540
|
-
<Sidebar.CollapsibleContent>
|
|
6541
|
-
<Sidebar.MenuSub>
|
|
6542
|
-
<Sidebar.MenuSubButton>
|
|
6543
|
-
Workers & Pages
|
|
6544
|
-
</Sidebar.MenuSubButton>
|
|
6545
|
-
<Sidebar.MenuSubButton>
|
|
6546
|
-
Durable Objects
|
|
6547
|
-
</Sidebar.MenuSubButton>
|
|
6548
|
-
<Sidebar.MenuSubButton>
|
|
6549
|
-
Containers
|
|
6550
|
-
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6551
|
-
</Sidebar.MenuSubButton>
|
|
6552
|
-
</Sidebar.MenuSub>
|
|
6553
|
-
</Sidebar.CollapsibleContent>
|
|
6554
|
-
</Sidebar.Collapsible>
|
|
6555
|
-
</Sidebar.MenuItem>
|
|
6556
|
-
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6557
|
-
Storage
|
|
6558
|
-
</Sidebar.MenuButton>
|
|
6559
|
-
</Sidebar.Menu>
|
|
6560
|
-
</Sidebar.Group>
|
|
6561
|
-
|
|
6562
|
-
<Sidebar.Group>
|
|
6563
|
-
<Sidebar.GroupLabel>Protect & Connect</Sidebar.GroupLabel>
|
|
6564
|
-
<Sidebar.Menu>
|
|
6565
|
-
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6566
|
-
Security
|
|
6567
|
-
</Sidebar.MenuButton>
|
|
6568
|
-
<Sidebar.MenuButton icon={LockIcon}>
|
|
6569
|
-
Zero Trust
|
|
6570
|
-
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6571
|
-
</Sidebar.MenuButton>
|
|
6572
|
-
</Sidebar.Menu>
|
|
6573
|
-
</Sidebar.Group>
|
|
6574
|
-
</Sidebar.Content>
|
|
6575
|
-
|
|
6576
|
-
<Sidebar.Footer>
|
|
6577
|
-
<Sidebar.MenuButton icon={GearIcon}>
|
|
6578
|
-
Manage account
|
|
6579
|
-
</Sidebar.MenuButton>
|
|
6580
|
-
</Sidebar.Footer>
|
|
6581
|
-
</Sidebar>
|
|
6582
|
-
<DemoMain />
|
|
6583
|
-
</Sidebar.Provider>
|
|
6584
|
-
</DemoContainer>
|
|
6585
|
-
```
|
|
6586
|
-
|
|
6587
|
-
```tsx
|
|
6588
|
-
<DemoContainer>
|
|
6589
|
-
<Sidebar.Provider
|
|
6484
|
+
<Sidebar.Provider contained
|
|
6590
6485
|
defaultOpen
|
|
6591
6486
|
resizable
|
|
6592
6487
|
defaultWidth={240}
|
|
@@ -6600,7 +6495,6 @@ CollapsibleContent sub-component
|
|
|
6600
6495
|
</Sidebar.Header>
|
|
6601
6496
|
<Sidebar.Content>
|
|
6602
6497
|
<Sidebar.Group>
|
|
6603
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6604
6498
|
<Sidebar.Menu>
|
|
6605
6499
|
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6606
6500
|
Home
|
|
@@ -6620,7 +6514,7 @@ CollapsibleContent sub-component
|
|
|
6620
6514
|
<Sidebar.ResizeHandle />
|
|
6621
6515
|
</Sidebar>
|
|
6622
6516
|
<DemoMain>
|
|
6623
|
-
<p
|
|
6517
|
+
<p>Drag the sidebar edge to resize</p>
|
|
6624
6518
|
</DemoMain>
|
|
6625
6519
|
</Sidebar.Provider>
|
|
6626
6520
|
</DemoContainer>
|
|
@@ -6628,7 +6522,7 @@ CollapsibleContent sub-component
|
|
|
6628
6522
|
|
|
6629
6523
|
```tsx
|
|
6630
6524
|
<DemoContainer>
|
|
6631
|
-
<Sidebar.Provider defaultOpen side="right" className="min-h-0! h-full">
|
|
6525
|
+
<Sidebar.Provider contained defaultOpen side="right" className="min-h-0! h-full">
|
|
6632
6526
|
<DemoMain />
|
|
6633
6527
|
<Sidebar>
|
|
6634
6528
|
<Sidebar.Content>
|
|
@@ -6650,6 +6544,246 @@ CollapsibleContent sub-component
|
|
|
6650
6544
|
</DemoContainer>
|
|
6651
6545
|
```
|
|
6652
6546
|
|
|
6547
|
+
```tsx
|
|
6548
|
+
<DemoContainer>
|
|
6549
|
+
<Sidebar.Provider contained defaultOpen className="min-h-0! h-full">
|
|
6550
|
+
<Sidebar>
|
|
6551
|
+
<Sidebar.Header>
|
|
6552
|
+
<button
|
|
6553
|
+
type="button"
|
|
6554
|
+
onClick={() =>
|
|
6555
|
+
setSurface((s) => (s === "account" ? "zone" : "account"))
|
|
6556
|
+
}
|
|
6557
|
+
className="flex w-full cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm font-medium text-kumo-default hover:bg-kumo-tint transition-colors"
|
|
6558
|
+
>
|
|
6559
|
+
<ArrowsLeftRightIcon className="size-4 shrink-0 text-kumo-brand" />
|
|
6560
|
+
<span className="flex-1 text-left font-semibold text-kumo-strong">
|
|
6561
|
+
{surface === "account" ? "Account Nav" : "Zone Nav"}
|
|
6562
|
+
</span>
|
|
6563
|
+
</button>
|
|
6564
|
+
</Sidebar.Header>
|
|
6565
|
+
|
|
6566
|
+
<Sidebar.SlidingViews
|
|
6567
|
+
activeKey={surface}
|
|
6568
|
+
direction={surface === "zone" ? "left" : "right"}
|
|
6569
|
+
>
|
|
6570
|
+
<Sidebar.SlidingView value="account">
|
|
6571
|
+
<Sidebar.Content>
|
|
6572
|
+
<Sidebar.Group>
|
|
6573
|
+
<Sidebar.GroupLabel>Account</Sidebar.GroupLabel>
|
|
6574
|
+
<Sidebar.Menu>
|
|
6575
|
+
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6576
|
+
Home
|
|
6577
|
+
</Sidebar.MenuButton>
|
|
6578
|
+
<Sidebar.MenuButton icon={UserIcon}>
|
|
6579
|
+
Members
|
|
6580
|
+
</Sidebar.MenuButton>
|
|
6581
|
+
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6582
|
+
Analytics
|
|
6583
|
+
</Sidebar.MenuButton>
|
|
6584
|
+
<Sidebar.MenuButton icon={GearIcon}>
|
|
6585
|
+
Settings
|
|
6586
|
+
</Sidebar.MenuButton>
|
|
6587
|
+
</Sidebar.Menu>
|
|
6588
|
+
</Sidebar.Group>
|
|
6589
|
+
</Sidebar.Content>
|
|
6590
|
+
</Sidebar.SlidingView>
|
|
6591
|
+
|
|
6592
|
+
<Sidebar.SlidingView value="zone">
|
|
6593
|
+
<Sidebar.Content>
|
|
6594
|
+
<Sidebar.Group>
|
|
6595
|
+
<Sidebar.GroupLabel>Zone</Sidebar.GroupLabel>
|
|
6596
|
+
<Sidebar.Menu>
|
|
6597
|
+
<Sidebar.MenuButton icon={GlobeIcon} active>
|
|
6598
|
+
Overview
|
|
6599
|
+
</Sidebar.MenuButton>
|
|
6600
|
+
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6601
|
+
Security
|
|
6602
|
+
</Sidebar.MenuButton>
|
|
6603
|
+
<Sidebar.MenuButton icon={LockIcon}>
|
|
6604
|
+
SSL/TLS
|
|
6605
|
+
</Sidebar.MenuButton>
|
|
6606
|
+
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6607
|
+
Caching
|
|
6608
|
+
</Sidebar.MenuButton>
|
|
6609
|
+
</Sidebar.Menu>
|
|
6610
|
+
</Sidebar.Group>
|
|
6611
|
+
</Sidebar.Content>
|
|
6612
|
+
</Sidebar.SlidingView>
|
|
6613
|
+
</Sidebar.SlidingViews>
|
|
6614
|
+
</Sidebar>
|
|
6615
|
+
<DemoMain>
|
|
6616
|
+
<div className="flex flex-col items-center gap-2">
|
|
6617
|
+
<p className="font-medium text-kumo-default">
|
|
6618
|
+
Active: {surface === "account" ? "Account" : "Zone"} surface
|
|
6619
|
+
</p>
|
|
6620
|
+
<p>
|
|
6621
|
+
Click the header button to slide between views
|
|
6622
|
+
</p>
|
|
6623
|
+
</div>
|
|
6624
|
+
</DemoMain>
|
|
6625
|
+
</Sidebar.Provider>
|
|
6626
|
+
</DemoContainer>
|
|
6627
|
+
```
|
|
6628
|
+
|
|
6629
|
+
```tsx
|
|
6630
|
+
<DemoContainer>
|
|
6631
|
+
<Sidebar.Provider contained defaultOpen peekable className="min-h-0! h-full">
|
|
6632
|
+
<Sidebar>
|
|
6633
|
+
<Sidebar.Header>
|
|
6634
|
+
<AccountSwitcher />
|
|
6635
|
+
</Sidebar.Header>
|
|
6636
|
+
<Sidebar.SlidingViews
|
|
6637
|
+
activeKey={surface}
|
|
6638
|
+
direction={surface === "domain" ? "left" : "right"}
|
|
6639
|
+
>
|
|
6640
|
+
<Sidebar.SlidingView value="account">
|
|
6641
|
+
<Sidebar.Content>
|
|
6642
|
+
<Sidebar.Group>
|
|
6643
|
+
<Sidebar.Menu>
|
|
6644
|
+
<Sidebar.MenuButton
|
|
6645
|
+
icon={MagnifyingGlassIcon}
|
|
6646
|
+
tooltip="Search"
|
|
6647
|
+
className="ring ring-kumo-line group-data-[state=collapsed]/sidebar:ring-transparent"
|
|
6648
|
+
>
|
|
6649
|
+
Quick search…
|
|
6650
|
+
</Sidebar.MenuButton>
|
|
6651
|
+
</Sidebar.Menu>
|
|
6652
|
+
</Sidebar.Group>
|
|
6653
|
+
<Sidebar.Group>
|
|
6654
|
+
<Sidebar.Menu>
|
|
6655
|
+
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6656
|
+
Home
|
|
6657
|
+
</Sidebar.MenuButton>
|
|
6658
|
+
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6659
|
+
Analytics & Logs
|
|
6660
|
+
</Sidebar.MenuButton>
|
|
6661
|
+
<Sidebar.MenuButton
|
|
6662
|
+
icon={GlobeIcon}
|
|
6663
|
+
onClick={() => setSurface("domain")}
|
|
6664
|
+
>
|
|
6665
|
+
Domains
|
|
6666
|
+
</Sidebar.MenuButton>
|
|
6667
|
+
</Sidebar.Menu>
|
|
6668
|
+
</Sidebar.Group>
|
|
6669
|
+
|
|
6670
|
+
<Sidebar.Group>
|
|
6671
|
+
<Sidebar.GroupLabel>Build</Sidebar.GroupLabel>
|
|
6672
|
+
<Sidebar.Menu>
|
|
6673
|
+
<Sidebar.MenuItem>
|
|
6674
|
+
<Sidebar.Collapsible defaultOpen>
|
|
6675
|
+
<Sidebar.CollapsibleTrigger
|
|
6676
|
+
render={
|
|
6677
|
+
<Sidebar.MenuButton icon={CodeIcon}>
|
|
6678
|
+
Compute
|
|
6679
|
+
<Sidebar.MenuChevron />
|
|
6680
|
+
</Sidebar.MenuButton>
|
|
6681
|
+
}
|
|
6682
|
+
/>
|
|
6683
|
+
<Sidebar.CollapsibleContent>
|
|
6684
|
+
<Sidebar.MenuSub>
|
|
6685
|
+
<Sidebar.MenuSubItem>
|
|
6686
|
+
<Sidebar.Collapsible>
|
|
6687
|
+
<Sidebar.CollapsibleTrigger
|
|
6688
|
+
render={
|
|
6689
|
+
<Sidebar.MenuSubButton>
|
|
6690
|
+
Workers & Pages
|
|
6691
|
+
<Sidebar.MenuChevron />
|
|
6692
|
+
</Sidebar.MenuSubButton>
|
|
6693
|
+
}
|
|
6694
|
+
/>
|
|
6695
|
+
<Sidebar.CollapsibleContent>
|
|
6696
|
+
<Sidebar.MenuSub>
|
|
6697
|
+
<Sidebar.MenuSubButton>
|
|
6698
|
+
Overview
|
|
6699
|
+
</Sidebar.MenuSubButton>
|
|
6700
|
+
<Sidebar.MenuSubButton>
|
|
6701
|
+
Workers
|
|
6702
|
+
</Sidebar.MenuSubButton>
|
|
6703
|
+
<Sidebar.MenuSubButton>
|
|
6704
|
+
Pages
|
|
6705
|
+
</Sidebar.MenuSubButton>
|
|
6706
|
+
</Sidebar.MenuSub>
|
|
6707
|
+
</Sidebar.CollapsibleContent>
|
|
6708
|
+
</Sidebar.Collapsible>
|
|
6709
|
+
</Sidebar.MenuSubItem>
|
|
6710
|
+
<Sidebar.MenuSubButton>
|
|
6711
|
+
Durable Objects
|
|
6712
|
+
</Sidebar.MenuSubButton>
|
|
6713
|
+
<Sidebar.MenuSubButton>
|
|
6714
|
+
Containers
|
|
6715
|
+
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6716
|
+
</Sidebar.MenuSubButton>
|
|
6717
|
+
</Sidebar.MenuSub>
|
|
6718
|
+
</Sidebar.CollapsibleContent>
|
|
6719
|
+
</Sidebar.Collapsible>
|
|
6720
|
+
</Sidebar.MenuItem>
|
|
6721
|
+
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6722
|
+
Storage
|
|
6723
|
+
</Sidebar.MenuButton>
|
|
6724
|
+
</Sidebar.Menu>
|
|
6725
|
+
</Sidebar.Group>
|
|
6726
|
+
|
|
6727
|
+
<Sidebar.Group>
|
|
6728
|
+
<Sidebar.GroupLabel>Protect & Connect</Sidebar.GroupLabel>
|
|
6729
|
+
<Sidebar.Menu>
|
|
6730
|
+
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6731
|
+
Security
|
|
6732
|
+
</Sidebar.MenuButton>
|
|
6733
|
+
<Sidebar.MenuButton icon={LockIcon}>
|
|
6734
|
+
Zero Trust
|
|
6735
|
+
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6736
|
+
</Sidebar.MenuButton>
|
|
6737
|
+
</Sidebar.Menu>
|
|
6738
|
+
</Sidebar.Group>
|
|
6739
|
+
</Sidebar.Content>
|
|
6740
|
+
</Sidebar.SlidingView>
|
|
6741
|
+
|
|
6742
|
+
<Sidebar.SlidingView value="domain">
|
|
6743
|
+
<Sidebar.Content>
|
|
6744
|
+
<Sidebar.Group>
|
|
6745
|
+
<Sidebar.Menu>
|
|
6746
|
+
<Sidebar.MenuButton
|
|
6747
|
+
icon={ArrowLeftIcon}
|
|
6748
|
+
onClick={() => setSurface("account")}
|
|
6749
|
+
>
|
|
6750
|
+
Back
|
|
6751
|
+
</Sidebar.MenuButton>
|
|
6752
|
+
</Sidebar.Menu>
|
|
6753
|
+
</Sidebar.Group>
|
|
6754
|
+
<Sidebar.Group>
|
|
6755
|
+
<Sidebar.GroupLabel>example.com</Sidebar.GroupLabel>
|
|
6756
|
+
<Sidebar.Menu>
|
|
6757
|
+
<Sidebar.MenuButton icon={GlobeIcon} active>
|
|
6758
|
+
Overview
|
|
6759
|
+
</Sidebar.MenuButton>
|
|
6760
|
+
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6761
|
+
Security
|
|
6762
|
+
</Sidebar.MenuButton>
|
|
6763
|
+
<Sidebar.MenuButton icon={LockIcon}>
|
|
6764
|
+
SSL/TLS
|
|
6765
|
+
</Sidebar.MenuButton>
|
|
6766
|
+
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6767
|
+
Analytics
|
|
6768
|
+
</Sidebar.MenuButton>
|
|
6769
|
+
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6770
|
+
Caching
|
|
6771
|
+
</Sidebar.MenuButton>
|
|
6772
|
+
</Sidebar.Menu>
|
|
6773
|
+
</Sidebar.Group>
|
|
6774
|
+
</Sidebar.Content>
|
|
6775
|
+
</Sidebar.SlidingView>
|
|
6776
|
+
</Sidebar.SlidingViews>
|
|
6777
|
+
|
|
6778
|
+
<Sidebar.Footer>
|
|
6779
|
+
<Sidebar.Trigger />
|
|
6780
|
+
</Sidebar.Footer>
|
|
6781
|
+
</Sidebar>
|
|
6782
|
+
<DemoMain />
|
|
6783
|
+
</Sidebar.Provider>
|
|
6784
|
+
</DemoContainer>
|
|
6785
|
+
```
|
|
6786
|
+
|
|
6653
6787
|
|
|
6654
6788
|
---
|
|
6655
6789
|
|
|
@@ -7825,7 +7959,7 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
|
|
|
7825
7959
|
|
|
7826
7960
|
**Colors (kumo tokens used):**
|
|
7827
7961
|
|
|
7828
|
-
`bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-control`, `bg-kumo-danger`, `bg-kumo-fill-hover`, `bg-kumo-info`, `bg-kumo-success`, `bg-kumo-warning`, `border-kumo-fill`, `ring-kumo-danger`, `ring-kumo-hairline`, `ring-kumo-info`, `ring-kumo-line`, `ring-kumo-success`, `ring-kumo-warning`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-subtle`, `text-kumo-success`, `text-kumo-warning`
|
|
7962
|
+
`bg-kumo-base`, `bg-kumo-contrast`, `bg-kumo-control`, `bg-kumo-danger-tint`, `bg-kumo-fill-hover`, `bg-kumo-info-tint`, `bg-kumo-success-tint`, `bg-kumo-warning-tint`, `border-kumo-fill`, `ring-kumo-danger`, `ring-kumo-hairline`, `ring-kumo-info`, `ring-kumo-line`, `ring-kumo-success`, `ring-kumo-warning`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-info`, `text-kumo-subtle`, `text-kumo-success`, `text-kumo-warning`
|
|
7829
7963
|
|
|
7830
7964
|
**Styling:**
|
|
7831
7965
|
|