@overvis/hmi-workspace-ui 0.1.0 → 0.1.1

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.
Files changed (115) hide show
  1. package/dist/alarm-list-sheAq-pb.js +414 -0
  2. package/dist/alarm-rule-dialog-D_ml7V0v.js +417 -0
  3. package/dist/{alarm-rule-lists-C5v1Kf7A.js → alarm-rule-lists-DaA4soF4.js} +123 -125
  4. package/dist/{alarm-rules-page-CqFzofPd.js → alarm-rules-page-OFjOQ-dm.js} +15 -18
  5. package/dist/alert-dialog-B60PF7S9.js +891 -0
  6. package/dist/{base-revision-YCO27zR4.js → base-revision-DYCOZS0R.js} +26 -29
  7. package/dist/{breadcrumbs-0cjsV2cq.js → breadcrumbs-D2u8KZQo.js} +6 -7
  8. package/dist/{catalog-list-DjZojYLJ.js → catalog-list-LXuRix0-.js} +2 -4
  9. package/dist/{code-editor-BVimvjDV.js → code-editor-BMSyzAxu.js} +5 -6
  10. package/dist/dashboard-bindings.js +1 -2
  11. package/dist/{dashboards-page-BlrJguNz.js → dashboards-page-wnmmLpVC.js} +335 -359
  12. package/dist/{de-14WdmJxZ.js → de-hkEr2usK.js} +1 -2
  13. package/dist/diagnostic-text-CsbENUNI.js +116 -0
  14. package/dist/{dialogs-B6BRnf3Q.js → dialogs-AtIYlNSy.js} +219 -227
  15. package/dist/{dialogs-D_v1LeH4.js → dialogs-DsHbKgZD.js} +2523 -2590
  16. package/dist/{display-DmOo23mi.js → display-DSyEwQt8.js} +4 -6
  17. package/dist/{editor-language-To9MxloY.js → editor-language-CTfJBXMs.js} +3 -5
  18. package/dist/editor-page-BWbVGJvU.js +1337 -0
  19. package/dist/{en-BgercpT0.js → en-UW_k-Bd6.js} +1 -2
  20. package/dist/entity-controls-BCuRx882.js +71 -0
  21. package/dist/errors-Cawve9yD.js +25 -0
  22. package/dist/{footer-DC-Q0052.js → footer-B9XdpVzq.js} +2404 -2515
  23. package/dist/host.js +8143 -675
  24. package/dist/{i18n-BgzakKoC.js → i18n-Dt6xbSK6.js} +77 -90
  25. package/dist/i18n.js +1 -2
  26. package/dist/index.js +5149 -5345
  27. package/dist/{lat-lng-B12P7QyY.js → lat-lng-Bl77AGSO.js} +1 -2
  28. package/dist/{list-page-CvsdZb86.js → list-page-agHupfNb.js} +116 -123
  29. package/dist/{location-map-renderer-DO5yfdSU.js → location-map-renderer-kxU6cgFl.js} +6 -6
  30. package/dist/{location-picker-renderer-CjCxg6ai.js → location-picker-renderer-B1_-n8lf.js} +3 -4
  31. package/dist/{model-B8gGi4OK.js → model-tpg_xpFB.js} +1 -2
  32. package/dist/{notice-card-DyGywFsW.js → notice-card-CH28rYUt.js} +54 -58
  33. package/dist/{page-v6LCwswN.js → page-CZPHJUmz.js} +92 -100
  34. package/dist/page-DpdkOGGb.js +449 -0
  35. package/dist/page-HCGXXGjy.js +507 -0
  36. package/dist/panel-BCwBlB_h.js +949 -0
  37. package/dist/parameter-values.js +3 -16
  38. package/dist/{pl-lQ9HXV9k.js → pl-BokvsP3J.js} +1 -2
  39. package/dist/presence-code-cT6wxlTg.js +73 -0
  40. package/dist/{query-gate-DVhNIkge.js → query-gate-DqmHsZ07.js} +6 -6
  41. package/dist/{provider-DoEpKcQ-.js → quick-report-DEqqwQxR.js} +9423 -5102
  42. package/dist/{retention-BYXNpYmR.js → retention-DZ0reGGe.js} +4 -6
  43. package/dist/retention-note-nequESpo.js +40 -0
  44. package/dist/{rolldown-runtime-Dy4uBu1J.js → rolldown-runtime-CGnMp29N.js} +1 -2
  45. package/dist/{ru-qTKINoUj.js → ru-DZSlsRHq.js} +1 -2
  46. package/dist/run-text-DneX9rWh.js +112 -0
  47. package/dist/{search-D4rDnE9T.js → search-DP9_alSQ.js} +26 -29
  48. package/dist/{sections-kCOyc4NR.js → sections-BU7NKUOQ.js} +2 -3
  49. package/dist/{select-BKiOWdSr.js → select-Te6Qv1Zu.js} +17 -23
  50. package/dist/{spinner-C-HPNxOc.js → spinner-BRcNKwjH.js} +182 -201
  51. package/dist/src/version.d.ts +1 -1
  52. package/dist/src/workspace/local-workspace-app.d.ts +1 -1
  53. package/dist/src/workspace/routes.d.ts +1 -1
  54. package/dist/{starter-fields-BRLX0z-v.js → starter-fields-yM4B49nd.js} +154 -157
  55. package/dist/{starter-handoff-BA3ucMKL.js → starter-handoff-BaK8Ss8I.js} +1 -2
  56. package/dist/styles.css +1 -1
  57. package/dist/ui.js +334 -374
  58. package/dist/{uk-CwpJAxmx.js → uk-CjXPq9Lk.js} +1 -2
  59. package/dist/{wireguard-docs-AfU6NzTL.js → wireguard-docs-CC8XKBR7.js} +14 -17
  60. package/package.json +15 -9
  61. package/dist/alarm-list-BL3xQ5Lf.js +0 -423
  62. package/dist/alarm-rule-dialog-S1ZUg-74.js +0 -423
  63. package/dist/alert-B8MAoIO8.js +0 -45
  64. package/dist/alert-dialog-CYkuMg5D.js +0 -129
  65. package/dist/api-error-9rQmUN5L.js +0 -93
  66. package/dist/breadcrumb-DzVL1yHa.js +0 -74
  67. package/dist/button-6SxPBYMz.js +0 -44
  68. package/dist/context-u9KJQmdB.js +0 -102
  69. package/dist/copyable-id-DYGiAcnq.js +0 -40
  70. package/dist/dashboard-context-CBfG6DoT.js +0 -191
  71. package/dist/date-time-picker-C3FhMXk6.js +0 -266
  72. package/dist/diagnostic-text-BAkzW0SE.js +0 -111
  73. package/dist/diagnostic-text-DiKd2i1w.js +0 -76
  74. package/dist/dialog-BIhQXcZC.js +0 -237
  75. package/dist/dialog-BqyIxMD-.js +0 -54
  76. package/dist/dropdown-menu-DSzbBq3v.js +0 -136
  77. package/dist/editor-page-BiSZJz5b.js +0 -1353
  78. package/dist/empty-B-QJ-06w.js +0 -59
  79. package/dist/entity-controls-D1K4Ot3O.js +0 -76
  80. package/dist/errors-CcsvDHu8.js +0 -26
  81. package/dist/history-page-sAAhG54V.js +0 -1400
  82. package/dist/icon-D-pR9htW.js +0 -57
  83. package/dist/index-page-DMH82fZe.js +0 -214
  84. package/dist/item-B5SaTFQU.js +0 -120
  85. package/dist/mutation-form-validators-BNz5bsv1.js +0 -2408
  86. package/dist/mutations-THtGG6Ai.js +0 -240
  87. package/dist/page-2KPemaAj.js +0 -328
  88. package/dist/page-6rIoTg2L.js +0 -459
  89. package/dist/page-C6giEoEd.js +0 -1935
  90. package/dist/page-DCbTxKsi.js +0 -313
  91. package/dist/page-DWO427hT.js +0 -208
  92. package/dist/page-LXu_2zm3.js +0 -137
  93. package/dist/page-aaUiVOnk.js +0 -513
  94. package/dist/page-header-RB2YFWlE.js +0 -55
  95. package/dist/page-title-CdCbiLt8.js +0 -14
  96. package/dist/panel-DDy8tUNR.js +0 -338
  97. package/dist/presence-code-BfSXr50g.js +0 -83
  98. package/dist/progress-C7cxNJA1.js +0 -83
  99. package/dist/provider-BOeYHi0n.js +0 -134
  100. package/dist/quick-report-CUVJnbKP.js +0 -416
  101. package/dist/radio-group-CZGqVbkJ.js +0 -26
  102. package/dist/retention-note-CHhA6gjY.js +0 -42
  103. package/dist/run-text-DvaO8LDF.js +0 -113
  104. package/dist/select-eNgZdZ30.js +0 -521
  105. package/dist/skeleton-6yk8Tdh5.js +0 -19
  106. package/dist/slider-DorDsoF8.js +0 -37
  107. package/dist/status-page-DAHiKM9P.js +0 -3286
  108. package/dist/switch-BqD0RH_G.js +0 -18
  109. package/dist/table-Q2-voLuw.js +0 -65
  110. package/dist/tabs-CSIucYFP.js +0 -57
  111. package/dist/theme-provider-BkRohQFU.js +0 -61
  112. package/dist/toggle-group-9Bs0Mm3r.js +0 -82
  113. package/dist/trpc-CvJUuUXp.js +0 -153
  114. package/dist/utils-CX-Pz5p6.js +0 -8
  115. package/dist/writability-BuH-spxv.js +0 -57
@@ -0,0 +1,891 @@
1
+ import { m as e } from "./i18n-Dt6xbSK6.js";
2
+ import * as t from "react";
3
+ import { createContext as n, useCallback as r, useContext as i, useEffect as a, useMemo as o, useState as s } from "react";
4
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ import { CheckIcon as u, ChevronRightIcon as d, XIcon as ee } from "lucide-react";
6
+ import { clsx as te } from "clsx";
7
+ import { twMerge as ne } from "tailwind-merge";
8
+ import { cva as f } from "class-variance-authority";
9
+ import { Button as re } from "@base-ui/react/button";
10
+ import { Slider as p } from "@base-ui/react/slider";
11
+ import { Switch as m } from "@base-ui/react/switch";
12
+ import { Toggle as h } from "@base-ui/react/toggle";
13
+ import { ToggleGroup as ie } from "@base-ui/react/toggle-group";
14
+ import { Dialog as g } from "@base-ui/react/dialog";
15
+ import { Tooltip as _ } from "@base-ui/react/tooltip";
16
+ import { Menu as v } from "@base-ui/react/menu";
17
+ import { Progress as y } from "@base-ui/react/progress";
18
+ // src/lib/utils.ts
19
+ function b(...e) {
20
+ return ne(te(e));
21
+ }
22
+ // src/ui/button.tsx
23
+ var x = f("\n group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-lg border\n border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all\n outline-none select-none\n focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\n active:not-aria-[haspopup]:translate-y-px\n disabled:cursor-not-allowed disabled:opacity-50\n aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\n dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n ", {
24
+ variants: {
25
+ variant: {
26
+ default: "\n bg-primary text-primary-foreground shadow-xs\n hover:bg-primary/90\n ",
27
+ outline: "\n border-input bg-background text-foreground shadow-xs\n hover:bg-muted hover:text-foreground\n aria-expanded:bg-muted aria-expanded:text-foreground\n ",
28
+ secondary: "\n bg-secondary text-secondary-foreground\n hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]\n aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\n ",
29
+ ghost: "\n hover:bg-muted hover:text-foreground\n aria-expanded:bg-muted aria-expanded:text-foreground\n dark:hover:bg-muted/50\n ",
30
+ destructive: "\n bg-destructive/10 text-destructive\n hover:bg-destructive/20\n focus-visible:border-destructive/40 focus-visible:ring-destructive/20\n dark:bg-destructive/20\n dark:hover:bg-destructive/30\n dark:focus-visible:ring-destructive/40\n ",
31
+ link: "\n text-primary underline-offset-4\n hover:underline\n "
32
+ },
33
+ size: {
34
+ default: "\n h-8 gap-1.5 px-2.5\n has-data-[icon=inline-end]:pr-2\n has-data-[icon=inline-start]:pl-2\n ",
35
+ xs: "\n h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs\n in-data-[slot=button-group]:rounded-lg\n has-data-[icon=inline-end]:pr-1.5\n has-data-[icon=inline-start]:pl-1.5\n [&_svg:not([class*='size-'])]:size-3\n ",
36
+ sm: "\n h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem]\n in-data-[slot=button-group]:rounded-lg\n has-data-[icon=inline-end]:pr-1.5\n has-data-[icon=inline-start]:pl-1.5\n [&_svg:not([class*='size-'])]:size-3.5\n ",
37
+ lg: "\n h-9 gap-1.5 px-2.5\n has-data-[icon=inline-end]:pr-2\n has-data-[icon=inline-start]:pl-2\n ",
38
+ icon: "size-8",
39
+ "icon-xs": "\n size-6 rounded-[min(var(--radius-md),10px)]\n in-data-[slot=button-group]:rounded-lg\n [&_svg:not([class*='size-'])]:size-3\n ",
40
+ "icon-sm": "\n size-7 rounded-[min(var(--radius-md),12px)]\n in-data-[slot=button-group]:rounded-lg\n ",
41
+ "icon-lg": "size-9"
42
+ }
43
+ },
44
+ defaultVariants: {
45
+ variant: "default",
46
+ size: "default"
47
+ }
48
+ });
49
+ function S({ className: e, variant: t = "default", size: n = "default", ...r }) {
50
+ return /* @__PURE__ */ c(re, {
51
+ "data-slot": "button",
52
+ className: b(x({
53
+ variant: t,
54
+ size: n,
55
+ className: e
56
+ })),
57
+ ...r
58
+ });
59
+ }
60
+ // src/ui/content-overlay/dismiss.ts
61
+ function C(e, t) {
62
+ if (typeof e != "object" || !e || !("closest" in e)) return !1;
63
+ let n = e.closest;
64
+ return typeof n == "function" && n.call(e, t) != null;
65
+ }
66
+ function w(e) {
67
+ return e.nextOpen ? !1 : e.reason === "focus-out" ? !0 : e.reason === "escape-key" ? !C(e.event.target, "[data-slot='dialog-content'], [data-slot='sheet-content'], [data-slot='alert-dialog-content'], [data-slot='drawer-popup']") : e.reason === "outside-press" && !C(e.event.target, "[data-slot='dialog-overlay'], [data-slot='sheet-overlay'], [data-slot='alert-dialog-overlay'], [data-slot='drawer-overlay']");
68
+ }
69
+ // src/ui/content-overlay/region.tsx
70
+ var T = n(null);
71
+ function E() {
72
+ return i(T);
73
+ }
74
+ function D() {
75
+ let e = E();
76
+ a(() => {
77
+ if (e != null) return e.acquire();
78
+ }, [e]);
79
+ }
80
+ function O({ children: e }) {
81
+ let [t, n] = s(null), [i, a] = s(0), l = r((e) => {
82
+ n(e);
83
+ }, []), u = r(() => (a((e) => e + 1), () => {
84
+ a((e) => e - 1);
85
+ }), []), d = o(() => ({
86
+ container: t,
87
+ registerContainer: l,
88
+ acquire: u,
89
+ lockCount: i
90
+ }), [
91
+ t,
92
+ l,
93
+ u,
94
+ i
95
+ ]);
96
+ return /* @__PURE__ */ c(T.Provider, {
97
+ value: d,
98
+ children: e
99
+ });
100
+ }
101
+ function ae({ children: e }) {
102
+ return /* @__PURE__ */ c(T.Provider, {
103
+ value: null,
104
+ children: e
105
+ });
106
+ }
107
+ function oe({ registerContainer: e, locked: t, children: n, className: r, underlayClassName: i }) {
108
+ return /* @__PURE__ */ c("div", {
109
+ ref: e,
110
+ "data-slot": "content-overlay-region",
111
+ className: b("relative isolate flex min-h-0 min-w-0 flex-1 flex-col overflow-clip", r),
112
+ children: /* @__PURE__ */ c("div", {
113
+ "data-slot": "content-overlay-underlay",
114
+ className: b("flex min-h-0 min-w-0 flex-1 flex-col", i),
115
+ inert: t ? !0 : void 0,
116
+ children: n
117
+ })
118
+ });
119
+ }
120
+ function k({ children: e, className: t, underlayClassName: n = "overflow-y-auto" }) {
121
+ let r = E();
122
+ return r == null ? /* @__PURE__ */ c(O, { children: /* @__PURE__ */ c(k, {
123
+ ...t == null ? {} : { className: t },
124
+ underlayClassName: n,
125
+ children: e
126
+ }) }) : /* @__PURE__ */ c(oe, {
127
+ registerContainer: r.registerContainer,
128
+ locked: r.lockCount > 0,
129
+ ...t == null ? {} : { className: t },
130
+ underlayClassName: n,
131
+ children: e
132
+ });
133
+ }
134
+ // src/ui/content-overlay/tab-wrap.ts
135
+ var se = "a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex='-1'])";
136
+ function ce(e) {
137
+ let t = [];
138
+ for (let n of e.querySelectorAll(se)) n.tabIndex < 0 || n.hidden || n.getAttribute("aria-hidden") === "true" || t.push(n);
139
+ return t;
140
+ }
141
+ function A(e, t) {
142
+ if (e.key !== "Tab") return;
143
+ let n = ce(t), r = n[0], i = n[n.length - 1];
144
+ r == null || i == null ? e.preventDefault() : e.shiftKey ? document.activeElement === r && (e.preventDefault(), i.focus()) : document.activeElement === i && (e.preventDefault(), r.focus());
145
+ }
146
+ // src/ui/theme-scope.tsx
147
+ var j = n(void 0);
148
+ function le({ children: e }) {
149
+ return /* @__PURE__ */ c(j.Provider, {
150
+ value: "light",
151
+ children: e
152
+ });
153
+ }
154
+ function M() {
155
+ return i(j);
156
+ }
157
+ // src/ui/skeleton.tsx
158
+ function ue({ className: e, ...t }) {
159
+ return /* @__PURE__ */ c("div", {
160
+ "data-slot": "skeleton",
161
+ className: b("animate-pulse rounded-md bg-muted", e),
162
+ ...t
163
+ });
164
+ }
165
+ function de({ className: e, ...t }) {
166
+ return /* @__PURE__ */ c("span", {
167
+ "data-slot": "skeleton",
168
+ className: b("block animate-pulse rounded-md bg-muted", e),
169
+ ...t
170
+ });
171
+ }
172
+ // src/ui/textarea.tsx
173
+ function fe({ className: e, ...t }) {
174
+ return /* @__PURE__ */ c("textarea", {
175
+ "data-slot": "textarea",
176
+ className: b("\n flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-background\n px-2.5 py-2 text-sm shadow-xs transition-colors outline-none\n placeholder:text-muted-foreground\n focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\n disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50\n disabled:opacity-50\n aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\n dark:bg-input/20\n dark:disabled:bg-input/80\n dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\n ", e),
177
+ ...t
178
+ });
179
+ }
180
+ // src/ui/table.tsx
181
+ function N({ className: e, ...t }) {
182
+ return /* @__PURE__ */ c("div", {
183
+ "data-slot": "table-container",
184
+ className: "relative w-full overflow-x-auto",
185
+ children: /* @__PURE__ */ c("table", {
186
+ "data-slot": "table",
187
+ className: b("w-full caption-bottom text-sm", e),
188
+ ...t
189
+ })
190
+ });
191
+ }
192
+ function P({ className: e, ...t }) {
193
+ return /* @__PURE__ */ c("thead", {
194
+ "data-slot": "table-header",
195
+ className: b("[&_tr]:border-b", e),
196
+ ...t
197
+ });
198
+ }
199
+ function F({ className: e, ...t }) {
200
+ return /* @__PURE__ */ c("tbody", {
201
+ "data-slot": "table-body",
202
+ className: b("[&_tr:last-child]:border-0", e),
203
+ ...t
204
+ });
205
+ }
206
+ function I({ className: e, ...t }) {
207
+ return /* @__PURE__ */ c("tfoot", {
208
+ "data-slot": "table-footer",
209
+ className: b("\n border-t bg-muted/50 font-medium\n [&>tr]:last:border-b-0\n ", e),
210
+ ...t
211
+ });
212
+ }
213
+ function L({ className: e, ...t }) {
214
+ return /* @__PURE__ */ c("tr", {
215
+ "data-slot": "table-row",
216
+ className: b("\n border-b transition-colors\n hover:bg-muted/40\n has-aria-expanded:bg-muted/40\n data-[state=selected]:bg-muted\n ", e),
217
+ ...t
218
+ });
219
+ }
220
+ function R({ className: e, ...t }) {
221
+ return /* @__PURE__ */ c("th", {
222
+ "data-slot": "table-head",
223
+ className: b("\n h-8 px-2 text-left align-middle text-xs font-medium whitespace-nowrap\n text-muted-foreground\n has-[[role=checkbox]]:pr-0\n ", e),
224
+ ...t
225
+ });
226
+ }
227
+ function z({ className: e, ...t }) {
228
+ return /* @__PURE__ */ c("td", {
229
+ "data-slot": "table-cell",
230
+ className: b("\n px-2 py-1.5 align-middle whitespace-nowrap\n has-[[role=checkbox]]:pr-0\n ", e),
231
+ ...t
232
+ });
233
+ }
234
+ function B({ className: e, ...t }) {
235
+ return /* @__PURE__ */ c("caption", {
236
+ "data-slot": "table-caption",
237
+ className: b("mt-4 text-sm text-muted-foreground", e),
238
+ ...t
239
+ });
240
+ }
241
+ // src/ui/empty.tsx
242
+ function V({ className: e, ...t }) {
243
+ return /* @__PURE__ */ c("div", {
244
+ "data-slot": "empty",
245
+ className: b("\n flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl\n border-dashed p-6 text-center text-balance\n ", e),
246
+ ...t
247
+ });
248
+ }
249
+ function pe({ className: e, ...t }) {
250
+ return /* @__PURE__ */ c("div", {
251
+ "data-slot": "empty-header",
252
+ className: b("flex max-w-sm flex-col items-center gap-2", e),
253
+ ...t
254
+ });
255
+ }
256
+ var me = f("\n mb-2 flex shrink-0 items-center justify-center\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n ", {
257
+ variants: { variant: {
258
+ default: "bg-transparent",
259
+ icon: "\n flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground\n [&_svg:not([class*='size-'])]:size-4\n "
260
+ } },
261
+ defaultVariants: { variant: "default" }
262
+ });
263
+ function he({ className: e, variant: t = "default", ...n }) {
264
+ return /* @__PURE__ */ c("div", {
265
+ "data-slot": "empty-icon",
266
+ "data-variant": t,
267
+ className: b(me({
268
+ variant: t,
269
+ className: e
270
+ })),
271
+ ...n
272
+ });
273
+ }
274
+ function ge({ className: e, ...t }) {
275
+ return /* @__PURE__ */ c("div", {
276
+ "data-slot": "empty-title",
277
+ className: b("text-sm font-medium tracking-tight", e),
278
+ ...t
279
+ });
280
+ }
281
+ function _e({ className: e, ...t }) {
282
+ return /* @__PURE__ */ c("div", {
283
+ "data-slot": "empty-description",
284
+ className: b("\n text-sm/relaxed text-muted-foreground\n [&>a]:underline [&>a]:underline-offset-4\n [&>a:hover]:text-primary\n ", e),
285
+ ...t
286
+ });
287
+ }
288
+ function ve({ className: e, ...t }) {
289
+ return /* @__PURE__ */ c("div", {
290
+ "data-slot": "empty-content",
291
+ className: b("flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance", e),
292
+ ...t
293
+ });
294
+ }
295
+ // src/ui/alert.tsx
296
+ var ye = f("\n group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm\n has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18\n has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2\n *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current\n *:[svg:not([class*='size-'])]:size-4\n ", {
297
+ variants: { variant: {
298
+ default: "bg-card text-card-foreground",
299
+ destructive: "\n bg-card text-destructive\n *:data-[slot=alert-description]:text-destructive/90\n *:[svg]:text-current\n ",
300
+ warning: "\n border-amber-500/40 bg-amber-500/10 text-amber-950\n *:data-[slot=alert-description]:text-amber-950/80\n dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-100\n dark:*:data-[slot=alert-description]:text-amber-100/80\n *:[svg]:text-amber-700\n dark:*:[svg]:text-amber-300\n ",
301
+ info: "\n border-sky-500/40 bg-sky-500/10 text-sky-950\n *:data-[slot=alert-description]:text-sky-950/80\n dark:border-sky-500/30 dark:bg-sky-500/10 dark:text-sky-100\n dark:*:data-[slot=alert-description]:text-sky-100/80\n *:[svg]:text-sky-700\n dark:*:[svg]:text-sky-300\n "
302
+ } },
303
+ defaultVariants: { variant: "default" }
304
+ });
305
+ function be({ className: e, variant: t, ...n }) {
306
+ return /* @__PURE__ */ c("div", {
307
+ "data-slot": "alert",
308
+ role: "alert",
309
+ className: b(ye({ variant: t }), e),
310
+ ...n
311
+ });
312
+ }
313
+ function xe({ className: e, ...t }) {
314
+ return /* @__PURE__ */ c("div", {
315
+ "data-slot": "alert-title",
316
+ className: b("\n font-medium\n group-has-[>svg]/alert:col-start-2\n [&_a]:underline [&_a]:underline-offset-3\n [&_a]:hover:text-foreground\n ", e),
317
+ ...t
318
+ });
319
+ }
320
+ function Se({ className: e, ...t }) {
321
+ return /* @__PURE__ */ c("div", {
322
+ "data-slot": "alert-description",
323
+ className: b("\n text-sm text-balance text-muted-foreground\n md:text-pretty\n [&_a]:underline [&_a]:underline-offset-3\n [&_a]:hover:text-foreground\n [&_p:not(:last-child)]:mb-4\n ", e),
324
+ ...t
325
+ });
326
+ }
327
+ function Ce({ className: e, ...t }) {
328
+ return /* @__PURE__ */ c("div", {
329
+ "data-slot": "alert-action",
330
+ className: b("absolute top-2 right-2", e),
331
+ ...t
332
+ });
333
+ }
334
+ // src/ui/slider.tsx
335
+ function we({ className: e, defaultValue: t, value: n, min: r = 0, max: i = 100, "aria-label": a, "aria-labelledby": o, ...s }) {
336
+ let u = Array.isArray(n) ? n : Array.isArray(t) ? t : [r, i];
337
+ return /* @__PURE__ */ c(p.Root, {
338
+ className: b("\n data-horizontal:w-full\n data-vertical:h-full\n ", e),
339
+ "data-slot": "slider",
340
+ defaultValue: t,
341
+ value: n,
342
+ min: r,
343
+ max: i,
344
+ "aria-label": a,
345
+ "aria-labelledby": o,
346
+ thumbAlignment: "edge",
347
+ ...s,
348
+ children: /* @__PURE__ */ l(p.Control, {
349
+ className: "\n relative flex w-full touch-none items-center select-none\n data-disabled:opacity-50\n data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col\n ",
350
+ children: [/* @__PURE__ */ c(p.Track, {
351
+ "data-slot": "slider-track",
352
+ className: "\n relative grow overflow-hidden rounded-full bg-muted select-none\n data-horizontal:h-1 data-horizontal:w-full\n data-vertical:h-full data-vertical:w-1\n ",
353
+ children: /* @__PURE__ */ c(p.Indicator, {
354
+ "data-slot": "slider-range",
355
+ className: "\n bg-primary select-none\n data-horizontal:h-full\n data-vertical:w-full\n "
356
+ })
357
+ }), Array.from({ length: u.length }, (e, t) => /* @__PURE__ */ c(p.Thumb, {
358
+ "data-slot": "slider-thumb",
359
+ "aria-label": a,
360
+ "aria-labelledby": o,
361
+ className: "\n relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50\n transition-[color,box-shadow] select-none\n after:absolute after:-inset-2\n hover:ring-3\n focus-visible:ring-3 focus-visible:outline-hidden\n active:ring-3\n disabled:pointer-events-none disabled:opacity-50\n "
362
+ }, t))]
363
+ })
364
+ });
365
+ }
366
+ // src/ui/switch.tsx
367
+ function Te({ className: e, size: t = "default", ...n }) {
368
+ return /* @__PURE__ */ c(m.Root, {
369
+ "data-slot": "switch",
370
+ "data-size": t,
371
+ className: b("\n peer group/switch relative inline-flex shrink-0 cursor-pointer items-center rounded-full\n border border-transparent transition-all outline-none\n after:absolute after:-inset-x-3 after:-inset-y-2\n focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\n aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\n data-[size=default]:h-[18.4px] data-[size=default]:w-[32px]\n data-[size=sm]:h-[14px] data-[size=sm]:w-[24px]\n dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\n data-checked:bg-primary\n data-unchecked:bg-input\n dark:data-unchecked:bg-input/80\n data-disabled:cursor-not-allowed data-disabled:opacity-50\n ", e),
372
+ ...n,
373
+ children: /* @__PURE__ */ c(m.Thumb, {
374
+ "data-slot": "switch-thumb",
375
+ className: "\n pointer-events-none block rounded-full bg-background ring-0 transition-transform\n group-data-[size=default]/switch:size-4\n group-data-[size=sm]/switch:size-3\n group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)]\n group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)]\n dark:data-checked:bg-primary-foreground\n group-data-[size=default]/switch:data-unchecked:translate-x-0\n group-data-[size=sm]/switch:data-unchecked:translate-x-0\n dark:data-unchecked:bg-foreground\n "
376
+ })
377
+ });
378
+ }
379
+ // src/ui/toggle.tsx
380
+ var H = f("\n group/toggle inline-flex cursor-pointer items-center justify-center gap-1 rounded-lg text-sm\n font-medium whitespace-nowrap transition-all outline-none\n hover:bg-muted hover:text-foreground\n focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\n disabled:pointer-events-none disabled:opacity-50\n aria-invalid:border-destructive aria-invalid:ring-destructive/20\n aria-pressed:bg-muted\n data-[state=on]:bg-muted\n dark:aria-invalid:ring-destructive/40\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n ", {
381
+ variants: {
382
+ variant: {
383
+ default: "bg-transparent",
384
+ outline: "\n border border-input bg-transparent\n hover:bg-muted\n "
385
+ },
386
+ size: {
387
+ default: "\n h-8 min-w-8 px-2.5\n has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\n ",
388
+ sm: "\n h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem]\n has-data-[icon=inline-end]:pr-1.5\n has-data-[icon=inline-start]:pl-1.5\n [&_svg:not([class*='size-'])]:size-3.5\n ",
389
+ lg: "\n h-9 min-w-9 px-2.5\n has-data-[icon=inline-end]:pr-2\n has-data-[icon=inline-start]:pl-2\n "
390
+ }
391
+ },
392
+ defaultVariants: {
393
+ variant: "default",
394
+ size: "default"
395
+ }
396
+ });
397
+ function Ee({ className: e, variant: t = "default", size: n = "default", ...r }) {
398
+ return /* @__PURE__ */ c(h, {
399
+ "data-slot": "toggle",
400
+ className: b(H({
401
+ variant: t,
402
+ size: n,
403
+ className: e
404
+ })),
405
+ ...r
406
+ });
407
+ }
408
+ // src/ui/toggle-group.tsx
409
+ var U = t.createContext({
410
+ size: "default",
411
+ variant: "default",
412
+ spacing: 2,
413
+ orientation: "horizontal"
414
+ });
415
+ function De({ className: e, variant: t, size: n, spacing: r = 2, orientation: i = "horizontal", children: a, ...o }) {
416
+ let s = {};
417
+ return Object.assign(s, { "--gap": r }), /* @__PURE__ */ c(ie, {
418
+ "data-slot": "toggle-group",
419
+ "data-variant": t,
420
+ "data-size": n,
421
+ "data-spacing": r,
422
+ "data-orientation": i,
423
+ style: s,
424
+ className: b("\n group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))]\n rounded-lg\n data-[size=sm]:rounded-[min(var(--radius-md),10px)]\n data-vertical:flex-col data-vertical:items-stretch\n ", e),
425
+ ...o,
426
+ children: /* @__PURE__ */ c(U.Provider, {
427
+ value: {
428
+ variant: t,
429
+ size: n,
430
+ spacing: r,
431
+ orientation: i
432
+ },
433
+ children: a
434
+ })
435
+ });
436
+ }
437
+ function Oe({ className: e, children: n, variant: r = "default", size: i = "default", ...a }) {
438
+ let o = t.useContext(U), s = o.variant ?? r, l = o.size ?? i;
439
+ return /* @__PURE__ */ c(h, {
440
+ "data-slot": "toggle-group-item",
441
+ "data-variant": s,
442
+ "data-size": l,
443
+ "data-spacing": o.spacing,
444
+ className: b("\n shrink-0\n group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2\n focus:z-10\n focus-visible:z-10\n group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5\n group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5\n group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg\n group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg\n group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg\n group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg\n group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0\n group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0\n group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l\n group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t\n ", H({
445
+ variant: s,
446
+ size: l
447
+ }), e),
448
+ ...a,
449
+ children: n
450
+ });
451
+ }
452
+ // src/ui/content-overlay/root.ts
453
+ function W(e) {
454
+ let { modal: t = !1, onOpenChange: n, ...r } = e, i = (e, t) => {
455
+ w({
456
+ nextOpen: e,
457
+ reason: t.reason,
458
+ event: t.event
459
+ }) ? t.cancel() : n?.(e, t);
460
+ };
461
+ return {
462
+ ...r,
463
+ modal: t,
464
+ onOpenChange: i
465
+ };
466
+ }
467
+ // src/ui/dialog.tsx
468
+ function ke(e) {
469
+ return /* @__PURE__ */ c(g.Root, {
470
+ "data-slot": "dialog",
471
+ ...W(e)
472
+ });
473
+ }
474
+ function Ae({ ...e }) {
475
+ return /* @__PURE__ */ c(g.Trigger, {
476
+ "data-slot": "dialog-trigger",
477
+ ...e
478
+ });
479
+ }
480
+ function G({ ...e }) {
481
+ let t = E(), n = t?.container;
482
+ return t != null && n == null ? null : /* @__PURE__ */ c(g.Portal, {
483
+ "data-slot": "dialog-portal",
484
+ ...e,
485
+ container: n ?? void 0
486
+ });
487
+ }
488
+ function je({ ...e }) {
489
+ return /* @__PURE__ */ c(g.Close, {
490
+ "data-slot": "dialog-close",
491
+ ...e
492
+ });
493
+ }
494
+ function K({ className: e, backdropBlur: t = !0, ...n }) {
495
+ D();
496
+ let r = E();
497
+ return /* @__PURE__ */ c(g.Backdrop, {
498
+ "data-slot": "dialog-overlay",
499
+ forceRender: !0,
500
+ className: b("\n inset-0 isolate z-50 bg-black/20 duration-100\n dark:bg-black/50\n data-open:animate-in data-open:fade-in-0\n motion-reduce:data-open:animate-none\n data-closed:animate-out data-closed:fade-out-0\n motion-reduce:data-closed:animate-none\n ", r?.container == null ? "fixed" : "absolute", t && "supports-backdrop-filter:backdrop-blur-xs", e),
501
+ ...n
502
+ });
503
+ }
504
+ function q({ className: t, children: n, showCloseButton: r = !0, backdropBlur: i = !0, onKeyDown: a, ...o }) {
505
+ let s = e(), u = E(), d = M();
506
+ return /* @__PURE__ */ l(G, { children: [/* @__PURE__ */ c(K, { backdropBlur: i }), /* @__PURE__ */ l(g.Popup, {
507
+ "data-slot": "dialog-content",
508
+ "data-theme": d,
509
+ className: b("\n top-1/2 left-1/2 z-50 grid max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)]\n -translate-1/2 gap-4 overflow-y-auto rounded-xl border bg-popover p-4 text-sm\n text-popover-foreground shadow-xl duration-100 outline-none\n sm:max-w-sm\n data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95\n motion-reduce:data-open:animate-none\n data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\n motion-reduce:data-closed:animate-none\n ", u?.container == null ? "fixed" : "absolute", t),
510
+ ...o,
511
+ onKeyDown: (e) => {
512
+ A(e, e.currentTarget), a?.(e);
513
+ },
514
+ children: [n, r ? /* @__PURE__ */ l(g.Close, {
515
+ "data-slot": "dialog-close",
516
+ render: /* @__PURE__ */ c(S, {
517
+ variant: "ghost",
518
+ className: "absolute top-2 right-2",
519
+ size: "icon-sm"
520
+ }),
521
+ children: [/* @__PURE__ */ c(ee, {}), /* @__PURE__ */ c("span", {
522
+ className: "sr-only",
523
+ children: s("action_close")
524
+ })]
525
+ }) : null]
526
+ })] });
527
+ }
528
+ function Me({ className: e, ...t }) {
529
+ return /* @__PURE__ */ c("div", {
530
+ "data-slot": "dialog-header",
531
+ className: b("flex flex-col gap-2", e),
532
+ ...t
533
+ });
534
+ }
535
+ function Ne({ className: e, children: t, ...n }) {
536
+ return /* @__PURE__ */ c("div", {
537
+ "data-slot": "dialog-footer",
538
+ className: b("\n order-last -mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/40 p-4\n sm:flex-row sm:justify-end\n ", e),
539
+ ...n,
540
+ children: t
541
+ });
542
+ }
543
+ function Pe({ className: e, ...t }) {
544
+ return /* @__PURE__ */ c(g.Title, {
545
+ "data-slot": "dialog-title",
546
+ className: b("font-heading text-base leading-none font-semibold", e),
547
+ ...t
548
+ });
549
+ }
550
+ function Fe({ className: e, ...t }) {
551
+ return /* @__PURE__ */ c(g.Description, {
552
+ "data-slot": "dialog-description",
553
+ className: b("\n text-sm text-muted-foreground\n *:[a]:underline *:[a]:underline-offset-3\n *:[a]:hover:text-foreground\n ", e),
554
+ ...t
555
+ });
556
+ }
557
+ // src/ui/tooltip.tsx
558
+ function Ie({ delay: e = 0, ...t }) {
559
+ return /* @__PURE__ */ c(_.Provider, {
560
+ "data-slot": "tooltip-provider",
561
+ delay: e,
562
+ ...t
563
+ });
564
+ }
565
+ function Le({ ...e }) {
566
+ return /* @__PURE__ */ c(_.Root, {
567
+ "data-slot": "tooltip",
568
+ ...e
569
+ });
570
+ }
571
+ function Re({ ...e }) {
572
+ return /* @__PURE__ */ c(_.Trigger, {
573
+ "data-slot": "tooltip-trigger",
574
+ ...e
575
+ });
576
+ }
577
+ function ze({ className: e, side: t = "top", sideOffset: n = 4, align: r = "center", alignOffset: i = 0, children: a, ...o }) {
578
+ let s = M();
579
+ return /* @__PURE__ */ c(_.Portal, { children: /* @__PURE__ */ c(_.Positioner, {
580
+ align: r,
581
+ alignOffset: i,
582
+ side: t,
583
+ sideOffset: n,
584
+ className: "isolate z-50",
585
+ children: /* @__PURE__ */ l(_.Popup, {
586
+ "data-slot": "tooltip-content",
587
+ "data-theme": s,
588
+ className: b("\n z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5\n rounded-md bg-foreground px-3 py-1.5 text-xs text-background\n has-data-[slot=kbd]:pr-1.5\n data-[side=bottom]:slide-in-from-top-2\n data-[side=inline-end]:slide-in-from-left-2\n data-[side=inline-start]:slide-in-from-right-2\n data-[side=left]:slide-in-from-right-2\n data-[side=right]:slide-in-from-left-2\n data-[side=top]:slide-in-from-bottom-2\n **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50\n **:data-[slot=kbd]:rounded-sm\n data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0\n data-[state=delayed-open]:zoom-in-95\n data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95\n data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\n ", e),
589
+ ...o,
590
+ children: [a, /* @__PURE__ */ c(_.Arrow, { className: "\n z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground\n fill-foreground\n data-[side=bottom]:top-1\n data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1\n data-[side=inline-end]:-translate-y-1/2\n data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1\n data-[side=inline-start]:-translate-y-1/2\n data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2\n data-[side=right]:top-1/2! data-[side=right]:-left-1\n data-[side=right]:-translate-y-1/2\n data-[side=top]:-bottom-2.5\n " })]
591
+ })
592
+ }) });
593
+ }
594
+ // src/ui/page-title.tsx
595
+ function Be({ className: e, size: t = "default", ...n }) {
596
+ return /* @__PURE__ */ c("h1", {
597
+ "data-slot": "page-title",
598
+ "data-size": t,
599
+ className: b("min-w-0 font-heading leading-tight font-semibold tracking-tight text-balance", t === "compact" ? "text-base" : t === "large" ? "text-2xl" : "text-lg", e),
600
+ ...n
601
+ });
602
+ }
603
+ // src/ui/dropdown-menu.tsx
604
+ function Ve({ ...e }) {
605
+ return /* @__PURE__ */ c(v.Root, {
606
+ "data-slot": "dropdown-menu",
607
+ ...e
608
+ });
609
+ }
610
+ function He({ ...e }) {
611
+ return /* @__PURE__ */ c(v.Portal, {
612
+ "data-slot": "dropdown-menu-portal",
613
+ ...e
614
+ });
615
+ }
616
+ function Ue({ ...e }) {
617
+ return /* @__PURE__ */ c(v.Trigger, {
618
+ "data-slot": "dropdown-menu-trigger",
619
+ ...e
620
+ });
621
+ }
622
+ function J({ align: e = "start", alignOffset: t = 0, side: n = "bottom", sideOffset: r = 4, className: i, ...a }) {
623
+ return /* @__PURE__ */ c(v.Portal, { children: /* @__PURE__ */ c(v.Positioner, {
624
+ className: "isolate z-50 outline-none",
625
+ align: e,
626
+ alignOffset: t,
627
+ side: n,
628
+ sideOffset: r,
629
+ children: /* @__PURE__ */ c(v.Popup, {
630
+ "data-slot": "dropdown-menu-content",
631
+ className: b("\n z-50 max-h-(--available-height) w-(--anchor-width) min-w-32\n origin-(--transform-origin) space-y-px overflow-x-hidden overflow-y-auto rounded-lg\n border bg-popover p-1 text-popover-foreground shadow-lg duration-100 outline-none\n data-[side=bottom]:slide-in-from-top-2\n data-[side=inline-end]:slide-in-from-left-2\n data-[side=inline-start]:slide-in-from-right-2\n data-[side=left]:slide-in-from-right-2\n data-[side=right]:slide-in-from-left-2\n data-[side=top]:slide-in-from-bottom-2\n data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95\n data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0\n data-closed:zoom-out-95\n ", i),
632
+ ...a
633
+ })
634
+ }) });
635
+ }
636
+ function We({ ...e }) {
637
+ return /* @__PURE__ */ c(v.Group, {
638
+ "data-slot": "dropdown-menu-group",
639
+ ...e
640
+ });
641
+ }
642
+ function Ge({ className: e, inset: t, ...n }) {
643
+ return /* @__PURE__ */ c(v.GroupLabel, {
644
+ "data-slot": "dropdown-menu-label",
645
+ "data-inset": t,
646
+ className: b("\n px-1.5 py-1 text-xs font-medium text-muted-foreground\n data-inset:pl-7\n ", e),
647
+ ...n
648
+ });
649
+ }
650
+ function Ke({ className: e, inset: t, variant: n = "default", ...r }) {
651
+ return /* @__PURE__ */ c(v.Item, {
652
+ "data-slot": "dropdown-menu-item",
653
+ "data-inset": t,
654
+ "data-variant": n,
655
+ className: b("\n group/dropdown-menu-item relative flex cursor-pointer items-center gap-1.5 rounded-md\n px-1.5 py-1 text-sm outline-hidden select-none\n focus:bg-accent focus:text-accent-foreground\n not-data-[variant=destructive]:focus:**:text-accent-foreground\n data-inset:pl-7\n data-[variant=destructive]:text-destructive\n data-[variant=destructive]:focus:bg-destructive/10\n data-[variant=destructive]:focus:text-destructive\n dark:data-[variant=destructive]:focus:bg-destructive/20\n data-disabled:pointer-events-none data-disabled:opacity-50\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n data-[variant=destructive]:*:[svg]:text-destructive\n ", e),
656
+ ...r
657
+ });
658
+ }
659
+ function qe({ ...e }) {
660
+ return /* @__PURE__ */ c(v.SubmenuRoot, {
661
+ "data-slot": "dropdown-menu-sub",
662
+ ...e
663
+ });
664
+ }
665
+ function Je({ className: e, inset: t, children: n, ...r }) {
666
+ return /* @__PURE__ */ l(v.SubmenuTrigger, {
667
+ "data-slot": "dropdown-menu-sub-trigger",
668
+ "data-inset": t,
669
+ className: b("\n flex cursor-pointer items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden\n select-none\n focus:bg-accent focus:text-accent-foreground\n not-data-[variant=destructive]:focus:**:text-accent-foreground\n data-inset:pl-7\n data-popup-open:bg-accent data-popup-open:text-accent-foreground\n data-open:bg-accent data-open:text-accent-foreground\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n ", e),
670
+ ...r,
671
+ children: [n, /* @__PURE__ */ c(d, { className: "ml-auto" })]
672
+ });
673
+ }
674
+ function Ye({ align: e = "start", alignOffset: t = -3, side: n = "right", sideOffset: r = 0, className: i, ...a }) {
675
+ return /* @__PURE__ */ c(J, {
676
+ "data-slot": "dropdown-menu-sub-content",
677
+ className: b("\n w-auto min-w-[96px] rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg\n duration-100\n data-[side=bottom]:slide-in-from-top-2\n data-[side=left]:slide-in-from-right-2\n data-[side=right]:slide-in-from-left-2\n data-[side=top]:slide-in-from-bottom-2\n data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95\n data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\n ", i),
678
+ align: e,
679
+ alignOffset: t,
680
+ side: n,
681
+ sideOffset: r,
682
+ ...a
683
+ });
684
+ }
685
+ function Xe({ className: e, children: t, checked: n, inset: r, ...i }) {
686
+ return /* @__PURE__ */ l(v.CheckboxItem, {
687
+ "data-slot": "dropdown-menu-checkbox-item",
688
+ "data-inset": r,
689
+ className: b("\n relative flex cursor-pointer items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm\n outline-hidden select-none\n focus:bg-accent focus:text-accent-foreground\n focus:**:text-accent-foreground\n data-inset:pl-7\n data-disabled:pointer-events-none data-disabled:opacity-50\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n ", e),
690
+ checked: n,
691
+ ...i,
692
+ children: [/* @__PURE__ */ c("span", {
693
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
694
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
695
+ children: /* @__PURE__ */ c(v.CheckboxItemIndicator, { children: /* @__PURE__ */ c(u, {}) })
696
+ }), t]
697
+ });
698
+ }
699
+ function Ze({ ...e }) {
700
+ return /* @__PURE__ */ c(v.RadioGroup, {
701
+ "data-slot": "dropdown-menu-radio-group",
702
+ ...e
703
+ });
704
+ }
705
+ function Qe({ className: e, children: t, inset: n, ...r }) {
706
+ return /* @__PURE__ */ l(v.RadioItem, {
707
+ "data-slot": "dropdown-menu-radio-item",
708
+ "data-inset": n,
709
+ className: b("\n relative flex cursor-pointer items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm\n outline-hidden select-none\n focus:bg-accent focus:text-accent-foreground\n focus:**:text-accent-foreground\n data-inset:pl-7\n data-disabled:pointer-events-none data-disabled:opacity-50\n [&_svg]:pointer-events-none [&_svg]:shrink-0\n [&_svg:not([class*='size-'])]:size-4\n ", e),
710
+ ...r,
711
+ children: [/* @__PURE__ */ c("span", {
712
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
713
+ "data-slot": "dropdown-menu-radio-item-indicator",
714
+ children: /* @__PURE__ */ c(v.RadioItemIndicator, { children: /* @__PURE__ */ c(u, {}) })
715
+ }), t]
716
+ });
717
+ }
718
+ function $e({ className: e, ...t }) {
719
+ return /* @__PURE__ */ c(v.Separator, {
720
+ "data-slot": "dropdown-menu-separator",
721
+ className: b("-mx-1 my-1 h-px bg-border", e),
722
+ ...t
723
+ });
724
+ }
725
+ function et({ className: e, ...t }) {
726
+ return /* @__PURE__ */ c("span", {
727
+ "data-slot": "dropdown-menu-shortcut",
728
+ className: b("\n ml-auto text-xs tracking-widest text-muted-foreground\n group-focus/dropdown-menu-item:text-accent-foreground\n ", e),
729
+ ...t
730
+ });
731
+ }
732
+ // src/ui/progress.tsx
733
+ function tt({ className: e, children: t, value: n, ...r }) {
734
+ return /* @__PURE__ */ l(y.Root, {
735
+ value: n,
736
+ "data-slot": "progress",
737
+ className: b("flex flex-wrap gap-3", e),
738
+ ...r,
739
+ children: [t, /* @__PURE__ */ c(Y, { children: /* @__PURE__ */ c(X, {}) })]
740
+ });
741
+ }
742
+ function Y({ className: e, ...t }) {
743
+ return /* @__PURE__ */ c(y.Track, {
744
+ className: b("relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted", e),
745
+ "data-slot": "progress-track",
746
+ ...t
747
+ });
748
+ }
749
+ function X({ className: e, ...t }) {
750
+ return /* @__PURE__ */ c(y.Indicator, {
751
+ "data-slot": "progress-indicator",
752
+ className: b("h-full bg-primary transition-all", e),
753
+ ...t
754
+ });
755
+ }
756
+ function nt({ className: e, ...t }) {
757
+ return /* @__PURE__ */ c(y.Label, {
758
+ className: b("text-sm font-medium", e),
759
+ "data-slot": "progress-label",
760
+ ...t
761
+ });
762
+ }
763
+ function rt({ className: e, ...t }) {
764
+ return /* @__PURE__ */ c(y.Value, {
765
+ className: b("ml-auto text-sm text-muted-foreground tabular-nums", e),
766
+ "data-slot": "progress-value",
767
+ ...t
768
+ });
769
+ }
770
+ // src/ui/alert-dialog.tsx
771
+ var Z = t.createContext(null);
772
+ function it(e, t) {
773
+ typeof e == "function" ? e(t) : e != null && (e.current = t);
774
+ }
775
+ function at({ onOpenChange: e, ...n }) {
776
+ let r = t.useRef(null);
777
+ return /* @__PURE__ */ c(Z.Provider, {
778
+ value: r,
779
+ children: /* @__PURE__ */ c(g.Root, {
780
+ "data-slot": "alert-dialog",
781
+ ...W({
782
+ ...n,
783
+ disablePointerDismissal: !0,
784
+ modal: !1,
785
+ onOpenChange: (t, n) => {
786
+ t || r.current?.focus(), e?.(t, n);
787
+ }
788
+ })
789
+ })
790
+ });
791
+ }
792
+ function ot({ ref: e, ...n }) {
793
+ let r = t.useContext(Z);
794
+ return /* @__PURE__ */ c(g.Trigger, {
795
+ "data-slot": "alert-dialog-trigger",
796
+ ...n,
797
+ ref: (t) => {
798
+ r != null && (r.current = t), it(e, t);
799
+ }
800
+ });
801
+ }
802
+ function Q({ ...e }) {
803
+ let t = E(), n = t?.container;
804
+ return t != null && n == null ? null : /* @__PURE__ */ c(g.Portal, {
805
+ "data-slot": "alert-dialog-portal",
806
+ container: n ?? void 0,
807
+ ...e
808
+ });
809
+ }
810
+ function $({ className: e, ...t }) {
811
+ D();
812
+ let n = E();
813
+ return /* @__PURE__ */ c(g.Backdrop, {
814
+ "data-slot": "alert-dialog-overlay",
815
+ forceRender: !0,
816
+ className: b("\n inset-0 isolate z-50 bg-black/10 duration-100\n supports-backdrop-filter:backdrop-blur-xs\n data-open:animate-in data-open:fade-in-0\n data-closed:animate-out data-closed:fade-out-0\n ", n?.container == null ? "fixed" : "absolute", e),
817
+ ...t
818
+ });
819
+ }
820
+ function st({ className: e, size: t = "default", onKeyDown: n, ...r }) {
821
+ let i = E(), a = M();
822
+ return /* @__PURE__ */ l(Q, { children: [/* @__PURE__ */ c($, {}), /* @__PURE__ */ c(g.Popup, {
823
+ "data-slot": "alert-dialog-content",
824
+ "data-theme": a,
825
+ "data-size": t,
826
+ className: b("\n group/alert-dialog-content top-1/2 left-1/2 z-50 grid max-h-[calc(100%-2rem)] w-full\n -translate-1/2 gap-4 overflow-y-auto rounded-xl border bg-popover p-4\n text-popover-foreground shadow-xl duration-100 outline-none\n data-[size=default]:max-w-xs\n data-[size=sm]:max-w-xs\n data-[size=default]:sm:max-w-sm\n data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95\n data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\n ", i?.container == null ? "fixed" : "absolute", e),
827
+ onKeyDown: (e) => {
828
+ A(e, e.currentTarget), n?.(e);
829
+ },
830
+ ...r,
831
+ role: "alertdialog"
832
+ })] });
833
+ }
834
+ function ct({ className: e, ...t }) {
835
+ return /* @__PURE__ */ c("div", {
836
+ "data-slot": "alert-dialog-header",
837
+ className: b("\n grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center\n has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr]\n has-data-[slot=alert-dialog-media]:gap-x-4\n sm:group-data-[size=default]/alert-dialog-content:place-items-start\n sm:group-data-[size=default]/alert-dialog-content:text-left\n sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\n ", e),
838
+ ...t
839
+ });
840
+ }
841
+ function lt({ className: e, ...t }) {
842
+ return /* @__PURE__ */ c("div", {
843
+ "data-slot": "alert-dialog-footer",
844
+ className: b("\n -mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4\n group-data-[size=sm]/alert-dialog-content:grid\n group-data-[size=sm]/alert-dialog-content:grid-cols-2\n sm:flex-row sm:justify-end\n ", e),
845
+ ...t
846
+ });
847
+ }
848
+ function ut({ className: e, ...t }) {
849
+ return /* @__PURE__ */ c("div", {
850
+ "data-slot": "alert-dialog-media",
851
+ className: b("\n mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted\n sm:group-data-[size=default]/alert-dialog-content:row-span-2\n *:[svg:not([class*='size-'])]:size-6\n ", e),
852
+ ...t
853
+ });
854
+ }
855
+ function dt({ className: e, ...t }) {
856
+ return /* @__PURE__ */ c(g.Title, {
857
+ "data-slot": "alert-dialog-title",
858
+ className: b("\n text-base font-medium\n sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\n ", e),
859
+ ...t
860
+ });
861
+ }
862
+ function ft({ className: e, ...t }) {
863
+ return /* @__PURE__ */ c(g.Description, {
864
+ "data-slot": "alert-dialog-description",
865
+ className: b("\n text-sm text-balance text-muted-foreground\n md:text-pretty\n *:[a]:underline *:[a]:underline-offset-3\n *:[a]:hover:text-foreground\n ", e),
866
+ ...t
867
+ });
868
+ }
869
+ function pt({ className: e, variant: t = "default", size: n = "default", ...r }) {
870
+ return /* @__PURE__ */ c(g.Close, {
871
+ "data-slot": "alert-dialog-action",
872
+ className: b(e),
873
+ render: /* @__PURE__ */ c(S, {
874
+ variant: t,
875
+ size: n
876
+ }),
877
+ ...r
878
+ });
879
+ }
880
+ function mt({ className: e, variant: t = "outline", size: n = "default", ...r }) {
881
+ return /* @__PURE__ */ c(g.Close, {
882
+ "data-slot": "alert-dialog-cancel",
883
+ className: b(e),
884
+ render: /* @__PURE__ */ c(S, {
885
+ variant: t,
886
+ size: n
887
+ }),
888
+ ...r
889
+ });
890
+ }
891
+ export { Te as $, Ye as A, w as At, q as B, Ge as C, M as Ct, $e as D, ae as Dt, Qe as E, k as Et, ze as F, G, Ne as H, Ie as I, W as J, Pe as K, Re as L, Ue as M, x as Mt, Be as N, b as Nt, et as O, D as Ot, Le as P, H as Q, ke as R, Ke as S, le as St, Ze as T, O as Tt, Me as U, Fe as V, K as W, Oe as X, De as Y, Ee as Z, rt as _, P as _t, ft as a, V as at, J as b, de as bt, ut as c, pe as ct, dt as d, N as dt, we as et, ot as f, F as ft, Y as g, R as gt, nt as h, I as ht, st as i, xe as it, Je as j, S as jt, qe as k, E as kt, $ as l, he as lt, X as m, z as mt, pt as n, Ce as nt, lt as o, ve as ot, tt as p, B as pt, Ae as q, mt as r, Se as rt, ct as s, _e as st, at as t, be as tt, Q as u, ge as ut, Ve as v, L as vt, He as w, A as wt, We as x, ue as xt, Xe as y, fe as yt, je as z };