@cloudflare/kumo 2.5.1 → 2.6.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 +32 -0
- package/ai/component-registry.json +176 -124
- package/ai/component-registry.md +171 -51
- package/ai/schemas.ts +23 -12
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +75 -48
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/ai/schemas.js +207 -197
- package/dist/ai/schemas.js.map +1 -1
- package/dist/chunks/SankeyChart-g1tng405ml2e0qg2.js +890 -0
- package/dist/chunks/SankeyChart-g1tng405ml2e0qg2.js.map +1 -0
- package/dist/chunks/{autocomplete-d0w42h1frdu03df6.js → autocomplete-hgprlcuf0ixbbo6d.js} +18 -18
- package/dist/chunks/{autocomplete-d0w42h1frdu03df6.js.map → autocomplete-hgprlcuf0ixbbo6d.js.map} +1 -1
- package/dist/chunks/{breadcrumbs-j214mimk5zj4ffp4.js → breadcrumbs-lyj8ljudrm2owx5y.js} +2 -2
- package/dist/chunks/{breadcrumbs-j214mimk5zj4ffp4.js.map → breadcrumbs-lyj8ljudrm2owx5y.js.map} +1 -1
- package/dist/chunks/button-gtdhvogt5rlrf1is.js +237 -0
- package/dist/chunks/button-gtdhvogt5rlrf1is.js.map +1 -0
- package/dist/chunks/{checkbox-dqih8tzzt3vhp870.js → checkbox-byg8t8r9vbmif696.js} +3 -3
- package/dist/chunks/{checkbox-dqih8tzzt3vhp870.js.map → checkbox-byg8t8r9vbmif696.js.map} +1 -1
- package/dist/chunks/{clipboard-text-mrut8z3dt1w0efxz.js → clipboard-text-lf909phvldd8rfk8.js} +4 -4
- package/dist/chunks/{clipboard-text-mrut8z3dt1w0efxz.js.map → clipboard-text-lf909phvldd8rfk8.js.map} +1 -1
- package/dist/chunks/{collapsible-nzqcf9zwnjkxqzr6.js → collapsible-dl61f8gd4j897hmv.js} +4 -4
- package/dist/chunks/{collapsible-nzqcf9zwnjkxqzr6.js.map → collapsible-dl61f8gd4j897hmv.js.map} +1 -1
- package/dist/chunks/{combobox-msvukodjsqzlvpqc.js → combobox-dxff22zxzq846nec.js} +4 -4
- package/dist/chunks/{combobox-msvukodjsqzlvpqc.js.map → combobox-dxff22zxzq846nec.js.map} +1 -1
- package/dist/chunks/{command-palette-fqhyacp33fhyf696.js → command-palette-i4r0402b838wiy0j.js} +21 -21
- package/dist/chunks/{command-palette-fqhyacp33fhyf696.js.map → command-palette-i4r0402b838wiy0j.js.map} +1 -1
- package/dist/chunks/{dialog-3mpu1i1wssrsz8i6.js → dialog-g1b8161nbyixdit0.js} +7 -7
- package/dist/chunks/{dialog-3mpu1i1wssrsz8i6.js.map → dialog-g1b8161nbyixdit0.js.map} +1 -1
- package/dist/chunks/{dropdown-g4sb4cw9ffqaw5gx.js → dropdown-irp18txvgz8590e9.js} +27 -27
- package/dist/chunks/{dropdown-g4sb4cw9ffqaw5gx.js.map → dropdown-irp18txvgz8590e9.js.map} +1 -1
- package/dist/chunks/{empty-n17inn1z67bpohkw.js → empty-daa6d7u9oleaw24a.js} +2 -2
- package/dist/chunks/{empty-n17inn1z67bpohkw.js.map → empty-daa6d7u9oleaw24a.js.map} +1 -1
- package/dist/chunks/{field-c8o7h3rlam4c9pcx.js → field-f1hy08um3jf9jos6.js} +3 -3
- package/dist/chunks/{field-c8o7h3rlam4c9pcx.js.map → field-f1hy08um3jf9jos6.js.map} +1 -1
- package/dist/chunks/{input-area-eurk3seud30ricwn.js → input-area-bwyujceeulpfkpxv.js} +4 -4
- package/dist/chunks/{input-area-eurk3seud30ricwn.js.map → input-area-bwyujceeulpfkpxv.js.map} +1 -1
- package/dist/chunks/{input-en8hhb14mmt3tfwn.js → input-f2ct7obgdzypjmp2.js} +3 -3
- package/dist/chunks/{input-en8hhb14mmt3tfwn.js.map → input-f2ct7obgdzypjmp2.js.map} +1 -1
- package/dist/chunks/{input-group-d09ocmjcbdai0gze.js → input-group-kcd3jin5pbdijmw8.js} +5 -5
- package/dist/chunks/{input-group-d09ocmjcbdai0gze.js.map → input-group-kcd3jin5pbdijmw8.js.map} +1 -1
- package/dist/chunks/{label-c8rz453pti66slki.js → label-himqjkdhh0hgfdsa.js} +3 -3
- package/dist/chunks/{label-c8rz453pti66slki.js.map → label-himqjkdhh0hgfdsa.js.map} +1 -1
- package/dist/chunks/{layer-card-er4flkcxmzfug8jw.js → layer-card-cshi5vydqg3phyfx.js} +2 -2
- package/dist/chunks/{layer-card-er4flkcxmzfug8jw.js.map → layer-card-cshi5vydqg3phyfx.js.map} +1 -1
- package/dist/chunks/{link-i6vnwyjcwvjz5btm.js → link-bw21ofmgg58igq5n.js} +4 -4
- package/dist/chunks/{link-i6vnwyjcwvjz5btm.js.map → link-bw21ofmgg58igq5n.js.map} +1 -1
- package/dist/chunks/{menubar-ng5if56amh1tto4j.js → menubar-m12wcbbucuszspw4.js} +2 -2
- package/dist/chunks/{menubar-ng5if56amh1tto4j.js.map → menubar-m12wcbbucuszspw4.js.map} +1 -1
- package/dist/chunks/{meter-d5igshkjqttl1fdj.js → meter-dn8vgc0smpk0du75.js} +4 -4
- package/dist/chunks/{meter-d5igshkjqttl1fdj.js.map → meter-dn8vgc0smpk0du75.js.map} +1 -1
- package/dist/chunks/{pagination-bw7vwca4wrfjm8vb.js → pagination-oafyxvdndm9m8250.js} +3 -3
- package/dist/chunks/{pagination-bw7vwca4wrfjm8vb.js.map → pagination-oafyxvdndm9m8250.js.map} +1 -1
- package/dist/chunks/{popover-ozf1j7oi7pxiudyz.js → popover-bbxr39l1lx175hum.js} +18 -18
- package/dist/chunks/{popover-ozf1j7oi7pxiudyz.js.map → popover-bbxr39l1lx175hum.js.map} +1 -1
- package/dist/chunks/radio-ffx05ih9nc764evh.js +226 -0
- package/dist/chunks/radio-ffx05ih9nc764evh.js.map +1 -0
- package/dist/chunks/{select-dw9iw35ug7yer3o3.js → select-kl1skfh3pmwc33rp.js} +6 -6
- package/dist/chunks/{select-dw9iw35ug7yer3o3.js.map → select-kl1skfh3pmwc33rp.js.map} +1 -1
- package/dist/chunks/{sensitive-input-dgoxjtoxl4zqa51v.js → sensitive-input-izmbyk1t7r56ciiq.js} +4 -4
- package/dist/chunks/{sensitive-input-dgoxjtoxl4zqa51v.js.map → sensitive-input-izmbyk1t7r56ciiq.js.map} +1 -1
- package/dist/chunks/{sidebar-nbdw4rgvuabxp5nj.js → sidebar-ior8rnhsd7gy5am5.js} +49 -49
- package/dist/chunks/sidebar-ior8rnhsd7gy5am5.js.map +1 -0
- package/dist/chunks/{surface-iyejjbqogjbo7ise.js → surface-g5a1buofz4erjov2.js} +2 -2
- package/dist/chunks/{surface-iyejjbqogjbo7ise.js.map → surface-g5a1buofz4erjov2.js.map} +1 -1
- package/dist/chunks/{switch-g8f77h69h34xld06.js → switch-kh8a6l3l0hszm9h4.js} +3 -3
- package/dist/chunks/{switch-g8f77h69h34xld06.js.map → switch-kh8a6l3l0hszm9h4.js.map} +1 -1
- package/dist/chunks/{table-e1te1im2tt2ez05y.js → table-dz2k55oab66h2vi9.js} +2 -2
- package/dist/chunks/{table-e1te1im2tt2ez05y.js.map → table-dz2k55oab66h2vi9.js.map} +1 -1
- package/dist/chunks/{tabs-ho9t1gkq22jb855l.js → tabs-kcw98wibdz4mhpkc.js} +2 -2
- package/dist/chunks/{tabs-ho9t1gkq22jb855l.js.map → tabs-kcw98wibdz4mhpkc.js.map} +1 -1
- package/dist/chunks/{toast-kvbgct0jvfmn4mas.js → toast-dkdo1lu72tnefya6.js} +7 -7
- package/dist/chunks/{toast-kvbgct0jvfmn4mas.js.map → toast-dkdo1lu72tnefya6.js.map} +1 -1
- package/dist/chunks/toolbar-o7xe6pd189evdd53.js +172 -0
- package/dist/chunks/toolbar-o7xe6pd189evdd53.js.map +1 -0
- package/dist/chunks/{tooltip-ken77ixya0qpidie.js → tooltip-eqnhjdbvwapy8gj4.js} +4 -4
- package/dist/chunks/{tooltip-ken77ixya0qpidie.js.map → tooltip-eqnhjdbvwapy8gj4.js.map} +1 -1
- package/dist/chunks/{vendor-base-ui-knphx7dts1vm1x37.js → vendor-base-ui-f9z44m829vvptrg0.js} +2209 -2207
- package/dist/chunks/{vendor-base-ui-knphx7dts1vm1x37.js.map → vendor-base-ui-f9z44m829vvptrg0.js.map} +1 -1
- package/dist/code.js +1 -1
- package/dist/components/autocomplete.js +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/chart.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +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/toast.js +2 -2
- package/dist/components/toolbar.js +8 -0
- package/dist/components/toolbar.js.map +1 -0
- package/dist/components/tooltip.js +1 -1
- package/dist/index.js +199 -195
- 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/otp-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/scripts/theme-generator/config.d.ts.map +1 -1
- package/dist/scripts/theme-generator/config.js +13 -2
- package/dist/scripts/theme-generator/config.js.map +1 -1
- package/dist/src/components/button/button.d.ts +5 -5
- package/dist/src/components/button/button.d.ts.map +1 -1
- package/dist/src/components/chart/EChart.d.ts +12 -4
- package/dist/src/components/chart/EChart.d.ts.map +1 -1
- package/dist/src/components/chart/Legend.d.ts +11 -2
- package/dist/src/components/chart/Legend.d.ts.map +1 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts +15 -1
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
- package/dist/src/components/radio/index.d.ts +1 -1
- package/dist/src/components/radio/index.d.ts.map +1 -1
- package/dist/src/components/radio/radio.d.ts +49 -10
- package/dist/src/components/radio/radio.d.ts.map +1 -1
- package/dist/src/components/radio/radio.type-spec.d.ts +12 -0
- package/dist/src/components/radio/radio.type-spec.d.ts.map +1 -0
- package/dist/src/components/toolbar/index.d.ts +2 -0
- package/dist/src/components/toolbar/index.d.ts.map +1 -0
- package/dist/src/components/toolbar/toolbar.d.ts +50 -0
- package/dist/src/components/toolbar/toolbar.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/theme-kumo.css +11 -4
- package/package.json +5 -1
- package/scripts/component-registry/discovery.ts +16 -11
- package/scripts/component-registry/metadata.ts +30 -0
- package/scripts/theme-generator/config.ts +14 -2
- package/dist/chunks/SankeyChart-i1m7zv0lys3j0iq6.js +0 -775
- package/dist/chunks/SankeyChart-i1m7zv0lys3j0iq6.js.map +0 -1
- package/dist/chunks/button-mnrxu6dud2x5js5b.js +0 -210
- package/dist/chunks/button-mnrxu6dud2x5js5b.js.map +0 -1
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js +0 -218
- package/dist/chunks/radio-gpg6kmzonr2cayq1.js.map +0 -1
- package/dist/chunks/sidebar-nbdw4rgvuabxp5nj.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,61 +1,62 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { B as Y } from "./chunks/badge-c1th6h6ahz7eu49q.js";
|
|
3
|
-
import { B as
|
|
3
|
+
import { B as E } from "./chunks/banner-es5iwuk4pf25e29e.js";
|
|
4
4
|
import { a as Q } from "./chunks/banner-es5iwuk4pf25e29e.js";
|
|
5
|
-
import { B as n } from "./chunks/button-
|
|
6
|
-
import { L as aa, R as ea, b as oa } from "./chunks/button-
|
|
5
|
+
import { B as n } from "./chunks/button-gtdhvogt5rlrf1is.js";
|
|
6
|
+
import { L as aa, R as ea, b as oa } from "./chunks/button-gtdhvogt5rlrf1is.js";
|
|
7
7
|
import { D as sa } from "./chunks/date-range-picker-o8uyril1kogvhoei.js";
|
|
8
|
-
import { C as ia } from "./chunks/checkbox-
|
|
9
|
-
import { C as na } from "./chunks/clipboard-text-
|
|
8
|
+
import { C as ia } from "./chunks/checkbox-byg8t8r9vbmif696.js";
|
|
9
|
+
import { C as na } from "./chunks/clipboard-text-lf909phvldd8rfk8.js";
|
|
10
10
|
import { C as ma, a as pa } from "./chunks/code-bbnjm8vk9hxl129r.js";
|
|
11
|
-
import { C as Ta } from "./chunks/combobox-
|
|
12
|
-
import { a as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { I as
|
|
22
|
-
import {
|
|
23
|
-
import { L as
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import { M as
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import { S as
|
|
30
|
-
import { S as
|
|
31
|
-
import {
|
|
32
|
-
import { T as
|
|
33
|
-
import { T as
|
|
34
|
-
import {
|
|
35
|
-
import { T as Se,
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import { a as Jo,
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
11
|
+
import { C as Ta } from "./chunks/combobox-dxff22zxzq846nec.js";
|
|
12
|
+
import { a as ca, K as Sa, T as ba } from "./chunks/toolbar-o7xe6pd189evdd53.js";
|
|
13
|
+
import { a as U, D as M, c as N, e as b } from "./chunks/dialog-g1b8161nbyixdit0.js";
|
|
14
|
+
import { d as ua, b as xa } from "./chunks/dialog-g1b8161nbyixdit0.js";
|
|
15
|
+
import { D as Ia } from "./chunks/dropdown-irp18txvgz8590e9.js";
|
|
16
|
+
import { C as Oa } from "./chunks/collapsible-dl61f8gd4j897hmv.js";
|
|
17
|
+
import { F as Ea, a as Ua, K as Ma, f as Na } from "./chunks/field-f1hy08um3jf9jos6.js";
|
|
18
|
+
import { b as ga, K as Va, L as ha, a as Da, l as va } from "./chunks/label-himqjkdhh0hgfdsa.js";
|
|
19
|
+
import { I as K } from "./chunks/input-f2ct7obgdzypjmp2.js";
|
|
20
|
+
import { i as Pa } from "./chunks/input-f2ct7obgdzypjmp2.js";
|
|
21
|
+
import { I as Fa, T as ya } from "./chunks/input-area-bwyujceeulpfkpxv.js";
|
|
22
|
+
import { I as za } from "./chunks/input-group-kcd3jin5pbdijmw8.js";
|
|
23
|
+
import { L as ja } from "./chunks/layer-card-cshi5vydqg3phyfx.js";
|
|
24
|
+
import { L as qa } from "./chunks/loader-g8a6j76ue5nq0lr8.js";
|
|
25
|
+
import { S as Wa } from "./chunks/skeleton-line-epxenksfesr2fkcv.js";
|
|
26
|
+
import { M as Ya, u as Ja } from "./chunks/menubar-m12wcbbucuszspw4.js";
|
|
27
|
+
import { M as Za } from "./chunks/meter-dn8vgc0smpk0du75.js";
|
|
28
|
+
import { P as ee } from "./chunks/pagination-oafyxvdndm9m8250.js";
|
|
29
|
+
import { S as re } from "./chunks/select-kl1skfh3pmwc33rp.js";
|
|
30
|
+
import { S as te } from "./chunks/surface-g5a1buofz4erjov2.js";
|
|
31
|
+
import { S as le } from "./chunks/switch-kh8a6l3l0hszm9h4.js";
|
|
32
|
+
import { T as de } from "./chunks/tabs-kcw98wibdz4mhpkc.js";
|
|
33
|
+
import { T as pe } from "./chunks/table-dz2k55oab66h2vi9.js";
|
|
34
|
+
import { T as Te } from "./chunks/text-be7ehenoyldhyjma.js";
|
|
35
|
+
import { a as ce, T as Se, c as be, u as _e } from "./chunks/toast-dkdo1lu72tnefya6.js";
|
|
36
|
+
import { T as xe, a as Ce } from "./chunks/tooltip-eqnhjdbvwapy8gj4.js";
|
|
37
|
+
import { g as Le, K as Oe, P as Re } from "./chunks/popover-bbxr39l1lx175hum.js";
|
|
38
|
+
import { a as Ue, K as Me, S as Ne } from "./chunks/sensitive-input-izmbyk1t7r56ciiq.js";
|
|
39
|
+
import { b as ge, K as Ve, R as he, a as De, r as ve } from "./chunks/radio-ffx05ih9nc764evh.js";
|
|
40
|
+
import { C as Pe, a as ke, K as Fe } from "./chunks/command-palette-i4r0402b838wiy0j.js";
|
|
41
|
+
import { a as we, K as ze, L as Ge, l as je } from "./chunks/link-bw21ofmgg58igq5n.js";
|
|
42
|
+
import { B as qe } from "./chunks/breadcrumbs-lyj8ljudrm2owx5y.js";
|
|
43
|
+
import { E as We } from "./chunks/empty-daa6d7u9oleaw24a.js";
|
|
44
|
+
import { G as Ye, a as Je, c as Qe, K as Ze, b as ao, g as eo } from "./chunks/grid-do93dv1rjggqxx7p.js";
|
|
45
|
+
import { C as ro, a as so, K as to, P as io, g as lo } from "./chunks/cloudflare-logo-fya2cd2ljozkzjh8.js";
|
|
46
|
+
import { D as mo } from "./chunks/date-picker-mjocqqbggb76n8rt.js";
|
|
47
|
+
import { Flow as fo } from "./components/flow.js";
|
|
48
|
+
import { C as Ao, a as co, b as So, S as bo, T as _o } from "./chunks/SankeyChart-g1tng405ml2e0qg2.js";
|
|
49
|
+
import { A as xo, b as Co, K as Io, a as Lo } from "./chunks/autocomplete-hgprlcuf0ixbbo6d.js";
|
|
50
|
+
import { z as Ro, A as Eo, K as Uo, S as Mo, t as No, v as Ko, u as go, d as Vo, e as ho, f as Do, g as vo, c as Bo, h as Po, k as ko, j as Fo, s as yo, i as wo, l as zo, n as Go, m as jo, a as $o, q as qo, r as Ho, b as Wo, o as Xo, x as Yo, w as Jo, p as Qo, y as Zo } from "./chunks/sidebar-ior8rnhsd7gy5am5.js";
|
|
51
|
+
import { a as er, K as or, T as rr } from "./chunks/table-of-contents-jco9kvt48d34dwsw.js";
|
|
52
|
+
import { c as g } from "./chunks/cn-ct4n7r74mh8y0f48.js";
|
|
53
|
+
import { s as tr } from "./chunks/cn-ct4n7r74mh8y0f48.js";
|
|
54
|
+
import { L as lr, u as nr } from "./chunks/link-provider-mn2voeohon7cj9o4.js";
|
|
55
|
+
import { K as mr } from "./chunks/portal-provider-hwmkdmkpvct0cb76.js";
|
|
55
56
|
import { jsx as a, jsxs as e } from "react/jsx-runtime";
|
|
56
|
-
import { useState as
|
|
57
|
-
import { XIcon as
|
|
58
|
-
import { i as
|
|
57
|
+
import { useState as _, useEffect as V, useCallback as d } from "react";
|
|
58
|
+
import { XIcon as h, WarningCircleIcon as D, CheckIcon as v, CopyIcon as B } from "@phosphor-icons/react";
|
|
59
|
+
import { i as fr } from "./chunks/vendor-base-ui-f9z44m829vvptrg0.js";
|
|
59
60
|
const H = {
|
|
60
61
|
size: {
|
|
61
62
|
sm: {
|
|
@@ -67,35 +68,35 @@ const H = {
|
|
|
67
68
|
description: "Default delete confirmation dialog size"
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
|
-
},
|
|
71
|
+
}, P = {
|
|
71
72
|
size: "base"
|
|
72
73
|
};
|
|
73
|
-
function
|
|
74
|
+
function k({
|
|
74
75
|
open: t,
|
|
75
|
-
onOpenChange:
|
|
76
|
+
onOpenChange: u,
|
|
76
77
|
resourceType: m,
|
|
77
78
|
resourceName: o,
|
|
78
79
|
onDelete: p,
|
|
79
80
|
isDeleting: s = !1,
|
|
80
81
|
caseSensitive: f = !0,
|
|
81
|
-
deleteButtonText:
|
|
82
|
-
size: C =
|
|
82
|
+
deleteButtonText: x,
|
|
83
|
+
size: C = P.size,
|
|
83
84
|
errorMessage: T,
|
|
84
85
|
className: I
|
|
85
86
|
}) {
|
|
86
|
-
const [
|
|
87
|
-
|
|
88
|
-
t || (
|
|
87
|
+
const [A, c] = _(""), [L, i] = _(!1);
|
|
88
|
+
V(() => {
|
|
89
|
+
t || (c(""), i(!1));
|
|
89
90
|
}, [t]);
|
|
90
91
|
const S = d(
|
|
91
92
|
(r) => f ? r : r.toLowerCase(),
|
|
92
93
|
[f]
|
|
93
|
-
), l = S(
|
|
94
|
+
), l = S(A) === S(o), O = d(async () => {
|
|
94
95
|
!l || s || await p();
|
|
95
|
-
}, [l, s, p]),
|
|
96
|
+
}, [l, s, p]), R = d(async () => {
|
|
96
97
|
await navigator.clipboard.writeText(o), i(!0), setTimeout(() => i(!1), 1500);
|
|
97
98
|
}, [o]);
|
|
98
|
-
return /* @__PURE__ */ a(
|
|
99
|
+
return /* @__PURE__ */ a(U, { open: t, onOpenChange: u, children: /* @__PURE__ */ e(M, { size: C, className: g("p-0", I), children: [
|
|
99
100
|
/* @__PURE__ */ e("div", { className: "flex items-center justify-between border-b border-kumo-line px-6 py-4", children: [
|
|
100
101
|
/* @__PURE__ */ e(N, { className: "text-lg font-semibold", children: [
|
|
101
102
|
"Delete ",
|
|
@@ -113,7 +114,7 @@ function B({
|
|
|
113
114
|
size: "sm",
|
|
114
115
|
"aria-label": "Close",
|
|
115
116
|
disabled: s,
|
|
116
|
-
children: /* @__PURE__ */ a(
|
|
117
|
+
children: /* @__PURE__ */ a(h, { size: 18 })
|
|
117
118
|
}
|
|
118
119
|
)
|
|
119
120
|
}
|
|
@@ -121,7 +122,7 @@ function B({
|
|
|
121
122
|
] }),
|
|
122
123
|
/* @__PURE__ */ e("div", { className: "flex flex-col p-6 gap-4", children: [
|
|
123
124
|
/* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: [
|
|
124
|
-
T && /* @__PURE__ */ a(
|
|
125
|
+
T && /* @__PURE__ */ a(E, { icon: /* @__PURE__ */ a(D, {}), variant: "error", children: T }),
|
|
125
126
|
/* @__PURE__ */ e("p", { className: "text-base text-kumo-subtle max-w-prose text-pretty", children: [
|
|
126
127
|
"This action cannot be undone. This will permanently delete the",
|
|
127
128
|
" ",
|
|
@@ -139,7 +140,7 @@ function B({
|
|
|
139
140
|
"button",
|
|
140
141
|
{
|
|
141
142
|
className: "font-mono text-sm inline font-semibold bg-kumo-tint hover:bg-kumo-fill rounded-md px-2 py-1 group hover:cursor-pointer",
|
|
142
|
-
onClick:
|
|
143
|
+
onClick: R,
|
|
143
144
|
"aria-label": `Copy ${o} to clipboard`,
|
|
144
145
|
children: [
|
|
145
146
|
o,
|
|
@@ -151,7 +152,7 @@ function B({
|
|
|
151
152
|
className: "inline ml-1.5"
|
|
152
153
|
}
|
|
153
154
|
) : /* @__PURE__ */ a(
|
|
154
|
-
|
|
155
|
+
B,
|
|
155
156
|
{
|
|
156
157
|
size: 12,
|
|
157
158
|
weight: "bold",
|
|
@@ -165,11 +166,11 @@ function B({
|
|
|
165
166
|
"to confirm:"
|
|
166
167
|
] }) }),
|
|
167
168
|
/* @__PURE__ */ a(
|
|
168
|
-
|
|
169
|
+
K,
|
|
169
170
|
{
|
|
170
171
|
placeholder: o,
|
|
171
|
-
value:
|
|
172
|
-
onChange: (r) =>
|
|
172
|
+
value: A,
|
|
173
|
+
onChange: (r) => c(r.target.value),
|
|
173
174
|
disabled: s,
|
|
174
175
|
autoComplete: "off",
|
|
175
176
|
autoCorrect: "off",
|
|
@@ -192,153 +193,156 @@ function B({
|
|
|
192
193
|
n,
|
|
193
194
|
{
|
|
194
195
|
variant: "destructive",
|
|
195
|
-
onClick:
|
|
196
|
+
onClick: O,
|
|
196
197
|
disabled: !l || s,
|
|
197
198
|
loading: s,
|
|
198
|
-
children:
|
|
199
|
+
children: x || `Delete ${m}`
|
|
199
200
|
}
|
|
200
201
|
)
|
|
201
202
|
] })
|
|
202
203
|
] }) });
|
|
203
204
|
}
|
|
204
|
-
|
|
205
|
+
k.displayName = "DeleteResource";
|
|
205
206
|
export {
|
|
206
|
-
|
|
207
|
+
xo as Autocomplete,
|
|
207
208
|
Y as Badge,
|
|
208
|
-
|
|
209
|
+
E as Banner,
|
|
209
210
|
Q as BannerVariant,
|
|
210
|
-
|
|
211
|
+
qe as Breadcrumbs,
|
|
211
212
|
n as Button,
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
Ao as Chart,
|
|
214
|
+
co as ChartLegend,
|
|
215
|
+
So as ChartPalette,
|
|
215
216
|
ia as Checkbox,
|
|
216
217
|
na as ClipboardText,
|
|
217
|
-
|
|
218
|
+
ro as CloudflareLogo,
|
|
218
219
|
ma as Code,
|
|
219
220
|
pa as CodeBlock,
|
|
220
|
-
|
|
221
|
+
Oa as Collapsible,
|
|
221
222
|
Ta as Combobox,
|
|
222
|
-
|
|
223
|
-
|
|
223
|
+
Pe as CommandPalette,
|
|
224
|
+
mo as DatePicker,
|
|
224
225
|
sa as DateRangePicker,
|
|
225
|
-
|
|
226
|
-
|
|
226
|
+
k as DeleteResource,
|
|
227
|
+
M as Dialog,
|
|
227
228
|
b as DialogClose,
|
|
228
|
-
|
|
229
|
-
|
|
229
|
+
ua as DialogDescription,
|
|
230
|
+
U as DialogRoot,
|
|
230
231
|
N as DialogTitle,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
232
|
+
xa as DialogTrigger,
|
|
233
|
+
Ia as DropdownMenu,
|
|
234
|
+
We as Empty,
|
|
235
|
+
Ea as Field,
|
|
236
|
+
fo as Flow,
|
|
237
|
+
Ye as Grid,
|
|
238
|
+
Je as GridItem,
|
|
239
|
+
K as Input,
|
|
240
|
+
Fa as InputArea,
|
|
241
|
+
za as InputGroup,
|
|
242
|
+
Co as KUMO_AUTOCOMPLETE_DEFAULT_VARIANTS,
|
|
243
|
+
Io as KUMO_AUTOCOMPLETE_VARIANTS,
|
|
244
|
+
so as KUMO_CLOUDFLARE_LOGO_DEFAULT_VARIANTS,
|
|
245
|
+
to as KUMO_CLOUDFLARE_LOGO_VARIANTS,
|
|
246
|
+
ke as KUMO_COMMAND_PALETTE_DEFAULT_VARIANTS,
|
|
247
|
+
Fe as KUMO_COMMAND_PALETTE_VARIANTS,
|
|
248
|
+
P as KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS,
|
|
248
249
|
H as KUMO_DELETE_RESOURCE_VARIANTS,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
250
|
+
Ua as KUMO_FIELD_DEFAULT_VARIANTS,
|
|
251
|
+
Ma as KUMO_FIELD_VARIANTS,
|
|
252
|
+
Qe as KUMO_GRID_DEFAULT_VARIANTS,
|
|
253
|
+
Ze as KUMO_GRID_VARIANTS,
|
|
254
|
+
ga as KUMO_LABEL_DEFAULT_VARIANTS,
|
|
255
|
+
Va as KUMO_LABEL_VARIANTS,
|
|
256
|
+
we as KUMO_LINK_DEFAULT_VARIANTS,
|
|
257
|
+
ze as KUMO_LINK_VARIANTS,
|
|
258
|
+
Le as KUMO_POPOVER_DEFAULT_VARIANTS,
|
|
259
|
+
Oe as KUMO_POPOVER_VARIANTS,
|
|
260
|
+
ge as KUMO_RADIO_DEFAULT_VARIANTS,
|
|
261
|
+
Ve as KUMO_RADIO_VARIANTS,
|
|
262
|
+
Ue as KUMO_SENSITIVE_INPUT_DEFAULT_VARIANTS,
|
|
263
|
+
Me as KUMO_SENSITIVE_INPUT_VARIANTS,
|
|
264
|
+
Ro as KUMO_SIDEBAR_DEFAULT_VARIANTS,
|
|
265
|
+
Eo as KUMO_SIDEBAR_STYLING,
|
|
266
|
+
Uo as KUMO_SIDEBAR_VARIANTS,
|
|
267
|
+
er as KUMO_TABLE_OF_CONTENTS_DEFAULT_VARIANTS,
|
|
268
|
+
or as KUMO_TABLE_OF_CONTENTS_VARIANTS,
|
|
269
|
+
ca as KUMO_TOOLBAR_DEFAULT_VARIANTS,
|
|
270
|
+
Sa as KUMO_TOOLBAR_VARIANTS,
|
|
271
|
+
mr as KumoPortalProvider,
|
|
272
|
+
ha as Label,
|
|
273
|
+
ja as LayerCard,
|
|
274
|
+
Ge as Link,
|
|
272
275
|
aa as LinkButton,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
276
|
+
lr as LinkProvider,
|
|
277
|
+
qa as Loader,
|
|
278
|
+
Ya as MenuBar,
|
|
279
|
+
Za as Meter,
|
|
280
|
+
ee as Pagination,
|
|
281
|
+
Re as Popover,
|
|
282
|
+
io as PoweredByCloudflare,
|
|
283
|
+
he as Radio,
|
|
284
|
+
De as RadioGroup,
|
|
282
285
|
ea as RefreshButton,
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
286
|
+
bo as SankeyChart,
|
|
287
|
+
re as Select,
|
|
288
|
+
Ne as SensitiveInput,
|
|
289
|
+
Mo as Sidebar,
|
|
290
|
+
No as SidebarCollapsible,
|
|
291
|
+
Ko as SidebarCollapsibleContent,
|
|
292
|
+
go as SidebarCollapsibleTrigger,
|
|
293
|
+
Vo as SidebarContent,
|
|
294
|
+
ho as SidebarFooter,
|
|
295
|
+
Do as SidebarGroup,
|
|
296
|
+
vo as SidebarGroupLabel,
|
|
297
|
+
Bo as SidebarHeader,
|
|
298
|
+
Po as SidebarMenu,
|
|
299
|
+
ko as SidebarMenuBadge,
|
|
300
|
+
Fo as SidebarMenuButton,
|
|
301
|
+
yo as SidebarMenuChevron,
|
|
302
|
+
wo as SidebarMenuItem,
|
|
303
|
+
zo as SidebarMenuSub,
|
|
304
|
+
Go as SidebarMenuSubButton,
|
|
305
|
+
jo as SidebarMenuSubItem,
|
|
306
|
+
$o as SidebarProvider,
|
|
307
|
+
qo as SidebarRail,
|
|
308
|
+
Ho as SidebarResizeHandle,
|
|
309
|
+
Wo as SidebarRoot,
|
|
310
|
+
Xo as SidebarSeparator,
|
|
311
|
+
Yo as SidebarSlidingView,
|
|
312
|
+
Jo as SidebarSlidingViews,
|
|
313
|
+
Qo as SidebarTrigger,
|
|
314
|
+
Wa as SkeletonLine,
|
|
315
|
+
te as Surface,
|
|
316
|
+
le as Switch,
|
|
317
|
+
pe as Table,
|
|
318
|
+
rr as TableOfContents,
|
|
319
|
+
de as Tabs,
|
|
320
|
+
Te as Text,
|
|
321
|
+
ya as Textarea,
|
|
322
|
+
_o as TimeseriesChart,
|
|
323
|
+
fr as Toast,
|
|
324
|
+
ce as ToastProvider,
|
|
325
|
+
Se as Toasty,
|
|
326
|
+
ba as Toolbar,
|
|
327
|
+
xe as Tooltip,
|
|
328
|
+
Ce as TooltipProvider,
|
|
329
|
+
Lo as autocompleteVariants,
|
|
326
330
|
oa as buttonVariants,
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
331
|
+
g as cn,
|
|
332
|
+
be as createKumoToastManager,
|
|
333
|
+
Na as fieldVariants,
|
|
334
|
+
lo as generateCloudflareLogoSvg,
|
|
335
|
+
ao as gridItemVariants,
|
|
336
|
+
eo as gridVariants,
|
|
337
|
+
Pa as inputVariants,
|
|
338
|
+
Da as labelContentVariants,
|
|
339
|
+
va as labelVariants,
|
|
340
|
+
je as linkVariants,
|
|
341
|
+
ve as radioVariants,
|
|
342
|
+
tr as safeRandomId,
|
|
343
|
+
_e as useKumoToastManager,
|
|
344
|
+
nr as useLinkComponent,
|
|
345
|
+
Ja as useMenuNavigation,
|
|
346
|
+
Zo as useSidebar
|
|
343
347
|
};
|
|
344
348
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/blocks/delete-resource/delete-resource.tsx"],"sourcesContent":["import { useState, useCallback, useEffect } from \"react\";\nimport {\n Dialog,\n DialogRoot,\n DialogTitle,\n DialogClose,\n} from \"../../components/dialog\";\nimport { Input } from \"../../components/input\";\nimport { Button } from \"../../components/button\";\nimport { cn } from \"../../utils/cn\";\nimport {\n CheckIcon,\n CopyIcon,\n WarningCircleIcon,\n XIcon,\n} from \"@phosphor-icons/react\";\nimport { Banner } from \"../../components/banner\";\n\nexport const KUMO_DELETE_RESOURCE_VARIANTS = {\n size: {\n sm: {\n classes: \"\",\n description: \"Small dialog for simple delete confirmations\",\n },\n base: {\n classes: \"\",\n description: \"Default delete confirmation dialog size\",\n },\n },\n} as const;\n\nexport const KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS = {\n size: \"base\",\n} as const;\n\nexport type KumoDeleteResourceSize =\n keyof typeof KUMO_DELETE_RESOURCE_VARIANTS.size;\n\nexport interface KumoDeleteResourceVariantsProps {\n size?: KumoDeleteResourceSize;\n}\n\nexport interface DeleteResourceProps extends KumoDeleteResourceVariantsProps {\n /** Whether the dialog is open */\n open: boolean;\n /** Callback when open state changes */\n onOpenChange: (open: boolean) => void;\n /** The type of resource being deleted (e.g., \"Zone\", \"Worker\", \"KV Namespace\") */\n resourceType: string;\n /** The name of the specific resource being deleted */\n resourceName: string;\n /** Callback when delete is confirmed */\n onDelete: () => void | Promise<void>;\n /** Whether the delete action is in progress */\n isDeleting?: boolean;\n /** Whether the confirmation input should be case-sensitive (default: true) */\n caseSensitive?: boolean;\n /** Custom delete button text (defaults to \"Delete {resourceType}\") */\n deleteButtonText?: string;\n /** Additional className for the dialog */\n className?: string;\n /** Error message to display if the delete action fails */\n errorMessage?: string;\n}\n\nexport function DeleteResource({\n open,\n onOpenChange,\n resourceType,\n resourceName,\n onDelete,\n isDeleting = false,\n caseSensitive = true,\n deleteButtonText,\n size = KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS.size,\n errorMessage,\n className,\n}: DeleteResourceProps) {\n const [confirmationInput, setConfirmationInput] = useState(\"\");\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n if (!open) {\n setConfirmationInput(\"\");\n setCopied(false);\n }\n }, [open]);\n\n const normalizeForComparison = useCallback(\n (str: string) => (caseSensitive ? str : str.toLowerCase()),\n [caseSensitive],\n );\n\n const isConfirmed =\n normalizeForComparison(confirmationInput) ===\n normalizeForComparison(resourceName);\n\n const handleDelete = useCallback(async () => {\n if (!isConfirmed || isDeleting) return;\n await onDelete();\n }, [isConfirmed, isDeleting, onDelete]);\n\n const handleCopy = useCallback(async () => {\n await navigator.clipboard.writeText(resourceName);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n }, [resourceName]);\n\n return (\n <DialogRoot open={open} onOpenChange={onOpenChange}>\n <Dialog size={size} className={cn(\"p-0\", className)}>\n <div className=\"flex items-center justify-between border-b border-kumo-line px-6 py-4\">\n <DialogTitle className=\"text-lg font-semibold\">\n Delete {resourceName}\n </DialogTitle>\n <DialogClose\n render={(props) => (\n <Button\n {...props}\n variant=\"ghost\"\n shape=\"square\"\n size=\"sm\"\n aria-label=\"Close\"\n disabled={isDeleting}\n >\n <XIcon size={18} />\n </Button>\n )}\n />\n </div>\n\n <div className=\"flex flex-col p-6 gap-4\">\n <div className=\"flex flex-col gap-2\">\n {errorMessage && (\n <Banner icon={<WarningCircleIcon />} variant=\"error\">\n {errorMessage}\n </Banner>\n )}\n <p className=\"text-base text-kumo-subtle max-w-prose text-pretty\">\n This action cannot be undone. This will permanently delete the{\" \"}\n <span className=\"font-medium text-kumo-default\">\n {resourceName}\n </span>{\" \"}\n {resourceType.toLowerCase()}.\n </p>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-1.5 text-base\">\n <span>\n Type{\" \"}\n <button\n className=\"font-mono text-sm inline font-semibold bg-kumo-tint hover:bg-kumo-fill rounded-md px-2 py-1 group hover:cursor-pointer\"\n onClick={handleCopy}\n aria-label={`Copy ${resourceName} to clipboard`}\n >\n {resourceName}\n\n {copied ? (\n <CheckIcon\n size={12}\n weight=\"bold\"\n className=\"inline ml-1.5\"\n />\n ) : (\n <CopyIcon\n size={12}\n weight=\"bold\"\n className=\"inline text-kumo-subtle group-hover:text-kumo-default ml-1.5\"\n />\n )}\n </button>{\" \"}\n to confirm:\n </span>\n </div>\n <Input\n placeholder={resourceName}\n value={confirmationInput}\n onChange={(e) => setConfirmationInput(e.target.value)}\n disabled={isDeleting}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n aria-label={`Type ${resourceName} to confirm deletion`}\n className=\"w-full\"\n />\n </div>\n </div>\n\n <div className=\"flex justify-end gap-3 border-t border-kumo-line px-6 py-4\">\n <DialogClose\n render={(props) => (\n <Button {...props} variant=\"secondary\" disabled={isDeleting}>\n Cancel\n </Button>\n )}\n />\n <Button\n variant=\"destructive\"\n onClick={handleDelete}\n disabled={!isConfirmed || isDeleting}\n loading={isDeleting}\n >\n {deleteButtonText || `Delete ${resourceType}`}\n </Button>\n </div>\n </Dialog>\n </DialogRoot>\n );\n}\n\nDeleteResource.displayName = \"DeleteResource\";\n"],"names":["KUMO_DELETE_RESOURCE_VARIANTS","KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS","DeleteResource","open","onOpenChange","resourceType","resourceName","onDelete","isDeleting","caseSensitive","deleteButtonText","size","errorMessage","className","confirmationInput","setConfirmationInput","useState","copied","setCopied","useEffect","normalizeForComparison","useCallback","str","isConfirmed","handleDelete","handleCopy","jsx","DialogRoot","jsxs","Dialog","cn","DialogTitle","DialogClose","props","Button","XIcon","Banner","WarningCircleIcon","CheckIcon","CopyIcon","Input","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/blocks/delete-resource/delete-resource.tsx"],"sourcesContent":["import { useState, useCallback, useEffect } from \"react\";\nimport {\n Dialog,\n DialogRoot,\n DialogTitle,\n DialogClose,\n} from \"../../components/dialog\";\nimport { Input } from \"../../components/input\";\nimport { Button } from \"../../components/button\";\nimport { cn } from \"../../utils/cn\";\nimport {\n CheckIcon,\n CopyIcon,\n WarningCircleIcon,\n XIcon,\n} from \"@phosphor-icons/react\";\nimport { Banner } from \"../../components/banner\";\n\nexport const KUMO_DELETE_RESOURCE_VARIANTS = {\n size: {\n sm: {\n classes: \"\",\n description: \"Small dialog for simple delete confirmations\",\n },\n base: {\n classes: \"\",\n description: \"Default delete confirmation dialog size\",\n },\n },\n} as const;\n\nexport const KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS = {\n size: \"base\",\n} as const;\n\nexport type KumoDeleteResourceSize =\n keyof typeof KUMO_DELETE_RESOURCE_VARIANTS.size;\n\nexport interface KumoDeleteResourceVariantsProps {\n size?: KumoDeleteResourceSize;\n}\n\nexport interface DeleteResourceProps extends KumoDeleteResourceVariantsProps {\n /** Whether the dialog is open */\n open: boolean;\n /** Callback when open state changes */\n onOpenChange: (open: boolean) => void;\n /** The type of resource being deleted (e.g., \"Zone\", \"Worker\", \"KV Namespace\") */\n resourceType: string;\n /** The name of the specific resource being deleted */\n resourceName: string;\n /** Callback when delete is confirmed */\n onDelete: () => void | Promise<void>;\n /** Whether the delete action is in progress */\n isDeleting?: boolean;\n /** Whether the confirmation input should be case-sensitive (default: true) */\n caseSensitive?: boolean;\n /** Custom delete button text (defaults to \"Delete {resourceType}\") */\n deleteButtonText?: string;\n /** Additional className for the dialog */\n className?: string;\n /** Error message to display if the delete action fails */\n errorMessage?: string;\n}\n\nexport function DeleteResource({\n open,\n onOpenChange,\n resourceType,\n resourceName,\n onDelete,\n isDeleting = false,\n caseSensitive = true,\n deleteButtonText,\n size = KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS.size,\n errorMessage,\n className,\n}: DeleteResourceProps) {\n const [confirmationInput, setConfirmationInput] = useState(\"\");\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n if (!open) {\n setConfirmationInput(\"\");\n setCopied(false);\n }\n }, [open]);\n\n const normalizeForComparison = useCallback(\n (str: string) => (caseSensitive ? str : str.toLowerCase()),\n [caseSensitive],\n );\n\n const isConfirmed =\n normalizeForComparison(confirmationInput) ===\n normalizeForComparison(resourceName);\n\n const handleDelete = useCallback(async () => {\n if (!isConfirmed || isDeleting) return;\n await onDelete();\n }, [isConfirmed, isDeleting, onDelete]);\n\n const handleCopy = useCallback(async () => {\n await navigator.clipboard.writeText(resourceName);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n }, [resourceName]);\n\n return (\n <DialogRoot open={open} onOpenChange={onOpenChange}>\n <Dialog size={size} className={cn(\"p-0\", className)}>\n <div className=\"flex items-center justify-between border-b border-kumo-line px-6 py-4\">\n <DialogTitle className=\"text-lg font-semibold\">\n Delete {resourceName}\n </DialogTitle>\n <DialogClose\n render={(props) => (\n <Button\n {...props}\n variant=\"ghost\"\n shape=\"square\"\n size=\"sm\"\n aria-label=\"Close\"\n disabled={isDeleting}\n >\n <XIcon size={18} />\n </Button>\n )}\n />\n </div>\n\n <div className=\"flex flex-col p-6 gap-4\">\n <div className=\"flex flex-col gap-2\">\n {errorMessage && (\n <Banner icon={<WarningCircleIcon />} variant=\"error\">\n {errorMessage}\n </Banner>\n )}\n <p className=\"text-base text-kumo-subtle max-w-prose text-pretty\">\n This action cannot be undone. This will permanently delete the{\" \"}\n <span className=\"font-medium text-kumo-default\">\n {resourceName}\n </span>{\" \"}\n {resourceType.toLowerCase()}.\n </p>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-1.5 text-base\">\n <span>\n Type{\" \"}\n <button\n className=\"font-mono text-sm inline font-semibold bg-kumo-tint hover:bg-kumo-fill rounded-md px-2 py-1 group hover:cursor-pointer\"\n onClick={handleCopy}\n aria-label={`Copy ${resourceName} to clipboard`}\n >\n {resourceName}\n\n {copied ? (\n <CheckIcon\n size={12}\n weight=\"bold\"\n className=\"inline ml-1.5\"\n />\n ) : (\n <CopyIcon\n size={12}\n weight=\"bold\"\n className=\"inline text-kumo-subtle group-hover:text-kumo-default ml-1.5\"\n />\n )}\n </button>{\" \"}\n to confirm:\n </span>\n </div>\n <Input\n placeholder={resourceName}\n value={confirmationInput}\n onChange={(e) => setConfirmationInput(e.target.value)}\n disabled={isDeleting}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n aria-label={`Type ${resourceName} to confirm deletion`}\n className=\"w-full\"\n />\n </div>\n </div>\n\n <div className=\"flex justify-end gap-3 border-t border-kumo-line px-6 py-4\">\n <DialogClose\n render={(props) => (\n <Button {...props} variant=\"secondary\" disabled={isDeleting}>\n Cancel\n </Button>\n )}\n />\n <Button\n variant=\"destructive\"\n onClick={handleDelete}\n disabled={!isConfirmed || isDeleting}\n loading={isDeleting}\n >\n {deleteButtonText || `Delete ${resourceType}`}\n </Button>\n </div>\n </Dialog>\n </DialogRoot>\n );\n}\n\nDeleteResource.displayName = \"DeleteResource\";\n"],"names":["KUMO_DELETE_RESOURCE_VARIANTS","KUMO_DELETE_RESOURCE_DEFAULT_VARIANTS","DeleteResource","open","onOpenChange","resourceType","resourceName","onDelete","isDeleting","caseSensitive","deleteButtonText","size","errorMessage","className","confirmationInput","setConfirmationInput","useState","copied","setCopied","useEffect","normalizeForComparison","useCallback","str","isConfirmed","handleDelete","handleCopy","jsx","DialogRoot","jsxs","Dialog","cn","DialogTitle","DialogClose","props","Button","XIcon","Banner","WarningCircleIcon","CheckIcon","CopyIcon","Input","e"],"mappings":"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"}
|