@yuva-devlab/ui 1.0.1 → 1.2.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 +29 -14
- package/dist/common.css +158 -0
- package/dist/components/accordion/accordion.css +49 -0
- package/dist/components/alert/alert.css +41 -0
- package/dist/components/alert-dialog/alert-dialog.css +78 -0
- package/dist/components/avatar/avatar.css +26 -0
- package/dist/components/badge/badge.css +76 -0
- package/dist/components/breadcrumb/breadcrumb.css +63 -0
- package/dist/components/button/button.css +106 -0
- package/dist/components/card/card.css +30 -0
- package/dist/components/carousel/carousel.css +67 -0
- package/dist/components/chart/chart.css +38 -0
- package/dist/components/checkbox/checkbox.css +27 -0
- package/dist/components/command/command.css +125 -0
- package/dist/components/context-menu/context-menu.css +19 -0
- package/dist/components/date-picker/date-picker.css +30 -0
- package/dist/components/dialog/dialog.css +78 -0
- package/dist/components/drawer/drawer.css +64 -0
- package/dist/components/dropdown-menu/dropdown-menu.css +82 -0
- package/dist/components/form/form.css +17 -0
- package/dist/components/hover-card/hover-card.css +23 -0
- package/dist/components/input/input.css +89 -0
- package/dist/components/input-otp/input-otp.css +70 -0
- package/dist/components/label/label.css +9 -0
- package/dist/components/loading-state/loading-state.css +26 -0
- package/dist/components/menubar/menubar.css +36 -0
- package/dist/components/navigation-menu/navigation-menu.css +137 -0
- package/dist/components/pagination/pagination.css +43 -0
- package/dist/components/panel/panel.css +24 -0
- package/dist/components/popover/popover.css +17 -0
- package/dist/components/progress/progress.css +15 -0
- package/dist/components/radio-group/radio-group.css +37 -0
- package/dist/components/resizable/resizable.css +67 -0
- package/dist/components/scroll-area/scroll-area.css +32 -0
- package/dist/components/searchable-select/searchable-select.css +128 -0
- package/dist/components/select/select.css +97 -0
- package/dist/components/separator/separator.css +14 -0
- package/dist/components/sheet/sheet.css +83 -0
- package/dist/components/sidebar/sidebar.css +18 -0
- package/dist/components/skeleton/skeleton.css +5 -0
- package/dist/components/slider/slider.css +37 -0
- package/dist/components/sonner/sonner.css +25 -0
- package/dist/components/status-badge/status-badge.css +53 -0
- package/dist/components/status-chip/status-chip.css +44 -0
- package/dist/components/switch/switch.css +45 -0
- package/dist/components/table/table.css +46 -0
- package/dist/components/tabs/tabs.css +46 -0
- package/dist/components/textarea/textarea.css +30 -0
- package/dist/components/toggle/toggle.css +91 -0
- package/dist/components/tooltip/tooltip.css +17 -0
- package/dist/components.css +2523 -0
- package/dist/index.cjs +1606 -1963
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1805 -209
- package/dist/index.d.ts +1805 -209
- package/dist/index.js +1470 -1834
- package/dist/index.js.map +1 -1
- package/dist/preset.css +8 -0
- package/dist/root.css +1 -0
- package/dist/styles/common.css +158 -0
- package/dist/styles/components.css +2523 -0
- package/dist/styles/preset.css +8 -0
- package/dist/styles/root.css +1 -0
- package/dist/styles/styles.css +18 -0
- package/dist/styles/themes/finai.css +1 -0
- package/dist/styles/themes/orchestrai.css +1 -0
- package/dist/styles.css +18 -0
- package/dist/themes/finai.css +1 -0
- package/dist/themes/orchestrai.css +1 -0
- package/package.json +19 -6
package/dist/index.js
CHANGED
|
@@ -12,15 +12,20 @@ import { createContext, useContext, useEffect, useState } from "react";
|
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
13
|
var initialState = {
|
|
14
14
|
theme: "system",
|
|
15
|
+
brand: "finai",
|
|
15
16
|
setTheme: () => null,
|
|
17
|
+
setBrand: () => null,
|
|
16
18
|
resolvedTheme: "dark"
|
|
17
19
|
};
|
|
18
20
|
var ThemeProviderContext = createContext(initialState);
|
|
19
21
|
function ThemeProvider({
|
|
20
22
|
children,
|
|
23
|
+
brand: initialBrand = "finai",
|
|
21
24
|
defaultTheme = "system",
|
|
22
25
|
storageKey = "yd-theme",
|
|
26
|
+
brandStorageKey = "yd-brand",
|
|
23
27
|
attribute = "data-theme",
|
|
28
|
+
brandAttribute = "data-brand",
|
|
24
29
|
enableSystem = true,
|
|
25
30
|
...props
|
|
26
31
|
}) {
|
|
@@ -31,6 +36,13 @@ function ThemeProvider({
|
|
|
31
36
|
}
|
|
32
37
|
return defaultTheme;
|
|
33
38
|
});
|
|
39
|
+
const [brand, setBrandState] = useState(() => {
|
|
40
|
+
if (typeof window !== "undefined") {
|
|
41
|
+
const stored = localStorage.getItem(brandStorageKey);
|
|
42
|
+
if (stored) return stored;
|
|
43
|
+
}
|
|
44
|
+
return initialBrand;
|
|
45
|
+
});
|
|
34
46
|
const [resolvedTheme, setResolvedTheme] = useState("dark");
|
|
35
47
|
useEffect(() => {
|
|
36
48
|
const root = window.document.documentElement;
|
|
@@ -40,20 +52,33 @@ function ThemeProvider({
|
|
|
40
52
|
const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
41
53
|
activeTheme = systemTheme;
|
|
42
54
|
}
|
|
43
|
-
const isDark = activeTheme.includes("dark") || activeTheme === "orchestrai";
|
|
55
|
+
const isDark = activeTheme.includes("dark") || activeTheme === "orchestrai" || brand === "orchestrai" && activeTheme !== "light";
|
|
44
56
|
const resolved = isDark ? "dark" : "light";
|
|
45
57
|
setResolvedTheme(resolved);
|
|
46
58
|
root.classList.add(resolved);
|
|
59
|
+
if (brandAttribute && brand) {
|
|
60
|
+
root.setAttribute(brandAttribute, brand);
|
|
61
|
+
}
|
|
47
62
|
if (attribute) {
|
|
48
|
-
|
|
63
|
+
const combinedTheme = theme === "system" ? `${brand}-${resolved}` : theme.startsWith(brand) ? theme : `${brand}-${theme}`;
|
|
64
|
+
root.setAttribute(attribute, combinedTheme);
|
|
49
65
|
}
|
|
50
|
-
}, [theme, enableSystem, attribute]);
|
|
66
|
+
}, [theme, brand, enableSystem, attribute, brandAttribute]);
|
|
51
67
|
const value = {
|
|
52
68
|
theme,
|
|
69
|
+
brand,
|
|
53
70
|
setTheme: (newTheme) => {
|
|
54
|
-
|
|
71
|
+
if (typeof window !== "undefined") {
|
|
72
|
+
localStorage.setItem(storageKey, newTheme);
|
|
73
|
+
}
|
|
55
74
|
setThemeState(newTheme);
|
|
56
75
|
},
|
|
76
|
+
setBrand: (newBrand) => {
|
|
77
|
+
if (typeof window !== "undefined") {
|
|
78
|
+
localStorage.setItem(brandStorageKey, newBrand);
|
|
79
|
+
}
|
|
80
|
+
setBrandState(newBrand);
|
|
81
|
+
},
|
|
57
82
|
resolvedTheme
|
|
58
83
|
};
|
|
59
84
|
return /* @__PURE__ */ jsx(ThemeProviderContext.Provider, { ...props, value, children });
|
|
@@ -65,6 +90,8 @@ var useTheme = () => {
|
|
|
65
90
|
}
|
|
66
91
|
return context;
|
|
67
92
|
};
|
|
93
|
+
var ConfigProvider = ThemeProvider;
|
|
94
|
+
var useConfig = useTheme;
|
|
68
95
|
|
|
69
96
|
// src/hooks/use-mobile.ts
|
|
70
97
|
import * as React2 from "react";
|
|
@@ -85,7 +112,7 @@ function useIsMobile() {
|
|
|
85
112
|
return !!isMobile;
|
|
86
113
|
}
|
|
87
114
|
|
|
88
|
-
// src/components/accordion.tsx
|
|
115
|
+
// src/components/accordion/accordion.tsx
|
|
89
116
|
import * as React3 from "react";
|
|
90
117
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
91
118
|
import { ChevronDown } from "lucide-react";
|
|
@@ -95,23 +122,20 @@ var AccordionItem = React3.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
95
122
|
AccordionPrimitive.Item,
|
|
96
123
|
{
|
|
97
124
|
ref,
|
|
98
|
-
className: cn("
|
|
125
|
+
className: cn("dl-accordion-item", className),
|
|
99
126
|
...props
|
|
100
127
|
}
|
|
101
128
|
));
|
|
102
129
|
AccordionItem.displayName = "AccordionItem";
|
|
103
|
-
var AccordionTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx2(AccordionPrimitive.Header, { className: "
|
|
130
|
+
var AccordionTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx2(AccordionPrimitive.Header, { className: "dl-accordion-header", children: /* @__PURE__ */ jsxs(
|
|
104
131
|
AccordionPrimitive.Trigger,
|
|
105
132
|
{
|
|
106
133
|
ref,
|
|
107
|
-
className: cn(
|
|
108
|
-
"flex flex-1 items-center justify-between py-4 text-sm font-medium cursor-pointer transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",
|
|
109
|
-
className
|
|
110
|
-
),
|
|
134
|
+
className: cn("dl-accordion-trigger", className),
|
|
111
135
|
...props,
|
|
112
136
|
children: [
|
|
113
137
|
children,
|
|
114
|
-
/* @__PURE__ */ jsx2(ChevronDown, {
|
|
138
|
+
/* @__PURE__ */ jsx2(ChevronDown, { "aria-hidden": "true" })
|
|
115
139
|
]
|
|
116
140
|
}
|
|
117
141
|
) }));
|
|
@@ -120,51 +144,79 @@ var AccordionContent = React3.forwardRef(({ className, children, ...props }, ref
|
|
|
120
144
|
AccordionPrimitive.Content,
|
|
121
145
|
{
|
|
122
146
|
ref,
|
|
123
|
-
className: "
|
|
147
|
+
className: "dl-accordion-content",
|
|
124
148
|
...props,
|
|
125
|
-
children: /* @__PURE__ */ jsx2("div", { className: cn("
|
|
149
|
+
children: /* @__PURE__ */ jsx2("div", { className: cn("dl-accordion-content__inner", className), children })
|
|
126
150
|
}
|
|
127
151
|
));
|
|
128
152
|
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
129
153
|
|
|
130
|
-
// src/components/alert
|
|
131
|
-
import * as React5 from "react";
|
|
132
|
-
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
133
|
-
|
|
134
|
-
// src/components/button.tsx
|
|
154
|
+
// src/components/alert/alert.tsx
|
|
135
155
|
import * as React4 from "react";
|
|
136
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
137
156
|
import { cva } from "class-variance-authority";
|
|
138
157
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
139
|
-
var
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
145
|
-
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
146
|
-
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
147
|
-
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
148
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
149
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
150
|
-
},
|
|
151
|
-
size: {
|
|
152
|
-
default: "h-9 px-4 py-2",
|
|
153
|
-
sm: "h-8 rounded-md px-3 text-xs",
|
|
154
|
-
lg: "h-10 rounded-md px-8",
|
|
155
|
-
icon: "size-9"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
defaultVariants: {
|
|
159
|
-
variant: "default",
|
|
160
|
-
size: "default"
|
|
158
|
+
var alertVariants = cva("dl-alert", {
|
|
159
|
+
variants: {
|
|
160
|
+
variant: {
|
|
161
|
+
default: "dl-alert--default",
|
|
162
|
+
destructive: "dl-alert--destructive"
|
|
161
163
|
}
|
|
164
|
+
},
|
|
165
|
+
defaultVariants: {
|
|
166
|
+
variant: "default"
|
|
162
167
|
}
|
|
168
|
+
});
|
|
169
|
+
var Alert = React4.forwardRef(
|
|
170
|
+
({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
171
|
+
"div",
|
|
172
|
+
{
|
|
173
|
+
ref,
|
|
174
|
+
role: "alert",
|
|
175
|
+
className: cn(alertVariants({ variant }), className),
|
|
176
|
+
...props
|
|
177
|
+
}
|
|
178
|
+
)
|
|
163
179
|
);
|
|
164
|
-
|
|
180
|
+
Alert.displayName = "Alert";
|
|
181
|
+
var AlertTitle = React4.forwardRef(
|
|
182
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx3("h5", { ref, className: cn("dl-alert__title", className), ...props })
|
|
183
|
+
);
|
|
184
|
+
AlertTitle.displayName = "AlertTitle";
|
|
185
|
+
var AlertDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", { ref, className: cn("dl-alert__desc", className), ...props }));
|
|
186
|
+
AlertDescription.displayName = "AlertDescription";
|
|
187
|
+
|
|
188
|
+
// src/components/alert-dialog/alert-dialog.tsx
|
|
189
|
+
import * as React6 from "react";
|
|
190
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
191
|
+
|
|
192
|
+
// src/components/button/button.tsx
|
|
193
|
+
import * as React5 from "react";
|
|
194
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
195
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
196
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
197
|
+
var buttonVariants = cva2("dl-btn", {
|
|
198
|
+
variants: {
|
|
199
|
+
variant: {
|
|
200
|
+
default: "dl-btn--default",
|
|
201
|
+
destructive: "dl-btn--destructive",
|
|
202
|
+
outline: "dl-btn--outline",
|
|
203
|
+
secondary: "dl-btn--secondary",
|
|
204
|
+
ghost: "dl-btn--ghost",
|
|
205
|
+
link: "dl-btn--link"
|
|
206
|
+
},
|
|
207
|
+
size: {
|
|
208
|
+
default: "dl-btn--md",
|
|
209
|
+
sm: "dl-btn--sm",
|
|
210
|
+
lg: "dl-btn--lg",
|
|
211
|
+
icon: "dl-btn--icon"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
defaultVariants: { variant: "default", size: "default" }
|
|
215
|
+
});
|
|
216
|
+
var Button = React5.forwardRef(
|
|
165
217
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
166
218
|
const Comp = asChild ? Slot : "button";
|
|
167
|
-
return /* @__PURE__ */
|
|
219
|
+
return /* @__PURE__ */ jsx4(
|
|
168
220
|
Comp,
|
|
169
221
|
{
|
|
170
222
|
className: cn(buttonVariants({ variant, size, className })),
|
|
@@ -176,33 +228,27 @@ var Button = React4.forwardRef(
|
|
|
176
228
|
);
|
|
177
229
|
Button.displayName = "Button";
|
|
178
230
|
|
|
179
|
-
// src/components/alert-dialog.tsx
|
|
180
|
-
import { jsx as
|
|
231
|
+
// src/components/alert-dialog/alert-dialog.tsx
|
|
232
|
+
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
181
233
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
182
234
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
183
235
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
184
|
-
var AlertDialogOverlay =
|
|
236
|
+
var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
185
237
|
AlertDialogPrimitive.Overlay,
|
|
186
238
|
{
|
|
187
|
-
className: cn(
|
|
188
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
189
|
-
className
|
|
190
|
-
),
|
|
239
|
+
className: cn("dl-alert-dialog-overlay", className),
|
|
191
240
|
...props,
|
|
192
241
|
ref
|
|
193
242
|
}
|
|
194
243
|
));
|
|
195
244
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
196
|
-
var AlertDialogContent =
|
|
197
|
-
/* @__PURE__ */
|
|
198
|
-
/* @__PURE__ */
|
|
245
|
+
var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs2(AlertDialogPortal, { children: [
|
|
246
|
+
/* @__PURE__ */ jsx5(AlertDialogOverlay, {}),
|
|
247
|
+
/* @__PURE__ */ jsx5(
|
|
199
248
|
AlertDialogPrimitive.Content,
|
|
200
249
|
{
|
|
201
250
|
ref,
|
|
202
|
-
className: cn(
|
|
203
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 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 sm:rounded-lg translate-[-50%]",
|
|
204
|
-
className
|
|
205
|
-
),
|
|
251
|
+
className: cn("dl-alert-dialog-content", className),
|
|
206
252
|
...props
|
|
207
253
|
}
|
|
208
254
|
)
|
|
@@ -211,50 +257,32 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
|
211
257
|
var AlertDialogHeader = ({
|
|
212
258
|
className,
|
|
213
259
|
...props
|
|
214
|
-
}) => /* @__PURE__ */
|
|
215
|
-
"div",
|
|
216
|
-
{
|
|
217
|
-
className: cn(
|
|
218
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
219
|
-
className
|
|
220
|
-
),
|
|
221
|
-
...props
|
|
222
|
-
}
|
|
223
|
-
);
|
|
260
|
+
}) => /* @__PURE__ */ jsx5("div", { className: cn("dl-alert-dialog-header", className), ...props });
|
|
224
261
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
225
262
|
var AlertDialogFooter = ({
|
|
226
263
|
className,
|
|
227
264
|
...props
|
|
228
|
-
}) => /* @__PURE__ */
|
|
229
|
-
"div",
|
|
230
|
-
{
|
|
231
|
-
className: cn(
|
|
232
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
233
|
-
className
|
|
234
|
-
),
|
|
235
|
-
...props
|
|
236
|
-
}
|
|
237
|
-
);
|
|
265
|
+
}) => /* @__PURE__ */ jsx5("div", { className: cn("dl-alert-dialog-footer", className), ...props });
|
|
238
266
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
239
|
-
var AlertDialogTitle =
|
|
267
|
+
var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
240
268
|
AlertDialogPrimitive.Title,
|
|
241
269
|
{
|
|
242
270
|
ref,
|
|
243
|
-
className: cn("
|
|
271
|
+
className: cn("dl-alert-dialog-title", className),
|
|
244
272
|
...props
|
|
245
273
|
}
|
|
246
274
|
));
|
|
247
275
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
248
|
-
var AlertDialogDescription =
|
|
276
|
+
var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
249
277
|
AlertDialogPrimitive.Description,
|
|
250
278
|
{
|
|
251
279
|
ref,
|
|
252
|
-
className: cn("
|
|
280
|
+
className: cn("dl-alert-dialog-desc", className),
|
|
253
281
|
...props
|
|
254
282
|
}
|
|
255
283
|
));
|
|
256
284
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
257
|
-
var AlertDialogAction =
|
|
285
|
+
var AlertDialogAction = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
258
286
|
AlertDialogPrimitive.Action,
|
|
259
287
|
{
|
|
260
288
|
ref,
|
|
@@ -263,72 +291,21 @@ var AlertDialogAction = React5.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
263
291
|
}
|
|
264
292
|
));
|
|
265
293
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
266
|
-
var AlertDialogCancel =
|
|
294
|
+
var AlertDialogCancel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
267
295
|
AlertDialogPrimitive.Cancel,
|
|
268
296
|
{
|
|
269
297
|
ref,
|
|
270
|
-
className: cn(
|
|
271
|
-
buttonVariants({ variant: "outline" }),
|
|
272
|
-
"mt-2 sm:mt-0",
|
|
273
|
-
className
|
|
274
|
-
),
|
|
298
|
+
className: cn(buttonVariants({ variant: "outline" }), className),
|
|
275
299
|
...props
|
|
276
300
|
}
|
|
277
301
|
));
|
|
278
302
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
279
303
|
|
|
280
|
-
// src/components/
|
|
281
|
-
import * as React6 from "react";
|
|
282
|
-
import { cva as cva2 } from "class-variance-authority";
|
|
283
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
284
|
-
var alertVariants = cva2(
|
|
285
|
-
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
|
|
286
|
-
{
|
|
287
|
-
variants: {
|
|
288
|
-
variant: {
|
|
289
|
-
default: "bg-background text-foreground",
|
|
290
|
-
destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
|
|
291
|
-
}
|
|
292
|
-
},
|
|
293
|
-
defaultVariants: {
|
|
294
|
-
variant: "default"
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
);
|
|
298
|
-
var Alert = React6.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
299
|
-
"div",
|
|
300
|
-
{
|
|
301
|
-
ref,
|
|
302
|
-
role: "alert",
|
|
303
|
-
className: cn(alertVariants({ variant }), className),
|
|
304
|
-
...props
|
|
305
|
-
}
|
|
306
|
-
));
|
|
307
|
-
Alert.displayName = "Alert";
|
|
308
|
-
var AlertTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
309
|
-
"h5",
|
|
310
|
-
{
|
|
311
|
-
ref,
|
|
312
|
-
className: cn("mb-1 font-medium leading-none tracking-tight", className),
|
|
313
|
-
...props
|
|
314
|
-
}
|
|
315
|
-
));
|
|
316
|
-
AlertTitle.displayName = "AlertTitle";
|
|
317
|
-
var AlertDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
318
|
-
"div",
|
|
319
|
-
{
|
|
320
|
-
ref,
|
|
321
|
-
className: cn("text-sm [&_p]:leading-relaxed", className),
|
|
322
|
-
...props
|
|
323
|
-
}
|
|
324
|
-
));
|
|
325
|
-
AlertDescription.displayName = "AlertDescription";
|
|
326
|
-
|
|
327
|
-
// src/components/aspect-ratio.tsx
|
|
304
|
+
// src/components/aspect-ratio/aspect-ratio.tsx
|
|
328
305
|
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
329
306
|
var AspectRatio = AspectRatioPrimitive.Root;
|
|
330
307
|
|
|
331
|
-
// src/components/avatar.tsx
|
|
308
|
+
// src/components/avatar/avatar.tsx
|
|
332
309
|
import * as React7 from "react";
|
|
333
310
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
334
311
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
@@ -336,10 +313,7 @@ var Avatar = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
336
313
|
AvatarPrimitive.Root,
|
|
337
314
|
{
|
|
338
315
|
ref,
|
|
339
|
-
className: cn(
|
|
340
|
-
"relative flex shrink-0 overflow-hidden rounded-full size-10",
|
|
341
|
-
className
|
|
342
|
-
),
|
|
316
|
+
className: cn("dl-avatar", className),
|
|
343
317
|
...props
|
|
344
318
|
}
|
|
345
319
|
));
|
|
@@ -348,7 +322,7 @@ var AvatarImage = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
348
322
|
AvatarPrimitive.Image,
|
|
349
323
|
{
|
|
350
324
|
ref,
|
|
351
|
-
className: cn("
|
|
325
|
+
className: cn("dl-avatar__img", className),
|
|
352
326
|
...props
|
|
353
327
|
}
|
|
354
328
|
));
|
|
@@ -357,92 +331,77 @@ var AvatarFallback = React7.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
357
331
|
AvatarPrimitive.Fallback,
|
|
358
332
|
{
|
|
359
333
|
ref,
|
|
360
|
-
className: cn(
|
|
361
|
-
"flex items-center justify-center rounded-full bg-muted size-full",
|
|
362
|
-
className
|
|
363
|
-
),
|
|
334
|
+
className: cn("dl-avatar__fallback", className),
|
|
364
335
|
...props
|
|
365
336
|
}
|
|
366
337
|
));
|
|
367
338
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
368
339
|
|
|
369
|
-
// src/components/badge.tsx
|
|
340
|
+
// src/components/badge/badge.tsx
|
|
370
341
|
import { cva as cva3 } from "class-variance-authority";
|
|
371
342
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
372
|
-
var badgeVariants = cva3(
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
387
|
-
);
|
|
343
|
+
var badgeVariants = cva3("dl-badge", {
|
|
344
|
+
variants: {
|
|
345
|
+
variant: {
|
|
346
|
+
default: "dl-badge--default",
|
|
347
|
+
secondary: "dl-badge--secondary",
|
|
348
|
+
destructive: "dl-badge--destructive",
|
|
349
|
+
success: "dl-badge--success",
|
|
350
|
+
warning: "dl-badge--warning",
|
|
351
|
+
info: "dl-badge--info",
|
|
352
|
+
outline: "dl-badge--outline"
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
defaultVariants: { variant: "default" }
|
|
356
|
+
});
|
|
388
357
|
function Badge({ className, variant, ...props }) {
|
|
389
358
|
return /* @__PURE__ */ jsx7("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
390
359
|
}
|
|
391
360
|
|
|
392
|
-
// src/components/breadcrumb.tsx
|
|
361
|
+
// src/components/breadcrumb/breadcrumb.tsx
|
|
393
362
|
import * as React8 from "react";
|
|
394
363
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
395
364
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
396
365
|
import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
397
|
-
var Breadcrumb = React8.forwardRef(
|
|
366
|
+
var Breadcrumb = React8.forwardRef(
|
|
367
|
+
({ ...props }, ref) => /* @__PURE__ */ jsx8("nav", { ref, "aria-label": "breadcrumb", ...props })
|
|
368
|
+
);
|
|
398
369
|
Breadcrumb.displayName = "Breadcrumb";
|
|
399
|
-
var BreadcrumbList = React8.forwardRef(
|
|
400
|
-
"ol",
|
|
401
|
-
|
|
402
|
-
ref,
|
|
403
|
-
className: cn(
|
|
404
|
-
"flex flex-wrap items-center gap-1.5 wrap-break-word text-sm text-muted-foreground sm:gap-2.5",
|
|
405
|
-
className
|
|
406
|
-
),
|
|
407
|
-
...props
|
|
408
|
-
}
|
|
409
|
-
));
|
|
370
|
+
var BreadcrumbList = React8.forwardRef(
|
|
371
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("ol", { ref, className: cn("dl-breadcrumb-list", className), ...props })
|
|
372
|
+
);
|
|
410
373
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
411
|
-
var BreadcrumbItem = React8.forwardRef(
|
|
412
|
-
"li",
|
|
413
|
-
|
|
414
|
-
ref,
|
|
415
|
-
className: cn("inline-flex items-center gap-1.5", className),
|
|
416
|
-
...props
|
|
417
|
-
}
|
|
418
|
-
));
|
|
374
|
+
var BreadcrumbItem = React8.forwardRef(
|
|
375
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("li", { ref, className: cn("dl-breadcrumb-item", className), ...props })
|
|
376
|
+
);
|
|
419
377
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
420
|
-
var BreadcrumbLink = React8.forwardRef(
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
378
|
+
var BreadcrumbLink = React8.forwardRef(
|
|
379
|
+
({ asChild, className, ...props }, ref) => {
|
|
380
|
+
const Comp = asChild ? Slot2 : "a";
|
|
381
|
+
return /* @__PURE__ */ jsx8(
|
|
382
|
+
Comp,
|
|
383
|
+
{
|
|
384
|
+
ref,
|
|
385
|
+
className: cn("dl-breadcrumb-link", className),
|
|
386
|
+
...props
|
|
387
|
+
}
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
);
|
|
391
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
392
|
+
var BreadcrumbPage = React8.forwardRef(
|
|
393
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
394
|
+
"span",
|
|
424
395
|
{
|
|
425
396
|
ref,
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
),
|
|
397
|
+
role: "link",
|
|
398
|
+
"aria-disabled": "true",
|
|
399
|
+
"aria-current": "page",
|
|
400
|
+
className: cn("dl-breadcrumb-page", className),
|
|
430
401
|
...props
|
|
431
402
|
}
|
|
432
|
-
)
|
|
433
|
-
|
|
434
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
435
|
-
var BreadcrumbPage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
436
|
-
"span",
|
|
437
|
-
{
|
|
438
|
-
ref,
|
|
439
|
-
role: "link",
|
|
440
|
-
"aria-disabled": "true",
|
|
441
|
-
"aria-current": "page",
|
|
442
|
-
className: cn("font-normal text-foreground", className),
|
|
443
|
-
...props
|
|
444
|
-
}
|
|
445
|
-
));
|
|
403
|
+
)
|
|
404
|
+
);
|
|
446
405
|
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
447
406
|
var BreadcrumbSeparator = ({
|
|
448
407
|
children,
|
|
@@ -453,7 +412,8 @@ var BreadcrumbSeparator = ({
|
|
|
453
412
|
{
|
|
454
413
|
role: "presentation",
|
|
455
414
|
"aria-hidden": "true",
|
|
456
|
-
|
|
415
|
+
"data-slot": "breadcrumb-separator",
|
|
416
|
+
className: cn("dl-breadcrumb-separator", className),
|
|
457
417
|
...props,
|
|
458
418
|
children: children ?? /* @__PURE__ */ jsx8(ChevronRight, {})
|
|
459
419
|
}
|
|
@@ -467,17 +427,17 @@ var BreadcrumbEllipsis = ({
|
|
|
467
427
|
{
|
|
468
428
|
role: "presentation",
|
|
469
429
|
"aria-hidden": "true",
|
|
470
|
-
className: cn("
|
|
430
|
+
className: cn("dl-breadcrumb-ellipsis", className),
|
|
471
431
|
...props,
|
|
472
432
|
children: [
|
|
473
|
-
/* @__PURE__ */ jsx8(MoreHorizontal, {
|
|
433
|
+
/* @__PURE__ */ jsx8(MoreHorizontal, {}),
|
|
474
434
|
/* @__PURE__ */ jsx8("span", { className: "sr-only", children: "More" })
|
|
475
435
|
]
|
|
476
436
|
}
|
|
477
437
|
);
|
|
478
|
-
BreadcrumbEllipsis.displayName = "
|
|
438
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
479
439
|
|
|
480
|
-
// src/components/calendar.tsx
|
|
440
|
+
// src/components/calendar/calendar.tsx
|
|
481
441
|
import * as React9 from "react";
|
|
482
442
|
import {
|
|
483
443
|
ChevronDownIcon,
|
|
@@ -663,61 +623,33 @@ function CalendarDayButton({
|
|
|
663
623
|
);
|
|
664
624
|
}
|
|
665
625
|
|
|
666
|
-
// src/components/card.tsx
|
|
626
|
+
// src/components/card/card.tsx
|
|
667
627
|
import * as React10 from "react";
|
|
668
628
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
669
|
-
var Card = React10.forwardRef(
|
|
670
|
-
"div",
|
|
671
|
-
|
|
672
|
-
ref,
|
|
673
|
-
className: cn(
|
|
674
|
-
"rounded-xl border bg-card text-card-foreground shadow",
|
|
675
|
-
className
|
|
676
|
-
),
|
|
677
|
-
...props
|
|
678
|
-
}
|
|
679
|
-
));
|
|
629
|
+
var Card = React10.forwardRef(
|
|
630
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("dl-card", className), ...props })
|
|
631
|
+
);
|
|
680
632
|
Card.displayName = "Card";
|
|
681
|
-
var CardHeader = React10.forwardRef(
|
|
682
|
-
"div",
|
|
683
|
-
|
|
684
|
-
ref,
|
|
685
|
-
className: cn("flex flex-col space-y-1.5 p-6", className),
|
|
686
|
-
...props
|
|
687
|
-
}
|
|
688
|
-
));
|
|
633
|
+
var CardHeader = React10.forwardRef(
|
|
634
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("dl-card__header", className), ...props })
|
|
635
|
+
);
|
|
689
636
|
CardHeader.displayName = "CardHeader";
|
|
690
|
-
var CardTitle = React10.forwardRef(
|
|
691
|
-
"
|
|
692
|
-
|
|
693
|
-
ref,
|
|
694
|
-
className: cn("font-semibold leading-none tracking-tight", className),
|
|
695
|
-
...props
|
|
696
|
-
}
|
|
697
|
-
));
|
|
637
|
+
var CardTitle = React10.forwardRef(
|
|
638
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("h3", { ref, className: cn("dl-card__title", className), ...props })
|
|
639
|
+
);
|
|
698
640
|
CardTitle.displayName = "CardTitle";
|
|
699
|
-
var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
700
|
-
"div",
|
|
701
|
-
{
|
|
702
|
-
ref,
|
|
703
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
704
|
-
...props
|
|
705
|
-
}
|
|
706
|
-
));
|
|
641
|
+
var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10("p", { ref, className: cn("dl-card__desc", className), ...props }));
|
|
707
642
|
CardDescription.displayName = "CardDescription";
|
|
708
|
-
var CardContent = React10.forwardRef(
|
|
643
|
+
var CardContent = React10.forwardRef(
|
|
644
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("dl-card__content", className), ...props })
|
|
645
|
+
);
|
|
709
646
|
CardContent.displayName = "CardContent";
|
|
710
|
-
var CardFooter = React10.forwardRef(
|
|
711
|
-
"div",
|
|
712
|
-
|
|
713
|
-
ref,
|
|
714
|
-
className: cn("flex items-center p-6 pt-0", className),
|
|
715
|
-
...props
|
|
716
|
-
}
|
|
717
|
-
));
|
|
647
|
+
var CardFooter = React10.forwardRef(
|
|
648
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("dl-card__footer", className), ...props })
|
|
649
|
+
);
|
|
718
650
|
CardFooter.displayName = "CardFooter";
|
|
719
651
|
|
|
720
|
-
// src/components/carousel.tsx
|
|
652
|
+
// src/components/carousel/carousel.tsx
|
|
721
653
|
import * as React11 from "react";
|
|
722
654
|
import useEmblaCarousel from "embla-carousel-react";
|
|
723
655
|
import { ArrowLeft, ArrowRight } from "lucide-react";
|
|
@@ -741,27 +673,18 @@ var Carousel = React11.forwardRef(
|
|
|
741
673
|
...props
|
|
742
674
|
}, ref) => {
|
|
743
675
|
const [carouselRef, api] = useEmblaCarousel(
|
|
744
|
-
{
|
|
745
|
-
...opts,
|
|
746
|
-
axis: orientation === "horizontal" ? "x" : "y"
|
|
747
|
-
},
|
|
676
|
+
{ ...opts, axis: orientation === "horizontal" ? "x" : "y" },
|
|
748
677
|
plugins
|
|
749
678
|
);
|
|
750
679
|
const [canScrollPrev, setCanScrollPrev] = React11.useState(false);
|
|
751
680
|
const [canScrollNext, setCanScrollNext] = React11.useState(false);
|
|
752
|
-
const onSelect = React11.useCallback((
|
|
753
|
-
if (!
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
setCanScrollPrev(api2.canScrollPrev());
|
|
757
|
-
setCanScrollNext(api2.canScrollNext());
|
|
681
|
+
const onSelect = React11.useCallback((emblaApi) => {
|
|
682
|
+
if (!emblaApi) return;
|
|
683
|
+
setCanScrollPrev(emblaApi.canScrollPrev());
|
|
684
|
+
setCanScrollNext(emblaApi.canScrollNext());
|
|
758
685
|
}, []);
|
|
759
|
-
const scrollPrev = React11.useCallback(() =>
|
|
760
|
-
|
|
761
|
-
}, [api]);
|
|
762
|
-
const scrollNext = React11.useCallback(() => {
|
|
763
|
-
api?.scrollNext();
|
|
764
|
-
}, [api]);
|
|
686
|
+
const scrollPrev = React11.useCallback(() => api?.scrollPrev(), [api]);
|
|
687
|
+
const scrollNext = React11.useCallback(() => api?.scrollNext(), [api]);
|
|
765
688
|
const handleKeyDown = React11.useCallback(
|
|
766
689
|
(event) => {
|
|
767
690
|
if (event.key === "ArrowLeft") {
|
|
@@ -775,15 +698,11 @@ var Carousel = React11.forwardRef(
|
|
|
775
698
|
[scrollPrev, scrollNext]
|
|
776
699
|
);
|
|
777
700
|
React11.useEffect(() => {
|
|
778
|
-
if (!api || !setApi)
|
|
779
|
-
return;
|
|
780
|
-
}
|
|
701
|
+
if (!api || !setApi) return;
|
|
781
702
|
setApi(api);
|
|
782
703
|
}, [api, setApi]);
|
|
783
704
|
React11.useEffect(() => {
|
|
784
|
-
if (!api)
|
|
785
|
-
return;
|
|
786
|
-
}
|
|
705
|
+
if (!api) return;
|
|
787
706
|
onSelect(api);
|
|
788
707
|
api.on("reInit", onSelect);
|
|
789
708
|
api.on("select", onSelect);
|
|
@@ -809,7 +728,7 @@ var Carousel = React11.forwardRef(
|
|
|
809
728
|
{
|
|
810
729
|
ref,
|
|
811
730
|
onKeyDownCapture: handleKeyDown,
|
|
812
|
-
className: cn("
|
|
731
|
+
className: cn("dl-carousel", className),
|
|
813
732
|
role: "region",
|
|
814
733
|
"aria-roledescription": "carousel",
|
|
815
734
|
...props,
|
|
@@ -821,39 +740,43 @@ var Carousel = React11.forwardRef(
|
|
|
821
740
|
}
|
|
822
741
|
);
|
|
823
742
|
Carousel.displayName = "Carousel";
|
|
824
|
-
var CarouselContent = React11.forwardRef(
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
"div",
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
});
|
|
743
|
+
var CarouselContent = React11.forwardRef(
|
|
744
|
+
({ className, ...props }, ref) => {
|
|
745
|
+
const { carouselRef, orientation } = useCarousel();
|
|
746
|
+
return /* @__PURE__ */ jsx11("div", { ref: carouselRef, className: "dl-carousel-viewport", children: /* @__PURE__ */ jsx11(
|
|
747
|
+
"div",
|
|
748
|
+
{
|
|
749
|
+
ref,
|
|
750
|
+
className: cn(
|
|
751
|
+
"dl-carousel-track",
|
|
752
|
+
orientation === "horizontal" ? "dl-carousel-track--horizontal" : "dl-carousel-track--vertical",
|
|
753
|
+
className
|
|
754
|
+
),
|
|
755
|
+
...props
|
|
756
|
+
}
|
|
757
|
+
) });
|
|
758
|
+
}
|
|
759
|
+
);
|
|
839
760
|
CarouselContent.displayName = "CarouselContent";
|
|
840
|
-
var CarouselItem = React11.forwardRef(
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
761
|
+
var CarouselItem = React11.forwardRef(
|
|
762
|
+
({ className, ...props }, ref) => {
|
|
763
|
+
const { orientation } = useCarousel();
|
|
764
|
+
return /* @__PURE__ */ jsx11(
|
|
765
|
+
"div",
|
|
766
|
+
{
|
|
767
|
+
ref,
|
|
768
|
+
role: "group",
|
|
769
|
+
"aria-roledescription": "slide",
|
|
770
|
+
className: cn(
|
|
771
|
+
"dl-carousel-item",
|
|
772
|
+
orientation === "horizontal" ? "dl-carousel-item--horizontal" : "dl-carousel-item--vertical",
|
|
773
|
+
className
|
|
774
|
+
),
|
|
775
|
+
...props
|
|
776
|
+
}
|
|
777
|
+
);
|
|
778
|
+
}
|
|
779
|
+
);
|
|
857
780
|
CarouselItem.displayName = "CarouselItem";
|
|
858
781
|
var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
859
782
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
@@ -864,47 +787,49 @@ var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", siz
|
|
|
864
787
|
variant,
|
|
865
788
|
size,
|
|
866
789
|
className: cn(
|
|
867
|
-
"
|
|
868
|
-
orientation === "horizontal" ? "-
|
|
790
|
+
"dl-carousel-btn",
|
|
791
|
+
orientation === "horizontal" ? "dl-carousel-btn--prev-horizontal" : "dl-carousel-btn--prev-vertical",
|
|
869
792
|
className
|
|
870
793
|
),
|
|
871
794
|
disabled: !canScrollPrev,
|
|
872
795
|
onClick: scrollPrev,
|
|
873
796
|
...props,
|
|
874
797
|
children: [
|
|
875
|
-
/* @__PURE__ */ jsx11(ArrowLeft, {
|
|
798
|
+
/* @__PURE__ */ jsx11(ArrowLeft, {}),
|
|
876
799
|
/* @__PURE__ */ jsx11("span", { className: "sr-only", children: "Previous slide" })
|
|
877
800
|
]
|
|
878
801
|
}
|
|
879
802
|
);
|
|
880
803
|
});
|
|
881
804
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
882
|
-
var CarouselNext = React11.forwardRef(
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
805
|
+
var CarouselNext = React11.forwardRef(
|
|
806
|
+
({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
807
|
+
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
808
|
+
return /* @__PURE__ */ jsxs4(
|
|
809
|
+
Button,
|
|
810
|
+
{
|
|
811
|
+
ref,
|
|
812
|
+
variant,
|
|
813
|
+
size,
|
|
814
|
+
className: cn(
|
|
815
|
+
"dl-carousel-btn",
|
|
816
|
+
orientation === "horizontal" ? "dl-carousel-btn--next-horizontal" : "dl-carousel-btn--next-vertical",
|
|
817
|
+
className
|
|
818
|
+
),
|
|
819
|
+
disabled: !canScrollNext,
|
|
820
|
+
onClick: scrollNext,
|
|
821
|
+
...props,
|
|
822
|
+
children: [
|
|
823
|
+
/* @__PURE__ */ jsx11(ArrowRight, {}),
|
|
824
|
+
/* @__PURE__ */ jsx11("span", { className: "sr-only", children: "Next slide" })
|
|
825
|
+
]
|
|
826
|
+
}
|
|
827
|
+
);
|
|
828
|
+
}
|
|
829
|
+
);
|
|
905
830
|
CarouselNext.displayName = "CarouselNext";
|
|
906
831
|
|
|
907
|
-
// src/components/chart.tsx
|
|
832
|
+
// src/components/chart/chart.tsx
|
|
908
833
|
import * as React12 from "react";
|
|
909
834
|
import * as RechartsPrimitive from "recharts";
|
|
910
835
|
import { Fragment, jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
@@ -917,26 +842,25 @@ function useChart() {
|
|
|
917
842
|
}
|
|
918
843
|
return context;
|
|
919
844
|
}
|
|
920
|
-
var ChartContainer = React12.forwardRef(
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
});
|
|
845
|
+
var ChartContainer = React12.forwardRef(
|
|
846
|
+
({ id, className, children, config, ...props }, ref) => {
|
|
847
|
+
const uniqueId = React12.useId();
|
|
848
|
+
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
849
|
+
return /* @__PURE__ */ jsx12(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs5(
|
|
850
|
+
"div",
|
|
851
|
+
{
|
|
852
|
+
"data-chart": chartId,
|
|
853
|
+
ref,
|
|
854
|
+
className: cn("dl-chart-container", className),
|
|
855
|
+
...props,
|
|
856
|
+
children: [
|
|
857
|
+
/* @__PURE__ */ jsx12(ChartStyle, { id: chartId, config }),
|
|
858
|
+
/* @__PURE__ */ jsx12(RechartsPrimitive.ResponsiveContainer, { children })
|
|
859
|
+
]
|
|
860
|
+
}
|
|
861
|
+
) });
|
|
862
|
+
}
|
|
863
|
+
);
|
|
940
864
|
ChartContainer.displayName = "Chart";
|
|
941
865
|
var ChartStyle = ({ id, config }) => {
|
|
942
866
|
const colorConfig = Object.entries(config).filter(
|
|
@@ -1009,70 +933,60 @@ var ChartTooltipContent = React12.forwardRef(
|
|
|
1009
933
|
return null;
|
|
1010
934
|
}
|
|
1011
935
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
1012
|
-
return /* @__PURE__ */ jsxs5(
|
|
1013
|
-
|
|
1014
|
-
{
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
indicator === "dot" && "items-center"
|
|
1032
|
-
),
|
|
1033
|
-
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
1034
|
-
itemConfig?.icon ? /* @__PURE__ */ jsx12(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx12(
|
|
1035
|
-
"div",
|
|
936
|
+
return /* @__PURE__ */ jsxs5("div", { ref, className: cn("dl-chart-tooltip", className), children: [
|
|
937
|
+
!nestLabel ? tooltipLabel : null,
|
|
938
|
+
/* @__PURE__ */ jsx12("div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
939
|
+
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
940
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
941
|
+
const indicatorColor = color || item.payload.fill || item.color;
|
|
942
|
+
return /* @__PURE__ */ jsx12(
|
|
943
|
+
"div",
|
|
944
|
+
{
|
|
945
|
+
className: cn(
|
|
946
|
+
"flex flex-wrap items-stretch gap-2 [&>svg]:text-muted-foreground [&>svg]:size-2.5",
|
|
947
|
+
indicator === "dot" && "items-center"
|
|
948
|
+
),
|
|
949
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
950
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx12(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx12(
|
|
951
|
+
"div",
|
|
952
|
+
{
|
|
953
|
+
className: cn(
|
|
954
|
+
"shrink-0 rounded-xs border-border bg-(--color-bg)",
|
|
1036
955
|
{
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
"w-1": indicator === "line",
|
|
1042
|
-
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
1043
|
-
"my-0.5": nestLabel && indicator === "dashed"
|
|
1044
|
-
}
|
|
1045
|
-
),
|
|
1046
|
-
style: {
|
|
1047
|
-
"--color-bg": indicatorColor,
|
|
1048
|
-
"--color-border": indicatorColor
|
|
1049
|
-
}
|
|
956
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
957
|
+
"w-1": indicator === "line",
|
|
958
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
959
|
+
"my-0.5": nestLabel && indicator === "dashed"
|
|
1050
960
|
}
|
|
1051
961
|
),
|
|
1052
|
-
|
|
1053
|
-
"
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
962
|
+
style: {
|
|
963
|
+
"--color-bg": indicatorColor,
|
|
964
|
+
"--color-border": indicatorColor
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
),
|
|
968
|
+
/* @__PURE__ */ jsxs5(
|
|
969
|
+
"div",
|
|
970
|
+
{
|
|
971
|
+
className: cn(
|
|
972
|
+
"flex flex-1 justify-between leading-none",
|
|
973
|
+
nestLabel ? "items-end" : "items-center"
|
|
974
|
+
),
|
|
975
|
+
children: [
|
|
976
|
+
/* @__PURE__ */ jsxs5("div", { className: "grid gap-1.5", children: [
|
|
977
|
+
nestLabel ? tooltipLabel : null,
|
|
978
|
+
/* @__PURE__ */ jsx12("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
979
|
+
] }),
|
|
980
|
+
item.value && /* @__PURE__ */ jsx12("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
981
|
+
]
|
|
982
|
+
}
|
|
983
|
+
)
|
|
984
|
+
] })
|
|
985
|
+
},
|
|
986
|
+
item.dataKey
|
|
987
|
+
);
|
|
988
|
+
}) })
|
|
989
|
+
] });
|
|
1076
990
|
}
|
|
1077
991
|
);
|
|
1078
992
|
ChartTooltipContent.displayName = "ChartTooltip";
|
|
@@ -1088,7 +1002,7 @@ var ChartLegendContent = React12.forwardRef(
|
|
|
1088
1002
|
{
|
|
1089
1003
|
ref,
|
|
1090
1004
|
className: cn(
|
|
1091
|
-
"
|
|
1005
|
+
"dl-chart-legend",
|
|
1092
1006
|
verticalAlign === "top" ? "pb-3" : "pt-3",
|
|
1093
1007
|
className
|
|
1094
1008
|
),
|
|
@@ -1136,7 +1050,7 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
1136
1050
|
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
1137
1051
|
}
|
|
1138
1052
|
|
|
1139
|
-
// src/components/checkbox.tsx
|
|
1053
|
+
// src/components/checkbox/checkbox.tsx
|
|
1140
1054
|
import * as React13 from "react";
|
|
1141
1055
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1142
1056
|
import { Check } from "lucide-react";
|
|
@@ -1145,34 +1059,25 @@ var Checkbox = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1145
1059
|
CheckboxPrimitive.Root,
|
|
1146
1060
|
{
|
|
1147
1061
|
ref,
|
|
1148
|
-
className: cn(
|
|
1149
|
-
"grid place-content-center peer shrink-0 rounded-sm border border-primary shadow cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground size-4",
|
|
1150
|
-
className
|
|
1151
|
-
),
|
|
1062
|
+
className: cn("dl-checkbox", className),
|
|
1152
1063
|
...props,
|
|
1153
|
-
children: /* @__PURE__ */ jsx13(
|
|
1154
|
-
CheckboxPrimitive.Indicator,
|
|
1155
|
-
{
|
|
1156
|
-
className: cn("grid place-content-center text-current"),
|
|
1157
|
-
children: /* @__PURE__ */ jsx13(Check, { className: "size-4" })
|
|
1158
|
-
}
|
|
1159
|
-
)
|
|
1064
|
+
children: /* @__PURE__ */ jsx13(CheckboxPrimitive.Indicator, { className: "grid place-content-center text-current", children: /* @__PURE__ */ jsx13(Check, { style: { width: "0.75rem", height: "0.75rem" } }) })
|
|
1160
1065
|
}
|
|
1161
1066
|
));
|
|
1162
1067
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
1163
1068
|
|
|
1164
|
-
// src/components/collapsible.tsx
|
|
1069
|
+
// src/components/collapsible/collapsible.tsx
|
|
1165
1070
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1166
1071
|
var Collapsible = CollapsiblePrimitive.Root;
|
|
1167
1072
|
var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
|
1168
1073
|
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
1169
1074
|
|
|
1170
|
-
// src/components/command.tsx
|
|
1075
|
+
// src/components/command/command.tsx
|
|
1171
1076
|
import * as React15 from "react";
|
|
1172
1077
|
import { Command as CommandPrimitive } from "cmdk";
|
|
1173
1078
|
import { Search } from "lucide-react";
|
|
1174
1079
|
|
|
1175
|
-
// src/components/dialog.tsx
|
|
1080
|
+
// src/components/dialog/dialog.tsx
|
|
1176
1081
|
import * as React14 from "react";
|
|
1177
1082
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
1178
1083
|
import { X } from "lucide-react";
|
|
@@ -1185,10 +1090,7 @@ var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1185
1090
|
DialogPrimitive.Overlay,
|
|
1186
1091
|
{
|
|
1187
1092
|
ref,
|
|
1188
|
-
className: cn(
|
|
1189
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1190
|
-
className
|
|
1191
|
-
),
|
|
1093
|
+
className: cn("dl-dialog-overlay", className),
|
|
1192
1094
|
...props
|
|
1193
1095
|
}
|
|
1194
1096
|
));
|
|
@@ -1199,16 +1101,25 @@ var DialogContent = React14.forwardRef(({ className, children, ...props }, ref)
|
|
|
1199
1101
|
DialogPrimitive.Content,
|
|
1200
1102
|
{
|
|
1201
1103
|
ref,
|
|
1202
|
-
className: cn(
|
|
1203
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 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 sm:rounded-lg translate-[-50%]",
|
|
1204
|
-
className
|
|
1205
|
-
),
|
|
1104
|
+
className: cn("dl-dialog-content", className),
|
|
1206
1105
|
...props,
|
|
1207
1106
|
children: [
|
|
1208
1107
|
children,
|
|
1209
|
-
/* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "
|
|
1210
|
-
/* @__PURE__ */ jsx14(X, {
|
|
1211
|
-
/* @__PURE__ */ jsx14(
|
|
1108
|
+
/* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "dl-dialog-close", children: [
|
|
1109
|
+
/* @__PURE__ */ jsx14(X, { style: { width: "1rem", height: "1rem" } }),
|
|
1110
|
+
/* @__PURE__ */ jsx14(
|
|
1111
|
+
"span",
|
|
1112
|
+
{
|
|
1113
|
+
style: {
|
|
1114
|
+
position: "absolute",
|
|
1115
|
+
width: 1,
|
|
1116
|
+
height: 1,
|
|
1117
|
+
overflow: "hidden",
|
|
1118
|
+
clip: "rect(0,0,0,0)"
|
|
1119
|
+
},
|
|
1120
|
+
children: "Close"
|
|
1121
|
+
}
|
|
1122
|
+
)
|
|
1212
1123
|
] })
|
|
1213
1124
|
]
|
|
1214
1125
|
}
|
|
@@ -1218,39 +1129,18 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
|
1218
1129
|
var DialogHeader = ({
|
|
1219
1130
|
className,
|
|
1220
1131
|
...props
|
|
1221
|
-
}) => /* @__PURE__ */ jsx14(
|
|
1222
|
-
"div",
|
|
1223
|
-
{
|
|
1224
|
-
className: cn(
|
|
1225
|
-
"flex flex-col space-y-1.5 text-center sm:text-left",
|
|
1226
|
-
className
|
|
1227
|
-
),
|
|
1228
|
-
...props
|
|
1229
|
-
}
|
|
1230
|
-
);
|
|
1132
|
+
}) => /* @__PURE__ */ jsx14("div", { className: cn("dl-dialog__header", className), ...props });
|
|
1231
1133
|
DialogHeader.displayName = "DialogHeader";
|
|
1232
1134
|
var DialogFooter = ({
|
|
1233
1135
|
className,
|
|
1234
1136
|
...props
|
|
1235
|
-
}) => /* @__PURE__ */ jsx14(
|
|
1236
|
-
"div",
|
|
1237
|
-
{
|
|
1238
|
-
className: cn(
|
|
1239
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
1240
|
-
className
|
|
1241
|
-
),
|
|
1242
|
-
...props
|
|
1243
|
-
}
|
|
1244
|
-
);
|
|
1137
|
+
}) => /* @__PURE__ */ jsx14("div", { className: cn("dl-dialog__footer", className), ...props });
|
|
1245
1138
|
DialogFooter.displayName = "DialogFooter";
|
|
1246
1139
|
var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1247
1140
|
DialogPrimitive.Title,
|
|
1248
1141
|
{
|
|
1249
1142
|
ref,
|
|
1250
|
-
className: cn(
|
|
1251
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1252
|
-
className
|
|
1253
|
-
),
|
|
1143
|
+
className: cn("dl-dialog__title", className),
|
|
1254
1144
|
...props
|
|
1255
1145
|
}
|
|
1256
1146
|
));
|
|
@@ -1259,39 +1149,33 @@ var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1259
1149
|
DialogPrimitive.Description,
|
|
1260
1150
|
{
|
|
1261
1151
|
ref,
|
|
1262
|
-
className: cn("
|
|
1152
|
+
className: cn("dl-dialog__desc", className),
|
|
1263
1153
|
...props
|
|
1264
1154
|
}
|
|
1265
1155
|
));
|
|
1266
1156
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1267
1157
|
|
|
1268
|
-
// src/components/command.tsx
|
|
1158
|
+
// src/components/command/command.tsx
|
|
1269
1159
|
import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1270
1160
|
var Command = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
1271
1161
|
CommandPrimitive,
|
|
1272
1162
|
{
|
|
1273
1163
|
ref,
|
|
1274
|
-
className: cn(
|
|
1275
|
-
"flex flex-col overflow-hidden rounded-md bg-popover text-popover-foreground size-full",
|
|
1276
|
-
className
|
|
1277
|
-
),
|
|
1164
|
+
className: cn("dl-command", className),
|
|
1278
1165
|
...props
|
|
1279
1166
|
}
|
|
1280
1167
|
));
|
|
1281
1168
|
Command.displayName = CommandPrimitive.displayName;
|
|
1282
1169
|
var CommandDialog = ({ children, ...props }) => {
|
|
1283
|
-
return /* @__PURE__ */ jsx15(Dialog, { ...props, children: /* @__PURE__ */ jsx15(DialogContent, { className: "
|
|
1170
|
+
return /* @__PURE__ */ jsx15(Dialog, { ...props, children: /* @__PURE__ */ jsx15(DialogContent, { className: "dl-command-dialog-content", children: /* @__PURE__ */ jsx15(Command, { children }) }) });
|
|
1284
1171
|
};
|
|
1285
|
-
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs7("div", { className: "
|
|
1286
|
-
/* @__PURE__ */ jsx15(Search, { className: "
|
|
1172
|
+
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs7("div", { className: "dl-command-input-wrapper", "cmdk-input-wrapper": "", children: [
|
|
1173
|
+
/* @__PURE__ */ jsx15(Search, { className: "dl-command-input-icon" }),
|
|
1287
1174
|
/* @__PURE__ */ jsx15(
|
|
1288
1175
|
CommandPrimitive.Input,
|
|
1289
1176
|
{
|
|
1290
1177
|
ref,
|
|
1291
|
-
className: cn(
|
|
1292
|
-
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
1293
|
-
className
|
|
1294
|
-
),
|
|
1178
|
+
className: cn("dl-command-input", className),
|
|
1295
1179
|
...props
|
|
1296
1180
|
}
|
|
1297
1181
|
)
|
|
@@ -1301,28 +1185,18 @@ var CommandList = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1301
1185
|
CommandPrimitive.List,
|
|
1302
1186
|
{
|
|
1303
1187
|
ref,
|
|
1304
|
-
className: cn("
|
|
1188
|
+
className: cn("dl-command-list", className),
|
|
1305
1189
|
...props
|
|
1306
1190
|
}
|
|
1307
1191
|
));
|
|
1308
1192
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
1309
|
-
var CommandEmpty = React15.forwardRef((props, ref) => /* @__PURE__ */ jsx15(
|
|
1310
|
-
CommandPrimitive.Empty,
|
|
1311
|
-
{
|
|
1312
|
-
ref,
|
|
1313
|
-
className: "py-6 text-center text-sm",
|
|
1314
|
-
...props
|
|
1315
|
-
}
|
|
1316
|
-
));
|
|
1193
|
+
var CommandEmpty = React15.forwardRef((props, ref) => /* @__PURE__ */ jsx15(CommandPrimitive.Empty, { ref, className: "dl-command-empty", ...props }));
|
|
1317
1194
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
1318
1195
|
var CommandGroup = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
1319
1196
|
CommandPrimitive.Group,
|
|
1320
1197
|
{
|
|
1321
1198
|
ref,
|
|
1322
|
-
className: cn(
|
|
1323
|
-
"overflow-hidden p-1 **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
1324
|
-
className
|
|
1325
|
-
),
|
|
1199
|
+
className: cn("dl-command-group", className),
|
|
1326
1200
|
...props
|
|
1327
1201
|
}
|
|
1328
1202
|
));
|
|
@@ -1331,7 +1205,7 @@ var CommandSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1331
1205
|
CommandPrimitive.Separator,
|
|
1332
1206
|
{
|
|
1333
1207
|
ref,
|
|
1334
|
-
className: cn("-
|
|
1208
|
+
className: cn("dl-command-separator", className),
|
|
1335
1209
|
...props
|
|
1336
1210
|
}
|
|
1337
1211
|
));
|
|
@@ -1340,146 +1214,142 @@ var CommandItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1340
1214
|
CommandPrimitive.Item,
|
|
1341
1215
|
{
|
|
1342
1216
|
ref,
|
|
1343
|
-
className: cn(
|
|
1344
|
-
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",
|
|
1345
|
-
className
|
|
1346
|
-
),
|
|
1217
|
+
className: cn("dl-command-item", className),
|
|
1347
1218
|
...props
|
|
1348
1219
|
}
|
|
1349
1220
|
));
|
|
1350
1221
|
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
|
1351
|
-
var CommandShortcut = ({
|
|
1352
|
-
className,
|
|
1353
|
-
...props
|
|
1354
|
-
}) => {
|
|
1355
|
-
return /* @__PURE__ */ jsx15(
|
|
1356
|
-
"span",
|
|
1357
|
-
{
|
|
1358
|
-
className: cn(
|
|
1359
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
1360
|
-
className
|
|
1361
|
-
),
|
|
1362
|
-
...props
|
|
1363
|
-
}
|
|
1364
|
-
);
|
|
1222
|
+
var CommandShortcut = ({ className, ...props }) => {
|
|
1223
|
+
return /* @__PURE__ */ jsx15("span", { className: cn("dl-command-shortcut", className), ...props });
|
|
1365
1224
|
};
|
|
1366
1225
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1367
1226
|
|
|
1368
|
-
// src/components/
|
|
1227
|
+
// src/components/confirm-dialog/confirm-dialog.tsx
|
|
1228
|
+
import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1229
|
+
function ConfirmDialog({
|
|
1230
|
+
open,
|
|
1231
|
+
onOpenChange,
|
|
1232
|
+
title,
|
|
1233
|
+
description,
|
|
1234
|
+
onConfirm,
|
|
1235
|
+
confirmText = "Confirm",
|
|
1236
|
+
cancelText = "Cancel",
|
|
1237
|
+
destructive = false
|
|
1238
|
+
}) {
|
|
1239
|
+
return /* @__PURE__ */ jsx16(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs8(AlertDialogContent, { children: [
|
|
1240
|
+
/* @__PURE__ */ jsxs8(AlertDialogHeader, { children: [
|
|
1241
|
+
/* @__PURE__ */ jsx16(AlertDialogTitle, { children: title }),
|
|
1242
|
+
/* @__PURE__ */ jsx16(AlertDialogDescription, { children: description })
|
|
1243
|
+
] }),
|
|
1244
|
+
/* @__PURE__ */ jsxs8(AlertDialogFooter, { children: [
|
|
1245
|
+
/* @__PURE__ */ jsx16(AlertDialogCancel, { children: cancelText }),
|
|
1246
|
+
/* @__PURE__ */ jsx16(
|
|
1247
|
+
AlertDialogAction,
|
|
1248
|
+
{
|
|
1249
|
+
onClick: onConfirm,
|
|
1250
|
+
className: destructive ? "dl-btn--destructive" : "",
|
|
1251
|
+
children: confirmText
|
|
1252
|
+
}
|
|
1253
|
+
)
|
|
1254
|
+
] })
|
|
1255
|
+
] }) });
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
// src/components/context-menu/context-menu.tsx
|
|
1369
1259
|
import * as React16 from "react";
|
|
1370
1260
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1371
1261
|
import { Check as Check2, ChevronRight as ChevronRight2, Circle } from "lucide-react";
|
|
1372
|
-
import { jsx as
|
|
1262
|
+
import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1373
1263
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
1374
1264
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1375
1265
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
1376
1266
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
1377
1267
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
1378
1268
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
1379
|
-
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
1269
|
+
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1380
1270
|
ContextMenuPrimitive.SubTrigger,
|
|
1381
1271
|
{
|
|
1382
1272
|
ref,
|
|
1383
1273
|
className: cn(
|
|
1384
|
-
"
|
|
1274
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1385
1275
|
inset && "pl-8",
|
|
1386
1276
|
className
|
|
1387
1277
|
),
|
|
1388
1278
|
...props,
|
|
1389
1279
|
children: [
|
|
1390
1280
|
children,
|
|
1391
|
-
/* @__PURE__ */
|
|
1281
|
+
/* @__PURE__ */ jsx17(ChevronRight2, { className: "ml-auto size-4" })
|
|
1392
1282
|
]
|
|
1393
1283
|
}
|
|
1394
1284
|
));
|
|
1395
1285
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1396
|
-
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1286
|
+
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1397
1287
|
ContextMenuPrimitive.SubContent,
|
|
1398
1288
|
{
|
|
1399
1289
|
ref,
|
|
1400
|
-
className: cn(
|
|
1401
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)",
|
|
1402
|
-
className
|
|
1403
|
-
),
|
|
1290
|
+
className: cn("dl-menu-content", className),
|
|
1404
1291
|
...props
|
|
1405
1292
|
}
|
|
1406
1293
|
));
|
|
1407
1294
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1408
|
-
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1295
|
+
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
|
|
1409
1296
|
ContextMenuPrimitive.Content,
|
|
1410
1297
|
{
|
|
1411
1298
|
ref,
|
|
1412
|
-
className: cn(
|
|
1413
|
-
"z-50 max-h-(--radix-context-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)",
|
|
1414
|
-
className
|
|
1415
|
-
),
|
|
1299
|
+
className: cn("dl-context-menu-content", className),
|
|
1416
1300
|
...props
|
|
1417
1301
|
}
|
|
1418
1302
|
) }));
|
|
1419
1303
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1420
|
-
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1304
|
+
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1421
1305
|
ContextMenuPrimitive.Item,
|
|
1422
1306
|
{
|
|
1423
1307
|
ref,
|
|
1424
|
-
className: cn(
|
|
1425
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1426
|
-
inset && "pl-8",
|
|
1427
|
-
className
|
|
1428
|
-
),
|
|
1308
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1429
1309
|
...props
|
|
1430
1310
|
}
|
|
1431
1311
|
));
|
|
1432
1312
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1433
|
-
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1313
|
+
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1434
1314
|
ContextMenuPrimitive.CheckboxItem,
|
|
1435
1315
|
{
|
|
1436
1316
|
ref,
|
|
1437
|
-
className: cn(
|
|
1438
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1439
|
-
className
|
|
1440
|
-
),
|
|
1317
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1441
1318
|
...props,
|
|
1442
1319
|
children: [
|
|
1443
|
-
/* @__PURE__ */
|
|
1320
|
+
/* @__PURE__ */ jsx17("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Check2, { className: "size-4" }) }) }),
|
|
1444
1321
|
children
|
|
1445
1322
|
]
|
|
1446
1323
|
}
|
|
1447
1324
|
));
|
|
1448
1325
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1449
|
-
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1326
|
+
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1450
1327
|
ContextMenuPrimitive.RadioItem,
|
|
1451
1328
|
{
|
|
1452
1329
|
ref,
|
|
1453
|
-
className: cn(
|
|
1454
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1455
|
-
className
|
|
1456
|
-
),
|
|
1330
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
1457
1331
|
...props,
|
|
1458
1332
|
children: [
|
|
1459
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsx17("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Circle, { className: "fill-current size-2" }) }) }),
|
|
1460
1334
|
children
|
|
1461
1335
|
]
|
|
1462
1336
|
}
|
|
1463
1337
|
));
|
|
1464
1338
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1465
|
-
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1339
|
+
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1466
1340
|
ContextMenuPrimitive.Label,
|
|
1467
1341
|
{
|
|
1468
1342
|
ref,
|
|
1469
|
-
className: cn(
|
|
1470
|
-
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
1471
|
-
inset && "pl-8",
|
|
1472
|
-
className
|
|
1473
|
-
),
|
|
1343
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
1474
1344
|
...props
|
|
1475
1345
|
}
|
|
1476
1346
|
));
|
|
1477
1347
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1478
|
-
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1348
|
+
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1479
1349
|
ContextMenuPrimitive.Separator,
|
|
1480
1350
|
{
|
|
1481
1351
|
ref,
|
|
1482
|
-
className: cn("-
|
|
1352
|
+
className: cn("dl-menu-separator", className),
|
|
1483
1353
|
...props
|
|
1484
1354
|
}
|
|
1485
1355
|
));
|
|
@@ -1488,27 +1358,93 @@ var ContextMenuShortcut = ({
|
|
|
1488
1358
|
className,
|
|
1489
1359
|
...props
|
|
1490
1360
|
}) => {
|
|
1491
|
-
return /* @__PURE__ */
|
|
1492
|
-
"span",
|
|
1493
|
-
{
|
|
1494
|
-
className: cn(
|
|
1495
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
1496
|
-
className
|
|
1497
|
-
),
|
|
1498
|
-
...props
|
|
1499
|
-
}
|
|
1500
|
-
);
|
|
1361
|
+
return /* @__PURE__ */ jsx17("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
1501
1362
|
};
|
|
1502
1363
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
1503
1364
|
|
|
1504
|
-
// src/components/
|
|
1365
|
+
// src/components/date-picker/date-picker.tsx
|
|
1366
|
+
import * as React18 from "react";
|
|
1367
|
+
import { format } from "date-fns";
|
|
1368
|
+
import { Calendar as CalendarIcon } from "lucide-react";
|
|
1369
|
+
|
|
1370
|
+
// src/components/popover/popover.tsx
|
|
1505
1371
|
import * as React17 from "react";
|
|
1372
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1373
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1374
|
+
var Popover = PopoverPrimitive.Root;
|
|
1375
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1376
|
+
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
1377
|
+
var PopoverContent = React17.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx18(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx18(
|
|
1378
|
+
PopoverPrimitive.Content,
|
|
1379
|
+
{
|
|
1380
|
+
ref,
|
|
1381
|
+
align,
|
|
1382
|
+
sideOffset,
|
|
1383
|
+
className: cn("dl-popover", className),
|
|
1384
|
+
...props
|
|
1385
|
+
}
|
|
1386
|
+
) }));
|
|
1387
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1388
|
+
|
|
1389
|
+
// src/components/date-picker/date-picker.tsx
|
|
1390
|
+
import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1391
|
+
function DatePicker({
|
|
1392
|
+
value,
|
|
1393
|
+
onChange,
|
|
1394
|
+
placeholder = "Pick a date",
|
|
1395
|
+
className,
|
|
1396
|
+
disabled
|
|
1397
|
+
}) {
|
|
1398
|
+
const date = React18.useMemo(() => {
|
|
1399
|
+
if (!value) return void 0;
|
|
1400
|
+
const parts = value.split("-");
|
|
1401
|
+
if (parts.length !== 3) {
|
|
1402
|
+
const d = new Date(value);
|
|
1403
|
+
return isNaN(d.getTime()) ? void 0 : d;
|
|
1404
|
+
}
|
|
1405
|
+
const year = parseInt(parts[0], 10);
|
|
1406
|
+
const month = parseInt(parts[1], 10) - 1;
|
|
1407
|
+
const day = parseInt(parts[2], 10);
|
|
1408
|
+
return new Date(year, month, day, 12, 0, 0);
|
|
1409
|
+
}, [value]);
|
|
1410
|
+
return /* @__PURE__ */ jsxs10(Popover, { children: [
|
|
1411
|
+
/* @__PURE__ */ jsx19(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs10(
|
|
1412
|
+
Button,
|
|
1413
|
+
{
|
|
1414
|
+
variant: "outline",
|
|
1415
|
+
type: "button",
|
|
1416
|
+
disabled,
|
|
1417
|
+
className: cn(
|
|
1418
|
+
"dl-date-picker-trigger",
|
|
1419
|
+
!value && "dl-date-picker-trigger--placeholder",
|
|
1420
|
+
className
|
|
1421
|
+
),
|
|
1422
|
+
children: [
|
|
1423
|
+
/* @__PURE__ */ jsx19(CalendarIcon, { className: "dl-date-picker-icon" }),
|
|
1424
|
+
date && !isNaN(date.getTime()) ? format(date, "PPP") : /* @__PURE__ */ jsx19("span", { children: placeholder })
|
|
1425
|
+
]
|
|
1426
|
+
}
|
|
1427
|
+
) }),
|
|
1428
|
+
/* @__PURE__ */ jsx19(PopoverContent, { className: "dl-date-picker-content", align: "start", children: /* @__PURE__ */ jsx19(
|
|
1429
|
+
Calendar,
|
|
1430
|
+
{
|
|
1431
|
+
mode: "single",
|
|
1432
|
+
selected: date,
|
|
1433
|
+
onSelect: (selectedDate) => onChange?.(selectedDate ? format(selectedDate, "yyyy-MM-dd") : ""),
|
|
1434
|
+
initialFocus: true
|
|
1435
|
+
}
|
|
1436
|
+
) })
|
|
1437
|
+
] });
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
// src/components/drawer/drawer.tsx
|
|
1441
|
+
import * as React19 from "react";
|
|
1506
1442
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
1507
|
-
import { jsx as
|
|
1443
|
+
import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1508
1444
|
var Drawer = ({
|
|
1509
1445
|
shouldScaleBackground = true,
|
|
1510
1446
|
...props
|
|
1511
|
-
}) => /* @__PURE__ */
|
|
1447
|
+
}) => /* @__PURE__ */ jsx20(
|
|
1512
1448
|
DrawerPrimitive.Root,
|
|
1513
1449
|
{
|
|
1514
1450
|
shouldScaleBackground,
|
|
@@ -1519,28 +1455,25 @@ Drawer.displayName = "Drawer";
|
|
|
1519
1455
|
var DrawerTrigger = DrawerPrimitive.Trigger;
|
|
1520
1456
|
var DrawerPortal = DrawerPrimitive.Portal;
|
|
1521
1457
|
var DrawerClose = DrawerPrimitive.Close;
|
|
1522
|
-
var DrawerOverlay =
|
|
1458
|
+
var DrawerOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1523
1459
|
DrawerPrimitive.Overlay,
|
|
1524
1460
|
{
|
|
1525
1461
|
ref,
|
|
1526
|
-
className: cn("
|
|
1462
|
+
className: cn("dl-drawer-overlay", className),
|
|
1527
1463
|
...props
|
|
1528
1464
|
}
|
|
1529
1465
|
));
|
|
1530
1466
|
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
1531
|
-
var DrawerContent =
|
|
1532
|
-
/* @__PURE__ */
|
|
1533
|
-
/* @__PURE__ */
|
|
1467
|
+
var DrawerContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(DrawerPortal, { children: [
|
|
1468
|
+
/* @__PURE__ */ jsx20(DrawerOverlay, {}),
|
|
1469
|
+
/* @__PURE__ */ jsxs11(
|
|
1534
1470
|
DrawerPrimitive.Content,
|
|
1535
1471
|
{
|
|
1536
1472
|
ref,
|
|
1537
|
-
className: cn(
|
|
1538
|
-
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
|
|
1539
|
-
className
|
|
1540
|
-
),
|
|
1473
|
+
className: cn("dl-drawer-content", className),
|
|
1541
1474
|
...props,
|
|
1542
1475
|
children: [
|
|
1543
|
-
/* @__PURE__ */
|
|
1476
|
+
/* @__PURE__ */ jsx20("div", { className: "dl-drawer-handle" }),
|
|
1544
1477
|
children
|
|
1545
1478
|
]
|
|
1546
1479
|
}
|
|
@@ -1550,164 +1483,138 @@ DrawerContent.displayName = "DrawerContent";
|
|
|
1550
1483
|
var DrawerHeader = ({
|
|
1551
1484
|
className,
|
|
1552
1485
|
...props
|
|
1553
|
-
}) => /* @__PURE__ */
|
|
1554
|
-
"div",
|
|
1555
|
-
{
|
|
1556
|
-
className: cn("grid gap-1.5 p-4 text-center sm:text-left", className),
|
|
1557
|
-
...props
|
|
1558
|
-
}
|
|
1559
|
-
);
|
|
1486
|
+
}) => /* @__PURE__ */ jsx20("div", { className: cn("dl-drawer-header", className), ...props });
|
|
1560
1487
|
DrawerHeader.displayName = "DrawerHeader";
|
|
1561
1488
|
var DrawerFooter = ({
|
|
1562
1489
|
className,
|
|
1563
1490
|
...props
|
|
1564
|
-
}) => /* @__PURE__ */
|
|
1565
|
-
"div",
|
|
1566
|
-
{
|
|
1567
|
-
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
1568
|
-
...props
|
|
1569
|
-
}
|
|
1570
|
-
);
|
|
1491
|
+
}) => /* @__PURE__ */ jsx20("div", { className: cn("dl-drawer-footer", className), ...props });
|
|
1571
1492
|
DrawerFooter.displayName = "DrawerFooter";
|
|
1572
|
-
var DrawerTitle =
|
|
1493
|
+
var DrawerTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1573
1494
|
DrawerPrimitive.Title,
|
|
1574
1495
|
{
|
|
1575
1496
|
ref,
|
|
1576
|
-
className: cn(
|
|
1577
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1578
|
-
className
|
|
1579
|
-
),
|
|
1497
|
+
className: cn("dl-drawer-title", className),
|
|
1580
1498
|
...props
|
|
1581
1499
|
}
|
|
1582
1500
|
));
|
|
1583
1501
|
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
1584
|
-
var DrawerDescription =
|
|
1502
|
+
var DrawerDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1585
1503
|
DrawerPrimitive.Description,
|
|
1586
1504
|
{
|
|
1587
1505
|
ref,
|
|
1588
|
-
className: cn("
|
|
1506
|
+
className: cn("dl-drawer-desc", className),
|
|
1589
1507
|
...props
|
|
1590
1508
|
}
|
|
1591
1509
|
));
|
|
1592
1510
|
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
1593
1511
|
|
|
1594
|
-
// src/components/dropdown-menu.tsx
|
|
1595
|
-
import * as
|
|
1512
|
+
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
1513
|
+
import * as React20 from "react";
|
|
1596
1514
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1597
1515
|
import { Check as Check3, ChevronRight as ChevronRight3, Circle as Circle2 } from "lucide-react";
|
|
1598
|
-
import { jsx as
|
|
1516
|
+
import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1599
1517
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
1600
1518
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
1601
1519
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
1602
1520
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
1603
1521
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
1604
1522
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
1605
|
-
var DropdownMenuSubTrigger =
|
|
1523
|
+
var DropdownMenuSubTrigger = React20.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1606
1524
|
DropdownMenuPrimitive.SubTrigger,
|
|
1607
1525
|
{
|
|
1608
1526
|
ref,
|
|
1609
1527
|
className: cn(
|
|
1610
|
-
"
|
|
1528
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1611
1529
|
inset && "pl-8",
|
|
1612
1530
|
className
|
|
1613
1531
|
),
|
|
1614
1532
|
...props,
|
|
1615
1533
|
children: [
|
|
1616
1534
|
children,
|
|
1617
|
-
/* @__PURE__ */
|
|
1535
|
+
/* @__PURE__ */ jsx21(
|
|
1536
|
+
ChevronRight3,
|
|
1537
|
+
{
|
|
1538
|
+
style: { marginLeft: "auto", width: "1rem", height: "1rem" }
|
|
1539
|
+
}
|
|
1540
|
+
)
|
|
1618
1541
|
]
|
|
1619
1542
|
}
|
|
1620
1543
|
));
|
|
1621
1544
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1622
|
-
var DropdownMenuSubContent =
|
|
1545
|
+
var DropdownMenuSubContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1623
1546
|
DropdownMenuPrimitive.SubContent,
|
|
1624
1547
|
{
|
|
1625
1548
|
ref,
|
|
1626
|
-
className: cn(
|
|
1627
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
1628
|
-
className
|
|
1629
|
-
),
|
|
1549
|
+
className: cn("dl-menu-content", className),
|
|
1630
1550
|
...props
|
|
1631
1551
|
}
|
|
1632
1552
|
));
|
|
1633
1553
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1634
|
-
var DropdownMenuContent =
|
|
1554
|
+
var DropdownMenuContent = React20.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx21(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
|
|
1635
1555
|
DropdownMenuPrimitive.Content,
|
|
1636
1556
|
{
|
|
1637
1557
|
ref,
|
|
1638
1558
|
sideOffset,
|
|
1639
|
-
className: cn(
|
|
1640
|
-
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
1641
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
1642
|
-
className
|
|
1643
|
-
),
|
|
1559
|
+
className: cn("dl-menu-content", className),
|
|
1644
1560
|
...props
|
|
1645
1561
|
}
|
|
1646
1562
|
) }));
|
|
1647
1563
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1648
|
-
var DropdownMenuItem =
|
|
1564
|
+
var DropdownMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1649
1565
|
DropdownMenuPrimitive.Item,
|
|
1650
1566
|
{
|
|
1651
1567
|
ref,
|
|
1652
|
-
className: cn(
|
|
1653
|
-
"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1654
|
-
inset && "pl-8",
|
|
1655
|
-
className
|
|
1656
|
-
),
|
|
1568
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1657
1569
|
...props
|
|
1658
1570
|
}
|
|
1659
1571
|
));
|
|
1660
1572
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1661
|
-
var DropdownMenuCheckboxItem =
|
|
1573
|
+
var DropdownMenuCheckboxItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1662
1574
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1663
1575
|
{
|
|
1664
1576
|
ref,
|
|
1665
|
-
className: cn(
|
|
1666
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1667
|
-
className
|
|
1668
|
-
),
|
|
1577
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1669
1578
|
...props,
|
|
1670
1579
|
children: [
|
|
1671
|
-
/* @__PURE__ */
|
|
1580
|
+
/* @__PURE__ */ jsx21("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx21(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(Check3, { style: { width: "1rem", height: "1rem" } }) }) }),
|
|
1672
1581
|
children
|
|
1673
1582
|
]
|
|
1674
1583
|
}
|
|
1675
1584
|
));
|
|
1676
1585
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1677
|
-
var DropdownMenuRadioItem =
|
|
1586
|
+
var DropdownMenuRadioItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1678
1587
|
DropdownMenuPrimitive.RadioItem,
|
|
1679
1588
|
{
|
|
1680
1589
|
ref,
|
|
1681
|
-
className: cn(
|
|
1682
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1683
|
-
className
|
|
1684
|
-
),
|
|
1590
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
1685
1591
|
...props,
|
|
1686
1592
|
children: [
|
|
1687
|
-
/* @__PURE__ */
|
|
1593
|
+
/* @__PURE__ */ jsx21("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx21(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(
|
|
1594
|
+
Circle2,
|
|
1595
|
+
{
|
|
1596
|
+
style: { width: "0.5rem", height: "0.5rem", fill: "currentColor" }
|
|
1597
|
+
}
|
|
1598
|
+
) }) }),
|
|
1688
1599
|
children
|
|
1689
1600
|
]
|
|
1690
1601
|
}
|
|
1691
1602
|
));
|
|
1692
1603
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1693
|
-
var DropdownMenuLabel =
|
|
1604
|
+
var DropdownMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1694
1605
|
DropdownMenuPrimitive.Label,
|
|
1695
1606
|
{
|
|
1696
1607
|
ref,
|
|
1697
|
-
className: cn(
|
|
1698
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
1699
|
-
inset && "pl-8",
|
|
1700
|
-
className
|
|
1701
|
-
),
|
|
1608
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
1702
1609
|
...props
|
|
1703
1610
|
}
|
|
1704
1611
|
));
|
|
1705
1612
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1706
|
-
var DropdownMenuSeparator =
|
|
1613
|
+
var DropdownMenuSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1707
1614
|
DropdownMenuPrimitive.Separator,
|
|
1708
1615
|
{
|
|
1709
1616
|
ref,
|
|
1710
|
-
className: cn("-
|
|
1617
|
+
className: cn("dl-menu-separator", className),
|
|
1711
1618
|
...props
|
|
1712
1619
|
}
|
|
1713
1620
|
));
|
|
@@ -1716,18 +1623,12 @@ var DropdownMenuShortcut = ({
|
|
|
1716
1623
|
className,
|
|
1717
1624
|
...props
|
|
1718
1625
|
}) => {
|
|
1719
|
-
return /* @__PURE__ */
|
|
1720
|
-
"span",
|
|
1721
|
-
{
|
|
1722
|
-
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
1723
|
-
...props
|
|
1724
|
-
}
|
|
1725
|
-
);
|
|
1626
|
+
return /* @__PURE__ */ jsx21("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
1726
1627
|
};
|
|
1727
1628
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1728
1629
|
|
|
1729
|
-
// src/components/form.tsx
|
|
1730
|
-
import * as
|
|
1630
|
+
// src/components/form/form.tsx
|
|
1631
|
+
import * as React22 from "react";
|
|
1731
1632
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
1732
1633
|
import {
|
|
1733
1634
|
Controller,
|
|
@@ -1735,15 +1636,13 @@ import {
|
|
|
1735
1636
|
useFormContext
|
|
1736
1637
|
} from "react-hook-form";
|
|
1737
1638
|
|
|
1738
|
-
// src/components/label.tsx
|
|
1739
|
-
import * as
|
|
1639
|
+
// src/components/label/label.tsx
|
|
1640
|
+
import * as React21 from "react";
|
|
1740
1641
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1741
1642
|
import { cva as cva4 } from "class-variance-authority";
|
|
1742
|
-
import { jsx as
|
|
1743
|
-
var labelVariants = cva4(
|
|
1744
|
-
|
|
1745
|
-
);
|
|
1746
|
-
var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
|
|
1643
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1644
|
+
var labelVariants = cva4("dl-label");
|
|
1645
|
+
var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
1747
1646
|
LabelPrimitive.Root,
|
|
1748
1647
|
{
|
|
1749
1648
|
ref,
|
|
@@ -1753,20 +1652,20 @@ var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
1753
1652
|
));
|
|
1754
1653
|
Label3.displayName = LabelPrimitive.Root.displayName;
|
|
1755
1654
|
|
|
1756
|
-
// src/components/form.tsx
|
|
1757
|
-
import { jsx as
|
|
1655
|
+
// src/components/form/form.tsx
|
|
1656
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1758
1657
|
var Form = FormProvider;
|
|
1759
|
-
var FormFieldContext =
|
|
1658
|
+
var FormFieldContext = React22.createContext(
|
|
1760
1659
|
null
|
|
1761
1660
|
);
|
|
1762
1661
|
var FormField = ({
|
|
1763
1662
|
...props
|
|
1764
1663
|
}) => {
|
|
1765
|
-
return /* @__PURE__ */
|
|
1664
|
+
return /* @__PURE__ */ jsx23(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx23(Controller, { ...props }) });
|
|
1766
1665
|
};
|
|
1767
1666
|
var useFormField = () => {
|
|
1768
|
-
const fieldContext =
|
|
1769
|
-
const itemContext =
|
|
1667
|
+
const fieldContext = React22.useContext(FormFieldContext);
|
|
1668
|
+
const itemContext = React22.useContext(FormItemContext);
|
|
1770
1669
|
const { getFieldState, formState } = useFormContext();
|
|
1771
1670
|
if (!fieldContext) {
|
|
1772
1671
|
throw new Error("useFormField should be used within <FormField>");
|
|
@@ -1785,28 +1684,28 @@ var useFormField = () => {
|
|
|
1785
1684
|
...fieldState
|
|
1786
1685
|
};
|
|
1787
1686
|
};
|
|
1788
|
-
var FormItemContext =
|
|
1789
|
-
var FormItem =
|
|
1790
|
-
const id =
|
|
1791
|
-
return /* @__PURE__ */
|
|
1687
|
+
var FormItemContext = React22.createContext(null);
|
|
1688
|
+
var FormItem = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1689
|
+
const id = React22.useId();
|
|
1690
|
+
return /* @__PURE__ */ jsx23(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx23("div", { ref, className: cn("dl-form-item", className), ...props }) });
|
|
1792
1691
|
});
|
|
1793
1692
|
FormItem.displayName = "FormItem";
|
|
1794
|
-
var FormLabel =
|
|
1693
|
+
var FormLabel = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1795
1694
|
const { error, formItemId } = useFormField();
|
|
1796
|
-
return /* @__PURE__ */
|
|
1695
|
+
return /* @__PURE__ */ jsx23(
|
|
1797
1696
|
Label3,
|
|
1798
1697
|
{
|
|
1799
1698
|
ref,
|
|
1800
|
-
className: cn(error && "
|
|
1699
|
+
className: cn(error && "dl-form-label--error", className),
|
|
1801
1700
|
htmlFor: formItemId,
|
|
1802
1701
|
...props
|
|
1803
1702
|
}
|
|
1804
1703
|
);
|
|
1805
1704
|
});
|
|
1806
1705
|
FormLabel.displayName = "FormLabel";
|
|
1807
|
-
var FormControl =
|
|
1706
|
+
var FormControl = React22.forwardRef(({ ...props }, ref) => {
|
|
1808
1707
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
1809
|
-
return /* @__PURE__ */
|
|
1708
|
+
return /* @__PURE__ */ jsx23(
|
|
1810
1709
|
Slot3,
|
|
1811
1710
|
{
|
|
1812
1711
|
ref,
|
|
@@ -1818,31 +1717,31 @@ var FormControl = React20.forwardRef(({ ...props }, ref) => {
|
|
|
1818
1717
|
);
|
|
1819
1718
|
});
|
|
1820
1719
|
FormControl.displayName = "FormControl";
|
|
1821
|
-
var FormDescription =
|
|
1720
|
+
var FormDescription = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1822
1721
|
const { formDescriptionId } = useFormField();
|
|
1823
|
-
return /* @__PURE__ */
|
|
1722
|
+
return /* @__PURE__ */ jsx23(
|
|
1824
1723
|
"p",
|
|
1825
1724
|
{
|
|
1826
1725
|
ref,
|
|
1827
1726
|
id: formDescriptionId,
|
|
1828
|
-
className: cn("
|
|
1727
|
+
className: cn("dl-form-desc", className),
|
|
1829
1728
|
...props
|
|
1830
1729
|
}
|
|
1831
1730
|
);
|
|
1832
1731
|
});
|
|
1833
1732
|
FormDescription.displayName = "FormDescription";
|
|
1834
|
-
var FormMessage =
|
|
1733
|
+
var FormMessage = React22.forwardRef(({ className, children, ...props }, ref) => {
|
|
1835
1734
|
const { error, formMessageId } = useFormField();
|
|
1836
1735
|
const body = error ? String(error?.message ?? "") : children;
|
|
1837
1736
|
if (!body) {
|
|
1838
1737
|
return null;
|
|
1839
1738
|
}
|
|
1840
|
-
return /* @__PURE__ */
|
|
1739
|
+
return /* @__PURE__ */ jsx23(
|
|
1841
1740
|
"p",
|
|
1842
1741
|
{
|
|
1843
1742
|
ref,
|
|
1844
1743
|
id: formMessageId,
|
|
1845
|
-
className: cn("
|
|
1744
|
+
className: cn("dl-form-error", className),
|
|
1846
1745
|
...props,
|
|
1847
1746
|
children: body
|
|
1848
1747
|
}
|
|
@@ -1850,408 +1749,387 @@ var FormMessage = React20.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1850
1749
|
});
|
|
1851
1750
|
FormMessage.displayName = "FormMessage";
|
|
1852
1751
|
|
|
1853
|
-
// src/components/hover-card.tsx
|
|
1854
|
-
import * as
|
|
1752
|
+
// src/components/hover-card/hover-card.tsx
|
|
1753
|
+
import * as React23 from "react";
|
|
1855
1754
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
1856
|
-
import { jsx as
|
|
1755
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1857
1756
|
var HoverCard = HoverCardPrimitive.Root;
|
|
1858
1757
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
1859
|
-
var HoverCardContent =
|
|
1758
|
+
var HoverCardContent = React23.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1860
1759
|
HoverCardPrimitive.Content,
|
|
1861
1760
|
{
|
|
1862
1761
|
ref,
|
|
1863
1762
|
align,
|
|
1864
1763
|
sideOffset,
|
|
1865
|
-
className: cn(
|
|
1866
|
-
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-hover-card-content-transform-origin)",
|
|
1867
|
-
className
|
|
1868
|
-
),
|
|
1764
|
+
className: cn("dl-hover-card", className),
|
|
1869
1765
|
...props
|
|
1870
1766
|
}
|
|
1871
1767
|
));
|
|
1872
1768
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
1873
1769
|
|
|
1874
|
-
// src/components/input
|
|
1875
|
-
import * as
|
|
1770
|
+
// src/components/input/input.tsx
|
|
1771
|
+
import * as React24 from "react";
|
|
1772
|
+
import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1773
|
+
var Input = React24.forwardRef(
|
|
1774
|
+
({ className, type, startIcon, endIcon, ...props }, ref) => {
|
|
1775
|
+
const inputEl = /* @__PURE__ */ jsx25(
|
|
1776
|
+
"input",
|
|
1777
|
+
{
|
|
1778
|
+
type,
|
|
1779
|
+
className: cn(
|
|
1780
|
+
"dl-input",
|
|
1781
|
+
startIcon && "dl-input--has-start-icon",
|
|
1782
|
+
endIcon && "dl-input--has-end-icon",
|
|
1783
|
+
className
|
|
1784
|
+
),
|
|
1785
|
+
ref,
|
|
1786
|
+
...props
|
|
1787
|
+
}
|
|
1788
|
+
);
|
|
1789
|
+
if (!startIcon && !endIcon) {
|
|
1790
|
+
return inputEl;
|
|
1791
|
+
}
|
|
1792
|
+
return /* @__PURE__ */ jsxs13("div", { className: "dl-input-wrapper", children: [
|
|
1793
|
+
startIcon && /* @__PURE__ */ jsx25("span", { className: "dl-input-icon dl-input-icon--start", children: startIcon }),
|
|
1794
|
+
inputEl,
|
|
1795
|
+
endIcon && /* @__PURE__ */ jsx25("span", { className: "dl-input-icon dl-input-icon--end", children: endIcon })
|
|
1796
|
+
] });
|
|
1797
|
+
}
|
|
1798
|
+
);
|
|
1799
|
+
Input.displayName = "Input";
|
|
1800
|
+
|
|
1801
|
+
// src/components/input-otp/input-otp.tsx
|
|
1802
|
+
import * as React25 from "react";
|
|
1876
1803
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
1877
1804
|
import { Minus } from "lucide-react";
|
|
1878
|
-
import { jsx as
|
|
1879
|
-
var InputOTP =
|
|
1805
|
+
import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1806
|
+
var InputOTP = React25.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1880
1807
|
OTPInput,
|
|
1881
1808
|
{
|
|
1882
1809
|
ref,
|
|
1883
|
-
containerClassName: cn(
|
|
1884
|
-
|
|
1885
|
-
containerClassName
|
|
1886
|
-
),
|
|
1887
|
-
className: cn("disabled:cursor-not-allowed", className),
|
|
1810
|
+
containerClassName: cn("dl-input-otp-container", containerClassName),
|
|
1811
|
+
className: cn("dl-input-otp", className),
|
|
1888
1812
|
...props
|
|
1889
1813
|
}
|
|
1890
1814
|
));
|
|
1891
1815
|
InputOTP.displayName = "InputOTP";
|
|
1892
|
-
var InputOTPGroup =
|
|
1816
|
+
var InputOTPGroup = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, className: cn("dl-input-otp-group", className), ...props }));
|
|
1893
1817
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
1894
|
-
var InputOTPSlot =
|
|
1895
|
-
const inputOTPContext =
|
|
1818
|
+
var InputOTPSlot = React25.forwardRef(({ index, className, ...props }, ref) => {
|
|
1819
|
+
const inputOTPContext = React25.useContext(OTPInputContext);
|
|
1896
1820
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {
|
|
1897
1821
|
char: null,
|
|
1898
1822
|
hasFakeCaret: false,
|
|
1899
1823
|
isActive: false
|
|
1900
1824
|
};
|
|
1901
|
-
return /* @__PURE__ */
|
|
1825
|
+
return /* @__PURE__ */ jsxs14(
|
|
1902
1826
|
"div",
|
|
1903
1827
|
{
|
|
1904
1828
|
ref,
|
|
1905
1829
|
className: cn(
|
|
1906
|
-
"
|
|
1907
|
-
isActive && "
|
|
1830
|
+
"dl-input-otp-slot",
|
|
1831
|
+
isActive && "dl-input-otp-slot--active",
|
|
1908
1832
|
className
|
|
1909
1833
|
),
|
|
1910
1834
|
...props,
|
|
1911
1835
|
children: [
|
|
1912
1836
|
char,
|
|
1913
|
-
hasFakeCaret && /* @__PURE__ */
|
|
1837
|
+
hasFakeCaret && /* @__PURE__ */ jsx26("div", { className: "dl-input-otp-caret", children: /* @__PURE__ */ jsx26("div", { className: "dl-input-otp-caret__line" }) })
|
|
1914
1838
|
]
|
|
1915
1839
|
}
|
|
1916
1840
|
);
|
|
1917
1841
|
});
|
|
1918
1842
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1919
|
-
var InputOTPSeparator =
|
|
1843
|
+
var InputOTPSeparator = React25.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx26(Minus, {}) }));
|
|
1920
1844
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1921
1845
|
|
|
1922
|
-
// src/components/
|
|
1923
|
-
import
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1846
|
+
// src/components/skeleton/skeleton.tsx
|
|
1847
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1848
|
+
function Skeleton({ className, ...props }) {
|
|
1849
|
+
return /* @__PURE__ */ jsx27("div", { className: cn("dl-skeleton", className), ...props });
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
// src/components/loading-state/loading-state.tsx
|
|
1853
|
+
import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1854
|
+
function LoadingState({
|
|
1855
|
+
rows = 3,
|
|
1856
|
+
message,
|
|
1857
|
+
className,
|
|
1858
|
+
...props
|
|
1859
|
+
}) {
|
|
1860
|
+
if (message) {
|
|
1861
|
+
return /* @__PURE__ */ jsxs15("div", { className: cn("dl-loading", className), ...props, children: [
|
|
1862
|
+
/* @__PURE__ */ jsx28(
|
|
1863
|
+
"svg",
|
|
1864
|
+
{
|
|
1865
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1866
|
+
width: "24",
|
|
1867
|
+
height: "24",
|
|
1868
|
+
viewBox: "0 0 24 24",
|
|
1869
|
+
fill: "none",
|
|
1870
|
+
stroke: "currentColor",
|
|
1871
|
+
strokeWidth: "2",
|
|
1872
|
+
strokeLinecap: "round",
|
|
1873
|
+
strokeLinejoin: "round",
|
|
1874
|
+
children: /* @__PURE__ */ jsx28("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1875
|
+
}
|
|
1876
|
+
),
|
|
1877
|
+
/* @__PURE__ */ jsx28("span", { children: message })
|
|
1878
|
+
] });
|
|
1939
1879
|
}
|
|
1940
|
-
)
|
|
1941
|
-
|
|
1880
|
+
return /* @__PURE__ */ jsxs15("div", { className: cn("dl-loading-skeleton", className), ...props, children: [
|
|
1881
|
+
/* @__PURE__ */ jsx28(Skeleton, { style: { height: "2rem", width: "33.333%" } }),
|
|
1882
|
+
/* @__PURE__ */ jsx28("div", { className: "dl-loading-skeleton__list", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx28(
|
|
1883
|
+
Skeleton,
|
|
1884
|
+
{
|
|
1885
|
+
style: {
|
|
1886
|
+
height: "4rem",
|
|
1887
|
+
width: "100%",
|
|
1888
|
+
borderRadius: "var(--radius-lg, 0.75rem)"
|
|
1889
|
+
}
|
|
1890
|
+
},
|
|
1891
|
+
i
|
|
1892
|
+
)) })
|
|
1893
|
+
] });
|
|
1894
|
+
}
|
|
1942
1895
|
|
|
1943
|
-
// src/components/menubar.tsx
|
|
1944
|
-
import * as
|
|
1896
|
+
// src/components/menubar/menubar.tsx
|
|
1897
|
+
import * as React26 from "react";
|
|
1945
1898
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
1946
1899
|
import { Check as Check4, ChevronRight as ChevronRight4, Circle as Circle3 } from "lucide-react";
|
|
1947
|
-
import { jsx as
|
|
1948
|
-
function MenubarMenu({
|
|
1949
|
-
...props
|
|
1950
|
-
}) {
|
|
1951
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Menu, { ...props });
|
|
1900
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1901
|
+
function MenubarMenu(props) {
|
|
1902
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Menu, { ...props });
|
|
1952
1903
|
}
|
|
1953
|
-
function MenubarGroup({
|
|
1954
|
-
...props
|
|
1955
|
-
}) {
|
|
1956
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Group, { ...props });
|
|
1904
|
+
function MenubarGroup(props) {
|
|
1905
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Group, { ...props });
|
|
1957
1906
|
}
|
|
1958
|
-
function MenubarPortal({
|
|
1959
|
-
...props
|
|
1960
|
-
}) {
|
|
1961
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Portal, { ...props });
|
|
1907
|
+
function MenubarPortal(props) {
|
|
1908
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { ...props });
|
|
1962
1909
|
}
|
|
1963
|
-
function MenubarRadioGroup({
|
|
1964
|
-
...props
|
|
1965
|
-
}) {
|
|
1966
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.RadioGroup, { ...props });
|
|
1910
|
+
function MenubarRadioGroup(props) {
|
|
1911
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.RadioGroup, { ...props });
|
|
1967
1912
|
}
|
|
1968
|
-
function MenubarSub({
|
|
1969
|
-
...props
|
|
1970
|
-
}) {
|
|
1971
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1913
|
+
function MenubarSub(props) {
|
|
1914
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1972
1915
|
}
|
|
1973
|
-
var Menubar =
|
|
1916
|
+
var Menubar = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
1974
1917
|
MenubarPrimitive.Root,
|
|
1975
1918
|
{
|
|
1976
1919
|
ref,
|
|
1977
|
-
className: cn(
|
|
1978
|
-
"flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",
|
|
1979
|
-
className
|
|
1980
|
-
),
|
|
1920
|
+
className: cn("dl-menubar", className),
|
|
1981
1921
|
...props
|
|
1982
1922
|
}
|
|
1983
1923
|
));
|
|
1984
1924
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
1985
|
-
var MenubarTrigger =
|
|
1925
|
+
var MenubarTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
1986
1926
|
MenubarPrimitive.Trigger,
|
|
1987
1927
|
{
|
|
1988
1928
|
ref,
|
|
1989
|
-
className: cn(
|
|
1990
|
-
"flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
1991
|
-
className
|
|
1992
|
-
),
|
|
1929
|
+
className: cn("dl-menubar-trigger", className),
|
|
1993
1930
|
...props
|
|
1994
1931
|
}
|
|
1995
1932
|
));
|
|
1996
1933
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
1997
|
-
var MenubarSubTrigger =
|
|
1934
|
+
var MenubarSubTrigger = React26.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
1998
1935
|
MenubarPrimitive.SubTrigger,
|
|
1999
1936
|
{
|
|
2000
1937
|
ref,
|
|
2001
1938
|
className: cn(
|
|
2002
|
-
"
|
|
1939
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
2003
1940
|
inset && "pl-8",
|
|
2004
1941
|
className
|
|
2005
1942
|
),
|
|
2006
1943
|
...props,
|
|
2007
1944
|
children: [
|
|
2008
1945
|
children,
|
|
2009
|
-
/* @__PURE__ */
|
|
1946
|
+
/* @__PURE__ */ jsx29(ChevronRight4, { className: "ml-auto size-4" })
|
|
2010
1947
|
]
|
|
2011
1948
|
}
|
|
2012
1949
|
));
|
|
2013
1950
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
2014
|
-
var MenubarSubContent =
|
|
1951
|
+
var MenubarSubContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2015
1952
|
MenubarPrimitive.SubContent,
|
|
2016
1953
|
{
|
|
2017
1954
|
ref,
|
|
2018
|
-
className: cn(
|
|
2019
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)",
|
|
2020
|
-
className
|
|
2021
|
-
),
|
|
1955
|
+
className: cn("dl-menu-content", className),
|
|
2022
1956
|
...props
|
|
2023
1957
|
}
|
|
2024
1958
|
));
|
|
2025
1959
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
2026
|
-
var MenubarContent =
|
|
2027
|
-
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */
|
|
1960
|
+
var MenubarContent = React26.forwardRef(
|
|
1961
|
+
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
|
|
2028
1962
|
MenubarPrimitive.Content,
|
|
2029
1963
|
{
|
|
2030
1964
|
ref,
|
|
2031
1965
|
align,
|
|
2032
1966
|
alignOffset,
|
|
2033
1967
|
sideOffset,
|
|
2034
|
-
className: cn(
|
|
2035
|
-
"z-50 min-w-48 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)",
|
|
2036
|
-
className
|
|
2037
|
-
),
|
|
1968
|
+
className: cn("dl-menu-content", className),
|
|
2038
1969
|
...props
|
|
2039
1970
|
}
|
|
2040
1971
|
) })
|
|
2041
1972
|
);
|
|
2042
1973
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
2043
|
-
var MenubarItem =
|
|
1974
|
+
var MenubarItem = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2044
1975
|
MenubarPrimitive.Item,
|
|
2045
1976
|
{
|
|
2046
1977
|
ref,
|
|
2047
|
-
className: cn(
|
|
2048
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2049
|
-
inset && "pl-8",
|
|
2050
|
-
className
|
|
2051
|
-
),
|
|
1978
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
2052
1979
|
...props
|
|
2053
1980
|
}
|
|
2054
1981
|
));
|
|
2055
1982
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
2056
|
-
var MenubarCheckboxItem =
|
|
1983
|
+
var MenubarCheckboxItem = React26.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2057
1984
|
MenubarPrimitive.CheckboxItem,
|
|
2058
1985
|
{
|
|
2059
1986
|
ref,
|
|
2060
|
-
className: cn(
|
|
2061
|
-
|
|
2062
|
-
className
|
|
2063
|
-
),
|
|
1987
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1988
|
+
checked,
|
|
2064
1989
|
...props,
|
|
2065
1990
|
children: [
|
|
2066
|
-
/* @__PURE__ */
|
|
1991
|
+
/* @__PURE__ */ jsx29("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(Check4, { className: "size-4" }) }) }),
|
|
2067
1992
|
children
|
|
2068
1993
|
]
|
|
2069
1994
|
}
|
|
2070
1995
|
));
|
|
2071
1996
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
2072
|
-
var MenubarRadioItem =
|
|
1997
|
+
var MenubarRadioItem = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2073
1998
|
MenubarPrimitive.RadioItem,
|
|
2074
1999
|
{
|
|
2075
2000
|
ref,
|
|
2076
|
-
className: cn(
|
|
2077
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2078
|
-
className
|
|
2079
|
-
),
|
|
2001
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
2080
2002
|
...props,
|
|
2081
2003
|
children: [
|
|
2082
|
-
/* @__PURE__ */
|
|
2004
|
+
/* @__PURE__ */ jsx29("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(Circle3, { className: "fill-current size-2" }) }) }),
|
|
2083
2005
|
children
|
|
2084
2006
|
]
|
|
2085
2007
|
}
|
|
2086
2008
|
));
|
|
2087
2009
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
2088
|
-
var MenubarLabel =
|
|
2010
|
+
var MenubarLabel = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2089
2011
|
MenubarPrimitive.Label,
|
|
2090
2012
|
{
|
|
2091
2013
|
ref,
|
|
2092
|
-
className: cn(
|
|
2093
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
2094
|
-
inset && "pl-8",
|
|
2095
|
-
className
|
|
2096
|
-
),
|
|
2014
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
2097
2015
|
...props
|
|
2098
2016
|
}
|
|
2099
2017
|
));
|
|
2100
2018
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
2101
|
-
var MenubarSeparator =
|
|
2019
|
+
var MenubarSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2102
2020
|
MenubarPrimitive.Separator,
|
|
2103
2021
|
{
|
|
2104
2022
|
ref,
|
|
2105
|
-
className: cn("-
|
|
2023
|
+
className: cn("dl-menu-separator", className),
|
|
2106
2024
|
...props
|
|
2107
2025
|
}
|
|
2108
2026
|
));
|
|
2109
2027
|
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
|
2110
|
-
var MenubarShortcut = ({
|
|
2111
|
-
className,
|
|
2112
|
-
...props
|
|
2113
|
-
}) => {
|
|
2114
|
-
return /* @__PURE__ */ jsx24(
|
|
2115
|
-
"span",
|
|
2116
|
-
{
|
|
2117
|
-
className: cn(
|
|
2118
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
2119
|
-
className
|
|
2120
|
-
),
|
|
2121
|
-
...props
|
|
2122
|
-
}
|
|
2123
|
-
);
|
|
2028
|
+
var MenubarShortcut = ({ className, ...props }) => {
|
|
2029
|
+
return /* @__PURE__ */ jsx29("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
2124
2030
|
};
|
|
2125
|
-
MenubarShortcut.
|
|
2031
|
+
MenubarShortcut.displayName = "MenubarShortcut";
|
|
2126
2032
|
|
|
2127
|
-
// src/components/navigation-menu.tsx
|
|
2128
|
-
import * as
|
|
2033
|
+
// src/components/navigation-menu/navigation-menu.tsx
|
|
2034
|
+
import * as React27 from "react";
|
|
2129
2035
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
2130
2036
|
import { cva as cva5 } from "class-variance-authority";
|
|
2131
2037
|
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
2132
|
-
import { jsx as
|
|
2133
|
-
var NavigationMenu =
|
|
2038
|
+
import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2039
|
+
var NavigationMenu = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
|
|
2134
2040
|
NavigationMenuPrimitive.Root,
|
|
2135
2041
|
{
|
|
2136
2042
|
ref,
|
|
2137
|
-
className: cn(
|
|
2138
|
-
"relative z-10 flex max-w-max flex-1 items-center justify-center",
|
|
2139
|
-
className
|
|
2140
|
-
),
|
|
2043
|
+
className: cn("dl-navigation-menu", className),
|
|
2141
2044
|
...props,
|
|
2142
2045
|
children: [
|
|
2143
2046
|
children,
|
|
2144
|
-
/* @__PURE__ */
|
|
2047
|
+
/* @__PURE__ */ jsx30(NavigationMenuViewport, {})
|
|
2145
2048
|
]
|
|
2146
2049
|
}
|
|
2147
2050
|
));
|
|
2148
2051
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
2149
|
-
var NavigationMenuList =
|
|
2052
|
+
var NavigationMenuList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2150
2053
|
NavigationMenuPrimitive.List,
|
|
2151
2054
|
{
|
|
2152
2055
|
ref,
|
|
2153
|
-
className: cn(
|
|
2154
|
-
"group flex flex-1 list-none items-center justify-center space-x-1",
|
|
2155
|
-
className
|
|
2156
|
-
),
|
|
2056
|
+
className: cn("dl-navigation-menu-list", className),
|
|
2157
2057
|
...props
|
|
2158
2058
|
}
|
|
2159
2059
|
));
|
|
2160
2060
|
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
2161
2061
|
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
2162
|
-
var navigationMenuTriggerStyle = cva5(
|
|
2163
|
-
|
|
2164
|
-
);
|
|
2165
|
-
var NavigationMenuTrigger = React25.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
|
|
2062
|
+
var navigationMenuTriggerStyle = cva5("dl-navigation-menu-trigger");
|
|
2063
|
+
var NavigationMenuTrigger = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
|
|
2166
2064
|
NavigationMenuPrimitive.Trigger,
|
|
2167
2065
|
{
|
|
2168
2066
|
ref,
|
|
2169
|
-
className: cn(navigationMenuTriggerStyle(),
|
|
2067
|
+
className: cn(navigationMenuTriggerStyle(), className),
|
|
2170
2068
|
...props,
|
|
2171
2069
|
children: [
|
|
2172
2070
|
children,
|
|
2173
2071
|
" ",
|
|
2174
|
-
/* @__PURE__ */
|
|
2175
|
-
ChevronDown2,
|
|
2176
|
-
{
|
|
2177
|
-
className: "relative top-px ml-1 transition duration-300 group-data-[state=open]:rotate-180 size-3",
|
|
2178
|
-
"aria-hidden": "true"
|
|
2179
|
-
}
|
|
2180
|
-
)
|
|
2072
|
+
/* @__PURE__ */ jsx30(ChevronDown2, { className: "dl-navigation-menu-chevron", "aria-hidden": "true" })
|
|
2181
2073
|
]
|
|
2182
2074
|
}
|
|
2183
2075
|
));
|
|
2184
2076
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
2185
|
-
var NavigationMenuContent =
|
|
2077
|
+
var NavigationMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2186
2078
|
NavigationMenuPrimitive.Content,
|
|
2187
2079
|
{
|
|
2188
2080
|
ref,
|
|
2189
|
-
className: cn(
|
|
2190
|
-
"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
|
|
2191
|
-
className
|
|
2192
|
-
),
|
|
2081
|
+
className: cn("dl-navigation-menu-content", className),
|
|
2193
2082
|
...props
|
|
2194
2083
|
}
|
|
2195
2084
|
));
|
|
2196
2085
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
2197
2086
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
2198
|
-
var NavigationMenuViewport =
|
|
2087
|
+
var NavigationMenuViewport = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "dl-navigation-menu-viewport-wrapper", children: /* @__PURE__ */ jsx30(
|
|
2199
2088
|
NavigationMenuPrimitive.Viewport,
|
|
2200
2089
|
{
|
|
2201
|
-
className: cn(
|
|
2202
|
-
"origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-(--radix-navigation-menu-viewport-width)",
|
|
2203
|
-
className
|
|
2204
|
-
),
|
|
2090
|
+
className: cn("dl-navigation-menu-viewport", className),
|
|
2205
2091
|
ref,
|
|
2206
2092
|
...props
|
|
2207
2093
|
}
|
|
2208
2094
|
) }));
|
|
2209
2095
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
2210
|
-
var NavigationMenuIndicator =
|
|
2096
|
+
var NavigationMenuIndicator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2211
2097
|
NavigationMenuPrimitive.Indicator,
|
|
2212
2098
|
{
|
|
2213
2099
|
ref,
|
|
2214
|
-
className: cn(
|
|
2215
|
-
"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
|
|
2216
|
-
className
|
|
2217
|
-
),
|
|
2100
|
+
className: cn("dl-navigation-menu-indicator", className),
|
|
2218
2101
|
...props,
|
|
2219
|
-
children: /* @__PURE__ */
|
|
2102
|
+
children: /* @__PURE__ */ jsx30("div", { className: "dl-navigation-menu-indicator__arrow" })
|
|
2220
2103
|
}
|
|
2221
2104
|
));
|
|
2222
2105
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
2223
2106
|
|
|
2224
|
-
// src/components/pagination.tsx
|
|
2225
|
-
import * as
|
|
2107
|
+
// src/components/pagination/pagination.tsx
|
|
2108
|
+
import * as React28 from "react";
|
|
2226
2109
|
import { ChevronLeft, ChevronRight as ChevronRight5, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
|
|
2227
|
-
import { jsx as
|
|
2228
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */
|
|
2110
|
+
import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2111
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx31(
|
|
2229
2112
|
"nav",
|
|
2230
2113
|
{
|
|
2231
2114
|
role: "navigation",
|
|
2232
2115
|
"aria-label": "pagination",
|
|
2233
|
-
className: cn("
|
|
2116
|
+
className: cn("dl-pagination", className),
|
|
2234
2117
|
...props
|
|
2235
2118
|
}
|
|
2236
2119
|
);
|
|
2237
2120
|
Pagination.displayName = "Pagination";
|
|
2238
|
-
var PaginationContent =
|
|
2239
|
-
"ul",
|
|
2240
|
-
{
|
|
2241
|
-
ref,
|
|
2242
|
-
className: cn("flex flex-row items-center gap-1", className),
|
|
2243
|
-
...props
|
|
2244
|
-
}
|
|
2245
|
-
));
|
|
2121
|
+
var PaginationContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31("ul", { ref, className: cn("dl-pagination-content", className), ...props }));
|
|
2246
2122
|
PaginationContent.displayName = "PaginationContent";
|
|
2247
|
-
var PaginationItem =
|
|
2123
|
+
var PaginationItem = React28.forwardRef(
|
|
2124
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx31("li", { ref, className: cn("dl-pagination-item", className), ...props })
|
|
2125
|
+
);
|
|
2248
2126
|
PaginationItem.displayName = "PaginationItem";
|
|
2249
2127
|
var PaginationLink = ({
|
|
2250
2128
|
className,
|
|
2251
2129
|
isActive,
|
|
2252
2130
|
size = "icon",
|
|
2253
2131
|
...props
|
|
2254
|
-
}) => /* @__PURE__ */
|
|
2132
|
+
}) => /* @__PURE__ */ jsx31(
|
|
2255
2133
|
"a",
|
|
2256
2134
|
{
|
|
2257
2135
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2269,33 +2147,30 @@ PaginationLink.displayName = "PaginationLink";
|
|
|
2269
2147
|
var PaginationPrevious = ({
|
|
2270
2148
|
className,
|
|
2271
2149
|
...props
|
|
2272
|
-
}) => /* @__PURE__ */
|
|
2150
|
+
}) => /* @__PURE__ */ jsxs18(
|
|
2273
2151
|
PaginationLink,
|
|
2274
2152
|
{
|
|
2275
2153
|
"aria-label": "Go to previous page",
|
|
2276
2154
|
size: "default",
|
|
2277
|
-
className: cn("
|
|
2155
|
+
className: cn("dl-pagination-prev", className),
|
|
2278
2156
|
...props,
|
|
2279
2157
|
children: [
|
|
2280
|
-
/* @__PURE__ */
|
|
2281
|
-
/* @__PURE__ */
|
|
2158
|
+
/* @__PURE__ */ jsx31(ChevronLeft, { className: "size-4" }),
|
|
2159
|
+
/* @__PURE__ */ jsx31("span", { children: "Previous" })
|
|
2282
2160
|
]
|
|
2283
2161
|
}
|
|
2284
2162
|
);
|
|
2285
2163
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
2286
|
-
var PaginationNext = ({
|
|
2287
|
-
className,
|
|
2288
|
-
...props
|
|
2289
|
-
}) => /* @__PURE__ */ jsxs14(
|
|
2164
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs18(
|
|
2290
2165
|
PaginationLink,
|
|
2291
2166
|
{
|
|
2292
2167
|
"aria-label": "Go to next page",
|
|
2293
2168
|
size: "default",
|
|
2294
|
-
className: cn("
|
|
2169
|
+
className: cn("dl-pagination-next", className),
|
|
2295
2170
|
...props,
|
|
2296
2171
|
children: [
|
|
2297
|
-
/* @__PURE__ */
|
|
2298
|
-
/* @__PURE__ */
|
|
2172
|
+
/* @__PURE__ */ jsx31("span", { children: "Next" }),
|
|
2173
|
+
/* @__PURE__ */ jsx31(ChevronRight5, { className: "size-4" })
|
|
2299
2174
|
]
|
|
2300
2175
|
}
|
|
2301
2176
|
);
|
|
@@ -2303,59 +2178,50 @@ PaginationNext.displayName = "PaginationNext";
|
|
|
2303
2178
|
var PaginationEllipsis = ({
|
|
2304
2179
|
className,
|
|
2305
2180
|
...props
|
|
2306
|
-
}) => /* @__PURE__ */
|
|
2181
|
+
}) => /* @__PURE__ */ jsxs18(
|
|
2307
2182
|
"span",
|
|
2308
2183
|
{
|
|
2309
2184
|
"aria-hidden": true,
|
|
2310
|
-
className: cn("
|
|
2185
|
+
className: cn("dl-pagination-ellipsis", className),
|
|
2311
2186
|
...props,
|
|
2312
2187
|
children: [
|
|
2313
|
-
/* @__PURE__ */
|
|
2314
|
-
/* @__PURE__ */
|
|
2188
|
+
/* @__PURE__ */ jsx31(MoreHorizontal2, {}),
|
|
2189
|
+
/* @__PURE__ */ jsx31("span", { className: "sr-only", children: "More pages" })
|
|
2315
2190
|
]
|
|
2316
2191
|
}
|
|
2317
2192
|
);
|
|
2318
2193
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
2319
2194
|
|
|
2320
|
-
// src/components/
|
|
2321
|
-
import * as
|
|
2322
|
-
import
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
sideOffset,
|
|
2333
|
-
className: cn(
|
|
2334
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-popover-content-transform-origin)",
|
|
2335
|
-
className
|
|
2336
|
-
),
|
|
2337
|
-
...props
|
|
2195
|
+
// src/components/panel/panel.tsx
|
|
2196
|
+
import * as React29 from "react";
|
|
2197
|
+
import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2198
|
+
var Panel = React29.forwardRef(
|
|
2199
|
+
({ title, meta, children, className, ...props }, ref) => {
|
|
2200
|
+
return /* @__PURE__ */ jsxs19("section", { ref, className: cn("dl-panel", className), ...props, children: [
|
|
2201
|
+
title ? /* @__PURE__ */ jsxs19("div", { className: "dl-panel__header", children: [
|
|
2202
|
+
/* @__PURE__ */ jsx32("h2", { className: "dl-panel__title", children: title }),
|
|
2203
|
+
meta ? /* @__PURE__ */ jsx32("div", { className: "dl-panel__meta", children: meta }) : null
|
|
2204
|
+
] }) : null,
|
|
2205
|
+
children
|
|
2206
|
+
] });
|
|
2338
2207
|
}
|
|
2339
|
-
)
|
|
2340
|
-
|
|
2208
|
+
);
|
|
2209
|
+
Panel.displayName = "Panel";
|
|
2341
2210
|
|
|
2342
|
-
// src/components/progress.tsx
|
|
2343
|
-
import * as
|
|
2211
|
+
// src/components/progress/progress.tsx
|
|
2212
|
+
import * as React30 from "react";
|
|
2344
2213
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
2345
|
-
import { jsx as
|
|
2346
|
-
var Progress =
|
|
2214
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
2215
|
+
var Progress = React30.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2347
2216
|
ProgressPrimitive.Root,
|
|
2348
2217
|
{
|
|
2349
2218
|
ref,
|
|
2350
|
-
className: cn(
|
|
2351
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
2352
|
-
className
|
|
2353
|
-
),
|
|
2219
|
+
className: cn("dl-progress", className),
|
|
2354
2220
|
...props,
|
|
2355
|
-
children: /* @__PURE__ */
|
|
2221
|
+
children: /* @__PURE__ */ jsx33(
|
|
2356
2222
|
ProgressPrimitive.Indicator,
|
|
2357
2223
|
{
|
|
2358
|
-
className: "
|
|
2224
|
+
className: "dl-progress__indicator",
|
|
2359
2225
|
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
2360
2226
|
}
|
|
2361
2227
|
)
|
|
@@ -2363,292 +2229,440 @@ var Progress = React28.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
2363
2229
|
));
|
|
2364
2230
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
2365
2231
|
|
|
2366
|
-
// src/components/radio-group.tsx
|
|
2367
|
-
import * as
|
|
2232
|
+
// src/components/radio-group/radio-group.tsx
|
|
2233
|
+
import * as React31 from "react";
|
|
2368
2234
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2369
2235
|
import { Circle as Circle4 } from "lucide-react";
|
|
2370
|
-
import { jsx as
|
|
2371
|
-
var RadioGroup4 =
|
|
2372
|
-
return /* @__PURE__ */
|
|
2236
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2237
|
+
var RadioGroup4 = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2238
|
+
return /* @__PURE__ */ jsx34(
|
|
2373
2239
|
RadioGroupPrimitive.Root,
|
|
2374
2240
|
{
|
|
2375
|
-
className: cn("
|
|
2241
|
+
className: cn("dl-radio-group", className),
|
|
2376
2242
|
...props,
|
|
2377
2243
|
ref
|
|
2378
2244
|
}
|
|
2379
2245
|
);
|
|
2380
2246
|
});
|
|
2381
2247
|
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
|
2382
|
-
var RadioGroupItem =
|
|
2383
|
-
return /* @__PURE__ */
|
|
2248
|
+
var RadioGroupItem = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2249
|
+
return /* @__PURE__ */ jsx34(
|
|
2384
2250
|
RadioGroupPrimitive.Item,
|
|
2385
2251
|
{
|
|
2386
2252
|
ref,
|
|
2387
|
-
className: cn(
|
|
2388
|
-
"aspect-square rounded-full border border-primary text-primary shadow cursor-pointer focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 size-4",
|
|
2389
|
-
className
|
|
2390
|
-
),
|
|
2253
|
+
className: cn("dl-radio-item", className),
|
|
2391
2254
|
...props,
|
|
2392
|
-
children: /* @__PURE__ */
|
|
2255
|
+
children: /* @__PURE__ */ jsx34(RadioGroupPrimitive.Indicator, { className: "dl-radio-item__indicator", children: /* @__PURE__ */ jsx34(Circle4, { "aria-hidden": "true" }) })
|
|
2393
2256
|
}
|
|
2394
2257
|
);
|
|
2395
2258
|
});
|
|
2396
2259
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
2397
2260
|
|
|
2398
|
-
// src/components/resizable.tsx
|
|
2261
|
+
// src/components/resizable/resizable.tsx
|
|
2399
2262
|
import { GripVertical } from "lucide-react";
|
|
2400
|
-
import { Group as Group4, Panel, Separator as Separator4 } from "react-resizable-panels";
|
|
2401
|
-
import { jsx as
|
|
2263
|
+
import { Group as Group4, Panel as Panel2, Separator as Separator4 } from "react-resizable-panels";
|
|
2264
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
2402
2265
|
var ResizablePanelGroup = ({
|
|
2403
2266
|
className,
|
|
2404
2267
|
...props
|
|
2405
|
-
}) => /* @__PURE__ */
|
|
2406
|
-
|
|
2407
|
-
{
|
|
2408
|
-
className: cn(
|
|
2409
|
-
"flex data-[panel-group-direction=vertical]:flex-col size-full",
|
|
2410
|
-
className
|
|
2411
|
-
),
|
|
2412
|
-
...props
|
|
2413
|
-
}
|
|
2414
|
-
);
|
|
2415
|
-
var ResizablePanel = Panel;
|
|
2268
|
+
}) => /* @__PURE__ */ jsx35(Group4, { className: cn("dl-resizable-group", className), ...props });
|
|
2269
|
+
var ResizablePanel = Panel2;
|
|
2416
2270
|
var ResizableHandle = ({
|
|
2417
2271
|
withHandle,
|
|
2418
2272
|
className,
|
|
2419
2273
|
...props
|
|
2420
|
-
}) => /* @__PURE__ */
|
|
2421
|
-
Separator4,
|
|
2422
|
-
{
|
|
2423
|
-
className: cn(
|
|
2424
|
-
"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
|
2425
|
-
className
|
|
2426
|
-
),
|
|
2427
|
-
...props,
|
|
2428
|
-
children: withHandle && /* @__PURE__ */ jsx30("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx30(GripVertical, { className: "size-2.5" }) })
|
|
2429
|
-
}
|
|
2430
|
-
);
|
|
2274
|
+
}) => /* @__PURE__ */ jsx35(Separator4, { className: cn("dl-resizable-handle", className), ...props, children: withHandle && /* @__PURE__ */ jsx35("div", { className: "dl-resizable-grip", children: /* @__PURE__ */ jsx35(GripVertical, {}) }) });
|
|
2431
2275
|
|
|
2432
|
-
// src/components/scroll-area.tsx
|
|
2433
|
-
import * as
|
|
2276
|
+
// src/components/scroll-area/scroll-area.tsx
|
|
2277
|
+
import * as React32 from "react";
|
|
2434
2278
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
2435
|
-
import { jsx as
|
|
2436
|
-
var ScrollArea =
|
|
2279
|
+
import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2280
|
+
var ScrollArea = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(
|
|
2437
2281
|
ScrollAreaPrimitive.Root,
|
|
2438
2282
|
{
|
|
2439
2283
|
ref,
|
|
2440
|
-
className: cn("
|
|
2284
|
+
className: cn("dl-scroll-area", className),
|
|
2441
2285
|
...props,
|
|
2442
2286
|
children: [
|
|
2443
|
-
/* @__PURE__ */
|
|
2444
|
-
/* @__PURE__ */
|
|
2445
|
-
/* @__PURE__ */
|
|
2287
|
+
/* @__PURE__ */ jsx36(ScrollAreaPrimitive.Viewport, { className: "dl-scroll-area__viewport", children }),
|
|
2288
|
+
/* @__PURE__ */ jsx36(ScrollBar, {}),
|
|
2289
|
+
/* @__PURE__ */ jsx36(ScrollAreaPrimitive.Corner, {})
|
|
2446
2290
|
]
|
|
2447
2291
|
}
|
|
2448
2292
|
));
|
|
2449
2293
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2450
|
-
var ScrollBar =
|
|
2294
|
+
var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
2451
2295
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2452
2296
|
{
|
|
2453
2297
|
ref,
|
|
2454
2298
|
orientation,
|
|
2455
|
-
className: cn(
|
|
2456
|
-
"flex touch-none select-none transition-colors",
|
|
2457
|
-
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
|
|
2458
|
-
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
|
|
2459
|
-
className
|
|
2460
|
-
),
|
|
2299
|
+
className: cn("dl-scroll-area__bar", className),
|
|
2461
2300
|
...props,
|
|
2462
|
-
children: /* @__PURE__ */
|
|
2301
|
+
children: /* @__PURE__ */ jsx36(ScrollAreaPrimitive.ScrollAreaThumb, { className: "dl-scroll-area__thumb" })
|
|
2463
2302
|
}
|
|
2464
2303
|
));
|
|
2465
2304
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2466
2305
|
|
|
2467
|
-
// src/components/select.tsx
|
|
2468
|
-
import * as
|
|
2469
|
-
import
|
|
2470
|
-
import {
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2306
|
+
// src/components/searchable-select/searchable-select.tsx
|
|
2307
|
+
import * as React33 from "react";
|
|
2308
|
+
import { Search as Search2, Plus, Check as Check5, ChevronDown as ChevronDown3 } from "lucide-react";
|
|
2309
|
+
import { jsx as jsx37, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2310
|
+
function SearchableSelect({
|
|
2311
|
+
options,
|
|
2312
|
+
value,
|
|
2313
|
+
onChange,
|
|
2314
|
+
placeholder = "Select an option...",
|
|
2315
|
+
searchPlaceholder = "Search...",
|
|
2316
|
+
onAddNew,
|
|
2317
|
+
addNewLabel = "Add new",
|
|
2318
|
+
disabled = false,
|
|
2319
|
+
className,
|
|
2320
|
+
id
|
|
2321
|
+
}) {
|
|
2322
|
+
const [open, setOpen] = React33.useState(false);
|
|
2323
|
+
const [search, setSearch] = React33.useState("");
|
|
2324
|
+
const [highlightedIndex, setHighlightedIndex] = React33.useState(0);
|
|
2325
|
+
const listRef = React33.useRef(null);
|
|
2326
|
+
const selectedOption = React33.useMemo(() => {
|
|
2327
|
+
return options.find((opt) => opt.value === value);
|
|
2328
|
+
}, [options, value]);
|
|
2329
|
+
const filteredOptions = React33.useMemo(() => {
|
|
2330
|
+
if (!search.trim()) return options;
|
|
2331
|
+
const q = search.toLowerCase();
|
|
2332
|
+
return options.filter(
|
|
2333
|
+
(opt) => opt.label.toLowerCase().includes(q) || opt.group && opt.group.toLowerCase().includes(q)
|
|
2334
|
+
);
|
|
2335
|
+
}, [options, search]);
|
|
2336
|
+
const handleOpenChange = (newOpen) => {
|
|
2337
|
+
setOpen(newOpen);
|
|
2338
|
+
if (newOpen) {
|
|
2339
|
+
const idx = filteredOptions.findIndex((opt) => opt.value === value);
|
|
2340
|
+
setHighlightedIndex(idx >= 0 ? idx : 0);
|
|
2341
|
+
} else {
|
|
2342
|
+
setSearch("");
|
|
2343
|
+
}
|
|
2344
|
+
};
|
|
2345
|
+
const handleSearchChange = (q) => {
|
|
2346
|
+
setSearch(q);
|
|
2347
|
+
setHighlightedIndex(0);
|
|
2348
|
+
};
|
|
2349
|
+
React33.useEffect(() => {
|
|
2350
|
+
if (open && listRef.current) {
|
|
2351
|
+
const activeEl = listRef.current.querySelector(
|
|
2352
|
+
"[data-highlighted='true']"
|
|
2353
|
+
);
|
|
2354
|
+
if (activeEl) {
|
|
2355
|
+
activeEl.scrollIntoView({ block: "nearest" });
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
}, [highlightedIndex, open]);
|
|
2359
|
+
const groupedOptions = React33.useMemo(() => {
|
|
2360
|
+
const hasGroups = filteredOptions.some((opt) => opt.group);
|
|
2361
|
+
if (!hasGroups) return { Default: filteredOptions };
|
|
2362
|
+
return filteredOptions.reduce(
|
|
2363
|
+
(acc, opt) => {
|
|
2364
|
+
const g = opt.group || "Other";
|
|
2365
|
+
if (!acc[g]) acc[g] = [];
|
|
2366
|
+
acc[g].push(opt);
|
|
2367
|
+
return acc;
|
|
2368
|
+
},
|
|
2369
|
+
{}
|
|
2370
|
+
);
|
|
2371
|
+
}, [filteredOptions]);
|
|
2372
|
+
const handleSelect = (val) => {
|
|
2373
|
+
onChange?.(val);
|
|
2374
|
+
setOpen(false);
|
|
2375
|
+
setSearch("");
|
|
2376
|
+
};
|
|
2377
|
+
const handleAddNew = () => {
|
|
2378
|
+
onAddNew?.(search.trim());
|
|
2379
|
+
setOpen(false);
|
|
2380
|
+
setSearch("");
|
|
2381
|
+
};
|
|
2382
|
+
const handleKeyDown = (e) => {
|
|
2383
|
+
if (!open) {
|
|
2384
|
+
if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
|
|
2385
|
+
e.preventDefault();
|
|
2386
|
+
handleOpenChange(true);
|
|
2387
|
+
}
|
|
2388
|
+
return;
|
|
2389
|
+
}
|
|
2390
|
+
switch (e.key) {
|
|
2391
|
+
case "ArrowDown":
|
|
2392
|
+
e.preventDefault();
|
|
2393
|
+
setHighlightedIndex(
|
|
2394
|
+
(p) => p < filteredOptions.length - 1 ? p + 1 : p
|
|
2395
|
+
);
|
|
2396
|
+
break;
|
|
2397
|
+
case "ArrowUp":
|
|
2398
|
+
e.preventDefault();
|
|
2399
|
+
setHighlightedIndex((p) => p > 0 ? p - 1 : 0);
|
|
2400
|
+
break;
|
|
2401
|
+
case "Enter":
|
|
2402
|
+
e.preventDefault();
|
|
2403
|
+
if (filteredOptions.length > 0 && filteredOptions[highlightedIndex]) {
|
|
2404
|
+
handleSelect(filteredOptions[highlightedIndex].value);
|
|
2405
|
+
} else if (onAddNew && search.trim()) {
|
|
2406
|
+
handleAddNew();
|
|
2407
|
+
}
|
|
2408
|
+
break;
|
|
2409
|
+
case "Escape":
|
|
2410
|
+
case "Tab":
|
|
2411
|
+
e.preventDefault();
|
|
2412
|
+
handleOpenChange(false);
|
|
2413
|
+
break;
|
|
2414
|
+
}
|
|
2415
|
+
};
|
|
2416
|
+
let currentIndex = 0;
|
|
2417
|
+
return /* @__PURE__ */ jsxs21(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
2418
|
+
/* @__PURE__ */ jsx37(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs21(
|
|
2419
|
+
Button,
|
|
2420
|
+
{
|
|
2421
|
+
id,
|
|
2422
|
+
variant: "outline",
|
|
2423
|
+
role: "combobox",
|
|
2424
|
+
"aria-expanded": open,
|
|
2425
|
+
disabled,
|
|
2426
|
+
onKeyDown: handleKeyDown,
|
|
2427
|
+
className: cn(
|
|
2428
|
+
"dl-searchable-select-trigger",
|
|
2429
|
+
!selectedOption && "dl-searchable-select-trigger--placeholder",
|
|
2430
|
+
className
|
|
2431
|
+
),
|
|
2432
|
+
children: [
|
|
2433
|
+
/* @__PURE__ */ jsx37("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }),
|
|
2434
|
+
/* @__PURE__ */ jsx37(ChevronDown3, { className: "dl-select-icon" })
|
|
2435
|
+
]
|
|
2436
|
+
}
|
|
2437
|
+
) }),
|
|
2438
|
+
/* @__PURE__ */ jsxs21(
|
|
2439
|
+
PopoverContent,
|
|
2440
|
+
{
|
|
2441
|
+
align: "start",
|
|
2442
|
+
className: "dl-searchable-select-content",
|
|
2443
|
+
onKeyDown: handleKeyDown,
|
|
2444
|
+
children: [
|
|
2445
|
+
/* @__PURE__ */ jsxs21("div", { className: "dl-searchable-select-search", children: [
|
|
2446
|
+
/* @__PURE__ */ jsx37(Search2, { className: "dl-searchable-select-search-icon" }),
|
|
2447
|
+
/* @__PURE__ */ jsx37(
|
|
2448
|
+
Input,
|
|
2449
|
+
{
|
|
2450
|
+
placeholder: searchPlaceholder,
|
|
2451
|
+
value: search,
|
|
2452
|
+
onChange: (e) => handleSearchChange(e.target.value),
|
|
2453
|
+
className: "dl-searchable-select-search-input",
|
|
2454
|
+
autoFocus: true
|
|
2455
|
+
}
|
|
2456
|
+
)
|
|
2457
|
+
] }),
|
|
2458
|
+
/* @__PURE__ */ jsx37(
|
|
2459
|
+
"div",
|
|
2460
|
+
{
|
|
2461
|
+
ref: listRef,
|
|
2462
|
+
onWheel: (e) => e.stopPropagation(),
|
|
2463
|
+
className: "dl-searchable-select-list",
|
|
2464
|
+
children: Object.keys(groupedOptions).length === 0 || filteredOptions.length === 0 && !onAddNew ? /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-empty", children: "No matching options found." }) : Object.entries(groupedOptions).map(([groupName, groupOpts]) => /* @__PURE__ */ jsxs21("div", { className: "py-1", children: [
|
|
2465
|
+
groupName !== "Default" && /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-group-header", children: groupName }),
|
|
2466
|
+
groupOpts.map((option) => {
|
|
2467
|
+
const isSelected = option.value === value;
|
|
2468
|
+
const itemIndex = currentIndex++;
|
|
2469
|
+
const isHighlighted = itemIndex === highlightedIndex;
|
|
2470
|
+
return /* @__PURE__ */ jsxs21(
|
|
2471
|
+
"div",
|
|
2472
|
+
{
|
|
2473
|
+
"data-highlighted": isHighlighted,
|
|
2474
|
+
onClick: () => handleSelect(option.value),
|
|
2475
|
+
onMouseEnter: () => setHighlightedIndex(itemIndex),
|
|
2476
|
+
className: cn(
|
|
2477
|
+
"dl-searchable-select-item",
|
|
2478
|
+
isHighlighted && "dl-searchable-select-item--highlighted",
|
|
2479
|
+
isSelected && !isHighlighted && "dl-searchable-select-item--selected"
|
|
2480
|
+
),
|
|
2481
|
+
children: [
|
|
2482
|
+
/* @__PURE__ */ jsx37("span", { className: "flex-1 truncate", children: option.label }),
|
|
2483
|
+
isSelected && /* @__PURE__ */ jsx37(Check5, { className: "dl-select-check" })
|
|
2484
|
+
]
|
|
2485
|
+
},
|
|
2486
|
+
option.value
|
|
2487
|
+
);
|
|
2488
|
+
})
|
|
2489
|
+
] }, groupName))
|
|
2490
|
+
}
|
|
2491
|
+
),
|
|
2492
|
+
onAddNew && /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-add", children: /* @__PURE__ */ jsxs21(
|
|
2493
|
+
"button",
|
|
2494
|
+
{
|
|
2495
|
+
type: "button",
|
|
2496
|
+
onClick: handleAddNew,
|
|
2497
|
+
className: "dl-searchable-select-add-btn",
|
|
2498
|
+
children: [
|
|
2499
|
+
/* @__PURE__ */ jsx37(Plus, { className: "size-3.5 shrink-0" }),
|
|
2500
|
+
/* @__PURE__ */ jsx37("span", { className: "truncate", children: search.trim() ? `${addNewLabel} "${search.trim()}"` : addNewLabel })
|
|
2501
|
+
]
|
|
2502
|
+
}
|
|
2503
|
+
) })
|
|
2504
|
+
]
|
|
2505
|
+
}
|
|
2506
|
+
)
|
|
2507
|
+
] });
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
// src/components/select/select.tsx
|
|
2511
|
+
import * as React34 from "react";
|
|
2512
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2513
|
+
import { Check as Check6, ChevronDown as ChevronDown4, ChevronUp } from "lucide-react";
|
|
2514
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2515
|
+
var Select = SelectPrimitive.Root;
|
|
2516
|
+
var SelectGroup = SelectPrimitive.Group;
|
|
2517
|
+
var SelectValue = SelectPrimitive.Value;
|
|
2518
|
+
var SelectTrigger = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(
|
|
2519
|
+
SelectPrimitive.Trigger,
|
|
2520
|
+
{
|
|
2521
|
+
ref,
|
|
2522
|
+
className: cn("dl-select-trigger", className),
|
|
2523
|
+
...props,
|
|
2524
|
+
children: [
|
|
2485
2525
|
children,
|
|
2486
|
-
/* @__PURE__ */
|
|
2526
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx38(
|
|
2527
|
+
ChevronDown4,
|
|
2528
|
+
{
|
|
2529
|
+
style: { opacity: 0.5, width: "0.75rem", height: "0.75rem" }
|
|
2530
|
+
}
|
|
2531
|
+
) })
|
|
2487
2532
|
]
|
|
2488
2533
|
}
|
|
2489
2534
|
));
|
|
2490
2535
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2491
|
-
var SelectScrollUpButton =
|
|
2536
|
+
var SelectScrollUpButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2492
2537
|
SelectPrimitive.ScrollUpButton,
|
|
2493
2538
|
{
|
|
2494
2539
|
ref,
|
|
2495
|
-
className: cn(
|
|
2496
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2497
|
-
className
|
|
2498
|
-
),
|
|
2540
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2499
2541
|
...props,
|
|
2500
|
-
children: /* @__PURE__ */
|
|
2542
|
+
children: /* @__PURE__ */ jsx38(ChevronUp, { style: { width: "1rem", height: "1rem" } })
|
|
2501
2543
|
}
|
|
2502
2544
|
));
|
|
2503
2545
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2504
|
-
var SelectScrollDownButton =
|
|
2546
|
+
var SelectScrollDownButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2505
2547
|
SelectPrimitive.ScrollDownButton,
|
|
2506
2548
|
{
|
|
2507
2549
|
ref,
|
|
2508
|
-
className: cn(
|
|
2509
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2510
|
-
className
|
|
2511
|
-
),
|
|
2550
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2512
2551
|
...props,
|
|
2513
|
-
children: /* @__PURE__ */
|
|
2552
|
+
children: /* @__PURE__ */ jsx38(ChevronDown4, { style: { width: "1rem", height: "1rem" } })
|
|
2514
2553
|
}
|
|
2515
2554
|
));
|
|
2516
2555
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2517
|
-
var SelectContent =
|
|
2556
|
+
var SelectContent = React34.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx38(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
|
|
2518
2557
|
SelectPrimitive.Content,
|
|
2519
2558
|
{
|
|
2520
2559
|
ref,
|
|
2521
|
-
className: cn(
|
|
2522
|
-
"relative z-50 max-h-(--radix-select-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-select-content-transform-origin)",
|
|
2523
|
-
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1",
|
|
2524
|
-
className
|
|
2525
|
-
),
|
|
2560
|
+
className: cn("dl-select-content", className),
|
|
2526
2561
|
position,
|
|
2527
2562
|
...props,
|
|
2528
2563
|
children: [
|
|
2529
|
-
/* @__PURE__ */
|
|
2530
|
-
/* @__PURE__ */
|
|
2531
|
-
|
|
2532
|
-
{
|
|
2533
|
-
className: cn(
|
|
2534
|
-
"p-1",
|
|
2535
|
-
position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
|
|
2536
|
-
),
|
|
2537
|
-
children
|
|
2538
|
-
}
|
|
2539
|
-
),
|
|
2540
|
-
/* @__PURE__ */ jsx32(SelectScrollDownButton, {})
|
|
2564
|
+
/* @__PURE__ */ jsx38(SelectScrollUpButton, {}),
|
|
2565
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.Viewport, { className: "dl-select-viewport", children }),
|
|
2566
|
+
/* @__PURE__ */ jsx38(SelectScrollDownButton, {})
|
|
2541
2567
|
]
|
|
2542
2568
|
}
|
|
2543
2569
|
) }));
|
|
2544
2570
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2545
|
-
var SelectLabel =
|
|
2571
|
+
var SelectLabel = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2546
2572
|
SelectPrimitive.Label,
|
|
2547
2573
|
{
|
|
2548
2574
|
ref,
|
|
2549
|
-
className: cn("
|
|
2575
|
+
className: cn("dl-select-label", className),
|
|
2550
2576
|
...props
|
|
2551
2577
|
}
|
|
2552
2578
|
));
|
|
2553
2579
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2554
|
-
var SelectItem =
|
|
2580
|
+
var SelectItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(
|
|
2555
2581
|
SelectPrimitive.Item,
|
|
2556
2582
|
{
|
|
2557
2583
|
ref,
|
|
2558
|
-
className: cn(
|
|
2559
|
-
"relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2560
|
-
className
|
|
2561
|
-
),
|
|
2584
|
+
className: cn("dl-select-item", className),
|
|
2562
2585
|
...props,
|
|
2563
2586
|
children: [
|
|
2564
|
-
/* @__PURE__ */
|
|
2565
|
-
/* @__PURE__ */
|
|
2587
|
+
/* @__PURE__ */ jsx38("span", { className: "dl-select-item__indicator", children: /* @__PURE__ */ jsx38(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx38(Check6, { style: { width: "0.75rem", height: "0.75rem" } }) }) }),
|
|
2588
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.ItemText, { children })
|
|
2566
2589
|
]
|
|
2567
2590
|
}
|
|
2568
2591
|
));
|
|
2569
2592
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2570
|
-
var SelectSeparator =
|
|
2593
|
+
var SelectSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2571
2594
|
SelectPrimitive.Separator,
|
|
2572
2595
|
{
|
|
2573
2596
|
ref,
|
|
2574
|
-
className: cn("-
|
|
2597
|
+
className: cn("dl-select-separator", className),
|
|
2575
2598
|
...props
|
|
2576
2599
|
}
|
|
2577
2600
|
));
|
|
2578
2601
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2579
2602
|
|
|
2580
|
-
// src/components/separator.tsx
|
|
2581
|
-
import * as
|
|
2603
|
+
// src/components/separator/separator.tsx
|
|
2604
|
+
import * as React35 from "react";
|
|
2582
2605
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
2583
|
-
import { jsx as
|
|
2584
|
-
var Separator6 =
|
|
2585
|
-
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */
|
|
2606
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
2607
|
+
var Separator6 = React35.forwardRef(
|
|
2608
|
+
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
2586
2609
|
SeparatorPrimitive.Root,
|
|
2587
2610
|
{
|
|
2588
2611
|
ref,
|
|
2589
2612
|
decorative,
|
|
2590
2613
|
orientation,
|
|
2591
|
-
className: cn(
|
|
2592
|
-
"shrink-0 bg-border",
|
|
2593
|
-
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
2594
|
-
className
|
|
2595
|
-
),
|
|
2614
|
+
className: cn("dl-separator", className),
|
|
2596
2615
|
...props
|
|
2597
2616
|
}
|
|
2598
2617
|
)
|
|
2599
2618
|
);
|
|
2600
2619
|
Separator6.displayName = SeparatorPrimitive.Root.displayName;
|
|
2601
2620
|
|
|
2602
|
-
// src/components/sheet.tsx
|
|
2603
|
-
import * as
|
|
2621
|
+
// src/components/sheet/sheet.tsx
|
|
2622
|
+
import * as React36 from "react";
|
|
2604
2623
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
2605
2624
|
import { cva as cva6 } from "class-variance-authority";
|
|
2606
2625
|
import { X as X2 } from "lucide-react";
|
|
2607
|
-
import { jsx as
|
|
2626
|
+
import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2608
2627
|
var Sheet = SheetPrimitive.Root;
|
|
2609
2628
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
2610
2629
|
var SheetClose = SheetPrimitive.Close;
|
|
2611
2630
|
var SheetPortal = SheetPrimitive.Portal;
|
|
2612
|
-
var SheetOverlay =
|
|
2631
|
+
var SheetOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2613
2632
|
SheetPrimitive.Overlay,
|
|
2614
2633
|
{
|
|
2615
|
-
className: cn(
|
|
2616
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2617
|
-
className
|
|
2618
|
-
),
|
|
2634
|
+
className: cn("dl-dialog-overlay", className),
|
|
2619
2635
|
...props,
|
|
2620
2636
|
ref
|
|
2621
2637
|
}
|
|
2622
2638
|
));
|
|
2623
2639
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
2624
|
-
var sheetVariants = cva6(
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
defaultVariants: {
|
|
2636
|
-
side: "right"
|
|
2637
|
-
}
|
|
2640
|
+
var sheetVariants = cva6("dl-sheet-content", {
|
|
2641
|
+
variants: {
|
|
2642
|
+
side: {
|
|
2643
|
+
top: "dl-sheet-content--top",
|
|
2644
|
+
bottom: "dl-sheet-content--bottom",
|
|
2645
|
+
left: "dl-sheet-content--left",
|
|
2646
|
+
right: "dl-sheet-content--right"
|
|
2647
|
+
}
|
|
2648
|
+
},
|
|
2649
|
+
defaultVariants: {
|
|
2650
|
+
side: "right"
|
|
2638
2651
|
}
|
|
2639
|
-
);
|
|
2640
|
-
var SheetContent =
|
|
2641
|
-
/* @__PURE__ */
|
|
2642
|
-
/* @__PURE__ */
|
|
2652
|
+
});
|
|
2653
|
+
var SheetContent = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs23(SheetPortal, { children: [
|
|
2654
|
+
/* @__PURE__ */ jsx40(SheetOverlay, {}),
|
|
2655
|
+
/* @__PURE__ */ jsxs23(
|
|
2643
2656
|
SheetPrimitive.Content,
|
|
2644
2657
|
{
|
|
2645
2658
|
ref,
|
|
2646
2659
|
className: cn(sheetVariants({ side }), className),
|
|
2660
|
+
"data-side": side,
|
|
2647
2661
|
...props,
|
|
2648
2662
|
children: [
|
|
2649
|
-
/* @__PURE__ */
|
|
2650
|
-
/* @__PURE__ */
|
|
2651
|
-
/* @__PURE__ */
|
|
2663
|
+
/* @__PURE__ */ jsxs23(SheetPrimitive.Close, { className: "dl-sheet-close", children: [
|
|
2664
|
+
/* @__PURE__ */ jsx40(X2, { style: { width: "1rem", height: "1rem" } }),
|
|
2665
|
+
/* @__PURE__ */ jsx40("span", { className: "sr-only", children: "Close" })
|
|
2652
2666
|
] }),
|
|
2653
2667
|
children
|
|
2654
2668
|
]
|
|
@@ -2659,109 +2673,73 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
2659
2673
|
var SheetHeader = ({
|
|
2660
2674
|
className,
|
|
2661
2675
|
...props
|
|
2662
|
-
}) => /* @__PURE__ */
|
|
2663
|
-
"div",
|
|
2664
|
-
{
|
|
2665
|
-
className: cn(
|
|
2666
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
2667
|
-
className
|
|
2668
|
-
),
|
|
2669
|
-
...props
|
|
2670
|
-
}
|
|
2671
|
-
);
|
|
2676
|
+
}) => /* @__PURE__ */ jsx40("div", { className: cn("dl-sheet__header", className), ...props });
|
|
2672
2677
|
SheetHeader.displayName = "SheetHeader";
|
|
2673
2678
|
var SheetFooter = ({
|
|
2674
2679
|
className,
|
|
2675
2680
|
...props
|
|
2676
|
-
}) => /* @__PURE__ */
|
|
2677
|
-
"div",
|
|
2678
|
-
{
|
|
2679
|
-
className: cn(
|
|
2680
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
2681
|
-
className
|
|
2682
|
-
),
|
|
2683
|
-
...props
|
|
2684
|
-
}
|
|
2685
|
-
);
|
|
2681
|
+
}) => /* @__PURE__ */ jsx40("div", { className: cn("dl-sheet__footer", className), ...props });
|
|
2686
2682
|
SheetFooter.displayName = "SheetFooter";
|
|
2687
|
-
var SheetTitle =
|
|
2683
|
+
var SheetTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2688
2684
|
SheetPrimitive.Title,
|
|
2689
2685
|
{
|
|
2690
2686
|
ref,
|
|
2691
|
-
className: cn("
|
|
2687
|
+
className: cn("dl-sheet__title", className),
|
|
2692
2688
|
...props
|
|
2693
2689
|
}
|
|
2694
2690
|
));
|
|
2695
2691
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
2696
|
-
var SheetDescription =
|
|
2692
|
+
var SheetDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2697
2693
|
SheetPrimitive.Description,
|
|
2698
2694
|
{
|
|
2699
2695
|
ref,
|
|
2700
|
-
className: cn("
|
|
2696
|
+
className: cn("dl-sheet__desc", className),
|
|
2701
2697
|
...props
|
|
2702
2698
|
}
|
|
2703
2699
|
));
|
|
2704
2700
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
2705
2701
|
|
|
2706
|
-
// src/components/sidebar.tsx
|
|
2707
|
-
import * as
|
|
2702
|
+
// src/components/sidebar/sidebar.tsx
|
|
2703
|
+
import * as React38 from "react";
|
|
2708
2704
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
2709
2705
|
import { cva as cva7 } from "class-variance-authority";
|
|
2710
2706
|
import { PanelLeft } from "lucide-react";
|
|
2711
2707
|
|
|
2712
|
-
// src/components/
|
|
2713
|
-
import
|
|
2714
|
-
function Skeleton({
|
|
2715
|
-
className,
|
|
2716
|
-
...props
|
|
2717
|
-
}) {
|
|
2718
|
-
return /* @__PURE__ */ jsx35(
|
|
2719
|
-
"div",
|
|
2720
|
-
{
|
|
2721
|
-
className: cn("animate-pulse rounded-md bg-primary/10", className),
|
|
2722
|
-
...props
|
|
2723
|
-
}
|
|
2724
|
-
);
|
|
2725
|
-
}
|
|
2726
|
-
|
|
2727
|
-
// src/components/tooltip.tsx
|
|
2728
|
-
import * as React34 from "react";
|
|
2708
|
+
// src/components/tooltip/tooltip.tsx
|
|
2709
|
+
import * as React37 from "react";
|
|
2729
2710
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
2730
|
-
import { jsx as
|
|
2711
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
2731
2712
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
2732
2713
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
2733
2714
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
2734
|
-
var TooltipContent =
|
|
2715
|
+
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx41(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
2735
2716
|
TooltipPrimitive.Content,
|
|
2736
2717
|
{
|
|
2737
2718
|
ref,
|
|
2738
2719
|
sideOffset,
|
|
2739
|
-
className: cn(
|
|
2740
|
-
"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)",
|
|
2741
|
-
className
|
|
2742
|
-
),
|
|
2720
|
+
className: cn("dl-tooltip", className),
|
|
2743
2721
|
...props
|
|
2744
2722
|
}
|
|
2745
2723
|
) }));
|
|
2746
2724
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
2747
2725
|
|
|
2748
|
-
// src/components/sidebar.tsx
|
|
2749
|
-
import { jsx as
|
|
2726
|
+
// src/components/sidebar/sidebar.tsx
|
|
2727
|
+
import { jsx as jsx42, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2750
2728
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
2751
2729
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
2752
2730
|
var SIDEBAR_WIDTH = "16rem";
|
|
2753
2731
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
2754
2732
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
2755
2733
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
2756
|
-
var SidebarContext =
|
|
2734
|
+
var SidebarContext = React38.createContext(null);
|
|
2757
2735
|
function useSidebar() {
|
|
2758
|
-
const context =
|
|
2736
|
+
const context = React38.useContext(SidebarContext);
|
|
2759
2737
|
if (!context) {
|
|
2760
2738
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
2761
2739
|
}
|
|
2762
2740
|
return context;
|
|
2763
2741
|
}
|
|
2764
|
-
var SidebarProvider =
|
|
2742
|
+
var SidebarProvider = React38.forwardRef(
|
|
2765
2743
|
({
|
|
2766
2744
|
defaultOpen = true,
|
|
2767
2745
|
open: openProp,
|
|
@@ -2772,10 +2750,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2772
2750
|
...props
|
|
2773
2751
|
}, ref) => {
|
|
2774
2752
|
const isMobile = useIsMobile();
|
|
2775
|
-
const [openMobile, setOpenMobile] =
|
|
2776
|
-
const [_open, _setOpen] =
|
|
2753
|
+
const [openMobile, setOpenMobile] = React38.useState(false);
|
|
2754
|
+
const [_open, _setOpen] = React38.useState(defaultOpen);
|
|
2777
2755
|
const open = openProp ?? _open;
|
|
2778
|
-
const setOpen =
|
|
2756
|
+
const setOpen = React38.useCallback(
|
|
2779
2757
|
(value) => {
|
|
2780
2758
|
const openState = typeof value === "function" ? value(open) : value;
|
|
2781
2759
|
if (setOpenProp) {
|
|
@@ -2787,10 +2765,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2787
2765
|
},
|
|
2788
2766
|
[setOpenProp, open]
|
|
2789
2767
|
);
|
|
2790
|
-
const toggleSidebar =
|
|
2768
|
+
const toggleSidebar = React38.useCallback(() => {
|
|
2791
2769
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
2792
2770
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
2793
|
-
|
|
2771
|
+
React38.useEffect(() => {
|
|
2794
2772
|
const handleKeyDown = (event) => {
|
|
2795
2773
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
2796
2774
|
event.preventDefault();
|
|
@@ -2801,7 +2779,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2801
2779
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
2802
2780
|
}, [toggleSidebar]);
|
|
2803
2781
|
const state = open ? "expanded" : "collapsed";
|
|
2804
|
-
const contextValue =
|
|
2782
|
+
const contextValue = React38.useMemo(
|
|
2805
2783
|
() => ({
|
|
2806
2784
|
state,
|
|
2807
2785
|
open,
|
|
@@ -2821,7 +2799,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2821
2799
|
toggleSidebar
|
|
2822
2800
|
]
|
|
2823
2801
|
);
|
|
2824
|
-
return /* @__PURE__ */
|
|
2802
|
+
return /* @__PURE__ */ jsx42(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx42(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx42(
|
|
2825
2803
|
"div",
|
|
2826
2804
|
{
|
|
2827
2805
|
style: {
|
|
@@ -2841,7 +2819,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2841
2819
|
}
|
|
2842
2820
|
);
|
|
2843
2821
|
SidebarProvider.displayName = "SidebarProvider";
|
|
2844
|
-
var Sidebar =
|
|
2822
|
+
var Sidebar = React38.forwardRef(
|
|
2845
2823
|
({
|
|
2846
2824
|
side = "left",
|
|
2847
2825
|
variant = "sidebar",
|
|
@@ -2852,7 +2830,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2852
2830
|
}, ref) => {
|
|
2853
2831
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
2854
2832
|
if (collapsible === "none") {
|
|
2855
|
-
return /* @__PURE__ */
|
|
2833
|
+
return /* @__PURE__ */ jsx42(
|
|
2856
2834
|
"div",
|
|
2857
2835
|
{
|
|
2858
2836
|
className: cn(
|
|
@@ -2866,7 +2844,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2866
2844
|
);
|
|
2867
2845
|
}
|
|
2868
2846
|
if (isMobile) {
|
|
2869
|
-
return /* @__PURE__ */
|
|
2847
|
+
return /* @__PURE__ */ jsx42(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs24(
|
|
2870
2848
|
SheetContent,
|
|
2871
2849
|
{
|
|
2872
2850
|
"data-sidebar": "sidebar",
|
|
@@ -2877,16 +2855,16 @@ var Sidebar = React35.forwardRef(
|
|
|
2877
2855
|
},
|
|
2878
2856
|
side,
|
|
2879
2857
|
children: [
|
|
2880
|
-
/* @__PURE__ */
|
|
2881
|
-
/* @__PURE__ */
|
|
2882
|
-
/* @__PURE__ */
|
|
2858
|
+
/* @__PURE__ */ jsxs24(SheetHeader, { className: "sr-only", children: [
|
|
2859
|
+
/* @__PURE__ */ jsx42(SheetTitle, { children: "Sidebar" }),
|
|
2860
|
+
/* @__PURE__ */ jsx42(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
2883
2861
|
] }),
|
|
2884
|
-
/* @__PURE__ */
|
|
2862
|
+
/* @__PURE__ */ jsx42("div", { className: "flex flex-col size-full", children })
|
|
2885
2863
|
]
|
|
2886
2864
|
}
|
|
2887
2865
|
) });
|
|
2888
2866
|
}
|
|
2889
|
-
return /* @__PURE__ */
|
|
2867
|
+
return /* @__PURE__ */ jsxs24(
|
|
2890
2868
|
"div",
|
|
2891
2869
|
{
|
|
2892
2870
|
ref,
|
|
@@ -2896,7 +2874,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2896
2874
|
"data-variant": variant,
|
|
2897
2875
|
"data-side": side,
|
|
2898
2876
|
children: [
|
|
2899
|
-
/* @__PURE__ */
|
|
2877
|
+
/* @__PURE__ */ jsx42(
|
|
2900
2878
|
"div",
|
|
2901
2879
|
{
|
|
2902
2880
|
className: cn(
|
|
@@ -2907,7 +2885,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2907
2885
|
)
|
|
2908
2886
|
}
|
|
2909
2887
|
),
|
|
2910
|
-
/* @__PURE__ */
|
|
2888
|
+
/* @__PURE__ */ jsx42(
|
|
2911
2889
|
"div",
|
|
2912
2890
|
{
|
|
2913
2891
|
className: cn(
|
|
@@ -2918,7 +2896,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2918
2896
|
className
|
|
2919
2897
|
),
|
|
2920
2898
|
...props,
|
|
2921
|
-
children: /* @__PURE__ */
|
|
2899
|
+
children: /* @__PURE__ */ jsx42(
|
|
2922
2900
|
"div",
|
|
2923
2901
|
{
|
|
2924
2902
|
"data-sidebar": "sidebar",
|
|
@@ -2934,9 +2912,9 @@ var Sidebar = React35.forwardRef(
|
|
|
2934
2912
|
}
|
|
2935
2913
|
);
|
|
2936
2914
|
Sidebar.displayName = "Sidebar";
|
|
2937
|
-
var SidebarTrigger =
|
|
2915
|
+
var SidebarTrigger = React38.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
2938
2916
|
const { toggleSidebar } = useSidebar();
|
|
2939
|
-
return /* @__PURE__ */
|
|
2917
|
+
return /* @__PURE__ */ jsxs24(
|
|
2940
2918
|
Button,
|
|
2941
2919
|
{
|
|
2942
2920
|
ref,
|
|
@@ -2950,94 +2928,99 @@ var SidebarTrigger = React35.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
2950
2928
|
},
|
|
2951
2929
|
...props,
|
|
2952
2930
|
children: [
|
|
2953
|
-
/* @__PURE__ */
|
|
2954
|
-
/* @__PURE__ */
|
|
2931
|
+
/* @__PURE__ */ jsx42(PanelLeft, {}),
|
|
2932
|
+
/* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
2955
2933
|
]
|
|
2956
2934
|
}
|
|
2957
2935
|
);
|
|
2958
2936
|
});
|
|
2959
2937
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
2960
|
-
var SidebarRail =
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2938
|
+
var SidebarRail = React38.forwardRef(
|
|
2939
|
+
({ className, ...props }, ref) => {
|
|
2940
|
+
const { toggleSidebar } = useSidebar();
|
|
2941
|
+
return /* @__PURE__ */ jsx42(
|
|
2942
|
+
"button",
|
|
2943
|
+
{
|
|
2944
|
+
ref,
|
|
2945
|
+
"data-sidebar": "rail",
|
|
2946
|
+
"aria-label": "Toggle Sidebar",
|
|
2947
|
+
tabIndex: -1,
|
|
2948
|
+
onClick: toggleSidebar,
|
|
2949
|
+
title: "Toggle Sidebar",
|
|
2950
|
+
className: cn(
|
|
2951
|
+
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
|
2952
|
+
"in-data-[side=right]:cursor-e-resize",
|
|
2953
|
+
"[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
2954
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
|
|
2955
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
2956
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
2957
|
+
className
|
|
2958
|
+
),
|
|
2959
|
+
...props
|
|
2960
|
+
}
|
|
2961
|
+
);
|
|
2962
|
+
}
|
|
2963
|
+
);
|
|
2984
2964
|
SidebarRail.displayName = "SidebarRail";
|
|
2985
|
-
var SidebarInset =
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2965
|
+
var SidebarInset = React38.forwardRef(
|
|
2966
|
+
({ className, ...props }, ref) => {
|
|
2967
|
+
return /* @__PURE__ */ jsx42(
|
|
2968
|
+
"main",
|
|
2969
|
+
{
|
|
2970
|
+
ref,
|
|
2971
|
+
className: cn(
|
|
2972
|
+
"relative flex w-full flex-1 flex-col bg-background",
|
|
2973
|
+
"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",
|
|
2974
|
+
className
|
|
2975
|
+
),
|
|
2976
|
+
...props
|
|
2977
|
+
}
|
|
2978
|
+
);
|
|
2979
|
+
}
|
|
2980
|
+
);
|
|
2999
2981
|
SidebarInset.displayName = "SidebarInset";
|
|
3000
|
-
var SidebarInput =
|
|
3001
|
-
return /* @__PURE__ */
|
|
2982
|
+
var SidebarInput = React38.forwardRef(({ className, ...props }, ref) => {
|
|
2983
|
+
return /* @__PURE__ */ jsx42(
|
|
3002
2984
|
Input,
|
|
3003
2985
|
{
|
|
3004
2986
|
ref,
|
|
3005
2987
|
"data-sidebar": "input",
|
|
3006
|
-
className: cn(
|
|
3007
|
-
"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
|
|
3008
|
-
className
|
|
3009
|
-
),
|
|
2988
|
+
className: cn("dl-sidebar-input", className),
|
|
3010
2989
|
...props
|
|
3011
2990
|
}
|
|
3012
2991
|
);
|
|
3013
2992
|
});
|
|
3014
2993
|
SidebarInput.displayName = "SidebarInput";
|
|
3015
|
-
var SidebarHeader =
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
2994
|
+
var SidebarHeader = React38.forwardRef(
|
|
2995
|
+
({ className, ...props }, ref) => {
|
|
2996
|
+
return /* @__PURE__ */ jsx42(
|
|
2997
|
+
"div",
|
|
2998
|
+
{
|
|
2999
|
+
ref,
|
|
3000
|
+
"data-sidebar": "header",
|
|
3001
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3002
|
+
...props
|
|
3003
|
+
}
|
|
3004
|
+
);
|
|
3005
|
+
}
|
|
3006
|
+
);
|
|
3026
3007
|
SidebarHeader.displayName = "SidebarHeader";
|
|
3027
|
-
var SidebarFooter =
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3008
|
+
var SidebarFooter = React38.forwardRef(
|
|
3009
|
+
({ className, ...props }, ref) => {
|
|
3010
|
+
return /* @__PURE__ */ jsx42(
|
|
3011
|
+
"div",
|
|
3012
|
+
{
|
|
3013
|
+
ref,
|
|
3014
|
+
"data-sidebar": "footer",
|
|
3015
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3016
|
+
...props
|
|
3017
|
+
}
|
|
3018
|
+
);
|
|
3019
|
+
}
|
|
3020
|
+
);
|
|
3038
3021
|
SidebarFooter.displayName = "SidebarFooter";
|
|
3039
|
-
var SidebarSeparator =
|
|
3040
|
-
return /* @__PURE__ */
|
|
3022
|
+
var SidebarSeparator = React38.forwardRef(({ className, ...props }, ref) => {
|
|
3023
|
+
return /* @__PURE__ */ jsx42(
|
|
3041
3024
|
Separator6,
|
|
3042
3025
|
{
|
|
3043
3026
|
ref,
|
|
@@ -3048,42 +3031,46 @@ var SidebarSeparator = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3048
3031
|
);
|
|
3049
3032
|
});
|
|
3050
3033
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
3051
|
-
var SidebarContent =
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3034
|
+
var SidebarContent = React38.forwardRef(
|
|
3035
|
+
({ className, ...props }, ref) => {
|
|
3036
|
+
return /* @__PURE__ */ jsx42(
|
|
3037
|
+
"div",
|
|
3038
|
+
{
|
|
3039
|
+
ref,
|
|
3040
|
+
"data-sidebar": "content",
|
|
3041
|
+
className: cn(
|
|
3042
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto",
|
|
3043
|
+
className
|
|
3044
|
+
),
|
|
3045
|
+
...props
|
|
3046
|
+
}
|
|
3047
|
+
);
|
|
3048
|
+
}
|
|
3049
|
+
);
|
|
3065
3050
|
SidebarContent.displayName = "SidebarContent";
|
|
3066
|
-
var SidebarGroup =
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3051
|
+
var SidebarGroup = React38.forwardRef(
|
|
3052
|
+
({ className, ...props }, ref) => {
|
|
3053
|
+
return /* @__PURE__ */ jsx42(
|
|
3054
|
+
"div",
|
|
3055
|
+
{
|
|
3056
|
+
ref,
|
|
3057
|
+
"data-sidebar": "group",
|
|
3058
|
+
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
3059
|
+
...props
|
|
3060
|
+
}
|
|
3061
|
+
);
|
|
3062
|
+
}
|
|
3063
|
+
);
|
|
3077
3064
|
SidebarGroup.displayName = "SidebarGroup";
|
|
3078
|
-
var SidebarGroupLabel =
|
|
3065
|
+
var SidebarGroupLabel = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3079
3066
|
const Comp = asChild ? Slot4 : "div";
|
|
3080
|
-
return /* @__PURE__ */
|
|
3067
|
+
return /* @__PURE__ */ jsx42(
|
|
3081
3068
|
Comp,
|
|
3082
3069
|
{
|
|
3083
3070
|
ref,
|
|
3084
3071
|
"data-sidebar": "group-label",
|
|
3085
3072
|
className: cn(
|
|
3086
|
-
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4
|
|
3073
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4",
|
|
3087
3074
|
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
3088
3075
|
className
|
|
3089
3076
|
),
|
|
@@ -3092,9 +3079,9 @@ var SidebarGroupLabel = React35.forwardRef(({ className, asChild = false, ...pro
|
|
|
3092
3079
|
);
|
|
3093
3080
|
});
|
|
3094
3081
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
3095
|
-
var SidebarGroupAction =
|
|
3082
|
+
var SidebarGroupAction = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3096
3083
|
const Comp = asChild ? Slot4 : "button";
|
|
3097
|
-
return /* @__PURE__ */
|
|
3084
|
+
return /* @__PURE__ */ jsx42(
|
|
3098
3085
|
Comp,
|
|
3099
3086
|
{
|
|
3100
3087
|
ref,
|
|
@@ -3111,7 +3098,7 @@ var SidebarGroupAction = React35.forwardRef(({ className, asChild = false, ...pr
|
|
|
3111
3098
|
);
|
|
3112
3099
|
});
|
|
3113
3100
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
3114
|
-
var SidebarGroupContent =
|
|
3101
|
+
var SidebarGroupContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3115
3102
|
"div",
|
|
3116
3103
|
{
|
|
3117
3104
|
ref,
|
|
@@ -3121,25 +3108,29 @@ var SidebarGroupContent = React35.forwardRef(({ className, ...props }, ref) => /
|
|
|
3121
3108
|
}
|
|
3122
3109
|
));
|
|
3123
3110
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
3124
|
-
var SidebarMenu =
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3111
|
+
var SidebarMenu = React38.forwardRef(
|
|
3112
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3113
|
+
"ul",
|
|
3114
|
+
{
|
|
3115
|
+
ref,
|
|
3116
|
+
"data-sidebar": "menu",
|
|
3117
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
3118
|
+
...props
|
|
3119
|
+
}
|
|
3120
|
+
)
|
|
3121
|
+
);
|
|
3133
3122
|
SidebarMenu.displayName = "SidebarMenu";
|
|
3134
|
-
var SidebarMenuItem =
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3123
|
+
var SidebarMenuItem = React38.forwardRef(
|
|
3124
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3125
|
+
"li",
|
|
3126
|
+
{
|
|
3127
|
+
ref,
|
|
3128
|
+
"data-sidebar": "menu-item",
|
|
3129
|
+
className: cn("group/menu-item relative", className),
|
|
3130
|
+
...props
|
|
3131
|
+
}
|
|
3132
|
+
)
|
|
3133
|
+
);
|
|
3143
3134
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
3144
3135
|
var sidebarMenuButtonVariants = cva7(
|
|
3145
3136
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring cursor-pointer transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
@@ -3161,7 +3152,7 @@ var sidebarMenuButtonVariants = cva7(
|
|
|
3161
3152
|
}
|
|
3162
3153
|
}
|
|
3163
3154
|
);
|
|
3164
|
-
var SidebarMenuButton =
|
|
3155
|
+
var SidebarMenuButton = React38.forwardRef(
|
|
3165
3156
|
({
|
|
3166
3157
|
asChild = false,
|
|
3167
3158
|
isActive = false,
|
|
@@ -3173,7 +3164,7 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3173
3164
|
}, ref) => {
|
|
3174
3165
|
const Comp = asChild ? Slot4 : "button";
|
|
3175
3166
|
const { isMobile, state } = useSidebar();
|
|
3176
|
-
const button = /* @__PURE__ */
|
|
3167
|
+
const button = /* @__PURE__ */ jsx42(
|
|
3177
3168
|
Comp,
|
|
3178
3169
|
{
|
|
3179
3170
|
ref,
|
|
@@ -3192,9 +3183,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3192
3183
|
children: tooltip
|
|
3193
3184
|
};
|
|
3194
3185
|
}
|
|
3195
|
-
return /* @__PURE__ */
|
|
3196
|
-
/* @__PURE__ */
|
|
3197
|
-
/* @__PURE__ */
|
|
3186
|
+
return /* @__PURE__ */ jsxs24(Tooltip2, { children: [
|
|
3187
|
+
/* @__PURE__ */ jsx42(TooltipTrigger, { asChild: true, children: button }),
|
|
3188
|
+
/* @__PURE__ */ jsx42(
|
|
3198
3189
|
TooltipContent,
|
|
3199
3190
|
{
|
|
3200
3191
|
side: "right",
|
|
@@ -3207,9 +3198,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3207
3198
|
}
|
|
3208
3199
|
);
|
|
3209
3200
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
3210
|
-
var SidebarMenuAction =
|
|
3201
|
+
var SidebarMenuAction = React38.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
3211
3202
|
const Comp = asChild ? Slot4 : "button";
|
|
3212
|
-
return /* @__PURE__ */
|
|
3203
|
+
return /* @__PURE__ */ jsx42(
|
|
3213
3204
|
Comp,
|
|
3214
3205
|
{
|
|
3215
3206
|
ref,
|
|
@@ -3222,7 +3213,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3222
3213
|
"peer-data-[size=default]/menu-button:top-1.5",
|
|
3223
3214
|
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
3224
3215
|
"group-data-[collapsible=icon]:hidden",
|
|
3225
|
-
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100
|
|
3216
|
+
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
|
|
3226
3217
|
className
|
|
3227
3218
|
),
|
|
3228
3219
|
...props
|
|
@@ -3230,7 +3221,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3230
3221
|
);
|
|
3231
3222
|
});
|
|
3232
3223
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
3233
|
-
var SidebarMenuBadge =
|
|
3224
|
+
var SidebarMenuBadge = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3234
3225
|
"div",
|
|
3235
3226
|
{
|
|
3236
3227
|
ref,
|
|
@@ -3248,11 +3239,11 @@ var SidebarMenuBadge = React35.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3248
3239
|
}
|
|
3249
3240
|
));
|
|
3250
3241
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
3251
|
-
var SidebarMenuSkeleton =
|
|
3252
|
-
const width =
|
|
3242
|
+
var SidebarMenuSkeleton = React38.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
3243
|
+
const width = React38.useMemo(() => {
|
|
3253
3244
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
3254
3245
|
}, []);
|
|
3255
|
-
return /* @__PURE__ */
|
|
3246
|
+
return /* @__PURE__ */ jsxs24(
|
|
3256
3247
|
"div",
|
|
3257
3248
|
{
|
|
3258
3249
|
ref,
|
|
@@ -3260,14 +3251,14 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3260
3251
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
3261
3252
|
...props,
|
|
3262
3253
|
children: [
|
|
3263
|
-
showIcon && /* @__PURE__ */
|
|
3254
|
+
showIcon && /* @__PURE__ */ jsx42(
|
|
3264
3255
|
Skeleton,
|
|
3265
3256
|
{
|
|
3266
3257
|
className: "size-4 rounded-md",
|
|
3267
3258
|
"data-sidebar": "menu-skeleton-icon"
|
|
3268
3259
|
}
|
|
3269
3260
|
),
|
|
3270
|
-
/* @__PURE__ */
|
|
3261
|
+
/* @__PURE__ */ jsx42(
|
|
3271
3262
|
Skeleton,
|
|
3272
3263
|
{
|
|
3273
3264
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -3282,25 +3273,27 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3282
3273
|
);
|
|
3283
3274
|
});
|
|
3284
3275
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
3285
|
-
var SidebarMenuSub =
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3276
|
+
var SidebarMenuSub = React38.forwardRef(
|
|
3277
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3278
|
+
"ul",
|
|
3279
|
+
{
|
|
3280
|
+
ref,
|
|
3281
|
+
"data-sidebar": "menu-sub",
|
|
3282
|
+
className: cn(
|
|
3283
|
+
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
|
|
3284
|
+
"group-data-[collapsible=icon]:hidden",
|
|
3285
|
+
className
|
|
3286
|
+
),
|
|
3287
|
+
...props
|
|
3288
|
+
}
|
|
3289
|
+
)
|
|
3290
|
+
);
|
|
3298
3291
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
3299
|
-
var SidebarMenuSubItem =
|
|
3292
|
+
var SidebarMenuSubItem = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx42("li", { ref, ...props }));
|
|
3300
3293
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
3301
|
-
var SidebarMenuSubButton =
|
|
3294
|
+
var SidebarMenuSubButton = React38.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
3302
3295
|
const Comp = asChild ? Slot4 : "a";
|
|
3303
|
-
return /* @__PURE__ */
|
|
3296
|
+
return /* @__PURE__ */ jsx42(
|
|
3304
3297
|
Comp,
|
|
3305
3298
|
{
|
|
3306
3299
|
ref,
|
|
@@ -3308,7 +3301,7 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3308
3301
|
"data-size": size,
|
|
3309
3302
|
"data-active": isActive,
|
|
3310
3303
|
className: cn(
|
|
3311
|
-
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring cursor-pointer hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none
|
|
3304
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring cursor-pointer hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
3312
3305
|
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
3313
3306
|
size === "sm" && "text-xs",
|
|
3314
3307
|
size === "md" && "text-sm",
|
|
@@ -3321,41 +3314,38 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3321
3314
|
});
|
|
3322
3315
|
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
3323
3316
|
|
|
3324
|
-
// src/components/slider.tsx
|
|
3325
|
-
import * as
|
|
3317
|
+
// src/components/slider/slider.tsx
|
|
3318
|
+
import * as React39 from "react";
|
|
3326
3319
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3327
|
-
import { jsx as
|
|
3328
|
-
var Slider =
|
|
3320
|
+
import { jsx as jsx43, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3321
|
+
var Slider = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs25(
|
|
3329
3322
|
SliderPrimitive.Root,
|
|
3330
3323
|
{
|
|
3331
3324
|
ref,
|
|
3332
|
-
className: cn(
|
|
3333
|
-
"relative flex w-full touch-none select-none items-center",
|
|
3334
|
-
className
|
|
3335
|
-
),
|
|
3325
|
+
className: cn("dl-slider", className),
|
|
3336
3326
|
...props,
|
|
3337
3327
|
children: [
|
|
3338
|
-
/* @__PURE__ */
|
|
3339
|
-
/* @__PURE__ */
|
|
3328
|
+
/* @__PURE__ */ jsx43(SliderPrimitive.Track, { className: "dl-slider__track", children: /* @__PURE__ */ jsx43(SliderPrimitive.Range, { className: "dl-slider__range" }) }),
|
|
3329
|
+
/* @__PURE__ */ jsx43(SliderPrimitive.Thumb, { className: "dl-slider__thumb" })
|
|
3340
3330
|
]
|
|
3341
3331
|
}
|
|
3342
3332
|
));
|
|
3343
3333
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
3344
3334
|
|
|
3345
|
-
// src/components/sonner.tsx
|
|
3335
|
+
// src/components/sonner/sonner.tsx
|
|
3346
3336
|
import { Toaster as Sonner, toast } from "sonner";
|
|
3347
|
-
import { jsx as
|
|
3337
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3348
3338
|
var Toaster = ({ ...props }) => {
|
|
3349
|
-
return /* @__PURE__ */
|
|
3339
|
+
return /* @__PURE__ */ jsx44(
|
|
3350
3340
|
Sonner,
|
|
3351
3341
|
{
|
|
3352
|
-
className: "toaster
|
|
3342
|
+
className: "dl-toaster",
|
|
3353
3343
|
toastOptions: {
|
|
3354
3344
|
classNames: {
|
|
3355
|
-
toast: "
|
|
3356
|
-
description: "
|
|
3357
|
-
actionButton: "
|
|
3358
|
-
cancelButton: "
|
|
3345
|
+
toast: "dl-toast",
|
|
3346
|
+
description: "dl-toast__desc",
|
|
3347
|
+
actionButton: "dl-toast__action",
|
|
3348
|
+
cancelButton: "dl-toast__cancel"
|
|
3359
3349
|
}
|
|
3360
3350
|
},
|
|
3361
3351
|
...props
|
|
@@ -3363,202 +3353,211 @@ var Toaster = ({ ...props }) => {
|
|
|
3363
3353
|
);
|
|
3364
3354
|
};
|
|
3365
3355
|
|
|
3366
|
-
// src/components/
|
|
3367
|
-
import * as
|
|
3356
|
+
// src/components/status-badge/status-badge.tsx
|
|
3357
|
+
import * as React40 from "react";
|
|
3358
|
+
import { jsx as jsx45, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3359
|
+
var statusCategoryMap = {
|
|
3360
|
+
Completed: "dl-status-badge--success",
|
|
3361
|
+
COMPLETED: "dl-status-badge--success",
|
|
3362
|
+
Operational: "dl-status-badge--success",
|
|
3363
|
+
OPERATIONAL: "dl-status-badge--success",
|
|
3364
|
+
Active: "dl-status-badge--success",
|
|
3365
|
+
ACTIVE: "dl-status-badge--success",
|
|
3366
|
+
ONLINE: "dl-status-badge--success",
|
|
3367
|
+
"In Progress": "dl-status-badge--info",
|
|
3368
|
+
RUNNING: "dl-status-badge--info",
|
|
3369
|
+
"Needs Approval": "dl-status-badge--warning",
|
|
3370
|
+
Degraded: "dl-status-badge--warning",
|
|
3371
|
+
PAUSED: "dl-status-badge--warning",
|
|
3372
|
+
Failed: "dl-status-badge--destructive",
|
|
3373
|
+
FAILED: "dl-status-badge--destructive",
|
|
3374
|
+
Offline: "dl-status-badge--muted",
|
|
3375
|
+
DISABLED: "dl-status-badge--muted",
|
|
3376
|
+
IDLE: "dl-status-badge--muted"
|
|
3377
|
+
};
|
|
3378
|
+
var StatusBadge = React40.forwardRef(
|
|
3379
|
+
({ status, className, ...props }, ref) => {
|
|
3380
|
+
const normalizedStatus = status?.trim() ?? "";
|
|
3381
|
+
const colorClass = statusCategoryMap[normalizedStatus] ?? "dl-status-badge--muted";
|
|
3382
|
+
return /* @__PURE__ */ jsxs26(
|
|
3383
|
+
"span",
|
|
3384
|
+
{
|
|
3385
|
+
ref,
|
|
3386
|
+
className: cn("dl-status-badge", colorClass, className),
|
|
3387
|
+
...props,
|
|
3388
|
+
children: [
|
|
3389
|
+
/* @__PURE__ */ jsx45("span", { className: "dl-status-badge__dot" }),
|
|
3390
|
+
normalizedStatus
|
|
3391
|
+
]
|
|
3392
|
+
}
|
|
3393
|
+
);
|
|
3394
|
+
}
|
|
3395
|
+
);
|
|
3396
|
+
StatusBadge.displayName = "StatusBadge";
|
|
3397
|
+
|
|
3398
|
+
// src/components/status-chip/status-chip.tsx
|
|
3399
|
+
import * as React41 from "react";
|
|
3400
|
+
import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3401
|
+
var statusToneMap = {
|
|
3402
|
+
active: "dl-status-chip--primary",
|
|
3403
|
+
running: "dl-status-chip--primary",
|
|
3404
|
+
completed: "dl-status-chip--muted",
|
|
3405
|
+
done: "dl-status-chip--muted",
|
|
3406
|
+
indexed: "dl-status-chip--primary",
|
|
3407
|
+
enabled: "dl-status-chip--primary",
|
|
3408
|
+
available: "dl-status-chip--primary",
|
|
3409
|
+
published: "dl-status-chip--primary",
|
|
3410
|
+
ok: "dl-status-chip--primary",
|
|
3411
|
+
waiting: "dl-status-chip--warning",
|
|
3412
|
+
paused: "dl-status-chip--warning",
|
|
3413
|
+
processing: "dl-status-chip--warning",
|
|
3414
|
+
degraded: "dl-status-chip--warning",
|
|
3415
|
+
warn: "dl-status-chip--warning",
|
|
3416
|
+
"requires-approval": "dl-status-chip--warning",
|
|
3417
|
+
draft: "dl-status-chip--warning",
|
|
3418
|
+
failed: "dl-status-chip--destructive",
|
|
3419
|
+
error: "dl-status-chip--destructive",
|
|
3420
|
+
offline: "dl-status-chip--destructive"
|
|
3421
|
+
};
|
|
3422
|
+
var StatusChip = React41.forwardRef(
|
|
3423
|
+
({ status, className, ...props }, ref) => {
|
|
3424
|
+
const toneClass = statusToneMap[status] ?? "dl-status-chip--muted";
|
|
3425
|
+
return /* @__PURE__ */ jsxs27(
|
|
3426
|
+
"span",
|
|
3427
|
+
{
|
|
3428
|
+
ref,
|
|
3429
|
+
className: cn("dl-status-chip", toneClass, className),
|
|
3430
|
+
...props,
|
|
3431
|
+
children: [
|
|
3432
|
+
/* @__PURE__ */ jsx46("span", { className: "dl-status-chip__dot" }),
|
|
3433
|
+
status
|
|
3434
|
+
]
|
|
3435
|
+
}
|
|
3436
|
+
);
|
|
3437
|
+
}
|
|
3438
|
+
);
|
|
3439
|
+
StatusChip.displayName = "StatusChip";
|
|
3440
|
+
|
|
3441
|
+
// src/components/switch/switch.tsx
|
|
3442
|
+
import * as React42 from "react";
|
|
3368
3443
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3369
|
-
import { jsx as
|
|
3370
|
-
var Switch =
|
|
3444
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
3445
|
+
var Switch = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
|
|
3371
3446
|
SwitchPrimitives.Root,
|
|
3372
3447
|
{
|
|
3373
|
-
className: cn(
|
|
3374
|
-
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
3375
|
-
className
|
|
3376
|
-
),
|
|
3448
|
+
className: cn("dl-switch", className),
|
|
3377
3449
|
...props,
|
|
3378
3450
|
ref,
|
|
3379
|
-
children: /* @__PURE__ */
|
|
3380
|
-
SwitchPrimitives.Thumb,
|
|
3381
|
-
{
|
|
3382
|
-
className: cn(
|
|
3383
|
-
"pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0 size-4"
|
|
3384
|
-
)
|
|
3385
|
-
}
|
|
3386
|
-
)
|
|
3451
|
+
children: /* @__PURE__ */ jsx47(SwitchPrimitives.Thumb, { className: "dl-switch__thumb" })
|
|
3387
3452
|
}
|
|
3388
3453
|
));
|
|
3389
3454
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3390
3455
|
|
|
3391
|
-
// src/components/table.tsx
|
|
3392
|
-
import * as
|
|
3393
|
-
import { jsx as
|
|
3394
|
-
var Table =
|
|
3395
|
-
"table",
|
|
3396
|
-
|
|
3397
|
-
ref,
|
|
3398
|
-
className: cn("w-full caption-bottom text-sm", className),
|
|
3399
|
-
...props
|
|
3400
|
-
}
|
|
3401
|
-
) }));
|
|
3456
|
+
// src/components/table/table.tsx
|
|
3457
|
+
import * as React43 from "react";
|
|
3458
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
3459
|
+
var Table = React43.forwardRef(
|
|
3460
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("div", { className: "dl-table-wrapper", children: /* @__PURE__ */ jsx48("table", { ref, className: cn("dl-table", className), ...props }) })
|
|
3461
|
+
);
|
|
3402
3462
|
Table.displayName = "Table";
|
|
3403
|
-
var TableHeader =
|
|
3463
|
+
var TableHeader = React43.forwardRef(
|
|
3464
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("thead", { ref, className: cn("dl-table__head", className), ...props })
|
|
3465
|
+
);
|
|
3404
3466
|
TableHeader.displayName = "TableHeader";
|
|
3405
|
-
var TableBody =
|
|
3406
|
-
"tbody",
|
|
3407
|
-
|
|
3408
|
-
ref,
|
|
3409
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
3410
|
-
...props
|
|
3411
|
-
}
|
|
3412
|
-
));
|
|
3467
|
+
var TableBody = React43.forwardRef(
|
|
3468
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tbody", { ref, className: cn("dl-table__body", className), ...props })
|
|
3469
|
+
);
|
|
3413
3470
|
TableBody.displayName = "TableBody";
|
|
3414
|
-
var TableFooter =
|
|
3415
|
-
"tfoot",
|
|
3416
|
-
|
|
3417
|
-
ref,
|
|
3418
|
-
className: cn(
|
|
3419
|
-
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
3420
|
-
className
|
|
3421
|
-
),
|
|
3422
|
-
...props
|
|
3423
|
-
}
|
|
3424
|
-
));
|
|
3471
|
+
var TableFooter = React43.forwardRef(
|
|
3472
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tfoot", { ref, className: cn("dl-table__foot", className), ...props })
|
|
3473
|
+
);
|
|
3425
3474
|
TableFooter.displayName = "TableFooter";
|
|
3426
|
-
var TableRow =
|
|
3427
|
-
"tr",
|
|
3428
|
-
|
|
3429
|
-
ref,
|
|
3430
|
-
className: cn(
|
|
3431
|
-
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
3432
|
-
className
|
|
3433
|
-
),
|
|
3434
|
-
...props
|
|
3435
|
-
}
|
|
3436
|
-
));
|
|
3475
|
+
var TableRow = React43.forwardRef(
|
|
3476
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tr", { ref, className: cn("dl-table__row", className), ...props })
|
|
3477
|
+
);
|
|
3437
3478
|
TableRow.displayName = "TableRow";
|
|
3438
|
-
var TableHead =
|
|
3439
|
-
"th",
|
|
3440
|
-
|
|
3441
|
-
ref,
|
|
3442
|
-
className: cn(
|
|
3443
|
-
"h-10 px-2 text-left align-middle font-medium text-muted-foreground has-[[role=checkbox]]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
3444
|
-
className
|
|
3445
|
-
),
|
|
3446
|
-
...props
|
|
3447
|
-
}
|
|
3448
|
-
));
|
|
3479
|
+
var TableHead = React43.forwardRef(
|
|
3480
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("th", { ref, className: cn("dl-table__head-cell", className), ...props })
|
|
3481
|
+
);
|
|
3449
3482
|
TableHead.displayName = "TableHead";
|
|
3450
|
-
var TableCell =
|
|
3451
|
-
"td",
|
|
3452
|
-
|
|
3453
|
-
ref,
|
|
3454
|
-
className: cn(
|
|
3455
|
-
"p-2 align-middle has-[[role=checkbox]]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
3456
|
-
className
|
|
3457
|
-
),
|
|
3458
|
-
...props
|
|
3459
|
-
}
|
|
3460
|
-
));
|
|
3483
|
+
var TableCell = React43.forwardRef(
|
|
3484
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("td", { ref, className: cn("dl-table__cell", className), ...props })
|
|
3485
|
+
);
|
|
3461
3486
|
TableCell.displayName = "TableCell";
|
|
3462
|
-
var TableCaption =
|
|
3487
|
+
var TableCaption = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
|
|
3463
3488
|
"caption",
|
|
3464
3489
|
{
|
|
3465
3490
|
ref,
|
|
3466
|
-
className: cn("
|
|
3491
|
+
className: cn("dl-table__caption", className),
|
|
3467
3492
|
...props
|
|
3468
3493
|
}
|
|
3469
3494
|
));
|
|
3470
3495
|
TableCaption.displayName = "TableCaption";
|
|
3471
3496
|
|
|
3472
|
-
// src/components/tabs.tsx
|
|
3473
|
-
import * as
|
|
3497
|
+
// src/components/tabs/tabs.tsx
|
|
3498
|
+
import * as React44 from "react";
|
|
3474
3499
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3475
|
-
import { jsx as
|
|
3500
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
3476
3501
|
var Tabs = TabsPrimitive.Root;
|
|
3477
|
-
var TabsList =
|
|
3502
|
+
var TabsList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3478
3503
|
TabsPrimitive.List,
|
|
3479
3504
|
{
|
|
3480
3505
|
ref,
|
|
3481
|
-
className: cn(
|
|
3482
|
-
"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
3483
|
-
className
|
|
3484
|
-
),
|
|
3506
|
+
className: cn("dl-tabs-list", className),
|
|
3485
3507
|
...props
|
|
3486
3508
|
}
|
|
3487
3509
|
));
|
|
3488
3510
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3489
|
-
var TabsTrigger =
|
|
3511
|
+
var TabsTrigger = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3490
3512
|
TabsPrimitive.Trigger,
|
|
3491
3513
|
{
|
|
3492
3514
|
ref,
|
|
3493
|
-
className: cn(
|
|
3494
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background cursor-pointer transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
|
|
3495
|
-
className
|
|
3496
|
-
),
|
|
3515
|
+
className: cn("dl-tabs-trigger", className),
|
|
3497
3516
|
...props
|
|
3498
3517
|
}
|
|
3499
3518
|
));
|
|
3500
3519
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3501
|
-
var TabsContent =
|
|
3520
|
+
var TabsContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3502
3521
|
TabsPrimitive.Content,
|
|
3503
3522
|
{
|
|
3504
3523
|
ref,
|
|
3505
|
-
className: cn(
|
|
3506
|
-
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
|
|
3507
|
-
className
|
|
3508
|
-
),
|
|
3524
|
+
className: cn("dl-tabs-content", className),
|
|
3509
3525
|
...props
|
|
3510
3526
|
}
|
|
3511
3527
|
));
|
|
3512
3528
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3513
3529
|
|
|
3514
|
-
// src/components/textarea.tsx
|
|
3515
|
-
import * as
|
|
3516
|
-
import { jsx as
|
|
3517
|
-
var Textarea =
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
{
|
|
3521
|
-
className: cn(
|
|
3522
|
-
"flex min-h-15 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
3523
|
-
className
|
|
3524
|
-
),
|
|
3525
|
-
ref,
|
|
3526
|
-
...props
|
|
3527
|
-
}
|
|
3528
|
-
);
|
|
3529
|
-
});
|
|
3530
|
+
// src/components/textarea/textarea.tsx
|
|
3531
|
+
import * as React45 from "react";
|
|
3532
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
3533
|
+
var Textarea = React45.forwardRef(
|
|
3534
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx50("textarea", { className: cn("dl-textarea", className), ref, ...props })
|
|
3535
|
+
);
|
|
3530
3536
|
Textarea.displayName = "Textarea";
|
|
3531
3537
|
|
|
3532
|
-
// src/components/toggle
|
|
3533
|
-
import * as
|
|
3534
|
-
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
3535
|
-
|
|
3536
|
-
// src/components/toggle.tsx
|
|
3537
|
-
import * as React41 from "react";
|
|
3538
|
+
// src/components/toggle/toggle.tsx
|
|
3539
|
+
import * as React46 from "react";
|
|
3538
3540
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
3539
3541
|
import { cva as cva8 } from "class-variance-authority";
|
|
3540
|
-
import { jsx as
|
|
3541
|
-
var toggleVariants = cva8(
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
default: "bg-transparent",
|
|
3547
|
-
outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
|
|
3548
|
-
},
|
|
3549
|
-
size: {
|
|
3550
|
-
default: "h-9 px-2 min-w-9",
|
|
3551
|
-
sm: "h-8 px-1.5 min-w-8",
|
|
3552
|
-
lg: "h-10 px-2.5 min-w-10"
|
|
3553
|
-
}
|
|
3542
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
3543
|
+
var toggleVariants = cva8("dl-toggle", {
|
|
3544
|
+
variants: {
|
|
3545
|
+
variant: {
|
|
3546
|
+
default: "dl-toggle--variant-default",
|
|
3547
|
+
outline: "dl-toggle--variant-outline"
|
|
3554
3548
|
},
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3549
|
+
size: {
|
|
3550
|
+
default: "dl-toggle--size-default",
|
|
3551
|
+
sm: "dl-toggle--size-sm",
|
|
3552
|
+
lg: "dl-toggle--size-lg"
|
|
3558
3553
|
}
|
|
3554
|
+
},
|
|
3555
|
+
defaultVariants: {
|
|
3556
|
+
variant: "default",
|
|
3557
|
+
size: "default"
|
|
3559
3558
|
}
|
|
3560
|
-
);
|
|
3561
|
-
var Toggle =
|
|
3559
|
+
});
|
|
3560
|
+
var Toggle = React46.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx51(
|
|
3562
3561
|
TogglePrimitive.Root,
|
|
3563
3562
|
{
|
|
3564
3563
|
ref,
|
|
@@ -3568,25 +3567,27 @@ var Toggle = React41.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
3568
3567
|
));
|
|
3569
3568
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
3570
3569
|
|
|
3571
|
-
// src/components/toggle-group.tsx
|
|
3572
|
-
import
|
|
3573
|
-
|
|
3570
|
+
// src/components/toggle-group/toggle-group.tsx
|
|
3571
|
+
import * as React47 from "react";
|
|
3572
|
+
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
3573
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
3574
|
+
var ToggleGroupContext = React47.createContext({
|
|
3574
3575
|
size: "default",
|
|
3575
3576
|
variant: "default"
|
|
3576
3577
|
});
|
|
3577
|
-
var ToggleGroup =
|
|
3578
|
+
var ToggleGroup = React47.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx52(
|
|
3578
3579
|
ToggleGroupPrimitive.Root,
|
|
3579
3580
|
{
|
|
3580
3581
|
ref,
|
|
3581
|
-
className: cn("
|
|
3582
|
+
className: cn("dl-toggle-group", className),
|
|
3582
3583
|
...props,
|
|
3583
|
-
children: /* @__PURE__ */
|
|
3584
|
+
children: /* @__PURE__ */ jsx52(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
3584
3585
|
}
|
|
3585
3586
|
));
|
|
3586
3587
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
3587
|
-
var ToggleGroupItem =
|
|
3588
|
-
const context =
|
|
3589
|
-
return /* @__PURE__ */
|
|
3588
|
+
var ToggleGroupItem = React47.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3589
|
+
const context = React47.useContext(ToggleGroupContext);
|
|
3590
|
+
return /* @__PURE__ */ jsx52(
|
|
3590
3591
|
ToggleGroupPrimitive.Item,
|
|
3591
3592
|
{
|
|
3592
3593
|
ref,
|
|
@@ -3603,378 +3604,6 @@ var ToggleGroupItem = React42.forwardRef(({ className, children, variant, size,
|
|
|
3603
3604
|
);
|
|
3604
3605
|
});
|
|
3605
3606
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
3606
|
-
|
|
3607
|
-
// src/components/panel.tsx
|
|
3608
|
-
import * as React43 from "react";
|
|
3609
|
-
import { jsx as jsx46, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3610
|
-
var Panel2 = React43.forwardRef(
|
|
3611
|
-
({ title, meta, children, className, ...props }, ref) => {
|
|
3612
|
-
return /* @__PURE__ */ jsxs20(
|
|
3613
|
-
"section",
|
|
3614
|
-
{
|
|
3615
|
-
ref,
|
|
3616
|
-
className: cn("rounded-lg border border-border bg-card p-4", className),
|
|
3617
|
-
...props,
|
|
3618
|
-
children: [
|
|
3619
|
-
title ? /* @__PURE__ */ jsxs20("div", { className: "mb-3 flex items-center gap-2", children: [
|
|
3620
|
-
/* @__PURE__ */ jsx46("h2", { className: "font-display text-sm font-semibold", children: title }),
|
|
3621
|
-
meta ? /* @__PURE__ */ jsx46("div", { className: "ml-auto font-mono text-[10px] text-muted-foreground", children: meta }) : null
|
|
3622
|
-
] }) : null,
|
|
3623
|
-
children
|
|
3624
|
-
]
|
|
3625
|
-
}
|
|
3626
|
-
);
|
|
3627
|
-
}
|
|
3628
|
-
);
|
|
3629
|
-
Panel2.displayName = "Panel";
|
|
3630
|
-
|
|
3631
|
-
// src/components/status-chip.tsx
|
|
3632
|
-
import * as React44 from "react";
|
|
3633
|
-
import { jsx as jsx47, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3634
|
-
var statusTone = {
|
|
3635
|
-
active: "border-primary/30 bg-primary/10 text-primary",
|
|
3636
|
-
running: "border-primary/30 bg-primary/10 text-primary",
|
|
3637
|
-
completed: "border-border bg-secondary text-muted-foreground",
|
|
3638
|
-
done: "border-border bg-secondary text-muted-foreground",
|
|
3639
|
-
indexed: "border-primary/30 bg-primary/10 text-primary",
|
|
3640
|
-
enabled: "border-primary/30 bg-primary/10 text-primary",
|
|
3641
|
-
available: "border-primary/30 bg-primary/10 text-primary",
|
|
3642
|
-
published: "border-primary/30 bg-primary/10 text-primary",
|
|
3643
|
-
ok: "border-primary/30 bg-primary/10 text-primary",
|
|
3644
|
-
waiting: "border-warning/35 bg-warning/10 text-warning",
|
|
3645
|
-
paused: "border-warning/35 bg-warning/10 text-warning",
|
|
3646
|
-
processing: "border-warning/35 bg-warning/10 text-warning",
|
|
3647
|
-
degraded: "border-warning/35 bg-warning/10 text-warning",
|
|
3648
|
-
warn: "border-warning/35 bg-warning/10 text-warning",
|
|
3649
|
-
"requires-approval": "border-warning/35 bg-warning/10 text-warning",
|
|
3650
|
-
draft: "border-warning/35 bg-warning/10 text-warning",
|
|
3651
|
-
failed: "border-destructive/35 bg-destructive/10 text-destructive",
|
|
3652
|
-
error: "border-destructive/35 bg-destructive/10 text-destructive",
|
|
3653
|
-
offline: "border-destructive/35 bg-destructive/10 text-destructive"
|
|
3654
|
-
};
|
|
3655
|
-
var StatusChip = React44.forwardRef(
|
|
3656
|
-
({ status, className, ...props }, ref) => {
|
|
3657
|
-
return /* @__PURE__ */ jsxs21(
|
|
3658
|
-
"span",
|
|
3659
|
-
{
|
|
3660
|
-
ref,
|
|
3661
|
-
className: cn(
|
|
3662
|
-
"inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5 font-mono text-[10px]",
|
|
3663
|
-
statusTone[status] ?? "border-border bg-secondary text-muted-foreground",
|
|
3664
|
-
className
|
|
3665
|
-
),
|
|
3666
|
-
...props,
|
|
3667
|
-
children: [
|
|
3668
|
-
/* @__PURE__ */ jsx47("span", { className: "size-1.5 rounded-full bg-current" }),
|
|
3669
|
-
status
|
|
3670
|
-
]
|
|
3671
|
-
}
|
|
3672
|
-
);
|
|
3673
|
-
}
|
|
3674
|
-
);
|
|
3675
|
-
StatusChip.displayName = "StatusChip";
|
|
3676
|
-
|
|
3677
|
-
// src/components/date-picker.tsx
|
|
3678
|
-
import * as React45 from "react";
|
|
3679
|
-
import { format } from "date-fns";
|
|
3680
|
-
import { Calendar as CalendarIcon } from "lucide-react";
|
|
3681
|
-
import { jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3682
|
-
function DatePicker({
|
|
3683
|
-
value,
|
|
3684
|
-
onChange,
|
|
3685
|
-
placeholder = "Pick a date",
|
|
3686
|
-
className,
|
|
3687
|
-
disabled
|
|
3688
|
-
}) {
|
|
3689
|
-
const date = React45.useMemo(() => {
|
|
3690
|
-
if (!value) return void 0;
|
|
3691
|
-
const parts = value.split("-");
|
|
3692
|
-
if (parts.length !== 3) {
|
|
3693
|
-
const d = new Date(value);
|
|
3694
|
-
return isNaN(d.getTime()) ? void 0 : d;
|
|
3695
|
-
}
|
|
3696
|
-
const year = parseInt(parts[0], 10);
|
|
3697
|
-
const month = parseInt(parts[1], 10) - 1;
|
|
3698
|
-
const day = parseInt(parts[2], 10);
|
|
3699
|
-
return new Date(year, month, day, 12, 0, 0);
|
|
3700
|
-
}, [value]);
|
|
3701
|
-
return /* @__PURE__ */ jsxs22(Popover, { children: [
|
|
3702
|
-
/* @__PURE__ */ jsx48(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs22(
|
|
3703
|
-
Button,
|
|
3704
|
-
{
|
|
3705
|
-
variant: "outline",
|
|
3706
|
-
type: "button",
|
|
3707
|
-
disabled,
|
|
3708
|
-
className: cn(
|
|
3709
|
-
"border-border/80 bg-secondary/40 hover:bg-secondary/60 hover:text-foreground h-9 w-full justify-start text-left font-normal",
|
|
3710
|
-
!value && "text-muted-foreground",
|
|
3711
|
-
className
|
|
3712
|
-
),
|
|
3713
|
-
children: [
|
|
3714
|
-
/* @__PURE__ */ jsx48(CalendarIcon, { className: "mr-2 size-4" }),
|
|
3715
|
-
date && !isNaN(date.getTime()) ? format(date, "PPP") : /* @__PURE__ */ jsx48("span", { children: placeholder })
|
|
3716
|
-
]
|
|
3717
|
-
}
|
|
3718
|
-
) }),
|
|
3719
|
-
/* @__PURE__ */ jsx48(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx48(
|
|
3720
|
-
Calendar,
|
|
3721
|
-
{
|
|
3722
|
-
mode: "single",
|
|
3723
|
-
selected: date,
|
|
3724
|
-
onSelect: (selectedDate) => onChange?.(selectedDate ? format(selectedDate, "yyyy-MM-dd") : ""),
|
|
3725
|
-
initialFocus: true
|
|
3726
|
-
}
|
|
3727
|
-
) })
|
|
3728
|
-
] });
|
|
3729
|
-
}
|
|
3730
|
-
|
|
3731
|
-
// src/components/searchable-select.tsx
|
|
3732
|
-
import * as React46 from "react";
|
|
3733
|
-
import { Search as Search2, Plus, Check as Check6, ChevronDown as ChevronDown4 } from "lucide-react";
|
|
3734
|
-
import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3735
|
-
function SearchableSelect({
|
|
3736
|
-
options,
|
|
3737
|
-
value,
|
|
3738
|
-
onChange,
|
|
3739
|
-
placeholder = "Select an option...",
|
|
3740
|
-
searchPlaceholder = "Search...",
|
|
3741
|
-
onAddNew,
|
|
3742
|
-
addNewLabel = "Add new",
|
|
3743
|
-
disabled = false,
|
|
3744
|
-
className,
|
|
3745
|
-
id
|
|
3746
|
-
}) {
|
|
3747
|
-
const [open, setOpen] = React46.useState(false);
|
|
3748
|
-
const [search, setSearch] = React46.useState("");
|
|
3749
|
-
const [highlightedIndex, setHighlightedIndex] = React46.useState(0);
|
|
3750
|
-
const listRef = React46.useRef(null);
|
|
3751
|
-
const selectedOption = React46.useMemo(() => {
|
|
3752
|
-
return options.find((opt) => opt.value === value);
|
|
3753
|
-
}, [options, value]);
|
|
3754
|
-
const filteredOptions = React46.useMemo(() => {
|
|
3755
|
-
if (!search.trim()) return options;
|
|
3756
|
-
const q = search.toLowerCase();
|
|
3757
|
-
return options.filter(
|
|
3758
|
-
(opt) => opt.label.toLowerCase().includes(q) || opt.group && opt.group.toLowerCase().includes(q)
|
|
3759
|
-
);
|
|
3760
|
-
}, [options, search]);
|
|
3761
|
-
const handleOpenChange = (newOpen) => {
|
|
3762
|
-
setOpen(newOpen);
|
|
3763
|
-
if (newOpen) {
|
|
3764
|
-
const idx = filteredOptions.findIndex((opt) => opt.value === value);
|
|
3765
|
-
setHighlightedIndex(idx >= 0 ? idx : 0);
|
|
3766
|
-
} else {
|
|
3767
|
-
setSearch("");
|
|
3768
|
-
}
|
|
3769
|
-
};
|
|
3770
|
-
const handleSearchChange = (newSearch) => {
|
|
3771
|
-
setSearch(newSearch);
|
|
3772
|
-
setHighlightedIndex(0);
|
|
3773
|
-
};
|
|
3774
|
-
React46.useEffect(() => {
|
|
3775
|
-
if (open && listRef.current) {
|
|
3776
|
-
const activeEl = listRef.current.querySelector(
|
|
3777
|
-
"[data-highlighted='true']"
|
|
3778
|
-
);
|
|
3779
|
-
if (activeEl) {
|
|
3780
|
-
activeEl.scrollIntoView({ block: "nearest" });
|
|
3781
|
-
}
|
|
3782
|
-
}
|
|
3783
|
-
}, [highlightedIndex, open]);
|
|
3784
|
-
const groupedOptions = React46.useMemo(() => {
|
|
3785
|
-
const hasGroups = filteredOptions.some((opt) => opt.group);
|
|
3786
|
-
if (!hasGroups) return { Default: filteredOptions };
|
|
3787
|
-
return filteredOptions.reduce(
|
|
3788
|
-
(acc, opt) => {
|
|
3789
|
-
const g = opt.group || "Other";
|
|
3790
|
-
if (!acc[g]) acc[g] = [];
|
|
3791
|
-
acc[g].push(opt);
|
|
3792
|
-
return acc;
|
|
3793
|
-
},
|
|
3794
|
-
{}
|
|
3795
|
-
);
|
|
3796
|
-
}, [filteredOptions]);
|
|
3797
|
-
const handleSelect = (val) => {
|
|
3798
|
-
onChange?.(val);
|
|
3799
|
-
setOpen(false);
|
|
3800
|
-
setSearch("");
|
|
3801
|
-
};
|
|
3802
|
-
const handleAddNew = () => {
|
|
3803
|
-
onAddNew?.(search.trim());
|
|
3804
|
-
setOpen(false);
|
|
3805
|
-
setSearch("");
|
|
3806
|
-
};
|
|
3807
|
-
const handleKeyDown = (e) => {
|
|
3808
|
-
if (!open) {
|
|
3809
|
-
if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
|
|
3810
|
-
e.preventDefault();
|
|
3811
|
-
handleOpenChange(true);
|
|
3812
|
-
}
|
|
3813
|
-
return;
|
|
3814
|
-
}
|
|
3815
|
-
switch (e.key) {
|
|
3816
|
-
case "ArrowDown":
|
|
3817
|
-
e.preventDefault();
|
|
3818
|
-
setHighlightedIndex(
|
|
3819
|
-
(prev) => prev < filteredOptions.length - 1 ? prev + 1 : prev
|
|
3820
|
-
);
|
|
3821
|
-
break;
|
|
3822
|
-
case "ArrowUp":
|
|
3823
|
-
e.preventDefault();
|
|
3824
|
-
setHighlightedIndex((prev) => prev > 0 ? prev - 1 : 0);
|
|
3825
|
-
break;
|
|
3826
|
-
case "Enter":
|
|
3827
|
-
e.preventDefault();
|
|
3828
|
-
if (filteredOptions.length > 0 && filteredOptions[highlightedIndex]) {
|
|
3829
|
-
handleSelect(filteredOptions[highlightedIndex].value);
|
|
3830
|
-
} else if (onAddNew && search.trim()) {
|
|
3831
|
-
handleAddNew();
|
|
3832
|
-
}
|
|
3833
|
-
break;
|
|
3834
|
-
case "Escape":
|
|
3835
|
-
case "Tab":
|
|
3836
|
-
e.preventDefault();
|
|
3837
|
-
handleOpenChange(false);
|
|
3838
|
-
break;
|
|
3839
|
-
}
|
|
3840
|
-
};
|
|
3841
|
-
let currentIndex = 0;
|
|
3842
|
-
return /* @__PURE__ */ jsxs23(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
3843
|
-
/* @__PURE__ */ jsx49(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs23(
|
|
3844
|
-
Button,
|
|
3845
|
-
{
|
|
3846
|
-
id,
|
|
3847
|
-
variant: "outline",
|
|
3848
|
-
role: "combobox",
|
|
3849
|
-
"aria-expanded": open,
|
|
3850
|
-
disabled,
|
|
3851
|
-
onKeyDown: handleKeyDown,
|
|
3852
|
-
className: cn(
|
|
3853
|
-
"bg-background border-input hover:bg-accent/50 h-9 w-full justify-between px-3 text-left font-normal",
|
|
3854
|
-
!selectedOption && "text-muted-foreground",
|
|
3855
|
-
className
|
|
3856
|
-
),
|
|
3857
|
-
children: [
|
|
3858
|
-
/* @__PURE__ */ jsx49("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }),
|
|
3859
|
-
/* @__PURE__ */ jsx49(ChevronDown4, { className: "ml-2 size-4 shrink-0 opacity-50" })
|
|
3860
|
-
]
|
|
3861
|
-
}
|
|
3862
|
-
) }),
|
|
3863
|
-
/* @__PURE__ */ jsxs23(
|
|
3864
|
-
PopoverContent,
|
|
3865
|
-
{
|
|
3866
|
-
align: "start",
|
|
3867
|
-
className: "border-border bg-popover w-(--radix-popover-trigger-width) min-w-55 border p-0 shadow-lg",
|
|
3868
|
-
onKeyDown: handleKeyDown,
|
|
3869
|
-
children: [
|
|
3870
|
-
/* @__PURE__ */ jsxs23("div", { className: "border-border flex items-center gap-2 border-b p-2", children: [
|
|
3871
|
-
/* @__PURE__ */ jsx49(Search2, { className: "text-muted-foreground size-4 shrink-0 opacity-50" }),
|
|
3872
|
-
/* @__PURE__ */ jsx49(
|
|
3873
|
-
Input,
|
|
3874
|
-
{
|
|
3875
|
-
placeholder: searchPlaceholder,
|
|
3876
|
-
value: search,
|
|
3877
|
-
onChange: (e) => handleSearchChange(e.target.value),
|
|
3878
|
-
className: "h-8 border-none bg-transparent px-1 text-sm focus-visible:ring-0 focus-visible:ring-offset-0",
|
|
3879
|
-
autoFocus: true
|
|
3880
|
-
}
|
|
3881
|
-
)
|
|
3882
|
-
] }),
|
|
3883
|
-
/* @__PURE__ */ jsx49(
|
|
3884
|
-
"div",
|
|
3885
|
-
{
|
|
3886
|
-
ref: listRef,
|
|
3887
|
-
onWheel: (e) => e.stopPropagation(),
|
|
3888
|
-
className: "max-h-60 overflow-y-auto overscroll-contain p-1 text-sm",
|
|
3889
|
-
children: Object.keys(groupedOptions).length === 0 || filteredOptions.length === 0 && !onAddNew ? /* @__PURE__ */ jsx49("div", { className: "text-muted-foreground py-6 text-center text-xs", children: "No matching options found." }) : Object.entries(groupedOptions).map(([groupName, groupOpts]) => /* @__PURE__ */ jsxs23("div", { className: "py-1", children: [
|
|
3890
|
-
groupName !== "Default" && /* @__PURE__ */ jsx49("div", { className: "text-muted-foreground/70 px-2 py-1 text-[10px] font-bold tracking-wider uppercase", children: groupName }),
|
|
3891
|
-
groupOpts.map((option) => {
|
|
3892
|
-
const isSelected = option.value === value;
|
|
3893
|
-
const itemIndex = currentIndex++;
|
|
3894
|
-
const isHighlighted = itemIndex === highlightedIndex;
|
|
3895
|
-
return /* @__PURE__ */ jsxs23(
|
|
3896
|
-
"div",
|
|
3897
|
-
{
|
|
3898
|
-
"data-highlighted": isHighlighted,
|
|
3899
|
-
onClick: () => handleSelect(option.value),
|
|
3900
|
-
onMouseEnter: () => setHighlightedIndex(itemIndex),
|
|
3901
|
-
className: cn(
|
|
3902
|
-
"relative flex cursor-pointer items-center rounded-sm px-2.5 py-1.5 text-sm transition-colors outline-none select-none",
|
|
3903
|
-
isHighlighted && "bg-accent text-accent-foreground font-medium",
|
|
3904
|
-
isSelected && !isHighlighted && "bg-accent/40 text-accent-foreground font-medium"
|
|
3905
|
-
),
|
|
3906
|
-
children: [
|
|
3907
|
-
/* @__PURE__ */ jsx49("span", { className: "flex-1 truncate", children: option.label }),
|
|
3908
|
-
isSelected && /* @__PURE__ */ jsx49(Check6, { className: "text-primary ml-2 size-4 shrink-0" })
|
|
3909
|
-
]
|
|
3910
|
-
},
|
|
3911
|
-
option.value
|
|
3912
|
-
);
|
|
3913
|
-
})
|
|
3914
|
-
] }, groupName))
|
|
3915
|
-
}
|
|
3916
|
-
),
|
|
3917
|
-
onAddNew && /* @__PURE__ */ jsx49("div", { className: "border-border bg-muted/30 border-t p-1", children: /* @__PURE__ */ jsxs23(
|
|
3918
|
-
"button",
|
|
3919
|
-
{
|
|
3920
|
-
type: "button",
|
|
3921
|
-
onClick: handleAddNew,
|
|
3922
|
-
className: "text-primary hover:bg-primary/10 flex w-full items-center gap-2 rounded-sm px-2.5 py-2 text-xs font-semibold transition-colors",
|
|
3923
|
-
children: [
|
|
3924
|
-
/* @__PURE__ */ jsx49(Plus, { className: "size-3.5 shrink-0" }),
|
|
3925
|
-
/* @__PURE__ */ jsx49("span", { className: "truncate", children: search.trim() ? `${addNewLabel} "${search.trim()}"` : `${addNewLabel}` })
|
|
3926
|
-
]
|
|
3927
|
-
}
|
|
3928
|
-
) })
|
|
3929
|
-
]
|
|
3930
|
-
}
|
|
3931
|
-
)
|
|
3932
|
-
] });
|
|
3933
|
-
}
|
|
3934
|
-
|
|
3935
|
-
// src/components/confirm-dialog.tsx
|
|
3936
|
-
import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3937
|
-
function ConfirmDialog({
|
|
3938
|
-
open,
|
|
3939
|
-
onOpenChange,
|
|
3940
|
-
title,
|
|
3941
|
-
description,
|
|
3942
|
-
onConfirm,
|
|
3943
|
-
confirmText = "Confirm",
|
|
3944
|
-
cancelText = "Cancel",
|
|
3945
|
-
destructive = false
|
|
3946
|
-
}) {
|
|
3947
|
-
return /* @__PURE__ */ jsx50(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs24(AlertDialogContent, { children: [
|
|
3948
|
-
/* @__PURE__ */ jsxs24(AlertDialogHeader, { children: [
|
|
3949
|
-
/* @__PURE__ */ jsx50(AlertDialogTitle, { children: title }),
|
|
3950
|
-
/* @__PURE__ */ jsx50(AlertDialogDescription, { children: description })
|
|
3951
|
-
] }),
|
|
3952
|
-
/* @__PURE__ */ jsxs24(AlertDialogFooter, { children: [
|
|
3953
|
-
/* @__PURE__ */ jsx50(AlertDialogCancel, { children: cancelText }),
|
|
3954
|
-
/* @__PURE__ */ jsx50(
|
|
3955
|
-
AlertDialogAction,
|
|
3956
|
-
{
|
|
3957
|
-
onClick: onConfirm,
|
|
3958
|
-
className: destructive ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "",
|
|
3959
|
-
children: confirmText
|
|
3960
|
-
}
|
|
3961
|
-
)
|
|
3962
|
-
] })
|
|
3963
|
-
] }) });
|
|
3964
|
-
}
|
|
3965
|
-
|
|
3966
|
-
// src/components/loading-state.tsx
|
|
3967
|
-
import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3968
|
-
function LoadingState({
|
|
3969
|
-
rows = 3,
|
|
3970
|
-
className,
|
|
3971
|
-
...props
|
|
3972
|
-
}) {
|
|
3973
|
-
return /* @__PURE__ */ jsxs25("div", { className: cn("w-full space-y-4 p-2", className), ...props, children: [
|
|
3974
|
-
/* @__PURE__ */ jsx51(Skeleton, { className: "h-8 w-1/3" }),
|
|
3975
|
-
/* @__PURE__ */ jsx51("div", { className: "space-y-2", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx51(Skeleton, { className: "h-16 w-full rounded-xl" }, i)) })
|
|
3976
|
-
] });
|
|
3977
|
-
}
|
|
3978
3607
|
export {
|
|
3979
3608
|
Accordion,
|
|
3980
3609
|
AccordionContent,
|
|
@@ -4039,6 +3668,7 @@ export {
|
|
|
4039
3668
|
CommandList,
|
|
4040
3669
|
CommandSeparator,
|
|
4041
3670
|
CommandShortcut,
|
|
3671
|
+
ConfigProvider,
|
|
4042
3672
|
ConfirmDialog,
|
|
4043
3673
|
ContextMenu,
|
|
4044
3674
|
ContextMenuCheckboxItem,
|
|
@@ -4139,7 +3769,7 @@ export {
|
|
|
4139
3769
|
PaginationLink,
|
|
4140
3770
|
PaginationNext,
|
|
4141
3771
|
PaginationPrevious,
|
|
4142
|
-
|
|
3772
|
+
Panel,
|
|
4143
3773
|
Popover,
|
|
4144
3774
|
PopoverAnchor,
|
|
4145
3775
|
PopoverContent,
|
|
@@ -4199,6 +3829,7 @@ export {
|
|
|
4199
3829
|
SidebarTrigger,
|
|
4200
3830
|
Skeleton,
|
|
4201
3831
|
Slider,
|
|
3832
|
+
StatusBadge,
|
|
4202
3833
|
StatusChip,
|
|
4203
3834
|
Switch,
|
|
4204
3835
|
Table,
|
|
@@ -4223,12 +3854,17 @@ export {
|
|
|
4223
3854
|
TooltipContent,
|
|
4224
3855
|
TooltipProvider,
|
|
4225
3856
|
TooltipTrigger,
|
|
3857
|
+
alertVariants,
|
|
4226
3858
|
badgeVariants,
|
|
4227
3859
|
buttonVariants,
|
|
4228
3860
|
cn,
|
|
3861
|
+
labelVariants,
|
|
4229
3862
|
navigationMenuTriggerStyle,
|
|
3863
|
+
sheetVariants,
|
|
4230
3864
|
toast,
|
|
4231
3865
|
toggleVariants,
|
|
3866
|
+
useCarousel,
|
|
3867
|
+
useConfig,
|
|
4232
3868
|
useFormField,
|
|
4233
3869
|
useIsMobile,
|
|
4234
3870
|
useSidebar,
|