@caffeinebounce/ui 0.62.2 → 0.63.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 (122) hide show
  1. package/README.md +1 -1
  2. package/dist/blog.js +8 -6
  3. package/dist/blog.mjs +3 -1
  4. package/dist/charts.d.cts +1 -1
  5. package/dist/charts.d.ts +1 -1
  6. package/dist/{chunk-6DVWMJ3H.mjs → chunk-2EFVMX6V.mjs} +4 -3
  7. package/dist/chunk-33JR5SYE.js +1 -0
  8. package/dist/{chunk-OZZWDIOY.js → chunk-375DECW4.js} +32 -31
  9. package/dist/chunk-3NDB4YPC.js +1 -0
  10. package/dist/{chunk-PZRI43EZ.js → chunk-46JYKBRX.js} +0 -43
  11. package/dist/chunk-5D55OVD5.js +75 -0
  12. package/dist/chunk-5RW4PYZ6.js +1 -0
  13. package/dist/chunk-5THF4YP6.mjs +1 -0
  14. package/dist/{chunk-JORVSG52.js → chunk-663CFAHS.js} +212 -269
  15. package/dist/chunk-6BUBNZPG.mjs +1 -0
  16. package/dist/chunk-6HKJDV43.mjs +48 -0
  17. package/dist/chunk-6NCRGHV3.mjs +64 -0
  18. package/dist/{chunk-OLAAXLXY.mjs → chunk-6QAKQG57.mjs} +5 -4
  19. package/dist/chunk-72JGQ7IJ.mjs +1 -0
  20. package/dist/{chunk-N6AFNFZR.mjs → chunk-7ERVZXIN.mjs} +215 -270
  21. package/dist/chunk-7IKHZKAC.js +1 -0
  22. package/dist/chunk-APFEP5B7.mjs +100 -0
  23. package/dist/chunk-C3OADNSG.js +348 -0
  24. package/dist/{chunk-RVEFPVZF.mjs → chunk-C57MX3BG.mjs} +1 -0
  25. package/dist/{chunk-CC4KUIKC.js → chunk-DH5Z3ETN.js} +67 -45
  26. package/dist/chunk-DYWZ23QT.mjs +90 -0
  27. package/dist/{chunk-KRRIRS6A.mjs → chunk-E67IR6HU.mjs} +31 -9
  28. package/dist/{chunk-D3QXPL47.mjs → chunk-EXQSWHLD.mjs} +7 -6
  29. package/dist/{chunk-ZOA7B32D.js → chunk-F35KL6TX.js} +10 -9
  30. package/dist/{chunk-YSLD2HLP.mjs → chunk-FFJC66KO.mjs} +2 -1
  31. package/dist/chunk-FRRS2YZH.mjs +1 -0
  32. package/dist/chunk-G5TQWWQA.mjs +1 -0
  33. package/dist/{chunk-MPZFPU4X.js → chunk-GMBLPQ3I.js} +4 -3
  34. package/dist/chunk-IJFPPLQW.js +50 -0
  35. package/dist/chunk-J6OLBSZR.js +1 -0
  36. package/dist/chunk-KGGQ5NZV.js +1 -0
  37. package/dist/chunk-KHCC5UKW.mjs +1 -0
  38. package/dist/{chunk-BMFQG6RA.mjs → chunk-KJIX6V32.mjs} +108 -1885
  39. package/dist/chunk-LABHD4PU.js +109 -0
  40. package/dist/chunk-LQCVRWVF.js +1 -0
  41. package/dist/{chunk-GAIQJCAZ.js → chunk-LT5VD4KR.js} +150 -1953
  42. package/dist/{chunk-7DHKQODW.mjs → chunk-LTLCIRZY.mjs} +257 -474
  43. package/dist/chunk-N5BHXWR3.mjs +34 -0
  44. package/dist/chunk-OCO3Z5YA.js +37 -0
  45. package/dist/chunk-OFQLWSUR.mjs +1 -0
  46. package/dist/chunk-OIJ7XMDV.mjs +71 -0
  47. package/dist/chunk-ORBH4IBC.mjs +316 -0
  48. package/dist/{chunk-C4UT5V3P.js → chunk-OWHI5VGJ.js} +1 -0
  49. package/dist/chunk-OWWOAYIY.js +2652 -0
  50. package/dist/chunk-PFHOXDSW.mjs +10 -0
  51. package/dist/chunk-Q52ZEL62.mjs +1 -0
  52. package/dist/chunk-QRS7DJGS.js +103 -0
  53. package/dist/chunk-R26Y7LGJ.js +1 -0
  54. package/dist/{chunk-BFWX5GJZ.mjs → chunk-R3X4B4JJ.mjs} +56 -8
  55. package/dist/chunk-RBUYW6QQ.js +1 -0
  56. package/dist/chunk-RM7ACPTM.mjs +2601 -0
  57. package/dist/chunk-RODSGPBB.mjs +75 -0
  58. package/dist/chunk-SORWLKOK.js +1 -0
  59. package/dist/{chunk-T6ZBA6VJ.js → chunk-UHAV34YX.js} +9 -8
  60. package/dist/{chunk-GUSTCU2W.mjs → chunk-ULANYJ7Y.mjs} +1 -59
  61. package/dist/chunk-ULDE7QSN.js +70 -0
  62. package/dist/chunk-UT36VNVZ.mjs +47 -0
  63. package/dist/chunk-UY3H4PKB.js +71 -0
  64. package/dist/{chunk-KB7UXIQZ.mjs → chunk-VIVWFQG5.mjs} +3 -1
  65. package/dist/{chunk-ESZ7CBA2.js → chunk-VKBJ3SGT.js} +7 -5
  66. package/dist/{chunk-UM7WMXIU.js → chunk-W3YOQ5ZD.js} +265 -505
  67. package/dist/chunk-WOITB4JL.js +1 -0
  68. package/dist/{chunk-E42B4GSB.js → chunk-XGJL6DLV.js} +58 -7
  69. package/dist/chunk-YKZEKJMZ.mjs +1 -0
  70. package/dist/chunk-YRIBFIQ5.js +116 -0
  71. package/dist/chunk-ZFLZA7UP.mjs +1 -0
  72. package/dist/chunk-ZKUIUE7W.mjs +1 -0
  73. package/dist/chunk-ZWWJ3RRA.js +15 -0
  74. package/dist/data-grid.d.cts +241 -0
  75. package/dist/data-grid.d.ts +241 -0
  76. package/dist/data-grid.js +6486 -0
  77. package/dist/data-grid.mjs +6459 -0
  78. package/dist/data-table-CDQBo-Ve.d.ts +818 -0
  79. package/dist/data-table-jLzt6plY.d.cts +818 -0
  80. package/dist/data-table.d.cts +8 -42
  81. package/dist/data-table.d.ts +8 -42
  82. package/dist/data-table.js +61 -187
  83. package/dist/data-table.mjs +11 -5
  84. package/dist/finance.d.cts +534 -0
  85. package/dist/finance.d.ts +534 -0
  86. package/dist/finance.js +188 -0
  87. package/dist/finance.mjs +15 -0
  88. package/dist/forms.js +9 -6
  89. package/dist/forms.mjs +7 -4
  90. package/dist/{hooks-B2jU1GVT.d.ts → hooks-A55E0fgf.d.ts} +3 -2
  91. package/dist/{hooks-8ORd7T1A.d.cts → hooks-Bys_AZPI.d.cts} +3 -2
  92. package/dist/hooks.d.cts +1 -1
  93. package/dist/hooks.d.ts +1 -1
  94. package/dist/hooks.js +26 -23
  95. package/dist/hooks.mjs +6 -3
  96. package/dist/index.d.cts +536 -665
  97. package/dist/index.d.ts +536 -665
  98. package/dist/index.js +3830 -3408
  99. package/dist/index.mjs +2068 -1767
  100. package/dist/layouts.js +26 -25
  101. package/dist/layouts.mjs +5 -4
  102. package/dist/marketing-3d.js +1 -0
  103. package/dist/marketing-3d.mjs +1 -0
  104. package/dist/marketing.js +75 -74
  105. package/dist/marketing.mjs +5 -4
  106. package/dist/media.js +1 -0
  107. package/dist/media.mjs +1 -0
  108. package/dist/navigation.js +29 -28
  109. package/dist/navigation.mjs +7 -6
  110. package/dist/primitives.d.cts +72 -109
  111. package/dist/primitives.d.ts +72 -109
  112. package/dist/primitives.js +78 -72
  113. package/dist/primitives.mjs +8 -6
  114. package/dist/settings.js +9 -9
  115. package/dist/settings.mjs +4 -4
  116. package/package.json +21 -4
  117. package/dist/UnifiedTableControls-CG299y9h.d.ts +0 -1233
  118. package/dist/UnifiedTableControls-CIjRpNhy.d.cts +0 -1233
  119. package/dist/chunk-GMBGWOCR.mjs +0 -48
  120. package/dist/chunk-HBLKVQIQ.mjs +0 -23
  121. package/dist/chunk-HMAMMC72.js +0 -26
  122. package/dist/chunk-MVYRNJA6.js +0 -74
@@ -0,0 +1,90 @@
1
+ "use client";
2
+ import { cn } from './chunk-IMKLN273.mjs';
3
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function Tabs({
8
+ className,
9
+ orientation = "horizontal",
10
+ ...props
11
+ }) {
12
+ return /* @__PURE__ */ jsx(
13
+ TabsPrimitive.Root,
14
+ {
15
+ "data-slot": "tabs",
16
+ "data-orientation": orientation,
17
+ orientation,
18
+ className: cn(
19
+ "group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ var tabsListVariants = cva(
27
+ "group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",
28
+ {
29
+ variants: {
30
+ variant: {
31
+ default: "bg-muted",
32
+ line: "gap-1 bg-transparent"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ variant: "default"
37
+ }
38
+ }
39
+ );
40
+ function TabsList({
41
+ className,
42
+ // Local change over shadcn: consumers were built on the underline look, so
43
+ // "line" stays the default; pass variant="default" for the upstream pill.
44
+ variant = "line",
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsx(
48
+ TabsPrimitive.List,
49
+ {
50
+ "data-slot": "tabs-list",
51
+ "data-variant": variant,
52
+ className: cn(tabsListVariants({ variant }), className),
53
+ ...props
54
+ }
55
+ );
56
+ }
57
+ function TabsTrigger({
58
+ className,
59
+ ...props
60
+ }) {
61
+ return /* @__PURE__ */ jsx(
62
+ TabsPrimitive.Trigger,
63
+ {
64
+ "data-slot": "tabs-trigger",
65
+ className: cn(
66
+ "relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
67
+ "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent",
68
+ "data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground",
69
+ "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",
70
+ className
71
+ ),
72
+ ...props
73
+ }
74
+ );
75
+ }
76
+ function TabsContent({
77
+ className,
78
+ ...props
79
+ }) {
80
+ return /* @__PURE__ */ jsx(
81
+ TabsPrimitive.Content,
82
+ {
83
+ "data-slot": "tabs-content",
84
+ className: cn("flex-1 outline-none", className),
85
+ ...props
86
+ }
87
+ );
88
+ }
89
+
90
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
@@ -1,6 +1,7 @@
1
- import { Tabs, TabsList, TabsTrigger, TabsContent } from './chunk-GMBGWOCR.mjs';
2
- import { SidebarTrigger, Sidebar, SidebarHeader, SidebarContent, SidebarSeparator, SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarGroupLabel, SidebarFooter, UserAvatarMenu, Avatar, AvatarImage, AvatarFallback, SidebarRail, useSidebar, SidebarProvider, SidebarInset, KeyboardShortcut } from './chunk-BFWX5GJZ.mjs';
3
- import { Spinner } from './chunk-HBLKVQIQ.mjs';
1
+ "use client";
2
+ import { SidebarTrigger, Sidebar, SidebarHeader, SidebarContent, SidebarSeparator, SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarGroupLabel, SidebarFooter, UserAvatarMenu, Avatar, AvatarImage, AvatarFallback, SidebarRail, useSidebar, SidebarProvider, SidebarInset, KeyboardShortcut } from './chunk-R3X4B4JJ.mjs';
3
+ import { Tabs, TabsList, TabsTrigger, TabsContent } from './chunk-DYWZ23QT.mjs';
4
+ import { SizedSpinner } from './chunk-N5BHXWR3.mjs';
4
5
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from './chunk-OFQLWSUR.mjs';
5
6
  import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
6
7
  import { getAvatarGradient } from './chunk-MHZXUOGN.mjs';
@@ -9,7 +10,7 @@ import { normalizeMicrosoftClarityProjectId, getMicrosoftClarityScriptUrl, norma
9
10
  import * as React from 'react';
10
11
  import { useEffect, useState, useCallback, useMemo, useRef } from 'react';
11
12
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
12
- import { ArrowLeft, Monitor, Sun, Moon, CircleHelp, Info, LogOut, ChevronDown, ChevronUp, User, Home, ChevronRight, Search, X, History, Link2 as Link2$1, Loader2, Check, Clock, AlertCircle } from 'lucide-react';
13
+ import { ArrowLeft, Monitor, Sun, Moon, CircleHelp, Info, LogOut, ChevronDown, ChevronUp, User, Home, ChevronRight, Search, X, History, Link2 as Link2$1, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon, Loader2, Check, Clock, AlertCircle } from 'lucide-react';
13
14
  import Link2 from 'next/link';
14
15
  import { useTheme as useTheme$1 } from 'next-themes';
15
16
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
@@ -756,7 +757,7 @@ function AppSidebar({
756
757
  return null;
757
758
  }) }),
758
759
  /* @__PURE__ */ jsx(SidebarFooter, { children: userLoading ? /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-2 py-1.5", children: [
759
- /* @__PURE__ */ jsx(Spinner, { size: "sm" }),
760
+ /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }),
760
761
  /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "Loading..." })
761
762
  ] }) }) }) : user ? /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(
762
763
  UserAvatarMenu,
@@ -843,7 +844,7 @@ function FloatingUserMenu({
843
844
  }, [menuItems, onSignOut]);
844
845
  if (!isMobile) return null;
845
846
  if (loading) {
846
- return /* @__PURE__ */ jsx("div", { className: "fixed bottom-2 left-2 z-50 flex h-8 w-8 items-center justify-center rounded-full bg-background shadow-md border", children: /* @__PURE__ */ jsx(Spinner, { size: "sm" }) });
847
+ return /* @__PURE__ */ jsx("div", { className: "fixed bottom-2 left-2 z-50 flex h-8 w-8 items-center justify-center rounded-full bg-background shadow-md border", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }) });
847
848
  }
848
849
  if (!user) return null;
849
850
  const displayName = user.name || user.email || "User";
@@ -1466,9 +1467,30 @@ function MarketingLayout({
1466
1467
  footer
1467
1468
  ] });
1468
1469
  }
1469
- function Toaster({ ...props }) {
1470
- return /* @__PURE__ */ jsx(Toaster$1, { ...props });
1471
- }
1470
+ var Toaster = ({ ...props }) => {
1471
+ const { theme = "system" } = useTheme$1();
1472
+ return /* @__PURE__ */ jsx(
1473
+ Toaster$1,
1474
+ {
1475
+ theme,
1476
+ className: "toaster group",
1477
+ icons: {
1478
+ success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
1479
+ info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
1480
+ warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
1481
+ error: /* @__PURE__ */ jsx(OctagonXIcon, { className: "size-4" }),
1482
+ loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
1483
+ },
1484
+ style: {
1485
+ "--normal-bg": "var(--popover)",
1486
+ "--normal-text": "var(--popover-foreground)",
1487
+ "--normal-border": "var(--border)",
1488
+ "--border-radius": "var(--radius)"
1489
+ },
1490
+ ...props
1491
+ }
1492
+ );
1493
+ };
1472
1494
  var themeScript = `
1473
1495
  (function() {
1474
1496
  try {
@@ -1,10 +1,11 @@
1
+ "use client";
1
2
  import { NewsletterSignup } from './chunk-ZFLZA7UP.mjs';
2
- import { Container } from './chunk-RVEFPVZF.mjs';
3
- import { SidebarMenu, SidebarMenuItem, SidebarMenuButton, KeyboardShortcut, useSidebar, Avatar, AvatarImage, AvatarFallback, UserAvatarMenu } from './chunk-BFWX5GJZ.mjs';
4
- import { Separator } from './chunk-ZKUIUE7W.mjs';
5
- import { Spinner } from './chunk-HBLKVQIQ.mjs';
6
3
  import { useScrollDirection } from './chunk-G5TQWWQA.mjs';
4
+ import { Container } from './chunk-C57MX3BG.mjs';
7
5
  import { Button } from './chunk-VBD4Q5LL.mjs';
6
+ import { SidebarMenu, SidebarMenuItem, SidebarMenuButton, KeyboardShortcut, useSidebar, Avatar, AvatarImage, AvatarFallback, UserAvatarMenu } from './chunk-R3X4B4JJ.mjs';
7
+ import { Separator } from './chunk-ZKUIUE7W.mjs';
8
+ import { SizedSpinner } from './chunk-N5BHXWR3.mjs';
8
9
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from './chunk-OFQLWSUR.mjs';
9
10
  import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
10
11
  import { Input } from './chunk-STEP6C4C.mjs';
@@ -393,7 +394,7 @@ function EntitySwitcher({
393
394
  }, [handleKeyDown, enableKeyboardShortcuts]);
394
395
  if (loading) {
395
396
  return /* @__PURE__ */ jsx(SidebarMenu, { className, children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(SidebarMenuButton, { size: "lg", disabled: true, children: [
396
- /* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center", children: /* @__PURE__ */ jsx(Spinner, { size: "sm" }) }),
397
+ /* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }) }),
397
398
  /* @__PURE__ */ jsx("div", { className: "grid min-w-0 flex-1 text-left text-sm leading-tight group-data-[collapsible=icon]:hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate text-muted-foreground", children: "Loading..." }) })
398
399
  ] }) }) });
399
400
  }
@@ -1449,7 +1450,7 @@ function NavbarUserMenu({
1449
1450
  return items;
1450
1451
  }, [additionalItems, onSignOut]);
1451
1452
  if (loading) {
1452
- return /* @__PURE__ */ jsx("div", { className: "inline-flex h-8 w-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(Spinner, { size: "sm" }) });
1453
+ return /* @__PURE__ */ jsx("div", { className: "inline-flex h-8 w-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }) });
1453
1454
  }
1454
1455
  const metadata = user.metadata || {};
1455
1456
  const avatarUrl = profile?.avatarUrl || profile?.avatar_url || metadata.picture || metadata.avatar_url;
@@ -1,11 +1,12 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
4
+ var chunkOWHI5VGJ_js = require('./chunk-OWHI5VGJ.js');
3
5
  var chunkEYJJQVV4_js = require('./chunk-EYJJQVV4.js');
4
6
  var chunk33JR5SYE_js = require('./chunk-33JR5SYE.js');
5
- var chunkMVYRNJA6_js = require('./chunk-MVYRNJA6.js');
6
- var chunkC4UT5V3P_js = require('./chunk-C4UT5V3P.js');
7
- var chunkHMAMMC72_js = require('./chunk-HMAMMC72.js');
8
7
  var chunk6TGV2DNP_js = require('./chunk-6TGV2DNP.js');
8
+ var chunkYRIBFIQ5_js = require('./chunk-YRIBFIQ5.js');
9
+ var chunkOCO3Z5YA_js = require('./chunk-OCO3Z5YA.js');
9
10
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
10
11
  var lucideReact = require('lucide-react');
11
12
  var Link = require('next/link');
@@ -80,9 +81,9 @@ function SettingsTabContent({
80
81
  children
81
82
  }) {
82
83
  if (loading) {
83
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMVYRNJA6_js.TabsContent, { value: tabId, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center min-h-[300px]", children: /* @__PURE__ */ jsxRuntime.jsx(chunkHMAMMC72_js.Spinner, { size: "lg" }) }) });
84
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkYRIBFIQ5_js.TabsContent, { value: tabId, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center min-h-[300px]", children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCO3Z5YA_js.SizedSpinner, { size: "lg" }) }) });
84
85
  }
85
- return /* @__PURE__ */ jsxRuntime.jsx(chunkMVYRNJA6_js.TabsContent, { value: tabId, children });
86
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkYRIBFIQ5_js.TabsContent, { value: tabId, children });
86
87
  }
87
88
  function SettingsTabs({
88
89
  tabs,
@@ -116,7 +117,7 @@ function SettingsTabs({
116
117
  }
117
118
  };
118
119
  return /* @__PURE__ */ jsxRuntime.jsxs(
119
- chunkMVYRNJA6_js.Tabs,
120
+ chunkYRIBFIQ5_js.Tabs,
120
121
  {
121
122
  value: activeTab,
122
123
  onValueChange: handleTabChange,
@@ -124,7 +125,7 @@ function SettingsTabs({
124
125
  className: chunkADIDI7AJ_js.cn("space-y-6", className),
125
126
  children: [
126
127
  /* @__PURE__ */ jsxRuntime.jsx(
127
- chunkMVYRNJA6_js.TabsList,
128
+ chunkYRIBFIQ5_js.TabsList,
128
129
  {
129
130
  className: chunkADIDI7AJ_js.cn(
130
131
  orientation === "vertical" && "flex-col h-auto items-stretch justify-start"
@@ -132,7 +133,7 @@ function SettingsTabs({
132
133
  children: tabs.map((tab) => {
133
134
  const Icon = tab.icon;
134
135
  return /* @__PURE__ */ jsxRuntime.jsxs(
135
- chunkMVYRNJA6_js.TabsTrigger,
136
+ chunkYRIBFIQ5_js.TabsTrigger,
136
137
  {
137
138
  value: tab.id,
138
139
  className: chunkADIDI7AJ_js.cn("gap-2", orientation === "vertical" && "w-full"),
@@ -167,7 +168,7 @@ function SettingsLayout({
167
168
  label: page.label,
168
169
  icon: page.icon
169
170
  }));
170
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkC4UT5V3P_js.Container, { size: containerSize, className, children: [
171
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkOWHI5VGJ_js.Container, { size: containerSize, className, children: [
171
172
  (title || description) && /* @__PURE__ */ jsxRuntime.jsx(PageHeader, { title, description, className: "mb-6" }),
172
173
  /* @__PURE__ */ jsxRuntime.jsx(
173
174
  SettingsTabs,
@@ -1,4 +1,5 @@
1
- import { useLocalStorage, useDebounce } from './chunk-KB7UXIQZ.mjs';
1
+ "use client";
2
+ import { useLocalStorage, useDebounce } from './chunk-VIVWFQG5.mjs';
2
3
  import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
3
4
  import { cn } from './chunk-IMKLN273.mjs';
4
5
  import { useErrorLoggerSafe } from '@caffeinebounce/logger/client';
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { cn } from './chunk-IMKLN273.mjs';
2
3
  import * as SheetPrimitive from '@radix-ui/react-dialog';
3
4
  import { cva } from 'class-variance-authority';
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useState, useRef, useCallback, useEffect } from 'react';
2
3
 
3
4
  // src/hooks/useScrollDirection.ts
@@ -1,6 +1,7 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
- var chunkESZ7CBA2_js = require('./chunk-ESZ7CBA2.js');
4
+ var chunkVKBJ3SGT_js = require('./chunk-VKBJ3SGT.js');
4
5
  var chunkSORWLKOK_js = require('./chunk-SORWLKOK.js');
5
6
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
6
7
  var client = require('@caffeinebounce/logger/client');
@@ -30,11 +31,11 @@ function FormWizard({
30
31
  const isFirstStep = currentStep === 0;
31
32
  const isLastStep = currentStep === totalSteps - 1;
32
33
  const { logError } = client.useErrorLoggerSafe();
33
- const [storedValue, setStoredValue, , isLoaded] = chunkESZ7CBA2_js.useLocalStorage(
34
+ const [storedValue, setStoredValue, , isLoaded] = chunkVKBJ3SGT_js.useLocalStorage(
34
35
  persistKey,
35
36
  null
36
37
  );
37
- const debouncedData = chunkESZ7CBA2_js.useDebounce(formData, 500);
38
+ const debouncedData = chunkVKBJ3SGT_js.useDebounce(formData, 500);
38
39
  const [hasRestored, setHasRestored] = react.useState(false);
39
40
  const isRestoring = react.useRef(false);
40
41
  const formDataRef = react.useRef(formData);
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ var badgeVariants = classVarianceAuthority.cva(
8
+ "inline-flex items-center border font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
13
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
14
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
15
+ outline: "text-foreground",
16
+ success: "border-transparent bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",
17
+ warning: "border-transparent bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400",
18
+ muted: "border-transparent bg-muted text-muted-foreground"
19
+ },
20
+ shape: {
21
+ pill: "rounded-full",
22
+ rounded: "rounded-md",
23
+ square: "rounded-none"
24
+ },
25
+ size: {
26
+ sm: "px-1 text-[9px]",
27
+ default: "px-1.5 text-[10px]",
28
+ lg: "px-2 py-0.5 text-xs"
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "default",
33
+ shape: "pill",
34
+ size: "default"
35
+ }
36
+ }
37
+ );
38
+ function Badge({ className, variant, shape, size, ...props }) {
39
+ return /* @__PURE__ */ jsxRuntime.jsx(
40
+ "div",
41
+ {
42
+ "data-slot": "badge",
43
+ className: chunkADIDI7AJ_js.cn(badgeVariants({ variant, shape, size }), className),
44
+ ...props
45
+ }
46
+ );
47
+ }
48
+
49
+ exports.Badge = Badge;
50
+ exports.badgeVariants = badgeVariants;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { cn } from './chunk-IMKLN273.mjs';
2
3
  import * as LabelPrimitive from '@radix-ui/react-label';
3
4
  import { jsx } from 'react/jsx-runtime';