@cloudflare/kumo 1.16.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/ai/USAGE.md +3 -1
- package/ai/component-registry.json +200 -59
- package/ai/component-registry.md +269 -33
- package/ai/schemas.ts +15 -5
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +101 -37
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +187 -174
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/{Legend-bov5dqf08wemc2qj.js → Legend-o0ntojbaplmszwk0.js} +4 -2
- package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +1 -0
- package/dist/chunks/badge-n80t3z8u9ttlxi20.js +120 -0
- package/dist/chunks/badge-n80t3z8u9ttlxi20.js.map +1 -0
- package/dist/chunks/banner-nz0eryqnz3qd86ln.js +79 -0
- package/dist/chunks/banner-nz0eryqnz3qd86ln.js.map +1 -0
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js → breadcrumbs-cjgn3w4drahvqnuj.js} +3 -3
- package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js.map → breadcrumbs-cjgn3w4drahvqnuj.js.map} +1 -1
- package/dist/chunks/{button-j0hi0afn33w9lxgi.js → button-odxi0hp4fvi5i2w3.js} +50 -48
- package/dist/chunks/button-odxi0hp4fvi5i2w3.js.map +1 -0
- package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js → checkbox-dx8x0rzv582yjv7n.js} +38 -47
- package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js.map → checkbox-dx8x0rzv582yjv7n.js.map} +1 -1
- package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-kyk51d1ze7zvdn4q.js} +55 -54
- package/dist/chunks/clipboard-text-kyk51d1ze7zvdn4q.js.map +1 -0
- package/dist/chunks/{combobox-ft0u7rfaxawk0r0c.js → combobox-9fhjzprab46csmon.js} +97 -82
- package/dist/chunks/combobox-9fhjzprab46csmon.js.map +1 -0
- package/dist/chunks/{command-palette-b31nq4wk7o7gx4sa.js → command-palette-kenx2bbdzd4kpx36.js} +158 -154
- package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +1 -0
- package/dist/chunks/{dialog-l5tmwxrzp9g83jmw.js → dialog-e05ysa8t2fklw065.js} +22 -20
- package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +1 -0
- package/dist/chunks/{dropdown-icy3xatdwhzr4une.js → dropdown-g587px7zv3ssaxr4.js} +96 -90
- package/dist/chunks/dropdown-g587px7zv3ssaxr4.js.map +1 -0
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js → empty-fuz1un7r7mbz0kim.js} +2 -2
- package/dist/chunks/{empty-hrwtammqp0b2nvtf.js.map → empty-fuz1un7r7mbz0kim.js.map} +1 -1
- package/dist/chunks/{field-csje72m7j9403fj5.js → field-fq504lyu7ttsh5m9.js} +3 -3
- package/dist/chunks/{field-csje72m7j9403fj5.js.map → field-fq504lyu7ttsh5m9.js.map} +1 -1
- package/dist/chunks/{input-area-jko15sbc6zeage3l.js → input-area-nq40szg9110on89c.js} +4 -4
- package/dist/chunks/{input-area-jko15sbc6zeage3l.js.map → input-area-nq40szg9110on89c.js.map} +1 -1
- package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js → input-group-hbebbyh8fo6aqydn.js} +3 -3
- package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js.map → input-group-hbebbyh8fo6aqydn.js.map} +1 -1
- package/dist/chunks/{input-c8jmidy7gdqfiky1.js → input-kvhyo3p4859bexvx.js} +4 -4
- package/dist/chunks/input-kvhyo3p4859bexvx.js.map +1 -0
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js → label-j9owppbgnn35mebg.js} +3 -3
- package/dist/chunks/{label-i46xnnzdh9bsxk6a.js.map → label-j9owppbgnn35mebg.js.map} +1 -1
- package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js → layer-card-l5yjvrxry1dhte57.js} +8 -8
- package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js.map → layer-card-l5yjvrxry1dhte57.js.map} +1 -1
- package/dist/chunks/{link-o7yfj4kwgl19fklp.js → link-hmmf3k1xn6rm72rt.js} +2 -2
- package/dist/chunks/{link-o7yfj4kwgl19fklp.js.map → link-hmmf3k1xn6rm72rt.js.map} +1 -1
- package/dist/chunks/{menubar-g1wqqjuyyfvsim83.js → menubar-abojnm0uwjuni8ok.js} +20 -20
- package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +1 -0
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js → meter-i84dte2f82qmvn7y.js} +2 -2
- package/dist/chunks/{meter-cqkrg5axjenbsuue.js.map → meter-i84dte2f82qmvn7y.js.map} +1 -1
- package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js → pagination-pbd7qqik97ac0l7m.js} +3 -3
- package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js.map → pagination-pbd7qqik97ac0l7m.js.map} +1 -1
- package/dist/chunks/{popover-jurf834u2uywluux.js → popover-i951xjcgezeqr4iv.js} +31 -28
- package/dist/chunks/popover-i951xjcgezeqr4iv.js.map +1 -0
- package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js +18 -0
- package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js.map +1 -0
- package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js → radio-l2vkcue40d84fmo1.js} +13 -16
- package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js.map → radio-l2vkcue40d84fmo1.js.map} +1 -1
- package/dist/chunks/{select-hnt87e3cfos48qql.js → select-paedwa3nlhpq82ua.js} +39 -37
- package/dist/chunks/select-paedwa3nlhpq82ua.js.map +1 -0
- package/dist/chunks/{sensitive-input-lvtccf3iqc06lj7b.js → sensitive-input-kznmknpp5h1grc6k.js} +97 -91
- package/dist/chunks/sensitive-input-kznmknpp5h1grc6k.js.map +1 -0
- package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js → sidebar-jepeq7gaf4issuw6.js} +3 -3
- package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js.map → sidebar-jepeq7gaf4issuw6.js.map} +1 -1
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
- package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
- package/dist/chunks/surface-blo81kgy9g0sexgm.js +36 -0
- package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +1 -0
- package/dist/chunks/{switch-fukrbip86khvqjn7.js → switch-i0zwcp3wq6vsxm1c.js} +64 -64
- package/dist/chunks/{switch-fukrbip86khvqjn7.js.map → switch-i0zwcp3wq6vsxm1c.js.map} +1 -1
- package/dist/chunks/table-nrcw19tlpduayukl.js +183 -0
- package/dist/chunks/table-nrcw19tlpduayukl.js.map +1 -0
- package/dist/chunks/tabs-bw92jb303zxw7w4f.js +92 -0
- package/dist/chunks/{tabs-n0t7iro7wr0pzgk2.js.map → tabs-bw92jb303zxw7w4f.js.map} +1 -1
- package/dist/chunks/{text-gzt92mlji1lug13d.js → text-nmyi1rkwdj37f30f.js} +24 -22
- package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +1 -0
- package/dist/chunks/{toast-r9ajsces7xp8l85w.js → toast-lrnwby56drs7vtae.js} +59 -57
- package/dist/chunks/toast-lrnwby56drs7vtae.js.map +1 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
- package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
- package/dist/chunks/{tooltip-hnc71tg4gz2gpcvc.js → tooltip-cit9ltlxfuhwctuj.js} +24 -21
- package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +1 -0
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js → vendor-base-ui-n30qblevnpk9cc5c.js} +42 -41
- package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js.map → vendor-base-ui-n30qblevnpk9cc5c.js.map} +1 -1
- package/dist/code/server.js +10 -9
- package/dist/code/server.js.map +1 -1
- package/dist/code.js +3 -2
- package/dist/code.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/chart.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/flow.js +5 -4
- package/dist/components/flow.js.map +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/loader.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/index.js +75 -73
- package/dist/index.js.map +1 -1
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/scripts/theme-generator/config.d.ts.map +1 -1
- package/dist/scripts/theme-generator/config.js +288 -24
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/code/provider.d.ts.map +1 -1
- package/dist/src/code/server.d.ts.map +1 -1
- package/dist/src/code/types.d.ts +1 -1
- package/dist/src/code/types.d.ts.map +1 -1
- package/dist/src/components/badge/badge.d.ts +95 -22
- package/dist/src/components/badge/badge.d.ts.map +1 -1
- package/dist/src/components/banner/banner.d.ts +2 -0
- package/dist/src/components/banner/banner.d.ts.map +1 -1
- package/dist/src/components/button/button.d.ts +2 -0
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/src/components/clipboard-text/clipboard-text.d.ts +2 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.d.ts +8 -1
- package/dist/src/components/combobox/combobox.d.ts.map +1 -1
- package/dist/src/components/command-palette/command-palette.d.ts +9 -2
- package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/src/components/command-palette/types.d.ts +7 -0
- package/dist/src/components/command-palette/types.d.ts.map +1 -1
- package/dist/src/components/dialog/dialog.d.ts +8 -1
- package/dist/src/components/dialog/dialog.d.ts.map +1 -1
- package/dist/src/components/dropdown/dropdown.d.ts +17 -2
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/src/components/flow/diagram.d.ts.map +1 -1
- package/dist/src/components/loader/skeleton-line.d.ts +2 -1
- package/dist/src/components/loader/skeleton-line.d.ts.map +1 -1
- package/dist/src/components/popover/popover.d.ts +8 -1
- package/dist/src/components/popover/popover.d.ts.map +1 -1
- package/dist/src/components/radio/radio.d.ts.map +1 -1
- package/dist/src/components/select/select.d.ts +8 -1
- package/dist/src/components/select/select.d.ts.map +1 -1
- package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
- package/dist/src/components/surface/surface.d.ts +23 -23
- package/dist/src/components/surface/surface.d.ts.map +1 -1
- package/dist/src/components/table/table.d.ts +34 -2
- package/dist/src/components/table/table.d.ts.map +1 -1
- package/dist/src/components/tabs/tabs.d.ts.map +1 -1
- package/dist/src/components/text/text.d.ts +5 -0
- package/dist/src/components/text/text.d.ts.map +1 -1
- package/dist/src/components/toast/toast.d.ts +16 -9
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts +11 -6
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/portal-provider.d.ts +56 -0
- package/dist/src/utils/portal-provider.d.ts.map +1 -0
- package/dist/styles/kumo-binding.css +49 -46
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-fedramp.css +3 -3
- package/dist/styles/theme-kumo.css +202 -22
- package/dist/utils.js +8 -6
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/scripts/theme-generator/config.ts +298 -24
- package/dist/chunks/Legend-bov5dqf08wemc2qj.js.map +0 -1
- package/dist/chunks/badge-mrshucy2530o70cq.js +0 -56
- package/dist/chunks/badge-mrshucy2530o70cq.js.map +0 -1
- package/dist/chunks/banner-vzdjbqsb6em7tmdk.js +0 -75
- package/dist/chunks/banner-vzdjbqsb6em7tmdk.js.map +0 -1
- package/dist/chunks/button-j0hi0afn33w9lxgi.js.map +0 -1
- package/dist/chunks/clipboard-text-ohx8kkpxisz382rj.js.map +0 -1
- package/dist/chunks/combobox-ft0u7rfaxawk0r0c.js.map +0 -1
- package/dist/chunks/command-palette-b31nq4wk7o7gx4sa.js.map +0 -1
- package/dist/chunks/dialog-l5tmwxrzp9g83jmw.js.map +0 -1
- package/dist/chunks/dropdown-icy3xatdwhzr4une.js.map +0 -1
- package/dist/chunks/input-c8jmidy7gdqfiky1.js.map +0 -1
- package/dist/chunks/menubar-g1wqqjuyyfvsim83.js.map +0 -1
- package/dist/chunks/popover-jurf834u2uywluux.js.map +0 -1
- package/dist/chunks/select-hnt87e3cfos48qql.js.map +0 -1
- package/dist/chunks/sensitive-input-lvtccf3iqc06lj7b.js.map +0 -1
- package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js +0 -28
- package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js.map +0 -1
- package/dist/chunks/surface-dhshylwccuaz91d1.js +0 -21
- package/dist/chunks/surface-dhshylwccuaz91d1.js.map +0 -1
- package/dist/chunks/table-orfgzwvxh8yr90dk.js +0 -155
- package/dist/chunks/table-orfgzwvxh8yr90dk.js.map +0 -1
- package/dist/chunks/tabs-n0t7iro7wr0pzgk2.js +0 -86
- package/dist/chunks/text-gzt92mlji1lug13d.js.map +0 -1
- package/dist/chunks/toast-r9ajsces7xp8l85w.js.map +0 -1
- package/dist/chunks/tooltip-hnc71tg4gz2gpcvc.js.map +0 -1
package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-kyk51d1ze7zvdn4q.js}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import { CheckIcon as
|
|
4
|
-
import { forwardRef as
|
|
5
|
-
import { B as
|
|
6
|
-
import { i as
|
|
7
|
-
import { c as
|
|
8
|
-
import { U as
|
|
9
|
-
const h =
|
|
3
|
+
import { CheckIcon as R, CopyIcon as A } from "@phosphor-icons/react";
|
|
4
|
+
import { forwardRef as S, useState as P, useRef as _, useCallback as I } from "react";
|
|
5
|
+
import { B as O } from "./button-odxi0hp4fvi5i2w3.js";
|
|
6
|
+
import { i as M } from "./input-kvhyo3p4859bexvx.js";
|
|
7
|
+
import { c as s } from "./cn-ct4n7r74mh8y0f48.js";
|
|
8
|
+
import { U as V, V as j, W as B, X as U, Y as D, Z as E, _ as L, $ as X, a0 as K, a1 as W, a2 as F, a3 as Y, a4 as Z } from "./vendor-base-ui-n30qblevnpk9cc5c.js";
|
|
9
|
+
const h = V(), y = {
|
|
10
10
|
size: {
|
|
11
11
|
sm: {
|
|
12
12
|
classes: "text-xs",
|
|
@@ -24,7 +24,7 @@ const h = M(), y = {
|
|
|
24
24
|
description: "Large clipboard text for prominent display"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
},
|
|
27
|
+
}, v = {
|
|
28
28
|
size: "lg"
|
|
29
29
|
}, l = {
|
|
30
30
|
slide: {
|
|
@@ -33,56 +33,57 @@ const h = M(), y = {
|
|
|
33
33
|
end: "pointer-events-none absolute inset-0 flex items-center justify-center opacity-0 -translate-y-full"
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
size: t =
|
|
36
|
+
function $({
|
|
37
|
+
size: t = v.size
|
|
38
38
|
} = {}) {
|
|
39
|
-
return
|
|
39
|
+
return s(
|
|
40
40
|
// Base styles
|
|
41
41
|
"flex items-center overflow-hidden bg-kumo-base px-0 font-mono",
|
|
42
42
|
// Apply size styles from KUMO_CLIPBOARD_TEXT_VARIANTS
|
|
43
43
|
y.size[t].classes
|
|
44
44
|
);
|
|
45
45
|
}
|
|
46
|
-
function
|
|
47
|
-
const { toasts: t } =
|
|
48
|
-
return /* @__PURE__ */ e(
|
|
49
|
-
|
|
46
|
+
function q() {
|
|
47
|
+
const { toasts: t } = K();
|
|
48
|
+
return /* @__PURE__ */ e(W, { className: "pointer-events-none fixed inset-0 isolate", children: t.map((i) => /* @__PURE__ */ e(F, { toast: i, className: "absolute", children: /* @__PURE__ */ e(
|
|
49
|
+
Y,
|
|
50
50
|
{
|
|
51
|
-
toast:
|
|
52
|
-
className:
|
|
51
|
+
toast: i,
|
|
52
|
+
className: s(
|
|
53
53
|
"flex origin-[var(--transform-origin)] flex-col rounded-md bg-kumo-base px-3 py-1.5 text-xs text-kumo-default font-sans",
|
|
54
54
|
"shadow-lg shadow-kumo-tip-shadow outline outline-kumo-fill"
|
|
55
55
|
),
|
|
56
|
-
children: /* @__PURE__ */ e(
|
|
56
|
+
children: /* @__PURE__ */ e(Z, {})
|
|
57
57
|
}
|
|
58
|
-
) },
|
|
58
|
+
) }, i.id)) });
|
|
59
59
|
}
|
|
60
|
-
function
|
|
61
|
-
return /* @__PURE__ */ e(
|
|
62
|
-
/* @__PURE__ */ e(
|
|
60
|
+
function G({ children: t }) {
|
|
61
|
+
return /* @__PURE__ */ e(L, { children: /* @__PURE__ */ c(X, { toastManager: h, children: [
|
|
62
|
+
/* @__PURE__ */ e(q, {}),
|
|
63
63
|
t
|
|
64
64
|
] }) });
|
|
65
65
|
}
|
|
66
|
-
const
|
|
66
|
+
const H = S(
|
|
67
67
|
({
|
|
68
68
|
text: t,
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
textToCopy: i,
|
|
70
|
+
className: C,
|
|
71
|
+
size: m = v.size,
|
|
71
72
|
onCopy: f,
|
|
72
73
|
tooltip: n,
|
|
73
|
-
labels: { copyAction:
|
|
74
|
-
},
|
|
75
|
-
const [r, d] =
|
|
76
|
-
text:
|
|
74
|
+
labels: { copyAction: w = "Copy to clipboard" } = {}
|
|
75
|
+
}, z) => {
|
|
76
|
+
const [r, d] = P(!1), b = _(null), x = y.size[m], {
|
|
77
|
+
text: k = "Copy",
|
|
77
78
|
copiedText: p = "Copied",
|
|
78
79
|
side: u = "top"
|
|
79
|
-
} = n ?? {},
|
|
80
|
+
} = n ?? {}, N = I(async () => {
|
|
80
81
|
try {
|
|
81
82
|
if (typeof navigator < "u" && navigator.clipboard && typeof navigator.clipboard.writeText == "function")
|
|
82
|
-
await navigator.clipboard.writeText(t);
|
|
83
|
+
await navigator.clipboard.writeText(i ?? t);
|
|
83
84
|
else if (typeof document < "u") {
|
|
84
85
|
const o = document.createElement("textarea");
|
|
85
|
-
o.value = t, o.setAttribute("readonly", ""), o.style.position = "absolute", o.style.left = "-9999px", document.body.appendChild(o);
|
|
86
|
+
o.value = i ?? t, o.setAttribute("readonly", ""), o.style.position = "absolute", o.style.left = "-9999px", document.body.appendChild(o);
|
|
86
87
|
const a = document.getSelection(), T = a?.rangeCount ? a.getRangeAt(0) : null;
|
|
87
88
|
o.select();
|
|
88
89
|
try {
|
|
@@ -107,33 +108,33 @@ const G = A(
|
|
|
107
108
|
console.warn("Clipboard copy failed", o);
|
|
108
109
|
}
|
|
109
110
|
}, [t, f, n, p, u]), g = /* @__PURE__ */ c(
|
|
110
|
-
|
|
111
|
+
O,
|
|
111
112
|
{
|
|
112
113
|
ref: b,
|
|
113
114
|
size: x.buttonSize,
|
|
114
115
|
variant: "ghost",
|
|
115
116
|
className: "rounded-none border-l! border-kumo-line! px-3 relative overflow-hidden transition-all duration-200",
|
|
116
|
-
onClick:
|
|
117
|
-
"aria-label":
|
|
117
|
+
onClick: N,
|
|
118
|
+
"aria-label": w,
|
|
118
119
|
children: [
|
|
119
120
|
/* @__PURE__ */ e(
|
|
120
121
|
"span",
|
|
121
122
|
{
|
|
122
|
-
className:
|
|
123
|
+
className: s(
|
|
123
124
|
"flex items-center gap-1 transition-all duration-200",
|
|
124
125
|
r ? l.slide.animate : l.slide.initial
|
|
125
126
|
),
|
|
126
|
-
children: /* @__PURE__ */ e(
|
|
127
|
+
children: /* @__PURE__ */ e(R, {})
|
|
127
128
|
}
|
|
128
129
|
),
|
|
129
130
|
/* @__PURE__ */ e(
|
|
130
131
|
"span",
|
|
131
132
|
{
|
|
132
|
-
className:
|
|
133
|
+
className: s(
|
|
133
134
|
"flex items-center justify-center transition-all duration-200",
|
|
134
135
|
r ? l.slide.end : l.slide.animate
|
|
135
136
|
),
|
|
136
|
-
children: /* @__PURE__ */ e(
|
|
137
|
+
children: /* @__PURE__ */ e(A, {})
|
|
137
138
|
}
|
|
138
139
|
)
|
|
139
140
|
]
|
|
@@ -142,31 +143,31 @@ const G = A(
|
|
|
142
143
|
return /* @__PURE__ */ c(
|
|
143
144
|
"div",
|
|
144
145
|
{
|
|
145
|
-
ref:
|
|
146
|
-
className:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
ref: z,
|
|
147
|
+
className: s(
|
|
148
|
+
M({ size: x.buttonSize }),
|
|
149
|
+
$({ size: m }),
|
|
150
|
+
C
|
|
150
151
|
),
|
|
151
152
|
children: [
|
|
152
153
|
/* @__PURE__ */ e("span", { className: "grow truncate ps-4 pe-2", children: t }),
|
|
153
|
-
n ? /* @__PURE__ */ e(
|
|
154
|
-
|
|
154
|
+
n ? /* @__PURE__ */ e(G, { children: /* @__PURE__ */ c(
|
|
155
|
+
j,
|
|
155
156
|
{
|
|
156
157
|
disabled: r,
|
|
157
158
|
onOpenChange: (o, a) => {
|
|
158
159
|
a.reason === "trigger-press" && a.cancel();
|
|
159
160
|
},
|
|
160
161
|
children: [
|
|
161
|
-
/* @__PURE__ */ e(
|
|
162
|
-
/* @__PURE__ */ e(
|
|
163
|
-
|
|
162
|
+
/* @__PURE__ */ e(B, { render: g }),
|
|
163
|
+
/* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(D, { side: u, sideOffset: 8, children: /* @__PURE__ */ e(
|
|
164
|
+
E,
|
|
164
165
|
{
|
|
165
|
-
className:
|
|
166
|
+
className: s(
|
|
166
167
|
"flex origin-[var(--transform-origin)] flex-col rounded-md bg-kumo-base px-3 py-1.5 text-xs text-kumo-default",
|
|
167
168
|
"shadow-lg shadow-kumo-tip-shadow outline outline-kumo-fill"
|
|
168
169
|
),
|
|
169
|
-
children:
|
|
170
|
+
children: k
|
|
170
171
|
}
|
|
171
172
|
) }) })
|
|
172
173
|
]
|
|
@@ -178,8 +179,8 @@ const G = A(
|
|
|
178
179
|
);
|
|
179
180
|
}
|
|
180
181
|
);
|
|
181
|
-
|
|
182
|
+
H.displayName = "ClipboardText";
|
|
182
183
|
export {
|
|
183
|
-
|
|
184
|
+
H as C
|
|
184
185
|
};
|
|
185
|
-
//# sourceMappingURL=clipboard-text-
|
|
186
|
+
//# sourceMappingURL=clipboard-text-kyk51d1ze7zvdn4q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard-text-kyk51d1ze7zvdn4q.js","sources":["../../src/components/clipboard-text/clipboard-text.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from \"@phosphor-icons/react\";\nimport { forwardRef, useCallback, useRef, useState } from \"react\";\nimport { Toast } from \"@base-ui/react/toast\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport { Button } from \"../button\";\nimport { inputVariants } from \"../input\";\nimport { cn } from \"../../utils/cn\";\n\n// Create a toast manager for anchored \"Copied\" toasts\nconst clipboardToastManager = Toast.createToastManager();\n\n/** ClipboardText size variant definitions mapping sizes to their Tailwind classes. */\nexport const KUMO_CLIPBOARD_TEXT_VARIANTS = {\n size: {\n sm: {\n classes: \"text-xs\",\n buttonSize: \"sm\" as const,\n description: \"Small clipboard text for compact UIs\",\n },\n base: {\n classes: \"text-sm\",\n buttonSize: \"base\" as const,\n description: \"Default clipboard text size\",\n },\n lg: {\n classes: \"text-sm\",\n buttonSize: \"lg\" as const,\n description: \"Large clipboard text for prominent display\",\n },\n },\n} as const;\n\nexport const KUMO_CLIPBOARD_TEXT_DEFAULT_VARIANTS = {\n size: \"lg\",\n} as const;\n\nconst clipboardTextAnimations = {\n slide: {\n initial:\n \"pointer-events-none absolute inset-0 flex items-center justify-center opacity-0 translate-y-full\",\n animate: \"translate-y-0 opacity-100\",\n end: \"pointer-events-none absolute inset-0 flex items-center justify-center opacity-0 -translate-y-full\",\n },\n} as const;\n\n// Derived types from KUMO_CLIPBOARD_TEXT_VARIANTS\nexport type KumoClipboardTextSize =\n keyof typeof KUMO_CLIPBOARD_TEXT_VARIANTS.size;\n\nexport interface KumoClipboardTextVariantsProps {\n /**\n * Size of the clipboard text field.\n * - `\"sm\"` — Small clipboard text for compact UIs\n * - `\"base\"` — Default clipboard text size\n * - `\"lg\"` — Large clipboard text for prominent display\n * @default \"lg\"\n */\n size?: KumoClipboardTextSize;\n}\n\nexport function clipboardTextVariants({\n size = KUMO_CLIPBOARD_TEXT_DEFAULT_VARIANTS.size,\n}: KumoClipboardTextVariantsProps = {}) {\n return cn(\n // Base styles\n \"flex items-center overflow-hidden bg-kumo-base px-0 font-mono\",\n // Apply size styles from KUMO_CLIPBOARD_TEXT_VARIANTS\n KUMO_CLIPBOARD_TEXT_VARIANTS.size[size].classes,\n );\n}\n\n// Legacy type alias for backwards compatibility\nexport type ClipboardTextSize = KumoClipboardTextSize;\n\n/**\n * ClipboardText component props.\n *\n * @example\n * ```tsx\n * <ClipboardText text=\"sk_live_abc123\" />\n * <ClipboardText text=\"npm install @cloudflare/kumo\" size=\"sm\" />\n * ```\n */\nexport interface ClipboardTextProps extends KumoClipboardTextVariantsProps {\n /** The text to display and copy to clipboard. */\n text: string;\n /** If provided, this text will be copied to clipboard instead of the `text` prop. */\n textToCopy?: string;\n /** Additional CSS classes merged via `cn()`. */\n className?: string;\n /** Callback fired after text is copied to clipboard. */\n onCopy?: () => void;\n /**\n * Tooltip config. Shows tooltip on hover, anchored toast on click.\n * @example\n * ```tsx\n * <ClipboardText\n * text=\"abc123\"\n * tooltip={{ text: \"Copy\", copiedText: \"Copied!\", side: \"top\" }}\n * />\n * ```\n */\n tooltip?: {\n /** Text shown in tooltip on hover. @default \"Copy\" */\n text?: string;\n /** Text shown in toast after copying. @default \"Copied\" */\n copiedText?: string;\n /** Tooltip/toast placement. @default \"top\" */\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n };\n /** Accessible labels for i18n. */\n labels?: {\n /** @default \"Copy to clipboard\" */\n copyAction?: string;\n };\n}\n\n/**\n * Anchored toasts viewport - renders \"Copied\" toasts anchored to buttons\n */\nfunction AnchoredToasts() {\n const { toasts } = Toast.useToastManager();\n return (\n <Toast.Viewport className=\"pointer-events-none fixed inset-0 isolate\">\n {toasts.map((toast) => (\n <Toast.Positioner key={toast.id} toast={toast} className=\"absolute\">\n <Toast.Root\n toast={toast}\n className={cn(\n \"flex origin-[var(--transform-origin)] flex-col rounded-md bg-kumo-base px-3 py-1.5 text-xs text-kumo-default font-sans\",\n \"shadow-lg shadow-kumo-tip-shadow outline outline-kumo-fill\",\n )}\n >\n <Toast.Description />\n </Toast.Root>\n </Toast.Positioner>\n ))}\n </Toast.Viewport>\n );\n}\n\n/**\n * Internal wrapper that provides Toast context when tooltip is enabled.\n */\nfunction TooltipWrapper({ children }: { children: React.ReactNode }) {\n return (\n <Tooltip.Provider>\n <Toast.Provider toastManager={clipboardToastManager}>\n <AnchoredToasts />\n {children}\n </Toast.Provider>\n </Tooltip.Provider>\n );\n}\n\n/**\n * Read-only text field with a one-click copy-to-clipboard button.\n *\n * @example\n * ```tsx\n * <ClipboardText text=\"0c239dd2\" />\n * ```\n */\nexport const ClipboardText = forwardRef<HTMLDivElement, ClipboardTextProps>(\n (\n {\n text,\n textToCopy,\n className,\n size = KUMO_CLIPBOARD_TEXT_DEFAULT_VARIANTS.size,\n onCopy,\n tooltip,\n labels: { copyAction = \"Copy to clipboard\" } = {},\n },\n ref,\n ) => {\n const [copied, setCopied] = useState(false);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const sizeConfig = KUMO_CLIPBOARD_TEXT_VARIANTS.size[size];\n\n // Destructure tooltip config with defaults\n const {\n text: tooltipText = \"Copy\",\n copiedText = \"Copied\",\n side: tooltipSide = \"top\",\n } = tooltip ?? {};\n\n const copyToClipboard = useCallback(async () => {\n try {\n if (\n typeof navigator !== \"undefined\" &&\n navigator.clipboard &&\n typeof navigator.clipboard.writeText === \"function\"\n ) {\n await navigator.clipboard.writeText(textToCopy ?? text);\n } else if (typeof document !== \"undefined\") {\n // Fallback for older browsers\n const textarea = document.createElement(\"textarea\");\n textarea.value = textToCopy ?? text;\n textarea.setAttribute(\"readonly\", \"\");\n textarea.style.position = \"absolute\";\n textarea.style.left = \"-9999px\";\n document.body.appendChild(textarea);\n const selection = document.getSelection();\n const previousRange = selection?.rangeCount\n ? selection.getRangeAt(0)\n : null;\n textarea.select();\n try {\n document.execCommand(\"copy\");\n } finally {\n document.body.removeChild(textarea);\n if (previousRange) {\n selection?.removeAllRanges();\n selection?.addRange(previousRange);\n }\n }\n }\n\n setCopied(true);\n\n // Show anchored toast if tooltip mode is enabled\n if (tooltip) {\n clipboardToastManager.add({\n description: copiedText,\n positionerProps: {\n anchor: buttonRef.current,\n side: tooltipSide,\n sideOffset: 8,\n },\n timeout: 1500,\n onClose() {\n setCopied(false);\n },\n });\n } else {\n // Reset copied state after delay when no tooltip\n setTimeout(() => setCopied(false), 1500);\n }\n\n onCopy?.();\n } catch (error) {\n console.warn(\"Clipboard copy failed\", error);\n }\n }, [text, onCopy, tooltip, copiedText, tooltipSide]);\n\n const copyButton = (\n <Button\n ref={buttonRef}\n size={sizeConfig.buttonSize}\n variant=\"ghost\"\n className=\"rounded-none border-l! border-kumo-line! px-3 relative overflow-hidden transition-all duration-200\"\n onClick={copyToClipboard}\n aria-label={copyAction}\n >\n <span\n className={cn(\n \"flex items-center gap-1 transition-all duration-200\",\n copied\n ? clipboardTextAnimations.slide.animate\n : clipboardTextAnimations.slide.initial,\n )}\n >\n <CheckIcon />\n </span>\n <span\n className={cn(\n \"flex items-center justify-center transition-all duration-200\",\n copied\n ? clipboardTextAnimations.slide.end\n : clipboardTextAnimations.slide.animate,\n )}\n >\n <CopyIcon />\n </span>\n </Button>\n );\n\n return (\n <div\n ref={ref}\n className={cn(\n inputVariants({ size: sizeConfig.buttonSize }),\n clipboardTextVariants({ size }),\n className,\n )}\n >\n <span className=\"grow truncate ps-4 pe-2\">{text}</span>\n {tooltip ? (\n <TooltipWrapper>\n <Tooltip.Root\n disabled={copied}\n onOpenChange={(open, eventDetails) => {\n // Prevent tooltip from closing when button is clicked\n if (eventDetails.reason === \"trigger-press\") {\n eventDetails.cancel();\n }\n }}\n >\n <Tooltip.Trigger render={copyButton} />\n <Tooltip.Portal>\n <Tooltip.Positioner side={tooltipSide} sideOffset={8}>\n <Tooltip.Popup\n className={cn(\n \"flex origin-[var(--transform-origin)] flex-col rounded-md bg-kumo-base px-3 py-1.5 text-xs text-kumo-default\",\n \"shadow-lg shadow-kumo-tip-shadow outline outline-kumo-fill\",\n )}\n >\n {tooltipText}\n </Tooltip.Popup>\n </Tooltip.Positioner>\n </Tooltip.Portal>\n </Tooltip.Root>\n </TooltipWrapper>\n ) : (\n copyButton\n )}\n <span className=\"sr-only\" aria-live=\"polite\">\n {copied ? copiedText : \"\"}\n </span>\n </div>\n );\n },\n);\n\nClipboardText.displayName = \"ClipboardText\";\n"],"names":["clipboardToastManager","Toast.createToastManager","KUMO_CLIPBOARD_TEXT_VARIANTS","KUMO_CLIPBOARD_TEXT_DEFAULT_VARIANTS","clipboardTextAnimations","clipboardTextVariants","size","cn","AnchoredToasts","toasts","Toast.useToastManager","Toast.Viewport","toast","Toast.Positioner","jsx","Toast.Root","Toast.Description","TooltipWrapper","children","Tooltip.Provider","Toast.Provider","ClipboardText","forwardRef","text","textToCopy","className","onCopy","tooltip","copyAction","ref","copied","setCopied","useState","buttonRef","useRef","sizeConfig","tooltipText","copiedText","tooltipSide","copyToClipboard","useCallback","textarea","selection","previousRange","error","copyButton","jsxs","Button","CheckIcon","CopyIcon","inputVariants","Tooltip.Root","open","eventDetails","Tooltip.Trigger","Tooltip.Portal","Tooltip.Positioner","Tooltip.Popup"],"mappings":"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"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as o, jsxs as
|
|
3
|
-
import { CheckIcon as
|
|
4
|
-
import { createContext as T, useContext as u, Fragment as
|
|
5
|
-
import { i as p, K as
|
|
2
|
+
import { jsx as o, jsxs as m } from "react/jsx-runtime";
|
|
3
|
+
import { CheckIcon as S, XIcon as h, CaretDownIcon as x } from "@phosphor-icons/react";
|
|
4
|
+
import { createContext as T, useContext as u, Fragment as P } from "react";
|
|
5
|
+
import { i as p, K as V } from "./input-kvhyo3p4859bexvx.js";
|
|
6
6
|
import { c as a } from "./cn-ct4n7r74mh8y0f48.js";
|
|
7
|
-
import { F as j } from "./field-
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
import { F as j } from "./field-fq504lyu7ttsh5m9.js";
|
|
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-n30qblevnpk9cc5c.js";
|
|
10
|
+
V.size;
|
|
11
|
+
const g = T("base");
|
|
11
12
|
function y({
|
|
12
13
|
label: e,
|
|
13
14
|
required: t,
|
|
14
15
|
labelTooltip: i,
|
|
15
16
|
description: r,
|
|
16
17
|
error: n,
|
|
17
|
-
children:
|
|
18
|
-
size:
|
|
19
|
-
...
|
|
18
|
+
children: c,
|
|
19
|
+
size: s = "base",
|
|
20
|
+
...l
|
|
20
21
|
}) {
|
|
21
|
-
const
|
|
22
|
+
const d = /* @__PURE__ */ o(g.Provider, { value: s, children: /* @__PURE__ */ o(M, { ...l, children: c }) });
|
|
22
23
|
return e ? /* @__PURE__ */ o(
|
|
23
24
|
j,
|
|
24
25
|
{
|
|
@@ -27,28 +28,30 @@ function y({
|
|
|
27
28
|
labelTooltip: i,
|
|
28
29
|
description: r,
|
|
29
30
|
error: n ? typeof n == "string" ? { message: n, match: !0 } : n : void 0,
|
|
30
|
-
children:
|
|
31
|
+
children: d
|
|
31
32
|
}
|
|
32
|
-
) :
|
|
33
|
+
) : d;
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
+
function v({
|
|
35
36
|
children: e,
|
|
36
37
|
className: t,
|
|
37
38
|
align: i = "start",
|
|
38
39
|
sideOffset: r = 4,
|
|
39
40
|
alignOffset: n,
|
|
40
|
-
side:
|
|
41
|
+
side: c,
|
|
42
|
+
container: s
|
|
41
43
|
}) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const l = G();
|
|
45
|
+
return /* @__PURE__ */ o(X, { container: s ?? l ?? void 0, children: /* @__PURE__ */ o(
|
|
46
|
+
q,
|
|
44
47
|
{
|
|
45
48
|
className: "",
|
|
46
49
|
align: i,
|
|
47
50
|
sideOffset: r,
|
|
48
51
|
alignOffset: n,
|
|
49
|
-
side:
|
|
52
|
+
side: c,
|
|
50
53
|
children: /* @__PURE__ */ o(
|
|
51
|
-
|
|
54
|
+
B,
|
|
52
55
|
{
|
|
53
56
|
className: a(
|
|
54
57
|
"flex flex-col",
|
|
@@ -66,23 +69,24 @@ function z({
|
|
|
66
69
|
}
|
|
67
70
|
) });
|
|
68
71
|
}
|
|
69
|
-
const
|
|
72
|
+
const J = {
|
|
70
73
|
xs: { padding: "pr-5", iconSize: 12, iconRight: "right-1" },
|
|
71
74
|
sm: { padding: "pr-6", iconSize: 14, iconRight: "right-1.5" },
|
|
72
75
|
base: { padding: "pr-8", iconSize: 16, iconRight: "right-2" },
|
|
73
76
|
lg: { padding: "pr-10", iconSize: 18, iconRight: "right-3" }
|
|
74
77
|
};
|
|
75
|
-
function
|
|
78
|
+
function z({
|
|
76
79
|
className: e,
|
|
77
80
|
...t
|
|
78
81
|
}) {
|
|
79
|
-
const i = u(
|
|
80
|
-
return /* @__PURE__ */
|
|
82
|
+
const i = u(g), r = J[i];
|
|
83
|
+
return /* @__PURE__ */ m(
|
|
81
84
|
C,
|
|
82
85
|
{
|
|
83
86
|
className: a(
|
|
84
87
|
p({ size: i }),
|
|
85
88
|
"relative flex items-center",
|
|
89
|
+
"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
|
|
86
90
|
r.padding,
|
|
87
91
|
e
|
|
88
92
|
),
|
|
@@ -102,7 +106,7 @@ function R({
|
|
|
102
106
|
}
|
|
103
107
|
);
|
|
104
108
|
}
|
|
105
|
-
const
|
|
109
|
+
const Q = {
|
|
106
110
|
xs: {
|
|
107
111
|
padding: "pr-7",
|
|
108
112
|
iconSize: 12,
|
|
@@ -128,28 +132,38 @@ const J = {
|
|
|
128
132
|
caretRight: "right-3"
|
|
129
133
|
}
|
|
130
134
|
};
|
|
131
|
-
function
|
|
132
|
-
const t = u(
|
|
133
|
-
return /* @__PURE__ */
|
|
135
|
+
function R(e) {
|
|
136
|
+
const t = u(g), i = Q[t];
|
|
137
|
+
return /* @__PURE__ */ m(
|
|
134
138
|
"div",
|
|
135
139
|
{
|
|
136
|
-
className: a(
|
|
140
|
+
className: a(
|
|
141
|
+
"relative inline-block w-full max-w-xs",
|
|
142
|
+
"has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed",
|
|
143
|
+
e.className
|
|
144
|
+
),
|
|
137
145
|
children: [
|
|
138
146
|
/* @__PURE__ */ o(
|
|
139
|
-
|
|
147
|
+
b,
|
|
140
148
|
{
|
|
141
149
|
...e,
|
|
142
|
-
className: a(
|
|
150
|
+
className: a(
|
|
151
|
+
p({ size: t }),
|
|
152
|
+
"w-full",
|
|
153
|
+
i.padding,
|
|
154
|
+
"disabled:cursor-not-allowed"
|
|
155
|
+
)
|
|
143
156
|
}
|
|
144
157
|
),
|
|
145
158
|
/* @__PURE__ */ o(
|
|
146
|
-
|
|
159
|
+
H,
|
|
147
160
|
{
|
|
148
161
|
className: a(
|
|
149
162
|
"absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0",
|
|
163
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-0",
|
|
150
164
|
i.clearRight
|
|
151
165
|
),
|
|
152
|
-
children: /* @__PURE__ */ o(
|
|
166
|
+
children: /* @__PURE__ */ o(h, { size: i.iconSize })
|
|
153
167
|
}
|
|
154
168
|
),
|
|
155
169
|
/* @__PURE__ */ o(C, { className: "p-0", children: /* @__PURE__ */ o(
|
|
@@ -167,21 +181,21 @@ function v(e) {
|
|
|
167
181
|
);
|
|
168
182
|
}
|
|
169
183
|
function I({ children: e, ...t }) {
|
|
170
|
-
return /* @__PURE__ */
|
|
171
|
-
|
|
184
|
+
return /* @__PURE__ */ m(
|
|
185
|
+
K,
|
|
172
186
|
{
|
|
173
187
|
...t,
|
|
174
188
|
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",
|
|
175
189
|
children: [
|
|
176
190
|
/* @__PURE__ */ o("div", { className: "col-start-1", children: e }),
|
|
177
|
-
/* @__PURE__ */ o(
|
|
191
|
+
/* @__PURE__ */ o(O, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ o(S, {}) })
|
|
178
192
|
]
|
|
179
193
|
}
|
|
180
194
|
);
|
|
181
195
|
}
|
|
182
|
-
function
|
|
196
|
+
function Y(e) {
|
|
183
197
|
return /* @__PURE__ */ o(
|
|
184
|
-
|
|
198
|
+
E,
|
|
185
199
|
{
|
|
186
200
|
...e,
|
|
187
201
|
className: a(
|
|
@@ -191,9 +205,9 @@ function Q(e) {
|
|
|
191
205
|
}
|
|
192
206
|
);
|
|
193
207
|
}
|
|
194
|
-
function
|
|
208
|
+
function Z(e) {
|
|
195
209
|
return /* @__PURE__ */ o(
|
|
196
|
-
|
|
210
|
+
b,
|
|
197
211
|
{
|
|
198
212
|
...e,
|
|
199
213
|
className: a(
|
|
@@ -204,12 +218,12 @@ function Y(e) {
|
|
|
204
218
|
}
|
|
205
219
|
);
|
|
206
220
|
}
|
|
207
|
-
function
|
|
221
|
+
function $({
|
|
208
222
|
className: e,
|
|
209
223
|
...t
|
|
210
224
|
}) {
|
|
211
225
|
return /* @__PURE__ */ o(
|
|
212
|
-
|
|
226
|
+
F,
|
|
213
227
|
{
|
|
214
228
|
...t,
|
|
215
229
|
className: a(
|
|
@@ -219,9 +233,9 @@ function Z({
|
|
|
219
233
|
}
|
|
220
234
|
);
|
|
221
235
|
}
|
|
222
|
-
function
|
|
236
|
+
function ee(e) {
|
|
223
237
|
return /* @__PURE__ */ o(
|
|
224
|
-
|
|
238
|
+
A,
|
|
225
239
|
{
|
|
226
240
|
...e,
|
|
227
241
|
className: a(
|
|
@@ -231,18 +245,18 @@ function $(e) {
|
|
|
231
245
|
}
|
|
232
246
|
);
|
|
233
247
|
}
|
|
234
|
-
function
|
|
248
|
+
function oe(e) {
|
|
235
249
|
return /* @__PURE__ */ o(
|
|
236
|
-
|
|
250
|
+
_,
|
|
237
251
|
{
|
|
238
252
|
...e,
|
|
239
253
|
className: "border-t border-kumo-line mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0"
|
|
240
254
|
}
|
|
241
255
|
);
|
|
242
256
|
}
|
|
243
|
-
function
|
|
244
|
-
return /* @__PURE__ */
|
|
245
|
-
|
|
257
|
+
function w(e) {
|
|
258
|
+
return /* @__PURE__ */ m(
|
|
259
|
+
U,
|
|
246
260
|
{
|
|
247
261
|
...e,
|
|
248
262
|
className: a(
|
|
@@ -260,57 +274,58 @@ function k(e) {
|
|
|
260
274
|
children: [
|
|
261
275
|
e.children,
|
|
262
276
|
/* @__PURE__ */ o(
|
|
263
|
-
|
|
277
|
+
W,
|
|
264
278
|
{
|
|
265
279
|
className: a(
|
|
266
280
|
"cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover",
|
|
267
281
|
"bg-transparent flex"
|
|
268
282
|
),
|
|
269
|
-
children: /* @__PURE__ */ o(
|
|
283
|
+
children: /* @__PURE__ */ o(h, { size: 10 })
|
|
270
284
|
}
|
|
271
285
|
)
|
|
272
286
|
]
|
|
273
287
|
}
|
|
274
288
|
);
|
|
275
289
|
}
|
|
276
|
-
const
|
|
290
|
+
const te = {
|
|
277
291
|
xs: "min-h-5",
|
|
278
292
|
sm: "min-h-6.5",
|
|
279
293
|
base: "min-h-9",
|
|
280
294
|
lg: "min-h-10"
|
|
281
295
|
};
|
|
282
|
-
function
|
|
296
|
+
function k({
|
|
283
297
|
placeholder: e,
|
|
284
298
|
renderItem: t,
|
|
285
299
|
className: i,
|
|
286
300
|
inputSide: r = "right",
|
|
287
301
|
value: n
|
|
288
302
|
}) {
|
|
289
|
-
const
|
|
290
|
-
return /* @__PURE__ */
|
|
291
|
-
|
|
303
|
+
const c = u(g), s = n;
|
|
304
|
+
return /* @__PURE__ */ m(
|
|
305
|
+
D,
|
|
292
306
|
{
|
|
293
307
|
className: a(
|
|
294
|
-
p({ size:
|
|
308
|
+
p({ size: c }),
|
|
295
309
|
"flex flex-col",
|
|
296
310
|
"gap-1 py-1 px-1.5",
|
|
297
|
-
|
|
311
|
+
te[c],
|
|
298
312
|
"h-auto",
|
|
313
|
+
"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
|
|
299
314
|
i
|
|
300
315
|
),
|
|
301
316
|
children: [
|
|
302
317
|
r === "top" && /* @__PURE__ */ o(
|
|
303
|
-
|
|
318
|
+
b,
|
|
304
319
|
{
|
|
305
320
|
placeholder: e,
|
|
306
321
|
className: "w-full px-2 py-1 border-0 bg-inherit"
|
|
307
322
|
}
|
|
308
323
|
),
|
|
309
|
-
/* @__PURE__ */
|
|
310
|
-
|
|
311
|
-
/* @__PURE__ */ o(f, { children: (
|
|
324
|
+
/* @__PURE__ */ m("div", { className: "flex items-center flex-wrap gap-1.5 flex-1", children: [
|
|
325
|
+
s !== void 0 && s.length > 0 && s.map((l) => t(l)),
|
|
326
|
+
/* @__PURE__ */ o(f, { children: (l) => s !== void 0 ? null : /* @__PURE__ */ o(P, { children: l.map((d) => t(d)) }) }),
|
|
312
327
|
r === "right" && /* @__PURE__ */ o(
|
|
313
|
-
|
|
328
|
+
b,
|
|
314
329
|
{
|
|
315
330
|
placeholder: e,
|
|
316
331
|
className: "min-w-[100px] flex-1 px-2 py-1 border-0 bg-inherit"
|
|
@@ -322,32 +337,32 @@ function S({
|
|
|
322
337
|
);
|
|
323
338
|
}
|
|
324
339
|
y.displayName = "Combobox.Root";
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
340
|
+
v.displayName = "Combobox.Content";
|
|
341
|
+
z.displayName = "Combobox.TriggerValue";
|
|
342
|
+
R.displayName = "Combobox.TriggerInput";
|
|
328
343
|
I.displayName = "Combobox.Item";
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
const
|
|
344
|
+
w.displayName = "Combobox.Chip";
|
|
345
|
+
k.displayName = "Combobox.TriggerMultipleWithInput";
|
|
346
|
+
const de = Object.assign(y, {
|
|
332
347
|
// Helper components
|
|
333
|
-
Content:
|
|
334
|
-
TriggerValue:
|
|
335
|
-
TriggerInput:
|
|
336
|
-
TriggerMultipleWithInput:
|
|
348
|
+
Content: v,
|
|
349
|
+
TriggerValue: z,
|
|
350
|
+
TriggerInput: R,
|
|
351
|
+
TriggerMultipleWithInput: k,
|
|
337
352
|
// Slightly modified BaseUI
|
|
338
|
-
Chip:
|
|
353
|
+
Chip: w,
|
|
339
354
|
Item: I,
|
|
340
355
|
// Styled BaseUI
|
|
341
|
-
Input:
|
|
342
|
-
Empty:
|
|
343
|
-
GroupLabel:
|
|
344
|
-
Group:
|
|
356
|
+
Input: Z,
|
|
357
|
+
Empty: Y,
|
|
358
|
+
GroupLabel: ee,
|
|
359
|
+
Group: oe,
|
|
345
360
|
// Styled BaseUI
|
|
346
|
-
List:
|
|
361
|
+
List: $,
|
|
347
362
|
// BaseUI
|
|
348
|
-
Collection:
|
|
363
|
+
Collection: L
|
|
349
364
|
});
|
|
350
365
|
export {
|
|
351
|
-
|
|
366
|
+
de as C
|
|
352
367
|
};
|
|
353
|
-
//# sourceMappingURL=combobox-
|
|
368
|
+
//# sourceMappingURL=combobox-9fhjzprab46csmon.js.map
|