@cloudflare/kumo 2.2.2 → 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 +95 -0
- package/ai/component-registry.json +194 -128
- package/ai/component-registry.md +412 -221
- package/ai/schemas.ts +8 -2
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +58 -38
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +14 -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-mhrvtq4y5n21vr0t.js → autocomplete-cvp5fsdt6gh0p3vu.js} +86 -68
- package/dist/chunks/autocomplete-cvp5fsdt6gh0p3vu.js.map +1 -0
- package/dist/chunks/{badge-kqox9toi0sygfbno.js → badge-c1th6h6ahz7eu49q.js} +80 -19
- 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-ohstavaqvycoremm.js → breadcrumbs-j214mimk5zj4ffp4.js} +8 -6
- package/dist/chunks/breadcrumbs-j214mimk5zj4ffp4.js.map +1 -0
- package/dist/chunks/{button-oevxukl0zmwoq4tb.js → button-mnrxu6dud2x5js5b.js} +19 -17
- package/dist/chunks/{button-oevxukl0zmwoq4tb.js.map → button-mnrxu6dud2x5js5b.js.map} +1 -1
- package/dist/chunks/{checkbox-h6vkv17lnq854z2c.js → checkbox-dqih8tzzt3vhp870.js} +25 -19
- package/dist/chunks/checkbox-dqih8tzzt3vhp870.js.map +1 -0
- package/dist/chunks/{clipboard-text-kyy71jmx7umdh8k8.js → clipboard-text-mrut8z3dt1w0efxz.js} +4 -4
- package/dist/chunks/{clipboard-text-kyy71jmx7umdh8k8.js.map → clipboard-text-mrut8z3dt1w0efxz.js.map} +1 -1
- package/dist/chunks/{collapsible-ej6p2bq758sw30nk.js → collapsible-nzqcf9zwnjkxqzr6.js} +21 -17
- package/dist/chunks/collapsible-nzqcf9zwnjkxqzr6.js.map +1 -0
- package/dist/chunks/{combobox-g3cudlfajecou4va.js → combobox-dpptfpcmqfrso1xa.js} +123 -111
- package/dist/chunks/combobox-dpptfpcmqfrso1xa.js.map +1 -0
- package/dist/chunks/{command-palette-eep807rf6iapoz8r.js → command-palette-fqhyacp33fhyf696.js} +12 -12
- package/dist/chunks/{command-palette-eep807rf6iapoz8r.js.map → command-palette-fqhyacp33fhyf696.js.map} +1 -1
- package/dist/chunks/dialog-my9fioafdstq50mi.js +134 -0
- package/dist/chunks/dialog-my9fioafdstq50mi.js.map +1 -0
- package/dist/chunks/{dropdown-cobpydatw4vlb3ov.js → dropdown-g4sb4cw9ffqaw5gx.js} +54 -44
- package/dist/chunks/dropdown-g4sb4cw9ffqaw5gx.js.map +1 -0
- package/dist/chunks/{empty-n3r7xutkb9sxjaso.js → empty-n17inn1z67bpohkw.js} +2 -2
- package/dist/chunks/{empty-n3r7xutkb9sxjaso.js.map → empty-n17inn1z67bpohkw.js.map} +1 -1
- package/dist/chunks/{field-l1oapopp6kjnephi.js → field-c8o7h3rlam4c9pcx.js} +3 -3
- package/dist/chunks/{field-l1oapopp6kjnephi.js.map → field-c8o7h3rlam4c9pcx.js.map} +1 -1
- package/dist/chunks/{input-area-gudamx1ruz8rxiw2.js → input-area-eurk3seud30ricwn.js} +4 -4
- package/dist/chunks/{input-area-gudamx1ruz8rxiw2.js.map → input-area-eurk3seud30ricwn.js.map} +1 -1
- package/dist/chunks/{input-i3os21puacqw4r75.js → input-en8hhb14mmt3tfwn.js} +3 -3
- package/dist/chunks/{input-i3os21puacqw4r75.js.map → input-en8hhb14mmt3tfwn.js.map} +1 -1
- package/dist/chunks/{input-group-gy08vju7eoogil8k.js → input-group-d09ocmjcbdai0gze.js} +70 -70
- package/dist/chunks/input-group-d09ocmjcbdai0gze.js.map +1 -0
- package/dist/chunks/{label-i0bj94d43irz0k1x.js → label-c8rz453pti66slki.js} +3 -3
- package/dist/chunks/{label-i0bj94d43irz0k1x.js.map → label-c8rz453pti66slki.js.map} +1 -1
- package/dist/chunks/{layer-card-hyz8lfxceudt05pv.js → layer-card-er4flkcxmzfug8jw.js} +2 -2
- package/dist/chunks/{layer-card-hyz8lfxceudt05pv.js.map → layer-card-er4flkcxmzfug8jw.js.map} +1 -1
- package/dist/chunks/{link-lkzjiitte3l29q87.js → link-i6vnwyjcwvjz5btm.js} +20 -19
- package/dist/chunks/{link-lkzjiitte3l29q87.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-jbxkh6gfggx1kjna.js → meter-d5igshkjqttl1fdj.js} +2 -2
- package/dist/chunks/{meter-jbxkh6gfggx1kjna.js.map → meter-d5igshkjqttl1fdj.js.map} +1 -1
- package/dist/chunks/{pagination-ceetno8sc1rd0wr2.js → pagination-bw7vwca4wrfjm8vb.js} +3 -3
- package/dist/chunks/{pagination-ceetno8sc1rd0wr2.js.map → pagination-bw7vwca4wrfjm8vb.js.map} +1 -1
- package/dist/chunks/{popover-i4opvl9g0as52fyx.js → popover-ozf1j7oi7pxiudyz.js} +4 -2
- package/dist/chunks/popover-ozf1j7oi7pxiudyz.js.map +1 -0
- package/dist/chunks/{radio-g56o5rftpu1qpxuv.js → radio-gpg6kmzonr2cayq1.js} +54 -46
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js.map +1 -0
- package/dist/chunks/select-dw9iw35ug7yer3o3.js +237 -0
- package/dist/chunks/select-dw9iw35ug7yer3o3.js.map +1 -0
- package/dist/chunks/{sensitive-input-hokm527ollnz9dqc.js → sensitive-input-dgoxjtoxl4zqa51v.js} +101 -92
- package/dist/chunks/sensitive-input-dgoxjtoxl4zqa51v.js.map +1 -0
- package/dist/chunks/sidebar-hzio700cg85f7f31.js +1014 -0
- package/dist/chunks/sidebar-hzio700cg85f7f31.js.map +1 -0
- package/dist/chunks/{surface-ck1nt2uqfzmod4sz.js → surface-iyejjbqogjbo7ise.js} +2 -2
- package/dist/chunks/{surface-ck1nt2uqfzmod4sz.js.map → surface-iyejjbqogjbo7ise.js.map} +1 -1
- package/dist/chunks/{switch-fv0ttj24uhocvuh8.js → switch-g8f77h69h34xld06.js} +50 -45
- package/dist/chunks/switch-g8f77h69h34xld06.js.map +1 -0
- package/dist/chunks/{table-nsfcgpo93gfetrhh.js → table-e1te1im2tt2ez05y.js} +2 -2
- package/dist/chunks/{table-nsfcgpo93gfetrhh.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-g8ier5pehjpfxauf.js → tabs-hice1yy5q2t889z8.js} +6 -4
- package/dist/chunks/tabs-hice1yy5q2t889z8.js.map +1 -0
- package/dist/chunks/{toast-ofqlfmddcyka091n.js → toast-kvbgct0jvfmn4mas.js} +29 -27
- package/dist/chunks/{toast-ofqlfmddcyka091n.js.map → toast-kvbgct0jvfmn4mas.js.map} +1 -1
- package/dist/chunks/{tooltip-icvb67awe1zolz61.js → tooltip-ken77ixya0qpidie.js} +13 -13
- package/dist/chunks/{tooltip-icvb67awe1zolz61.js.map → tooltip-ken77ixya0qpidie.js.map} +1 -1
- package/dist/chunks/vendor-base-ui-knphx7dts1vm1x37.js +24710 -0
- package/dist/chunks/vendor-base-ui-knphx7dts1vm1x37.js.map +1 -0
- package/dist/chunks/{vendor-floating-ui-dwag5e88viikh2zs.js → vendor-floating-ui-c4mwmh0xmfzevy9l.js} +5 -5
- package/dist/chunks/{vendor-floating-ui-dwag5e88viikh2zs.js.map → vendor-floating-ui-c4mwmh0xmfzevy9l.js.map} +1 -1
- package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js +217 -0
- package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js.map +1 -0
- 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 +37 -39
- 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 +51 -3
- package/dist/src/components/badge/badge.d.ts.map +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/SankeyChart.d.ts +6 -1
- package/dist/src/components/chart/SankeyChart.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 +11 -4
- 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/input-group/input-group-button.d.ts.map +1 -1
- package/dist/src/components/input-group/input-group-input.d.ts.map +1 -1
- package/dist/src/components/input-group/input-group.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/components/toast/toast.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-binding.css +0 -18
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/kumo.css +37 -0
- package/dist/styles/theme-kumo.css +30 -37
- package/package.json +5 -2
- package/scripts/generate-primitives.ts +6 -1
- package/scripts/theme-generator/config.ts +38 -40
- package/scripts/theme-generator/generate-css.ts +4 -1
- package/scripts/theme-generator/types.ts +8 -2
- package/dist/chunks/SankeyChart-dkq90770ad7hgzx3.js +0 -635
- package/dist/chunks/SankeyChart-dkq90770ad7hgzx3.js.map +0 -1
- package/dist/chunks/autocomplete-mhrvtq4y5n21vr0t.js.map +0 -1
- package/dist/chunks/badge-kqox9toi0sygfbno.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-ohstavaqvycoremm.js.map +0 -1
- package/dist/chunks/checkbox-h6vkv17lnq854z2c.js.map +0 -1
- package/dist/chunks/collapsible-ej6p2bq758sw30nk.js.map +0 -1
- package/dist/chunks/combobox-g3cudlfajecou4va.js.map +0 -1
- package/dist/chunks/dialog-fo3qhv9fgiadq5gp.js +0 -115
- package/dist/chunks/dialog-fo3qhv9fgiadq5gp.js.map +0 -1
- package/dist/chunks/dropdown-cobpydatw4vlb3ov.js.map +0 -1
- package/dist/chunks/input-group-gy08vju7eoogil8k.js.map +0 -1
- package/dist/chunks/menubar-jalggrag4utvdpey.js +0 -96
- package/dist/chunks/menubar-jalggrag4utvdpey.js.map +0 -1
- package/dist/chunks/popover-i4opvl9g0as52fyx.js.map +0 -1
- package/dist/chunks/radio-g56o5rftpu1qpxuv.js.map +0 -1
- package/dist/chunks/select-g1xvti1k1hj7xe5t.js +0 -226
- package/dist/chunks/select-g1xvti1k1hj7xe5t.js.map +0 -1
- package/dist/chunks/sensitive-input-hokm527ollnz9dqc.js.map +0 -1
- package/dist/chunks/sidebar-oan40ylmqkyui21w.js +0 -875
- package/dist/chunks/sidebar-oan40ylmqkyui21w.js.map +0 -1
- package/dist/chunks/switch-fv0ttj24uhocvuh8.js.map +0 -1
- package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js.map +0 -1
- package/dist/chunks/tabs-g8ier5pehjpfxauf.js.map +0 -1
- package/dist/chunks/vendor-base-ui-nbyiqqi138hcoz52.js +0 -24639
- package/dist/chunks/vendor-base-ui-nbyiqqi138hcoz52.js.map +0 -1
- package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js +0 -534
- package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.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>
|
|
@@ -294,6 +290,9 @@ Small status label for categorizing or highlighting content.
|
|
|
294
290
|
- `"teal"`: Teal badge
|
|
295
291
|
- `"teal-subtle"`: Subtle teal badge
|
|
296
292
|
- `"blue"`: Blue badge
|
|
293
|
+
- `appearance`: enum [default: filled]
|
|
294
|
+
- `"filled"`: Filled badge with background color (default)
|
|
295
|
+
- `"dot"`: Outlined badge with a colored circle dot indicating status
|
|
297
296
|
- `className`: string
|
|
298
297
|
Additional CSS classes merged via `cn()`.
|
|
299
298
|
- `children`: ReactNode
|
|
@@ -301,7 +300,7 @@ Small status label for categorizing or highlighting content.
|
|
|
301
300
|
|
|
302
301
|
**Colors (kumo tokens used):**
|
|
303
302
|
|
|
304
|
-
`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`
|
|
305
304
|
|
|
306
305
|
**Examples:**
|
|
307
306
|
|
|
@@ -323,7 +322,6 @@ Small status label for categorizing or highlighting content.
|
|
|
323
322
|
<Badge variant="neutral">Neutral</Badge>
|
|
324
323
|
<Badge variant="red">Red</Badge>
|
|
325
324
|
<Badge variant="orange">Orange</Badge>
|
|
326
|
-
<Badge variant="green">Green</Badge>
|
|
327
325
|
<Badge variant="teal">Teal</Badge>
|
|
328
326
|
<Badge variant="blue">Blue</Badge>
|
|
329
327
|
<Badge variant="purple">Purple</Badge>
|
|
@@ -337,6 +335,15 @@ Small status label for categorizing or highlighting content.
|
|
|
337
335
|
</p>
|
|
338
336
|
```
|
|
339
337
|
|
|
338
|
+
```tsx
|
|
339
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
340
|
+
<Badge variant="success" appearance="dot">Healthy</Badge>
|
|
341
|
+
<Badge variant="warning" appearance="dot">Warning</Badge>
|
|
342
|
+
<Badge variant="error" appearance="dot">Error</Badge>
|
|
343
|
+
<Badge variant="neutral" appearance="dot">Neutral</Badge>
|
|
344
|
+
</div>
|
|
345
|
+
```
|
|
346
|
+
|
|
340
347
|
|
|
341
348
|
---
|
|
342
349
|
|
|
@@ -352,6 +359,10 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
352
359
|
|
|
353
360
|
**Props:**
|
|
354
361
|
|
|
362
|
+
- `className`: string
|
|
363
|
+
Additional CSS classes merged via `cn()`.
|
|
364
|
+
- `id`: string
|
|
365
|
+
- `lang`: string
|
|
355
366
|
- `icon`: ReactNode
|
|
356
367
|
Icon element rendered before the banner content (e.g. from `@phosphor-icons/react`).
|
|
357
368
|
- `title`: string
|
|
@@ -366,12 +377,11 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
366
377
|
- `"default"`: Informational banner for general messages
|
|
367
378
|
- `"alert"`: Warning banner for cautionary messages
|
|
368
379
|
- `"error"`: Error banner for critical issues
|
|
369
|
-
- `
|
|
370
|
-
Additional CSS classes merged via `cn()`.
|
|
380
|
+
- `"secondary"`: Neutral banner for secondary messages
|
|
371
381
|
|
|
372
382
|
**Colors (kumo tokens used):**
|
|
373
383
|
|
|
374
|
-
`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`
|
|
375
385
|
|
|
376
386
|
**Examples:**
|
|
377
387
|
|
|
@@ -394,6 +404,12 @@ Full-width message bar for informational, warning, or error notices. Supports st
|
|
|
394
404
|
title="Save failed"
|
|
395
405
|
description="We couldn't save your changes. Please try again."
|
|
396
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
|
+
/>
|
|
397
413
|
</div>
|
|
398
414
|
```
|
|
399
415
|
|
|
@@ -3972,7 +3988,7 @@ InputGroup component
|
|
|
3972
3988
|
|
|
3973
3989
|
**Colors (kumo tokens used):**
|
|
3974
3990
|
|
|
3975
|
-
`border-kumo-line`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`
|
|
3991
|
+
`border-kumo-focus`, `border-kumo-line`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`
|
|
3976
3992
|
|
|
3977
3993
|
**Sub-Components:**
|
|
3978
3994
|
|
|
@@ -4079,6 +4095,7 @@ Description sub-component
|
|
|
4079
4095
|
/>
|
|
4080
4096
|
<InputGroup.Addon align="end">
|
|
4081
4097
|
<InputGroup.Button
|
|
4098
|
+
shape="square"
|
|
4082
4099
|
className="text-kumo-subtle"
|
|
4083
4100
|
icon={show ? EyeSlashIcon : EyeIcon}
|
|
4084
4101
|
aria-label={show ? "Hide password" : "Show password"}
|
|
@@ -4100,11 +4117,11 @@ Description sub-component
|
|
|
4100
4117
|
{searchValue && (
|
|
4101
4118
|
<InputGroup.Addon align="end" className="pr-1">
|
|
4102
4119
|
<InputGroup.Button
|
|
4120
|
+
shape="square"
|
|
4121
|
+
icon={XIcon}
|
|
4103
4122
|
aria-label="Clear search"
|
|
4104
4123
|
onClick={() => setSearchValue("")}
|
|
4105
|
-
|
|
4106
|
-
<XIcon />
|
|
4107
|
-
</InputGroup.Button>
|
|
4124
|
+
/>
|
|
4108
4125
|
</InputGroup.Addon>
|
|
4109
4126
|
)}
|
|
4110
4127
|
<InputGroup.Button variant="secondary" onClick={() => {}}>
|
|
@@ -4125,8 +4142,10 @@ Description sub-component
|
|
|
4125
4142
|
/>
|
|
4126
4143
|
<InputGroup.Addon align="end">
|
|
4127
4144
|
<InputGroup.Button
|
|
4145
|
+
shape="square"
|
|
4128
4146
|
className="text-kumo-subtle"
|
|
4129
4147
|
icon={QuestionIcon}
|
|
4148
|
+
aria-label="Query language help"
|
|
4130
4149
|
tooltip="Query language help"
|
|
4131
4150
|
onClick={() => {}}
|
|
4132
4151
|
/>
|
|
@@ -4283,6 +4302,7 @@ Description sub-component
|
|
|
4283
4302
|
/>
|
|
4284
4303
|
<InputGroup.Addon align="end">
|
|
4285
4304
|
<InputGroup.Button
|
|
4305
|
+
shape="square"
|
|
4286
4306
|
className="text-kumo-subtle"
|
|
4287
4307
|
icon={show ? EyeSlashIcon : EyeIcon}
|
|
4288
4308
|
aria-label={show ? "Hide password" : "Show password"}
|
|
@@ -5623,7 +5643,7 @@ Select component
|
|
|
5623
5643
|
|
|
5624
5644
|
**Colors (kumo tokens used):**
|
|
5625
5645
|
|
|
5626
|
-
`bg-kumo-base`, `bg-kumo-elevated`, `bg-kumo-hairline`, `bg-kumo-tint`, `border-kumo-line`, `ring-kumo-brand`, `ring-kumo-focus`, `ring-kumo-line`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-placeholder`, `text-kumo-subtle`
|
|
5646
|
+
`bg-kumo-base`, `bg-kumo-elevated`, `bg-kumo-hairline`, `bg-kumo-tint`, `border-kumo-line`, `ring-kumo-brand`, `ring-kumo-danger`, `ring-kumo-focus`, `ring-kumo-line`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-placeholder`, `text-kumo-subtle`
|
|
5627
5647
|
|
|
5628
5648
|
**Styling:**
|
|
5629
5649
|
|
|
@@ -5710,7 +5730,6 @@ Separator sub-component
|
|
|
5710
5730
|
<Select
|
|
5711
5731
|
label="Issue Type"
|
|
5712
5732
|
description="Choose the category that best describes your issue"
|
|
5713
|
-
error={!value ? "Please select an issue type" : undefined}
|
|
5714
5733
|
className="w-[280px]"
|
|
5715
5734
|
value={value}
|
|
5716
5735
|
onValueChange={(v) => setValue(v as string | null)}
|
|
@@ -5722,6 +5741,20 @@ Separator sub-component
|
|
|
5722
5741
|
/>
|
|
5723
5742
|
```
|
|
5724
5743
|
|
|
5744
|
+
```tsx
|
|
5745
|
+
<Select
|
|
5746
|
+
label="Issue Type"
|
|
5747
|
+
error="Please select an issue type"
|
|
5748
|
+
className="w-[280px]"
|
|
5749
|
+
value={null}
|
|
5750
|
+
items={{
|
|
5751
|
+
bug: "Bug",
|
|
5752
|
+
documentation: "Documentation",
|
|
5753
|
+
feature: "Feature",
|
|
5754
|
+
}}
|
|
5755
|
+
/>
|
|
5756
|
+
```
|
|
5757
|
+
|
|
5725
5758
|
```tsx
|
|
5726
5759
|
<Select
|
|
5727
5760
|
label="Category"
|
|
@@ -6085,7 +6118,7 @@ Password/secret input that masks its value by default and reveals on click. Incl
|
|
|
6085
6118
|
|
|
6086
6119
|
### Sidebar
|
|
6087
6120
|
|
|
6088
|
-
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`.
|
|
6089
6122
|
|
|
6090
6123
|
**Type:** component
|
|
6091
6124
|
|
|
@@ -6118,6 +6151,12 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
|
|
|
6118
6151
|
Minimum width in pixels when resizing.
|
|
6119
6152
|
- `maxWidth`: number
|
|
6120
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.
|
|
6121
6160
|
- `children`: ReactNode
|
|
6122
6161
|
Content — typically `<Sidebar>` + main content.
|
|
6123
6162
|
- `className`: string
|
|
@@ -6125,7 +6164,7 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
|
|
|
6125
6164
|
|
|
6126
6165
|
**Colors (kumo tokens used):**
|
|
6127
6166
|
|
|
6128
|
-
`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`
|
|
6129
6168
|
|
|
6130
6169
|
**Styling:**
|
|
6131
6170
|
|
|
@@ -6148,6 +6187,9 @@ Props:
|
|
|
6148
6187
|
- `defaultWidth`: number
|
|
6149
6188
|
- `minWidth`: number
|
|
6150
6189
|
- `maxWidth`: number
|
|
6190
|
+
- `contained`: boolean
|
|
6191
|
+
- `peekable`: boolean
|
|
6192
|
+
- `animationDuration`: number
|
|
6151
6193
|
- `children`: ReactNode (required)
|
|
6152
6194
|
- `className`: string
|
|
6153
6195
|
|
|
@@ -6156,36 +6198,28 @@ Props:
|
|
|
6156
6198
|
Header sub-component
|
|
6157
6199
|
|
|
6158
6200
|
Props:
|
|
6159
|
-
- `
|
|
6160
|
-
- `defaultOpen`: boolean
|
|
6161
|
-
- `open`: boolean
|
|
6201
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6162
6202
|
|
|
6163
6203
|
#### Sidebar.Content
|
|
6164
6204
|
|
|
6165
6205
|
Content sub-component
|
|
6166
6206
|
|
|
6167
6207
|
Props:
|
|
6168
|
-
- `
|
|
6169
|
-
- `defaultOpen`: boolean
|
|
6170
|
-
- `open`: boolean
|
|
6208
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6171
6209
|
|
|
6172
6210
|
#### Sidebar.Footer
|
|
6173
6211
|
|
|
6174
6212
|
Footer sub-component
|
|
6175
6213
|
|
|
6176
6214
|
Props:
|
|
6177
|
-
- `
|
|
6178
|
-
- `defaultOpen`: boolean
|
|
6179
|
-
- `open`: boolean
|
|
6215
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6180
6216
|
|
|
6181
6217
|
#### Sidebar.Group
|
|
6182
6218
|
|
|
6183
6219
|
Group sub-component
|
|
6184
6220
|
|
|
6185
6221
|
Props:
|
|
6186
|
-
- `
|
|
6187
|
-
- `defaultOpen`: boolean
|
|
6188
|
-
- `open`: boolean
|
|
6222
|
+
- `icon`: React.ComponentType<{ className?: string
|
|
6189
6223
|
|
|
6190
6224
|
#### Sidebar.GroupLabel
|
|
6191
6225
|
|
|
@@ -6194,13 +6228,6 @@ GroupLabel sub-component
|
|
|
6194
6228
|
Props:
|
|
6195
6229
|
- `icon`: React.ComponentType<{ className?: string
|
|
6196
6230
|
|
|
6197
|
-
#### Sidebar.GroupContent
|
|
6198
|
-
|
|
6199
|
-
GroupContent sub-component
|
|
6200
|
-
|
|
6201
|
-
Props:
|
|
6202
|
-
- `icon`: React.ComponentType<{ className?: string
|
|
6203
|
-
|
|
6204
6231
|
#### Sidebar.Menu
|
|
6205
6232
|
|
|
6206
6233
|
Menu sub-component
|
|
@@ -6222,14 +6249,6 @@ MenuButton sub-component
|
|
|
6222
6249
|
Props:
|
|
6223
6250
|
- `icon`: React.ComponentType<{ className?: string
|
|
6224
6251
|
|
|
6225
|
-
#### Sidebar.MenuAction
|
|
6226
|
-
|
|
6227
|
-
MenuAction sub-component
|
|
6228
|
-
|
|
6229
|
-
Props:
|
|
6230
|
-
- `active`: boolean
|
|
6231
|
-
- `href`: string
|
|
6232
|
-
|
|
6233
6252
|
#### Sidebar.MenuBadge
|
|
6234
6253
|
|
|
6235
6254
|
MenuBadge sub-component
|
|
@@ -6267,29 +6286,33 @@ Props:
|
|
|
6267
6286
|
Separator sub-component
|
|
6268
6287
|
|
|
6269
6288
|
Props:
|
|
6270
|
-
- `
|
|
6271
|
-
- `
|
|
6272
|
-
|
|
6273
|
-
#### Sidebar.Input
|
|
6274
|
-
|
|
6275
|
-
Input sub-component
|
|
6276
|
-
|
|
6277
|
-
Props:
|
|
6278
|
-
- `placeholder`: string
|
|
6279
|
-
- `shortcut`: string
|
|
6289
|
+
- `defaultOpen`: boolean
|
|
6290
|
+
- `open`: boolean
|
|
6280
6291
|
|
|
6281
6292
|
#### Sidebar.Trigger
|
|
6282
6293
|
|
|
6283
6294
|
Trigger sub-component
|
|
6284
6295
|
|
|
6296
|
+
Props:
|
|
6297
|
+
- `defaultOpen`: boolean
|
|
6298
|
+
- `open`: boolean
|
|
6299
|
+
|
|
6285
6300
|
#### Sidebar.Rail
|
|
6286
6301
|
|
|
6287
6302
|
Rail sub-component
|
|
6288
6303
|
|
|
6304
|
+
Props:
|
|
6305
|
+
- `defaultOpen`: boolean
|
|
6306
|
+
- `open`: boolean
|
|
6307
|
+
|
|
6289
6308
|
#### Sidebar.ResizeHandle
|
|
6290
6309
|
|
|
6291
6310
|
ResizeHandle sub-component
|
|
6292
6311
|
|
|
6312
|
+
Props:
|
|
6313
|
+
- `defaultOpen`: boolean
|
|
6314
|
+
- `open`: boolean
|
|
6315
|
+
|
|
6293
6316
|
#### Sidebar.MenuChevron
|
|
6294
6317
|
|
|
6295
6318
|
MenuChevron sub-component
|
|
@@ -6301,20 +6324,46 @@ Props:
|
|
|
6301
6324
|
|
|
6302
6325
|
Collapsible sub-component
|
|
6303
6326
|
|
|
6327
|
+
Props:
|
|
6328
|
+
- `defaultOpen`: boolean
|
|
6329
|
+
- `open`: boolean
|
|
6330
|
+
|
|
6304
6331
|
#### Sidebar.CollapsibleTrigger
|
|
6305
6332
|
|
|
6306
6333
|
CollapsibleTrigger sub-component
|
|
6307
6334
|
|
|
6335
|
+
Props:
|
|
6336
|
+
- `render`: React.ReactElement (required)
|
|
6337
|
+
|
|
6308
6338
|
#### Sidebar.CollapsibleContent
|
|
6309
6339
|
|
|
6310
6340
|
CollapsibleContent sub-component
|
|
6311
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
|
+
|
|
6312
6361
|
|
|
6313
6362
|
**Examples:**
|
|
6314
6363
|
|
|
6315
6364
|
```tsx
|
|
6316
6365
|
<DemoContainer>
|
|
6317
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6366
|
+
<Sidebar.Provider contained defaultOpen className="min-h-0! h-full">
|
|
6318
6367
|
<Sidebar>
|
|
6319
6368
|
<Sidebar.Content>
|
|
6320
6369
|
<Sidebar.Group>
|
|
@@ -6347,9 +6396,31 @@ CollapsibleContent sub-component
|
|
|
6347
6396
|
/>
|
|
6348
6397
|
<Sidebar.CollapsibleContent>
|
|
6349
6398
|
<Sidebar.MenuSub>
|
|
6350
|
-
<Sidebar.
|
|
6351
|
-
|
|
6352
|
-
|
|
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>
|
|
6353
6424
|
<Sidebar.MenuSubButton>
|
|
6354
6425
|
Durable Objects
|
|
6355
6426
|
</Sidebar.MenuSubButton>
|
|
@@ -6371,64 +6442,7 @@ CollapsibleContent sub-component
|
|
|
6371
6442
|
|
|
6372
6443
|
```tsx
|
|
6373
6444
|
<DemoContainer>
|
|
6374
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6375
|
-
<Sidebar>
|
|
6376
|
-
<Sidebar.Content>
|
|
6377
|
-
{/* GroupContent is required for collapsible groups (provides grid-rows animation) */}
|
|
6378
|
-
<Sidebar.Group collapsible defaultOpen>
|
|
6379
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6380
|
-
<Sidebar.GroupContent>
|
|
6381
|
-
<Sidebar.Menu>
|
|
6382
|
-
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6383
|
-
Home
|
|
6384
|
-
</Sidebar.MenuButton>
|
|
6385
|
-
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6386
|
-
Analytics
|
|
6387
|
-
</Sidebar.MenuButton>
|
|
6388
|
-
<Sidebar.MenuButton icon={GlobeIcon}>
|
|
6389
|
-
Domains
|
|
6390
|
-
</Sidebar.MenuButton>
|
|
6391
|
-
</Sidebar.Menu>
|
|
6392
|
-
</Sidebar.GroupContent>
|
|
6393
|
-
</Sidebar.Group>
|
|
6394
|
-
|
|
6395
|
-
<Sidebar.Group collapsible defaultOpen>
|
|
6396
|
-
<Sidebar.GroupLabel>Build</Sidebar.GroupLabel>
|
|
6397
|
-
<Sidebar.GroupContent>
|
|
6398
|
-
<Sidebar.Menu>
|
|
6399
|
-
<Sidebar.MenuButton icon={CodeIcon}>
|
|
6400
|
-
Compute
|
|
6401
|
-
</Sidebar.MenuButton>
|
|
6402
|
-
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6403
|
-
Storage
|
|
6404
|
-
</Sidebar.MenuButton>
|
|
6405
|
-
</Sidebar.Menu>
|
|
6406
|
-
</Sidebar.GroupContent>
|
|
6407
|
-
</Sidebar.Group>
|
|
6408
|
-
|
|
6409
|
-
<Sidebar.Group collapsible defaultOpen={false}>
|
|
6410
|
-
<Sidebar.GroupLabel>Protect & Connect</Sidebar.GroupLabel>
|
|
6411
|
-
<Sidebar.GroupContent>
|
|
6412
|
-
<Sidebar.Menu>
|
|
6413
|
-
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6414
|
-
Security
|
|
6415
|
-
</Sidebar.MenuButton>
|
|
6416
|
-
<Sidebar.MenuButton icon={LockIcon}>
|
|
6417
|
-
Zero Trust
|
|
6418
|
-
</Sidebar.MenuButton>
|
|
6419
|
-
</Sidebar.Menu>
|
|
6420
|
-
</Sidebar.GroupContent>
|
|
6421
|
-
</Sidebar.Group>
|
|
6422
|
-
</Sidebar.Content>
|
|
6423
|
-
</Sidebar>
|
|
6424
|
-
<DemoMain />
|
|
6425
|
-
</Sidebar.Provider>
|
|
6426
|
-
</DemoContainer>
|
|
6427
|
-
```
|
|
6428
|
-
|
|
6429
|
-
```tsx
|
|
6430
|
-
<DemoContainer>
|
|
6431
|
-
<Sidebar.Provider defaultOpen className="min-h-0! h-full">
|
|
6445
|
+
<Sidebar.Provider contained defaultOpen className="min-h-0! h-full">
|
|
6432
6446
|
<Sidebar>
|
|
6433
6447
|
<Sidebar.Header>
|
|
6434
6448
|
<BrandLogo />
|
|
@@ -6457,7 +6471,7 @@ CollapsibleContent sub-component
|
|
|
6457
6471
|
</Sidebar>
|
|
6458
6472
|
<DemoMain>
|
|
6459
6473
|
<ToggleButton />
|
|
6460
|
-
<p
|
|
6474
|
+
<p>
|
|
6461
6475
|
Click the button or the sidebar trigger to toggle
|
|
6462
6476
|
</p>
|
|
6463
6477
|
</DemoMain>
|
|
@@ -6467,97 +6481,7 @@ CollapsibleContent sub-component
|
|
|
6467
6481
|
|
|
6468
6482
|
```tsx
|
|
6469
6483
|
<DemoContainer>
|
|
6470
|
-
<Sidebar.Provider
|
|
6471
|
-
<Sidebar>
|
|
6472
|
-
<Sidebar.Header>
|
|
6473
|
-
<AccountSwitcher />
|
|
6474
|
-
</Sidebar.Header>
|
|
6475
|
-
|
|
6476
|
-
<Sidebar.Content>
|
|
6477
|
-
<div className="px-1 pb-2">
|
|
6478
|
-
<Sidebar.Input placeholder="Quick search..." shortcut="⌘K" />
|
|
6479
|
-
</div>
|
|
6480
|
-
|
|
6481
|
-
<Sidebar.Group>
|
|
6482
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6483
|
-
<Sidebar.Menu>
|
|
6484
|
-
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6485
|
-
Home
|
|
6486
|
-
</Sidebar.MenuButton>
|
|
6487
|
-
<Sidebar.MenuButton icon={ChartBarIcon}>
|
|
6488
|
-
Analytics & Logs
|
|
6489
|
-
</Sidebar.MenuButton>
|
|
6490
|
-
<Sidebar.MenuButton icon={GlobeIcon}>
|
|
6491
|
-
Domains
|
|
6492
|
-
</Sidebar.MenuButton>
|
|
6493
|
-
</Sidebar.Menu>
|
|
6494
|
-
</Sidebar.Group>
|
|
6495
|
-
|
|
6496
|
-
<Sidebar.Separator />
|
|
6497
|
-
|
|
6498
|
-
<Sidebar.Group>
|
|
6499
|
-
<Sidebar.GroupLabel>Build</Sidebar.GroupLabel>
|
|
6500
|
-
<Sidebar.Menu>
|
|
6501
|
-
<Sidebar.MenuItem>
|
|
6502
|
-
<Sidebar.Collapsible defaultOpen>
|
|
6503
|
-
<Sidebar.CollapsibleTrigger
|
|
6504
|
-
render={
|
|
6505
|
-
<Sidebar.MenuButton icon={CodeIcon}>
|
|
6506
|
-
Compute
|
|
6507
|
-
<Sidebar.MenuChevron />
|
|
6508
|
-
</Sidebar.MenuButton>
|
|
6509
|
-
}
|
|
6510
|
-
/>
|
|
6511
|
-
<Sidebar.CollapsibleContent>
|
|
6512
|
-
<Sidebar.MenuSub>
|
|
6513
|
-
<Sidebar.MenuSubButton>
|
|
6514
|
-
Workers & Pages
|
|
6515
|
-
</Sidebar.MenuSubButton>
|
|
6516
|
-
<Sidebar.MenuSubButton>
|
|
6517
|
-
Durable Objects
|
|
6518
|
-
</Sidebar.MenuSubButton>
|
|
6519
|
-
<Sidebar.MenuSubButton>
|
|
6520
|
-
Containers
|
|
6521
|
-
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6522
|
-
</Sidebar.MenuSubButton>
|
|
6523
|
-
</Sidebar.MenuSub>
|
|
6524
|
-
</Sidebar.CollapsibleContent>
|
|
6525
|
-
</Sidebar.Collapsible>
|
|
6526
|
-
</Sidebar.MenuItem>
|
|
6527
|
-
<Sidebar.MenuButton icon={DatabaseIcon}>
|
|
6528
|
-
Storage
|
|
6529
|
-
</Sidebar.MenuButton>
|
|
6530
|
-
</Sidebar.Menu>
|
|
6531
|
-
</Sidebar.Group>
|
|
6532
|
-
|
|
6533
|
-
<Sidebar.Group>
|
|
6534
|
-
<Sidebar.GroupLabel>Protect & Connect</Sidebar.GroupLabel>
|
|
6535
|
-
<Sidebar.Menu>
|
|
6536
|
-
<Sidebar.MenuButton icon={ShieldCheckIcon}>
|
|
6537
|
-
Security
|
|
6538
|
-
</Sidebar.MenuButton>
|
|
6539
|
-
<Sidebar.MenuButton icon={LockIcon}>
|
|
6540
|
-
Zero Trust
|
|
6541
|
-
<Sidebar.MenuBadge>Beta</Sidebar.MenuBadge>
|
|
6542
|
-
</Sidebar.MenuButton>
|
|
6543
|
-
</Sidebar.Menu>
|
|
6544
|
-
</Sidebar.Group>
|
|
6545
|
-
</Sidebar.Content>
|
|
6546
|
-
|
|
6547
|
-
<Sidebar.Footer>
|
|
6548
|
-
<Sidebar.MenuButton icon={GearIcon}>
|
|
6549
|
-
Manage account
|
|
6550
|
-
</Sidebar.MenuButton>
|
|
6551
|
-
</Sidebar.Footer>
|
|
6552
|
-
</Sidebar>
|
|
6553
|
-
<DemoMain />
|
|
6554
|
-
</Sidebar.Provider>
|
|
6555
|
-
</DemoContainer>
|
|
6556
|
-
```
|
|
6557
|
-
|
|
6558
|
-
```tsx
|
|
6559
|
-
<DemoContainer>
|
|
6560
|
-
<Sidebar.Provider
|
|
6484
|
+
<Sidebar.Provider contained
|
|
6561
6485
|
defaultOpen
|
|
6562
6486
|
resizable
|
|
6563
6487
|
defaultWidth={240}
|
|
@@ -6571,7 +6495,6 @@ CollapsibleContent sub-component
|
|
|
6571
6495
|
</Sidebar.Header>
|
|
6572
6496
|
<Sidebar.Content>
|
|
6573
6497
|
<Sidebar.Group>
|
|
6574
|
-
<Sidebar.GroupLabel>Overview</Sidebar.GroupLabel>
|
|
6575
6498
|
<Sidebar.Menu>
|
|
6576
6499
|
<Sidebar.MenuButton icon={HouseIcon} active>
|
|
6577
6500
|
Home
|
|
@@ -6591,7 +6514,7 @@ CollapsibleContent sub-component
|
|
|
6591
6514
|
<Sidebar.ResizeHandle />
|
|
6592
6515
|
</Sidebar>
|
|
6593
6516
|
<DemoMain>
|
|
6594
|
-
<p
|
|
6517
|
+
<p>Drag the sidebar edge to resize</p>
|
|
6595
6518
|
</DemoMain>
|
|
6596
6519
|
</Sidebar.Provider>
|
|
6597
6520
|
</DemoContainer>
|
|
@@ -6599,7 +6522,7 @@ CollapsibleContent sub-component
|
|
|
6599
6522
|
|
|
6600
6523
|
```tsx
|
|
6601
6524
|
<DemoContainer>
|
|
6602
|
-
<Sidebar.Provider defaultOpen side="right" className="min-h-0! h-full">
|
|
6525
|
+
<Sidebar.Provider contained defaultOpen side="right" className="min-h-0! h-full">
|
|
6603
6526
|
<DemoMain />
|
|
6604
6527
|
<Sidebar>
|
|
6605
6528
|
<Sidebar.Content>
|
|
@@ -6621,6 +6544,246 @@ CollapsibleContent sub-component
|
|
|
6621
6544
|
</DemoContainer>
|
|
6622
6545
|
```
|
|
6623
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
|
+
|
|
6624
6787
|
|
|
6625
6788
|
---
|
|
6626
6789
|
|
|
@@ -7796,7 +7959,7 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
|
|
|
7796
7959
|
|
|
7797
7960
|
**Colors (kumo tokens used):**
|
|
7798
7961
|
|
|
7799
|
-
`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`
|
|
7800
7963
|
|
|
7801
7964
|
**Styling:**
|
|
7802
7965
|
|
|
@@ -7907,6 +8070,34 @@ Usage:
|
|
|
7907
8070
|
</TooltipProvider>
|
|
7908
8071
|
```
|
|
7909
8072
|
|
|
8073
|
+
```tsx
|
|
8074
|
+
<TooltipProvider>
|
|
8075
|
+
<div className="flex w-full justify-between">
|
|
8076
|
+
<Tooltip
|
|
8077
|
+
content={longContent}
|
|
8078
|
+
side="bottom"
|
|
8079
|
+
render={<Button variant="secondary" />}
|
|
8080
|
+
>
|
|
8081
|
+
Near left edge
|
|
8082
|
+
</Tooltip>
|
|
8083
|
+
<Tooltip
|
|
8084
|
+
content={longContent}
|
|
8085
|
+
side="bottom"
|
|
8086
|
+
render={<Button variant="secondary" />}
|
|
8087
|
+
>
|
|
8088
|
+
Centered
|
|
8089
|
+
</Tooltip>
|
|
8090
|
+
<Tooltip
|
|
8091
|
+
content={longContent}
|
|
8092
|
+
side="bottom"
|
|
8093
|
+
render={<Button variant="secondary" />}
|
|
8094
|
+
>
|
|
8095
|
+
Near right edge
|
|
8096
|
+
</Tooltip>
|
|
8097
|
+
</div>
|
|
8098
|
+
</TooltipProvider>
|
|
8099
|
+
```
|
|
8100
|
+
|
|
7910
8101
|
```tsx
|
|
7911
8102
|
<TooltipProvider>
|
|
7912
8103
|
<div className="flex gap-4">
|