@caffeinebounce/ui 0.62.3 → 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.
- package/README.md +1 -1
- package/dist/blog.js +7 -6
- package/dist/blog.mjs +2 -1
- package/dist/charts.d.cts +1 -1
- package/dist/charts.d.ts +1 -1
- package/dist/{chunk-6DVWMJ3H.mjs → chunk-2EFVMX6V.mjs} +3 -3
- package/dist/{chunk-6ZJCK6KH.js → chunk-375DECW4.js} +31 -31
- package/dist/{chunk-PZRI43EZ.js → chunk-46JYKBRX.js} +0 -43
- package/dist/chunk-5D55OVD5.js +75 -0
- package/dist/{chunk-JORVSG52.js → chunk-663CFAHS.js} +211 -269
- package/dist/chunk-6HKJDV43.mjs +48 -0
- package/dist/chunk-6NCRGHV3.mjs +64 -0
- package/dist/{chunk-OLAAXLXY.mjs → chunk-6QAKQG57.mjs} +4 -4
- package/dist/{chunk-N6AFNFZR.mjs → chunk-7ERVZXIN.mjs} +214 -270
- package/dist/chunk-APFEP5B7.mjs +100 -0
- package/dist/chunk-C3OADNSG.js +348 -0
- package/dist/{chunk-GIJQE3JR.js → chunk-DH5Z3ETN.js} +66 -45
- package/dist/chunk-DYWZ23QT.mjs +90 -0
- package/dist/{chunk-DTVWRRFN.mjs → chunk-E67IR6HU.mjs} +30 -9
- package/dist/{chunk-OVNLC5RD.mjs → chunk-EXQSWHLD.mjs} +6 -6
- package/dist/{chunk-ZOA7B32D.js → chunk-F35KL6TX.js} +9 -9
- package/dist/{chunk-YSLD2HLP.mjs → chunk-FFJC66KO.mjs} +1 -1
- package/dist/{chunk-MPZFPU4X.js → chunk-GMBLPQ3I.js} +3 -3
- package/dist/chunk-IJFPPLQW.js +50 -0
- package/dist/{chunk-BMFQG6RA.mjs → chunk-KJIX6V32.mjs} +107 -1885
- package/dist/chunk-LABHD4PU.js +109 -0
- package/dist/{chunk-GAIQJCAZ.js → chunk-LT5VD4KR.js} +149 -1953
- package/dist/{chunk-7DHKQODW.mjs → chunk-LTLCIRZY.mjs} +256 -474
- package/dist/chunk-N5BHXWR3.mjs +34 -0
- package/dist/chunk-OCO3Z5YA.js +37 -0
- package/dist/chunk-OIJ7XMDV.mjs +71 -0
- package/dist/chunk-ORBH4IBC.mjs +316 -0
- package/dist/chunk-OWWOAYIY.js +2652 -0
- package/dist/chunk-PFHOXDSW.mjs +10 -0
- package/dist/chunk-QRS7DJGS.js +103 -0
- package/dist/{chunk-NXPEJ2UR.mjs → chunk-R3X4B4JJ.mjs} +53 -6
- package/dist/chunk-RM7ACPTM.mjs +2601 -0
- package/dist/chunk-RODSGPBB.mjs +75 -0
- package/dist/{chunk-T6ZBA6VJ.js → chunk-UHAV34YX.js} +8 -8
- package/dist/{chunk-GUSTCU2W.mjs → chunk-ULANYJ7Y.mjs} +1 -59
- package/dist/chunk-ULDE7QSN.js +70 -0
- package/dist/chunk-UT36VNVZ.mjs +47 -0
- package/dist/chunk-UY3H4PKB.js +71 -0
- package/dist/{chunk-KB7UXIQZ.mjs → chunk-VIVWFQG5.mjs} +2 -1
- package/dist/{chunk-ESZ7CBA2.js → chunk-VKBJ3SGT.js} +6 -5
- package/dist/{chunk-UM7WMXIU.js → chunk-W3YOQ5ZD.js} +264 -505
- package/dist/{chunk-GHOFYK2E.js → chunk-XGJL6DLV.js} +55 -5
- package/dist/chunk-YRIBFIQ5.js +116 -0
- package/dist/chunk-ZWWJ3RRA.js +15 -0
- package/dist/data-grid.d.cts +241 -0
- package/dist/data-grid.d.ts +241 -0
- package/dist/data-grid.js +6486 -0
- package/dist/data-grid.mjs +6459 -0
- package/dist/data-table-CDQBo-Ve.d.ts +818 -0
- package/dist/data-table-jLzt6plY.d.cts +818 -0
- package/dist/data-table.d.cts +8 -42
- package/dist/data-table.d.ts +8 -42
- package/dist/data-table.js +61 -187
- package/dist/data-table.mjs +11 -5
- package/dist/finance.d.cts +534 -0
- package/dist/finance.d.ts +534 -0
- package/dist/finance.js +188 -0
- package/dist/finance.mjs +15 -0
- package/dist/forms.js +9 -6
- package/dist/forms.mjs +7 -4
- package/dist/{hooks-B2jU1GVT.d.ts → hooks-A55E0fgf.d.ts} +3 -2
- package/dist/{hooks-8ORd7T1A.d.cts → hooks-Bys_AZPI.d.cts} +3 -2
- package/dist/hooks.d.cts +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +26 -23
- package/dist/hooks.mjs +6 -3
- package/dist/index.d.cts +536 -665
- package/dist/index.d.ts +536 -665
- package/dist/index.js +3829 -3408
- package/dist/index.mjs +2067 -1767
- package/dist/layouts.js +25 -25
- package/dist/layouts.mjs +4 -4
- package/dist/marketing.js +74 -74
- package/dist/marketing.mjs +4 -4
- package/dist/navigation.js +28 -28
- package/dist/navigation.mjs +6 -6
- package/dist/primitives.d.cts +72 -109
- package/dist/primitives.d.ts +72 -109
- package/dist/primitives.js +78 -72
- package/dist/primitives.mjs +8 -6
- package/dist/settings.js +9 -9
- package/dist/settings.mjs +4 -4
- package/package.json +17 -1
- package/dist/UnifiedTableControls-CG299y9h.d.ts +0 -1233
- package/dist/UnifiedTableControls-CIjRpNhy.d.cts +0 -1233
- package/dist/chunk-GMBGWOCR.mjs +0 -49
- package/dist/chunk-HBLKVQIQ.mjs +0 -23
- package/dist/chunk-HMAMMC72.js +0 -26
- package/dist/chunk-MVYRNJA6.js +0 -75
- /package/dist/{chunk-RVEFPVZF.mjs → chunk-C57MX3BG.mjs} +0 -0
- /package/dist/{chunk-C4UT5V3P.js → chunk-OWHI5VGJ.js} +0 -0
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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';
|
|
5
5
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from './chunk-OFQLWSUR.mjs';
|
|
6
6
|
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
|
|
7
7
|
import { getAvatarGradient } from './chunk-MHZXUOGN.mjs';
|
|
@@ -10,7 +10,7 @@ import { normalizeMicrosoftClarityProjectId, getMicrosoftClarityScriptUrl, norma
|
|
|
10
10
|
import * as React from 'react';
|
|
11
11
|
import { useEffect, useState, useCallback, useMemo, useRef } from 'react';
|
|
12
12
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
13
|
-
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';
|
|
14
14
|
import Link2 from 'next/link';
|
|
15
15
|
import { useTheme as useTheme$1 } from 'next-themes';
|
|
16
16
|
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
@@ -757,7 +757,7 @@ function AppSidebar({
|
|
|
757
757
|
return null;
|
|
758
758
|
}) }),
|
|
759
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: [
|
|
760
|
-
/* @__PURE__ */ jsx(
|
|
760
|
+
/* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }),
|
|
761
761
|
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "Loading..." })
|
|
762
762
|
] }) }) }) : user ? /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(
|
|
763
763
|
UserAvatarMenu,
|
|
@@ -844,7 +844,7 @@ function FloatingUserMenu({
|
|
|
844
844
|
}, [menuItems, onSignOut]);
|
|
845
845
|
if (!isMobile) return null;
|
|
846
846
|
if (loading) {
|
|
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(
|
|
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" }) });
|
|
848
848
|
}
|
|
849
849
|
if (!user) return null;
|
|
850
850
|
const displayName = user.name || user.email || "User";
|
|
@@ -1467,9 +1467,30 @@ function MarketingLayout({
|
|
|
1467
1467
|
footer
|
|
1468
1468
|
] });
|
|
1469
1469
|
}
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
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
|
+
};
|
|
1473
1494
|
var themeScript = `
|
|
1474
1495
|
(function() {
|
|
1475
1496
|
try {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { NewsletterSignup } from './chunk-ZFLZA7UP.mjs';
|
|
3
|
-
import { Container } from './chunk-RVEFPVZF.mjs';
|
|
4
|
-
import { SidebarMenu, SidebarMenuItem, SidebarMenuButton, KeyboardShortcut, useSidebar, Avatar, AvatarImage, AvatarFallback, UserAvatarMenu } from './chunk-NXPEJ2UR.mjs';
|
|
5
|
-
import { Separator } from './chunk-ZKUIUE7W.mjs';
|
|
6
|
-
import { Spinner } from './chunk-HBLKVQIQ.mjs';
|
|
7
3
|
import { useScrollDirection } from './chunk-G5TQWWQA.mjs';
|
|
4
|
+
import { Container } from './chunk-C57MX3BG.mjs';
|
|
8
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';
|
|
9
9
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from './chunk-OFQLWSUR.mjs';
|
|
10
10
|
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
|
|
11
11
|
import { Input } from './chunk-STEP6C4C.mjs';
|
|
@@ -394,7 +394,7 @@ function EntitySwitcher({
|
|
|
394
394
|
}, [handleKeyDown, enableKeyboardShortcuts]);
|
|
395
395
|
if (loading) {
|
|
396
396
|
return /* @__PURE__ */ jsx(SidebarMenu, { className, children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(SidebarMenuButton, { size: "lg", disabled: true, children: [
|
|
397
|
-
/* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
397
|
+
/* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }) }),
|
|
398
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..." }) })
|
|
399
399
|
] }) }) });
|
|
400
400
|
}
|
|
@@ -1450,7 +1450,7 @@ function NavbarUserMenu({
|
|
|
1450
1450
|
return items;
|
|
1451
1451
|
}, [additionalItems, onSignOut]);
|
|
1452
1452
|
if (loading) {
|
|
1453
|
-
return /* @__PURE__ */ jsx("div", { className: "inline-flex h-8 w-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(
|
|
1453
|
+
return /* @__PURE__ */ jsx("div", { className: "inline-flex h-8 w-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "sm" }) });
|
|
1454
1454
|
}
|
|
1455
1455
|
const metadata = user.metadata || {};
|
|
1456
1456
|
const avatarUrl = profile?.avatarUrl || profile?.avatar_url || metadata.picture || metadata.avatar_url;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkOWHI5VGJ_js = require('./chunk-OWHI5VGJ.js');
|
|
4
5
|
var chunkEYJJQVV4_js = require('./chunk-EYJJQVV4.js');
|
|
5
6
|
var chunk33JR5SYE_js = require('./chunk-33JR5SYE.js');
|
|
6
|
-
var chunkMVYRNJA6_js = require('./chunk-MVYRNJA6.js');
|
|
7
|
-
var chunkC4UT5V3P_js = require('./chunk-C4UT5V3P.js');
|
|
8
|
-
var chunkHMAMMC72_js = require('./chunk-HMAMMC72.js');
|
|
9
7
|
var chunk6TGV2DNP_js = require('./chunk-6TGV2DNP.js');
|
|
8
|
+
var chunkYRIBFIQ5_js = require('./chunk-YRIBFIQ5.js');
|
|
9
|
+
var chunkOCO3Z5YA_js = require('./chunk-OCO3Z5YA.js');
|
|
10
10
|
var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
|
|
11
11
|
var lucideReact = require('lucide-react');
|
|
12
12
|
var Link = require('next/link');
|
|
@@ -81,9 +81,9 @@ function SettingsTabContent({
|
|
|
81
81
|
children
|
|
82
82
|
}) {
|
|
83
83
|
if (loading) {
|
|
84
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
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" }) }) });
|
|
85
85
|
}
|
|
86
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYRIBFIQ5_js.TabsContent, { value: tabId, children });
|
|
87
87
|
}
|
|
88
88
|
function SettingsTabs({
|
|
89
89
|
tabs,
|
|
@@ -117,7 +117,7 @@ function SettingsTabs({
|
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
120
|
-
|
|
120
|
+
chunkYRIBFIQ5_js.Tabs,
|
|
121
121
|
{
|
|
122
122
|
value: activeTab,
|
|
123
123
|
onValueChange: handleTabChange,
|
|
@@ -125,7 +125,7 @@ function SettingsTabs({
|
|
|
125
125
|
className: chunkADIDI7AJ_js.cn("space-y-6", className),
|
|
126
126
|
children: [
|
|
127
127
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
-
|
|
128
|
+
chunkYRIBFIQ5_js.TabsList,
|
|
129
129
|
{
|
|
130
130
|
className: chunkADIDI7AJ_js.cn(
|
|
131
131
|
orientation === "vertical" && "flex-col h-auto items-stretch justify-start"
|
|
@@ -133,7 +133,7 @@ function SettingsTabs({
|
|
|
133
133
|
children: tabs.map((tab) => {
|
|
134
134
|
const Icon = tab.icon;
|
|
135
135
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
136
|
-
|
|
136
|
+
chunkYRIBFIQ5_js.TabsTrigger,
|
|
137
137
|
{
|
|
138
138
|
value: tab.id,
|
|
139
139
|
className: chunkADIDI7AJ_js.cn("gap-2", orientation === "vertical" && "w-full"),
|
|
@@ -168,7 +168,7 @@ function SettingsLayout({
|
|
|
168
168
|
label: page.label,
|
|
169
169
|
icon: page.icon
|
|
170
170
|
}));
|
|
171
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
171
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkOWHI5VGJ_js.Container, { size: containerSize, className, children: [
|
|
172
172
|
(title || description) && /* @__PURE__ */ jsxRuntime.jsx(PageHeader, { title, description, className: "mb-6" }),
|
|
173
173
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
174
174
|
SettingsTabs,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useLocalStorage, useDebounce } from './chunk-
|
|
2
|
+
import { useLocalStorage, useDebounce } from './chunk-VIVWFQG5.mjs';
|
|
3
3
|
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-YKZEKJMZ.mjs';
|
|
4
4
|
import { cn } from './chunk-IMKLN273.mjs';
|
|
5
5
|
import { useErrorLoggerSafe } from '@caffeinebounce/logger/client';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkVKBJ3SGT_js = require('./chunk-VKBJ3SGT.js');
|
|
5
5
|
var chunkSORWLKOK_js = require('./chunk-SORWLKOK.js');
|
|
6
6
|
var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
|
|
7
7
|
var client = require('@caffeinebounce/logger/client');
|
|
@@ -31,11 +31,11 @@ function FormWizard({
|
|
|
31
31
|
const isFirstStep = currentStep === 0;
|
|
32
32
|
const isLastStep = currentStep === totalSteps - 1;
|
|
33
33
|
const { logError } = client.useErrorLoggerSafe();
|
|
34
|
-
const [storedValue, setStoredValue, , isLoaded] =
|
|
34
|
+
const [storedValue, setStoredValue, , isLoaded] = chunkVKBJ3SGT_js.useLocalStorage(
|
|
35
35
|
persistKey,
|
|
36
36
|
null
|
|
37
37
|
);
|
|
38
|
-
const debouncedData =
|
|
38
|
+
const debouncedData = chunkVKBJ3SGT_js.useDebounce(formData, 500);
|
|
39
39
|
const [hasRestored, setHasRestored] = react.useState(false);
|
|
40
40
|
const isRestoring = react.useRef(false);
|
|
41
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;
|