@cloudflare/kumo 1.17.0 → 1.19.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 +143 -0
- package/ai/USAGE.md +38 -32
- package/ai/component-registry.json +289 -178
- package/ai/component-registry.md +980 -507
- package/ai/schemas.ts +20 -4
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +95 -56
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +165 -148
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/{Legend-o0ntojbaplmszwk0.js → Legend-ks7se6149vsa3tze.js} +127 -118
- package/dist/chunks/Legend-ks7se6149vsa3tze.js.map +1 -0
- package/dist/chunks/badge-dan90i0rzy4pwa1j.js +102 -0
- package/dist/chunks/badge-dan90i0rzy4pwa1j.js.map +1 -0
- package/dist/chunks/{banner-nz0eryqnz3qd86ln.js → banner-eiwcnk7ts21s3bnb.js} +4 -4
- package/dist/chunks/{banner-nz0eryqnz3qd86ln.js.map → banner-eiwcnk7ts21s3bnb.js.map} +1 -1
- package/dist/chunks/{breadcrumbs-cjgn3w4drahvqnuj.js → breadcrumbs-ge20hcb3o5spswrk.js} +2 -2
- package/dist/chunks/{breadcrumbs-cjgn3w4drahvqnuj.js.map → breadcrumbs-ge20hcb3o5spswrk.js.map} +1 -1
- package/dist/chunks/{button-odxi0hp4fvi5i2w3.js → button-oaqi7ykdisyskoos.js} +8 -8
- package/dist/chunks/button-oaqi7ykdisyskoos.js.map +1 -0
- package/dist/chunks/{checkbox-dx8x0rzv582yjv7n.js → checkbox-mwgmohffm22ut13s.js} +15 -15
- package/dist/chunks/checkbox-mwgmohffm22ut13s.js.map +1 -0
- package/dist/chunks/{clipboard-text-kyk51d1ze7zvdn4q.js → clipboard-text-dxczqon3d27xp6f0.js} +10 -10
- package/dist/chunks/{clipboard-text-kyk51d1ze7zvdn4q.js.map → clipboard-text-dxczqon3d27xp6f0.js.map} +1 -1
- package/dist/chunks/{cloudflare-logo-bgts2jgsdh7sslw4.js → cloudflare-logo-pbavoe1wu8nr5c4n.js} +9 -9
- package/dist/chunks/{cloudflare-logo-bgts2jgsdh7sslw4.js.map → cloudflare-logo-pbavoe1wu8nr5c4n.js.map} +1 -1
- package/dist/chunks/{code-liq1g6f5lhee305d.js → code-cz0w1y5z4h29a9eg.js} +18 -18
- package/dist/chunks/code-cz0w1y5z4h29a9eg.js.map +1 -0
- package/dist/chunks/{combobox-9fhjzprab46csmon.js → combobox-eaowwt1xr4d23gsn.js} +113 -101
- package/dist/chunks/combobox-eaowwt1xr4d23gsn.js.map +1 -0
- package/dist/chunks/{command-palette-kenx2bbdzd4kpx36.js → command-palette-maqtbmpfev9mysqd.js} +20 -20
- package/dist/chunks/command-palette-maqtbmpfev9mysqd.js.map +1 -0
- package/dist/chunks/{dialog-e05ysa8t2fklw065.js → dialog-e3m5bhs7fds26p9y.js} +25 -25
- package/dist/chunks/dialog-e3m5bhs7fds26p9y.js.map +1 -0
- package/dist/chunks/{dropdown-g587px7zv3ssaxr4.js → dropdown-ewte287db3vyt8t5.js} +94 -92
- package/dist/chunks/{dropdown-g587px7zv3ssaxr4.js.map → dropdown-ewte287db3vyt8t5.js.map} +1 -1
- package/dist/chunks/{empty-fuz1un7r7mbz0kim.js → empty-dr1eckm2z40euns6.js} +2 -2
- package/dist/chunks/{empty-fuz1un7r7mbz0kim.js.map → empty-dr1eckm2z40euns6.js.map} +1 -1
- package/dist/chunks/{field-fq504lyu7ttsh5m9.js → field-bo5gmna16odrrb1q.js} +3 -3
- package/dist/chunks/{field-fq504lyu7ttsh5m9.js.map → field-bo5gmna16odrrb1q.js.map} +1 -1
- package/dist/chunks/{grid-m9r71jxo2b8q1972.js → grid-hj1ylz16p7g5uelh.js} +2 -2
- package/dist/chunks/{grid-m9r71jxo2b8q1972.js.map → grid-hj1ylz16p7g5uelh.js.map} +1 -1
- package/dist/chunks/input-area-jkkkjej6luumrqpa.js +78 -0
- package/dist/chunks/input-area-jkkkjej6luumrqpa.js.map +1 -0
- package/dist/chunks/input-cw05pbqdburghkus.js +113 -0
- package/dist/chunks/input-cw05pbqdburghkus.js.map +1 -0
- package/dist/chunks/{input-group-hbebbyh8fo6aqydn.js → input-group-lfugneuz71g42n0w.js} +27 -27
- package/dist/chunks/input-group-lfugneuz71g42n0w.js.map +1 -0
- package/dist/chunks/label-cvyvbqmt4mt757ff.js +68 -0
- package/dist/chunks/{label-j9owppbgnn35mebg.js.map → label-cvyvbqmt4mt757ff.js.map} +1 -1
- package/dist/chunks/layer-card-ljqth3yxgnk04v2o.js +46 -0
- package/dist/chunks/layer-card-ljqth3yxgnk04v2o.js.map +1 -0
- package/dist/chunks/{link-hmmf3k1xn6rm72rt.js → link-fjnhtxvfe5ieamjf.js} +2 -2
- package/dist/chunks/{link-hmmf3k1xn6rm72rt.js.map → link-fjnhtxvfe5ieamjf.js.map} +1 -1
- package/dist/chunks/{loader-m5wfmqwgucrr4i5v.js → loader-hr2w7cpqeev3p3vl.js} +9 -6
- package/dist/chunks/loader-hr2w7cpqeev3p3vl.js.map +1 -0
- package/dist/chunks/menubar-e5e4zwfagr0wx023.js +96 -0
- package/dist/chunks/menubar-e5e4zwfagr0wx023.js.map +1 -0
- package/dist/chunks/{meter-i84dte2f82qmvn7y.js → meter-duj3micor1lqj3y2.js} +2 -2
- package/dist/chunks/{meter-i84dte2f82qmvn7y.js.map → meter-duj3micor1lqj3y2.js.map} +1 -1
- package/dist/chunks/pagination-olaypvwr8swsmn8m.js +266 -0
- package/dist/chunks/pagination-olaypvwr8swsmn8m.js.map +1 -0
- package/dist/chunks/{popover-i951xjcgezeqr4iv.js → popover-nv9cmzbo7mf6bky0.js} +68 -72
- package/dist/chunks/popover-nv9cmzbo7mf6bky0.js.map +1 -0
- package/dist/chunks/{radio-l2vkcue40d84fmo1.js → radio-ihxbe37us2jnqtzf.js} +38 -38
- package/dist/chunks/radio-ihxbe37us2jnqtzf.js.map +1 -0
- package/dist/chunks/select-nx6ded5swra74iar.js +213 -0
- package/dist/chunks/select-nx6ded5swra74iar.js.map +1 -0
- package/dist/chunks/{sensitive-input-kznmknpp5h1grc6k.js → sensitive-input-00fujb510rrn61v9.js} +34 -34
- package/dist/chunks/{sensitive-input-kznmknpp5h1grc6k.js.map → sensitive-input-00fujb510rrn61v9.js.map} +1 -1
- package/dist/chunks/{sidebar-jepeq7gaf4issuw6.js → sidebar-ltbfius1eolkl8tb.js} +24 -28
- package/dist/chunks/sidebar-ltbfius1eolkl8tb.js.map +1 -0
- package/dist/chunks/surface-dfgurg5eu3et4vw1.js +29 -0
- package/dist/chunks/surface-dfgurg5eu3et4vw1.js.map +1 -0
- package/dist/chunks/{switch-i0zwcp3wq6vsxm1c.js → switch-fbv3iawqo3o3jgap.js} +104 -102
- package/dist/chunks/switch-fbv3iawqo3o3jgap.js.map +1 -0
- package/dist/chunks/table-of-contents-f813ivi7ta23vqdm.js +88 -0
- package/dist/chunks/table-of-contents-f813ivi7ta23vqdm.js.map +1 -0
- package/dist/chunks/table-olwwulga2l3hdwlx.js +189 -0
- package/dist/chunks/table-olwwulga2l3hdwlx.js.map +1 -0
- package/dist/chunks/{tabs-bw92jb303zxw7w4f.js → tabs-lohcglgppp6gj0hp.js} +16 -16
- package/dist/chunks/{tabs-bw92jb303zxw7w4f.js.map → tabs-lohcglgppp6gj0hp.js.map} +1 -1
- package/dist/chunks/{toast-lrnwby56drs7vtae.js → toast-dg52x89yd231mxhe.js} +30 -30
- package/dist/chunks/{toast-lrnwby56drs7vtae.js.map → toast-dg52x89yd231mxhe.js.map} +1 -1
- package/dist/chunks/{tooltip-cit9ltlxfuhwctuj.js → tooltip-hikjvdbg3xghnq1x.js} +38 -33
- package/dist/chunks/tooltip-hikjvdbg3xghnq1x.js.map +1 -0
- package/dist/chunks/{vendor-base-ui-n30qblevnpk9cc5c.js → vendor-base-ui-m5pz3e8c4grg5qmj.js} +46 -43
- package/dist/chunks/{vendor-base-ui-n30qblevnpk9cc5c.js.map → vendor-base-ui-m5pz3e8c4grg5qmj.js.map} +1 -1
- package/dist/code.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/cloudflare-logo.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/flow.js +2 -2
- package/dist/components/flow.js.map +1 -1
- package/dist/components/grid.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/loader.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table-of-contents.js +8 -0
- package/dist/components/table-of-contents.js.map +1 -0
- 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 +128 -124
- package/dist/index.js.map +1 -1
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/scripts/theme-generator/config.d.ts.map +1 -1
- package/dist/scripts/theme-generator/config.js +32 -113
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/components/badge/badge.d.ts +61 -79
- package/dist/src/components/badge/badge.d.ts.map +1 -1
- package/dist/src/components/banner/banner.d.ts +3 -3
- package/dist/src/components/button/button.d.ts +3 -3
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/EChart.d.ts +18 -2
- package/dist/src/components/chart/EChart.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/chart/index.d.ts +1 -1
- package/dist/src/components/chart/index.d.ts.map +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/code/code.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.d.ts +16 -2
- package/dist/src/components/combobox/combobox.d.ts.map +1 -1
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/src/components/input/input-area.d.ts.map +1 -1
- package/dist/src/components/input/input.d.ts +1 -2
- package/dist/src/components/input/input.d.ts.map +1 -1
- package/dist/src/components/label/label.d.ts.map +1 -1
- package/dist/src/components/layer-card/layer-card.d.ts +39 -5
- package/dist/src/components/layer-card/layer-card.d.ts.map +1 -1
- package/dist/src/components/loader/loader.d.ts +7 -1
- package/dist/src/components/loader/loader.d.ts.map +1 -1
- package/dist/src/components/menubar/menubar.d.ts.map +1 -1
- package/dist/src/components/pagination/pagination.d.ts +62 -2
- package/dist/src/components/pagination/pagination.d.ts.map +1 -1
- package/dist/src/components/popover/popover.d.ts +35 -8
- package/dist/src/components/popover/popover.d.ts.map +1 -1
- package/dist/src/components/radio/radio.d.ts +2 -2
- package/dist/src/components/select/select.d.ts +115 -7
- package/dist/src/components/select/select.d.ts.map +1 -1
- package/dist/src/components/sensitive-input/sensitive-input.d.ts +1 -1
- package/dist/src/components/sidebar/sidebar.d.ts +2 -2
- package/dist/src/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/src/components/surface/index.d.ts +3 -0
- package/dist/src/components/surface/index.d.ts.map +1 -1
- package/dist/src/components/surface/surface.d.ts +14 -10
- package/dist/src/components/surface/surface.d.ts.map +1 -1
- package/dist/src/components/switch/switch.d.ts.map +1 -1
- package/dist/src/components/table/table.d.ts.map +1 -1
- package/dist/src/components/table-of-contents/index.d.ts +2 -0
- package/dist/src/components/table-of-contents/index.d.ts.map +1 -0
- package/dist/src/components/table-of-contents/table-of-contents.d.ts +70 -0
- package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -0
- package/dist/src/components/toast/toast.d.ts +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts +25 -6
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-binding.css +4 -0
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-fedramp.css +3 -3
- package/dist/styles/theme-kumo.css +66 -127
- package/package.json +5 -1
- package/scripts/component-registry/index.test.ts +4 -4
- package/scripts/component-registry/metadata.ts +3 -3
- package/scripts/theme-generator/config.ts +37 -116
- package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +0 -1
- package/dist/chunks/badge-n80t3z8u9ttlxi20.js +0 -120
- package/dist/chunks/badge-n80t3z8u9ttlxi20.js.map +0 -1
- package/dist/chunks/button-odxi0hp4fvi5i2w3.js.map +0 -1
- package/dist/chunks/checkbox-dx8x0rzv582yjv7n.js.map +0 -1
- package/dist/chunks/code-liq1g6f5lhee305d.js.map +0 -1
- package/dist/chunks/combobox-9fhjzprab46csmon.js.map +0 -1
- package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +0 -1
- package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +0 -1
- package/dist/chunks/input-area-nq40szg9110on89c.js +0 -74
- package/dist/chunks/input-area-nq40szg9110on89c.js.map +0 -1
- package/dist/chunks/input-group-hbebbyh8fo6aqydn.js.map +0 -1
- package/dist/chunks/input-kvhyo3p4859bexvx.js +0 -109
- package/dist/chunks/input-kvhyo3p4859bexvx.js.map +0 -1
- package/dist/chunks/label-j9owppbgnn35mebg.js +0 -62
- package/dist/chunks/layer-card-l5yjvrxry1dhte57.js +0 -44
- package/dist/chunks/layer-card-l5yjvrxry1dhte57.js.map +0 -1
- package/dist/chunks/loader-m5wfmqwgucrr4i5v.js.map +0 -1
- package/dist/chunks/menubar-abojnm0uwjuni8ok.js +0 -92
- package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +0 -1
- package/dist/chunks/pagination-pbd7qqik97ac0l7m.js +0 -224
- package/dist/chunks/pagination-pbd7qqik97ac0l7m.js.map +0 -1
- package/dist/chunks/popover-i951xjcgezeqr4iv.js.map +0 -1
- package/dist/chunks/radio-l2vkcue40d84fmo1.js.map +0 -1
- package/dist/chunks/select-paedwa3nlhpq82ua.js +0 -132
- package/dist/chunks/select-paedwa3nlhpq82ua.js.map +0 -1
- package/dist/chunks/sidebar-jepeq7gaf4issuw6.js.map +0 -1
- package/dist/chunks/surface-blo81kgy9g0sexgm.js +0 -36
- package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +0 -1
- package/dist/chunks/switch-i0zwcp3wq6vsxm1c.js.map +0 -1
- package/dist/chunks/table-nrcw19tlpduayukl.js +0 -183
- package/dist/chunks/table-nrcw19tlpduayukl.js.map +0 -1
- package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +0 -1
|
@@ -1,59 +1,59 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
2
|
+
import { jsx as e, jsxs as m } from "react/jsx-runtime";
|
|
3
3
|
import { CheckIcon as S, XIcon as h, CaretDownIcon as x } from "@phosphor-icons/react";
|
|
4
4
|
import { createContext as T, useContext as u, Fragment as P } from "react";
|
|
5
|
-
import { i as p, K as V } from "./input-
|
|
6
|
-
import { c as
|
|
7
|
-
import { F as j } from "./field-
|
|
5
|
+
import { i as p, K as V } from "./input-cw05pbqdburghkus.js";
|
|
6
|
+
import { c as i } from "./cn-ct4n7r74mh8y0f48.js";
|
|
7
|
+
import { F as j } from "./field-bo5gmna16odrrb1q.js";
|
|
8
8
|
import { u as G } from "./portal-provider-hwmkdmkpvct0cb76.js";
|
|
9
|
-
import { a5 as L, a6 as M, a7 as F, a8 as _, a9 as A, aa as E, ab as b, ac as K, ad as O, ae as U, af as W, ag as D, ah as f, ai as H, aj as C, ak as N, al as X, am as q, an as B } from "./vendor-base-ui-
|
|
9
|
+
import { a5 as L, a6 as M, a7 as F, a8 as _, a9 as A, aa as E, ab as b, ac as K, ad as O, ae as U, af as W, ag as D, ah as f, ai as H, aj as C, ak as N, al as X, am as q, an as B } from "./vendor-base-ui-m5pz3e8c4grg5qmj.js";
|
|
10
10
|
V.size;
|
|
11
11
|
const g = T("base");
|
|
12
12
|
function y({
|
|
13
|
-
label:
|
|
13
|
+
label: o,
|
|
14
14
|
required: t,
|
|
15
|
-
labelTooltip:
|
|
15
|
+
labelTooltip: n,
|
|
16
16
|
description: r,
|
|
17
|
-
error:
|
|
17
|
+
error: a,
|
|
18
18
|
children: c,
|
|
19
19
|
size: s = "base",
|
|
20
20
|
...l
|
|
21
21
|
}) {
|
|
22
|
-
const d = /* @__PURE__ */
|
|
23
|
-
return
|
|
22
|
+
const d = /* @__PURE__ */ e(g.Provider, { value: s, children: /* @__PURE__ */ e(M, { ...l, children: c }) });
|
|
23
|
+
return o ? /* @__PURE__ */ e(
|
|
24
24
|
j,
|
|
25
25
|
{
|
|
26
|
-
label:
|
|
26
|
+
label: o,
|
|
27
27
|
required: t,
|
|
28
|
-
labelTooltip:
|
|
28
|
+
labelTooltip: n,
|
|
29
29
|
description: r,
|
|
30
|
-
error:
|
|
30
|
+
error: a ? typeof a == "string" ? { message: a, match: !0 } : a : void 0,
|
|
31
31
|
children: d
|
|
32
32
|
}
|
|
33
33
|
) : d;
|
|
34
34
|
}
|
|
35
35
|
function v({
|
|
36
|
-
children:
|
|
36
|
+
children: o,
|
|
37
37
|
className: t,
|
|
38
|
-
align:
|
|
38
|
+
align: n = "start",
|
|
39
39
|
sideOffset: r = 4,
|
|
40
|
-
alignOffset:
|
|
40
|
+
alignOffset: a,
|
|
41
41
|
side: c,
|
|
42
42
|
container: s
|
|
43
43
|
}) {
|
|
44
44
|
const l = G();
|
|
45
|
-
return /* @__PURE__ */
|
|
45
|
+
return /* @__PURE__ */ e(X, { container: s ?? l ?? void 0, children: /* @__PURE__ */ e(
|
|
46
46
|
q,
|
|
47
47
|
{
|
|
48
48
|
className: "",
|
|
49
|
-
align:
|
|
49
|
+
align: n,
|
|
50
50
|
sideOffset: r,
|
|
51
|
-
alignOffset:
|
|
51
|
+
alignOffset: a,
|
|
52
52
|
side: c,
|
|
53
|
-
children: /* @__PURE__ */
|
|
53
|
+
children: /* @__PURE__ */ e(
|
|
54
54
|
B,
|
|
55
55
|
{
|
|
56
|
-
className:
|
|
56
|
+
className: i(
|
|
57
57
|
"flex flex-col",
|
|
58
58
|
// flexbox layout for sticky input + scrollable list
|
|
59
59
|
"max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5",
|
|
@@ -63,7 +63,7 @@ function v({
|
|
|
63
63
|
// border part
|
|
64
64
|
t
|
|
65
65
|
),
|
|
66
|
-
children:
|
|
66
|
+
children: o
|
|
67
67
|
}
|
|
68
68
|
)
|
|
69
69
|
}
|
|
@@ -76,30 +76,30 @@ const J = {
|
|
|
76
76
|
lg: { padding: "pr-10", iconSize: 18, iconRight: "right-3" }
|
|
77
77
|
};
|
|
78
78
|
function z({
|
|
79
|
-
className:
|
|
79
|
+
className: o,
|
|
80
80
|
...t
|
|
81
81
|
}) {
|
|
82
|
-
const
|
|
82
|
+
const n = u(g), r = J[n];
|
|
83
83
|
return /* @__PURE__ */ m(
|
|
84
84
|
C,
|
|
85
85
|
{
|
|
86
|
-
className:
|
|
87
|
-
p({ size:
|
|
86
|
+
className: i(
|
|
87
|
+
p({ size: n }),
|
|
88
88
|
"relative flex items-center",
|
|
89
89
|
"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
|
|
90
90
|
r.padding,
|
|
91
|
-
|
|
91
|
+
o
|
|
92
92
|
),
|
|
93
93
|
children: [
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ e(f, { children: t.children }),
|
|
95
|
+
/* @__PURE__ */ e(
|
|
96
96
|
N,
|
|
97
97
|
{
|
|
98
|
-
className:
|
|
98
|
+
className: i(
|
|
99
99
|
"absolute top-1/2 -translate-y-1/2 flex items-center text-kumo-subtle",
|
|
100
100
|
r.iconRight
|
|
101
101
|
),
|
|
102
|
-
children: /* @__PURE__ */
|
|
102
|
+
children: /* @__PURE__ */ e(x, { size: r.iconSize, className: "fill-current" })
|
|
103
103
|
}
|
|
104
104
|
)
|
|
105
105
|
]
|
|
@@ -132,139 +132,150 @@ const Q = {
|
|
|
132
132
|
caretRight: "right-3"
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
|
-
function R(
|
|
136
|
-
|
|
135
|
+
function R({
|
|
136
|
+
clearLabel: o = "Clear selection",
|
|
137
|
+
showOptionsLabel: t = "Show options",
|
|
138
|
+
...n
|
|
139
|
+
}) {
|
|
140
|
+
const r = u(g), a = Q[r];
|
|
137
141
|
return /* @__PURE__ */ m(
|
|
138
142
|
"div",
|
|
139
143
|
{
|
|
140
|
-
className:
|
|
144
|
+
className: i(
|
|
141
145
|
"relative inline-block w-full max-w-xs",
|
|
142
146
|
"has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed",
|
|
143
|
-
|
|
147
|
+
n.className
|
|
144
148
|
),
|
|
145
149
|
children: [
|
|
146
|
-
/* @__PURE__ */
|
|
150
|
+
/* @__PURE__ */ e(
|
|
147
151
|
b,
|
|
148
152
|
{
|
|
149
|
-
...
|
|
150
|
-
className:
|
|
151
|
-
p({ size:
|
|
153
|
+
...n,
|
|
154
|
+
className: i(
|
|
155
|
+
p({ size: r }),
|
|
152
156
|
"w-full",
|
|
153
|
-
|
|
157
|
+
a.padding,
|
|
154
158
|
"disabled:cursor-not-allowed"
|
|
155
159
|
)
|
|
156
160
|
}
|
|
157
161
|
),
|
|
158
|
-
/* @__PURE__ */
|
|
162
|
+
/* @__PURE__ */ e(
|
|
159
163
|
H,
|
|
160
164
|
{
|
|
161
|
-
|
|
165
|
+
"aria-label": o,
|
|
166
|
+
className: i(
|
|
162
167
|
"absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0",
|
|
163
168
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-0",
|
|
164
|
-
|
|
169
|
+
a.clearRight
|
|
165
170
|
),
|
|
166
|
-
children: /* @__PURE__ */
|
|
171
|
+
children: /* @__PURE__ */ e(h, { size: a.iconSize })
|
|
167
172
|
}
|
|
168
173
|
),
|
|
169
|
-
/* @__PURE__ */
|
|
170
|
-
|
|
174
|
+
/* @__PURE__ */ e(
|
|
175
|
+
C,
|
|
171
176
|
{
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
177
|
+
"aria-label": t,
|
|
178
|
+
className: i(
|
|
179
|
+
"absolute top-1/2 -translate-y-1/2 flex items-center justify-center cursor-pointer text-kumo-subtle",
|
|
180
|
+
"m-0 bg-transparent p-0",
|
|
181
|
+
// Reset Stratus global button styles
|
|
182
|
+
a.caretRight
|
|
175
183
|
),
|
|
176
|
-
children: /* @__PURE__ */
|
|
184
|
+
children: /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(x, { size: a.iconSize, className: "fill-current" }) })
|
|
177
185
|
}
|
|
178
|
-
)
|
|
186
|
+
)
|
|
179
187
|
]
|
|
180
188
|
}
|
|
181
189
|
);
|
|
182
190
|
}
|
|
183
|
-
function
|
|
191
|
+
function w({ children: o, ...t }) {
|
|
184
192
|
return /* @__PURE__ */ m(
|
|
185
193
|
K,
|
|
186
194
|
{
|
|
187
195
|
...t,
|
|
188
196
|
className: "group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-tint",
|
|
189
197
|
children: [
|
|
190
|
-
/* @__PURE__ */
|
|
191
|
-
/* @__PURE__ */
|
|
198
|
+
/* @__PURE__ */ e("div", { className: "col-start-1", children: o }),
|
|
199
|
+
/* @__PURE__ */ e(O, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ e(S, {}) })
|
|
192
200
|
]
|
|
193
201
|
}
|
|
194
202
|
);
|
|
195
203
|
}
|
|
196
|
-
function Y(
|
|
197
|
-
return /* @__PURE__ */
|
|
204
|
+
function Y(o) {
|
|
205
|
+
return /* @__PURE__ */ e(
|
|
198
206
|
E,
|
|
199
207
|
{
|
|
200
|
-
...
|
|
201
|
-
className:
|
|
208
|
+
...o,
|
|
209
|
+
className: i(
|
|
202
210
|
"mx-1.5 shrink-0 px-4 py-2 text-[0.925rem] leading-4 text-kumo-subtle empty:m-0 empty:p-0"
|
|
203
211
|
),
|
|
204
|
-
children:
|
|
212
|
+
children: o.children ?? "No labels found."
|
|
205
213
|
}
|
|
206
214
|
);
|
|
207
215
|
}
|
|
208
|
-
function Z(
|
|
209
|
-
return /* @__PURE__ */
|
|
216
|
+
function Z(o) {
|
|
217
|
+
return /* @__PURE__ */ e(
|
|
210
218
|
b,
|
|
211
219
|
{
|
|
212
|
-
...
|
|
213
|
-
className:
|
|
220
|
+
...o,
|
|
221
|
+
className: i(
|
|
214
222
|
p(),
|
|
215
223
|
"mx-1.5 w-[calc(100%-0.75rem)] shrink-0 first:mb-2",
|
|
216
|
-
|
|
224
|
+
o.className
|
|
217
225
|
)
|
|
218
226
|
}
|
|
219
227
|
);
|
|
220
228
|
}
|
|
221
229
|
function $({
|
|
222
|
-
className:
|
|
230
|
+
className: o,
|
|
223
231
|
...t
|
|
224
232
|
}) {
|
|
225
|
-
return /* @__PURE__ */
|
|
233
|
+
return /* @__PURE__ */ e(
|
|
226
234
|
F,
|
|
227
235
|
{
|
|
228
236
|
...t,
|
|
229
|
-
className:
|
|
237
|
+
className: i(
|
|
230
238
|
"min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2",
|
|
231
|
-
|
|
239
|
+
o
|
|
232
240
|
)
|
|
233
241
|
}
|
|
234
242
|
);
|
|
235
243
|
}
|
|
236
|
-
function ee(
|
|
237
|
-
return /* @__PURE__ */
|
|
244
|
+
function ee(o) {
|
|
245
|
+
return /* @__PURE__ */ e(
|
|
238
246
|
A,
|
|
239
247
|
{
|
|
240
|
-
...
|
|
241
|
-
className:
|
|
248
|
+
...o,
|
|
249
|
+
className: i(
|
|
242
250
|
"mx-1.5 px-2 py-1.5 text-sm text-kumo-strong",
|
|
243
|
-
|
|
251
|
+
o.className
|
|
244
252
|
)
|
|
245
253
|
}
|
|
246
254
|
);
|
|
247
255
|
}
|
|
248
|
-
function oe(
|
|
249
|
-
return /* @__PURE__ */
|
|
256
|
+
function oe(o) {
|
|
257
|
+
return /* @__PURE__ */ e(
|
|
250
258
|
_,
|
|
251
259
|
{
|
|
252
|
-
...
|
|
253
|
-
className: "border-t border-kumo-
|
|
260
|
+
...o,
|
|
261
|
+
className: "border-t border-kumo-hairline mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0"
|
|
254
262
|
}
|
|
255
263
|
);
|
|
256
264
|
}
|
|
257
|
-
function
|
|
265
|
+
function I({
|
|
266
|
+
removeLabel: o = "Remove",
|
|
267
|
+
...t
|
|
268
|
+
}) {
|
|
258
269
|
return /* @__PURE__ */ m(
|
|
259
270
|
U,
|
|
260
271
|
{
|
|
261
|
-
...
|
|
262
|
-
className:
|
|
272
|
+
...t,
|
|
273
|
+
className: i(
|
|
263
274
|
"flex items-center gap-2.5",
|
|
264
275
|
// Layout
|
|
265
276
|
"h-6 pl-2 pr-[3px]",
|
|
266
277
|
// Dimensions
|
|
267
|
-
"rounded-sm ring-1 ring-kumo-
|
|
278
|
+
"rounded-sm ring-1 ring-kumo-hairline",
|
|
268
279
|
// Border
|
|
269
280
|
"bg-kumo-overlay",
|
|
270
281
|
// Background
|
|
@@ -272,15 +283,16 @@ function w(e) {
|
|
|
272
283
|
// Typography
|
|
273
284
|
),
|
|
274
285
|
children: [
|
|
275
|
-
|
|
276
|
-
/* @__PURE__ */
|
|
286
|
+
t.children,
|
|
287
|
+
/* @__PURE__ */ e(
|
|
277
288
|
W,
|
|
278
289
|
{
|
|
279
|
-
|
|
290
|
+
"aria-label": o,
|
|
291
|
+
className: i(
|
|
280
292
|
"cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover",
|
|
281
293
|
"bg-transparent flex"
|
|
282
294
|
),
|
|
283
|
-
children: /* @__PURE__ */
|
|
295
|
+
children: /* @__PURE__ */ e(h, { size: 10 })
|
|
284
296
|
}
|
|
285
297
|
)
|
|
286
298
|
]
|
|
@@ -294,40 +306,40 @@ const te = {
|
|
|
294
306
|
lg: "min-h-10"
|
|
295
307
|
};
|
|
296
308
|
function k({
|
|
297
|
-
placeholder:
|
|
309
|
+
placeholder: o,
|
|
298
310
|
renderItem: t,
|
|
299
|
-
className:
|
|
311
|
+
className: n,
|
|
300
312
|
inputSide: r = "right",
|
|
301
|
-
value:
|
|
313
|
+
value: a
|
|
302
314
|
}) {
|
|
303
|
-
const c = u(g), s =
|
|
315
|
+
const c = u(g), s = a;
|
|
304
316
|
return /* @__PURE__ */ m(
|
|
305
317
|
D,
|
|
306
318
|
{
|
|
307
|
-
className:
|
|
319
|
+
className: i(
|
|
308
320
|
p({ size: c }),
|
|
309
321
|
"flex flex-col",
|
|
310
322
|
"gap-1 py-1 px-1.5",
|
|
311
323
|
te[c],
|
|
312
324
|
"h-auto",
|
|
313
325
|
"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
|
|
314
|
-
|
|
326
|
+
n
|
|
315
327
|
),
|
|
316
328
|
children: [
|
|
317
|
-
r === "top" && /* @__PURE__ */
|
|
329
|
+
r === "top" && /* @__PURE__ */ e(
|
|
318
330
|
b,
|
|
319
331
|
{
|
|
320
|
-
placeholder:
|
|
332
|
+
placeholder: o,
|
|
321
333
|
className: "w-full px-2 py-1 border-0 bg-inherit"
|
|
322
334
|
}
|
|
323
335
|
),
|
|
324
336
|
/* @__PURE__ */ m("div", { className: "flex items-center flex-wrap gap-1.5 flex-1", children: [
|
|
325
337
|
s !== void 0 && s.length > 0 && s.map((l) => t(l)),
|
|
326
|
-
/* @__PURE__ */
|
|
327
|
-
r === "right" && /* @__PURE__ */
|
|
338
|
+
/* @__PURE__ */ e(f, { children: (l) => s !== void 0 ? null : /* @__PURE__ */ e(P, { children: l.map((d) => t(d)) }) }),
|
|
339
|
+
r === "right" && /* @__PURE__ */ e(
|
|
328
340
|
b,
|
|
329
341
|
{
|
|
330
|
-
placeholder:
|
|
342
|
+
placeholder: o,
|
|
331
343
|
className: "min-w-[100px] flex-1 px-2 py-1 border-0 bg-inherit"
|
|
332
344
|
}
|
|
333
345
|
)
|
|
@@ -340,8 +352,8 @@ y.displayName = "Combobox.Root";
|
|
|
340
352
|
v.displayName = "Combobox.Content";
|
|
341
353
|
z.displayName = "Combobox.TriggerValue";
|
|
342
354
|
R.displayName = "Combobox.TriggerInput";
|
|
343
|
-
|
|
344
|
-
|
|
355
|
+
w.displayName = "Combobox.Item";
|
|
356
|
+
I.displayName = "Combobox.Chip";
|
|
345
357
|
k.displayName = "Combobox.TriggerMultipleWithInput";
|
|
346
358
|
const de = Object.assign(y, {
|
|
347
359
|
// Helper components
|
|
@@ -350,8 +362,8 @@ const de = Object.assign(y, {
|
|
|
350
362
|
TriggerInput: R,
|
|
351
363
|
TriggerMultipleWithInput: k,
|
|
352
364
|
// Slightly modified BaseUI
|
|
353
|
-
Chip:
|
|
354
|
-
Item:
|
|
365
|
+
Chip: I,
|
|
366
|
+
Item: w,
|
|
355
367
|
// Styled BaseUI
|
|
356
368
|
Input: Z,
|
|
357
369
|
Empty: Y,
|
|
@@ -365,4 +377,4 @@ const de = Object.assign(y, {
|
|
|
365
377
|
export {
|
|
366
378
|
de as C
|
|
367
379
|
};
|
|
368
|
-
//# sourceMappingURL=combobox-
|
|
380
|
+
//# sourceMappingURL=combobox-eaowwt1xr4d23gsn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-eaowwt1xr4d23gsn.js","sources":["../../src/components/combobox/combobox.tsx"],"sourcesContent":["import { Combobox as ComboboxBase } from \"@base-ui/react/combobox\";\nimport { CaretDownIcon, CheckIcon, XIcon } from \"@phosphor-icons/react\";\nimport {\n Fragment,\n createContext,\n useContext,\n type PropsWithChildren,\n type ReactNode,\n} from \"react\";\nimport {\n inputVariants,\n KUMO_INPUT_VARIANTS,\n type KumoInputSize,\n} from \"../input/input\";\nimport { cn } from \"../../utils/cn\";\nimport { Field, type FieldErrorMatch } from \"../field/field\";\nimport {\n usePortalContainer,\n type PortalContainer,\n} from \"../../utils/portal-provider\";\n\n/** Combobox variant definitions. */\nexport const KUMO_COMBOBOX_VARIANTS = {\n size: KUMO_INPUT_VARIANTS.size,\n inputSide: {\n right: {\n classes: \"\",\n description: \"Input positioned inline to the right of chips\",\n },\n top: {\n classes: \"\",\n description: \"Input positioned above chips\",\n },\n },\n} as const;\n\nexport const KUMO_COMBOBOX_DEFAULT_VARIANTS = {\n size: \"base\",\n inputSide: \"right\",\n} as const;\n\n// Context to pass size down to sub-components\nconst ComboboxSizeContext = createContext<KumoInputSize>(\"base\");\n\n// Derived types from KUMO_COMBOBOX_VARIANTS\nexport type KumoComboboxSize = keyof typeof KUMO_COMBOBOX_VARIANTS.size;\nexport type KumoComboboxInputSide =\n keyof typeof KUMO_COMBOBOX_VARIANTS.inputSide;\n\nexport interface KumoComboboxVariantsProps {\n /**\n * Size of the combobox trigger. Matches Input component sizes.\n * - `\"xs\"` — Extra small for compact UIs (h-5 / 20px)\n * - `\"sm\"` — Small for secondary fields (h-6.5 / 26px)\n * - `\"base\"` — Default size (h-9 / 36px)\n * - `\"lg\"` — Large for prominent fields (h-10 / 40px)\n * @default \"base\"\n */\n size?: KumoComboboxSize;\n /**\n * Position of the text input relative to chips in multi-select mode.\n * - `\"right\"` — Input inline to the right of chips\n * - `\"top\"` — Input above chips\n * @default \"right\"\n */\n inputSide?: KumoComboboxInputSide;\n}\n\nexport function comboboxVariants({\n inputSide = KUMO_COMBOBOX_DEFAULT_VARIANTS.inputSide,\n}: KumoComboboxVariantsProps = {}) {\n return cn(KUMO_COMBOBOX_VARIANTS.inputSide[inputSide].classes);\n}\n\n// Legacy type alias for backwards compatibility\nexport type ComboboxInputSide = KumoComboboxInputSide;\nexport type ComboboxSize = KumoComboboxSize;\n\nexport type ComboboxRootProps<\n Value = unknown,\n Multiple extends boolean | undefined = false,\n> = ComboboxBase.Root.Props<Value, Multiple>;\n\n/**\n * Combobox component props (simplified for documentation; the actual Root is generic).\n *\n * Combobox provides an autocomplete/typeahead input with a filterable dropdown.\n * Supports single-select, multi-select with chips, grouped items, and Field wrapper integration.\n *\n * @example\n * ```tsx\n * // Single-select with search input\n * <Combobox value={value} onValueChange={setValue} items={options}>\n * <Combobox.TriggerInput placeholder=\"Search…\" />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item.label}</Combobox.Item>}\n * </Combobox.List>\n * <Combobox.Empty>No results</Combobox.Empty>\n * </Combobox.Content>\n * </Combobox>\n *\n * // Multi-select with chips\n * <Combobox multiple items={options} label=\"Tags\">\n * <Combobox.TriggerMultipleWithInput\n * placeholder=\"Add tag…\"\n * renderItem={(item) => <Combobox.Chip value={item}>{item.label}</Combobox.Chip>}\n * />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item.label}</Combobox.Item>}\n * </Combobox.List>\n * </Combobox.Content>\n * </Combobox>\n * ```\n */\nexport interface ComboboxProps extends KumoComboboxVariantsProps {\n /** Array of items to display in the dropdown */\n items: unknown[];\n /** Currently selected value(s) */\n value?: unknown;\n /** Callback when selection changes */\n onValueChange?: (value: unknown) => void;\n /** Enable multi-select mode */\n multiple?: boolean;\n /** Combobox content (trigger, content, items) */\n children: ReactNode;\n /** Additional CSS classes */\n className?: string;\n /** Label content for the combobox (enables Field wrapper) - can be a string or any React node */\n label?: ReactNode;\n /** Whether the combobox is required */\n required?: boolean;\n /** Tooltip content to display next to the label via an info icon */\n labelTooltip?: ReactNode;\n /** Helper text displayed below the combobox */\n description?: ReactNode;\n /** Error message or validation error object */\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}\n\nfunction Root<Value, Multiple extends boolean | undefined = false>({\n label,\n required,\n labelTooltip,\n description,\n error,\n children,\n size = \"base\",\n ...props\n}: ComboboxBase.Root.Props<Value, Multiple> & {\n label?: ReactNode;\n required?: boolean;\n labelTooltip?: ReactNode;\n description?: ReactNode;\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n size?: KumoComboboxSize;\n}) {\n const comboboxControl = (\n <ComboboxSizeContext.Provider value={size}>\n <ComboboxBase.Root {...props}>{children}</ComboboxBase.Root>\n </ComboboxSizeContext.Provider>\n );\n\n // Render with Field wrapper if label, description, or error are provided\n if (label) {\n return (\n <Field\n label={label}\n required={required}\n labelTooltip={labelTooltip}\n description={description}\n error={\n error\n ? typeof error === \"string\"\n ? { message: error, match: true }\n : error\n : undefined\n }\n >\n {comboboxControl}\n </Field>\n );\n }\n\n // Render bare combobox without Field wrapper\n return comboboxControl;\n}\n\nfunction Content({\n children,\n className,\n align = \"start\",\n sideOffset = 4,\n alignOffset,\n side,\n container: containerProp,\n}: PropsWithChildren<{\n className?: string;\n align?: ComboboxBase.Positioner.Props[\"align\"];\n alignOffset?: ComboboxBase.Positioner.Props[\"alignOffset\"];\n side?: ComboboxBase.Positioner.Props[\"side\"];\n sideOffset?: ComboboxBase.Positioner.Props[\"sideOffset\"];\n /**\n * Container element for the portal. Use this to render the combobox inside\n * a Shadow DOM or custom container. Overrides `KumoPortalProvider` context.\n * @default document.body (or KumoPortalProvider container if set)\n */\n container?: PortalContainer;\n}>) {\n const contextContainer = usePortalContainer();\n const container = containerProp ?? contextContainer ?? undefined;\n\n return (\n <ComboboxBase.Portal container={container}>\n <ComboboxBase.Positioner\n className=\"\"\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n side={side}\n >\n <ComboboxBase.Popup\n className={cn(\n \"flex flex-col\", // flexbox layout for sticky input + scrollable list\n \"max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5\",\n \"bg-kumo-base text-kumo-default\", // background\n \"rounded-lg shadow-lg ring ring-kumo-line\", // border part\n className,\n )}\n >\n {children}\n </ComboboxBase.Popup>\n </ComboboxBase.Positioner>\n </ComboboxBase.Portal>\n );\n}\n\n// Size-dependent styles for TriggerValue icon\nconst triggerValueIconStyles: Record<\n KumoComboboxSize,\n { padding: string; iconSize: number; iconRight: string }\n> = {\n xs: { padding: \"pr-5\", iconSize: 12, iconRight: \"right-1\" },\n sm: { padding: \"pr-6\", iconSize: 14, iconRight: \"right-1.5\" },\n base: { padding: \"pr-8\", iconSize: 16, iconRight: \"right-2\" },\n lg: { padding: \"pr-10\", iconSize: 18, iconRight: \"right-3\" },\n};\n\nfunction TriggerValue({\n className,\n ...props\n}: ComboboxBase.Value.Props & { className?: string }) {\n const size = useContext(ComboboxSizeContext);\n const iconStyles = triggerValueIconStyles[size];\n\n return (\n <ComboboxBase.Trigger\n className={cn(\n inputVariants({ size }),\n \"relative flex items-center\",\n \"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed\",\n iconStyles.padding,\n className,\n )}\n >\n <ComboboxBase.Value>{props.children}</ComboboxBase.Value>\n <ComboboxBase.Icon\n className={cn(\n \"absolute top-1/2 -translate-y-1/2 flex items-center text-kumo-subtle\",\n iconStyles.iconRight,\n )}\n >\n <CaretDownIcon size={iconStyles.iconSize} className=\"fill-current\" />\n </ComboboxBase.Icon>\n </ComboboxBase.Trigger>\n );\n}\n\n// Size-dependent styles for TriggerInput icons\nconst triggerInputIconStyles: Record<\n KumoComboboxSize,\n { padding: string; iconSize: number; clearRight: string; caretRight: string }\n> = {\n xs: {\n padding: \"pr-7\",\n iconSize: 12,\n clearRight: \"right-5\",\n caretRight: \"right-1\",\n },\n sm: {\n padding: \"pr-9\",\n iconSize: 14,\n clearRight: \"right-6\",\n caretRight: \"right-1.5\",\n },\n base: {\n padding: \"pr-12\",\n iconSize: 16,\n clearRight: \"right-8\",\n caretRight: \"right-2\",\n },\n lg: {\n padding: \"pr-14\",\n iconSize: 18,\n clearRight: \"right-9\",\n caretRight: \"right-3\",\n },\n};\n\nfunction TriggerInput({\n clearLabel = \"Clear selection\",\n showOptionsLabel = \"Show options\",\n ...props\n}: ComboboxBase.Input.Props & {\n /** Accessible label for the clear button. Pass a translated string for i18n.\n * @default \"Clear selection\"\n */\n clearLabel?: string;\n /** Accessible label for the dropdown trigger. Pass a translated string for i18n.\n * @default \"Show options\"\n */\n showOptionsLabel?: string;\n}) {\n const size = useContext(ComboboxSizeContext);\n const iconStyles = triggerInputIconStyles[size];\n\n return (\n <div\n className={cn(\n \"relative inline-block w-full max-w-xs\",\n \"has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed\",\n props.className,\n )}\n >\n <ComboboxBase.Input\n {...props}\n className={cn(\n inputVariants({ size }),\n \"w-full\",\n iconStyles.padding,\n \"disabled:cursor-not-allowed\",\n )}\n />\n\n <ComboboxBase.Clear\n aria-label={clearLabel}\n className={cn(\n \"absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-0\",\n iconStyles.clearRight,\n )}\n >\n <XIcon size={iconStyles.iconSize} />\n </ComboboxBase.Clear>\n\n <ComboboxBase.Trigger\n aria-label={showOptionsLabel}\n className={cn(\n \"absolute top-1/2 -translate-y-1/2 flex items-center justify-center cursor-pointer text-kumo-subtle\",\n \"m-0 bg-transparent p-0\", // Reset Stratus global button styles\n iconStyles.caretRight,\n )}\n >\n <ComboboxBase.Icon>\n <CaretDownIcon size={iconStyles.iconSize} className=\"fill-current\" />\n </ComboboxBase.Icon>\n </ComboboxBase.Trigger>\n </div>\n );\n}\n\nfunction Item({ children, ...props }: ComboboxBase.Item.Props) {\n return (\n <ComboboxBase.Item\n {...props}\n className=\"group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-tint\"\n >\n <div className=\"col-start-1\">{children}</div>\n <ComboboxBase.ItemIndicator className=\"col-start-2 flex items-center\">\n <CheckIcon />\n </ComboboxBase.ItemIndicator>\n </ComboboxBase.Item>\n );\n}\n\nfunction Empty(props: ComboboxBase.Empty.Props) {\n return (\n <ComboboxBase.Empty\n {...props}\n className={cn(\n \"mx-1.5 shrink-0 px-4 py-2 text-[0.925rem] leading-4 text-kumo-subtle empty:m-0 empty:p-0\",\n )}\n children={props.children ?? \"No labels found.\"}\n />\n );\n}\n\nfunction Input(props: ComboboxBase.Input.Props) {\n return (\n <ComboboxBase.Input\n {...props}\n className={cn(\n inputVariants(),\n \"mx-1.5 w-[calc(100%-0.75rem)] shrink-0 first:mb-2\",\n props.className,\n )}\n />\n );\n}\n\nfunction List({\n className,\n ...props\n}: ComboboxBase.List.Props & { className?: string }) {\n return (\n <ComboboxBase.List\n {...props}\n className={cn(\n \"min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2\",\n className,\n )}\n />\n );\n}\n\nfunction GroupLabel(props: ComboboxBase.GroupLabel.Props) {\n return (\n <ComboboxBase.GroupLabel\n {...props}\n className={cn(\n \"mx-1.5 px-2 py-1.5 text-sm text-kumo-strong\",\n props.className,\n )}\n />\n );\n}\n\nfunction Group(props: ComboboxBase.Group.Props) {\n return (\n <ComboboxBase.Group\n {...props}\n className=\"border-t border-kumo-hairline mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0\"\n />\n );\n}\n\nfunction Chip({\n removeLabel = \"Remove\",\n ...props\n}: ComboboxBase.Chip.Props & {\n /** Accessible label for the chip remove button. Pass a translated string for i18n.\n * @default \"Remove\"\n */\n removeLabel?: string;\n}) {\n return (\n <ComboboxBase.Chip\n {...props}\n className={cn(\n \"flex items-center gap-2.5\", // Layout\n \"h-6 pl-2 pr-[3px]\", // Dimensions\n \"rounded-sm ring-1 ring-kumo-hairline\", // Border\n \"bg-kumo-overlay\", // Background\n \"text-sm\", // Typography\n )}\n >\n {props.children}\n <ComboboxBase.ChipRemove\n aria-label={removeLabel}\n className={cn(\n \"cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover\",\n \"bg-transparent flex\",\n )}\n >\n <XIcon size={10} />\n </ComboboxBase.ChipRemove>\n </ComboboxBase.Chip>\n );\n}\n\n// Map size to min-height class for TriggerMultipleWithInput\nconst sizeToMinHeight: Record<KumoComboboxSize, string> = {\n xs: \"min-h-5\",\n sm: \"min-h-6.5\",\n base: \"min-h-9\",\n lg: \"min-h-10\",\n};\n\nfunction TriggerMultipleWithInput<ValueType>({\n placeholder,\n renderItem,\n className,\n inputSide = \"right\",\n value: controlledValue,\n}: {\n placeholder?: string;\n renderItem: (value: ValueType) => React.ReactNode;\n className?: string;\n inputSide?: \"right\" | \"top\";\n /** Optional controlled value for rendering chips (use when pre-selecting values) */\n value?: ValueType[];\n}) {\n const size = useContext(ComboboxSizeContext);\n // Determine which value to use for rendering chips\n const chipsToRender = controlledValue;\n\n return (\n <ComboboxBase.Chips\n className={cn(\n inputVariants({ size }),\n \"flex flex-col\",\n \"gap-1 py-1 px-1.5\",\n sizeToMinHeight[size],\n \"h-auto\",\n \"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed\",\n className,\n )}\n >\n {inputSide === \"top\" && (\n <ComboboxBase.Input\n placeholder={placeholder}\n className=\"w-full px-2 py-1 border-0 bg-inherit\"\n />\n )}\n {/* Chips container */}\n <div className=\"flex items-center flex-wrap gap-1.5 flex-1\">\n {/* Render chips from controlled value if provided */}\n {chipsToRender !== undefined &&\n chipsToRender.length > 0 &&\n chipsToRender.map((item) => renderItem(item))}\n {/* Also render from BaseUI's internal value for user selections */}\n <ComboboxBase.Value>\n {(internalValue: ValueType[]) => {\n // Skip rendering if using controlled value (to avoid duplicates)\n if (chipsToRender !== undefined) return null;\n return (\n <Fragment>\n {internalValue.map((item) => renderItem(item))}\n </Fragment>\n );\n }}\n </ComboboxBase.Value>\n {inputSide === \"right\" && (\n <ComboboxBase.Input\n placeholder={placeholder}\n className=\"min-w-[100px] flex-1 px-2 py-1 border-0 bg-inherit\"\n />\n )}\n </div>\n </ComboboxBase.Chips>\n );\n}\n\nRoot.displayName = \"Combobox.Root\";\nContent.displayName = \"Combobox.Content\";\nTriggerValue.displayName = \"Combobox.TriggerValue\";\nTriggerInput.displayName = \"Combobox.TriggerInput\";\nItem.displayName = \"Combobox.Item\";\nChip.displayName = \"Combobox.Chip\";\nTriggerMultipleWithInput.displayName = \"Combobox.TriggerMultipleWithInput\";\n\n/**\n * Combobox — autocomplete input with filterable dropdown list.\n *\n * Compound component: `Combobox` (Root), `.TriggerInput`, `.TriggerValue`,\n * `.TriggerMultipleWithInput`, `.Content`, `.Item`, `.Chip`, `.Input`,\n * `.Empty`, `.GroupLabel`, `.Group`, `.List`, `.Collection`.\n *\n * @example\n * ```tsx\n * <Combobox items={fruits} label=\"Fruit\">\n * <Combobox.TriggerInput placeholder=\"Pick a fruit…\" />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item}</Combobox.Item>}\n * </Combobox.List>\n * </Combobox.Content>\n * </Combobox>\n * ```\n *\n * @see https://base-ui.com/react/components/combobox\n */\nexport const Combobox = Object.assign(Root, {\n // Helper components\n Content,\n TriggerValue,\n TriggerInput,\n TriggerMultipleWithInput,\n\n // Slightly modified BaseUI\n Chip,\n Item,\n\n // Styled BaseUI\n Input,\n Empty,\n GroupLabel,\n Group,\n\n // Styled BaseUI\n List,\n\n // BaseUI\n Collection: ComboboxBase.Collection,\n});\n"],"names":["KUMO_INPUT_VARIANTS","ComboboxSizeContext","createContext","Root","label","required","labelTooltip","description","error","children","size","props","comboboxControl","jsx","ComboboxBase.Root","Field","Content","className","align","sideOffset","alignOffset","side","containerProp","contextContainer","usePortalContainer","ComboboxBase.Portal","ComboboxBase.Positioner","ComboboxBase.Popup","cn","triggerValueIconStyles","TriggerValue","useContext","iconStyles","jsxs","ComboboxBase.Trigger","inputVariants","ComboboxBase.Value","ComboboxBase.Icon","CaretDownIcon","triggerInputIconStyles","TriggerInput","clearLabel","showOptionsLabel","ComboboxBase.Input","ComboboxBase.Clear","XIcon","Item","ComboboxBase.Item","ComboboxBase.ItemIndicator","CheckIcon","Empty","ComboboxBase.Empty","Input","List","ComboboxBase.List","GroupLabel","ComboboxBase.GroupLabel","Group","ComboboxBase.Group","Chip","removeLabel","ComboboxBase.Chip","ComboboxBase.ChipRemove","sizeToMinHeight","TriggerMultipleWithInput","placeholder","renderItem","inputSide","controlledValue","chipsToRender","ComboboxBase.Chips","item","internalValue","Fragment","Combobox","ComboboxBase.Collection"],"mappings":"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"}
|
package/dist/chunks/{command-palette-kenx2bbdzd4kpx36.js → command-palette-maqtbmpfev9mysqd.js}
RENAMED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import { jsx as e, jsxs as g, Fragment as E } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef as K, useContext as N, createContext as v, useCallback as b, useRef as T } from "react";
|
|
4
4
|
import { CaretRightIcon as M, ArrowSquareOutIcon as H, ArrowRightIcon as _, MagnifyingGlassIcon as F } from "@phosphor-icons/react";
|
|
5
|
-
import {
|
|
6
|
-
import { L as j } from "./loader-
|
|
5
|
+
import { L as G } from "./layer-card-ljqth3yxgnk04v2o.js";
|
|
6
|
+
import { L as j } from "./loader-hr2w7cpqeev3p3vl.js";
|
|
7
7
|
import { c as m } from "./cn-ct4n7r74mh8y0f48.js";
|
|
8
8
|
import { u as U } from "./portal-provider-hwmkdmkpvct0cb76.js";
|
|
9
|
-
import { a5 as O, a7 as V, aa as $, ac as w, a9 as q, a8 as z, ab as B,
|
|
9
|
+
import { a5 as O, a7 as V, aa as $, ac as w, a9 as q, a8 as z, ab as B, bp as J, ap as Q, au as W, av as X, aw as Y } from "./vendor-base-ui-m5pz3e8c4grg5qmj.js";
|
|
10
10
|
const C = v({});
|
|
11
11
|
function I({
|
|
12
12
|
open: t,
|
|
@@ -20,9 +20,9 @@ function I({
|
|
|
20
20
|
}, a = b(() => {
|
|
21
21
|
n(!1);
|
|
22
22
|
}, [n]);
|
|
23
|
-
return /* @__PURE__ */ e(
|
|
23
|
+
return /* @__PURE__ */ e(Q, { open: t, onOpenChange: n, modal: !0, children: /* @__PURE__ */ g(W, { container: d, children: [
|
|
24
24
|
/* @__PURE__ */ e(
|
|
25
|
-
|
|
25
|
+
X,
|
|
26
26
|
{
|
|
27
27
|
className: "fixed inset-0 bg-kumo-overlay opacity-80 transition-all duration-150 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0",
|
|
28
28
|
onClick: r
|
|
@@ -31,7 +31,7 @@ function I({
|
|
|
31
31
|
/* @__PURE__ */ e(
|
|
32
32
|
G,
|
|
33
33
|
{
|
|
34
|
-
render: /* @__PURE__ */ e(
|
|
34
|
+
render: /* @__PURE__ */ e(Y, {}),
|
|
35
35
|
className: m(
|
|
36
36
|
"fixed top-[10vh] left-1/2 w-full max-w-2xl -translate-x-1/2",
|
|
37
37
|
"overflow-hidden rounded-lg",
|
|
@@ -46,7 +46,7 @@ function I({
|
|
|
46
46
|
)
|
|
47
47
|
] }) });
|
|
48
48
|
}
|
|
49
|
-
function
|
|
49
|
+
function Z({
|
|
50
50
|
open: t,
|
|
51
51
|
onOpenChange: n,
|
|
52
52
|
onBackdropClick: o,
|
|
@@ -69,7 +69,7 @@ function Y({
|
|
|
69
69
|
onBackdropClick: o,
|
|
70
70
|
container: h,
|
|
71
71
|
children: /* @__PURE__ */ e(
|
|
72
|
-
|
|
72
|
+
P,
|
|
73
73
|
{
|
|
74
74
|
items: s,
|
|
75
75
|
value: u,
|
|
@@ -86,7 +86,7 @@ function Y({
|
|
|
86
86
|
}
|
|
87
87
|
);
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function S({
|
|
90
90
|
children: t,
|
|
91
91
|
leading: n,
|
|
92
92
|
trailing: o
|
|
@@ -109,7 +109,7 @@ const D = K(function({ children: n, className: o }, i) {
|
|
|
109
109
|
{
|
|
110
110
|
ref: i,
|
|
111
111
|
className: m(
|
|
112
|
-
"min-h-0 flex-1 overflow-y-auto rounded-b-lg bg-kumo-base px-2 py-2 ring-1 ring-kumo-
|
|
112
|
+
"min-h-0 flex-1 overflow-y-auto rounded-b-lg bg-kumo-base px-2 py-2 ring-1 ring-kumo-hairline",
|
|
113
113
|
o
|
|
114
114
|
),
|
|
115
115
|
children: n
|
|
@@ -276,8 +276,8 @@ function le({
|
|
|
276
276
|
}
|
|
277
277
|
);
|
|
278
278
|
}
|
|
279
|
-
const
|
|
280
|
-
function
|
|
279
|
+
const L = v({}), ie = () => !0;
|
|
280
|
+
function P({
|
|
281
281
|
children: t,
|
|
282
282
|
items: n,
|
|
283
283
|
value: o,
|
|
@@ -295,7 +295,7 @@ function A({
|
|
|
295
295
|
f.current = x.index, s?.(p, x);
|
|
296
296
|
},
|
|
297
297
|
[s]
|
|
298
|
-
),
|
|
298
|
+
), A = b(
|
|
299
299
|
(p) => {
|
|
300
300
|
const x = p.key === "Enter", R = p.metaKey || p.ctrlKey;
|
|
301
301
|
if (x && R && c && l) {
|
|
@@ -306,7 +306,7 @@ function A({
|
|
|
306
306
|
[n, c, l]
|
|
307
307
|
);
|
|
308
308
|
return /* @__PURE__ */ e(le, { className: a, children: /* @__PURE__ */ e(
|
|
309
|
-
|
|
309
|
+
J,
|
|
310
310
|
{
|
|
311
311
|
items: n,
|
|
312
312
|
value: o,
|
|
@@ -317,7 +317,7 @@ function A({
|
|
|
317
317
|
autoHighlight: "always",
|
|
318
318
|
keepHighlight: !0,
|
|
319
319
|
open: r,
|
|
320
|
-
children: /* @__PURE__ */ e(
|
|
320
|
+
children: /* @__PURE__ */ e(L.Provider, { value: { onInputKeyDown: A }, children: t })
|
|
321
321
|
}
|
|
322
322
|
) });
|
|
323
323
|
}
|
|
@@ -330,7 +330,7 @@ function ce({
|
|
|
330
330
|
trailing: u,
|
|
331
331
|
...d
|
|
332
332
|
}) {
|
|
333
|
-
const { onInputKeyDown: r } = N(
|
|
333
|
+
const { onInputKeyDown: r } = N(L), { onClose: a } = N(C), c = b(
|
|
334
334
|
(l) => {
|
|
335
335
|
if (i?.(l), !l.defaultPrevented) {
|
|
336
336
|
if (l.key === "Escape" && a) {
|
|
@@ -342,7 +342,7 @@ function ce({
|
|
|
342
342
|
},
|
|
343
343
|
[r, i, a]
|
|
344
344
|
);
|
|
345
|
-
return /* @__PURE__ */ e(
|
|
345
|
+
return /* @__PURE__ */ e(S, { leading: s, trailing: u, children: /* @__PURE__ */ e(
|
|
346
346
|
B,
|
|
347
347
|
{
|
|
348
348
|
placeholder: n,
|
|
@@ -367,9 +367,9 @@ const de = O, Ne = {}, ve = {}, we = {
|
|
|
367
367
|
/** Modal dialog wrapper - use with Panel for content that can swap */
|
|
368
368
|
Dialog: I,
|
|
369
369
|
/** Dialog + Panel combined - for simple single-view command palettes */
|
|
370
|
-
Root:
|
|
370
|
+
Root: Z,
|
|
371
371
|
/** Autocomplete panel without dialog - use inside Dialog for swappable content */
|
|
372
|
-
Panel:
|
|
372
|
+
Panel: P,
|
|
373
373
|
/** Input for use inside Panel */
|
|
374
374
|
Input: ce,
|
|
375
375
|
/** Scrollable results container */
|
|
@@ -400,4 +400,4 @@ export {
|
|
|
400
400
|
Ne as K,
|
|
401
401
|
ve as a
|
|
402
402
|
};
|
|
403
|
-
//# sourceMappingURL=command-palette-
|
|
403
|
+
//# sourceMappingURL=command-palette-maqtbmpfev9mysqd.js.map
|