@voltro/ui-shadcn 0.67.0 → 0.69.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/dist/index.js CHANGED
@@ -6,32 +6,59 @@ import { cva as S } from "class-variance-authority";
6
6
  import * as C from "@radix-ui/react-dropdown-menu";
7
7
  import * as w from "@radix-ui/react-toggle";
8
8
  import * as T from "@radix-ui/react-toggle-group";
9
- //#region src/widgets.tsx
10
- var E = {
9
+ //#region src/primitives/checkbox.tsx
10
+ var E = ({ className: t, indeterminate: n, ...r }) => {
11
+ let i = _(null);
12
+ return m(() => {
13
+ i.current && (i.current.indeterminate = n === !0);
14
+ }, [n]), /* @__PURE__ */ x("span", {
15
+ className: "relative inline-flex size-4 shrink-0 items-center justify-center",
16
+ children: [
17
+ /* @__PURE__ */ b("input", {
18
+ ref: i,
19
+ type: "checkbox",
20
+ "data-slot": "checkbox",
21
+ className: e("peer size-4 appearance-none rounded-[4px] border shadow-xs outline-none", "border-input bg-transparent dark:bg-input/30", "checked:bg-primary checked:border-primary dark:checked:bg-primary", "indeterminate:bg-primary indeterminate:border-primary dark:indeterminate:bg-primary", "transition-[color,box-shadow]", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "disabled:cursor-not-allowed disabled:opacity-50", "cursor-pointer", t),
22
+ ...r
23
+ }),
24
+ /* @__PURE__ */ b("svg", {
25
+ viewBox: "0 0 24 24",
26
+ fill: "none",
27
+ stroke: "currentColor",
28
+ strokeWidth: 3,
29
+ strokeLinecap: "round",
30
+ strokeLinejoin: "round",
31
+ className: "pointer-events-none absolute hidden size-3 text-primary-foreground peer-checked:peer-indeterminate:hidden peer-checked:block",
32
+ children: /* @__PURE__ */ b("path", { d: "M20 6 9 17l-5-5" })
33
+ }),
34
+ /* @__PURE__ */ b("span", { className: "pointer-events-none absolute hidden h-[2px] w-2.5 rounded-full bg-primary-foreground peer-indeterminate:block" })
35
+ ]
36
+ });
37
+ }, D = {
11
38
  field: "voltro-field flex flex-col gap-1",
12
39
  label: "text-sm font-medium text-foreground",
13
40
  control: "block w-full rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
14
- checkbox: "h-4 w-4 rounded border-input text-primary focus:ring-2 focus:ring-ring",
41
+ radio: "h-4 w-4 rounded border-input text-primary focus:ring-2 focus:ring-ring",
15
42
  error: "text-sm text-destructive"
16
- }, D = (e) => e == null ? "" : String(e), O = (e, t) => t === void 0 ? void 0 : `${e}-error`, k = (e) => /* @__PURE__ */ x("div", {
17
- className: E.field,
43
+ }, O = (e) => e == null ? "" : String(e), k = (e, t) => t === void 0 ? void 0 : `${e}-error`, A = (e) => /* @__PURE__ */ x("div", {
44
+ className: D.field,
18
45
  children: [
19
46
  /* @__PURE__ */ x("label", {
20
- className: E.label,
47
+ className: D.label,
21
48
  htmlFor: e.id,
22
49
  children: [e.label, e.required ? " *" : ""]
23
50
  }),
24
51
  e.children,
25
52
  e.error === void 0 ? null : /* @__PURE__ */ b("p", {
26
53
  id: `${e.id}-error`,
27
- className: E.error,
54
+ className: D.error,
28
55
  role: "alert",
29
56
  children: e.error
30
57
  })
31
58
  ]
32
- }), A = (e, t) => (n) => {
59
+ }), j = (e, t) => (n) => {
33
60
  let r = h();
34
- return /* @__PURE__ */ b(k, {
61
+ return /* @__PURE__ */ b(A, {
35
62
  id: r,
36
63
  label: n.label,
37
64
  required: n.required,
@@ -40,25 +67,25 @@ var E = {
40
67
  id: r,
41
68
  type: e,
42
69
  name: n.name,
43
- className: E.control,
44
- value: D(n.value),
70
+ className: D.control,
71
+ value: O(n.value),
45
72
  onChange: (e) => n.onChange(t(e.target.value)),
46
73
  disabled: n.disabled,
47
74
  required: n.required,
48
75
  "aria-invalid": n.error !== void 0,
49
- "aria-describedby": O(r, n.error)
76
+ "aria-describedby": k(r, n.error)
50
77
  })
51
78
  });
52
- }, j = {
53
- text: A("text", (e) => e),
54
- number: A("number", (e) => e === "" ? void 0 : Number(e)),
55
- date: A("date", (e) => e),
56
- datetime: A("datetime-local", (e) => e),
57
- daterange: A("text", (e) => e),
58
- "async-select": A("text", (e) => e),
79
+ }, M = {
80
+ text: j("text", (e) => e),
81
+ number: j("number", (e) => e === "" ? void 0 : Number(e)),
82
+ date: j("date", (e) => e),
83
+ datetime: j("datetime-local", (e) => e),
84
+ daterange: j("text", (e) => e),
85
+ "async-select": j("text", (e) => e),
59
86
  textarea: (e) => {
60
87
  let t = h();
61
- return /* @__PURE__ */ b(k, {
88
+ return /* @__PURE__ */ b(A, {
62
89
  id: t,
63
90
  label: e.label,
64
91
  required: e.required,
@@ -66,13 +93,13 @@ var E = {
66
93
  children: /* @__PURE__ */ b("textarea", {
67
94
  id: t,
68
95
  name: e.name,
69
- className: E.control,
70
- value: D(e.value),
96
+ className: D.control,
97
+ value: O(e.value),
71
98
  onChange: (t) => e.onChange(t.target.value),
72
99
  disabled: e.disabled,
73
100
  required: e.required,
74
101
  "aria-invalid": e.error !== void 0,
75
- "aria-describedby": O(t, e.error)
102
+ "aria-describedby": k(t, e.error)
76
103
  })
77
104
  });
78
105
  },
@@ -81,25 +108,23 @@ var E = {
81
108
  return /* @__PURE__ */ x("div", {
82
109
  className: "voltro-field flex items-center gap-2",
83
110
  children: [
84
- /* @__PURE__ */ b("input", {
111
+ /* @__PURE__ */ b(E, {
85
112
  id: t,
86
- type: "checkbox",
87
113
  name: e.name,
88
- className: E.checkbox,
89
114
  checked: e.value === !0,
90
115
  onChange: (t) => e.onChange(t.target.checked),
91
116
  disabled: e.disabled,
92
117
  "aria-invalid": e.error !== void 0,
93
- "aria-describedby": O(t, e.error)
118
+ "aria-describedby": k(t, e.error)
94
119
  }),
95
120
  /* @__PURE__ */ x("label", {
96
- className: E.label,
121
+ className: D.label,
97
122
  htmlFor: t,
98
123
  children: [e.label, e.required ? " *" : ""]
99
124
  }),
100
125
  e.error === void 0 ? null : /* @__PURE__ */ b("p", {
101
126
  id: `${t}-error`,
102
- className: E.error,
127
+ className: D.error,
103
128
  role: "alert",
104
129
  children: e.error
105
130
  })
@@ -119,7 +144,7 @@ var E = {
119
144
  onClick: () => e.onChange(!n),
120
145
  disabled: e.disabled,
121
146
  "aria-invalid": e.error !== void 0,
122
- "aria-describedby": O(t, e.error),
147
+ "aria-describedby": k(t, e.error),
123
148
  className: "relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border border-input transition-colors focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 " + (n ? "bg-primary" : "bg-input"),
124
149
  children: /* @__PURE__ */ b("span", {
125
150
  "aria-hidden": "true",
@@ -127,13 +152,13 @@ var E = {
127
152
  })
128
153
  }),
129
154
  /* @__PURE__ */ x("label", {
130
- className: E.label,
155
+ className: D.label,
131
156
  htmlFor: t,
132
157
  children: [e.label, e.required ? " *" : ""]
133
158
  }),
134
159
  e.error === void 0 ? null : /* @__PURE__ */ b("p", {
135
160
  id: `${t}-error`,
136
- className: E.error,
161
+ className: D.error,
137
162
  role: "alert",
138
163
  children: e.error
139
164
  })
@@ -142,7 +167,7 @@ var E = {
142
167
  },
143
168
  select: (e) => {
144
169
  let t = h();
145
- return /* @__PURE__ */ b(k, {
170
+ return /* @__PURE__ */ b(A, {
146
171
  id: t,
147
172
  label: e.label,
148
173
  required: e.required,
@@ -150,13 +175,13 @@ var E = {
150
175
  children: /* @__PURE__ */ x("select", {
151
176
  id: t,
152
177
  name: e.name,
153
- className: E.control,
154
- value: D(e.value),
178
+ className: D.control,
179
+ value: O(e.value),
155
180
  onChange: (t) => e.onChange(t.target.value),
156
181
  disabled: e.disabled,
157
182
  required: e.required,
158
183
  "aria-invalid": e.error !== void 0,
159
- "aria-describedby": O(t, e.error),
184
+ "aria-describedby": k(t, e.error),
160
185
  children: [/* @__PURE__ */ b("option", {
161
186
  value: "",
162
187
  children: "—"
@@ -170,11 +195,11 @@ var E = {
170
195
  radio: (e) => {
171
196
  let t = h();
172
197
  return /* @__PURE__ */ x("fieldset", {
173
- className: E.field,
198
+ className: D.field,
174
199
  "aria-invalid": e.error !== void 0,
175
200
  children: [
176
201
  /* @__PURE__ */ x("legend", {
177
- className: E.label,
202
+ className: D.label,
178
203
  children: [e.label, e.required ? " *" : ""]
179
204
  }),
180
205
  /* @__PURE__ */ b("div", {
@@ -188,8 +213,8 @@ var E = {
188
213
  type: "radio",
189
214
  name: e.name,
190
215
  value: n.value,
191
- className: E.checkbox,
192
- checked: D(e.value) === n.value,
216
+ className: D.radio,
217
+ checked: O(e.value) === n.value,
193
218
  onChange: () => e.onChange(n.value),
194
219
  disabled: e.disabled
195
220
  }), /* @__PURE__ */ b("label", {
@@ -202,7 +227,7 @@ var E = {
202
227
  }),
203
228
  e.error === void 0 ? null : /* @__PURE__ */ b("p", {
204
229
  id: `${t}-error`,
205
- className: E.error,
230
+ className: D.error,
206
231
  role: "alert",
207
232
  children: e.error
208
233
  })
@@ -211,7 +236,7 @@ var E = {
211
236
  },
212
237
  "multi-select": (e) => {
213
238
  let t = h(), n = Array.isArray(e.value) ? e.value.map(String) : [];
214
- return /* @__PURE__ */ b(k, {
239
+ return /* @__PURE__ */ b(A, {
215
240
  id: t,
216
241
  label: e.label,
217
242
  required: e.required,
@@ -220,12 +245,12 @@ var E = {
220
245
  id: t,
221
246
  name: e.name,
222
247
  multiple: !0,
223
- className: E.control + " min-h-24",
248
+ className: D.control + " min-h-24",
224
249
  value: n,
225
250
  onChange: (t) => e.onChange(Array.from(t.target.selectedOptions, (e) => e.value)),
226
251
  disabled: e.disabled,
227
252
  "aria-invalid": e.error !== void 0,
228
- "aria-describedby": O(t, e.error),
253
+ "aria-describedby": k(t, e.error),
229
254
  children: (e.options ?? []).map((e) => /* @__PURE__ */ b("option", {
230
255
  value: e.value,
231
256
  children: e.label
@@ -235,7 +260,7 @@ var E = {
235
260
  },
236
261
  file: (e) => {
237
262
  let t = h();
238
- return /* @__PURE__ */ b(k, {
263
+ return /* @__PURE__ */ b(A, {
239
264
  id: t,
240
265
  label: e.label,
241
266
  required: e.required,
@@ -244,16 +269,16 @@ var E = {
244
269
  id: t,
245
270
  type: "file",
246
271
  name: e.name,
247
- className: E.control + " file:mr-3 file:rounded file:border-0 file:bg-primary file:px-2 file:py-1 file:text-sm file:text-primary-foreground",
272
+ className: D.control + " file:mr-3 file:rounded file:border-0 file:bg-primary file:px-2 file:py-1 file:text-sm file:text-primary-foreground",
248
273
  onChange: (t) => e.onChange(t.target.value),
249
274
  disabled: e.disabled,
250
275
  required: e.required,
251
276
  "aria-invalid": e.error !== void 0,
252
- "aria-describedby": O(t, e.error)
277
+ "aria-describedby": k(t, e.error)
253
278
  })
254
279
  });
255
280
  }
256
- }, M = "voltro:theme", N = "voltro:theme-change", P = "voltro:locale", ee = (e) => e === "system" || e === "light" || e === "dark", te = 3456e4, F = (e, t) => {
281
+ }, N = "voltro:theme", P = "voltro:theme-change", F = "voltro:locale", ee = (e) => e === "system" || e === "light" || e === "dark", te = 3456e4, I = (e, t) => {
257
282
  let n = t ?? (typeof document < "u" ? document.cookie : "");
258
283
  if (n) for (let t of n.split(";")) {
259
284
  let n = t.indexOf("=");
@@ -263,7 +288,7 @@ var E = {
263
288
  return t.slice(n + 1).trim();
264
289
  }
265
290
  }
266
- }, I = (e, t, n = {}) => {
291
+ }, L = (e, t, n = {}) => {
267
292
  let { maxAgeSeconds: r = te, path: i = "/", sameSite: a = "lax" } = n, o = [
268
293
  `${e}=${encodeURIComponent(t)}`,
269
294
  `Path=${i}`,
@@ -273,19 +298,19 @@ var E = {
273
298
  a === "none" && o.push("Secure");
274
299
  let s = o.join("; ");
275
300
  return typeof document < "u" && (document.cookie = s), s;
276
- }, ne = (e, t = "/") => I(e, "", {
301
+ }, ne = (e, t = "/") => L(e, "", {
277
302
  maxAgeSeconds: 0,
278
303
  path: t
279
304
  }), re = (e) => {
280
- let t = e ?? void 0, n = F(M, t), r = F(P, t);
305
+ let t = e ?? void 0, n = I(N, t), r = I(F, t);
281
306
  return {
282
307
  ...n !== void 0 && ee(n) ? { theme: n } : {},
283
308
  ...r !== void 0 && r !== "" ? { locale: r } : {}
284
309
  };
285
- }, L = (e) => {
310
+ }, R = (e) => {
286
311
  if (typeof document > "u") return;
287
312
  let t = e === "dark" || e === "system" && typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches === !0;
288
- document.documentElement.classList.toggle("dark", t), typeof window < "u" && window.dispatchEvent(new Event(N));
313
+ document.documentElement.classList.toggle("dark", t), typeof window < "u" && window.dispatchEvent(new Event(P));
289
314
  }, ie = S("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer", {
290
315
  variants: {
291
316
  variant: {
@@ -307,7 +332,7 @@ var E = {
307
332
  variant: "default",
308
333
  size: "default"
309
334
  }
310
- }), R = ({ className: t, variant: n, size: r, children: i, ...a }) => /* @__PURE__ */ b("button", {
335
+ }), z = ({ className: t, variant: n, size: r, children: i, ...a }) => /* @__PURE__ */ b("button", {
311
336
  "data-slot": "button",
312
337
  className: e(ie({
313
338
  variant: n,
@@ -316,90 +341,63 @@ var E = {
316
341
  })),
317
342
  ...a,
318
343
  children: i
319
- }), z = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
344
+ }), B = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
320
345
  "data-slot": "card",
321
346
  className: e("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", t),
322
347
  ...r,
323
348
  children: n
324
- }), B = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
349
+ }), ae = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
325
350
  "data-slot": "card-header",
326
351
  className: e("grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6", t),
327
352
  ...r,
328
353
  children: n
329
- }), V = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("h3", {
354
+ }), oe = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("h3", {
330
355
  "data-slot": "card-title",
331
356
  className: e("leading-none font-semibold tracking-tight", t),
332
357
  ...r,
333
358
  children: n
334
- }), ae = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("p", {
359
+ }), se = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("p", {
335
360
  "data-slot": "card-description",
336
361
  className: e("text-muted-foreground text-sm", t),
337
362
  ...r,
338
363
  children: n
339
- }), oe = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
364
+ }), ce = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
340
365
  "data-slot": "card-content",
341
366
  className: e("px-6", t),
342
367
  ...r,
343
368
  children: n
344
- }), se = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
369
+ }), le = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("div", {
345
370
  "data-slot": "card-footer",
346
371
  className: e("flex items-center px-6", t),
347
372
  ...r,
348
373
  children: n
349
- }), ce = ({ className: t, type: n = "text", ...r }) => /* @__PURE__ */ b("input", {
374
+ }), ue = ({ className: t, type: n = "text", ...r }) => /* @__PURE__ */ b("input", {
350
375
  type: n,
351
376
  "data-slot": "input",
352
377
  className: e("flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs", "transition-[color,box-shadow] outline-none", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium", "placeholder:text-muted-foreground", "selection:bg-primary selection:text-primary-foreground", "dark:bg-input/30", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", t),
353
378
  ...r
354
- }), le = ({ className: t, ...n }) => /* @__PURE__ */ b("textarea", {
379
+ }), de = ({ className: t, ...n }) => /* @__PURE__ */ b("textarea", {
355
380
  "data-slot": "textarea",
356
381
  className: e("flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs", "transition-[color,box-shadow] outline-none", "placeholder:text-muted-foreground", "selection:bg-primary selection:text-primary-foreground", "dark:bg-input/30", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", t),
357
382
  ...n
358
- }), ue = ({ className: t, indeterminate: n, ...r }) => {
359
- let i = _(null);
360
- return m(() => {
361
- i.current && (i.current.indeterminate = n === !0);
362
- }, [n]), /* @__PURE__ */ x("span", {
363
- className: "relative inline-flex size-4 shrink-0 items-center justify-center",
364
- children: [
365
- /* @__PURE__ */ b("input", {
366
- ref: i,
367
- type: "checkbox",
368
- "data-slot": "checkbox",
369
- className: e("peer size-4 appearance-none rounded-[4px] border shadow-xs outline-none", "border-input bg-transparent dark:bg-input/30", "checked:bg-primary checked:border-primary", "indeterminate:bg-primary indeterminate:border-primary", "transition-[color,box-shadow]", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "disabled:cursor-not-allowed disabled:opacity-50", "cursor-pointer", t),
370
- ...r
371
- }),
372
- /* @__PURE__ */ b("svg", {
373
- viewBox: "0 0 24 24",
374
- fill: "none",
375
- stroke: "currentColor",
376
- strokeWidth: 3,
377
- strokeLinecap: "round",
378
- strokeLinejoin: "round",
379
- className: "pointer-events-none absolute hidden size-3 text-primary-foreground peer-checked:peer-indeterminate:hidden peer-checked:block",
380
- children: /* @__PURE__ */ b("path", { d: "M20 6 9 17l-5-5" })
381
- }),
382
- /* @__PURE__ */ b("span", { className: "pointer-events-none absolute hidden h-[2px] w-2.5 rounded-full bg-primary-foreground peer-indeterminate:block" })
383
- ]
384
- });
385
- }, de = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("label", {
383
+ }), fe = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("label", {
386
384
  "data-slot": "label",
387
385
  className: e("flex items-center gap-2 text-sm leading-none font-medium select-none", "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50", "peer-disabled:cursor-not-allowed peer-disabled:opacity-50", t),
388
386
  ...r,
389
387
  children: n
390
- }), fe = ({ className: t, orientation: n = "horizontal", ...r }) => /* @__PURE__ */ b("div", {
388
+ }), pe = ({ className: t, orientation: n = "horizontal", ...r }) => /* @__PURE__ */ b("div", {
391
389
  "data-slot": "separator",
392
390
  role: "separator",
393
391
  "aria-orientation": n,
394
392
  className: e("bg-border shrink-0", n === "horizontal" ? "h-px w-full" : "h-full w-px", t),
395
393
  ...r
396
- }), pe = {
394
+ }), me = {
397
395
  sm: "size-6 text-xs",
398
396
  md: "size-9 text-sm",
399
397
  lg: "size-12 text-base"
400
- }, me = ({ src: t, alt: n, fallback: r, size: i = "md", className: a, ...o }) => /* @__PURE__ */ b("div", {
398
+ }, he = ({ src: t, alt: n, fallback: r, size: i = "md", className: a, ...o }) => /* @__PURE__ */ b("div", {
401
399
  "data-slot": "avatar",
402
- className: e("relative inline-flex items-center justify-center overflow-hidden rounded-full bg-muted", pe[i], a),
400
+ className: e("relative inline-flex items-center justify-center overflow-hidden rounded-full bg-muted", me[i], a),
403
401
  ...o,
404
402
  children: t ? /* @__PURE__ */ b("img", {
405
403
  src: t,
@@ -409,39 +407,39 @@ var E = {
409
407
  className: "font-medium text-muted-foreground select-none",
410
408
  children: r ?? "?"
411
409
  })
412
- }), he = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
410
+ }), ge = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
413
411
  "data-slot": "skeleton",
414
412
  className: e("animate-pulse rounded-md bg-muted", t),
415
413
  ...n
416
- }), ge = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("select", {
414
+ }), _e = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("select", {
417
415
  "data-slot": "select",
418
416
  className: e("flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-xs", "transition-[color,box-shadow] outline-none cursor-pointer", "dark:bg-input/30", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", t),
419
417
  ...r,
420
418
  children: n
421
- }), _e = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("dialog", {
419
+ }), ve = ({ className: t, children: n, ...r }) => /* @__PURE__ */ b("dialog", {
422
420
  "data-slot": "dialog",
423
421
  className: e("fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", "w-full max-w-lg rounded-lg border bg-background text-foreground p-6 shadow-lg", "backdrop:bg-black/50 backdrop:backdrop-blur-sm", "open:animate-in open:fade-in-0 open:zoom-in-95", t),
424
422
  ...r,
425
423
  children: n
426
- }), ve = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
424
+ }), ye = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
427
425
  "data-slot": "dialog-header",
428
426
  className: e("flex flex-col gap-1.5 text-left mb-4", t),
429
427
  ...n
430
- }), ye = ({ className: t, ...n }) => /* @__PURE__ */ b("h2", {
428
+ }), be = ({ className: t, ...n }) => /* @__PURE__ */ b("h2", {
431
429
  "data-slot": "dialog-title",
432
430
  className: e("text-lg font-semibold leading-none tracking-tight", t),
433
431
  ...n
434
- }), be = ({ className: t, ...n }) => /* @__PURE__ */ b("p", {
432
+ }), xe = ({ className: t, ...n }) => /* @__PURE__ */ b("p", {
435
433
  "data-slot": "dialog-description",
436
434
  className: e("text-sm text-muted-foreground", t),
437
435
  ...n
438
- }), xe = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
436
+ }), Se = ({ className: t, ...n }) => /* @__PURE__ */ b("div", {
439
437
  "data-slot": "dialog-footer",
440
438
  className: e("mt-6 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t),
441
439
  ...n
442
- }), Se = l(null), Ce = ({ defaultValue: t, value: n, onValueChange: r, className: i, children: a, ...o }) => {
440
+ }), V = l(null), Ce = ({ defaultValue: t, value: n, onValueChange: r, className: i, children: a, ...o }) => {
443
441
  let [s, c] = v(t), l = n ?? s;
444
- return /* @__PURE__ */ b(Se.Provider, {
442
+ return /* @__PURE__ */ b(V.Provider, {
445
443
  value: {
446
444
  value: l,
447
445
  setValue: (e) => {
@@ -461,7 +459,7 @@ var E = {
461
459
  className: e("inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted text-muted-foreground p-1", t),
462
460
  ...n
463
461
  }), Te = ({ value: t, className: n, children: r, ...i }) => {
464
- let a = p(Se);
462
+ let a = p(V);
465
463
  if (!a) throw Error("TabsTrigger must be inside <Tabs>");
466
464
  let o = a.value === t;
467
465
  return /* @__PURE__ */ b("button", {
@@ -475,7 +473,7 @@ var E = {
475
473
  children: r
476
474
  });
477
475
  }, Ee = ({ value: t, className: n, children: r, ...i }) => {
478
- let a = p(Se);
476
+ let a = p(V);
479
477
  if (!a) throw Error("TabsContent must be inside <Tabs>");
480
478
  return a.value === t ? /* @__PURE__ */ b("div", {
481
479
  "data-slot": "tabs-content",
@@ -602,7 +600,7 @@ q.displayName = "ToggleGroupItem";
602
600
  var Ve = ({ locales: t, current: n, onChange: r, ariaLabel: i = "Language", className: a }) => {
603
601
  let [o, s] = v(void 0);
604
602
  m(() => {
605
- s(F("voltro:locale") ?? void 0);
603
+ s(I("voltro:locale") ?? void 0);
606
604
  }, []);
607
605
  let c = n ?? o ?? t[0]?.code ?? "";
608
606
  return /* @__PURE__ */ b("select", {
@@ -610,7 +608,7 @@ var Ve = ({ locales: t, current: n, onChange: r, ariaLabel: i = "Language", clas
610
608
  value: c,
611
609
  onChange: (e) => {
612
610
  let t = e.target.value;
613
- I(P, t), s(t), r?.(t) !== !1 && typeof window < "u" && window.location.reload();
611
+ L(F, t), s(t), r?.(t) !== !1 && typeof window < "u" && window.location.reload();
614
612
  },
615
613
  className: e("h-9 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring cursor-pointer", a),
616
614
  children: t.map((e) => /* @__PURE__ */ b("option", {
@@ -637,28 +635,28 @@ var He = {
637
635
  };
638
636
  return /* @__PURE__ */ b("div", {
639
637
  className: e("w-full max-w-md mx-auto", l),
640
- children: /* @__PURE__ */ x(z, { children: [
641
- /* @__PURE__ */ x(B, { children: [
638
+ children: /* @__PURE__ */ x(B, { children: [
639
+ /* @__PURE__ */ x(ae, { children: [
642
640
  r ? /* @__PURE__ */ b("div", {
643
641
  className: "text-xs uppercase tracking-wider text-muted-foreground font-medium",
644
642
  children: r
645
643
  }) : null,
646
- /* @__PURE__ */ b(V, {
644
+ /* @__PURE__ */ b(oe, {
647
645
  className: "text-2xl",
648
646
  children: t
649
647
  }),
650
- /* @__PURE__ */ b(ae, { children: n })
648
+ /* @__PURE__ */ b(se, { children: n })
651
649
  ] }),
652
- /* @__PURE__ */ x(oe, { children: [/* @__PURE__ */ x("form", {
650
+ /* @__PURE__ */ x(ce, { children: [/* @__PURE__ */ x("form", {
653
651
  className: "space-y-4",
654
652
  ...d,
655
653
  children: [
656
654
  /* @__PURE__ */ x("div", {
657
655
  className: "space-y-1.5",
658
- children: [/* @__PURE__ */ b(de, {
656
+ children: [/* @__PURE__ */ b(fe, {
659
657
  htmlFor: "email",
660
658
  children: f.email
661
- }), /* @__PURE__ */ b(ce, {
659
+ }), /* @__PURE__ */ b(ue, {
662
660
  id: "email",
663
661
  name: "email",
664
662
  type: "email",
@@ -670,7 +668,7 @@ var He = {
670
668
  className: "space-y-1.5",
671
669
  children: [/* @__PURE__ */ x("div", {
672
670
  className: "flex items-center justify-between",
673
- children: [/* @__PURE__ */ b(de, {
671
+ children: [/* @__PURE__ */ b(fe, {
674
672
  htmlFor: "password",
675
673
  children: f.password
676
674
  }), c ? /* @__PURE__ */ b("a", {
@@ -678,7 +676,7 @@ var He = {
678
676
  className: "text-xs text-muted-foreground hover:text-foreground",
679
677
  children: f.forgot
680
678
  }) : null]
681
- }), /* @__PURE__ */ b(ce, {
679
+ }), /* @__PURE__ */ b(ue, {
682
680
  id: "password",
683
681
  name: "password",
684
682
  type: "password",
@@ -686,7 +684,7 @@ var He = {
686
684
  placeholder: "••••••••"
687
685
  })]
688
686
  }),
689
- /* @__PURE__ */ b(R, {
687
+ /* @__PURE__ */ b(z, {
690
688
  type: "submit",
691
689
  className: "w-full",
692
690
  children: i
@@ -702,14 +700,14 @@ var He = {
702
700
  }), /* @__PURE__ */ b("div", {
703
701
  className: "grid gap-2",
704
702
  style: { gridTemplateColumns: `repeat(${a.length}, minmax(0, 1fr))` },
705
- children: a.map((e) => /* @__PURE__ */ b(R, {
703
+ children: a.map((e) => /* @__PURE__ */ b(z, {
706
704
  type: "button",
707
705
  variant: "outline",
708
706
  onClick: () => o?.(e.id),
709
707
  children: e.label
710
708
  }, e.id))
711
709
  })] }) : null] }),
712
- s ? /* @__PURE__ */ x(se, {
710
+ s ? /* @__PURE__ */ x(le, {
713
711
  className: "justify-center text-xs text-muted-foreground",
714
712
  children: [
715
713
  f.signUpPrompt,
@@ -743,13 +741,13 @@ var He = {
743
741
  className: "flex gap-3 justify-center flex-wrap mb-4",
744
742
  children: [a ? /* @__PURE__ */ b("a", {
745
743
  href: a.href,
746
- children: /* @__PURE__ */ b(R, {
744
+ children: /* @__PURE__ */ b(z, {
747
745
  size: "lg",
748
746
  children: a.label
749
747
  })
750
748
  }) : null, o ? /* @__PURE__ */ b("a", {
751
749
  href: o.href,
752
- children: /* @__PURE__ */ b(R, {
750
+ children: /* @__PURE__ */ b(z, {
753
751
  size: "lg",
754
752
  variant: "outline",
755
753
  children: o.label
@@ -768,18 +766,18 @@ var He = {
768
766
  children: t
769
767
  }) : null, /* @__PURE__ */ b("div", {
770
768
  className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
771
- children: n.map((e) => /* @__PURE__ */ b(z, {
769
+ children: n.map((e) => /* @__PURE__ */ b(B, {
772
770
  className: "hover:border-primary/40 transition-colors",
773
- children: /* @__PURE__ */ x(B, { children: [
771
+ children: /* @__PURE__ */ x(ae, { children: [
774
772
  e.icon ? /* @__PURE__ */ b("div", {
775
773
  className: "text-primary mb-2",
776
774
  children: e.icon
777
775
  }) : null,
778
- /* @__PURE__ */ b(V, {
776
+ /* @__PURE__ */ b(oe, {
779
777
  className: "text-base",
780
778
  children: e.title
781
779
  }),
782
- /* @__PURE__ */ b(ae, { children: e.body })
780
+ /* @__PURE__ */ b(se, { children: e.body })
783
781
  ] })
784
782
  }, e.title))
785
783
  })]
@@ -1484,10 +1482,10 @@ var He = {
1484
1482
  })]
1485
1483
  });
1486
1484
  }, Lt = () => {
1487
- let e = F(M);
1485
+ let e = I(N);
1488
1486
  return e === "dark" || e === "light" || e === "system" ? e : "system";
1489
1487
  }, Rt = (e) => {
1490
- I(M, e), L(e);
1488
+ L(N, e), R(e);
1491
1489
  }, zt = ({ initial: e }) => e ? /* @__PURE__ */ b("span", {
1492
1490
  className: "text-xs font-semibold select-none",
1493
1491
  children: e
@@ -1523,13 +1521,13 @@ var He = {
1523
1521
  let [u, d] = v(void 0), [p, h] = v(void 0), g = r ?? p;
1524
1522
  m(() => {
1525
1523
  let e = () => d(Lt());
1526
- return e(), h(F("voltro:locale") ?? void 0), window.addEventListener(N, e), () => window.removeEventListener(N, e);
1524
+ return e(), h(I("voltro:locale") ?? void 0), window.addEventListener(P, e), () => window.removeEventListener(P, e);
1527
1525
  }, []);
1528
1526
  let _ = f((e) => {
1529
1527
  let t = e;
1530
1528
  d(t), Rt(t);
1531
1529
  }, []), S = f((e) => {
1532
- I(P, e), h(e), i?.(e) !== !1 && window.location.reload();
1530
+ L(F, e), h(e), i?.(e) !== !1 && window.location.reload();
1533
1531
  }, [i]), C = f(() => {
1534
1532
  if (o) {
1535
1533
  o();
@@ -1541,7 +1539,7 @@ var He = {
1541
1539
  }, [a, o]), w = e?.name?.trim().charAt(0).toUpperCase(), T = n && n.length > 0, E = t && t.length > 0, D = e && (a || o) || !e && s, O = (e) => c?.themes?.[e] ?? Vt[e];
1542
1540
  return /* @__PURE__ */ x(je, { children: [/* @__PURE__ */ b(Me, {
1543
1541
  asChild: !0,
1544
- children: l ?? /* @__PURE__ */ b(R, {
1542
+ children: l ?? /* @__PURE__ */ b(z, {
1545
1543
  type: "button",
1546
1544
  variant: "outline",
1547
1545
  size: "icon",
@@ -1631,7 +1629,7 @@ var He = {
1631
1629
  }, Wt = () => `
1632
1630
  (function(){
1633
1631
  try {
1634
- var rx = new RegExp('(?:^|;\\\\s*)${M.replace(/[.*+?^${}()|[\]\\]/g, "\\\\$&")}=([^;]*)');
1632
+ var rx = new RegExp('(?:^|;\\\\s*)${N.replace(/[.*+?^${}()|[\]\\]/g, "\\\\$&")}=([^;]*)');
1635
1633
  var m = document.cookie.match(rx);
1636
1634
  var saved = m ? decodeURIComponent(m[1]) : '';
1637
1635
  var dark =
@@ -1644,14 +1642,14 @@ var He = {
1644
1642
  let [s, c] = v(void 0);
1645
1643
  return m(() => {
1646
1644
  let e = () => c(document.documentElement.classList.contains("dark"));
1647
- return e(), window.addEventListener(N, e), () => window.removeEventListener(N, e);
1648
- }, []), /* @__PURE__ */ b(R, {
1645
+ return e(), window.addEventListener(P, e), () => window.removeEventListener(P, e);
1646
+ }, []), /* @__PURE__ */ b(z, {
1649
1647
  type: "button",
1650
1648
  variant: "ghost",
1651
1649
  size: "icon",
1652
1650
  onClick: () => {
1653
1651
  let e = !document.documentElement.classList.contains("dark");
1654
- I(M, e ? "dark" : "light"), L(e ? "dark" : "light"), c(e);
1652
+ L(N, e ? "dark" : "light"), R(e ? "dark" : "light"), c(e);
1655
1653
  },
1656
1654
  className: e(t),
1657
1655
  "aria-label": s ? i : a,
@@ -2893,8 +2891,70 @@ function Wn({ animated: t = !1, paused: n = !1, className: r }) {
2893
2891
  });
2894
2892
  }
2895
2893
  //#endregion
2894
+ //#region src/compositions/signalWorkspace.tsx
2895
+ function Gn({ brand: t, header: n, children: r, className: i, field: a = !0 }) {
2896
+ return /* @__PURE__ */ x(It, {
2897
+ brand: t,
2898
+ header: n,
2899
+ className: e("signal-operate signal-stage signal-workspace", i),
2900
+ children: [a && /* @__PURE__ */ b(Wn, { className: "signal-workspace-field" }), r]
2901
+ });
2902
+ }
2903
+ function Kn({ title: e, description: t, badge: n, action: r }) {
2904
+ return /* @__PURE__ */ x("div", {
2905
+ className: "signal-workspace-header",
2906
+ children: [/* @__PURE__ */ x("div", {
2907
+ className: "signal-workspace-heading",
2908
+ children: [/* @__PURE__ */ x("div", {
2909
+ className: "signal-workspace-title",
2910
+ children: [/* @__PURE__ */ b("h1", { children: e }), n]
2911
+ }), t && /* @__PURE__ */ b("p", {
2912
+ className: "signal-workspace-description",
2913
+ children: t
2914
+ })]
2915
+ }), r && /* @__PURE__ */ b("div", {
2916
+ className: "signal-workspace-action",
2917
+ children: r
2918
+ })]
2919
+ });
2920
+ }
2921
+ function qn({ title: e, description: t, detail: n, actionLabel: r, renderLink: i }) {
2922
+ return i("signal-workspace-item", /* @__PURE__ */ x(y, { children: [
2923
+ /* @__PURE__ */ b("span", {
2924
+ className: "signal-workspace-item-icon",
2925
+ "aria-hidden": "true",
2926
+ children: /* @__PURE__ */ b(Xe, {})
2927
+ }),
2928
+ /* @__PURE__ */ x("span", {
2929
+ className: "signal-workspace-item-copy",
2930
+ children: [/* @__PURE__ */ b("span", {
2931
+ className: "signal-workspace-item-title",
2932
+ children: e
2933
+ }), /* @__PURE__ */ b("span", {
2934
+ className: "signal-workspace-item-description",
2935
+ children: t
2936
+ })]
2937
+ }),
2938
+ /* @__PURE__ */ b("span", {
2939
+ className: "signal-workspace-item-detail",
2940
+ children: n
2941
+ }),
2942
+ /* @__PURE__ */ x("span", {
2943
+ className: "signal-workspace-item-open",
2944
+ children: [/* @__PURE__ */ b("span", { children: r }), /* @__PURE__ */ b("svg", {
2945
+ viewBox: "0 0 24 24",
2946
+ fill: "none",
2947
+ stroke: "currentColor",
2948
+ strokeWidth: "1.5",
2949
+ "aria-hidden": "true",
2950
+ children: /* @__PURE__ */ b("path", { d: "M4 12h16m-6-6 6 6-6 6" })
2951
+ })]
2952
+ })
2953
+ ] }));
2954
+ }
2955
+ //#endregion
2896
2956
  //#region src/compositions/signalControls.tsx
2897
- function Gn({ locale: e, ...t }) {
2957
+ function Jn({ locale: e, ...t }) {
2898
2958
  let n = e === "de", r = n ? "Darstellung und Sprache" : "Appearance and language";
2899
2959
  return /* @__PURE__ */ b(Ut, {
2900
2960
  ...t,
@@ -2934,7 +2994,7 @@ function Gn({ locale: e, ...t }) {
2934
2994
  })
2935
2995
  });
2936
2996
  }
2937
- function Kn({ label: t, onOpen: n, className: r }) {
2997
+ function Yn({ label: t, onOpen: n, className: r }) {
2938
2998
  return /* @__PURE__ */ x("button", {
2939
2999
  type: "button",
2940
3000
  className: e("signal-control signal-search", r),
@@ -2950,7 +3010,7 @@ function Kn({ label: t, onOpen: n, className: r }) {
2950
3010
  ]
2951
3011
  });
2952
3012
  }
2953
- function qn({ children: t, className: n, ...r }) {
3013
+ function Xn({ children: t, className: n, ...r }) {
2954
3014
  return /* @__PURE__ */ x("a", {
2955
3015
  ...r,
2956
3016
  className: e("signal-control signal-header-action", n),
@@ -2963,7 +3023,7 @@ function qn({ children: t, className: n, ...r }) {
2963
3023
  }
2964
3024
  //#endregion
2965
3025
  //#region src/compositions/signalHeader.tsx
2966
- function Jn({ brand: t, links: n, navigationLabel: r, menuLabel: i, menuTitle: a, menuLinks: o, utilities: s, navigationAction: c, className: l, sticky: u = !1 }) {
3026
+ function Zn({ brand: t, links: n, navigationLabel: r, menuLabel: i, menuTitle: a, menuLinks: o, utilities: s, navigationAction: c, className: l, sticky: u = !1 }) {
2967
3027
  let [d, f] = v(!1), [p, g] = v(!1), y = _(null), S = _(null), C = _(null), w = h();
2968
3028
  m(() => {
2969
3029
  if (!u) return;
@@ -3081,6 +3141,6 @@ function Jn({ brand: t, links: n, navigationLabel: r, menuLabel: i, menuTitle: a
3081
3141
  }
3082
3142
  //#endregion
3083
3143
  //#region src/index.ts
3084
- var Yn = "framework-ui-shadcn";
3144
+ var Qn = "framework-ui-shadcn";
3085
3145
  //#endregion
3086
- export { on as AnimatedNumber, It as AppShell, gt as ArrowReturnIcon, me as Avatar, i as Badge, tt as BellIcon, Xt as Bento, Zt as BentoCell, ot as BotIcon, $e as BroadcastIcon, rt as BuildingIcon, R as Button, Dn as Callout, z as Card, oe as CardContent, ae as CardDescription, se as CardFooter, B as CardHeader, V as CardTitle, St as ChartIcon, ue as Checkbox, mt as ChevronLeftIcon, ht as ChevronRightIcon, ft as CloudIcon, An as CodeBlock, rn as CodeCompare, wn as CodeWindow, nt as CogIcon, Ye as CompassIcon, it as DatabaseIcon, _e as Dialog, be as DialogDescription, xe as DialogFooter, ve as DialogHeader, ye as DialogTitle, yt as DiscordIcon, In as DocCard, Fn as DocCards, qe as DocShell, Pt as DocsLayout, je as DropdownMenu, H as DropdownMenuContent, Ne as DropdownMenuGroup, W as DropdownMenuItem, Ie as DropdownMenuLabel, Pe as DropdownMenuPortal, Fe as DropdownMenuRadioGroup, Re as DropdownMenuRadioItem, U as DropdownMenuSeparator, Me as DropdownMenuTrigger, Ge as FeatureGrid, Qe as FileIcon, Ze as FolderIcon, _t as GitHubIcon, dt as GlobeIcon, yn as GridOverlay, We as HeroSection, Q as HighlightedCode, pt as HomeIcon, ut as HookIcon, ce as Input, P as LOCALE_COOKIE, de as Label, un as LandingCta, Jt as LandingHero, sn as LandingStats, ct as LayersIcon, bt as LinkedInIcon, Ve as LocaleSwitcher, at as LockIcon, Ue as LoginCard, vn as MeshBackdrop, Xe as PackageIcon, Ct as PageHeader, et as PencilIcon, Ut as ProfileMenu, lt as PuzzleIcon, Je as RocketIcon, xt as RssIcon, Qt as SHIKI_LANGS, Tn as ScrollReveal, Y as SearchIcon, zn as SearchModal, Bn as SearchTrigger, ge as Select, fe as Separator, Wn as SignalField, Jn as SignalHeader, qn as SignalHeaderAction, Gn as SignalPreferences, Kn as SignalSearch, hn as SiteFooter, he as Skeleton, Cn as Sparkles, _n as StatusBadge, Mn as Step, jn as Steps, N as THEME_CHANGE_EVENT, M as THEME_COOKIE, Ce as Tabs, Ee as TabsContent, we as TabsList, Te as TabsTrigger, st as TerminalIcon, le as Textarea, Gt as ThemeToggle, Oe as Toast, Ae as ToastDescription, ke as ToastTitle, Ln as TocScrollSpy, ze as Toggle, K as ToggleGroup, q as ToggleGroupItem, Yn as UI_SHADCN_NAME, s as VOLTRO_BOLT_PATH, r as VOLTRO_VIOLET, a as VoltroIcon, n as VoltroMark, t as VoltroWordmark, vt as XIcon, L as applyTheme, o as badgeVariants, ie as buttonVariants, e as cn, ne as deleteCookie, F as getCookie, re as parsePreferenceCookies, I as setCookie, j as shadcnWidgets, Wt as themeBootScript, G as toggleVariants, en as whenHighlighterReady };
3146
+ export { on as AnimatedNumber, It as AppShell, gt as ArrowReturnIcon, he as Avatar, i as Badge, tt as BellIcon, Xt as Bento, Zt as BentoCell, ot as BotIcon, $e as BroadcastIcon, rt as BuildingIcon, z as Button, Dn as Callout, B as Card, ce as CardContent, se as CardDescription, le as CardFooter, ae as CardHeader, oe as CardTitle, St as ChartIcon, E as Checkbox, mt as ChevronLeftIcon, ht as ChevronRightIcon, ft as CloudIcon, An as CodeBlock, rn as CodeCompare, wn as CodeWindow, nt as CogIcon, Ye as CompassIcon, it as DatabaseIcon, ve as Dialog, xe as DialogDescription, Se as DialogFooter, ye as DialogHeader, be as DialogTitle, yt as DiscordIcon, In as DocCard, Fn as DocCards, qe as DocShell, Pt as DocsLayout, je as DropdownMenu, H as DropdownMenuContent, Ne as DropdownMenuGroup, W as DropdownMenuItem, Ie as DropdownMenuLabel, Pe as DropdownMenuPortal, Fe as DropdownMenuRadioGroup, Re as DropdownMenuRadioItem, U as DropdownMenuSeparator, Me as DropdownMenuTrigger, Ge as FeatureGrid, Qe as FileIcon, Ze as FolderIcon, _t as GitHubIcon, dt as GlobeIcon, yn as GridOverlay, We as HeroSection, Q as HighlightedCode, pt as HomeIcon, ut as HookIcon, ue as Input, F as LOCALE_COOKIE, fe as Label, un as LandingCta, Jt as LandingHero, sn as LandingStats, ct as LayersIcon, bt as LinkedInIcon, Ve as LocaleSwitcher, at as LockIcon, Ue as LoginCard, vn as MeshBackdrop, Xe as PackageIcon, Ct as PageHeader, et as PencilIcon, Ut as ProfileMenu, lt as PuzzleIcon, Je as RocketIcon, xt as RssIcon, Qt as SHIKI_LANGS, Tn as ScrollReveal, Y as SearchIcon, zn as SearchModal, Bn as SearchTrigger, _e as Select, pe as Separator, Wn as SignalField, Zn as SignalHeader, Xn as SignalHeaderAction, Jn as SignalPreferences, Yn as SignalSearch, Gn as SignalWorkspace, Kn as SignalWorkspaceHeader, qn as SignalWorkspaceItem, hn as SiteFooter, ge as Skeleton, Cn as Sparkles, _n as StatusBadge, Mn as Step, jn as Steps, P as THEME_CHANGE_EVENT, N as THEME_COOKIE, Ce as Tabs, Ee as TabsContent, we as TabsList, Te as TabsTrigger, st as TerminalIcon, de as Textarea, Gt as ThemeToggle, Oe as Toast, Ae as ToastDescription, ke as ToastTitle, Ln as TocScrollSpy, ze as Toggle, K as ToggleGroup, q as ToggleGroupItem, Qn as UI_SHADCN_NAME, s as VOLTRO_BOLT_PATH, r as VOLTRO_VIOLET, a as VoltroIcon, n as VoltroMark, t as VoltroWordmark, vt as XIcon, R as applyTheme, o as badgeVariants, ie as buttonVariants, e as cn, ne as deleteCookie, I as getCookie, re as parsePreferenceCookies, L as setCookie, M as shadcnWidgets, Wt as themeBootScript, G as toggleVariants, en as whenHighlighterReady };