@pelatform/ui 1.5.2 → 1.5.3

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.
@@ -3,6 +3,7 @@
3
3
 
4
4
 
5
5
 
6
+ var _chunkZBO5IAMAcjs = require('./chunk-ZBO5IAMA.cjs');
6
7
 
7
8
 
8
9
 
@@ -38,7 +39,13 @@
38
39
 
39
40
 
40
41
 
41
- var _chunkDBE4IGCPcjs = require('./chunk-DBE4IGCP.cjs');
42
+
43
+
44
+
45
+
46
+
47
+
48
+ var _chunkHILACSFAcjs = require('./chunk-HILACSFA.cjs');
42
49
 
43
50
 
44
51
 
@@ -49,7 +56,9 @@ var _chunkBXUKTDPNcjs = require('./chunk-BXUKTDPN.cjs');
49
56
  var _chunkJ4JGE3U5cjs = require('./chunk-J4JGE3U5.cjs');
50
57
 
51
58
 
52
- var _chunkKNS6QRVBcjs = require('./chunk-KNS6QRVB.cjs');
59
+
60
+
61
+ var _chunkWI36EFUScjs = require('./chunk-WI36EFUS.cjs');
53
62
 
54
63
 
55
64
  var _chunkCJXIPSTGcjs = require('./chunk-CJXIPSTG.cjs');
@@ -75,9 +84,9 @@ function AlertToast({
75
84
  variant = "mono"
76
85
  }) {
77
86
  _sonner.toast.custom(
78
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant, icon, children: [
79
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: iconMap[_nullishCoalesce(icon, () => ( "success"))] }),
80
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: message })
87
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant, icon, children: [
88
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: iconMap[_nullishCoalesce(icon, () => ( "success"))] }),
89
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: message })
81
90
  ] }),
82
91
  {
83
92
  // Auto-dismiss after 4 seconds
@@ -103,9 +112,9 @@ function AlertNotification({ message, variant = "info" }) {
103
112
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Info, {});
104
113
  }
105
114
  };
106
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant, children: [
107
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: getIcon() }),
108
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: message })
115
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant, children: [
116
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: getIcon() }),
117
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: message })
109
118
  ] });
110
119
  }
111
120
  var AlertComingsoon = ({
@@ -114,9 +123,9 @@ var AlertComingsoon = ({
114
123
  variant = "mono"
115
124
  } = {}) => {
116
125
  _sonner.toast.custom(
117
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant, icon, children: [
118
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
119
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: message })
126
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant, icon, children: [
127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
128
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: message })
120
129
  ] }),
121
130
  {
122
131
  // Toast configuration for better UX
@@ -149,14 +158,14 @@ var ConfirmDismissDialog = ({
149
158
  onOpenChange(false);
150
159
  }
151
160
  };
152
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.AlertDialogContent, { className: maxWidth, children: [
153
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.AlertDialogHeader, { children: [
154
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertDialogTitle, { children: title }),
155
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertDialogDescription, { children: description })
161
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.AlertDialogContent, { className: maxWidth, children: [
162
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.AlertDialogHeader, { children: [
163
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertDialogTitle, { children: title }),
164
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertDialogDescription, { children: description })
156
165
  ] }),
157
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.AlertDialogFooter, { children: [
158
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertDialogCancel, { onClick: handleCancel, children: cancelText }),
159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertDialogAction, { onClick: onConfirm, children: confirmText })
166
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.AlertDialogFooter, { children: [
167
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertDialogCancel, { onClick: handleCancel, children: cancelText }),
168
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertDialogAction, { onClick: onConfirm, children: confirmText })
160
169
  ] })
161
170
  ] }) });
162
171
  };
@@ -181,7 +190,7 @@ function ScreenLoader({
181
190
  "div",
182
191
  {
183
192
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
184
- "fixed inset-0 z-50 flex flex-col items-center justify-center gap-2 transition-opacity duration-700 ease-in-out",
193
+ "fixed inset-0 z-500 flex flex-col items-center justify-center gap-2 bg-background transition-opacity duration-700 ease-in-out",
185
194
  className
186
195
  ),
187
196
  role: "status",
@@ -195,14 +204,19 @@ function ScreenLoader({
195
204
  );
196
205
  }
197
206
 
198
- // src/components/layout/body.tsx
207
+ // src/components/layout/auth.tsx
199
208
 
200
- function useMode(slug) {
201
- return Array.isArray(slug) && slug.length > 0 ? slug[0] : void 0;
202
- }
203
- function Body({ slug, children, className }) {
204
- const mode = useMode(slug);
205
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "body", { className: _chunkCJXIPSTGcjs.cn.call(void 0, mode, className), children });
209
+ function LayoutAuth({ children, className, logo }) {
210
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
211
+ "div",
212
+ {
213
+ className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex min-h-screen grow flex-col items-center justify-center p-4", className),
214
+ children: [
215
+ logo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "m-5", children: logo }),
216
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.Card, { className: "w-full max-w-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.CardContent, { className: "p-6", children }) })
217
+ ]
218
+ }
219
+ );
206
220
  }
207
221
 
208
222
  // src/components/layout/grid.tsx
@@ -248,6 +262,158 @@ function Grid({
248
262
  );
249
263
  }
250
264
 
265
+ // src/components/layout/blank.tsx
266
+
267
+ function LayoutBlank({ children, footer, className, logo, logoHref }) {
268
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 isolate overflow-hidden bg-background", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
270
+ "div",
271
+ {
272
+ className: _chunkCJXIPSTGcjs.cn.call(void 0,
273
+ "-translate-x-1/2 absolute inset-y-0 start-1/2 w-[1200px]",
274
+ "mask-intersect mask-[linear-gradient(black,transparent_320px),linear-gradient(90deg,transparent,black_5%,black_95%,transparent)]"
275
+ ),
276
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Grid, { cellSize: 60, patternOffset: [0.75, 0], className: "text-foreground/15" })
277
+ }
278
+ ) }),
279
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
280
+ "div",
281
+ {
282
+ className: _chunkCJXIPSTGcjs.cn.call(void 0,
283
+ "relative flex min-h-screen w-full flex-col items-center justify-between",
284
+ className
285
+ ),
286
+ children: [
287
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grow basis-0", children: logo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: _nullishCoalesce(logoHref, () => ( "#")), target: "_blank", className: "block", children: logo }) }) }),
288
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-4xl px-4 py-16", children }),
289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grow basis-0", children: footer })
290
+ ]
291
+ }
292
+ )
293
+ ] });
294
+ }
295
+
296
+ // src/components/layout/body.tsx
297
+
298
+ function useMode(slug) {
299
+ return Array.isArray(slug) && slug.length > 0 ? slug[0] : void 0;
300
+ }
301
+ function Body({ slug, children, className }) {
302
+ const mode = useMode(slug);
303
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "body", { className: _chunkCJXIPSTGcjs.cn.call(void 0, mode, className), children });
304
+ }
305
+
306
+ // src/components/layout/comingsoon.tsx
307
+
308
+ function ComingSoon({ className, title, description }) {
309
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "h-[calc(100vh-54px)] w-full overflow-hidden", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
310
+ _chunkZBO5IAMAcjs.HoverBackground,
311
+ {
312
+ colors: {
313
+ background: "bg-gradient-to-br from-black via-gray-900 to-zinc-900",
314
+ objects: [
315
+ "bg-emerald-500/30",
316
+ "bg-teal-500/30",
317
+ "bg-green-500/30",
318
+ "bg-lime-500/30",
319
+ "bg-cyan-500/30",
320
+ "bg-blue-500/30"
321
+ ],
322
+ glow: "shadow-emerald-400/70"
323
+ },
324
+ objectCount: 8,
325
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center justify-center space-y-4 text-center", children: [
326
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-bold text-4xl text-white/90", children: title }),
327
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "max-w-md text-emerald-100/80 text-lg", children: description })
328
+ ] })
329
+ }
330
+ ) });
331
+ }
332
+
333
+ // src/components/layout/error.tsx
334
+
335
+ function ErrorComponents({
336
+ className,
337
+ type = "default",
338
+ textTitle,
339
+ textSubtitle,
340
+ button
341
+ }) {
342
+ if (type === "404") {
343
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex h-[95%] grow flex-col items-center justify-center", className), children: [
344
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-10", children: [
345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
346
+ "img",
347
+ {
348
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/19.svg"),
349
+ className: "max-h-40 dark:hidden",
350
+ alt: "illustrations"
351
+ }
352
+ ),
353
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
354
+ "img",
355
+ {
356
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/19-dark.svg"),
357
+ className: "hidden max-h-40 dark:block",
358
+ alt: "illustrations"
359
+ }
360
+ )
361
+ ] }),
362
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.Badge, { variant: "destructive", appearance: "outline", className: "mb-3", children: "404 Error" }),
363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-2 text-center font-semibold text-2xl text-foreground", children: textTitle }),
364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-10 text-center text-base text-secondary-foreground", children: textSubtitle })
365
+ ] });
366
+ }
367
+ if (type === "500") {
368
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex h-[95%] grow flex-col items-center justify-center", className), children: [
369
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-10", children: [
370
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
371
+ "img",
372
+ {
373
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/20.svg"),
374
+ className: "max-h-40 dark:hidden",
375
+ alt: "illustrations"
376
+ }
377
+ ),
378
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
379
+ "img",
380
+ {
381
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/20-dark.svg"),
382
+ className: "hidden max-h-40 dark:block",
383
+ alt: "illustrations"
384
+ }
385
+ )
386
+ ] }),
387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.Badge, { variant: "destructive", appearance: "outline", className: "mb-3", children: "500 Error" }),
388
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-2 text-center font-semibold text-2xl text-foreground", children: textTitle }),
389
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-10 text-center text-base text-secondary-foreground", children: textSubtitle }),
390
+ button
391
+ ] });
392
+ }
393
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex h-[95%] grow flex-col items-center justify-center", className), children: [
394
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-10", children: [
395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
396
+ "img",
397
+ {
398
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/29.svg"),
399
+ className: "max-h-40 dark:hidden",
400
+ alt: "illustrations"
401
+ }
402
+ ),
403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
404
+ "img",
405
+ {
406
+ src: _chunkWI36EFUScjs.getAssetsUrl.call(void 0, "media/illustrations/29-dark.svg"),
407
+ className: "hidden max-h-40 dark:block",
408
+ alt: "illustrations"
409
+ }
410
+ )
411
+ ] }),
412
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-2 text-center font-semibold text-2xl text-foreground", children: textTitle }),
413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-10 text-center text-base text-secondary-foreground", children: textSubtitle })
414
+ ] });
415
+ }
416
+
251
417
  // src/components/layout/section.tsx
252
418
 
253
419
 
@@ -315,7 +481,7 @@ function SiteHeader({ className, children }) {
315
481
  "header",
316
482
  {
317
483
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
318
- "sticky top-0 z-50 w-full border-border border-b bg-background/95 backdrop-blur-sm supports-backdrop-filter:bg-background/60 dark:border-border",
484
+ "sticky top-0 z-50 w-full border-border border-b bg-background/95 backdrop-blur-sm supports-backdrop-filter:bg-background/60",
319
485
  className
320
486
  ),
321
487
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "container flex h-16 items-center justify-between gap-4", children })
@@ -477,7 +643,7 @@ function CommandMenu({
477
643
  setOpen((currentOpen) => {
478
644
  const newState = !currentOpen;
479
645
  if (newState) {
480
- _chunkKNS6QRVBcjs.googleTrackEvent.call(void 0, {
646
+ _chunkWI36EFUScjs.googleTrackEvent.call(void 0, {
481
647
  name: "site_header_search_trigger_shortcut",
482
648
  properties: {
483
649
  method: e.key === "/" ? "slash" : "cmd_k",
@@ -495,7 +661,7 @@ function CommandMenu({
495
661
  return () => document.removeEventListener("keydown", handleKeyDown);
496
662
  }, []);
497
663
  const handleButtonClick = React.useCallback(() => {
498
- _chunkKNS6QRVBcjs.googleTrackEvent.call(void 0, {
664
+ _chunkWI36EFUScjs.googleTrackEvent.call(void 0, {
499
665
  name: "site_header_search_trigger_click",
500
666
  properties: {
501
667
  method: "button_click",
@@ -535,7 +701,7 @@ function CommandMenu({
535
701
  }
536
702
  ),
537
703
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
538
- _chunkDBE4IGCPcjs.CommandDialog,
704
+ _chunkHILACSFAcjs.CommandDialog,
539
705
  {
540
706
  open,
541
707
  onOpenChange: setOpen,
@@ -544,8 +710,8 @@ function CommandMenu({
544
710
  classDialog
545
711
  ),
546
712
  children: [
547
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.CommandInput, { placeholder: commandInputPlaceholder, "aria-label": "Search commands" }),
548
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.CommandList, { children })
713
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.CommandInput, { placeholder: commandInputPlaceholder, "aria-label": "Search commands" }),
714
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.CommandList, { children })
549
715
  ]
550
716
  }
551
717
  )
@@ -566,8 +732,8 @@ function NavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
566
732
  )]), () => ( false)))
567
733
  )]), () => ( false)) : item.href === pathname || item.href !== "/" && item.href && _optionalChain([pathname, 'optionalAccess', _12 => _12.startsWith, 'call', _13 => _13(item.href)]);
568
734
  if (hasChildren && level <= 3) {
569
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.DropdownMenu, { children: [
570
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
735
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.DropdownMenu, { children: [
736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
571
737
  "button",
572
738
  {
573
739
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
@@ -582,7 +748,7 @@ function NavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
582
748
  }
583
749
  ) }),
584
750
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
585
- _chunkDBE4IGCPcjs.DropdownMenuContent,
751
+ _chunkHILACSFAcjs.DropdownMenuContent,
586
752
  {
587
753
  className: "min-w-[150px] overflow-visible",
588
754
  side: "bottom",
@@ -626,9 +792,9 @@ function ChildNavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
626
792
  (grandchild) => grandchild.href === pathname || grandchild.href !== "/" && grandchild.href && _optionalChain([pathname, 'optionalAccess', _22 => _22.startsWith, 'call', _23 => _23(grandchild.href)])
627
793
  )]), () => ( false)));
628
794
  if (hasChildren && level <= 3) {
629
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.DropdownMenuSub, { children: [
795
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.DropdownMenuSub, { children: [
630
796
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
631
- _chunkDBE4IGCPcjs.DropdownMenuSubTrigger,
797
+ _chunkHILACSFAcjs.DropdownMenuSubTrigger,
632
798
  {
633
799
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
634
800
  "flex w-full items-center justify-between text-muted-foreground hover:text-foreground",
@@ -640,7 +806,7 @@ function ChildNavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
640
806
  ]
641
807
  }
642
808
  ),
643
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DropdownMenuSubContent, { className: "min-w-[150px]", children: _optionalChain([item, 'access', _24 => _24.children, 'optionalAccess', _25 => _25.map, 'call', _26 => _26((child) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
809
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuSubContent, { className: "min-w-[150px]", children: _optionalChain([item, 'access', _24 => _24.children, 'optionalAccess', _25 => _25.map, 'call', _26 => _26((child) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
644
810
  ChildNavItemRenderer,
645
811
  {
646
812
  item: child,
@@ -651,7 +817,7 @@ function ChildNavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
651
817
  ))]) })
652
818
  ] });
653
819
  }
654
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
820
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
655
821
  Link,
656
822
  {
657
823
  href: item.href || "",
@@ -670,7 +836,7 @@ function ChildNavItemRenderer({ Link = DefaultLink, item, pathname, level }) {
670
836
  ) });
671
837
  }
672
838
  function handleMenuClick(item) {
673
- _chunkKNS6QRVBcjs.googleTrackEvent.call(void 0, {
839
+ _chunkWI36EFUScjs.googleTrackEvent.call(void 0, {
674
840
  name: `site_header_menu_${item.title.toLowerCase().replace(/\s+/g, "_")}_link_click`,
675
841
  properties: {
676
842
  menu_item: item.title,
@@ -696,15 +862,15 @@ function MobileNav({ children, className }) {
696
862
  },
697
863
  [setMetaColor, metaColor]
698
864
  );
699
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex items-center gap-2.5 md:hidden", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Drawer, { open, onOpenChange, children: [
700
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DrawerTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXUKTDPNcjs.Button, { variant: "ghost", className: "group/toggle size-8 px-0 text-foreground", children: [
865
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex items-center gap-2.5 md:hidden", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Drawer, { open, onOpenChange, children: [
866
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DrawerTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXUKTDPNcjs.Button, { variant: "ghost", className: "group/toggle size-8 px-0 text-foreground", children: [
701
867
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Menu, {}),
702
868
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Toggle Menu" })
703
869
  ] }) }),
704
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.DrawerContent, { className: "max-h-[60svh] p-0", children: [
705
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DrawerTitle, { className: "sr-only", children: "Mobile menu" }),
870
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.DrawerContent, { className: "max-h-[60svh] p-0", children: [
871
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DrawerTitle, { className: "sr-only", children: "Mobile menu" }),
706
872
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-auto p-6", children }),
707
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.DrawerDescription, { className: "sr-only", children: "Mobile menu" })
873
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DrawerDescription, { className: "sr-only", children: "Mobile menu" })
708
874
  ] })
709
875
  ] }) });
710
876
  }
@@ -726,9 +892,9 @@ function MobileNavItemRenderer({
726
892
  )]), () => ( false)) : item.href === pathname || item.href !== "/" && item.href && _optionalChain([pathname, 'optionalAccess', _37 => _37.startsWith, 'call', _38 => _38(item.href)]);
727
893
  if (hasChildren && level <= 3) {
728
894
  console.log(item);
729
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Collapsible, { open: isOpen, onOpenChange: setIsOpen, children: [
895
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Collapsible, { open: isOpen, onOpenChange: setIsOpen, children: [
730
896
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
731
- _chunkDBE4IGCPcjs.CollapsibleTrigger,
897
+ _chunkHILACSFAcjs.CollapsibleTrigger,
732
898
  {
733
899
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
734
900
  "flex w-full cursor-pointer items-center gap-1 text-sm transition-colors",
@@ -749,7 +915,7 @@ function MobileNavItemRenderer({
749
915
  ]
750
916
  }
751
917
  ),
752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.CollapsibleContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex flex-col space-y-2.5 pt-3", `ps-5`), children: item.children.map((child) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
918
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.CollapsibleContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkCJXIPSTGcjs.cn.call(void 0, "flex flex-col space-y-2.5 pt-3", `ps-5`), children: item.children.map((child) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
753
919
  MobileNavItemRenderer,
754
920
  {
755
921
  item: child,
@@ -836,9 +1002,9 @@ var QueryProvider = ({ children }) => {
836
1002
  });
837
1003
  }
838
1004
  _sonner.toast.custom(
839
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", close: false, children: [
840
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
841
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: message })
1005
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", close: false, children: [
1006
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
1007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: message })
842
1008
  ] }),
843
1009
  {
844
1010
  position: "top-center",
@@ -870,7 +1036,7 @@ function ThemeProvider({ children, ...props }) {
870
1036
  storageKey: "theme",
871
1037
  themes: [_chunkI46SELBAcjs.THEME_MODES.LIGHT, _chunkI46SELBAcjs.THEME_MODES.DARK, _chunkI46SELBAcjs.THEME_MODES.SYSTEM],
872
1038
  ...props,
873
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.TooltipProvider, { delayDuration: 0, children })
1039
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.TooltipProvider, { delayDuration: 0, children })
874
1040
  }
875
1041
  );
876
1042
  }
@@ -883,7 +1049,7 @@ var Announcement = ({
883
1049
  className,
884
1050
  ...props
885
1051
  }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
886
- _chunkDBE4IGCPcjs.Badge,
1052
+ _chunkHILACSFAcjs.Badge,
887
1053
  {
888
1054
  variant,
889
1055
  className: _chunkCJXIPSTGcjs.cn.call(void 0,
@@ -1734,6 +1900,141 @@ var ImageInput = ({
1734
1900
  ] });
1735
1901
  };
1736
1902
 
1903
+ // src/components/ui/language-switcher.tsx
1904
+
1905
+
1906
+
1907
+ function LanguageSwitcher({
1908
+ className,
1909
+ type = "toggle",
1910
+ variant = "ghost",
1911
+ size = "md",
1912
+ showNames = true,
1913
+ showFlags = true,
1914
+ label = "Language",
1915
+ i18nEnabled = true,
1916
+ currentLocale,
1917
+ locales,
1918
+ onLocaleChange,
1919
+ // flagsBasePath = '/flags',
1920
+ Image: Image2 = DefaultImage
1921
+ }) {
1922
+ const [isPending, startTransition] = _react.useTransition.call(void 0, );
1923
+ const languages = _nullishCoalesce(locales, () => ( []));
1924
+ const currentLanguage = languages.find((l) => l.code === currentLocale);
1925
+ function handleLanguageChange(newLocale) {
1926
+ if (newLocale === currentLocale) return;
1927
+ startTransition(() => {
1928
+ const maybePromise = _optionalChain([onLocaleChange, 'optionalCall', _50 => _50(newLocale)]);
1929
+ return maybePromise;
1930
+ });
1931
+ }
1932
+ if (!i18nEnabled && (_nullishCoalesce(_optionalChain([languages, 'optionalAccess', _51 => _51.length]), () => ( 0))) <= 1) {
1933
+ return null;
1934
+ }
1935
+ if (type === "toggle") {
1936
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.DropdownMenu, { children: [
1937
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1938
+ _chunkBXUKTDPNcjs.Button,
1939
+ {
1940
+ variant,
1941
+ size,
1942
+ className: _chunkCJXIPSTGcjs.cn.call(void 0,
1943
+ "group/toggle size-8 px-0 text-foreground ring-0! focus:outline-none! focus:ring-0! focus-visible:outline-none! focus-visible:ring-0! focus-visible:ring-offset-0!",
1944
+ isPending && "cursor-not-allowed opacity-50",
1945
+ className
1946
+ ),
1947
+ disabled: isPending,
1948
+ children: [
1949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Languages, { className: "size-4" }),
1950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: isPending ? "Changing language..." : "Language dropdown" })
1951
+ ]
1952
+ }
1953
+ ) }),
1954
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuContent, { align: "end", className: "min-w-[150px]", children: languages.map((lang) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1955
+ _chunkHILACSFAcjs.DropdownMenuItem,
1956
+ {
1957
+ onClick: () => handleLanguageChange(lang.code),
1958
+ className: _chunkCJXIPSTGcjs.cn.call(void 0, "gap-2", currentLocale === lang.code && "bg-accent"),
1959
+ children: [
1960
+ showFlags && lang.flag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1961
+ Image2,
1962
+ {
1963
+ src: _chunkWI36EFUScjs.getFlagUrl.call(void 0, lang.flag),
1964
+ alt: `${lang.name} flag`,
1965
+ className: "size-4 rounded-full object-cover",
1966
+ width: 24,
1967
+ height: 24
1968
+ }
1969
+ ) : showFlags ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Globe, { className: "size-4" }) : null,
1970
+ showNames && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: lang.name }),
1971
+ currentLocale === lang.code && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ms-auto text-muted-foreground text-xs", children: "\u2713" })
1972
+ ]
1973
+ },
1974
+ lang.code
1975
+ )) })
1976
+ ] });
1977
+ }
1978
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.DropdownMenuSub, { children: [
1979
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1980
+ _chunkHILACSFAcjs.DropdownMenuSubTrigger,
1981
+ {
1982
+ className: _chunkCJXIPSTGcjs.cn.call(void 0,
1983
+ "flex items-center gap-2 data-[state=open]:**:data-[slot=badge]:border-input **:data-[slot=dropdown-menu-sub-trigger-indicator]:hidden hover:**:data-[slot=badge]:border-input",
1984
+ className
1985
+ ),
1986
+ children: [
1987
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Globe, { className: "size-4" }),
1988
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative flex grow items-center justify-between gap-2", children: [
1989
+ label,
1990
+ currentLanguage && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Badge, { appearance: "outline", className: "-translate-y-1/2 absolute end-0 top-1/2", children: [
1991
+ currentLanguage.name,
1992
+ showFlags && currentLanguage.flag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1993
+ Image2,
1994
+ {
1995
+ src: _chunkWI36EFUScjs.getFlagUrl.call(void 0, currentLanguage.flag),
1996
+ alt: currentLanguage.name,
1997
+ className: "ms-1 size-3.5 rounded-full",
1998
+ width: 24,
1999
+ height: 24
2000
+ }
2001
+ )
2002
+ ] })
2003
+ ] })
2004
+ ]
2005
+ }
2006
+ ),
2007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.DropdownMenuSubContent, { className: "w-48", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2008
+ _chunkHILACSFAcjs.DropdownMenuRadioGroup,
2009
+ {
2010
+ value: currentLocale,
2011
+ onValueChange: (value) => handleLanguageChange(value),
2012
+ children: languages.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2013
+ _chunkHILACSFAcjs.DropdownMenuRadioItem,
2014
+ {
2015
+ value: item.code,
2016
+ className: "flex items-center gap-2",
2017
+ children: [
2018
+ showFlags && item.flag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2019
+ Image2,
2020
+ {
2021
+ src: _chunkWI36EFUScjs.getFlagUrl.call(void 0, item.flag),
2022
+ alt: `${item.name} flag`,
2023
+ className: "size-4 rounded-full object-cover",
2024
+ width: 24,
2025
+ height: 24
2026
+ }
2027
+ ) : showFlags ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Globe, { className: "size-4" }) : null,
2028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item.name })
2029
+ ]
2030
+ },
2031
+ item.code
2032
+ ))
2033
+ }
2034
+ ) })
2035
+ ] });
2036
+ }
2037
+
1737
2038
  // src/components/ui/logo.tsx
1738
2039
 
1739
2040
  function Logo({ className }) {
@@ -1763,7 +2064,13 @@ function ModeSwitcher({
1763
2064
  className,
1764
2065
  variant = "ghost",
1765
2066
  size = "md",
1766
- cycleOrder = [_chunkI46SELBAcjs.THEME_MODES.SYSTEM, _chunkI46SELBAcjs.THEME_MODES.LIGHT, _chunkI46SELBAcjs.THEME_MODES.DARK]
2067
+ cycleOrder = [_chunkI46SELBAcjs.THEME_MODES.SYSTEM, _chunkI46SELBAcjs.THEME_MODES.LIGHT, _chunkI46SELBAcjs.THEME_MODES.DARK],
2068
+ type = "toogle",
2069
+ label = {
2070
+ system: "System",
2071
+ dark: "Dark",
2072
+ light: "Light"
2073
+ }
1767
2074
  }) {
1768
2075
  const { setTheme, theme } = _nextthemes.useTheme.call(void 0, );
1769
2076
  const toggleTheme = React2.useCallback(() => {
@@ -1772,27 +2079,52 @@ function ModeSwitcher({
1772
2079
  const nextTheme = cycleOrder[nextIndex];
1773
2080
  setTheme(nextTheme);
1774
2081
  }, [theme, setTheme, cycleOrder]);
1775
- const getCurrentIcon = () => {
2082
+ const getCurrentIcon = (withLabel = false) => {
1776
2083
  if (theme === _chunkI46SELBAcjs.THEME_MODES.SYSTEM) {
1777
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Monitor, {});
2084
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2085
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Monitor, {}),
2086
+ " ",
2087
+ _nullishCoalesce(withLabel, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: label.system })))
2088
+ ] });
1778
2089
  }
1779
2090
  if (theme === _chunkI46SELBAcjs.THEME_MODES.DARK) {
1780
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Moon, {});
2091
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2092
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Moon, {}),
2093
+ " ",
2094
+ _nullishCoalesce(withLabel, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: label.dark })))
2095
+ ] });
1781
2096
  }
1782
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Sun, {});
2097
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2098
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Sun, {}),
2099
+ " ",
2100
+ _nullishCoalesce(withLabel, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: label.light })))
2101
+ ] });
1783
2102
  };
1784
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1785
- _chunkBXUKTDPNcjs.Button,
2103
+ if (type === "toogle") {
2104
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2105
+ _chunkBXUKTDPNcjs.Button,
2106
+ {
2107
+ variant,
2108
+ size,
2109
+ className: _chunkCJXIPSTGcjs.cn.call(void 0, "group/toggle size-8 px-0 text-foreground", className),
2110
+ onClick: toggleTheme,
2111
+ "aria-label": "Switch theme",
2112
+ children: [
2113
+ getCurrentIcon(),
2114
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Toggle theme" })
2115
+ ]
2116
+ }
2117
+ );
2118
+ }
2119
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2120
+ _chunkHILACSFAcjs.DropdownMenuItem,
1786
2121
  {
1787
- variant,
1788
- size,
1789
- className: _chunkCJXIPSTGcjs.cn.call(void 0, "group/toggle size-8 px-0 text-foreground", className),
1790
- onClick: toggleTheme,
1791
- "aria-label": "Switch theme",
1792
- children: [
1793
- getCurrentIcon(),
1794
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Toggle theme" })
1795
- ]
2122
+ className,
2123
+ onSelect: (e) => {
2124
+ e.preventDefault();
2125
+ toggleTheme();
2126
+ },
2127
+ children: getCurrentIcon(true)
1796
2128
  }
1797
2129
  );
1798
2130
  }
@@ -1862,14 +2194,14 @@ var MovingBorder = ({
1862
2194
  const pathRef = _react.useRef.call(void 0, null);
1863
2195
  const progress = _react2.useMotionValue.call(void 0, 0);
1864
2196
  _react2.useAnimationFrame.call(void 0, (time) => {
1865
- const length = _optionalChain([pathRef, 'access', _50 => _50.current, 'optionalAccess', _51 => _51.getTotalLength, 'call', _52 => _52()]);
2197
+ const length = _optionalChain([pathRef, 'access', _52 => _52.current, 'optionalAccess', _53 => _53.getTotalLength, 'call', _54 => _54()]);
1866
2198
  if (length) {
1867
2199
  const pxPerMillisecond = length / duration;
1868
2200
  progress.set(time * pxPerMillisecond % length);
1869
2201
  }
1870
2202
  });
1871
- const x = _react2.useTransform.call(void 0, progress, (val) => _optionalChain([pathRef, 'access', _53 => _53.current, 'optionalAccess', _54 => _54.getPointAtLength, 'call', _55 => _55(val), 'access', _56 => _56.x]));
1872
- const y = _react2.useTransform.call(void 0, progress, (val) => _optionalChain([pathRef, 'access', _57 => _57.current, 'optionalAccess', _58 => _58.getPointAtLength, 'call', _59 => _59(val), 'access', _60 => _60.y]));
2203
+ const x = _react2.useTransform.call(void 0, progress, (val) => _optionalChain([pathRef, 'access', _55 => _55.current, 'optionalAccess', _56 => _56.getPointAtLength, 'call', _57 => _57(val), 'access', _58 => _58.x]));
2204
+ const y = _react2.useTransform.call(void 0, progress, (val) => _optionalChain([pathRef, 'access', _59 => _59.current, 'optionalAccess', _60 => _60.getPointAtLength, 'call', _61 => _61(val), 'access', _62 => _62.y]));
1873
2205
  const transform = _react2.useMotionTemplate`translateX(${x}px) translateY(${y}px) translateX(-50%) translateY(-50%)`;
1874
2206
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1875
2207
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1933,9 +2265,9 @@ function RecaptchaPopover({
1933
2265
  const token = getToken();
1934
2266
  if (!token) {
1935
2267
  _sonner.toast.custom(
1936
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
1937
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
1938
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: "Please complete the reCAPTCHA verification." })
2268
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2270
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: "Please complete the reCAPTCHA verification." })
1939
2271
  ] }),
1940
2272
  {
1941
2273
  position: "top-center"
@@ -1947,9 +2279,9 @@ function RecaptchaPopover({
1947
2279
  } catch (error) {
1948
2280
  console.error("Error getting reCAPTCHA token:", error);
1949
2281
  _sonner.toast.custom(
1950
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
1951
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
1952
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: "Please complete the reCAPTCHA verification." })
2282
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2283
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2284
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: "Please complete the reCAPTCHA verification." })
1953
2285
  ] }),
1954
2286
  {
1955
2287
  position: "top-center"
@@ -2005,9 +2337,9 @@ function Subscribe({
2005
2337
  const validateEmail = () => {
2006
2338
  if (!email.match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)) {
2007
2339
  _sonner.toast.custom(
2008
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
2009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2010
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: invalidEmailMessage })
2340
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2341
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2342
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: invalidEmailMessage })
2011
2343
  ] }),
2012
2344
  {
2013
2345
  position: "top-center"
@@ -2028,9 +2360,9 @@ function Subscribe({
2028
2360
  const handleVerifiedSubmit = async (token) => {
2029
2361
  if (!token) {
2030
2362
  _sonner.toast.custom(
2031
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
2032
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: recaptchaMessage })
2363
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2365
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: recaptchaMessage })
2034
2366
  ] }),
2035
2367
  {
2036
2368
  position: "top-center"
@@ -2041,7 +2373,7 @@ function Subscribe({
2041
2373
  setLoading(true);
2042
2374
  setShowRecaptcha(false);
2043
2375
  try {
2044
- _chunkKNS6QRVBcjs.googleTrackEvent.call(void 0, {
2376
+ _chunkWI36EFUScjs.googleTrackEvent.call(void 0, {
2045
2377
  name: "site_newsletter_subscribe_submit",
2046
2378
  properties: {
2047
2379
  category: "conversion",
@@ -2060,15 +2392,15 @@ function Subscribe({
2060
2392
  const data = await res.json();
2061
2393
  if (res.ok) {
2062
2394
  _sonner.toast.custom(
2063
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "success", children: [
2064
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleCheck, {}) }),
2065
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: successMessage })
2395
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "success", children: [
2396
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleCheck, {}) }),
2397
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: successMessage })
2066
2398
  ] }),
2067
2399
  {
2068
2400
  position: "top-center"
2069
2401
  }
2070
2402
  );
2071
- _chunkKNS6QRVBcjs.googleTrackEvent.call(void 0, {
2403
+ _chunkWI36EFUScjs.googleTrackEvent.call(void 0, {
2072
2404
  name: "site_newsletter_subscribe_success",
2073
2405
  properties: {
2074
2406
  category: "conversion",
@@ -2079,9 +2411,9 @@ function Subscribe({
2079
2411
  setEmail("");
2080
2412
  } else {
2081
2413
  _sonner.toast.custom(
2082
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
2083
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2084
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: data.message || errorMessage })
2414
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2415
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2416
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: data.message || errorMessage })
2085
2417
  ] }),
2086
2418
  {
2087
2419
  position: "top-center"
@@ -2091,9 +2423,9 @@ function Subscribe({
2091
2423
  } catch (err) {
2092
2424
  console.error("Newsletter subscription error:", err);
2093
2425
  _sonner.toast.custom(
2094
- () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Alert, { variant: "mono", icon: "destructive", children: [
2095
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2096
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AlertTitle, { children: errorMessage })
2426
+ () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Alert, { variant: "mono", icon: "destructive", children: [
2427
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertIcon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleAlert, {}) }),
2428
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AlertTitle, { children: errorMessage })
2097
2429
  ] }),
2098
2430
  {
2099
2431
  position: "top-center"
@@ -2179,10 +2511,10 @@ var ToolbarActions = ({ children }) => {
2179
2511
  function UserAvatar({ className, indicator = false, src, alt }) {
2180
2512
  const name = _nullishCoalesce(alt, () => ( "User"));
2181
2513
  const initial = getInitials(name);
2182
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDBE4IGCPcjs.Avatar, { className, children: [
2183
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AvatarImage, { src: _nullishCoalesce(src, () => ( void 0)), alt: name }),
2184
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AvatarFallback, { children: initial }),
2185
- indicator && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AvatarIndicator, { className: "-end-2 -top-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDBE4IGCPcjs.AvatarStatus, { variant: "online", className: "size-2.5" }) })
2514
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHILACSFAcjs.Avatar, { className, children: [
2515
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AvatarImage, { src: _nullishCoalesce(src, () => ( void 0)), alt: name }),
2516
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AvatarFallback, { children: initial }),
2517
+ indicator && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AvatarIndicator, { className: "-end-2 -top-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHILACSFAcjs.AvatarStatus, { variant: "online", className: "size-2.5" }) })
2186
2518
  ] });
2187
2519
  }
2188
2520
  var getInitials = (name, count) => {
@@ -2270,4 +2602,9 @@ function SatoshiFontCSS() {
2270
2602
 
2271
2603
 
2272
2604
 
2273
- exports.AlertComingsoon = AlertComingsoon; exports.AlertNotification = AlertNotification; exports.AlertToast = AlertToast; exports.Announcement = Announcement; exports.AnnouncementTag = AnnouncementTag; exports.AnnouncementTitle = AnnouncementTitle; exports.BackLink = BackLink; exports.BackgroundPaths = BackgroundPaths; exports.Body = Body; exports.Book = Book; exports.CodeDisplay = CodeDisplay; exports.CommandMenu = CommandMenu; exports.ConfirmDismissDialog = ConfirmDismissDialog; exports.DEFAULT_DATA_URL_KEY = DEFAULT_DATA_URL_KEY; exports.DEFAULT_NULL_INDEX = DEFAULT_NULL_INDEX; exports.DefaultImage = DefaultImage; exports.DefaultLink = DefaultLink; exports.DefaultNavigate = DefaultNavigate; exports.DotsPattern = DotsPattern; exports.DownloadFile = DownloadFile; exports.ExtraLink = ExtraLink; exports.FloatingPaths = FloatingPaths; exports.Grid = Grid; exports.GridBackground = GridBackground; exports.Icons = Icons; exports.ImageInput = ImageInput; exports.Logo = Logo; exports.MainNav = MainNav; exports.MaxWidthWrapper = MaxWidthWrapper; exports.MobileNav = MobileNav; exports.MobileNavItemRenderer = MobileNavItemRenderer; exports.ModeSwitcher = ModeSwitcher; exports.MovingBorder = MovingBorder; exports.MovingLabel = MovingLabel; exports.QueryProvider = QueryProvider; exports.RecaptchaPopover = RecaptchaPopover; exports.SatoshiFontCSS = SatoshiFontCSS; exports.ScreenLoader = ScreenLoader; exports.Section = Section; exports.SiteFooter = SiteFooter; exports.SiteHeader = SiteHeader; exports.Stack = Stack; exports.Subscribe = Subscribe; exports.ThemeProvider = ThemeProvider; exports.Toolbar = Toolbar; exports.ToolbarActions = ToolbarActions; exports.ToolbarHeading = ToolbarHeading; exports.ToolbarTitle = ToolbarTitle; exports.UserAvatar = UserAvatar; exports.Video = Video; exports.Wrapper = Wrapper; exports.Youtube = Youtube; exports.cssFontFace = cssFontFace; exports.getAcceptTypeString = getAcceptTypeString; exports.getBase64 = getBase64; exports.getImage = getImage; exports.getInitials = getInitials; exports.getListFiles = getListFiles; exports.handleMenuClick = handleMenuClick; exports.openFileDialog = openFileDialog; exports.satoshiFontUrl = satoshiFontUrl;
2605
+
2606
+
2607
+
2608
+
2609
+
2610
+ exports.AlertComingsoon = AlertComingsoon; exports.AlertNotification = AlertNotification; exports.AlertToast = AlertToast; exports.Announcement = Announcement; exports.AnnouncementTag = AnnouncementTag; exports.AnnouncementTitle = AnnouncementTitle; exports.BackLink = BackLink; exports.BackgroundPaths = BackgroundPaths; exports.Body = Body; exports.Book = Book; exports.CodeDisplay = CodeDisplay; exports.ComingSoon = ComingSoon; exports.CommandMenu = CommandMenu; exports.ConfirmDismissDialog = ConfirmDismissDialog; exports.DEFAULT_DATA_URL_KEY = DEFAULT_DATA_URL_KEY; exports.DEFAULT_NULL_INDEX = DEFAULT_NULL_INDEX; exports.DefaultImage = DefaultImage; exports.DefaultLink = DefaultLink; exports.DefaultNavigate = DefaultNavigate; exports.DotsPattern = DotsPattern; exports.DownloadFile = DownloadFile; exports.ErrorComponents = ErrorComponents; exports.ExtraLink = ExtraLink; exports.FloatingPaths = FloatingPaths; exports.Grid = Grid; exports.GridBackground = GridBackground; exports.Icons = Icons; exports.ImageInput = ImageInput; exports.LanguageSwitcher = LanguageSwitcher; exports.LayoutAuth = LayoutAuth; exports.LayoutBlank = LayoutBlank; exports.Logo = Logo; exports.MainNav = MainNav; exports.MaxWidthWrapper = MaxWidthWrapper; exports.MobileNav = MobileNav; exports.MobileNavItemRenderer = MobileNavItemRenderer; exports.ModeSwitcher = ModeSwitcher; exports.MovingBorder = MovingBorder; exports.MovingLabel = MovingLabel; exports.QueryProvider = QueryProvider; exports.RecaptchaPopover = RecaptchaPopover; exports.SatoshiFontCSS = SatoshiFontCSS; exports.ScreenLoader = ScreenLoader; exports.Section = Section; exports.SiteFooter = SiteFooter; exports.SiteHeader = SiteHeader; exports.Stack = Stack; exports.Subscribe = Subscribe; exports.ThemeProvider = ThemeProvider; exports.Toolbar = Toolbar; exports.ToolbarActions = ToolbarActions; exports.ToolbarHeading = ToolbarHeading; exports.ToolbarTitle = ToolbarTitle; exports.UserAvatar = UserAvatar; exports.Video = Video; exports.Wrapper = Wrapper; exports.Youtube = Youtube; exports.cssFontFace = cssFontFace; exports.getAcceptTypeString = getAcceptTypeString; exports.getBase64 = getBase64; exports.getImage = getImage; exports.getInitials = getInitials; exports.getListFiles = getListFiles; exports.handleMenuClick = handleMenuClick; exports.openFileDialog = openFileDialog; exports.satoshiFontUrl = satoshiFontUrl;