@voltro/ui-shadcn 0.1.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.
Files changed (72) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/LICENSE +57 -0
  3. package/README.md +26 -0
  4. package/SECURITY.md +56 -0
  5. package/THIRD-PARTY-NOTICES.md +3016 -0
  6. package/dist/brand.d.ts +73 -0
  7. package/dist/brand.js +177 -0
  8. package/dist/cn.d.ts +11 -0
  9. package/dist/cn.js +6 -0
  10. package/dist/index.d.ts +1183 -0
  11. package/dist/index.js +2636 -0
  12. package/dist/tokens.css +532 -0
  13. package/package.json +64 -0
  14. package/src/brand/README.md +60 -0
  15. package/src/brand/assets/voltro-favicon.svg +30 -0
  16. package/src/brand/assets/voltro-icon-dark.svg +26 -0
  17. package/src/brand/assets/voltro-icon.svg +14 -0
  18. package/src/brand/assets/voltro-mark-mono.svg +5 -0
  19. package/src/brand/assets/voltro-mark.svg +14 -0
  20. package/src/brand/voltroLogo.tsx +244 -0
  21. package/src/cn.ts +10 -0
  22. package/src/compositions/appShell.tsx +72 -0
  23. package/src/compositions/codeCompare.tsx +88 -0
  24. package/src/compositions/docShell.tsx +112 -0
  25. package/src/compositions/docsLayout.tsx +577 -0
  26. package/src/compositions/featureBento.tsx +103 -0
  27. package/src/compositions/featureGrid.tsx +41 -0
  28. package/src/compositions/heroSection.tsx +55 -0
  29. package/src/compositions/landingCta.tsx +85 -0
  30. package/src/compositions/landingHero.tsx +174 -0
  31. package/src/compositions/landingStats.tsx +99 -0
  32. package/src/compositions/loginCard.tsx +139 -0
  33. package/src/compositions/pageHeader.tsx +58 -0
  34. package/src/compositions/profileMenu.tsx +316 -0
  35. package/src/compositions/siteFooter.tsx +250 -0
  36. package/src/compositions/themeToggle.tsx +82 -0
  37. package/src/cookies.ts +109 -0
  38. package/src/index.ts +160 -0
  39. package/src/primitives/animatedNumber.tsx +73 -0
  40. package/src/primitives/avatar.tsx +39 -0
  41. package/src/primitives/badge.tsx +39 -0
  42. package/src/primitives/button.tsx +53 -0
  43. package/src/primitives/callout.tsx +97 -0
  44. package/src/primitives/card.tsx +68 -0
  45. package/src/primitives/checkbox.tsx +55 -0
  46. package/src/primitives/codeBlock.tsx +134 -0
  47. package/src/primitives/codeWindow.tsx +84 -0
  48. package/src/primitives/dialog.tsx +43 -0
  49. package/src/primitives/docCard.tsx +109 -0
  50. package/src/primitives/docIcons.tsx +268 -0
  51. package/src/primitives/dropdownMenu.tsx +162 -0
  52. package/src/primitives/gridOverlay.tsx +51 -0
  53. package/src/primitives/highlightedCode.tsx +112 -0
  54. package/src/primitives/input.tsx +25 -0
  55. package/src/primitives/label.tsx +19 -0
  56. package/src/primitives/localeSwitcher.tsx +90 -0
  57. package/src/primitives/meshBackdrop.tsx +62 -0
  58. package/src/primitives/scrollReveal.tsx +70 -0
  59. package/src/primitives/searchModal.tsx +304 -0
  60. package/src/primitives/select.tsx +24 -0
  61. package/src/primitives/separator.tsx +24 -0
  62. package/src/primitives/skeleton.tsx +12 -0
  63. package/src/primitives/sparkles.tsx +105 -0
  64. package/src/primitives/steps.tsx +55 -0
  65. package/src/primitives/tabs.tsx +102 -0
  66. package/src/primitives/textarea.tsx +24 -0
  67. package/src/primitives/toast.tsx +44 -0
  68. package/src/primitives/tocScrollSpy.tsx +110 -0
  69. package/src/primitives/toggle.tsx +50 -0
  70. package/src/primitives/toggleGroup.tsx +62 -0
  71. package/src/tokens.css +532 -0
  72. package/src/widgets.tsx +297 -0
package/dist/index.js ADDED
@@ -0,0 +1,2636 @@
1
+ import { cn as e } from "./cn.js";
2
+ import { VOLTRO_BOLT_PATH as t, VOLTRO_VIOLET as n, VoltroIcon as r, VoltroMark as i, VoltroWordmark as a } from "./brand.js";
3
+ import { Children as o, createContext as s, forwardRef as c, isValidElement as l, useCallback as u, useContext as d, useEffect as f, useId as p, useMemo as m, useRef as h, useState as g } from "react";
4
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
5
+ import { cva as b } from "class-variance-authority";
6
+ import * as x from "@radix-ui/react-dropdown-menu";
7
+ import * as S from "@radix-ui/react-toggle";
8
+ import * as C from "@radix-ui/react-toggle-group";
9
+ //#region src/widgets.tsx
10
+ var w = {
11
+ field: "voltro-field flex flex-col gap-1",
12
+ label: "text-sm font-medium text-foreground",
13
+ 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",
15
+ error: "text-sm text-destructive"
16
+ }, T = (e) => e == null ? "" : String(e), E = (e, t) => t === void 0 ? void 0 : `${e}-error`, D = (e) => /* @__PURE__ */ y("div", {
17
+ className: w.field,
18
+ children: [
19
+ /* @__PURE__ */ y("label", {
20
+ className: w.label,
21
+ htmlFor: e.id,
22
+ children: [e.label, e.required ? " *" : ""]
23
+ }),
24
+ e.children,
25
+ e.error === void 0 ? null : /* @__PURE__ */ v("p", {
26
+ id: `${e.id}-error`,
27
+ className: w.error,
28
+ role: "alert",
29
+ children: e.error
30
+ })
31
+ ]
32
+ }), O = (e, t) => (n) => {
33
+ let r = p();
34
+ return /* @__PURE__ */ v(D, {
35
+ id: r,
36
+ label: n.label,
37
+ required: n.required,
38
+ error: n.error,
39
+ children: /* @__PURE__ */ v("input", {
40
+ id: r,
41
+ type: e,
42
+ name: n.name,
43
+ className: w.control,
44
+ value: T(n.value),
45
+ onChange: (e) => n.onChange(t(e.target.value)),
46
+ disabled: n.disabled,
47
+ required: n.required,
48
+ "aria-invalid": n.error !== void 0,
49
+ "aria-describedby": E(r, n.error)
50
+ })
51
+ });
52
+ }, k = {
53
+ text: O("text", (e) => e),
54
+ number: O("number", (e) => e === "" ? void 0 : Number(e)),
55
+ date: O("date", (e) => e),
56
+ datetime: O("datetime-local", (e) => e),
57
+ daterange: O("text", (e) => e),
58
+ "async-select": O("text", (e) => e),
59
+ textarea: (e) => {
60
+ let t = p();
61
+ return /* @__PURE__ */ v(D, {
62
+ id: t,
63
+ label: e.label,
64
+ required: e.required,
65
+ error: e.error,
66
+ children: /* @__PURE__ */ v("textarea", {
67
+ id: t,
68
+ name: e.name,
69
+ className: w.control,
70
+ value: T(e.value),
71
+ onChange: (t) => e.onChange(t.target.value),
72
+ disabled: e.disabled,
73
+ required: e.required,
74
+ "aria-invalid": e.error !== void 0,
75
+ "aria-describedby": E(t, e.error)
76
+ })
77
+ });
78
+ },
79
+ checkbox: (e) => {
80
+ let t = p();
81
+ return /* @__PURE__ */ y("div", {
82
+ className: "voltro-field flex items-center gap-2",
83
+ children: [
84
+ /* @__PURE__ */ v("input", {
85
+ id: t,
86
+ type: "checkbox",
87
+ name: e.name,
88
+ className: w.checkbox,
89
+ checked: e.value === !0,
90
+ onChange: (t) => e.onChange(t.target.checked),
91
+ disabled: e.disabled,
92
+ "aria-invalid": e.error !== void 0,
93
+ "aria-describedby": E(t, e.error)
94
+ }),
95
+ /* @__PURE__ */ y("label", {
96
+ className: w.label,
97
+ htmlFor: t,
98
+ children: [e.label, e.required ? " *" : ""]
99
+ }),
100
+ e.error === void 0 ? null : /* @__PURE__ */ v("p", {
101
+ id: `${t}-error`,
102
+ className: w.error,
103
+ role: "alert",
104
+ children: e.error
105
+ })
106
+ ]
107
+ });
108
+ },
109
+ switch: (e) => {
110
+ let t = p(), n = e.value === !0;
111
+ return /* @__PURE__ */ y("div", {
112
+ className: "voltro-field flex items-center gap-2",
113
+ children: [
114
+ /* @__PURE__ */ v("button", {
115
+ id: t,
116
+ type: "button",
117
+ role: "switch",
118
+ "aria-checked": n,
119
+ onClick: () => e.onChange(!n),
120
+ disabled: e.disabled,
121
+ "aria-invalid": e.error !== void 0,
122
+ "aria-describedby": E(t, e.error),
123
+ 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
+ children: /* @__PURE__ */ v("span", {
125
+ "aria-hidden": "true",
126
+ className: "block h-4 w-4 rounded-full bg-background shadow-sm transition-transform " + (n ? "translate-x-4" : "translate-x-0.5")
127
+ })
128
+ }),
129
+ /* @__PURE__ */ y("label", {
130
+ className: w.label,
131
+ htmlFor: t,
132
+ children: [e.label, e.required ? " *" : ""]
133
+ }),
134
+ e.error === void 0 ? null : /* @__PURE__ */ v("p", {
135
+ id: `${t}-error`,
136
+ className: w.error,
137
+ role: "alert",
138
+ children: e.error
139
+ })
140
+ ]
141
+ });
142
+ },
143
+ select: (e) => {
144
+ let t = p();
145
+ return /* @__PURE__ */ v(D, {
146
+ id: t,
147
+ label: e.label,
148
+ required: e.required,
149
+ error: e.error,
150
+ children: /* @__PURE__ */ y("select", {
151
+ id: t,
152
+ name: e.name,
153
+ className: w.control,
154
+ value: T(e.value),
155
+ onChange: (t) => e.onChange(t.target.value),
156
+ disabled: e.disabled,
157
+ required: e.required,
158
+ "aria-invalid": e.error !== void 0,
159
+ "aria-describedby": E(t, e.error),
160
+ children: [/* @__PURE__ */ v("option", {
161
+ value: "",
162
+ children: "—"
163
+ }), (e.options ?? []).map((e) => /* @__PURE__ */ v("option", {
164
+ value: e.value,
165
+ children: e.label
166
+ }, e.value))]
167
+ })
168
+ });
169
+ },
170
+ radio: (e) => {
171
+ let t = p();
172
+ return /* @__PURE__ */ y("fieldset", {
173
+ className: w.field,
174
+ "aria-invalid": e.error !== void 0,
175
+ children: [
176
+ /* @__PURE__ */ y("legend", {
177
+ className: w.label,
178
+ children: [e.label, e.required ? " *" : ""]
179
+ }),
180
+ /* @__PURE__ */ v("div", {
181
+ className: "flex flex-col gap-1",
182
+ children: (e.options ?? []).map((n) => {
183
+ let r = `${t}-${n.value}`;
184
+ return /* @__PURE__ */ y("span", {
185
+ className: "flex items-center gap-2",
186
+ children: [/* @__PURE__ */ v("input", {
187
+ id: r,
188
+ type: "radio",
189
+ name: e.name,
190
+ value: n.value,
191
+ className: w.checkbox,
192
+ checked: T(e.value) === n.value,
193
+ onChange: () => e.onChange(n.value),
194
+ disabled: e.disabled
195
+ }), /* @__PURE__ */ v("label", {
196
+ className: "text-sm text-foreground",
197
+ htmlFor: r,
198
+ children: n.label
199
+ })]
200
+ }, n.value);
201
+ })
202
+ }),
203
+ e.error === void 0 ? null : /* @__PURE__ */ v("p", {
204
+ id: `${t}-error`,
205
+ className: w.error,
206
+ role: "alert",
207
+ children: e.error
208
+ })
209
+ ]
210
+ });
211
+ },
212
+ "multi-select": (e) => {
213
+ let t = p(), n = Array.isArray(e.value) ? e.value.map(String) : [];
214
+ return /* @__PURE__ */ v(D, {
215
+ id: t,
216
+ label: e.label,
217
+ required: e.required,
218
+ error: e.error,
219
+ children: /* @__PURE__ */ v("select", {
220
+ id: t,
221
+ name: e.name,
222
+ multiple: !0,
223
+ className: w.control + " min-h-24",
224
+ value: n,
225
+ onChange: (t) => e.onChange(Array.from(t.target.selectedOptions, (e) => e.value)),
226
+ disabled: e.disabled,
227
+ "aria-invalid": e.error !== void 0,
228
+ "aria-describedby": E(t, e.error),
229
+ children: (e.options ?? []).map((e) => /* @__PURE__ */ v("option", {
230
+ value: e.value,
231
+ children: e.label
232
+ }, e.value))
233
+ })
234
+ });
235
+ },
236
+ file: (e) => {
237
+ let t = p();
238
+ return /* @__PURE__ */ v(D, {
239
+ id: t,
240
+ label: e.label,
241
+ required: e.required,
242
+ error: e.error,
243
+ children: /* @__PURE__ */ v("input", {
244
+ id: t,
245
+ type: "file",
246
+ name: e.name,
247
+ className: w.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
+ onChange: (t) => e.onChange(t.target.value),
249
+ disabled: e.disabled,
250
+ required: e.required,
251
+ "aria-invalid": e.error !== void 0,
252
+ "aria-describedby": E(t, e.error)
253
+ })
254
+ });
255
+ }
256
+ }, A = "voltro:theme", j = "voltro:lang", M = (e) => e === "system" || e === "light" || e === "dark", ee = 3600 * 24 * 400, N = (e, t) => {
257
+ let n = t ?? (typeof document < "u" ? document.cookie : "");
258
+ if (n) for (let t of n.split(";")) {
259
+ let n = t.indexOf("=");
260
+ if (n !== -1 && t.slice(0, n).trim() === e) try {
261
+ return decodeURIComponent(t.slice(n + 1).trim());
262
+ } catch {
263
+ return t.slice(n + 1).trim();
264
+ }
265
+ }
266
+ }, P = (e, t, n = {}) => {
267
+ let { maxAgeSeconds: r = ee, path: i = "/", sameSite: a = "lax" } = n, o = [
268
+ `${e}=${encodeURIComponent(t)}`,
269
+ `Path=${i}`,
270
+ `Max-Age=${r}`,
271
+ `SameSite=${a}`
272
+ ];
273
+ a === "none" && o.push("Secure");
274
+ let s = o.join("; ");
275
+ return typeof document < "u" && (document.cookie = s), s;
276
+ }, te = (e, t = "/") => P(e, "", {
277
+ maxAgeSeconds: 0,
278
+ path: t
279
+ }), ne = (e) => {
280
+ let t = e ?? void 0, n = N(A, t), r = N(j, t);
281
+ return {
282
+ ...n !== void 0 && M(n) ? { theme: n } : {},
283
+ ...r !== void 0 && r !== "" ? { lang: r } : {}
284
+ };
285
+ }, re = (e) => {
286
+ if (typeof document > "u") return;
287
+ let t = e === "dark" || e === "system" && typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches === !0;
288
+ document.documentElement.classList.toggle("dark", t);
289
+ }, ie = b("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
+ variants: {
291
+ variant: {
292
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
293
+ destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90",
294
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
295
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
296
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
297
+ link: "text-primary underline-offset-4 hover:underline"
298
+ },
299
+ size: {
300
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
301
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
302
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
303
+ icon: "size-9"
304
+ }
305
+ },
306
+ defaultVariants: {
307
+ variant: "default",
308
+ size: "default"
309
+ }
310
+ }), F = ({ className: t, variant: n, size: r, children: i, ...a }) => /* @__PURE__ */ v("button", {
311
+ "data-slot": "button",
312
+ className: e(ie({
313
+ variant: n,
314
+ size: r,
315
+ className: t
316
+ })),
317
+ ...a,
318
+ children: i
319
+ }), I = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("div", {
320
+ "data-slot": "card",
321
+ className: e("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", t),
322
+ ...r,
323
+ children: n
324
+ }), L = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("div", {
325
+ "data-slot": "card-header",
326
+ className: e("grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6", t),
327
+ ...r,
328
+ children: n
329
+ }), R = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("h3", {
330
+ "data-slot": "card-title",
331
+ className: e("leading-none font-semibold tracking-tight", t),
332
+ ...r,
333
+ children: n
334
+ }), ae = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("p", {
335
+ "data-slot": "card-description",
336
+ className: e("text-muted-foreground text-sm", t),
337
+ ...r,
338
+ children: n
339
+ }), oe = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("div", {
340
+ "data-slot": "card-content",
341
+ className: e("px-6", t),
342
+ ...r,
343
+ children: n
344
+ }), se = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("div", {
345
+ "data-slot": "card-footer",
346
+ className: e("flex items-center px-6", t),
347
+ ...r,
348
+ children: n
349
+ }), z = ({ className: t, type: n = "text", ...r }) => /* @__PURE__ */ v("input", {
350
+ type: n,
351
+ "data-slot": "input",
352
+ 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
+ ...r
354
+ }), ce = ({ className: t, ...n }) => /* @__PURE__ */ v("textarea", {
355
+ "data-slot": "textarea",
356
+ 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
+ ...n
358
+ }), le = ({ className: t, indeterminate: n, ...r }) => {
359
+ let i = h(null);
360
+ return f(() => {
361
+ i.current && (i.current.indeterminate = n === !0);
362
+ }, [n]), /* @__PURE__ */ y("span", {
363
+ className: "relative inline-flex size-4 shrink-0 items-center justify-center",
364
+ children: [
365
+ /* @__PURE__ */ v("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__ */ v("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__ */ v("path", { d: "M20 6 9 17l-5-5" })
381
+ }),
382
+ /* @__PURE__ */ v("span", { className: "pointer-events-none absolute hidden h-[2px] w-2.5 rounded-full bg-primary-foreground peer-indeterminate:block" })
383
+ ]
384
+ });
385
+ }, B = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("label", {
386
+ "data-slot": "label",
387
+ 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
+ ...r,
389
+ children: n
390
+ }), ue = b("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 [&>svg]:pointer-events-none gap-1 transition-[color,box-shadow] overflow-hidden 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", {
391
+ variants: { variant: {
392
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
393
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
394
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90",
395
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
396
+ } },
397
+ defaultVariants: { variant: "default" }
398
+ }), de = ({ className: t, variant: n, children: r, ...i }) => /* @__PURE__ */ v("span", {
399
+ "data-slot": "badge",
400
+ className: e(ue({ variant: n }), t),
401
+ ...i,
402
+ children: r
403
+ }), fe = ({ className: t, orientation: n = "horizontal", ...r }) => /* @__PURE__ */ v("div", {
404
+ "data-slot": "separator",
405
+ role: "separator",
406
+ "aria-orientation": n,
407
+ className: e("bg-border shrink-0", n === "horizontal" ? "h-px w-full" : "h-full w-px", t),
408
+ ...r
409
+ }), pe = {
410
+ sm: "size-6 text-xs",
411
+ md: "size-9 text-sm",
412
+ lg: "size-12 text-base"
413
+ }, me = ({ src: t, alt: n, fallback: r, size: i = "md", className: a, ...o }) => /* @__PURE__ */ v("div", {
414
+ "data-slot": "avatar",
415
+ className: e("relative inline-flex items-center justify-center overflow-hidden rounded-full bg-muted", pe[i], a),
416
+ ...o,
417
+ children: t ? /* @__PURE__ */ v("img", {
418
+ src: t,
419
+ alt: n ?? "",
420
+ className: "size-full object-cover"
421
+ }) : /* @__PURE__ */ v("span", {
422
+ className: "font-medium text-muted-foreground select-none",
423
+ children: r ?? "?"
424
+ })
425
+ }), he = ({ className: t, ...n }) => /* @__PURE__ */ v("div", {
426
+ "data-slot": "skeleton",
427
+ className: e("animate-pulse rounded-md bg-muted", t),
428
+ ...n
429
+ }), ge = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("select", {
430
+ "data-slot": "select",
431
+ 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),
432
+ ...r,
433
+ children: n
434
+ }), _e = ({ className: t, children: n, ...r }) => /* @__PURE__ */ v("dialog", {
435
+ "data-slot": "dialog",
436
+ 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),
437
+ ...r,
438
+ children: n
439
+ }), ve = ({ className: t, ...n }) => /* @__PURE__ */ v("div", {
440
+ "data-slot": "dialog-header",
441
+ className: e("flex flex-col gap-1.5 text-left mb-4", t),
442
+ ...n
443
+ }), ye = ({ className: t, ...n }) => /* @__PURE__ */ v("h2", {
444
+ "data-slot": "dialog-title",
445
+ className: e("text-lg font-semibold leading-none tracking-tight", t),
446
+ ...n
447
+ }), be = ({ className: t, ...n }) => /* @__PURE__ */ v("p", {
448
+ "data-slot": "dialog-description",
449
+ className: e("text-sm text-muted-foreground", t),
450
+ ...n
451
+ }), xe = ({ className: t, ...n }) => /* @__PURE__ */ v("div", {
452
+ "data-slot": "dialog-footer",
453
+ className: e("mt-6 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t),
454
+ ...n
455
+ }), V = s(null), Se = ({ defaultValue: t, value: n, onValueChange: r, className: i, children: a, ...o }) => {
456
+ let [s, c] = g(t), l = n ?? s;
457
+ return /* @__PURE__ */ v(V.Provider, {
458
+ value: {
459
+ value: l,
460
+ setValue: (e) => {
461
+ n === void 0 && c(e), r?.(e);
462
+ }
463
+ },
464
+ children: /* @__PURE__ */ v("div", {
465
+ "data-slot": "tabs",
466
+ className: e("flex flex-col gap-2", i),
467
+ ...o,
468
+ children: a
469
+ })
470
+ });
471
+ }, Ce = ({ className: t, ...n }) => /* @__PURE__ */ v("div", {
472
+ "data-slot": "tabs-list",
473
+ role: "tablist",
474
+ className: e("inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted text-muted-foreground p-1", t),
475
+ ...n
476
+ }), we = ({ value: t, className: n, children: r, ...i }) => {
477
+ let a = d(V);
478
+ if (!a) throw Error("TabsTrigger must be inside <Tabs>");
479
+ let o = a.value === t;
480
+ return /* @__PURE__ */ v("button", {
481
+ "data-slot": "tabs-trigger",
482
+ role: "tab",
483
+ type: "button",
484
+ "aria-selected": o,
485
+ onClick: () => a.setValue(t),
486
+ className: e("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-all", "focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50", o ? "bg-background text-foreground shadow-sm" : "hover:text-foreground", n),
487
+ ...i,
488
+ children: r
489
+ });
490
+ }, Te = ({ value: t, className: n, children: r, ...i }) => {
491
+ let a = d(V);
492
+ if (!a) throw Error("TabsContent must be inside <Tabs>");
493
+ return a.value === t ? /* @__PURE__ */ v("div", {
494
+ "data-slot": "tabs-content",
495
+ role: "tabpanel",
496
+ className: e("flex-1 outline-none", n),
497
+ ...i,
498
+ children: r
499
+ }) : null;
500
+ }, Ee = {
501
+ default: "bg-card text-card-foreground border",
502
+ destructive: "bg-destructive text-white border-destructive",
503
+ success: "bg-emerald-600 text-white border-emerald-600"
504
+ }, De = ({ variant: t = "default", className: n, children: r, ...i }) => /* @__PURE__ */ v("div", {
505
+ "data-slot": "toast",
506
+ role: "status",
507
+ "aria-live": "polite",
508
+ className: e("fixed bottom-4 right-4 z-50 max-w-md rounded-md border shadow-lg p-4", "data-[state=closed]:hidden", "data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom-2 data-[state=open]:fade-in-0", Ee[t], n),
509
+ ...i,
510
+ children: r
511
+ }), Oe = ({ className: t, ...n }) => /* @__PURE__ */ v("p", {
512
+ "data-slot": "toast-title",
513
+ className: e("text-sm font-semibold", t),
514
+ ...n
515
+ }), ke = ({ className: t, ...n }) => /* @__PURE__ */ v("p", {
516
+ "data-slot": "toast-description",
517
+ className: e("text-sm opacity-90", t),
518
+ ...n
519
+ }), Ae = x.Root, je = x.Trigger, Me = x.Group, Ne = x.Portal, Pe = x.RadioGroup, H = c(({ className: t, sideOffset: n = 6, ...r }, i) => /* @__PURE__ */ v(x.Portal, { children: /* @__PURE__ */ v(x.Content, {
520
+ ref: i,
521
+ sideOffset: n,
522
+ className: e("z-50 min-w-[10rem] overflow-hidden rounded-md border border-border", "bg-popover text-popover-foreground shadow-lg p-1", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2", "data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2", t),
523
+ ...r
524
+ }) }));
525
+ H.displayName = "DropdownMenuContent";
526
+ var Fe = c(({ className: t, inset: n, ...r }, i) => /* @__PURE__ */ v(x.Label, {
527
+ ref: i,
528
+ className: e("px-2 py-1.5 text-[0.65rem] font-semibold uppercase tracking-wider text-muted-foreground", n && "pl-8", t),
529
+ ...r
530
+ }));
531
+ Fe.displayName = "DropdownMenuLabel";
532
+ var U = c(({ className: t, ...n }, r) => /* @__PURE__ */ v(x.Separator, {
533
+ ref: r,
534
+ className: e("-mx-1 my-1 h-px bg-border", t),
535
+ ...n
536
+ }));
537
+ U.displayName = "DropdownMenuSeparator";
538
+ var W = c(({ className: t, inset: n, destructive: r, ...i }, a) => /* @__PURE__ */ v(x.Item, {
539
+ ref: a,
540
+ className: e("relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none", "transition-colors select-none cursor-pointer", "focus:bg-accent focus:text-accent-foreground", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", "[&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 [&_svg]:pointer-events-none", n && "pl-8", r ? "text-destructive focus:bg-destructive/10 focus:text-destructive" : "text-foreground", t),
541
+ ...i
542
+ }));
543
+ W.displayName = "DropdownMenuItem";
544
+ var Ie = () => /* @__PURE__ */ v("span", { className: "size-2 rounded-full bg-current" }), Le = c(({ className: t, children: n, ...r }, i) => /* @__PURE__ */ y(x.RadioItem, {
545
+ ref: i,
546
+ className: e("relative flex items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", "transition-colors select-none cursor-pointer text-foreground", "focus:bg-accent focus:text-accent-foreground", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", t),
547
+ ...r,
548
+ children: [/* @__PURE__ */ v("span", {
549
+ className: "absolute left-2.5 flex size-3.5 items-center justify-center",
550
+ children: /* @__PURE__ */ v(x.ItemIndicator, { children: /* @__PURE__ */ v(Ie, {}) })
551
+ }), n]
552
+ }));
553
+ Le.displayName = "DropdownMenuRadioItem";
554
+ //#endregion
555
+ //#region src/primitives/toggle.tsx
556
+ var G = b("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring cursor-pointer", {
557
+ variants: {
558
+ variant: {
559
+ default: "bg-transparent",
560
+ outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
561
+ },
562
+ size: {
563
+ default: "h-9 px-2 min-w-9",
564
+ sm: "h-8 px-2 min-w-8",
565
+ lg: "h-10 px-2.5 min-w-10"
566
+ }
567
+ },
568
+ defaultVariants: {
569
+ variant: "default",
570
+ size: "default"
571
+ }
572
+ }), Re = c(({ className: t, variant: n, size: r, ...i }, a) => /* @__PURE__ */ v(S.Root, {
573
+ ref: a,
574
+ className: e(G({
575
+ variant: n,
576
+ size: r,
577
+ className: t
578
+ })),
579
+ ...i
580
+ }));
581
+ Re.displayName = "Toggle";
582
+ //#endregion
583
+ //#region src/primitives/toggleGroup.tsx
584
+ var ze = s({
585
+ variant: "default",
586
+ size: "default"
587
+ }), K = c(({ className: t, variant: n, size: r, children: i, ...a }, o) => /* @__PURE__ */ v(C.Root, {
588
+ ref: o,
589
+ className: e("inline-flex items-center gap-1", t),
590
+ ...a,
591
+ children: /* @__PURE__ */ v(ze.Provider, {
592
+ value: {
593
+ variant: n,
594
+ size: r
595
+ },
596
+ children: i
597
+ })
598
+ }));
599
+ K.displayName = "ToggleGroup";
600
+ var q = c(({ className: t, variant: n, size: r, children: i, ...a }, o) => {
601
+ let s = d(ze);
602
+ return /* @__PURE__ */ v(C.Item, {
603
+ ref: o,
604
+ className: e(G({
605
+ variant: n ?? s.variant,
606
+ size: r ?? s.size
607
+ }), t),
608
+ ...a,
609
+ children: i
610
+ });
611
+ });
612
+ q.displayName = "ToggleGroupItem";
613
+ //#endregion
614
+ //#region src/primitives/localeSwitcher.tsx
615
+ var Be = ({ locales: t, current: n, onChange: r, ariaLabel: i = "Language", className: a }) => {
616
+ let [o, s] = g(void 0);
617
+ return f(() => {
618
+ s(N("voltro:lang") ?? void 0);
619
+ }, []), /* @__PURE__ */ v("select", {
620
+ "aria-label": i,
621
+ value: n ?? o ?? t[0]?.code ?? "",
622
+ onChange: (e) => {
623
+ let t = e.target.value;
624
+ P(j, t), s(t), r?.(t) !== !1 && typeof window < "u" && window.location.reload();
625
+ },
626
+ 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),
627
+ children: t.map((e) => /* @__PURE__ */ v("option", {
628
+ value: e.code,
629
+ children: e.label
630
+ }, e.code))
631
+ });
632
+ };
633
+ Be.displayName = "LocaleSwitcher";
634
+ //#endregion
635
+ //#region src/compositions/loginCard.tsx
636
+ var Ve = {
637
+ email: "Email",
638
+ emailPlaceholder: "you@company.com",
639
+ password: "Password",
640
+ forgot: "Forgot?",
641
+ oauthDivider: "or continue with",
642
+ signUpPrompt: "New here?",
643
+ signUp: "Create an account"
644
+ }, He = ({ title: t = "Welcome back", description: n = "Sign in to your account to continue.", eyebrow: r, submitLabel: i = "Sign in", oauthProviders: a, onOAuth: o, signUpHref: s, forgotHref: c, className: l, labels: u, ...d }) => {
645
+ let f = {
646
+ ...Ve,
647
+ ...u
648
+ };
649
+ return /* @__PURE__ */ v("div", {
650
+ className: e("w-full max-w-md mx-auto", l),
651
+ children: /* @__PURE__ */ y(I, { children: [
652
+ /* @__PURE__ */ y(L, { children: [
653
+ r ? /* @__PURE__ */ v("div", {
654
+ className: "text-xs uppercase tracking-wider text-muted-foreground font-medium",
655
+ children: r
656
+ }) : null,
657
+ /* @__PURE__ */ v(R, {
658
+ className: "text-2xl",
659
+ children: t
660
+ }),
661
+ /* @__PURE__ */ v(ae, { children: n })
662
+ ] }),
663
+ /* @__PURE__ */ y(oe, { children: [/* @__PURE__ */ y("form", {
664
+ className: "space-y-4",
665
+ ...d,
666
+ children: [
667
+ /* @__PURE__ */ y("div", {
668
+ className: "space-y-1.5",
669
+ children: [/* @__PURE__ */ v(B, {
670
+ htmlFor: "email",
671
+ children: f.email
672
+ }), /* @__PURE__ */ v(z, {
673
+ id: "email",
674
+ name: "email",
675
+ type: "email",
676
+ autoComplete: "email",
677
+ placeholder: f.emailPlaceholder
678
+ })]
679
+ }),
680
+ /* @__PURE__ */ y("div", {
681
+ className: "space-y-1.5",
682
+ children: [/* @__PURE__ */ y("div", {
683
+ className: "flex items-center justify-between",
684
+ children: [/* @__PURE__ */ v(B, {
685
+ htmlFor: "password",
686
+ children: f.password
687
+ }), c ? /* @__PURE__ */ v("a", {
688
+ href: c,
689
+ className: "text-xs text-muted-foreground hover:text-foreground",
690
+ children: f.forgot
691
+ }) : null]
692
+ }), /* @__PURE__ */ v(z, {
693
+ id: "password",
694
+ name: "password",
695
+ type: "password",
696
+ autoComplete: "current-password",
697
+ placeholder: "••••••••"
698
+ })]
699
+ }),
700
+ /* @__PURE__ */ v(F, {
701
+ type: "submit",
702
+ className: "w-full",
703
+ children: i
704
+ })
705
+ ]
706
+ }), a && a.length > 0 ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ y("div", {
707
+ className: "my-5 flex items-center gap-3 text-xs text-muted-foreground",
708
+ children: [
709
+ /* @__PURE__ */ v("div", { className: "h-px flex-1 bg-border" }),
710
+ /* @__PURE__ */ v("span", { children: f.oauthDivider }),
711
+ /* @__PURE__ */ v("div", { className: "h-px flex-1 bg-border" })
712
+ ]
713
+ }), /* @__PURE__ */ v("div", {
714
+ className: "grid gap-2",
715
+ style: { gridTemplateColumns: `repeat(${a.length}, minmax(0, 1fr))` },
716
+ children: a.map((e) => /* @__PURE__ */ v(F, {
717
+ type: "button",
718
+ variant: "outline",
719
+ onClick: () => o?.(e.id),
720
+ children: e.label
721
+ }, e.id))
722
+ })] }) : null] }),
723
+ s ? /* @__PURE__ */ y(se, {
724
+ className: "justify-center text-xs text-muted-foreground",
725
+ children: [
726
+ f.signUpPrompt,
727
+ " ",
728
+ /* @__PURE__ */ v("a", {
729
+ href: s,
730
+ className: "ml-1 text-foreground hover:underline",
731
+ children: f.signUp
732
+ })
733
+ ]
734
+ }) : null
735
+ ] })
736
+ });
737
+ }, Ue = ({ eyebrow: t, title: n, subtitle: r, primaryCta: i, secondaryCta: a, footnote: o, className: s }) => /* @__PURE__ */ y("section", {
738
+ className: e("py-20 text-center max-w-4xl mx-auto px-6", s),
739
+ children: [
740
+ t ? /* @__PURE__ */ v(de, {
741
+ variant: "outline",
742
+ className: "mb-6 border-primary/30 text-primary",
743
+ children: t
744
+ }) : null,
745
+ /* @__PURE__ */ v("h1", {
746
+ className: "text-4xl md:text-6xl font-bold tracking-tight leading-tight mb-4 text-foreground",
747
+ children: n
748
+ }),
749
+ r ? /* @__PURE__ */ v("p", {
750
+ className: "text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto mb-8",
751
+ children: r
752
+ }) : null,
753
+ /* @__PURE__ */ y("div", {
754
+ className: "flex gap-3 justify-center flex-wrap mb-4",
755
+ children: [i ? /* @__PURE__ */ v("a", {
756
+ href: i.href,
757
+ children: /* @__PURE__ */ v(F, {
758
+ size: "lg",
759
+ children: i.label
760
+ })
761
+ }) : null, a ? /* @__PURE__ */ v("a", {
762
+ href: a.href,
763
+ children: /* @__PURE__ */ v(F, {
764
+ size: "lg",
765
+ variant: "outline",
766
+ children: a.label
767
+ })
768
+ }) : null]
769
+ }),
770
+ o ? /* @__PURE__ */ v("p", {
771
+ className: "text-sm text-muted-foreground",
772
+ children: o
773
+ }) : null
774
+ ]
775
+ }), We = ({ sectionTitle: t, features: n, className: r }) => /* @__PURE__ */ y("section", {
776
+ className: e("py-16 max-w-6xl mx-auto px-6", r),
777
+ children: [t ? /* @__PURE__ */ v("h2", {
778
+ className: "text-2xl md:text-3xl font-semibold text-center mb-12 text-foreground",
779
+ children: t
780
+ }) : null, /* @__PURE__ */ v("div", {
781
+ className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
782
+ children: n.map((e) => /* @__PURE__ */ v(I, {
783
+ className: "hover:border-primary/40 transition-colors",
784
+ children: /* @__PURE__ */ y(L, { children: [
785
+ e.icon ? /* @__PURE__ */ v("div", {
786
+ className: "text-primary mb-2",
787
+ children: e.icon
788
+ }) : null,
789
+ /* @__PURE__ */ v(R, {
790
+ className: "text-base",
791
+ children: e.title
792
+ }),
793
+ /* @__PURE__ */ v(ae, { children: e.body })
794
+ ] })
795
+ }, e.title))
796
+ })]
797
+ }), Ge = ({ to: e, className: t, children: n }) => /* @__PURE__ */ v("a", {
798
+ href: e,
799
+ className: t,
800
+ children: n
801
+ }), Ke = ({ brand: t, nav: n, children: r, currentPath: i, className: a, searchAction: o, searchPlaceholder: s = "Search docs…", searchLabel: c = "Search docs", LinkComponent: l = Ge }) => {
802
+ let u = l;
803
+ return /* @__PURE__ */ y("div", {
804
+ className: e("min-h-screen grid grid-cols-1 md:grid-cols-[260px_1fr] bg-background text-foreground", a),
805
+ children: [/* @__PURE__ */ y("aside", {
806
+ className: "border-r bg-card/30 p-6 md:sticky md:top-0 md:h-screen md:overflow-y-auto",
807
+ children: [
808
+ /* @__PURE__ */ v("div", {
809
+ className: "mb-6",
810
+ children: t
811
+ }),
812
+ o ? /* @__PURE__ */ v("form", {
813
+ method: "get",
814
+ action: o,
815
+ className: "mb-6",
816
+ children: /* @__PURE__ */ v("input", {
817
+ type: "search",
818
+ name: "q",
819
+ placeholder: s,
820
+ "aria-label": c,
821
+ className: "w-full rounded-md border border-input bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-ring"
822
+ })
823
+ }) : null,
824
+ n.map((t) => /* @__PURE__ */ y("div", {
825
+ className: "mb-6",
826
+ children: [/* @__PURE__ */ v("h4", {
827
+ className: "text-xs uppercase tracking-wider text-muted-foreground font-medium mb-2",
828
+ children: t.section
829
+ }), /* @__PURE__ */ v("ul", {
830
+ className: "space-y-0.5",
831
+ children: t.entries.map((t) => {
832
+ let n = i === t.href;
833
+ return /* @__PURE__ */ v("li", { children: /* @__PURE__ */ v(u, {
834
+ to: t.href,
835
+ prefetch: !0,
836
+ className: e("block rounded-md px-2 py-1.5 text-sm transition-colors", n ? "bg-accent text-accent-foreground font-medium" : "text-muted-foreground hover:bg-accent/50 hover:text-foreground"),
837
+ children: t.label
838
+ }) }, t.href);
839
+ })
840
+ })]
841
+ }, t.section))
842
+ ]
843
+ }), /* @__PURE__ */ v("main", {
844
+ className: "p-8 md:p-12 lg:p-16 max-w-3xl text-foreground",
845
+ children: r
846
+ })]
847
+ });
848
+ }, J = ({ children: e, className: t, title: n }) => /* @__PURE__ */ y("svg", {
849
+ xmlns: "http://www.w3.org/2000/svg",
850
+ width: "24",
851
+ height: "24",
852
+ viewBox: "0 0 24 24",
853
+ fill: "none",
854
+ stroke: "currentColor",
855
+ strokeWidth: "1.5",
856
+ strokeLinecap: "round",
857
+ strokeLinejoin: "round",
858
+ className: t,
859
+ ...n ? {
860
+ role: "img",
861
+ "aria-label": n
862
+ } : { "aria-hidden": !0 },
863
+ children: [n ? /* @__PURE__ */ v("title", { children: n }) : null, e]
864
+ }), qe = (e) => /* @__PURE__ */ y(J, {
865
+ ...e,
866
+ children: [
867
+ /* @__PURE__ */ v("path", { d: "M4.5 16.5 c-1.5 1.26 -2 5 -2 5 s3.74 -.5 5 -2 c.71 -.84 .7 -2.13 -.09 -2.91 a2.18 2.18 0 0 0 -2.91 -.09Z" }),
868
+ /* @__PURE__ */ v("path", { d: "m12 15 -3 -3 a22 22 0 0 1 2 -3.95 A12.88 12.88 0 0 1 22 2 c0 2.72 -.78 7.5 -6 11 a22.35 22.35 0 0 1 -4 2Z" }),
869
+ /* @__PURE__ */ v("path", { d: "M9 12 H4 s.55 -3.03 2 -4 c1.62 -1.08 5 0 5 0" }),
870
+ /* @__PURE__ */ v("path", { d: "M12 15 v5 s3.03 -.55 4 -2 c1.08 -1.62 0 -5 0 -5" })
871
+ ]
872
+ }), Je = (e) => /* @__PURE__ */ y(J, {
873
+ ...e,
874
+ children: [/* @__PURE__ */ v("circle", {
875
+ cx: "12",
876
+ cy: "12",
877
+ r: "10"
878
+ }), /* @__PURE__ */ v("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88" })]
879
+ }), Ye = (e) => /* @__PURE__ */ y(J, {
880
+ ...e,
881
+ children: [
882
+ /* @__PURE__ */ v("path", { d: "m7.5 4.27 9 5.15" }),
883
+ /* @__PURE__ */ v("path", { d: "M21 8 a2 2 0 0 0 -1 -1.73 l-7 -4 a2 2 0 0 0 -2 0 l-7 4 A2 2 0 0 0 3 8 v8 a2 2 0 0 0 1 1.73 l7 4 a2 2 0 0 0 2 0 l7 -4 A2 2 0 0 0 21 16 Z" }),
884
+ /* @__PURE__ */ v("path", { d: "M3.3 7 12 12 l8.7 -5" }),
885
+ /* @__PURE__ */ v("path", { d: "M12 22 V12" })
886
+ ]
887
+ }), Xe = (e) => /* @__PURE__ */ v(J, {
888
+ ...e,
889
+ children: /* @__PURE__ */ v("path", { d: "M20 20 H4 a2 2 0 0 1 -2 -2 V6 a2 2 0 0 1 2 -2 h5.93 a2 2 0 0 1 1.66 .9 l.82 1.2 a2 2 0 0 0 1.66 .9 H20 a2 2 0 0 1 2 2 v8 a2 2 0 0 1 -2 2 z" })
890
+ }), Ze = (e) => /* @__PURE__ */ y(J, {
891
+ ...e,
892
+ children: [/* @__PURE__ */ v("path", { d: "M14.5 2 H6 a2 2 0 0 0 -2 2 v16 a2 2 0 0 0 2 2 h12 a2 2 0 0 0 2 -2 V7.5 z" }), /* @__PURE__ */ v("polyline", { points: "14 2 14 8 20 8" })]
893
+ }), Qe = (e) => /* @__PURE__ */ y(J, {
894
+ ...e,
895
+ children: [
896
+ /* @__PURE__ */ v("path", { d: "M4.93 4.93 a10 10 0 0 0 0 14.14" }),
897
+ /* @__PURE__ */ v("path", { d: "M19.07 4.93 a10 10 0 0 1 0 14.14" }),
898
+ /* @__PURE__ */ v("path", { d: "M7.76 7.76 a6 6 0 0 0 0 8.49" }),
899
+ /* @__PURE__ */ v("path", { d: "M16.24 7.76 a6 6 0 0 1 0 8.49" }),
900
+ /* @__PURE__ */ v("circle", {
901
+ cx: "12",
902
+ cy: "12",
903
+ r: "2"
904
+ })
905
+ ]
906
+ }), $e = (e) => /* @__PURE__ */ v(J, {
907
+ ...e,
908
+ children: /* @__PURE__ */ v("path", { d: "M17 3 a2.85 2.83 0 1 1 4 4 L7.5 20.5 2 22 l1.5 -5.5 z" })
909
+ }), et = (e) => /* @__PURE__ */ y(J, {
910
+ ...e,
911
+ children: [/* @__PURE__ */ v("path", { d: "M6 8 a6 6 0 0 1 12 0 c0 7 3 9 3 9 H3 s3 -2 3 -9" }), /* @__PURE__ */ v("path", { d: "M10.3 21 a1.94 1.94 0 0 0 3.4 0" })]
912
+ }), tt = (e) => /* @__PURE__ */ y(J, {
913
+ ...e,
914
+ children: [/* @__PURE__ */ v("path", { d: "M12 2 v4 M12 18 v4 M4.93 4.93 l2.83 2.83 M16.24 16.24 l2.83 2.83 M2 12 h4 M18 12 h4 M4.93 19.07 l2.83 -2.83 M16.24 7.76 l2.83 -2.83" }), /* @__PURE__ */ v("circle", {
915
+ cx: "12",
916
+ cy: "12",
917
+ r: "4"
918
+ })]
919
+ }), nt = (e) => /* @__PURE__ */ y(J, {
920
+ ...e,
921
+ children: [
922
+ /* @__PURE__ */ v("rect", {
923
+ x: "4",
924
+ y: "2",
925
+ width: "16",
926
+ height: "20",
927
+ rx: "2"
928
+ }),
929
+ /* @__PURE__ */ v("path", { d: "M9 22 V12 h6 v10" }),
930
+ /* @__PURE__ */ v("path", { d: "M8 6 h.01 M12 6 h.01 M16 6 h.01 M8 10 h.01 M16 10 h.01" })
931
+ ]
932
+ }), rt = (e) => /* @__PURE__ */ y(J, {
933
+ ...e,
934
+ children: [
935
+ /* @__PURE__ */ v("ellipse", {
936
+ cx: "12",
937
+ cy: "5",
938
+ rx: "9",
939
+ ry: "3"
940
+ }),
941
+ /* @__PURE__ */ v("path", { d: "M3 5 v14 a9 3 0 0 0 18 0 V5" }),
942
+ /* @__PURE__ */ v("path", { d: "M3 12 a9 3 0 0 0 18 0" })
943
+ ]
944
+ }), it = (e) => /* @__PURE__ */ y(J, {
945
+ ...e,
946
+ children: [/* @__PURE__ */ v("rect", {
947
+ x: "3",
948
+ y: "11",
949
+ width: "18",
950
+ height: "11",
951
+ rx: "2"
952
+ }), /* @__PURE__ */ v("path", { d: "M7 11 V7 a5 5 0 0 1 10 0 v4" })]
953
+ }), at = (e) => /* @__PURE__ */ y(J, {
954
+ ...e,
955
+ children: [
956
+ /* @__PURE__ */ v("path", { d: "M12 8 V4 H8" }),
957
+ /* @__PURE__ */ v("rect", {
958
+ x: "2",
959
+ y: "8",
960
+ width: "20",
961
+ height: "14",
962
+ rx: "2"
963
+ }),
964
+ /* @__PURE__ */ v("path", { d: "M2 14 h2 M20 14 h2 M15 13 v2 M9 13 v2" })
965
+ ]
966
+ }), ot = (e) => /* @__PURE__ */ y(J, {
967
+ ...e,
968
+ children: [/* @__PURE__ */ v("polyline", { points: "4 17 10 11 4 5" }), /* @__PURE__ */ v("line", {
969
+ x1: "12",
970
+ y1: "19",
971
+ x2: "20",
972
+ y2: "19"
973
+ })]
974
+ }), st = (e) => /* @__PURE__ */ y(J, {
975
+ ...e,
976
+ children: [
977
+ /* @__PURE__ */ v("polygon", { points: "12 2 2 7 12 12 22 7 12 2" }),
978
+ /* @__PURE__ */ v("polyline", { points: "2 17 12 22 22 17" }),
979
+ /* @__PURE__ */ v("polyline", { points: "2 12 12 17 22 12" })
980
+ ]
981
+ }), ct = (e) => /* @__PURE__ */ y(J, {
982
+ ...e,
983
+ children: [/* @__PURE__ */ v("path", { d: "M19.43 12.98 a8 8 0 0 0 0 -1.96 l2.11 -1.65 -2 -3.46 -2.49 1 a8 8 0 0 0 -1.7 -.98 L15 3 H9 l-.38 2.93 a8 8 0 0 0 -1.7 .98 L4.43 5.91 l-2 3.46 2.11 1.65 a8 8 0 0 0 0 1.96 L2.43 14.63 l2 3.46 2.49 -1 a8 8 0 0 0 1.7 .98 L9 21 h6 l.38 -2.93 a8 8 0 0 0 1.7 -.98 l2.49 1 2 -3.46 z" }), /* @__PURE__ */ v("circle", {
984
+ cx: "12",
985
+ cy: "12",
986
+ r: "3"
987
+ })]
988
+ }), lt = (e) => /* @__PURE__ */ v(J, {
989
+ ...e,
990
+ children: /* @__PURE__ */ v("path", { d: "M9 9 a3 3 0 0 1 6 0 v9 a3 3 0 0 1 -6 0 V12 a1 1 0 0 1 2 0 v6 a1 1 0 0 0 2 0 V9 a1 1 0 0 0 -2 0" })
991
+ }), ut = (e) => /* @__PURE__ */ y(J, {
992
+ ...e,
993
+ children: [
994
+ /* @__PURE__ */ v("circle", {
995
+ cx: "12",
996
+ cy: "12",
997
+ r: "10"
998
+ }),
999
+ /* @__PURE__ */ v("line", {
1000
+ x1: "2",
1001
+ y1: "12",
1002
+ x2: "22",
1003
+ y2: "12"
1004
+ }),
1005
+ /* @__PURE__ */ v("path", { d: "M12 2 a15.3 15.3 0 0 1 4 10 a15.3 15.3 0 0 1 -4 10 a15.3 15.3 0 0 1 -4 -10 a15.3 15.3 0 0 1 4 -10 z" })
1006
+ ]
1007
+ }), dt = (e) => /* @__PURE__ */ v(J, {
1008
+ ...e,
1009
+ children: /* @__PURE__ */ v("path", { d: "M17.5 19 a4.5 4.5 0 1 0 -1.41 -8.78 a6 6 0 1 0 -11.05 4.5" })
1010
+ }), ft = (e) => /* @__PURE__ */ y(J, {
1011
+ ...e,
1012
+ children: [/* @__PURE__ */ v("path", { d: "M3 9 l9 -7 9 7 v11 a2 2 0 0 1 -2 2 H5 a2 2 0 0 1 -2 -2 z" }), /* @__PURE__ */ v("polyline", { points: "9 22 9 12 15 12 15 22" })]
1013
+ }), pt = (e) => /* @__PURE__ */ v(J, {
1014
+ ...e,
1015
+ children: /* @__PURE__ */ v("polyline", { points: "15 18 9 12 15 6" })
1016
+ }), mt = (e) => /* @__PURE__ */ v(J, {
1017
+ ...e,
1018
+ children: /* @__PURE__ */ v("polyline", { points: "9 18 15 12 9 6" })
1019
+ }), Y = (e) => /* @__PURE__ */ y(J, {
1020
+ ...e,
1021
+ children: [/* @__PURE__ */ v("circle", {
1022
+ cx: "11",
1023
+ cy: "11",
1024
+ r: "8"
1025
+ }), /* @__PURE__ */ v("line", {
1026
+ x1: "21",
1027
+ y1: "21",
1028
+ x2: "16.65",
1029
+ y2: "16.65"
1030
+ })]
1031
+ }), ht = (e) => /* @__PURE__ */ y(J, {
1032
+ ...e,
1033
+ children: [/* @__PURE__ */ v("polyline", { points: "9 10 4 15 9 20" }), /* @__PURE__ */ v("path", { d: "M20 4 v7 a4 4 0 0 1 -4 4 H4" })]
1034
+ }), X = ({ children: e, className: t, title: n }) => /* @__PURE__ */ y("svg", {
1035
+ xmlns: "http://www.w3.org/2000/svg",
1036
+ width: "24",
1037
+ height: "24",
1038
+ viewBox: "0 0 24 24",
1039
+ fill: "currentColor",
1040
+ className: t,
1041
+ ...n ? {
1042
+ role: "img",
1043
+ "aria-label": n
1044
+ } : { "aria-hidden": !0 },
1045
+ children: [n ? /* @__PURE__ */ v("title", { children: n }) : null, e]
1046
+ }), gt = (e) => /* @__PURE__ */ v(X, {
1047
+ ...e,
1048
+ children: /* @__PURE__ */ v("path", { d: "M12 0C5.37 0 0 5.37 0 12c0 5.3 3.44 9.8 8.21 11.39.6.11.82-.26.82-.58 0-.29-.01-1.04-.02-2.05-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.09-.74.08-.73.08-.73 1.2.09 1.84 1.24 1.84 1.24 1.07 1.84 2.81 1.31 3.5 1 .11-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.12-.3-.54-1.52.12-3.18 0 0 1.01-.32 3.31 1.23.96-.27 1.99-.4 3.02-.41 1.02.01 2.05.14 3.02.41 2.3-1.55 3.31-1.23 3.31-1.23.66 1.66.24 2.88.12 3.18.77.84 1.24 1.91 1.24 3.22 0 4.61-2.81 5.63-5.49 5.93.43.37.81 1.1.81 2.22 0 1.6-.01 2.89-.01 3.29 0 .32.21.7.83.58C20.57 21.8 24 17.3 24 12c0-6.63-5.37-12-12-12z" })
1049
+ }), _t = (e) => /* @__PURE__ */ v(X, {
1050
+ ...e,
1051
+ children: /* @__PURE__ */ v("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" })
1052
+ }), vt = (e) => /* @__PURE__ */ v(X, {
1053
+ ...e,
1054
+ children: /* @__PURE__ */ v("path", { d: "M20.317 4.37a19.79 19.79 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.74 19.74 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.84 19.84 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z" })
1055
+ }), yt = (e) => /* @__PURE__ */ v(X, {
1056
+ ...e,
1057
+ children: /* @__PURE__ */ v("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" })
1058
+ }), bt = (e) => /* @__PURE__ */ y(J, {
1059
+ ...e,
1060
+ children: [
1061
+ /* @__PURE__ */ v("path", { d: "M4 11 a9 9 0 0 1 9 9" }),
1062
+ /* @__PURE__ */ v("path", { d: "M4 4 a16 16 0 0 1 16 16" }),
1063
+ /* @__PURE__ */ v("circle", {
1064
+ cx: "5",
1065
+ cy: "19",
1066
+ r: "1"
1067
+ })
1068
+ ]
1069
+ }), xt = (e) => /* @__PURE__ */ y(J, {
1070
+ ...e,
1071
+ children: [/* @__PURE__ */ v("path", { d: "M3 3 v18 h18" }), /* @__PURE__ */ v("path", { d: "M7 14 l3 -3 l4 4 l6 -7" })]
1072
+ }), Z = ({ children: t, className: n }) => {
1073
+ let [r, i] = g(!1);
1074
+ return f(() => {
1075
+ let e = () => i(window.scrollY > 24);
1076
+ return e(), window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
1077
+ }, []), /* @__PURE__ */ y("header", {
1078
+ className: e("sticky top-0 z-40", n),
1079
+ children: [/* @__PURE__ */ v("div", {
1080
+ "aria-hidden": "true",
1081
+ className: e("absolute inset-0 -z-10 transition-opacity duration-300 ease-out", "bg-background/80 backdrop-blur-lg border-b border-border", r ? "opacity-100" : "opacity-0")
1082
+ }), /* @__PURE__ */ v("div", {
1083
+ className: "mx-auto max-w-7xl px-6 h-16 flex items-center justify-between gap-4",
1084
+ children: t
1085
+ })]
1086
+ });
1087
+ }, St = {
1088
+ toggleMenu: "Toggle menu",
1089
+ closeMenu: "Close menu",
1090
+ close: "Close",
1091
+ menu: "Menu",
1092
+ onThisPage: "On this page",
1093
+ editPage: "Edit this page on GitHub →",
1094
+ updated: "Updated",
1095
+ previous: "Previous",
1096
+ next: "Next",
1097
+ pagination: "Pagination",
1098
+ breadcrumb: "Breadcrumb"
1099
+ }, Ct = ({ to: e, className: t, children: n }) => /* @__PURE__ */ v("a", {
1100
+ href: e,
1101
+ className: t,
1102
+ children: n
1103
+ }), Q = (e, t) => t ? t === e || t.replace(/\/$/, "") === e.replace(/\/$/, "") : !1, wt = "relative w-full py-1.5 pl-4 pr-2 -ml-px text-sm text-left transition-colors border-l-2", Tt = (e) => e ? "text-foreground font-medium border-primary" : "text-muted-foreground hover:text-foreground border-transparent hover:border-border", Et = ({ entry: t, currentPath: n, Link: r }) => {
1104
+ let i = Q(t.href, n);
1105
+ return /* @__PURE__ */ v("li", { children: /* @__PURE__ */ v(r, {
1106
+ to: t.href,
1107
+ prefetch: !0,
1108
+ className: e(wt, "block", Tt(i)),
1109
+ children: /* @__PURE__ */ y("span", {
1110
+ className: "inline-flex items-center gap-2",
1111
+ children: [t.label, t.badge ? /* @__PURE__ */ v("span", {
1112
+ className: "text-[0.6rem] uppercase tracking-wider px-1.5 py-0.5 rounded bg-primary/10 text-primary font-semibold",
1113
+ children: t.badge
1114
+ }) : null]
1115
+ })
1116
+ }) });
1117
+ }, Dt = ({ subgroup: t, currentPath: n, Link: r }) => {
1118
+ let i = t.entries.some((e) => Q(e.href, n)), [a, o] = g(t.defaultOpen ?? i);
1119
+ return f(() => {
1120
+ i && o(!0);
1121
+ }, [i]), /* @__PURE__ */ y("li", { children: [/* @__PURE__ */ y("button", {
1122
+ type: "button",
1123
+ onClick: () => o(!a),
1124
+ "aria-expanded": a,
1125
+ className: e(wt, "flex items-center justify-between gap-2", Tt(!1)),
1126
+ children: [/* @__PURE__ */ v("span", { children: t.label }), /* @__PURE__ */ v("svg", {
1127
+ width: "10",
1128
+ height: "10",
1129
+ viewBox: "0 0 10 10",
1130
+ fill: "none",
1131
+ className: e("shrink-0 transition-transform", a ? "rotate-90" : ""),
1132
+ "aria-hidden": "true",
1133
+ children: /* @__PURE__ */ v("path", {
1134
+ d: "M3 1.5 L6.5 5 L3 8.5",
1135
+ stroke: "currentColor",
1136
+ strokeWidth: "1.5",
1137
+ strokeLinecap: "round"
1138
+ })
1139
+ })]
1140
+ }), a ? /* @__PURE__ */ v("ul", {
1141
+ className: "border-l border-border ml-4",
1142
+ children: t.entries.map((e) => /* @__PURE__ */ v(Et, {
1143
+ entry: e,
1144
+ ...n ? { currentPath: n } : {},
1145
+ Link: r
1146
+ }, e.href))
1147
+ }) : null] });
1148
+ }, Ot = ({ group: t, currentPath: n, Link: r }) => {
1149
+ let i = t.subgroups ?? [], a = t.trailingEntries ?? [], o = t.headerless ?? !1, s = t.entries.some((e) => Q(e.href, n)) || i.some((e) => e.entries.some((e) => Q(e.href, n))) || a.some((e) => Q(e.href, n)), [c, l] = g(t.defaultOpen ?? s ?? !0);
1150
+ return f(() => {
1151
+ s && l(!0);
1152
+ }, [s]), /* @__PURE__ */ y("div", {
1153
+ className: "mb-4",
1154
+ children: [o ? null : /* @__PURE__ */ y("button", {
1155
+ type: "button",
1156
+ onClick: () => l(!c),
1157
+ className: "flex w-full items-center justify-between text-[0.7rem] uppercase tracking-[0.08em] text-muted-foreground font-semibold py-1.5 hover:text-foreground transition-colors",
1158
+ "aria-expanded": c,
1159
+ children: [/* @__PURE__ */ v("span", { children: t.section }), /* @__PURE__ */ v("svg", {
1160
+ width: "10",
1161
+ height: "10",
1162
+ viewBox: "0 0 10 10",
1163
+ fill: "none",
1164
+ className: e("transition-transform", c ? "rotate-90" : ""),
1165
+ "aria-hidden": "true",
1166
+ children: /* @__PURE__ */ v("path", {
1167
+ d: "M3 1.5 L6.5 5 L3 8.5",
1168
+ stroke: "currentColor",
1169
+ strokeWidth: "1.5",
1170
+ strokeLinecap: "round"
1171
+ })
1172
+ })]
1173
+ }), (o || c) && (t.entries.length > 0 || i.length > 0 || a.length > 0) ? /* @__PURE__ */ y("ul", {
1174
+ className: "mt-1 border-l border-border ml-[3px]",
1175
+ children: [
1176
+ t.entries.map((e) => /* @__PURE__ */ v(Et, {
1177
+ entry: e,
1178
+ ...n ? { currentPath: n } : {},
1179
+ Link: r
1180
+ }, e.href)),
1181
+ i.map((e) => /* @__PURE__ */ v(Dt, {
1182
+ subgroup: e,
1183
+ ...n ? { currentPath: n } : {},
1184
+ Link: r
1185
+ }, e.label)),
1186
+ a.map((e) => /* @__PURE__ */ v(Et, {
1187
+ entry: e,
1188
+ ...n ? { currentPath: n } : {},
1189
+ Link: r
1190
+ }, e.href))
1191
+ ]
1192
+ }) : null]
1193
+ });
1194
+ }, kt = ({ toc: t, editUrl: n, lastUpdated: r, t: i }) => /* @__PURE__ */ v("aside", {
1195
+ className: "hidden xl:block w-56 shrink-0 pl-8",
1196
+ children: /* @__PURE__ */ y("div", {
1197
+ className: "sticky top-24",
1198
+ children: [t.length > 0 ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("div", {
1199
+ className: "text-[0.7rem] uppercase tracking-[0.08em] text-muted-foreground font-semibold mb-3",
1200
+ children: i.onThisPage
1201
+ }), /* @__PURE__ */ v("ul", {
1202
+ className: "space-y-1.5 text-sm border-l border-border",
1203
+ children: t.map((t) => /* @__PURE__ */ v("li", { children: /* @__PURE__ */ v("a", {
1204
+ href: `#${t.id}`,
1205
+ className: e("block py-0.5 -ml-px border-l-2 border-transparent text-muted-foreground hover:text-foreground hover:border-border transition-colors data-[active=true]:border-primary data-[active=true]:text-foreground data-[active=true]:font-medium", t.level === 3 ? "pl-6" : "pl-3"),
1206
+ "data-toc-link": t.id,
1207
+ children: t.text
1208
+ }) }, t.id))
1209
+ })] }) : null, n || r ? /* @__PURE__ */ y("div", {
1210
+ className: e("text-xs text-muted-foreground space-y-1.5", t.length > 0 ? "mt-6 pt-6 border-t border-border" : ""),
1211
+ children: [n ? /* @__PURE__ */ v("a", {
1212
+ href: n,
1213
+ target: "_blank",
1214
+ rel: "noopener noreferrer",
1215
+ className: "block hover:text-foreground transition-colors",
1216
+ children: i.editPage
1217
+ }) : null, r ? /* @__PURE__ */ y("div", { children: [
1218
+ i.updated,
1219
+ " ",
1220
+ r
1221
+ ] }) : null]
1222
+ }) : null]
1223
+ })
1224
+ }), At = ({ prev: e, next: t, Link: n, t: r }) => !e && !t ? null : /* @__PURE__ */ y("nav", {
1225
+ "aria-label": r.pagination,
1226
+ className: "mt-16 pt-8 border-t border-border grid grid-cols-1 md:grid-cols-2 gap-4",
1227
+ children: [/* @__PURE__ */ v("div", { children: e ? /* @__PURE__ */ y(n, {
1228
+ to: e.href,
1229
+ prefetch: !0,
1230
+ className: "group block p-4 border border-border rounded-lg hover:border-primary/50 hover:bg-card/40 transition-colors h-full",
1231
+ children: [
1232
+ /* @__PURE__ */ y("div", {
1233
+ className: "text-xs text-muted-foreground mb-1 inline-flex items-center gap-1",
1234
+ children: [/* @__PURE__ */ v(pt, { className: "w-3 h-3 transition-transform group-hover:-translate-x-0.5" }), r.previous]
1235
+ }),
1236
+ /* @__PURE__ */ v("div", {
1237
+ className: "font-medium group-hover:text-primary transition-colors",
1238
+ children: e.label
1239
+ }),
1240
+ e.description ? /* @__PURE__ */ v("div", {
1241
+ className: "text-xs text-muted-foreground mt-1 line-clamp-1",
1242
+ children: e.description
1243
+ }) : null
1244
+ ]
1245
+ }) : null }), /* @__PURE__ */ v("div", {
1246
+ className: "md:text-right",
1247
+ children: t ? /* @__PURE__ */ y(n, {
1248
+ to: t.href,
1249
+ prefetch: !0,
1250
+ className: "group block p-4 border border-border rounded-lg hover:border-primary/50 hover:bg-card/40 transition-colors h-full",
1251
+ children: [
1252
+ /* @__PURE__ */ y("div", {
1253
+ className: "text-xs text-muted-foreground mb-1 inline-flex items-center gap-1 md:justify-end",
1254
+ children: [r.next, /* @__PURE__ */ v(mt, { className: "w-3 h-3 transition-transform group-hover:translate-x-0.5" })]
1255
+ }),
1256
+ /* @__PURE__ */ v("div", {
1257
+ className: "font-medium group-hover:text-primary transition-colors",
1258
+ children: t.label
1259
+ }),
1260
+ t.description ? /* @__PURE__ */ v("div", {
1261
+ className: "text-xs text-muted-foreground mt-1 line-clamp-1",
1262
+ children: t.description
1263
+ }) : null
1264
+ ]
1265
+ }) : null
1266
+ })]
1267
+ }), jt = ({ items: e, Link: t, ariaLabel: n }) => /* @__PURE__ */ v("nav", {
1268
+ "aria-label": n,
1269
+ className: "text-xs text-muted-foreground mb-3 flex items-center gap-1.5 flex-wrap",
1270
+ children: e.map((n, r) => {
1271
+ let i = r === e.length - 1;
1272
+ return /* @__PURE__ */ y("span", {
1273
+ className: "inline-flex items-center gap-1.5",
1274
+ children: [n.href && !i ? /* @__PURE__ */ v(t, {
1275
+ to: n.href,
1276
+ className: "hover:text-foreground transition-colors",
1277
+ children: n.label
1278
+ }) : /* @__PURE__ */ v("span", {
1279
+ className: i ? "text-foreground" : "",
1280
+ children: n.label
1281
+ }), i ? null : /* @__PURE__ */ v("span", {
1282
+ className: "text-muted-foreground/50",
1283
+ "aria-hidden": "true",
1284
+ children: "/"
1285
+ })]
1286
+ }, r);
1287
+ })
1288
+ }), Mt = ({ brand: t, nav: n, children: r, currentPath: i, topNav: a, topRight: o, search: s, page: c, LinkComponent: l = Ct, className: u, labels: d, footer: f, sidebarHeader: p }) => {
1289
+ let m = l, h = {
1290
+ ...St,
1291
+ ...d
1292
+ }, [_, b] = g(!1);
1293
+ return /* @__PURE__ */ y("div", {
1294
+ className: e("min-h-screen bg-background text-foreground", u),
1295
+ children: [/* @__PURE__ */ y(Z, { children: [/* @__PURE__ */ y("div", {
1296
+ className: "flex items-center gap-4 min-w-0 flex-1",
1297
+ children: [
1298
+ /* @__PURE__ */ v("button", {
1299
+ type: "button",
1300
+ onClick: () => b(!_),
1301
+ className: "md:hidden inline-flex items-center justify-center w-8 h-8 rounded-md hover:bg-card transition-colors",
1302
+ "aria-label": h.toggleMenu,
1303
+ "aria-expanded": _,
1304
+ children: /* @__PURE__ */ v("svg", {
1305
+ width: "18",
1306
+ height: "18",
1307
+ viewBox: "0 0 18 18",
1308
+ fill: "none",
1309
+ "aria-hidden": "true",
1310
+ children: /* @__PURE__ */ v("path", {
1311
+ d: "M3 5 H15 M3 9 H15 M3 13 H15",
1312
+ stroke: "currentColor",
1313
+ strokeWidth: "1.5",
1314
+ strokeLinecap: "round"
1315
+ })
1316
+ })
1317
+ }),
1318
+ /* @__PURE__ */ v("div", {
1319
+ className: "flex items-center gap-2 font-semibold",
1320
+ children: t
1321
+ }),
1322
+ a ? /* @__PURE__ */ v("div", {
1323
+ className: "hidden md:flex items-center gap-1 ml-4",
1324
+ children: a
1325
+ }) : null
1326
+ ]
1327
+ }), /* @__PURE__ */ y("div", {
1328
+ className: "flex items-center gap-3",
1329
+ children: [s ? /* @__PURE__ */ v("div", {
1330
+ className: "hidden md:block",
1331
+ children: s
1332
+ }) : null, o ? /* @__PURE__ */ v("div", {
1333
+ className: "flex items-center gap-1",
1334
+ children: o
1335
+ }) : null]
1336
+ })] }), /* @__PURE__ */ y("div", {
1337
+ className: "mx-auto max-w-7xl flex",
1338
+ children: [
1339
+ /* @__PURE__ */ v("aside", {
1340
+ className: "hidden md:block w-64 shrink-0 border-r border-border",
1341
+ children: /* @__PURE__ */ y("div", {
1342
+ className: "sticky top-16 max-h-[calc(100vh-4rem)] overflow-y-auto px-6 py-8",
1343
+ children: [p ? /* @__PURE__ */ v("div", {
1344
+ className: "mb-6",
1345
+ children: p
1346
+ }) : null, n.map((e) => /* @__PURE__ */ v(Ot, {
1347
+ group: e,
1348
+ ...i ? { currentPath: i } : {},
1349
+ Link: m
1350
+ }, e.section))]
1351
+ })
1352
+ }),
1353
+ _ ? /* @__PURE__ */ y("div", {
1354
+ className: "md:hidden fixed inset-0 z-40 flex",
1355
+ children: [/* @__PURE__ */ v("div", {
1356
+ role: "button",
1357
+ "aria-label": h.closeMenu,
1358
+ className: "flex-1 bg-background/70 backdrop-blur-sm",
1359
+ onClick: () => b(!1)
1360
+ }), /* @__PURE__ */ y("aside", {
1361
+ className: "w-72 max-w-[80vw] bg-card border-l border-border overflow-y-auto px-6 py-6",
1362
+ children: [
1363
+ /* @__PURE__ */ y("div", {
1364
+ className: "mb-4 flex items-center justify-between",
1365
+ children: [/* @__PURE__ */ v("span", {
1366
+ className: "font-semibold",
1367
+ children: h.menu
1368
+ }), /* @__PURE__ */ v("button", {
1369
+ type: "button",
1370
+ onClick: () => b(!1),
1371
+ className: "inline-flex items-center justify-center w-7 h-7 rounded-md hover:bg-background transition-colors",
1372
+ "aria-label": h.close,
1373
+ children: /* @__PURE__ */ v("svg", {
1374
+ width: "14",
1375
+ height: "14",
1376
+ viewBox: "0 0 14 14",
1377
+ fill: "none",
1378
+ "aria-hidden": "true",
1379
+ children: /* @__PURE__ */ v("path", {
1380
+ d: "M3 3 L11 11 M11 3 L3 11",
1381
+ stroke: "currentColor",
1382
+ strokeWidth: "1.5",
1383
+ strokeLinecap: "round"
1384
+ })
1385
+ })
1386
+ })]
1387
+ }),
1388
+ p ? /* @__PURE__ */ v("div", {
1389
+ className: "mb-4",
1390
+ children: p
1391
+ }) : null,
1392
+ n.map((e) => /* @__PURE__ */ v(Ot, {
1393
+ group: e,
1394
+ ...i ? { currentPath: i } : {},
1395
+ Link: m
1396
+ }, e.section))
1397
+ ]
1398
+ })]
1399
+ }) : null,
1400
+ /* @__PURE__ */ y("div", {
1401
+ className: "flex-1 min-w-0 flex",
1402
+ children: [/* @__PURE__ */ y("main", {
1403
+ className: "flex-1 min-w-0 px-6 md:px-10 py-10 max-w-3xl",
1404
+ children: [
1405
+ c?.breadcrumbs && c.breadcrumbs.length > 0 ? /* @__PURE__ */ v(jt, {
1406
+ items: c.breadcrumbs,
1407
+ Link: m,
1408
+ ariaLabel: h.breadcrumb
1409
+ }) : null,
1410
+ c?.title ? /* @__PURE__ */ v("h1", {
1411
+ className: "text-3xl md:text-4xl font-bold tracking-tight text-foreground mb-3",
1412
+ children: c.title
1413
+ }) : null,
1414
+ c?.description ? /* @__PURE__ */ v("p", {
1415
+ className: "text-base md:text-lg text-muted-foreground mb-8 leading-relaxed",
1416
+ children: c.description
1417
+ }) : null,
1418
+ r,
1419
+ /* @__PURE__ */ v(At, {
1420
+ ...c?.prev ? { prev: c.prev } : {},
1421
+ ...c?.next ? { next: c.next } : {},
1422
+ Link: m,
1423
+ t: h
1424
+ }),
1425
+ f ? /* @__PURE__ */ v("div", {
1426
+ className: "mt-16 pt-8 border-t border-border",
1427
+ children: f
1428
+ }) : null
1429
+ ]
1430
+ }), c?.toc === void 0 ? null : /* @__PURE__ */ v(kt, {
1431
+ toc: c.toc,
1432
+ ...c.editUrl ? { editUrl: c.editUrl } : {},
1433
+ ...c.lastUpdated ? { lastUpdated: c.lastUpdated } : {},
1434
+ t: h
1435
+ })]
1436
+ })
1437
+ ]
1438
+ })]
1439
+ });
1440
+ }, Nt = ({ to: e, className: t, children: n }) => /* @__PURE__ */ v("a", {
1441
+ href: e,
1442
+ className: t,
1443
+ children: n
1444
+ }), Pt = ({ brand: t, nav: n, right: r, children: i, className: a, LinkComponent: o = Nt }) => {
1445
+ let s = o;
1446
+ return /* @__PURE__ */ y("div", {
1447
+ className: e("min-h-screen flex flex-col bg-background text-foreground", a),
1448
+ children: [/* @__PURE__ */ y(Z, { children: [/* @__PURE__ */ v("div", {
1449
+ className: "font-semibold flex items-center gap-2",
1450
+ children: t
1451
+ }), /* @__PURE__ */ y("div", {
1452
+ className: "flex items-center gap-6",
1453
+ children: [n && n.length > 0 ? /* @__PURE__ */ v("nav", {
1454
+ className: "hidden md:flex gap-6 text-sm",
1455
+ children: n.map((e) => /* @__PURE__ */ v(s, {
1456
+ to: e.href,
1457
+ prefetch: !0,
1458
+ className: "text-muted-foreground hover:text-foreground transition-colors",
1459
+ children: e.label
1460
+ }, e.href))
1461
+ }) : null, r ? /* @__PURE__ */ v("div", { children: r }) : null]
1462
+ })] }), /* @__PURE__ */ v("main", {
1463
+ className: "flex-1",
1464
+ children: i
1465
+ })]
1466
+ });
1467
+ }, Ft = () => {
1468
+ let e = N(A);
1469
+ return e === "dark" || e === "light" || e === "system" ? e : "system";
1470
+ }, It = (e) => {
1471
+ e === "system" ? te(A) : P(A, e), re(e);
1472
+ }, Lt = ({ initial: e }) => e ? /* @__PURE__ */ v("span", {
1473
+ className: "text-xs font-semibold select-none",
1474
+ children: e
1475
+ }) : /* @__PURE__ */ y("svg", {
1476
+ width: "16",
1477
+ height: "16",
1478
+ viewBox: "0 0 16 16",
1479
+ fill: "none",
1480
+ "aria-hidden": "true",
1481
+ children: [/* @__PURE__ */ v("circle", {
1482
+ cx: "8",
1483
+ cy: "5.5",
1484
+ r: "2.5",
1485
+ stroke: "currentColor",
1486
+ strokeWidth: "1.4"
1487
+ }), /* @__PURE__ */ v("path", {
1488
+ d: "M2.8 13.4c0-2.6 2.3-4.4 5.2-4.4s5.2 1.8 5.2 4.4",
1489
+ stroke: "currentColor",
1490
+ strokeWidth: "1.4",
1491
+ strokeLinecap: "round"
1492
+ })]
1493
+ }), Rt = [
1494
+ "system",
1495
+ "light",
1496
+ "dark"
1497
+ ], zt = {
1498
+ system: "System",
1499
+ light: "Light",
1500
+ dark: "Dark"
1501
+ }, Bt = (e, t) => {
1502
+ t ? window.open(e, "_blank", "noopener,noreferrer") : window.location.assign(e);
1503
+ }, Vt = ({ identity: e, links: t, languages: n, currentLanguage: r, onLanguageChange: i, logoutUrl: a, onLogout: o, signInUrl: s, labels: c }) => {
1504
+ let [l, d] = g(void 0), [p, m] = g(void 0), h = r ?? p;
1505
+ f(() => {
1506
+ d(Ft()), m(N("voltro:lang") ?? void 0);
1507
+ }, []);
1508
+ let b = u((e) => {
1509
+ let t = e;
1510
+ d(t), It(t);
1511
+ }, []), x = u((e) => {
1512
+ P(j, e), m(e), i?.(e) !== !1 && window.location.reload();
1513
+ }, [i]), S = u(() => {
1514
+ if (o) {
1515
+ o();
1516
+ return;
1517
+ }
1518
+ if (!a) return;
1519
+ let e = document.createElement("form");
1520
+ e.method = "post", e.action = a, document.body.appendChild(e), e.submit();
1521
+ }, [a, o]), C = e?.name?.trim().charAt(0).toUpperCase(), w = n && n.length > 0, T = t && t.length > 0, E = e && (a || o) || !e && s, D = (e) => c?.themes?.[e] ?? zt[e];
1522
+ return /* @__PURE__ */ y(Ae, { children: [/* @__PURE__ */ v(je, {
1523
+ asChild: !0,
1524
+ children: /* @__PURE__ */ v(F, {
1525
+ type: "button",
1526
+ variant: "outline",
1527
+ size: "icon",
1528
+ "aria-label": c?.openMenu ?? "Open profile menu",
1529
+ className: "rounded-full size-8 text-muted-foreground hover:text-foreground",
1530
+ children: /* @__PURE__ */ v(Lt, { ...C ? { initial: C } : {} })
1531
+ })
1532
+ }), /* @__PURE__ */ y(H, {
1533
+ align: "end",
1534
+ className: "w-64",
1535
+ children: [
1536
+ e ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ y("div", {
1537
+ className: "px-2 py-1.5",
1538
+ children: [/* @__PURE__ */ v("div", {
1539
+ className: "text-sm font-medium text-foreground truncate",
1540
+ children: e.name
1541
+ }), e.sublabel ? /* @__PURE__ */ v("div", {
1542
+ className: "text-xs text-muted-foreground truncate mt-0.5",
1543
+ children: e.sublabel
1544
+ }) : null]
1545
+ }), /* @__PURE__ */ v(U, {})] }) : null,
1546
+ T ? /* @__PURE__ */ y(_, { children: [t.map((e) => /* @__PURE__ */ y(W, {
1547
+ onSelect: () => Bt(e.href, e.external),
1548
+ children: [e.icon ?? null, /* @__PURE__ */ v("span", {
1549
+ className: "flex-1 truncate",
1550
+ children: e.label
1551
+ })]
1552
+ }, e.key)), /* @__PURE__ */ v(U, {})] }) : null,
1553
+ /* @__PURE__ */ y("div", {
1554
+ className: "flex items-center justify-between gap-2 px-2 py-1.5",
1555
+ children: [/* @__PURE__ */ v("span", {
1556
+ className: "text-[0.65rem] font-semibold uppercase tracking-wider text-muted-foreground",
1557
+ children: c?.theme ?? "Theme"
1558
+ }), /* @__PURE__ */ v(K, {
1559
+ type: "single",
1560
+ size: "sm",
1561
+ variant: "outline",
1562
+ ...l ? { value: l } : {},
1563
+ onValueChange: (e) => {
1564
+ e && b(e);
1565
+ },
1566
+ children: Rt.map((e) => /* @__PURE__ */ v(q, {
1567
+ value: e,
1568
+ "aria-label": D(e),
1569
+ className: "h-7 px-2 text-[11px] uppercase tracking-wider",
1570
+ children: D(e)
1571
+ }, e))
1572
+ })]
1573
+ }),
1574
+ w ? /* @__PURE__ */ y("div", {
1575
+ className: "flex items-center justify-between gap-2 px-2 py-1.5",
1576
+ children: [/* @__PURE__ */ v("span", {
1577
+ className: "text-[0.65rem] font-semibold uppercase tracking-wider text-muted-foreground",
1578
+ children: c?.language ?? "Language"
1579
+ }), /* @__PURE__ */ v(K, {
1580
+ type: "single",
1581
+ size: "sm",
1582
+ variant: "outline",
1583
+ ...h ? { value: h } : {},
1584
+ onValueChange: (e) => {
1585
+ e && x(e);
1586
+ },
1587
+ children: n.map((e) => /* @__PURE__ */ v(q, {
1588
+ value: e.code,
1589
+ className: "h-7 px-2 text-[11px] uppercase tracking-wider",
1590
+ children: e.label
1591
+ }, e.code))
1592
+ })]
1593
+ }) : null,
1594
+ E ? /* @__PURE__ */ v(U, {}) : null,
1595
+ e && (a || o) ? /* @__PURE__ */ v(W, {
1596
+ destructive: !0,
1597
+ onSelect: S,
1598
+ children: c?.signOut ?? "Sign out"
1599
+ }) : !e && s ? /* @__PURE__ */ y(W, {
1600
+ onSelect: () => Bt(s),
1601
+ children: [/* @__PURE__ */ v("span", {
1602
+ className: "flex-1",
1603
+ children: c?.signIn ?? "Sign in"
1604
+ }), /* @__PURE__ */ v("span", {
1605
+ "aria-hidden": "true",
1606
+ children: "→"
1607
+ })]
1608
+ }) : null
1609
+ ]
1610
+ })] });
1611
+ }, Ht = () => `
1612
+ (function(){
1613
+ try {
1614
+ var rx = new RegExp('(?:^|;\\\\s*)${A.replace(/[.*+?^${}()|[\]\\]/g, "\\\\$&")}=([^;]*)');
1615
+ var m = document.cookie.match(rx);
1616
+ var saved = m ? decodeURIComponent(m[1]) : '';
1617
+ var dark =
1618
+ saved === 'dark' ||
1619
+ (saved !== 'light' && window.matchMedia('(prefers-color-scheme: dark)').matches);
1620
+ document.documentElement.classList.toggle('dark', dark);
1621
+ } catch (_) { /* should be unreachable */ }
1622
+ })();
1623
+ `, Ut = ({ className: t, lightLabel: n = "☀", darkLabel: r = "☾", switchToLightLabel: i = "Switch to light theme", switchToDarkLabel: a = "Switch to dark theme", ...o }) => {
1624
+ let [s, c] = g(void 0);
1625
+ return f(() => {
1626
+ c(document.documentElement.classList.contains("dark"));
1627
+ }, []), /* @__PURE__ */ v(F, {
1628
+ type: "button",
1629
+ variant: "ghost",
1630
+ size: "icon",
1631
+ onClick: () => {
1632
+ let e = !document.documentElement.classList.contains("dark");
1633
+ document.documentElement.classList.toggle("dark", e), P(A, e ? "dark" : "light"), c(e);
1634
+ },
1635
+ className: e(t),
1636
+ "aria-label": s ? i : a,
1637
+ ...o,
1638
+ children: s === void 0 ? null : s ? n : r
1639
+ });
1640
+ }, Wt = (e) => /^[a-z][a-z0-9+.-]*:\/\//i.test(e), Gt = ({ to: e, className: t, children: n }) => Wt(e) ? /* @__PURE__ */ v("a", {
1641
+ href: e,
1642
+ className: t,
1643
+ target: "_blank",
1644
+ rel: "noopener noreferrer",
1645
+ children: n
1646
+ }) : /* @__PURE__ */ v("a", {
1647
+ href: e,
1648
+ className: t,
1649
+ children: n
1650
+ }), Kt = ({ eyebrow: t, title: n, titleAccent: r, subtitle: i, primaryCta: a, secondaryCta: o, footnote: s, aside: c, scrollAnchor: l, scrollLabel: u = "Scroll", scrollAriaLabel: d = "Scroll down", className: f, LinkComponent: p = Gt }) => {
1651
+ let m = p;
1652
+ return /* @__PURE__ */ y("section", {
1653
+ className: e("relative isolate overflow-hidden", "pt-24 md:pt-32 pb-24 md:pb-32", f),
1654
+ children: [/* @__PURE__ */ v("div", {
1655
+ className: "relative mx-auto max-w-7xl px-6",
1656
+ children: /* @__PURE__ */ y("div", {
1657
+ className: "grid grid-cols-1 lg:grid-cols-[1.1fr_1fr] gap-10 lg:gap-16 items-center",
1658
+ children: [/* @__PURE__ */ y("div", {
1659
+ className: "motion-safe:animate-in motion-safe:fade-in motion-safe:slide-in-from-bottom-4 motion-safe:duration-700",
1660
+ children: [
1661
+ t ? /* @__PURE__ */ y("div", {
1662
+ className: "inline-flex items-center gap-2 text-xs uppercase tracking-[0.12em] text-primary font-semibold mb-5",
1663
+ children: [/* @__PURE__ */ v("span", { className: "inline-block w-1.5 h-1.5 rounded-full bg-primary motion-safe:animate-pulse" }), t]
1664
+ }) : null,
1665
+ /* @__PURE__ */ y("h1", {
1666
+ className: "text-4xl sm:text-5xl lg:text-6xl font-bold tracking-[-0.02em] leading-[1.05] text-foreground",
1667
+ children: [n, r ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("br", {}), /* @__PURE__ */ v("span", {
1668
+ className: "text-gradient motion-safe:animate-gradient-pan",
1669
+ children: r
1670
+ })] }) : null]
1671
+ }),
1672
+ i ? /* @__PURE__ */ v("p", {
1673
+ className: "mt-6 text-base sm:text-lg text-muted-foreground leading-relaxed max-w-xl",
1674
+ children: i
1675
+ }) : null,
1676
+ a || o ? /* @__PURE__ */ y("div", {
1677
+ className: "mt-8 flex flex-wrap items-center gap-3",
1678
+ children: [a ? /* @__PURE__ */ y(m, {
1679
+ to: a.href,
1680
+ prefetch: !0,
1681
+ className: e("group relative inline-flex items-center gap-2 px-5 py-2.5 rounded-md", "bg-foreground text-background font-medium text-sm", "hover:opacity-90 active:scale-[0.98] transition-all", "shadow-[0_0_0_1px_oklch(1_0_0_/_0.08),0_8px_24px_-8px_oklch(0_0_0_/_0.5)]"),
1682
+ children: [a.label, /* @__PURE__ */ v("span", {
1683
+ "aria-hidden": "true",
1684
+ className: "transition-transform group-hover:translate-x-0.5",
1685
+ children: "→"
1686
+ })]
1687
+ }) : null, o ? /* @__PURE__ */ v(m, {
1688
+ to: o.href,
1689
+ prefetch: !0,
1690
+ className: e("inline-flex items-center gap-2 px-5 py-2.5 rounded-md", "border border-border bg-card/40 backdrop-blur-sm", "text-foreground font-medium text-sm", "hover:bg-card/70 hover:border-input transition-colors"),
1691
+ children: o.label
1692
+ }) : null]
1693
+ }) : null,
1694
+ s ? /* @__PURE__ */ v("div", {
1695
+ className: "mt-8 text-sm text-muted-foreground",
1696
+ children: s
1697
+ }) : null
1698
+ ]
1699
+ }), c ? /* @__PURE__ */ v("div", {
1700
+ className: "lg:pl-4 motion-safe:animate-in motion-safe:fade-in motion-safe:slide-in-from-bottom-6 motion-safe:duration-700 motion-safe:delay-150",
1701
+ children: c
1702
+ }) : null]
1703
+ })
1704
+ }), l ? /* @__PURE__ */ y("a", {
1705
+ href: l,
1706
+ className: "hidden md:flex absolute left-1/2 -translate-x-1/2 bottom-8 text-xs text-muted-foreground items-center gap-1.5 hover:text-foreground transition-colors",
1707
+ "aria-label": d,
1708
+ children: [/* @__PURE__ */ v("span", { children: u }), /* @__PURE__ */ v("svg", {
1709
+ width: "14",
1710
+ height: "14",
1711
+ viewBox: "0 0 14 14",
1712
+ fill: "none",
1713
+ "aria-hidden": "true",
1714
+ className: "motion-safe:animate-bounce",
1715
+ children: /* @__PURE__ */ v("path", {
1716
+ d: "M7 2 V12 M3 8 L7 12 L11 8",
1717
+ stroke: "currentColor",
1718
+ strokeWidth: "1.5",
1719
+ strokeLinecap: "round",
1720
+ strokeLinejoin: "round"
1721
+ })
1722
+ })]
1723
+ }) : null]
1724
+ });
1725
+ }, qt = {
1726
+ wide: "md:col-span-2",
1727
+ tall: "md:row-span-2",
1728
+ square: ""
1729
+ }, Jt = ({ children: t, className: n }) => /* @__PURE__ */ v("div", {
1730
+ className: e("not-prose grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 auto-rows-[minmax(240px,auto)]", n),
1731
+ children: t
1732
+ }), Yt = ({ title: t, description: n, icon: r, accent: i, size: a = "square", className: o, children: s }) => /* @__PURE__ */ y("div", {
1733
+ className: e("group relative overflow-hidden rounded-xl border border-border", "bg-gradient-to-br from-card/60 to-card/20 backdrop-blur-sm", "p-6 flex flex-col", "before:absolute before:inset-x-6 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-primary/40 before:to-transparent", "hover:border-primary/40 hover:shadow-[0_8px_32px_-12px_oklch(0.55_0.25_290_/_0.4)]", "transition-[border-color,box-shadow] duration-300", qt[a], o),
1734
+ children: [i ? /* @__PURE__ */ v("div", {
1735
+ "aria-hidden": "true",
1736
+ className: "absolute right-0 inset-y-0 w-1/2 overflow-hidden pointer-events-none opacity-70 group-hover:opacity-100 transition-opacity duration-500",
1737
+ children: i
1738
+ }) : null, /* @__PURE__ */ y("div", {
1739
+ className: "relative max-w-[32ch]",
1740
+ children: [
1741
+ r ? /* @__PURE__ */ v("div", {
1742
+ className: "inline-flex items-center justify-center w-9 h-9 rounded-md bg-primary/10 text-primary mb-4 [&_svg]:w-5 [&_svg]:h-5",
1743
+ children: r
1744
+ }) : null,
1745
+ /* @__PURE__ */ v("h3", {
1746
+ className: "text-lg font-semibold text-foreground tracking-tight",
1747
+ children: t
1748
+ }),
1749
+ /* @__PURE__ */ v("p", {
1750
+ className: "mt-1.5 text-sm text-muted-foreground leading-relaxed",
1751
+ children: n
1752
+ }),
1753
+ s
1754
+ ]
1755
+ })]
1756
+ }), Xt = [
1757
+ "text",
1758
+ "ts",
1759
+ "tsx",
1760
+ "typescript",
1761
+ "js",
1762
+ "jsx",
1763
+ "json",
1764
+ "bash",
1765
+ "sh",
1766
+ "shell",
1767
+ "sql",
1768
+ "yaml",
1769
+ "toml",
1770
+ "md",
1771
+ "mdx",
1772
+ "html",
1773
+ "css",
1774
+ "diff"
1775
+ ], Zt = async () => globalThis.__voltroShikiHighlighter ? globalThis.__voltroShikiHighlighter : (globalThis.__voltroShikiHighlighterPromise || (globalThis.__voltroShikiHighlighterPromise = (async () => {
1776
+ let { createHighlighter: e } = await import("shiki"), t = await e({
1777
+ themes: ["github-dark-dimmed", "github-light"],
1778
+ langs: Xt
1779
+ });
1780
+ return globalThis.__voltroShikiHighlighter = t, t;
1781
+ })()), globalThis.__voltroShikiHighlighterPromise), Qt = () => Zt().then(() => {}), $t = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), $ = ({ code: t, lang: n = "ts", className: r }) => {
1782
+ let [i, a] = g(null);
1783
+ f(() => {
1784
+ let e = !1;
1785
+ return Zt().then((r) => {
1786
+ if (!(e || !r)) try {
1787
+ let e = r.codeToHtml(t, {
1788
+ lang: n,
1789
+ themes: {
1790
+ light: "github-light",
1791
+ dark: "github-dark-dimmed"
1792
+ },
1793
+ defaultColor: !1
1794
+ });
1795
+ a(e);
1796
+ } catch {}
1797
+ }), () => {
1798
+ e = !0;
1799
+ };
1800
+ }, [t, n]);
1801
+ let o = m(() => $t(t), [t]);
1802
+ return i ? /* @__PURE__ */ v("div", {
1803
+ className: e("text-sm leading-relaxed [&_pre]:!m-0 [&_pre]:!bg-transparent [&_pre]:p-5 overflow-x-auto", r),
1804
+ dangerouslySetInnerHTML: { __html: i }
1805
+ }) : /* @__PURE__ */ v("pre", {
1806
+ className: e("p-5 text-sm leading-relaxed overflow-x-auto font-mono", r),
1807
+ children: /* @__PURE__ */ v("code", { dangerouslySetInnerHTML: { __html: o } })
1808
+ });
1809
+ }, en = ({ label: t, html: n, code: r, lang: i, tone: a = "muted" }) => /* @__PURE__ */ y("div", {
1810
+ className: e("relative rounded-xl border overflow-hidden bg-card/40 backdrop-blur-sm", a === "highlight" ? "border-primary/40 shadow-[0_0_0_1px_oklch(0.55_0.25_290_/_0.15),0_12px_40px_-12px_oklch(0.55_0.25_290_/_0.35)]" : "border-border"),
1811
+ children: [/* @__PURE__ */ y("div", {
1812
+ className: "flex items-center justify-between px-4 py-2 border-b border-border/60 bg-background/40",
1813
+ children: [/* @__PURE__ */ v("div", {
1814
+ className: "text-xs font-mono text-muted-foreground",
1815
+ children: t
1816
+ }), /* @__PURE__ */ v("span", {
1817
+ className: e("text-[0.65rem] uppercase tracking-[0.08em] font-semibold", a === "highlight" ? "text-primary" : "text-muted-foreground/70"),
1818
+ children: a === "highlight" ? "With Voltro" : "Before"
1819
+ })]
1820
+ }), /* @__PURE__ */ v("div", {
1821
+ className: e("text-sm leading-relaxed [&_pre]:!m-0 [&_pre]:!bg-transparent [&_pre]:p-5 overflow-x-auto", a === "muted" && "opacity-60"),
1822
+ children: n ? /* @__PURE__ */ v("div", { dangerouslySetInnerHTML: { __html: n } }) : r && i ? /* @__PURE__ */ v($, {
1823
+ code: r,
1824
+ lang: i
1825
+ }) : /* @__PURE__ */ v("pre", {
1826
+ className: "p-5 font-mono",
1827
+ children: /* @__PURE__ */ v("code", { children: r })
1828
+ })
1829
+ })]
1830
+ }), tn = ({ before: t, after: n, className: r }) => /* @__PURE__ */ y("div", {
1831
+ className: e("relative grid grid-cols-1 lg:grid-cols-[1fr_auto_1fr] gap-4 lg:gap-6 items-stretch", r),
1832
+ children: [
1833
+ /* @__PURE__ */ v(en, {
1834
+ ...t,
1835
+ tone: "muted"
1836
+ }),
1837
+ /* @__PURE__ */ y("div", {
1838
+ className: "flex lg:flex-col items-center justify-center gap-2 text-muted-foreground",
1839
+ "aria-hidden": "true",
1840
+ children: [
1841
+ /* @__PURE__ */ v("div", { className: "hidden lg:block w-px h-12 bg-gradient-to-b from-transparent via-primary/60 to-transparent" }),
1842
+ /* @__PURE__ */ v("svg", {
1843
+ width: "20",
1844
+ height: "20",
1845
+ viewBox: "0 0 20 20",
1846
+ fill: "none",
1847
+ className: "rotate-90 lg:rotate-0 text-primary",
1848
+ children: /* @__PURE__ */ v("path", {
1849
+ d: "M4 10 H16 M11 5 L16 10 L11 15",
1850
+ stroke: "currentColor",
1851
+ strokeWidth: "1.5",
1852
+ strokeLinecap: "round",
1853
+ strokeLinejoin: "round"
1854
+ })
1855
+ }),
1856
+ /* @__PURE__ */ v("div", { className: "hidden lg:block w-px h-12 bg-gradient-to-b from-primary/60 via-transparent to-transparent" })
1857
+ ]
1858
+ }),
1859
+ /* @__PURE__ */ v(en, {
1860
+ ...n,
1861
+ tone: "highlight"
1862
+ })
1863
+ ]
1864
+ }), nn = (e, t) => typeof t == "function" ? t(e) : t === "percent" ? `${e.toFixed(0)}%` : Math.round(e).toLocaleString("en-US"), rn = ({ value: e, format: t = "integer", duration: n = 800 }) => {
1865
+ let r = h(null), [i, a] = g(0);
1866
+ return f(() => {
1867
+ if (typeof IntersectionObserver > "u") {
1868
+ a(e);
1869
+ return;
1870
+ }
1871
+ if (window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
1872
+ a(e);
1873
+ return;
1874
+ }
1875
+ let t = r.current;
1876
+ if (!t) return;
1877
+ let i = new IntersectionObserver((t) => {
1878
+ for (let r of t) if (r.isIntersecting) {
1879
+ i.disconnect();
1880
+ let t = performance.now(), r = (i) => {
1881
+ let o = Math.min((i - t) / n, 1), s = 1 - (1 - o) ** 3;
1882
+ a(e * s), o < 1 ? requestAnimationFrame(r) : a(e);
1883
+ };
1884
+ requestAnimationFrame(r);
1885
+ return;
1886
+ }
1887
+ }, { threshold: .4 });
1888
+ return i.observe(t), () => i.disconnect();
1889
+ }, [e, n]), /* @__PURE__ */ v("span", {
1890
+ ref: r,
1891
+ className: "font-tabular",
1892
+ children: nn(i, t)
1893
+ });
1894
+ }, an = ({ stats: t, className: n }) => /* @__PURE__ */ v("div", {
1895
+ className: e("grid grid-cols-2 lg:grid-cols-4 gap-px overflow-hidden rounded-2xl border border-border bg-border", n),
1896
+ children: t.map((e, t) => /* @__PURE__ */ y("div", {
1897
+ className: "relative bg-card p-7 lg:p-9 transition-colors duration-300 hover:bg-accent/40",
1898
+ children: [
1899
+ /* @__PURE__ */ y("div", {
1900
+ className: "flex items-center gap-2 mb-6 text-xs uppercase tracking-[0.14em] text-muted-foreground font-medium",
1901
+ children: [e.icon ? /* @__PURE__ */ v("span", {
1902
+ className: "text-foreground/80 [&_svg]:w-3.5 [&_svg]:h-3.5",
1903
+ children: e.icon
1904
+ }) : null, /* @__PURE__ */ v("span", { children: e.label })]
1905
+ }),
1906
+ /* @__PURE__ */ y("div", {
1907
+ className: "text-5xl lg:text-6xl font-semibold tracking-[-0.035em] text-foreground inline-flex items-baseline gap-1 font-tabular leading-none",
1908
+ children: [
1909
+ e.prefix ? /* @__PURE__ */ v("span", {
1910
+ className: "text-3xl lg:text-4xl text-muted-foreground font-medium",
1911
+ children: e.prefix
1912
+ }) : null,
1913
+ /* @__PURE__ */ v(rn, {
1914
+ value: e.value,
1915
+ ...e.format ? { format: e.format } : {}
1916
+ }),
1917
+ e.unit ? /* @__PURE__ */ v("span", {
1918
+ className: "text-2xl lg:text-3xl text-muted-foreground font-medium ml-0.5",
1919
+ children: e.unit
1920
+ }) : null
1921
+ ]
1922
+ }),
1923
+ e.sub ? /* @__PURE__ */ v("div", {
1924
+ className: "mt-4 text-sm text-muted-foreground leading-relaxed",
1925
+ children: e.sub
1926
+ }) : null
1927
+ ]
1928
+ }, t))
1929
+ }), on = (e) => /^[a-z][a-z0-9+.-]*:\/\//i.test(e), sn = ({ to: e, className: t, children: n }) => on(e) ? /* @__PURE__ */ v("a", {
1930
+ href: e,
1931
+ className: t,
1932
+ target: "_blank",
1933
+ rel: "noopener noreferrer",
1934
+ children: n
1935
+ }) : /* @__PURE__ */ v("a", {
1936
+ href: e,
1937
+ className: t,
1938
+ children: n
1939
+ }), cn = ({ title: t, subtitle: n, primaryCta: r, secondaryCta: i, footnote: a, className: o, LinkComponent: s = sn }) => {
1940
+ let c = s;
1941
+ return /* @__PURE__ */ v("section", {
1942
+ className: e("relative overflow-hidden rounded-2xl border border-border", "bg-gradient-to-br from-card/60 via-card/30 to-card/60 backdrop-blur-sm", "before:absolute before:inset-0 before:bg-[radial-gradient(circle_at_20%_30%,oklch(0.55_0.25_290_/_0.25),transparent_60%),radial-gradient(circle_at_80%_70%,oklch(0.55_0.2_220_/_0.2),transparent_60%)]", "after:absolute after:inset-x-12 after:top-0 after:h-px after:bg-gradient-to-r after:from-transparent after:via-primary/60 after:to-transparent", "p-12 md:p-16 lg:p-20 text-center", o),
1943
+ children: /* @__PURE__ */ y("div", {
1944
+ className: "relative max-w-2xl mx-auto",
1945
+ children: [
1946
+ /* @__PURE__ */ v("h2", {
1947
+ className: "text-3xl md:text-4xl lg:text-5xl font-bold tracking-[-0.02em] leading-[1.1] text-foreground",
1948
+ children: t
1949
+ }),
1950
+ n ? /* @__PURE__ */ v("p", {
1951
+ className: "mt-5 text-base md:text-lg text-muted-foreground leading-relaxed",
1952
+ children: n
1953
+ }) : null,
1954
+ /* @__PURE__ */ y("div", {
1955
+ className: "mt-8 flex flex-wrap items-center justify-center gap-3",
1956
+ children: [/* @__PURE__ */ y(c, {
1957
+ to: r.href,
1958
+ prefetch: !0,
1959
+ className: e("group inline-flex items-center gap-2 px-6 py-3 rounded-md", "bg-foreground text-background font-medium text-sm", "hover:opacity-90 active:scale-[0.98] transition-all", "shadow-[0_0_0_1px_oklch(1_0_0_/_0.08),0_8px_32px_-8px_oklch(0.55_0.25_290_/_0.45)]"),
1960
+ children: [r.label, /* @__PURE__ */ v("span", {
1961
+ "aria-hidden": "true",
1962
+ className: "transition-transform group-hover:translate-x-0.5",
1963
+ children: "→"
1964
+ })]
1965
+ }), i ? /* @__PURE__ */ v(c, {
1966
+ to: i.href,
1967
+ prefetch: !0,
1968
+ className: "inline-flex items-center gap-2 px-6 py-3 rounded-md border border-border bg-card/40 backdrop-blur-sm text-foreground font-medium text-sm hover:bg-card/70 hover:border-input transition-colors",
1969
+ children: i.label
1970
+ }) : null]
1971
+ }),
1972
+ a ? /* @__PURE__ */ v("div", {
1973
+ className: "mt-6 text-xs text-muted-foreground",
1974
+ children: a
1975
+ }) : null
1976
+ ]
1977
+ })
1978
+ });
1979
+ }, ln = ({ to: e, className: t, children: n }) => /* @__PURE__ */ v("a", {
1980
+ href: e,
1981
+ className: t,
1982
+ children: n
1983
+ }), un = (e) => /^[a-z][a-z0-9+.-]*:\/\//i.test(e), dn = ({ link: e, Link: t }) => {
1984
+ let n = e.external ?? un(e.href), r = "inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground transition-colors";
1985
+ return n ? /* @__PURE__ */ y("a", {
1986
+ href: e.href,
1987
+ target: "_blank",
1988
+ rel: "noopener noreferrer",
1989
+ className: r,
1990
+ children: [e.label, e.badge ? /* @__PURE__ */ v(fn, { children: e.badge }) : null]
1991
+ }) : /* @__PURE__ */ y(t, {
1992
+ to: e.href,
1993
+ className: r,
1994
+ children: [e.label, e.badge ? /* @__PURE__ */ v(fn, { children: e.badge }) : null]
1995
+ });
1996
+ }, fn = ({ children: e }) => /* @__PURE__ */ v("span", {
1997
+ className: "inline-flex items-center px-1.5 py-0.5 rounded text-[0.6rem] uppercase tracking-wider font-semibold bg-primary/10 text-primary",
1998
+ children: e
1999
+ }), pn = ({ brand: t, tagline: n, social: r, columns: i, bottomLeft: a, bottomRight: o, copyrightHolder: s = "Voltro. Built on the framework.", socialLabel: c = "Social links", LinkComponent: l = ln, className: u }) => {
2000
+ let d = l, f = /* @__PURE__ */ y("span", {
2001
+ className: "text-xs text-muted-foreground",
2002
+ children: [
2003
+ "© ",
2004
+ (/* @__PURE__ */ new Date()).getFullYear(),
2005
+ " ",
2006
+ s
2007
+ ]
2008
+ });
2009
+ return /* @__PURE__ */ v("footer", {
2010
+ className: e("relative border-t border-border", "before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-primary/50 before:to-transparent", u),
2011
+ children: /* @__PURE__ */ y("div", {
2012
+ className: "mx-auto max-w-7xl px-6 py-14 lg:py-16",
2013
+ children: [/* @__PURE__ */ y("div", {
2014
+ className: "grid grid-cols-2 md:grid-cols-12 gap-8 lg:gap-12",
2015
+ children: [/* @__PURE__ */ y("div", {
2016
+ className: "col-span-2 md:col-span-4 lg:col-span-5",
2017
+ children: [
2018
+ /* @__PURE__ */ v("div", {
2019
+ className: "text-base font-semibold text-foreground",
2020
+ children: t
2021
+ }),
2022
+ n ? /* @__PURE__ */ v("p", {
2023
+ className: "mt-3 text-sm text-muted-foreground leading-relaxed max-w-xs",
2024
+ children: n
2025
+ }) : null,
2026
+ r && r.length > 0 ? /* @__PURE__ */ v("ul", {
2027
+ className: "mt-5 flex items-center gap-2",
2028
+ "aria-label": c,
2029
+ children: r.map((e) => /* @__PURE__ */ v("li", { children: /* @__PURE__ */ v("a", {
2030
+ href: e.href,
2031
+ target: "_blank",
2032
+ rel: "noopener noreferrer",
2033
+ "aria-label": e.label,
2034
+ className: "inline-flex items-center justify-center w-8 h-8 rounded-md text-muted-foreground hover:text-foreground hover:bg-card transition-colors [&_svg]:w-4 [&_svg]:h-4",
2035
+ children: e.icon
2036
+ }) }, e.href))
2037
+ }) : null
2038
+ ]
2039
+ }), i.map((t, n) => /* @__PURE__ */ y("div", {
2040
+ className: e("col-span-1", i.length === 3 ? "md:col-span-2 lg:col-span-2" : "md:col-span-2"),
2041
+ children: [/* @__PURE__ */ v("h3", {
2042
+ className: "text-xs uppercase tracking-[0.08em] text-muted-foreground font-semibold mb-4",
2043
+ children: t.title
2044
+ }), /* @__PURE__ */ v("ul", {
2045
+ className: "space-y-2.5",
2046
+ children: t.links.map((e, t) => /* @__PURE__ */ v("li", { children: /* @__PURE__ */ v(dn, {
2047
+ link: e,
2048
+ Link: d
2049
+ }) }, t))
2050
+ })]
2051
+ }, n))]
2052
+ }), /* @__PURE__ */ y("div", {
2053
+ className: "mt-12 lg:mt-16 pt-6 border-t border-border flex flex-col-reverse sm:flex-row items-start sm:items-center justify-between gap-4",
2054
+ children: [/* @__PURE__ */ v("div", { children: a ?? f }), o ? /* @__PURE__ */ v("div", {
2055
+ className: "flex items-center gap-3",
2056
+ children: o
2057
+ }) : null]
2058
+ })]
2059
+ })
2060
+ });
2061
+ }, mn = {
2062
+ ok: "bg-success shadow-[0_0_8px_2px_oklch(0.7_0.15_162_/_0.5)]",
2063
+ degraded: "bg-warning shadow-[0_0_8px_2px_oklch(0.78_0.18_70_/_0.5)]",
2064
+ down: "bg-destructive shadow-[0_0_8px_2px_oklch(0.7_0.19_22_/_0.5)]"
2065
+ }, hn = ({ href: t, label: n = "All systems operational", tone: r = "ok" }) => /* @__PURE__ */ y("a", {
2066
+ href: t,
2067
+ target: "_blank",
2068
+ rel: "noopener noreferrer",
2069
+ className: "inline-flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",
2070
+ children: [/* @__PURE__ */ v("span", {
2071
+ className: e("w-1.5 h-1.5 rounded-full motion-safe:animate-pulse", mn[r]),
2072
+ "aria-hidden": "true"
2073
+ }), n]
2074
+ }), gn = ({ className: t, tone: n = "cool" }) => {
2075
+ let r = n === "warm" ? "oklch(0.6 0.2 25 / 0.55)" : "oklch(0.55 0.25 290 / 0.55)", i = n === "warm" ? "oklch(0.7 0.18 60 / 0.4)" : "oklch(0.65 0.2 220 / 0.4)", a = n === "warm" ? "oklch(0.55 0.25 350 / 0.35)" : "oklch(0.5 0.25 310 / 0.45)";
2076
+ return /* @__PURE__ */ y("div", {
2077
+ "aria-hidden": "true",
2078
+ className: e("absolute inset-0 overflow-hidden pointer-events-none", t),
2079
+ children: [
2080
+ /* @__PURE__ */ v("div", {
2081
+ className: "absolute -top-1/4 -left-1/4 w-[60vw] h-[60vw] rounded-full blur-3xl opacity-70 motion-safe:animate-mesh-drift-a",
2082
+ style: { background: `radial-gradient(circle, ${r}, transparent 60%)` }
2083
+ }),
2084
+ /* @__PURE__ */ v("div", {
2085
+ className: "absolute -bottom-1/3 -right-1/4 w-[55vw] h-[55vw] rounded-full blur-3xl opacity-60 motion-safe:animate-mesh-drift-b",
2086
+ style: { background: `radial-gradient(circle, ${i}, transparent 60%)` }
2087
+ }),
2088
+ /* @__PURE__ */ v("div", {
2089
+ className: "absolute top-1/3 left-1/2 w-[40vw] h-[40vw] -translate-x-1/2 rounded-full blur-3xl opacity-50 motion-safe:animate-mesh-drift-c",
2090
+ style: { background: `radial-gradient(circle, ${a}, transparent 60%)` }
2091
+ })
2092
+ ]
2093
+ });
2094
+ }, _n = ({ className: t, variant: n = "dots", size: r = 32 }) => /* @__PURE__ */ v("div", {
2095
+ "aria-hidden": "true",
2096
+ className: e("absolute inset-0 pointer-events-none opacity-[0.06]", t),
2097
+ style: {
2098
+ backgroundImage: n === "lines" ? "linear-gradient(to right, var(--foreground) 1px, transparent 1px),linear-gradient(to bottom, var(--foreground) 1px, transparent 1px)" : "radial-gradient(circle, var(--foreground) 1px, transparent 1.5px)",
2099
+ backgroundSize: `${r}px ${r}px`,
2100
+ WebkitMaskImage: "radial-gradient(ellipse at center, black 0%, transparent 75%)",
2101
+ maskImage: "radial-gradient(ellipse at center, black 0%, transparent 75%)"
2102
+ }
2103
+ }), vn = 137.5, yn = 73.13, bn = {
2104
+ subtle: "opacity-50",
2105
+ normal: "opacity-75",
2106
+ strong: "opacity-100"
2107
+ }, xn = ({ count: t = 22, tone: n = "cool", intensity: r = "subtle", className: i }) => {
2108
+ let a = n === "warm" ? ["oklch(0.78 0.16 60)", "oklch(0.72 0.18 25)"] : ["oklch(0.78 0.18 290)", "oklch(0.74 0.16 220)"];
2109
+ return /* @__PURE__ */ v("div", {
2110
+ "aria-hidden": "true",
2111
+ className: e("absolute inset-0 overflow-hidden pointer-events-none", bn[r], i),
2112
+ children: Array.from({ length: t }, (e, t) => {
2113
+ let n = t * vn % 100, r = t * yn % 100, i = 2 + t % 3, o = t * .42 % 6, s = a[t % a.length];
2114
+ return /* @__PURE__ */ v("span", {
2115
+ className: "absolute rounded-full motion-safe:animate-twinkle",
2116
+ style: {
2117
+ left: `${n}%`,
2118
+ top: `${r}%`,
2119
+ width: `${i}px`,
2120
+ height: `${i}px`,
2121
+ backgroundColor: "oklch(0.98 0 0)",
2122
+ boxShadow: `0 0 ${i}px oklch(0.98 0 0), 0 0 ${i * 4}px ${s}`,
2123
+ animationDelay: `${o}s`
2124
+ }
2125
+ }, t);
2126
+ })
2127
+ });
2128
+ }, Sn = ({ title: t, tag: n, code: r, lang: i, html: a, caret: o = !1, className: s }) => /* @__PURE__ */ y("div", {
2129
+ className: e("relative overflow-hidden rounded-xl border border-border bg-card/60 backdrop-blur-sm shadow-2xl", "before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-primary/60 before:to-transparent", s),
2130
+ children: [t || n ? /* @__PURE__ */ y("div", {
2131
+ className: "flex items-center justify-between px-4 py-2 border-b border-border/60 bg-background/40",
2132
+ children: [/* @__PURE__ */ y("div", {
2133
+ className: "flex items-center gap-2 text-xs text-muted-foreground font-mono",
2134
+ children: [/* @__PURE__ */ y("span", {
2135
+ className: "inline-flex gap-1.5",
2136
+ "aria-hidden": "true",
2137
+ children: [
2138
+ /* @__PURE__ */ v("span", { className: "w-2.5 h-2.5 rounded-full bg-muted-foreground/30" }),
2139
+ /* @__PURE__ */ v("span", { className: "w-2.5 h-2.5 rounded-full bg-muted-foreground/30" }),
2140
+ /* @__PURE__ */ v("span", { className: "w-2.5 h-2.5 rounded-full bg-muted-foreground/30" })
2141
+ ]
2142
+ }), t ? /* @__PURE__ */ v("span", {
2143
+ className: "ml-2",
2144
+ children: t
2145
+ }) : null]
2146
+ }), n ? /* @__PURE__ */ v("span", {
2147
+ className: "text-[0.65rem] uppercase tracking-[0.08em] text-muted-foreground/80 font-semibold",
2148
+ children: n
2149
+ }) : null]
2150
+ }) : null, /* @__PURE__ */ v("div", {
2151
+ className: "relative",
2152
+ children: a ? /* @__PURE__ */ v("div", {
2153
+ className: "text-sm leading-relaxed [&_pre]:!m-0 [&_pre]:!bg-transparent [&_pre]:p-5 overflow-x-auto",
2154
+ dangerouslySetInnerHTML: { __html: a }
2155
+ }) : r && i ? /* @__PURE__ */ v($, {
2156
+ code: r,
2157
+ lang: i
2158
+ }) : /* @__PURE__ */ y("pre", {
2159
+ className: "p-5 text-sm leading-relaxed overflow-x-auto font-mono",
2160
+ children: [/* @__PURE__ */ v("code", { children: r }), o ? /* @__PURE__ */ v("span", { className: "ml-0.5 inline-block w-[7px] h-[1.1em] -mb-[3px] align-text-bottom bg-primary motion-safe:animate-caret-blink" }) : null]
2161
+ })
2162
+ })]
2163
+ }), Cn = ({ children: t, className: n, distance: r = 24, delay: i = 0, threshold: a = .15, disabled: o = !1 }) => {
2164
+ let s = h(null), [c, l] = g(o);
2165
+ return f(() => {
2166
+ if (o) return;
2167
+ if (typeof IntersectionObserver > "u") {
2168
+ l(!0);
2169
+ return;
2170
+ }
2171
+ let e = s.current;
2172
+ if (!e) return;
2173
+ let t = new IntersectionObserver((e) => {
2174
+ for (let n of e) if (n.isIntersecting) {
2175
+ l(!0), t.disconnect();
2176
+ return;
2177
+ }
2178
+ }, {
2179
+ threshold: a,
2180
+ rootMargin: "0px 0px -10% 0px"
2181
+ });
2182
+ return t.observe(e), () => t.disconnect();
2183
+ }, [a, o]), /* @__PURE__ */ v("div", {
2184
+ ref: s,
2185
+ className: e("motion-safe:transition-all motion-safe:duration-700 motion-safe:ease-out", n),
2186
+ style: c ? {
2187
+ opacity: 1,
2188
+ transform: "translate3d(0, 0, 0)",
2189
+ transitionDelay: `${i}ms`
2190
+ } : {
2191
+ opacity: 0,
2192
+ transform: `translate3d(0, ${r}px, 0)`
2193
+ },
2194
+ children: t
2195
+ });
2196
+ }, wn = {
2197
+ info: {
2198
+ ring: "border-info/30 bg-info/5 text-info",
2199
+ icon: "text-info",
2200
+ iconPath: /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("circle", {
2201
+ cx: "8",
2202
+ cy: "8",
2203
+ r: "6",
2204
+ stroke: "currentColor",
2205
+ strokeWidth: "1.5"
2206
+ }), /* @__PURE__ */ v("path", {
2207
+ d: "M8 5.5 V8.5 M8 10.5 V11",
2208
+ stroke: "currentColor",
2209
+ strokeWidth: "1.5",
2210
+ strokeLinecap: "round"
2211
+ })] })
2212
+ },
2213
+ tip: {
2214
+ ring: "border-success/30 bg-success/5 text-success",
2215
+ icon: "text-success",
2216
+ iconPath: /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("path", {
2217
+ d: "M5 8.5 L7 10.5 L11 6",
2218
+ stroke: "currentColor",
2219
+ strokeWidth: "1.5",
2220
+ strokeLinecap: "round",
2221
+ strokeLinejoin: "round"
2222
+ }), /* @__PURE__ */ v("circle", {
2223
+ cx: "8",
2224
+ cy: "8",
2225
+ r: "6",
2226
+ stroke: "currentColor",
2227
+ strokeWidth: "1.5"
2228
+ })] })
2229
+ },
2230
+ warning: {
2231
+ ring: "border-warning/30 bg-warning/5 text-warning",
2232
+ icon: "text-warning",
2233
+ iconPath: /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("path", {
2234
+ d: "M8 2 L14 13 L2 13 Z",
2235
+ stroke: "currentColor",
2236
+ strokeWidth: "1.5",
2237
+ strokeLinejoin: "round"
2238
+ }), /* @__PURE__ */ v("path", {
2239
+ d: "M8 6.5 V9 M8 10.5 V11",
2240
+ stroke: "currentColor",
2241
+ strokeWidth: "1.5",
2242
+ strokeLinecap: "round"
2243
+ })] })
2244
+ },
2245
+ danger: {
2246
+ ring: "border-destructive/40 bg-destructive/5 text-destructive",
2247
+ icon: "text-destructive",
2248
+ iconPath: /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("circle", {
2249
+ cx: "8",
2250
+ cy: "8",
2251
+ r: "6",
2252
+ stroke: "currentColor",
2253
+ strokeWidth: "1.5"
2254
+ }), /* @__PURE__ */ v("path", {
2255
+ d: "M5.5 5.5 L10.5 10.5 M10.5 5.5 L5.5 10.5",
2256
+ stroke: "currentColor",
2257
+ strokeWidth: "1.5",
2258
+ strokeLinecap: "round"
2259
+ })] })
2260
+ },
2261
+ note: {
2262
+ ring: "border-border bg-card/40 text-muted-foreground",
2263
+ icon: "text-muted-foreground",
2264
+ iconPath: /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("rect", {
2265
+ x: "2.5",
2266
+ y: "2.5",
2267
+ width: "11",
2268
+ height: "11",
2269
+ rx: "1.5",
2270
+ stroke: "currentColor",
2271
+ strokeWidth: "1.5"
2272
+ }), /* @__PURE__ */ v("path", {
2273
+ d: "M5 6 H11 M5 8.5 H11 M5 11 H8.5",
2274
+ stroke: "currentColor",
2275
+ strokeWidth: "1.5",
2276
+ strokeLinecap: "round"
2277
+ })] })
2278
+ }
2279
+ }, Tn = ({ type: t = "info", title: n, children: r, className: i }) => {
2280
+ let a = wn[t];
2281
+ return /* @__PURE__ */ y("div", {
2282
+ className: e("not-prose my-5 rounded-lg border px-4 py-3 flex gap-3", a.ring, i),
2283
+ children: [/* @__PURE__ */ v("svg", {
2284
+ width: "16",
2285
+ height: "16",
2286
+ viewBox: "0 0 16 16",
2287
+ fill: "none",
2288
+ className: e("shrink-0 mt-0.5", a.icon),
2289
+ "aria-hidden": "true",
2290
+ children: a.iconPath
2291
+ }), /* @__PURE__ */ y("div", {
2292
+ className: "min-w-0 flex-1",
2293
+ children: [n ? /* @__PURE__ */ v("div", {
2294
+ className: "font-semibold text-foreground mb-1 leading-tight",
2295
+ children: n
2296
+ }) : null, /* @__PURE__ */ v("div", {
2297
+ className: "text-sm text-foreground/90 leading-relaxed",
2298
+ children: r
2299
+ })]
2300
+ })]
2301
+ });
2302
+ }, En = Xt, Dn = (e) => e && En.includes(e) ? e : null, On = ({ filename: t, language: n, html: r, code: i, className: a, copyLabel: o = "Copy", copyAriaLabel: s = "Copy code", copiedLabel: c = "Copied", copiedAriaLabel: l = "Copied" }) => {
2303
+ let [u, d] = g(!1), f = () => {
2304
+ if (i) return i;
2305
+ if (r) {
2306
+ let e = typeof document < "u" ? document.createElement("div") : null;
2307
+ return e ? (e.innerHTML = r, e.textContent ?? "") : "";
2308
+ }
2309
+ return "";
2310
+ };
2311
+ return /* @__PURE__ */ y("figure", {
2312
+ className: e("not-prose my-5 rounded-lg overflow-hidden border border-border bg-[oklch(0.18_0.005_280)]", a),
2313
+ children: [t || n ? /* @__PURE__ */ y("header", {
2314
+ className: "flex items-center justify-between border-b border-border/60 px-4 py-2 bg-card/40",
2315
+ children: [t ? /* @__PURE__ */ v("span", {
2316
+ className: "text-xs text-muted-foreground font-mono",
2317
+ children: t
2318
+ }) : /* @__PURE__ */ v("span", {}), n ? /* @__PURE__ */ v("span", {
2319
+ className: "text-[0.65rem] uppercase tracking-wider text-muted-foreground/80 font-semibold",
2320
+ children: n
2321
+ }) : null]
2322
+ }) : null, /* @__PURE__ */ y("div", {
2323
+ className: "relative",
2324
+ children: [/* @__PURE__ */ v("button", {
2325
+ type: "button",
2326
+ onClick: () => {
2327
+ let e = f();
2328
+ !e || typeof navigator > "u" || !navigator.clipboard || navigator.clipboard.writeText(e).then(() => {
2329
+ d(!0), setTimeout(() => d(!1), 1400);
2330
+ }).catch(() => {});
2331
+ },
2332
+ "aria-label": u ? l : s,
2333
+ className: "absolute top-3 right-3 inline-flex items-center gap-1 rounded-md border border-border/60 bg-background/70 backdrop-blur px-2 py-1 text-xs text-muted-foreground hover:text-foreground transition-colors",
2334
+ children: u ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("svg", {
2335
+ width: "12",
2336
+ height: "12",
2337
+ viewBox: "0 0 12 12",
2338
+ fill: "none",
2339
+ "aria-hidden": "true",
2340
+ children: /* @__PURE__ */ v("path", {
2341
+ d: "M3 6.5 L5 8.5 L9 4",
2342
+ stroke: "currentColor",
2343
+ strokeWidth: "1.5",
2344
+ strokeLinecap: "round",
2345
+ strokeLinejoin: "round"
2346
+ })
2347
+ }), c] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ y("svg", {
2348
+ width: "12",
2349
+ height: "12",
2350
+ viewBox: "0 0 12 12",
2351
+ fill: "none",
2352
+ "aria-hidden": "true",
2353
+ children: [/* @__PURE__ */ v("rect", {
2354
+ x: "3",
2355
+ y: "3",
2356
+ width: "6",
2357
+ height: "6",
2358
+ rx: "1",
2359
+ stroke: "currentColor",
2360
+ strokeWidth: "1.5"
2361
+ }), /* @__PURE__ */ v("path", {
2362
+ d: "M5 3 V2.5 A0.5 0.5 0 0 1 5.5 2 H8.5 A0.5 0.5 0 0 1 9 2.5 V5.5 A0.5 0.5 0 0 1 8.5 6 H8",
2363
+ stroke: "currentColor",
2364
+ strokeWidth: "1.5"
2365
+ })]
2366
+ }), o] })
2367
+ }), r ? /* @__PURE__ */ v("div", {
2368
+ className: "text-sm leading-relaxed [&_pre]:!m-0 [&_pre]:!bg-transparent [&_pre]:p-4 overflow-x-auto",
2369
+ dangerouslySetInnerHTML: { __html: r }
2370
+ }) : i && Dn(n) ? /* @__PURE__ */ v($, {
2371
+ code: i,
2372
+ lang: Dn(n),
2373
+ className: "[&_pre]:!p-4 [&_pre]:!m-0 [&_pre]:!bg-transparent"
2374
+ }) : /* @__PURE__ */ v("pre", {
2375
+ className: "p-4 text-sm leading-relaxed overflow-x-auto",
2376
+ children: /* @__PURE__ */ v("code", { children: i })
2377
+ })]
2378
+ })]
2379
+ });
2380
+ }, kn = ({ children: t, className: n }) => {
2381
+ let r = o.toArray(t).filter(l);
2382
+ return /* @__PURE__ */ v("ol", {
2383
+ className: e("not-prose my-6 ml-3 space-y-6 border-l border-border", n),
2384
+ children: r.map((e, t) => /* @__PURE__ */ y("li", {
2385
+ className: "relative pl-8",
2386
+ children: [/* @__PURE__ */ v("div", {
2387
+ className: "absolute left-0 top-0 -translate-x-1/2 w-6 h-6 rounded-full bg-card border border-border text-xs font-semibold text-foreground inline-flex items-center justify-center",
2388
+ children: t + 1
2389
+ }), e]
2390
+ }, t))
2391
+ });
2392
+ }, An = ({ title: t, children: n, className: r }) => /* @__PURE__ */ y("div", {
2393
+ className: e("-mt-1", r),
2394
+ children: [t ? /* @__PURE__ */ v("h3", {
2395
+ className: "text-base font-semibold text-foreground mb-2",
2396
+ children: t
2397
+ }) : null, /* @__PURE__ */ v("div", {
2398
+ className: "text-sm text-muted-foreground leading-relaxed space-y-2",
2399
+ children: n
2400
+ })]
2401
+ }), jn = ({ to: e, className: t, children: n }) => /* @__PURE__ */ v("a", {
2402
+ href: e,
2403
+ className: t,
2404
+ children: n
2405
+ }), Mn = {
2406
+ 1: "grid-cols-1",
2407
+ 2: "grid-cols-1 md:grid-cols-2",
2408
+ 3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3"
2409
+ }, Nn = ({ children: t, className: n, cols: r = 2, stagger: i = !0 }) => /* @__PURE__ */ v("div", {
2410
+ className: e("not-prose my-6 grid gap-4", Mn[r], i && "stagger-in", n),
2411
+ children: t
2412
+ }), Pn = ({ title: t, description: n, href: r, icon: i, className: a, LinkComponent: o = jn }) => /* @__PURE__ */ y(o, {
2413
+ to: r,
2414
+ prefetch: !0,
2415
+ className: e("group relative block p-5 rounded-lg border border-border bg-card/30", "hover:bg-card/60 hover:border-primary/40 hover:-translate-y-0.5", "active:translate-y-0 active:scale-[0.99]", "transition-[transform,background-color,border-color] duration-150 ease-out", "before:absolute before:inset-x-4 before:top-0 before:h-px before:bg-gradient-to-r before:from-transparent before:via-primary/50 before:to-transparent before:opacity-0 before:transition-opacity group-hover:before:opacity-100", a),
2416
+ children: [/* @__PURE__ */ y("div", {
2417
+ className: e("flex items-center gap-4", n ? "mb-4" : ""),
2418
+ children: [i ? /* @__PURE__ */ v("div", {
2419
+ className: "flex shrink-0 items-center justify-center w-9 h-9 rounded-md bg-primary/10 text-primary [&_svg]:w-5 [&_svg]:h-5",
2420
+ "aria-hidden": "true",
2421
+ children: i
2422
+ }) : null, /* @__PURE__ */ y("div", {
2423
+ className: "min-w-0 font-semibold text-foreground group-hover:text-primary transition-colors flex items-center gap-2",
2424
+ children: [/* @__PURE__ */ v("span", {
2425
+ className: "min-w-0",
2426
+ children: t
2427
+ }), /* @__PURE__ */ v("span", {
2428
+ className: "shrink-0 text-muted-foreground group-hover:text-primary group-hover:translate-x-0.5 transition-all",
2429
+ "aria-hidden": "true",
2430
+ children: "→"
2431
+ })]
2432
+ })]
2433
+ }), n ? /* @__PURE__ */ v("div", {
2434
+ className: "text-sm text-muted-foreground leading-relaxed",
2435
+ children: n
2436
+ }) : null]
2437
+ }), Fn = ({ contentSelector: e = "main" }) => (f(() => {
2438
+ let t = document.querySelector(e);
2439
+ if (!t) return;
2440
+ let n = [], r = null, i = null, a = () => Array.from(document.querySelectorAll("[data-toc-link]")), o = (e) => a().find((t) => t.dataset.tocLink === e) ?? null, s = (e) => {
2441
+ if (e !== i) {
2442
+ for (let e of a()) e?.removeAttribute("data-active"), e?.removeAttribute("aria-current");
2443
+ if (i = e, e) {
2444
+ let t = o(e);
2445
+ t?.setAttribute("data-active", "true"), t?.setAttribute("aria-current", "location");
2446
+ }
2447
+ }
2448
+ }, c = () => {
2449
+ if (r = null, n.length === 0) {
2450
+ s(null);
2451
+ return;
2452
+ }
2453
+ let e = Math.min(180, Math.max(96, window.innerHeight * .24)), t = n[0]?.id ?? null;
2454
+ for (let r of n) if (r.getBoundingClientRect().top <= e) t = r.id;
2455
+ else break;
2456
+ let i = window.scrollY + window.innerHeight;
2457
+ document.documentElement.scrollHeight - i < 2 && (t = n[n.length - 1]?.id ?? t), s(t);
2458
+ }, l = () => {
2459
+ r === null && (r = window.requestAnimationFrame(c));
2460
+ }, u = () => {
2461
+ n = Array.from(t.querySelectorAll("h2[id], h3[id]")), i = null, l();
2462
+ };
2463
+ u();
2464
+ let d = new MutationObserver(u);
2465
+ return d.observe(t, {
2466
+ childList: !0,
2467
+ subtree: !0
2468
+ }), window.addEventListener("scroll", l, { passive: !0 }), window.addEventListener("resize", l), window.addEventListener("hashchange", l), () => {
2469
+ d.disconnect(), window.removeEventListener("scroll", l), window.removeEventListener("resize", l), window.removeEventListener("hashchange", l), r !== null && window.cancelAnimationFrame(r);
2470
+ };
2471
+ }, [e]), null), In = {
2472
+ dialog: "Search",
2473
+ close: "Close search",
2474
+ startTyping: "Start typing to search.",
2475
+ navigate: "navigate",
2476
+ select: "select",
2477
+ toggle: "toggle"
2478
+ }, Ln = ({ search: t, renderItem: n, itemKey: r, onSelect: i, placeholder: a = "Search…", emptyLabel: o = "No results.", empty: s, open: c, onOpenChange: l, labels: d }) => {
2479
+ let _ = {
2480
+ ...In,
2481
+ ...d
2482
+ }, b = c !== void 0, [x, S] = g(!1), C = b ? c : x, w = u((e) => {
2483
+ b || S(e), l?.(e);
2484
+ }, [b, l]), [T, E] = g(""), [D, O] = g(0), k = h(null), A = p(), j = m(() => T.trim() ? t(T) : [], [T, t]);
2485
+ f(() => {
2486
+ O(0);
2487
+ }, [T]), f(() => {
2488
+ let e = (e) => {
2489
+ e.key.toLowerCase() === "k" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), w(!C));
2490
+ };
2491
+ return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
2492
+ }, [C, w]), f(() => {
2493
+ if (!C) return;
2494
+ E(""), O(0);
2495
+ let e = requestAnimationFrame(() => k.current?.focus());
2496
+ return () => cancelAnimationFrame(e);
2497
+ }, [C]);
2498
+ let M = u(() => w(!1), [w]);
2499
+ return C ? /* @__PURE__ */ y("div", {
2500
+ role: "dialog",
2501
+ "aria-modal": "true",
2502
+ "aria-label": _.dialog,
2503
+ className: "fixed inset-0 z-50 flex items-start justify-center pt-[15vh] px-4",
2504
+ children: [/* @__PURE__ */ v("button", {
2505
+ type: "button",
2506
+ "aria-label": _.close,
2507
+ onClick: M,
2508
+ className: "absolute inset-0 bg-background/70 backdrop-blur-sm cursor-default"
2509
+ }), /* @__PURE__ */ y("div", {
2510
+ className: e("relative w-full max-w-xl rounded-xl border border-border bg-card shadow-2xl overflow-hidden", "animate-in fade-in slide-in-from-top-4 duration-150"),
2511
+ children: [
2512
+ /* @__PURE__ */ y("div", {
2513
+ className: "flex items-center gap-3 px-4 py-3 border-b border-border",
2514
+ children: [
2515
+ /* @__PURE__ */ v(Y, { className: "w-4 h-4 text-muted-foreground shrink-0" }),
2516
+ /* @__PURE__ */ v("input", {
2517
+ ref: k,
2518
+ type: "text",
2519
+ value: T,
2520
+ onChange: (e) => E(e.target.value),
2521
+ onKeyDown: (e) => {
2522
+ if (e.key === "Escape") {
2523
+ e.preventDefault(), M();
2524
+ return;
2525
+ }
2526
+ if (e.key === "ArrowDown") {
2527
+ e.preventDefault(), O((e) => Math.min(e + 1, Math.max(j.length - 1, 0)));
2528
+ return;
2529
+ }
2530
+ if (e.key === "ArrowUp") {
2531
+ e.preventDefault(), O((e) => Math.max(e - 1, 0));
2532
+ return;
2533
+ }
2534
+ if (e.key === "Enter") {
2535
+ let t = j[D];
2536
+ t && (e.preventDefault(), i(t), M());
2537
+ }
2538
+ },
2539
+ placeholder: a,
2540
+ "aria-autocomplete": "list",
2541
+ "aria-controls": A,
2542
+ "aria-activedescendant": j[D] ? `${A}-${r(j[D])}` : void 0,
2543
+ className: "flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/70"
2544
+ }),
2545
+ /* @__PURE__ */ v("kbd", {
2546
+ className: "text-[0.65rem] text-muted-foreground border border-border rounded px-1.5 py-0.5 font-mono",
2547
+ children: "Esc"
2548
+ })
2549
+ ]
2550
+ }),
2551
+ /* @__PURE__ */ v("div", {
2552
+ id: A,
2553
+ role: "listbox",
2554
+ className: "max-h-[60vh] overflow-y-auto py-1.5",
2555
+ children: T.trim() === "" ? s ?? /* @__PURE__ */ v("div", {
2556
+ className: "px-4 py-8 text-center text-sm text-muted-foreground",
2557
+ children: _.startTyping
2558
+ }) : j.length === 0 ? /* @__PURE__ */ v("div", {
2559
+ className: "px-4 py-8 text-center text-sm text-muted-foreground",
2560
+ children: o
2561
+ }) : /* @__PURE__ */ v("ul", {
2562
+ className: "px-1.5",
2563
+ children: j.map((t, a) => {
2564
+ let o = a === D, s = r(t);
2565
+ return /* @__PURE__ */ v("li", {
2566
+ id: `${A}-${s}`,
2567
+ role: "option",
2568
+ "aria-selected": o,
2569
+ children: /* @__PURE__ */ v("button", {
2570
+ type: "button",
2571
+ onClick: () => {
2572
+ i(t), M();
2573
+ },
2574
+ onMouseMove: () => O(a),
2575
+ className: e("w-full text-left rounded-md px-3 py-2 transition-colors", o ? "bg-accent text-accent-foreground" : "text-foreground hover:bg-accent/50"),
2576
+ children: n(t, o)
2577
+ })
2578
+ }, s);
2579
+ })
2580
+ })
2581
+ }),
2582
+ /* @__PURE__ */ y("div", {
2583
+ className: "flex items-center justify-between gap-4 px-4 py-2 border-t border-border bg-card/40 text-[0.7rem] text-muted-foreground",
2584
+ children: [/* @__PURE__ */ y("div", {
2585
+ className: "inline-flex items-center gap-3",
2586
+ children: [/* @__PURE__ */ y("span", {
2587
+ className: "inline-flex items-center gap-1",
2588
+ children: [
2589
+ /* @__PURE__ */ v("kbd", {
2590
+ className: "border border-border rounded px-1 py-0.5 font-mono",
2591
+ children: "↑"
2592
+ }),
2593
+ /* @__PURE__ */ v("kbd", {
2594
+ className: "border border-border rounded px-1 py-0.5 font-mono",
2595
+ children: "↓"
2596
+ }),
2597
+ _.navigate
2598
+ ]
2599
+ }), /* @__PURE__ */ y("span", {
2600
+ className: "inline-flex items-center gap-1",
2601
+ children: [
2602
+ /* @__PURE__ */ v(ht, { className: "w-3 h-3" }),
2603
+ " ",
2604
+ _.select
2605
+ ]
2606
+ })]
2607
+ }), /* @__PURE__ */ y("span", {
2608
+ className: "inline-flex items-center gap-1",
2609
+ children: [/* @__PURE__ */ v("kbd", {
2610
+ className: "border border-border rounded px-1 py-0.5 font-mono",
2611
+ children: "⌘K"
2612
+ }), _.toggle]
2613
+ })]
2614
+ })
2615
+ ]
2616
+ })]
2617
+ }) : null;
2618
+ }, Rn = ({ onClick: t, placeholder: n = "Search docs…", openLabel: r = "Open search", className: i }) => /* @__PURE__ */ y("button", {
2619
+ type: "button",
2620
+ onClick: t,
2621
+ "aria-label": r,
2622
+ className: e("inline-flex items-center gap-2 rounded-md border border-border bg-card/40 px-2.5 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:border-input transition-colors w-56 lg:w-64", i),
2623
+ children: [
2624
+ /* @__PURE__ */ v(Y, { className: "w-4 h-4 shrink-0" }),
2625
+ /* @__PURE__ */ v("span", {
2626
+ className: "flex-1 text-left truncate",
2627
+ children: n
2628
+ }),
2629
+ /* @__PURE__ */ v("kbd", {
2630
+ className: "text-[0.65rem] border border-border rounded px-1 py-0.5 font-mono hidden lg:inline-block",
2631
+ children: "⌘K"
2632
+ })
2633
+ ]
2634
+ }), zn = "framework-ui-shadcn";
2635
+ //#endregion
2636
+ export { rn as AnimatedNumber, Pt as AppShell, ht as ArrowReturnIcon, me as Avatar, de as Badge, et as BellIcon, Jt as Bento, Yt as BentoCell, at as BotIcon, Qe as BroadcastIcon, nt as BuildingIcon, F as Button, Tn as Callout, I as Card, oe as CardContent, ae as CardDescription, se as CardFooter, L as CardHeader, R as CardTitle, xt as ChartIcon, le as Checkbox, pt as ChevronLeftIcon, mt as ChevronRightIcon, dt as CloudIcon, On as CodeBlock, tn as CodeCompare, Sn as CodeWindow, tt as CogIcon, Je as CompassIcon, rt as DatabaseIcon, _e as Dialog, be as DialogDescription, xe as DialogFooter, ve as DialogHeader, ye as DialogTitle, vt as DiscordIcon, Pn as DocCard, Nn as DocCards, Ke as DocShell, Mt as DocsLayout, Ae as DropdownMenu, H as DropdownMenuContent, Me as DropdownMenuGroup, W as DropdownMenuItem, Fe as DropdownMenuLabel, Ne as DropdownMenuPortal, Pe as DropdownMenuRadioGroup, Le as DropdownMenuRadioItem, U as DropdownMenuSeparator, je as DropdownMenuTrigger, We as FeatureGrid, Ze as FileIcon, Xe as FolderIcon, gt as GitHubIcon, ut as GlobeIcon, _n as GridOverlay, Ue as HeroSection, $ as HighlightedCode, ft as HomeIcon, lt as HookIcon, z as Input, j as LANG_COOKIE, B as Label, cn as LandingCta, Kt as LandingHero, an as LandingStats, st as LayersIcon, yt as LinkedInIcon, Be as LocaleSwitcher, it as LockIcon, He as LoginCard, gn as MeshBackdrop, Ye as PackageIcon, Z as PageHeader, $e as PencilIcon, Vt as ProfileMenu, ct as PuzzleIcon, qe as RocketIcon, bt as RssIcon, Xt as SHIKI_LANGS, Cn as ScrollReveal, Y as SearchIcon, Ln as SearchModal, Rn as SearchTrigger, ge as Select, fe as Separator, pn as SiteFooter, he as Skeleton, xn as Sparkles, hn as StatusBadge, An as Step, kn as Steps, A as THEME_COOKIE, Se as Tabs, Te as TabsContent, Ce as TabsList, we as TabsTrigger, ot as TerminalIcon, ce as Textarea, Ut as ThemeToggle, De as Toast, ke as ToastDescription, Oe as ToastTitle, Fn as TocScrollSpy, Re as Toggle, K as ToggleGroup, q as ToggleGroupItem, zn as UI_SHADCN_NAME, t as VOLTRO_BOLT_PATH, n as VOLTRO_VIOLET, r as VoltroIcon, i as VoltroMark, a as VoltroWordmark, _t as XIcon, re as applyTheme, ue as badgeVariants, ie as buttonVariants, e as cn, te as deleteCookie, N as getCookie, ne as parsePreferenceCookies, P as setCookie, k as shadcnWidgets, Ht as themeBootScript, G as toggleVariants, Qt as whenHighlighterReady };