@backbay/glia 0.2.0-alpha.6 → 0.2.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/index.js +1145 -5
- package/dist/audio/index.js.map +1 -1
- package/dist/components/index.js +3187 -10
- package/dist/components/index.js.map +1 -1
- package/dist/core.js +19714 -12
- package/dist/core.js.map +1 -1
- package/dist/emotion/index.js +1 -1
- package/dist/emotion/index.js.map +1 -1
- package/dist/hooks/index.js +941 -6
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.js +31841 -183
- package/dist/index.js.map +1 -1
- package/dist/primitives/index.js +21111 -57
- package/dist/primitives/index.js.map +1 -1
- package/dist/protocol/index.js +360 -2
- package/dist/protocol/index.js.map +1 -1
- package/dist/speakeasy/index.js +2786 -38
- package/dist/speakeasy/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/index.js +1150 -3
- package/dist/theme/index.js.map +1 -1
- package/dist/vision/index.js +370 -2
- package/dist/vision/index.js.map +1 -1
- package/dist/workspace/index.js +16824 -2
- package/dist/workspace/index.js.map +1 -1
- package/package.json +16 -10
- package/dist/AuroraBackground-AP6ZHVFA.js +0 -6
- package/dist/AuroraBackground-AP6ZHVFA.js.map +0 -1
- package/dist/BentoGrid-CDARICNM.js +0 -6
- package/dist/BentoGrid-CDARICNM.js.map +0 -1
- package/dist/CommandPalette-JCWJKRBY.js +0 -6
- package/dist/CommandPalette-JCWJKRBY.js.map +0 -1
- package/dist/Glass-H4X4ZI4P.js +0 -7
- package/dist/Glass-H4X4ZI4P.js.map +0 -1
- package/dist/GlitchText-KLQ57PPY.js +0 -6
- package/dist/GlitchText-KLQ57PPY.js.map +0 -1
- package/dist/GlowButton-VGBPMZO7.js +0 -6
- package/dist/GlowButton-VGBPMZO7.js.map +0 -1
- package/dist/Graph3D-GO7N2EZQ.js +0 -540
- package/dist/Graph3D-GO7N2EZQ.js.map +0 -1
- package/dist/HUDProgressRing-N6C5NAEV.js +0 -6
- package/dist/HUDProgressRing-N6C5NAEV.js.map +0 -1
- package/dist/KPIStat-PBQK27ZB.js +0 -6
- package/dist/KPIStat-PBQK27ZB.js.map +0 -1
- package/dist/NeonToast-W5F7MU3U.js +0 -6
- package/dist/NeonToast-W5F7MU3U.js.map +0 -1
- package/dist/ParticleField-WK6CNHWU.js +0 -51
- package/dist/ParticleField-WK6CNHWU.js.map +0 -1
- package/dist/TextGenerateEffect-EUCEIIUJ.js +0 -6
- package/dist/TextGenerateEffect-EUCEIIUJ.js.map +0 -1
- package/dist/ThreeDCard-VH5I3SSY.js +0 -6
- package/dist/ThreeDCard-VH5I3SSY.js.map +0 -1
- package/dist/TypingAnimation-GIWOHPIX.js +0 -6
- package/dist/TypingAnimation-GIWOHPIX.js.map +0 -1
- package/dist/alert-dialog-QOSYBIIE.js +0 -19
- package/dist/alert-dialog-QOSYBIIE.js.map +0 -1
- package/dist/avatar-N5R37PCU.js +0 -10
- package/dist/avatar-N5R37PCU.js.map +0 -1
- package/dist/badge-GTVIIGPY.js +0 -8
- package/dist/badge-GTVIIGPY.js.map +0 -1
- package/dist/button-D7IMSV2D.js +0 -8
- package/dist/button-D7IMSV2D.js.map +0 -1
- package/dist/chunk-3CMPQOMY.js +0 -69
- package/dist/chunk-3CMPQOMY.js.map +0 -1
- package/dist/chunk-3OQT6IYR.js +0 -41
- package/dist/chunk-3OQT6IYR.js.map +0 -1
- package/dist/chunk-43B2WVLS.js +0 -85
- package/dist/chunk-43B2WVLS.js.map +0 -1
- package/dist/chunk-4SRFO5W3.js +0 -121
- package/dist/chunk-4SRFO5W3.js.map +0 -1
- package/dist/chunk-5IZELOOU.js +0 -362
- package/dist/chunk-5IZELOOU.js.map +0 -1
- package/dist/chunk-6DM4ACSS.js +0 -154
- package/dist/chunk-6DM4ACSS.js.map +0 -1
- package/dist/chunk-6IGT34PC.js +0 -50
- package/dist/chunk-6IGT34PC.js.map +0 -1
- package/dist/chunk-6RKBCJHN.js +0 -194
- package/dist/chunk-6RKBCJHN.js.map +0 -1
- package/dist/chunk-6RX2WGCO.js +0 -108
- package/dist/chunk-6RX2WGCO.js.map +0 -1
- package/dist/chunk-7K4WZM3U.js +0 -189
- package/dist/chunk-7K4WZM3U.js.map +0 -1
- package/dist/chunk-7MDBHJPT.js +0 -407
- package/dist/chunk-7MDBHJPT.js.map +0 -1
- package/dist/chunk-7UQD6ROV.js +0 -9
- package/dist/chunk-7UQD6ROV.js.map +0 -1
- package/dist/chunk-AFNIVLZP.js +0 -1069
- package/dist/chunk-AFNIVLZP.js.map +0 -1
- package/dist/chunk-ANWYRO6A.js +0 -407
- package/dist/chunk-ANWYRO6A.js.map +0 -1
- package/dist/chunk-DIXPOHDO.js +0 -71
- package/dist/chunk-DIXPOHDO.js.map +0 -1
- package/dist/chunk-DWYMKYPI.js +0 -3
- package/dist/chunk-DWYMKYPI.js.map +0 -1
- package/dist/chunk-E3NVDCZG.js +0 -280
- package/dist/chunk-E3NVDCZG.js.map +0 -1
- package/dist/chunk-EBM7YBKL.js +0 -399
- package/dist/chunk-EBM7YBKL.js.map +0 -1
- package/dist/chunk-EPAM7IWW.js +0 -294
- package/dist/chunk-EPAM7IWW.js.map +0 -1
- package/dist/chunk-EXQ7GYRS.js +0 -134
- package/dist/chunk-EXQ7GYRS.js.map +0 -1
- package/dist/chunk-F4QTUZ3C.js +0 -136
- package/dist/chunk-F4QTUZ3C.js.map +0 -1
- package/dist/chunk-FEW533R2.js +0 -105
- package/dist/chunk-FEW533R2.js.map +0 -1
- package/dist/chunk-FFZLJKC7.js +0 -270
- package/dist/chunk-FFZLJKC7.js.map +0 -1
- package/dist/chunk-GEAMOBF7.js +0 -8486
- package/dist/chunk-GEAMOBF7.js.map +0 -1
- package/dist/chunk-GRTRSCTD.js +0 -74
- package/dist/chunk-GRTRSCTD.js.map +0 -1
- package/dist/chunk-IKGYOGLK.js +0 -16
- package/dist/chunk-IKGYOGLK.js.map +0 -1
- package/dist/chunk-IQ7WYWVJ.js +0 -73
- package/dist/chunk-IQ7WYWVJ.js.map +0 -1
- package/dist/chunk-IXIVWQLF.js +0 -543
- package/dist/chunk-IXIVWQLF.js.map +0 -1
- package/dist/chunk-JCJU57RC.js +0 -115
- package/dist/chunk-JCJU57RC.js.map +0 -1
- package/dist/chunk-KORSTBU4.js +0 -117
- package/dist/chunk-KORSTBU4.js.map +0 -1
- package/dist/chunk-KSEZ6UM2.js +0 -235
- package/dist/chunk-KSEZ6UM2.js.map +0 -1
- package/dist/chunk-MHPF7R3O.js +0 -1376
- package/dist/chunk-MHPF7R3O.js.map +0 -1
- package/dist/chunk-MPC5IH7E.js +0 -81
- package/dist/chunk-MPC5IH7E.js.map +0 -1
- package/dist/chunk-MQIU2NYA.js +0 -114
- package/dist/chunk-MQIU2NYA.js.map +0 -1
- package/dist/chunk-NYMBJOGR.js +0 -2192
- package/dist/chunk-NYMBJOGR.js.map +0 -1
- package/dist/chunk-OBZD2M3C.js +0 -169
- package/dist/chunk-OBZD2M3C.js.map +0 -1
- package/dist/chunk-ODM2AG6G.js +0 -176
- package/dist/chunk-ODM2AG6G.js.map +0 -1
- package/dist/chunk-ONDKF5LP.js +0 -53
- package/dist/chunk-ONDKF5LP.js.map +0 -1
- package/dist/chunk-P25YCWQB.js +0 -41
- package/dist/chunk-P25YCWQB.js.map +0 -1
- package/dist/chunk-PFYVNM6H.js +0 -14
- package/dist/chunk-PFYVNM6H.js.map +0 -1
- package/dist/chunk-PWNNSGFL.js +0 -20
- package/dist/chunk-PWNNSGFL.js.map +0 -1
- package/dist/chunk-Q2PGZVOT.js +0 -36
- package/dist/chunk-Q2PGZVOT.js.map +0 -1
- package/dist/chunk-Q2XDMV7U.js +0 -76
- package/dist/chunk-Q2XDMV7U.js.map +0 -1
- package/dist/chunk-QG7FH2FI.js +0 -45
- package/dist/chunk-QG7FH2FI.js.map +0 -1
- package/dist/chunk-R7HUOK2D.js +0 -1914
- package/dist/chunk-R7HUOK2D.js.map +0 -1
- package/dist/chunk-REUYY7G5.js +0 -773
- package/dist/chunk-REUYY7G5.js.map +0 -1
- package/dist/chunk-RHC2Z2HT.js +0 -199
- package/dist/chunk-RHC2Z2HT.js.map +0 -1
- package/dist/chunk-RMCVLIFE.js +0 -23
- package/dist/chunk-RMCVLIFE.js.map +0 -1
- package/dist/chunk-ROZLTXGR.js +0 -234
- package/dist/chunk-ROZLTXGR.js.map +0 -1
- package/dist/chunk-RSS2C2O3.js +0 -17
- package/dist/chunk-RSS2C2O3.js.map +0 -1
- package/dist/chunk-SAGCG5SH.js +0 -355
- package/dist/chunk-SAGCG5SH.js.map +0 -1
- package/dist/chunk-TM6AOUSD.js +0 -40
- package/dist/chunk-TM6AOUSD.js.map +0 -1
- package/dist/chunk-TPK4BYCO.js +0 -970
- package/dist/chunk-TPK4BYCO.js.map +0 -1
- package/dist/chunk-UNQIL4K2.js +0 -34
- package/dist/chunk-UNQIL4K2.js.map +0 -1
- package/dist/chunk-UUG6L75Y.js +0 -47
- package/dist/chunk-UUG6L75Y.js.map +0 -1
- package/dist/chunk-V2SYMV4W.js +0 -114
- package/dist/chunk-V2SYMV4W.js.map +0 -1
- package/dist/chunk-V7EN5CTH.js +0 -130
- package/dist/chunk-V7EN5CTH.js.map +0 -1
- package/dist/chunk-VITKG2HL.js +0 -1125
- package/dist/chunk-VITKG2HL.js.map +0 -1
- package/dist/chunk-VYEWU5LO.js +0 -2631
- package/dist/chunk-VYEWU5LO.js.map +0 -1
- package/dist/chunk-W67QAGSH.js +0 -178
- package/dist/chunk-W67QAGSH.js.map +0 -1
- package/dist/chunk-WWBIN6KV.js +0 -1353
- package/dist/chunk-WWBIN6KV.js.map +0 -1
- package/dist/chunk-X77Z4PFB.js +0 -224
- package/dist/chunk-X77Z4PFB.js.map +0 -1
- package/dist/chunk-X7VG7OTT.js +0 -8
- package/dist/chunk-X7VG7OTT.js.map +0 -1
- package/dist/chunk-XE4K2SGI.js +0 -74
- package/dist/chunk-XE4K2SGI.js.map +0 -1
- package/dist/chunk-YIUG7IJK.js +0 -628
- package/dist/chunk-YIUG7IJK.js.map +0 -1
- package/dist/chunk-YNVN3V4Y.js +0 -13
- package/dist/chunk-YNVN3V4Y.js.map +0 -1
- package/dist/chunk-Z2S54IZX.js +0 -198
- package/dist/chunk-Z2S54IZX.js.map +0 -1
- package/dist/chunk-ZR6AH25Z.js +0 -17
- package/dist/chunk-ZR6AH25Z.js.map +0 -1
- package/dist/dialog-SPM3DTTI.js +0 -17
- package/dist/dialog-SPM3DTTI.js.map +0 -1
- package/dist/dropdown-menu-HMTWKWGK.js +0 -21
- package/dist/dropdown-menu-HMTWKWGK.js.map +0 -1
- package/dist/input-BH4P4S26.js +0 -6
- package/dist/input-BH4P4S26.js.map +0 -1
- package/dist/label-5Z4Q6VER.js +0 -8
- package/dist/label-5Z4Q6VER.js.map +0 -1
- package/dist/popover-IFOUXYLI.js +0 -18
- package/dist/popover-IFOUXYLI.js.map +0 -1
- package/dist/scroll-area-DJXNW6QX.js +0 -14
- package/dist/scroll-area-DJXNW6QX.js.map +0 -1
- package/dist/select-FZ277C3G.js +0 -22
- package/dist/select-FZ277C3G.js.map +0 -1
- package/dist/separator-BTMLN4NB.js +0 -8
- package/dist/separator-BTMLN4NB.js.map +0 -1
- package/dist/skeleton-DXIWBH4W.js +0 -6
- package/dist/skeleton-DXIWBH4W.js.map +0 -1
- package/dist/switch-4MCXIZBY.js +0 -13
- package/dist/switch-4MCXIZBY.js.map +0 -1
- package/dist/tabs-O7AW3APK.js +0 -17
- package/dist/tabs-O7AW3APK.js.map +0 -1
- package/dist/textarea-IB5WAFDO.js +0 -6
- package/dist/textarea-IB5WAFDO.js.map +0 -1
- package/dist/toggle-XVPPG6P4.js +0 -10
- package/dist/toggle-XVPPG6P4.js.map +0 -1
- package/dist/tooltip-JICZTD4F.js +0 -18
- package/dist/tooltip-JICZTD4F.js.map +0 -1
package/dist/chunk-JCJU57RC.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Root, Trigger, Portal, Close, Overlay, Content, Title, Description } from './chunk-EBM7YBKL.js';
|
|
2
|
-
import { cn } from './chunk-6RX2WGCO.js';
|
|
3
|
-
import { XIcon } from 'lucide-react';
|
|
4
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
function Dialog({ ...props }) {
|
|
7
|
-
return /* @__PURE__ */ jsx(Root, { "data-slot": "dialog", ...props });
|
|
8
|
-
}
|
|
9
|
-
function DialogTrigger({ ...props }) {
|
|
10
|
-
return /* @__PURE__ */ jsx(Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
11
|
-
}
|
|
12
|
-
function DialogPortal({ ...props }) {
|
|
13
|
-
return /* @__PURE__ */ jsx(Portal, { "data-slot": "dialog-portal", ...props });
|
|
14
|
-
}
|
|
15
|
-
function DialogClose({ ...props }) {
|
|
16
|
-
return /* @__PURE__ */ jsx(Close, { "data-slot": "dialog-close", ...props });
|
|
17
|
-
}
|
|
18
|
-
function DialogOverlay({
|
|
19
|
-
className,
|
|
20
|
-
...props
|
|
21
|
-
}) {
|
|
22
|
-
return /* @__PURE__ */ jsx(
|
|
23
|
-
Overlay,
|
|
24
|
-
{
|
|
25
|
-
"data-slot": "dialog-overlay",
|
|
26
|
-
className: cn(
|
|
27
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
28
|
-
className
|
|
29
|
-
),
|
|
30
|
-
...props
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
function DialogContent({
|
|
35
|
-
className,
|
|
36
|
-
children,
|
|
37
|
-
showCloseButton = true,
|
|
38
|
-
...props
|
|
39
|
-
}) {
|
|
40
|
-
return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
41
|
-
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
42
|
-
/* @__PURE__ */ jsxs(
|
|
43
|
-
Content,
|
|
44
|
-
{
|
|
45
|
-
"data-slot": "dialog-content",
|
|
46
|
-
className: cn(
|
|
47
|
-
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
48
|
-
className
|
|
49
|
-
),
|
|
50
|
-
...props,
|
|
51
|
-
children: [
|
|
52
|
-
children,
|
|
53
|
-
showCloseButton && /* @__PURE__ */ jsxs(
|
|
54
|
-
Close,
|
|
55
|
-
{
|
|
56
|
-
"data-slot": "dialog-close",
|
|
57
|
-
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
58
|
-
children: [
|
|
59
|
-
/* @__PURE__ */ jsx(XIcon, {}),
|
|
60
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
)
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
)
|
|
67
|
-
] });
|
|
68
|
-
}
|
|
69
|
-
function DialogHeader({ className, ...props }) {
|
|
70
|
-
return /* @__PURE__ */ jsx(
|
|
71
|
-
"div",
|
|
72
|
-
{
|
|
73
|
-
"data-slot": "dialog-header",
|
|
74
|
-
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
75
|
-
...props
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
function DialogFooter({ className, ...props }) {
|
|
80
|
-
return /* @__PURE__ */ jsx(
|
|
81
|
-
"div",
|
|
82
|
-
{
|
|
83
|
-
"data-slot": "dialog-footer",
|
|
84
|
-
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
85
|
-
...props
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
function DialogTitle({ className, ...props }) {
|
|
90
|
-
return /* @__PURE__ */ jsx(
|
|
91
|
-
Title,
|
|
92
|
-
{
|
|
93
|
-
"data-slot": "dialog-title",
|
|
94
|
-
className: cn("text-lg leading-none font-semibold", className),
|
|
95
|
-
...props
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
function DialogDescription({
|
|
100
|
-
className,
|
|
101
|
-
...props
|
|
102
|
-
}) {
|
|
103
|
-
return /* @__PURE__ */ jsx(
|
|
104
|
-
Description,
|
|
105
|
-
{
|
|
106
|
-
"data-slot": "dialog-description",
|
|
107
|
-
className: cn("text-muted-foreground text-sm", className),
|
|
108
|
-
...props
|
|
109
|
-
}
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
114
|
-
//# sourceMappingURL=chunk-JCJU57RC.js.map
|
|
115
|
-
//# sourceMappingURL=chunk-JCJU57RC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/primitives/ui/dialog.tsx"],"names":[],"mappings":"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","file":"chunk-JCJU57RC.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
package/dist/chunk-KORSTBU4.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-6RX2WGCO.js';
|
|
2
|
-
import React, { createContext, useRef, useState, useContext } from 'react';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
var MouseEnterContext = createContext(void 0);
|
|
6
|
-
var CardContainer = ({
|
|
7
|
-
children,
|
|
8
|
-
className,
|
|
9
|
-
containerClassName
|
|
10
|
-
}) => {
|
|
11
|
-
const containerRef = useRef(null);
|
|
12
|
-
const [isMouseEntered, setIsMouseEntered] = useState(false);
|
|
13
|
-
const handleMouseMove = (e) => {
|
|
14
|
-
if (!containerRef.current) return;
|
|
15
|
-
const { left, top, width, height } = containerRef.current.getBoundingClientRect();
|
|
16
|
-
const x = (e.clientX - left - width / 2) / 25;
|
|
17
|
-
const y = (e.clientY - top - height / 2) / 25;
|
|
18
|
-
containerRef.current.style.transform = `rotateY(${x}deg) rotateX(${y}deg)`;
|
|
19
|
-
};
|
|
20
|
-
const handleMouseEnter = () => {
|
|
21
|
-
setIsMouseEntered(true);
|
|
22
|
-
if (!containerRef.current) return;
|
|
23
|
-
};
|
|
24
|
-
const handleMouseLeave = () => {
|
|
25
|
-
if (!containerRef.current) return;
|
|
26
|
-
setIsMouseEntered(false);
|
|
27
|
-
containerRef.current.style.transform = `rotateY(0deg) rotateX(0deg)`;
|
|
28
|
-
};
|
|
29
|
-
return /* @__PURE__ */ jsx(MouseEnterContext.Provider, { value: [isMouseEntered, setIsMouseEntered], children: /* @__PURE__ */ jsx(
|
|
30
|
-
"div",
|
|
31
|
-
{
|
|
32
|
-
className: cn("flex items-center justify-center py-20", containerClassName),
|
|
33
|
-
style: {
|
|
34
|
-
perspective: "1000px"
|
|
35
|
-
},
|
|
36
|
-
children: /* @__PURE__ */ jsx(
|
|
37
|
-
"div",
|
|
38
|
-
{
|
|
39
|
-
ref: containerRef,
|
|
40
|
-
onMouseEnter: handleMouseEnter,
|
|
41
|
-
onMouseMove: handleMouseMove,
|
|
42
|
-
onMouseLeave: handleMouseLeave,
|
|
43
|
-
className: cn(
|
|
44
|
-
"flex items-center justify-center relative transition-all duration-200 ease-linear",
|
|
45
|
-
className
|
|
46
|
-
),
|
|
47
|
-
style: {
|
|
48
|
-
transformStyle: "preserve-3d"
|
|
49
|
-
},
|
|
50
|
-
children
|
|
51
|
-
}
|
|
52
|
-
)
|
|
53
|
-
}
|
|
54
|
-
) });
|
|
55
|
-
};
|
|
56
|
-
var CardBody = ({
|
|
57
|
-
children,
|
|
58
|
-
className
|
|
59
|
-
}) => {
|
|
60
|
-
return /* @__PURE__ */ jsx(
|
|
61
|
-
"div",
|
|
62
|
-
{
|
|
63
|
-
className: cn(
|
|
64
|
-
"h-96 w-96 [transform-style:preserve-3d] [&>*]:[transform-style:preserve-3d]",
|
|
65
|
-
"backdrop-blur-sm",
|
|
66
|
-
className
|
|
67
|
-
),
|
|
68
|
-
children
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
};
|
|
72
|
-
var CardItem = ({
|
|
73
|
-
as: Tag = "div",
|
|
74
|
-
children,
|
|
75
|
-
className,
|
|
76
|
-
translateX = 0,
|
|
77
|
-
translateY = 0,
|
|
78
|
-
translateZ = 0,
|
|
79
|
-
rotateX = 0,
|
|
80
|
-
rotateY = 0,
|
|
81
|
-
rotateZ = 0,
|
|
82
|
-
...props
|
|
83
|
-
}) => {
|
|
84
|
-
const ref = useRef(null);
|
|
85
|
-
const [isMouseEntered] = useMouseEnter();
|
|
86
|
-
React.useEffect(() => {
|
|
87
|
-
const handleAnimations = () => {
|
|
88
|
-
if (!ref.current) return;
|
|
89
|
-
if (isMouseEntered) {
|
|
90
|
-
ref.current.style.transform = `translateX(${translateX}px) translateY(${translateY}px) translateZ(${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) rotateZ(${rotateZ}deg)`;
|
|
91
|
-
} else {
|
|
92
|
-
ref.current.style.transform = `translateX(0px) translateY(0px) translateZ(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg)`;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
handleAnimations();
|
|
96
|
-
}, [isMouseEntered, translateX, translateY, translateZ, rotateX, rotateY, rotateZ]);
|
|
97
|
-
return React.createElement(
|
|
98
|
-
Tag,
|
|
99
|
-
{
|
|
100
|
-
ref,
|
|
101
|
-
className: cn("w-fit transition-transform duration-200 ease-linear", className),
|
|
102
|
-
...props
|
|
103
|
-
},
|
|
104
|
-
children
|
|
105
|
-
);
|
|
106
|
-
};
|
|
107
|
-
var useMouseEnter = () => {
|
|
108
|
-
const context = useContext(MouseEnterContext);
|
|
109
|
-
if (context === void 0) {
|
|
110
|
-
throw new Error("useMouseEnter must be used within a MouseEnterProvider");
|
|
111
|
-
}
|
|
112
|
-
return context;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
export { CardBody, CardContainer, CardItem, useMouseEnter };
|
|
116
|
-
//# sourceMappingURL=chunk-KORSTBU4.js.map
|
|
117
|
-
//# sourceMappingURL=chunk-KORSTBU4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/primitives/molecules/ThreeDCard/ThreeDCard.tsx"],"names":[],"mappings":";;;;AAKA,IAAM,iBAAA,GAAoB,cAExB,MAAS,CAAA;AAEJ,IAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,YAAA,GAAe,OAAuB,IAAI,CAAA;AAChD,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,KAAK,CAAA;AAE1D,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAA,KAAkC;AACzD,IAAA,IAAI,CAAC,aAAa,OAAA,EAAS;AAC3B,IAAA,MAAM,EAAE,MAAM,GAAA,EAAK,KAAA,EAAO,QAAO,GAAI,YAAA,CAAa,QAAQ,qBAAA,EAAsB;AAChF,IAAA,MAAM,CAAA,GAAA,CAAK,CAAA,CAAE,OAAA,GAAU,IAAA,GAAO,QAAQ,CAAA,IAAK,EAAA;AAC3C,IAAA,MAAM,CAAA,GAAA,CAAK,CAAA,CAAE,OAAA,GAAU,GAAA,GAAM,SAAS,CAAA,IAAK,EAAA;AAC3C,IAAA,YAAA,CAAa,QAAQ,KAAA,CAAM,SAAA,GAAY,CAAA,QAAA,EAAW,CAAC,gBAAgB,CAAC,CAAA,IAAA,CAAA;AAAA,EACtE,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,iBAAA,CAAkB,IAAI,CAAA;AACtB,IAAA,IAAI,CAAC,aAAa,OAAA,EAAS;AAAA,EAC7B,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,IAAI,CAAC,aAAa,OAAA,EAAS;AAC3B,IAAA,iBAAA,CAAkB,KAAK,CAAA;AACvB,IAAA,YAAA,CAAa,OAAA,CAAQ,MAAM,SAAA,GAAY,CAAA,2BAAA,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,uBACE,GAAA,CAAC,kBAAkB,QAAA,EAAlB,EAA2B,OAAO,CAAC,cAAA,EAAgB,iBAAiB,CAAA,EACnE,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,wCAAA,EAA0C,kBAAkB,CAAA;AAAA,MAC1E,KAAA,EAAO;AAAA,QACL,WAAA,EAAa;AAAA,OACf;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,YAAA;AAAA,UACL,YAAA,EAAc,gBAAA;AAAA,UACd,WAAA,EAAa,eAAA;AAAA,UACb,YAAA,EAAc,gBAAA;AAAA,UACd,SAAA,EAAW,EAAA;AAAA,YACT,mFAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,KAAA,EAAO;AAAA,YACL,cAAA,EAAgB;AAAA,WAClB;AAAA,UAEC;AAAA;AAAA;AACH;AAAA,GACF,EACF,CAAA;AAEJ;AAEO,IAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,6EAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,WAAW,CAAC;AAAA,EACvB,IAAI,GAAA,GAAM,KAAA;AAAA,EACV,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,UAAA,GAAa,CAAA;AAAA,EACb,UAAA,GAAa,CAAA;AAAA,EACb,OAAA,GAAU,CAAA;AAAA,EACV,OAAA,GAAU,CAAA;AAAA,EACV,OAAA,GAAU,CAAA;AAAA,EACV,GAAG;AACL,CAAA,KAWM;AACJ,EAAA,MAAM,GAAA,GAAM,OAA2B,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAc,CAAA,GAAI,aAAA,EAAc;AAEvC,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,MAAM,mBAAmB,MAAM;AAC7B,MAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAClB,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,GAAA,CAAI,OAAA,CAAQ,KAAA,CAAM,SAAA,GAAY,CAAA,WAAA,EAAc,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,eAAA,EAAkB,UAAU,CAAA,YAAA,EAAe,OAAO,CAAA,aAAA,EAAgB,OAAO,gBAAgB,OAAO,CAAA,IAAA,CAAA;AAAA,MACpL,CAAA,MAAO;AACL,QAAA,GAAA,CAAI,OAAA,CAAQ,MAAM,SAAA,GAAY,CAAA,yFAAA,CAAA;AAAA,MAChC;AAAA,IACF,CAAA;AACA,IAAA,gBAAA,EAAiB;AAAA,EACnB,CAAA,EAAG,CAAC,cAAA,EAAgB,UAAA,EAAY,YAAY,UAAA,EAAY,OAAA,EAAS,OAAA,EAAS,OAAO,CAAC,CAAA;AAGlF,EAAA,OAAO,KAAA,CAAM,aAAA;AAAA,IACX,GAAA;AAAA,IACA;AAAA,MACE,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,qDAAA,EAAuD,SAAS,CAAA;AAAA,MAC9E,GAAG;AAAA,KACL;AAAA,IACA;AAAA,GACF;AACF;AAGO,IAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,OAAA,GAAU,WAAW,iBAAiB,CAAA;AAC5C,EAAA,IAAI,YAAY,MAAA,EAAW;AACzB,IAAA,MAAM,IAAI,MAAM,wDAAwD,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,OAAA;AACT","file":"chunk-KORSTBU4.js","sourcesContent":["\"use client\";\n\nimport { cn } from \"../../../lib/utils\";\nimport React, { createContext, MouseEvent, useContext, useRef, useState } from \"react\";\n\nconst MouseEnterContext = createContext<\n [boolean, React.Dispatch<React.SetStateAction<boolean>>] | undefined\n>(undefined);\n\nexport const CardContainer = ({\n children,\n className,\n containerClassName,\n}: {\n children?: React.ReactNode;\n className?: string;\n containerClassName?: string;\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [isMouseEntered, setIsMouseEntered] = useState(false);\n\n const handleMouseMove = (e: MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const { left, top, width, height } = containerRef.current.getBoundingClientRect();\n const x = (e.clientX - left - width / 2) / 25;\n const y = (e.clientY - top - height / 2) / 25;\n containerRef.current.style.transform = `rotateY(${x}deg) rotateX(${y}deg)`;\n };\n\n const handleMouseEnter = () => {\n setIsMouseEntered(true);\n if (!containerRef.current) return;\n };\n\n const handleMouseLeave = () => {\n if (!containerRef.current) return;\n setIsMouseEntered(false);\n containerRef.current.style.transform = `rotateY(0deg) rotateX(0deg)`;\n };\n\n return (\n <MouseEnterContext.Provider value={[isMouseEntered, setIsMouseEntered]}>\n <div\n className={cn(\"flex items-center justify-center py-20\", containerClassName)}\n style={{\n perspective: \"1000px\",\n }}\n >\n <div\n ref={containerRef}\n onMouseEnter={handleMouseEnter}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n className={cn(\n \"flex items-center justify-center relative transition-all duration-200 ease-linear\",\n className\n )}\n style={{\n transformStyle: \"preserve-3d\",\n }}\n >\n {children}\n </div>\n </div>\n </MouseEnterContext.Provider>\n );\n};\n\nexport const CardBody = ({\n children,\n className,\n}: {\n children: React.ReactNode;\n className?: string;\n}) => {\n return (\n <div\n className={cn(\n \"h-96 w-96 [transform-style:preserve-3d] [&>*]:[transform-style:preserve-3d]\",\n \"backdrop-blur-sm\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n\nexport const CardItem = ({\n as: Tag = \"div\",\n children,\n className,\n translateX = 0,\n translateY = 0,\n translateZ = 0,\n rotateX = 0,\n rotateY = 0,\n rotateZ = 0,\n ...props\n}: {\n as?: React.ElementType;\n children: React.ReactNode;\n className?: string;\n translateX?: number | string;\n translateY?: number | string;\n translateZ?: number | string;\n rotateX?: number | string;\n rotateY?: number | string;\n rotateZ?: number | string;\n [key: string]: unknown;\n}) => {\n const ref = useRef<HTMLElement | null>(null);\n const [isMouseEntered] = useMouseEnter();\n\n React.useEffect(() => {\n const handleAnimations = () => {\n if (!ref.current) return;\n if (isMouseEntered) {\n ref.current.style.transform = `translateX(${translateX}px) translateY(${translateY}px) translateZ(${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) rotateZ(${rotateZ}deg)`;\n } else {\n ref.current.style.transform = `translateX(0px) translateY(0px) translateZ(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg)`;\n }\n };\n handleAnimations();\n }, [isMouseEntered, translateX, translateY, translateZ, rotateX, rotateY, rotateZ]);\n\n // Handle polymorphic component rendering properly\n return React.createElement(\n Tag,\n {\n ref,\n className: cn(\"w-fit transition-transform duration-200 ease-linear\", className),\n ...props,\n },\n children\n );\n};\n\n// Hook to use the context\nexport const useMouseEnter = () => {\n const context = useContext(MouseEnterContext);\n if (context === undefined) {\n throw new Error(\"useMouseEnter must be used within a MouseEnterProvider\");\n }\n return context;\n};\n"]}
|
package/dist/chunk-KSEZ6UM2.js
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import { createRovingFocusGroupScope, Root, Item } from './chunk-X77Z4PFB.js';
|
|
2
|
-
import { useDirection } from './chunk-YNVN3V4Y.js';
|
|
3
|
-
import { useId } from './chunk-IKGYOGLK.js';
|
|
4
|
-
import { Presence } from './chunk-V7EN5CTH.js';
|
|
5
|
-
import { createContextScope } from './chunk-MPC5IH7E.js';
|
|
6
|
-
import { useControllableState } from './chunk-DIXPOHDO.js';
|
|
7
|
-
import { Primitive, composeEventHandlers } from './chunk-EXQ7GYRS.js';
|
|
8
|
-
import { cn } from './chunk-6RX2WGCO.js';
|
|
9
|
-
import * as React from 'react';
|
|
10
|
-
import { jsx } from 'react/jsx-runtime';
|
|
11
|
-
|
|
12
|
-
var TABS_NAME = "Tabs";
|
|
13
|
-
var [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [
|
|
14
|
-
createRovingFocusGroupScope
|
|
15
|
-
]);
|
|
16
|
-
var useRovingFocusGroupScope = createRovingFocusGroupScope();
|
|
17
|
-
var [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);
|
|
18
|
-
var Tabs = React.forwardRef(
|
|
19
|
-
(props, forwardedRef) => {
|
|
20
|
-
const {
|
|
21
|
-
__scopeTabs,
|
|
22
|
-
value: valueProp,
|
|
23
|
-
onValueChange,
|
|
24
|
-
defaultValue,
|
|
25
|
-
orientation = "horizontal",
|
|
26
|
-
dir,
|
|
27
|
-
activationMode = "automatic",
|
|
28
|
-
...tabsProps
|
|
29
|
-
} = props;
|
|
30
|
-
const direction = useDirection(dir);
|
|
31
|
-
const [value, setValue] = useControllableState({
|
|
32
|
-
prop: valueProp,
|
|
33
|
-
onChange: onValueChange,
|
|
34
|
-
defaultProp: defaultValue ?? "",
|
|
35
|
-
caller: TABS_NAME
|
|
36
|
-
});
|
|
37
|
-
return /* @__PURE__ */ jsx(
|
|
38
|
-
TabsProvider,
|
|
39
|
-
{
|
|
40
|
-
scope: __scopeTabs,
|
|
41
|
-
baseId: useId(),
|
|
42
|
-
value,
|
|
43
|
-
onValueChange: setValue,
|
|
44
|
-
orientation,
|
|
45
|
-
dir: direction,
|
|
46
|
-
activationMode,
|
|
47
|
-
children: /* @__PURE__ */ jsx(
|
|
48
|
-
Primitive.div,
|
|
49
|
-
{
|
|
50
|
-
dir: direction,
|
|
51
|
-
"data-orientation": orientation,
|
|
52
|
-
...tabsProps,
|
|
53
|
-
ref: forwardedRef
|
|
54
|
-
}
|
|
55
|
-
)
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
Tabs.displayName = TABS_NAME;
|
|
61
|
-
var TAB_LIST_NAME = "TabsList";
|
|
62
|
-
var TabsList = React.forwardRef(
|
|
63
|
-
(props, forwardedRef) => {
|
|
64
|
-
const { __scopeTabs, loop = true, ...listProps } = props;
|
|
65
|
-
const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);
|
|
66
|
-
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);
|
|
67
|
-
return /* @__PURE__ */ jsx(
|
|
68
|
-
Root,
|
|
69
|
-
{
|
|
70
|
-
asChild: true,
|
|
71
|
-
...rovingFocusGroupScope,
|
|
72
|
-
orientation: context.orientation,
|
|
73
|
-
dir: context.dir,
|
|
74
|
-
loop,
|
|
75
|
-
children: /* @__PURE__ */ jsx(
|
|
76
|
-
Primitive.div,
|
|
77
|
-
{
|
|
78
|
-
role: "tablist",
|
|
79
|
-
"aria-orientation": context.orientation,
|
|
80
|
-
...listProps,
|
|
81
|
-
ref: forwardedRef
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
TabsList.displayName = TAB_LIST_NAME;
|
|
89
|
-
var TRIGGER_NAME = "TabsTrigger";
|
|
90
|
-
var TabsTrigger = React.forwardRef(
|
|
91
|
-
(props, forwardedRef) => {
|
|
92
|
-
const { __scopeTabs, value, disabled = false, ...triggerProps } = props;
|
|
93
|
-
const context = useTabsContext(TRIGGER_NAME, __scopeTabs);
|
|
94
|
-
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);
|
|
95
|
-
const triggerId = makeTriggerId(context.baseId, value);
|
|
96
|
-
const contentId = makeContentId(context.baseId, value);
|
|
97
|
-
const isSelected = value === context.value;
|
|
98
|
-
return /* @__PURE__ */ jsx(
|
|
99
|
-
Item,
|
|
100
|
-
{
|
|
101
|
-
asChild: true,
|
|
102
|
-
...rovingFocusGroupScope,
|
|
103
|
-
focusable: !disabled,
|
|
104
|
-
active: isSelected,
|
|
105
|
-
children: /* @__PURE__ */ jsx(
|
|
106
|
-
Primitive.button,
|
|
107
|
-
{
|
|
108
|
-
type: "button",
|
|
109
|
-
role: "tab",
|
|
110
|
-
"aria-selected": isSelected,
|
|
111
|
-
"aria-controls": contentId,
|
|
112
|
-
"data-state": isSelected ? "active" : "inactive",
|
|
113
|
-
"data-disabled": disabled ? "" : void 0,
|
|
114
|
-
disabled,
|
|
115
|
-
id: triggerId,
|
|
116
|
-
...triggerProps,
|
|
117
|
-
ref: forwardedRef,
|
|
118
|
-
onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
|
|
119
|
-
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
|
120
|
-
context.onValueChange(value);
|
|
121
|
-
} else {
|
|
122
|
-
event.preventDefault();
|
|
123
|
-
}
|
|
124
|
-
}),
|
|
125
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
126
|
-
if ([" ", "Enter"].includes(event.key)) context.onValueChange(value);
|
|
127
|
-
}),
|
|
128
|
-
onFocus: composeEventHandlers(props.onFocus, () => {
|
|
129
|
-
const isAutomaticActivation = context.activationMode !== "manual";
|
|
130
|
-
if (!isSelected && !disabled && isAutomaticActivation) {
|
|
131
|
-
context.onValueChange(value);
|
|
132
|
-
}
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
)
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
);
|
|
140
|
-
TabsTrigger.displayName = TRIGGER_NAME;
|
|
141
|
-
var CONTENT_NAME = "TabsContent";
|
|
142
|
-
var TabsContent = React.forwardRef(
|
|
143
|
-
(props, forwardedRef) => {
|
|
144
|
-
const { __scopeTabs, value, forceMount, children, ...contentProps } = props;
|
|
145
|
-
const context = useTabsContext(CONTENT_NAME, __scopeTabs);
|
|
146
|
-
const triggerId = makeTriggerId(context.baseId, value);
|
|
147
|
-
const contentId = makeContentId(context.baseId, value);
|
|
148
|
-
const isSelected = value === context.value;
|
|
149
|
-
const isMountAnimationPreventedRef = React.useRef(isSelected);
|
|
150
|
-
React.useEffect(() => {
|
|
151
|
-
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
|
152
|
-
return () => cancelAnimationFrame(rAF);
|
|
153
|
-
}, []);
|
|
154
|
-
return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(
|
|
155
|
-
Primitive.div,
|
|
156
|
-
{
|
|
157
|
-
"data-state": isSelected ? "active" : "inactive",
|
|
158
|
-
"data-orientation": context.orientation,
|
|
159
|
-
role: "tabpanel",
|
|
160
|
-
"aria-labelledby": triggerId,
|
|
161
|
-
hidden: !present,
|
|
162
|
-
id: contentId,
|
|
163
|
-
tabIndex: 0,
|
|
164
|
-
...contentProps,
|
|
165
|
-
ref: forwardedRef,
|
|
166
|
-
style: {
|
|
167
|
-
...props.style,
|
|
168
|
-
animationDuration: isMountAnimationPreventedRef.current ? "0s" : void 0
|
|
169
|
-
},
|
|
170
|
-
children: present && children
|
|
171
|
-
}
|
|
172
|
-
) });
|
|
173
|
-
}
|
|
174
|
-
);
|
|
175
|
-
TabsContent.displayName = CONTENT_NAME;
|
|
176
|
-
function makeTriggerId(baseId, value) {
|
|
177
|
-
return `${baseId}-trigger-${value}`;
|
|
178
|
-
}
|
|
179
|
-
function makeContentId(baseId, value) {
|
|
180
|
-
return `${baseId}-content-${value}`;
|
|
181
|
-
}
|
|
182
|
-
var Root2 = Tabs;
|
|
183
|
-
var List = TabsList;
|
|
184
|
-
var Trigger = TabsTrigger;
|
|
185
|
-
var Content = TabsContent;
|
|
186
|
-
function Tabs2({ className, ...props }) {
|
|
187
|
-
return /* @__PURE__ */ jsx(
|
|
188
|
-
Root2,
|
|
189
|
-
{
|
|
190
|
-
"data-slot": "tabs",
|
|
191
|
-
className: cn("flex flex-col gap-2", className),
|
|
192
|
-
...props
|
|
193
|
-
}
|
|
194
|
-
);
|
|
195
|
-
}
|
|
196
|
-
function TabsList2({ className, ...props }) {
|
|
197
|
-
return /* @__PURE__ */ jsx(
|
|
198
|
-
List,
|
|
199
|
-
{
|
|
200
|
-
"data-slot": "tabs-list",
|
|
201
|
-
className: cn(
|
|
202
|
-
"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
|
|
203
|
-
className
|
|
204
|
-
),
|
|
205
|
-
...props
|
|
206
|
-
}
|
|
207
|
-
);
|
|
208
|
-
}
|
|
209
|
-
function TabsTrigger2({ className, ...props }) {
|
|
210
|
-
return /* @__PURE__ */ jsx(
|
|
211
|
-
Trigger,
|
|
212
|
-
{
|
|
213
|
-
"data-slot": "tabs-trigger",
|
|
214
|
-
className: cn(
|
|
215
|
-
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground 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 transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
216
|
-
className
|
|
217
|
-
),
|
|
218
|
-
...props
|
|
219
|
-
}
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
function TabsContent2({ className, ...props }) {
|
|
223
|
-
return /* @__PURE__ */ jsx(
|
|
224
|
-
Content,
|
|
225
|
-
{
|
|
226
|
-
"data-slot": "tabs-content",
|
|
227
|
-
className: cn("flex-1 outline-none", className),
|
|
228
|
-
...props
|
|
229
|
-
}
|
|
230
|
-
);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
export { Tabs2 as Tabs, TabsContent2 as TabsContent, TabsList2 as TabsList, TabsTrigger2 as TabsTrigger };
|
|
234
|
-
//# sourceMappingURL=chunk-KSEZ6UM2.js.map
|
|
235
|
-
//# sourceMappingURL=chunk-KSEZ6UM2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@radix-ui/react-tabs/src/tabs.tsx","../src/primitives/ui/tabs.tsx"],"names":["Root","Tabs","jsx","TabsList","TabsTrigger","TabsContent"],"mappings":"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","file":"chunk-KSEZ6UM2.js","sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs\n * -----------------------------------------------------------------------------------------------*/\n\nconst TABS_NAME = 'Tabs';\n\ntype ScopedProps<P> = P & { __scopeTabs?: Scope };\nconst [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype TabsContextValue = {\n baseId: string;\n value: string;\n onValueChange: (value: string) => void;\n orientation?: TabsProps['orientation'];\n dir?: TabsProps['dir'];\n activationMode?: TabsProps['activationMode'];\n};\n\nconst [TabsProvider, useTabsContext] = createTabsContext<TabsContextValue>(TABS_NAME);\n\ntype TabsElement = React.ComponentRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface TabsProps extends PrimitiveDivProps {\n /** The value for the selected tab, if controlled */\n value?: string;\n /** The value of the tab to select by default, if uncontrolled */\n defaultValue?: string;\n /** A function called when a new tab is selected */\n onValueChange?: (value: string) => void;\n /**\n * The orientation the tabs are layed out.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n * @defaultValue horizontal\n */\n orientation?: RovingFocusGroupProps['orientation'];\n /**\n * The direction of navigation between toolbar items.\n */\n dir?: RovingFocusGroupProps['dir'];\n /**\n * Whether a tab is activated automatically or manually.\n * @defaultValue automatic\n * */\n activationMode?: 'automatic' | 'manual';\n}\n\nconst Tabs = React.forwardRef<TabsElement, TabsProps>(\n (props: ScopedProps<TabsProps>, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n dir,\n activationMode = 'automatic',\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? '',\n caller: TABS_NAME,\n });\n\n return (\n <TabsProvider\n scope={__scopeTabs}\n baseId={useId()}\n value={value}\n onValueChange={setValue}\n orientation={orientation}\n dir={direction}\n activationMode={activationMode}\n >\n <Primitive.div\n dir={direction}\n data-orientation={orientation}\n {...tabsProps}\n ref={forwardedRef}\n />\n </TabsProvider>\n );\n }\n);\n\nTabs.displayName = TABS_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst TAB_LIST_NAME = 'TabsList';\n\ntype TabsListElement = React.ComponentRef<typeof Primitive.div>;\ninterface TabsListProps extends PrimitiveDivProps {\n loop?: RovingFocusGroupProps['loop'];\n}\n\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>(\n (props: ScopedProps<TabsListProps>, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return (\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={context.orientation}\n dir={context.dir}\n loop={loop}\n >\n <Primitive.div\n role=\"tablist\"\n aria-orientation={context.orientation}\n {...listProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n );\n }\n);\n\nTabsList.displayName = TAB_LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'TabsTrigger';\n\ntype TabsTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface TabsTriggerProps extends PrimitiveButtonProps {\n value: string;\n}\n\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props: ScopedProps<TabsTriggerProps>, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={isSelected}\n >\n <Primitive.button\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={contentId}\n data-state={isSelected ? 'active' : 'inactive'}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n id={triggerId}\n {...triggerProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n // prevent focus to avoid accidental activation\n event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if ([' ', 'Enter'].includes(event.key)) context.onValueChange(value);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => {\n // handle \"automatic\" activation if necessary\n // ie. activate tab following focus\n const isAutomaticActivation = context.activationMode !== 'manual';\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nTabsTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'TabsContent';\n\ntype TabsContentElement = React.ComponentRef<typeof Primitive.div>;\ninterface TabsContentProps extends PrimitiveDivProps {\n value: string;\n\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props: ScopedProps<TabsContentProps>, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n return (\n <Presence present={forceMount || isSelected}>\n {({ present }) => (\n <Primitive.div\n data-state={isSelected ? 'active' : 'inactive'}\n data-orientation={context.orientation}\n role=\"tabpanel\"\n aria-labelledby={triggerId}\n hidden={!present}\n id={contentId}\n tabIndex={0}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? '0s' : undefined,\n }}\n >\n {present && children}\n </Primitive.div>\n )}\n </Presence>\n );\n }\n);\n\nTabsContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nconst Root = Tabs;\nconst List = TabsList;\nconst Trigger = TabsTrigger;\nconst Content = TabsContent;\n\nexport {\n createTabsScope,\n //\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n //\n Root,\n List,\n Trigger,\n Content,\n};\nexport type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"../../lib/utils\";\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground 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 transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"]}
|