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