@yuva-devlab/ui 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common.css +158 -0
- package/dist/components/accordion/accordion.css +49 -0
- package/dist/components/alert/alert.css +41 -0
- package/dist/components/alert-dialog/alert-dialog.css +78 -0
- package/dist/components/avatar/avatar.css +26 -0
- package/dist/components/badge/badge.css +76 -0
- package/dist/components/breadcrumb/breadcrumb.css +63 -0
- package/dist/components/button/button.css +106 -0
- package/dist/components/card/card.css +30 -0
- package/dist/components/carousel/carousel.css +67 -0
- package/dist/components/chart/chart.css +38 -0
- package/dist/components/checkbox/checkbox.css +27 -0
- package/dist/components/command/command.css +125 -0
- package/dist/components/context-menu/context-menu.css +19 -0
- package/dist/components/date-picker/date-picker.css +30 -0
- package/dist/components/dialog/dialog.css +78 -0
- package/dist/components/drawer/drawer.css +64 -0
- package/dist/components/dropdown-menu/dropdown-menu.css +82 -0
- package/dist/components/form/form.css +17 -0
- package/dist/components/hover-card/hover-card.css +23 -0
- package/dist/components/input/input.css +89 -0
- package/dist/components/input-otp/input-otp.css +70 -0
- package/dist/components/label/label.css +9 -0
- package/dist/components/loading-state/loading-state.css +26 -0
- package/dist/components/menubar/menubar.css +36 -0
- package/dist/components/navigation-menu/navigation-menu.css +137 -0
- package/dist/components/pagination/pagination.css +43 -0
- package/dist/components/panel/panel.css +24 -0
- package/dist/components/popover/popover.css +17 -0
- package/dist/components/progress/progress.css +15 -0
- package/dist/components/radio-group/radio-group.css +37 -0
- package/dist/components/resizable/resizable.css +67 -0
- package/dist/components/scroll-area/scroll-area.css +32 -0
- package/dist/components/searchable-select/searchable-select.css +128 -0
- package/dist/components/select/select.css +97 -0
- package/dist/components/separator/separator.css +14 -0
- package/dist/components/sheet/sheet.css +83 -0
- package/dist/components/sidebar/sidebar.css +18 -0
- package/dist/components/skeleton/skeleton.css +5 -0
- package/dist/components/slider/slider.css +37 -0
- package/dist/components/sonner/sonner.css +25 -0
- package/dist/components/status-badge/status-badge.css +53 -0
- package/dist/components/status-chip/status-chip.css +44 -0
- package/dist/components/switch/switch.css +45 -0
- package/dist/components/table/table.css +46 -0
- package/dist/components/tabs/tabs.css +46 -0
- package/dist/components/textarea/textarea.css +30 -0
- package/dist/components/toggle/toggle.css +91 -0
- package/dist/components/tooltip/tooltip.css +17 -0
- package/dist/components.css +2523 -0
- package/dist/index.cjs +1445 -1833
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1786 -202
- package/dist/index.d.ts +1786 -202
- package/dist/index.js +1440 -1833
- 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 +2523 -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 +10 -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,10 +1090,7 @@ 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
|
));
|
|
@@ -1226,16 +1101,25 @@ var DialogContent = React14.forwardRef(({ className, children, ...props }, ref)
|
|
|
1226
1101
|
DialogPrimitive.Content,
|
|
1227
1102
|
{
|
|
1228
1103
|
ref,
|
|
1229
|
-
className: cn(
|
|
1230
|
-
"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%]",
|
|
1231
|
-
className
|
|
1232
|
-
),
|
|
1104
|
+
className: cn("dl-dialog-content", className),
|
|
1233
1105
|
...props,
|
|
1234
1106
|
children: [
|
|
1235
1107
|
children,
|
|
1236
|
-
/* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "
|
|
1237
|
-
/* @__PURE__ */ jsx14(X, {
|
|
1238
|
-
/* @__PURE__ */ jsx14(
|
|
1108
|
+
/* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "dl-dialog-close", children: [
|
|
1109
|
+
/* @__PURE__ */ jsx14(X, { style: { width: "1rem", height: "1rem" } }),
|
|
1110
|
+
/* @__PURE__ */ jsx14(
|
|
1111
|
+
"span",
|
|
1112
|
+
{
|
|
1113
|
+
style: {
|
|
1114
|
+
position: "absolute",
|
|
1115
|
+
width: 1,
|
|
1116
|
+
height: 1,
|
|
1117
|
+
overflow: "hidden",
|
|
1118
|
+
clip: "rect(0,0,0,0)"
|
|
1119
|
+
},
|
|
1120
|
+
children: "Close"
|
|
1121
|
+
}
|
|
1122
|
+
)
|
|
1239
1123
|
] })
|
|
1240
1124
|
]
|
|
1241
1125
|
}
|
|
@@ -1245,39 +1129,18 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
|
1245
1129
|
var DialogHeader = ({
|
|
1246
1130
|
className,
|
|
1247
1131
|
...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
|
-
);
|
|
1132
|
+
}) => /* @__PURE__ */ jsx14("div", { className: cn("dl-dialog__header", className), ...props });
|
|
1258
1133
|
DialogHeader.displayName = "DialogHeader";
|
|
1259
1134
|
var DialogFooter = ({
|
|
1260
1135
|
className,
|
|
1261
1136
|
...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
|
-
);
|
|
1137
|
+
}) => /* @__PURE__ */ jsx14("div", { className: cn("dl-dialog__footer", className), ...props });
|
|
1272
1138
|
DialogFooter.displayName = "DialogFooter";
|
|
1273
1139
|
var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1274
1140
|
DialogPrimitive.Title,
|
|
1275
1141
|
{
|
|
1276
1142
|
ref,
|
|
1277
|
-
className: cn(
|
|
1278
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1279
|
-
className
|
|
1280
|
-
),
|
|
1143
|
+
className: cn("dl-dialog__title", className),
|
|
1281
1144
|
...props
|
|
1282
1145
|
}
|
|
1283
1146
|
));
|
|
@@ -1286,39 +1149,33 @@ var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1286
1149
|
DialogPrimitive.Description,
|
|
1287
1150
|
{
|
|
1288
1151
|
ref,
|
|
1289
|
-
className: cn("
|
|
1152
|
+
className: cn("dl-dialog__desc", className),
|
|
1290
1153
|
...props
|
|
1291
1154
|
}
|
|
1292
1155
|
));
|
|
1293
1156
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1294
1157
|
|
|
1295
|
-
// src/components/command.tsx
|
|
1158
|
+
// src/components/command/command.tsx
|
|
1296
1159
|
import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1297
1160
|
var Command = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
1298
1161
|
CommandPrimitive,
|
|
1299
1162
|
{
|
|
1300
1163
|
ref,
|
|
1301
|
-
className: cn(
|
|
1302
|
-
"flex flex-col overflow-hidden rounded-md bg-popover text-popover-foreground size-full",
|
|
1303
|
-
className
|
|
1304
|
-
),
|
|
1164
|
+
className: cn("dl-command", className),
|
|
1305
1165
|
...props
|
|
1306
1166
|
}
|
|
1307
1167
|
));
|
|
1308
1168
|
Command.displayName = CommandPrimitive.displayName;
|
|
1309
1169
|
var CommandDialog = ({ children, ...props }) => {
|
|
1310
|
-
return /* @__PURE__ */ jsx15(Dialog, { ...props, children: /* @__PURE__ */ jsx15(DialogContent, { className: "
|
|
1170
|
+
return /* @__PURE__ */ jsx15(Dialog, { ...props, children: /* @__PURE__ */ jsx15(DialogContent, { className: "dl-command-dialog-content", children: /* @__PURE__ */ jsx15(Command, { children }) }) });
|
|
1311
1171
|
};
|
|
1312
|
-
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs7("div", { className: "
|
|
1313
|
-
/* @__PURE__ */ jsx15(Search, { className: "
|
|
1172
|
+
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs7("div", { className: "dl-command-input-wrapper", "cmdk-input-wrapper": "", children: [
|
|
1173
|
+
/* @__PURE__ */ jsx15(Search, { className: "dl-command-input-icon" }),
|
|
1314
1174
|
/* @__PURE__ */ jsx15(
|
|
1315
1175
|
CommandPrimitive.Input,
|
|
1316
1176
|
{
|
|
1317
1177
|
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
|
-
),
|
|
1178
|
+
className: cn("dl-command-input", className),
|
|
1322
1179
|
...props
|
|
1323
1180
|
}
|
|
1324
1181
|
)
|
|
@@ -1328,28 +1185,18 @@ var CommandList = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1328
1185
|
CommandPrimitive.List,
|
|
1329
1186
|
{
|
|
1330
1187
|
ref,
|
|
1331
|
-
className: cn("
|
|
1188
|
+
className: cn("dl-command-list", className),
|
|
1332
1189
|
...props
|
|
1333
1190
|
}
|
|
1334
1191
|
));
|
|
1335
1192
|
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
|
-
));
|
|
1193
|
+
var CommandEmpty = React15.forwardRef((props, ref) => /* @__PURE__ */ jsx15(CommandPrimitive.Empty, { ref, className: "dl-command-empty", ...props }));
|
|
1344
1194
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
1345
1195
|
var CommandGroup = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
1346
1196
|
CommandPrimitive.Group,
|
|
1347
1197
|
{
|
|
1348
1198
|
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
|
-
),
|
|
1199
|
+
className: cn("dl-command-group", className),
|
|
1353
1200
|
...props
|
|
1354
1201
|
}
|
|
1355
1202
|
));
|
|
@@ -1358,7 +1205,7 @@ var CommandSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1358
1205
|
CommandPrimitive.Separator,
|
|
1359
1206
|
{
|
|
1360
1207
|
ref,
|
|
1361
|
-
className: cn("-
|
|
1208
|
+
className: cn("dl-command-separator", className),
|
|
1362
1209
|
...props
|
|
1363
1210
|
}
|
|
1364
1211
|
));
|
|
@@ -1367,146 +1214,142 @@ var CommandItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1367
1214
|
CommandPrimitive.Item,
|
|
1368
1215
|
{
|
|
1369
1216
|
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
|
-
),
|
|
1217
|
+
className: cn("dl-command-item", className),
|
|
1374
1218
|
...props
|
|
1375
1219
|
}
|
|
1376
1220
|
));
|
|
1377
1221
|
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
|
-
);
|
|
1222
|
+
var CommandShortcut = ({ className, ...props }) => {
|
|
1223
|
+
return /* @__PURE__ */ jsx15("span", { className: cn("dl-command-shortcut", className), ...props });
|
|
1392
1224
|
};
|
|
1393
1225
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1394
1226
|
|
|
1395
|
-
// src/components/
|
|
1227
|
+
// src/components/confirm-dialog/confirm-dialog.tsx
|
|
1228
|
+
import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1229
|
+
function ConfirmDialog({
|
|
1230
|
+
open,
|
|
1231
|
+
onOpenChange,
|
|
1232
|
+
title,
|
|
1233
|
+
description,
|
|
1234
|
+
onConfirm,
|
|
1235
|
+
confirmText = "Confirm",
|
|
1236
|
+
cancelText = "Cancel",
|
|
1237
|
+
destructive = false
|
|
1238
|
+
}) {
|
|
1239
|
+
return /* @__PURE__ */ jsx16(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs8(AlertDialogContent, { children: [
|
|
1240
|
+
/* @__PURE__ */ jsxs8(AlertDialogHeader, { children: [
|
|
1241
|
+
/* @__PURE__ */ jsx16(AlertDialogTitle, { children: title }),
|
|
1242
|
+
/* @__PURE__ */ jsx16(AlertDialogDescription, { children: description })
|
|
1243
|
+
] }),
|
|
1244
|
+
/* @__PURE__ */ jsxs8(AlertDialogFooter, { children: [
|
|
1245
|
+
/* @__PURE__ */ jsx16(AlertDialogCancel, { children: cancelText }),
|
|
1246
|
+
/* @__PURE__ */ jsx16(
|
|
1247
|
+
AlertDialogAction,
|
|
1248
|
+
{
|
|
1249
|
+
onClick: onConfirm,
|
|
1250
|
+
className: destructive ? "dl-btn--destructive" : "",
|
|
1251
|
+
children: confirmText
|
|
1252
|
+
}
|
|
1253
|
+
)
|
|
1254
|
+
] })
|
|
1255
|
+
] }) });
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
// src/components/context-menu/context-menu.tsx
|
|
1396
1259
|
import * as React16 from "react";
|
|
1397
1260
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1398
1261
|
import { Check as Check2, ChevronRight as ChevronRight2, Circle } from "lucide-react";
|
|
1399
|
-
import { jsx as
|
|
1262
|
+
import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1400
1263
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
1401
1264
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1402
1265
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
1403
1266
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
1404
1267
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
1405
1268
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
1406
|
-
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
1269
|
+
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1407
1270
|
ContextMenuPrimitive.SubTrigger,
|
|
1408
1271
|
{
|
|
1409
1272
|
ref,
|
|
1410
1273
|
className: cn(
|
|
1411
|
-
"
|
|
1274
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1412
1275
|
inset && "pl-8",
|
|
1413
1276
|
className
|
|
1414
1277
|
),
|
|
1415
1278
|
...props,
|
|
1416
1279
|
children: [
|
|
1417
1280
|
children,
|
|
1418
|
-
/* @__PURE__ */
|
|
1281
|
+
/* @__PURE__ */ jsx17(ChevronRight2, { className: "ml-auto size-4" })
|
|
1419
1282
|
]
|
|
1420
1283
|
}
|
|
1421
1284
|
));
|
|
1422
1285
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1423
|
-
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1286
|
+
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1424
1287
|
ContextMenuPrimitive.SubContent,
|
|
1425
1288
|
{
|
|
1426
1289
|
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
|
-
),
|
|
1290
|
+
className: cn("dl-menu-content", className),
|
|
1431
1291
|
...props
|
|
1432
1292
|
}
|
|
1433
1293
|
));
|
|
1434
1294
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1435
|
-
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1295
|
+
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
|
|
1436
1296
|
ContextMenuPrimitive.Content,
|
|
1437
1297
|
{
|
|
1438
1298
|
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
|
-
),
|
|
1299
|
+
className: cn("dl-context-menu-content", className),
|
|
1443
1300
|
...props
|
|
1444
1301
|
}
|
|
1445
1302
|
) }));
|
|
1446
1303
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1447
|
-
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1304
|
+
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1448
1305
|
ContextMenuPrimitive.Item,
|
|
1449
1306
|
{
|
|
1450
1307
|
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
|
-
),
|
|
1308
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1456
1309
|
...props
|
|
1457
1310
|
}
|
|
1458
1311
|
));
|
|
1459
1312
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1460
|
-
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1313
|
+
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1461
1314
|
ContextMenuPrimitive.CheckboxItem,
|
|
1462
1315
|
{
|
|
1463
1316
|
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
|
-
),
|
|
1317
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1468
1318
|
...props,
|
|
1469
1319
|
children: [
|
|
1470
|
-
/* @__PURE__ */
|
|
1320
|
+
/* @__PURE__ */ jsx17("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Check2, { className: "size-4" }) }) }),
|
|
1471
1321
|
children
|
|
1472
1322
|
]
|
|
1473
1323
|
}
|
|
1474
1324
|
));
|
|
1475
1325
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1476
|
-
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1326
|
+
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1477
1327
|
ContextMenuPrimitive.RadioItem,
|
|
1478
1328
|
{
|
|
1479
1329
|
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
|
-
),
|
|
1330
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
1484
1331
|
...props,
|
|
1485
1332
|
children: [
|
|
1486
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsx17("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Circle, { className: "fill-current size-2" }) }) }),
|
|
1487
1334
|
children
|
|
1488
1335
|
]
|
|
1489
1336
|
}
|
|
1490
1337
|
));
|
|
1491
1338
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1492
|
-
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1339
|
+
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1493
1340
|
ContextMenuPrimitive.Label,
|
|
1494
1341
|
{
|
|
1495
1342
|
ref,
|
|
1496
|
-
className: cn(
|
|
1497
|
-
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
1498
|
-
inset && "pl-8",
|
|
1499
|
-
className
|
|
1500
|
-
),
|
|
1343
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
1501
1344
|
...props
|
|
1502
1345
|
}
|
|
1503
1346
|
));
|
|
1504
1347
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1505
|
-
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1348
|
+
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1506
1349
|
ContextMenuPrimitive.Separator,
|
|
1507
1350
|
{
|
|
1508
1351
|
ref,
|
|
1509
|
-
className: cn("-
|
|
1352
|
+
className: cn("dl-menu-separator", className),
|
|
1510
1353
|
...props
|
|
1511
1354
|
}
|
|
1512
1355
|
));
|
|
@@ -1515,27 +1358,93 @@ var ContextMenuShortcut = ({
|
|
|
1515
1358
|
className,
|
|
1516
1359
|
...props
|
|
1517
1360
|
}) => {
|
|
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
|
-
);
|
|
1361
|
+
return /* @__PURE__ */ jsx17("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
1528
1362
|
};
|
|
1529
1363
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
1530
1364
|
|
|
1531
|
-
// src/components/
|
|
1365
|
+
// src/components/date-picker/date-picker.tsx
|
|
1366
|
+
import * as React18 from "react";
|
|
1367
|
+
import { format } from "date-fns";
|
|
1368
|
+
import { Calendar as CalendarIcon } from "lucide-react";
|
|
1369
|
+
|
|
1370
|
+
// src/components/popover/popover.tsx
|
|
1532
1371
|
import * as React17 from "react";
|
|
1372
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1373
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1374
|
+
var Popover = PopoverPrimitive.Root;
|
|
1375
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1376
|
+
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
1377
|
+
var PopoverContent = React17.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx18(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx18(
|
|
1378
|
+
PopoverPrimitive.Content,
|
|
1379
|
+
{
|
|
1380
|
+
ref,
|
|
1381
|
+
align,
|
|
1382
|
+
sideOffset,
|
|
1383
|
+
className: cn("dl-popover", className),
|
|
1384
|
+
...props
|
|
1385
|
+
}
|
|
1386
|
+
) }));
|
|
1387
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1388
|
+
|
|
1389
|
+
// src/components/date-picker/date-picker.tsx
|
|
1390
|
+
import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1391
|
+
function DatePicker({
|
|
1392
|
+
value,
|
|
1393
|
+
onChange,
|
|
1394
|
+
placeholder = "Pick a date",
|
|
1395
|
+
className,
|
|
1396
|
+
disabled
|
|
1397
|
+
}) {
|
|
1398
|
+
const date = React18.useMemo(() => {
|
|
1399
|
+
if (!value) return void 0;
|
|
1400
|
+
const parts = value.split("-");
|
|
1401
|
+
if (parts.length !== 3) {
|
|
1402
|
+
const d = new Date(value);
|
|
1403
|
+
return isNaN(d.getTime()) ? void 0 : d;
|
|
1404
|
+
}
|
|
1405
|
+
const year = parseInt(parts[0], 10);
|
|
1406
|
+
const month = parseInt(parts[1], 10) - 1;
|
|
1407
|
+
const day = parseInt(parts[2], 10);
|
|
1408
|
+
return new Date(year, month, day, 12, 0, 0);
|
|
1409
|
+
}, [value]);
|
|
1410
|
+
return /* @__PURE__ */ jsxs10(Popover, { children: [
|
|
1411
|
+
/* @__PURE__ */ jsx19(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs10(
|
|
1412
|
+
Button,
|
|
1413
|
+
{
|
|
1414
|
+
variant: "outline",
|
|
1415
|
+
type: "button",
|
|
1416
|
+
disabled,
|
|
1417
|
+
className: cn(
|
|
1418
|
+
"dl-date-picker-trigger",
|
|
1419
|
+
!value && "dl-date-picker-trigger--placeholder",
|
|
1420
|
+
className
|
|
1421
|
+
),
|
|
1422
|
+
children: [
|
|
1423
|
+
/* @__PURE__ */ jsx19(CalendarIcon, { className: "dl-date-picker-icon" }),
|
|
1424
|
+
date && !isNaN(date.getTime()) ? format(date, "PPP") : /* @__PURE__ */ jsx19("span", { children: placeholder })
|
|
1425
|
+
]
|
|
1426
|
+
}
|
|
1427
|
+
) }),
|
|
1428
|
+
/* @__PURE__ */ jsx19(PopoverContent, { className: "dl-date-picker-content", align: "start", children: /* @__PURE__ */ jsx19(
|
|
1429
|
+
Calendar,
|
|
1430
|
+
{
|
|
1431
|
+
mode: "single",
|
|
1432
|
+
selected: date,
|
|
1433
|
+
onSelect: (selectedDate) => onChange?.(selectedDate ? format(selectedDate, "yyyy-MM-dd") : ""),
|
|
1434
|
+
initialFocus: true
|
|
1435
|
+
}
|
|
1436
|
+
) })
|
|
1437
|
+
] });
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
// src/components/drawer/drawer.tsx
|
|
1441
|
+
import * as React19 from "react";
|
|
1533
1442
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
1534
|
-
import { jsx as
|
|
1443
|
+
import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1535
1444
|
var Drawer = ({
|
|
1536
1445
|
shouldScaleBackground = true,
|
|
1537
1446
|
...props
|
|
1538
|
-
}) => /* @__PURE__ */
|
|
1447
|
+
}) => /* @__PURE__ */ jsx20(
|
|
1539
1448
|
DrawerPrimitive.Root,
|
|
1540
1449
|
{
|
|
1541
1450
|
shouldScaleBackground,
|
|
@@ -1546,28 +1455,25 @@ Drawer.displayName = "Drawer";
|
|
|
1546
1455
|
var DrawerTrigger = DrawerPrimitive.Trigger;
|
|
1547
1456
|
var DrawerPortal = DrawerPrimitive.Portal;
|
|
1548
1457
|
var DrawerClose = DrawerPrimitive.Close;
|
|
1549
|
-
var DrawerOverlay =
|
|
1458
|
+
var DrawerOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1550
1459
|
DrawerPrimitive.Overlay,
|
|
1551
1460
|
{
|
|
1552
1461
|
ref,
|
|
1553
|
-
className: cn("
|
|
1462
|
+
className: cn("dl-drawer-overlay", className),
|
|
1554
1463
|
...props
|
|
1555
1464
|
}
|
|
1556
1465
|
));
|
|
1557
1466
|
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
1558
|
-
var DrawerContent =
|
|
1559
|
-
/* @__PURE__ */
|
|
1560
|
-
/* @__PURE__ */
|
|
1467
|
+
var DrawerContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(DrawerPortal, { children: [
|
|
1468
|
+
/* @__PURE__ */ jsx20(DrawerOverlay, {}),
|
|
1469
|
+
/* @__PURE__ */ jsxs11(
|
|
1561
1470
|
DrawerPrimitive.Content,
|
|
1562
1471
|
{
|
|
1563
1472
|
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
|
-
),
|
|
1473
|
+
className: cn("dl-drawer-content", className),
|
|
1568
1474
|
...props,
|
|
1569
1475
|
children: [
|
|
1570
|
-
/* @__PURE__ */
|
|
1476
|
+
/* @__PURE__ */ jsx20("div", { className: "dl-drawer-handle" }),
|
|
1571
1477
|
children
|
|
1572
1478
|
]
|
|
1573
1479
|
}
|
|
@@ -1577,164 +1483,138 @@ DrawerContent.displayName = "DrawerContent";
|
|
|
1577
1483
|
var DrawerHeader = ({
|
|
1578
1484
|
className,
|
|
1579
1485
|
...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
|
-
);
|
|
1486
|
+
}) => /* @__PURE__ */ jsx20("div", { className: cn("dl-drawer-header", className), ...props });
|
|
1587
1487
|
DrawerHeader.displayName = "DrawerHeader";
|
|
1588
1488
|
var DrawerFooter = ({
|
|
1589
1489
|
className,
|
|
1590
1490
|
...props
|
|
1591
|
-
}) => /* @__PURE__ */
|
|
1592
|
-
"div",
|
|
1593
|
-
{
|
|
1594
|
-
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
1595
|
-
...props
|
|
1596
|
-
}
|
|
1597
|
-
);
|
|
1491
|
+
}) => /* @__PURE__ */ jsx20("div", { className: cn("dl-drawer-footer", className), ...props });
|
|
1598
1492
|
DrawerFooter.displayName = "DrawerFooter";
|
|
1599
|
-
var DrawerTitle =
|
|
1493
|
+
var DrawerTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1600
1494
|
DrawerPrimitive.Title,
|
|
1601
1495
|
{
|
|
1602
1496
|
ref,
|
|
1603
|
-
className: cn(
|
|
1604
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1605
|
-
className
|
|
1606
|
-
),
|
|
1497
|
+
className: cn("dl-drawer-title", className),
|
|
1607
1498
|
...props
|
|
1608
1499
|
}
|
|
1609
1500
|
));
|
|
1610
1501
|
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
1611
|
-
var DrawerDescription =
|
|
1502
|
+
var DrawerDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
1612
1503
|
DrawerPrimitive.Description,
|
|
1613
1504
|
{
|
|
1614
1505
|
ref,
|
|
1615
|
-
className: cn("
|
|
1506
|
+
className: cn("dl-drawer-desc", className),
|
|
1616
1507
|
...props
|
|
1617
1508
|
}
|
|
1618
1509
|
));
|
|
1619
1510
|
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
1620
1511
|
|
|
1621
|
-
// src/components/dropdown-menu.tsx
|
|
1622
|
-
import * as
|
|
1512
|
+
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
1513
|
+
import * as React20 from "react";
|
|
1623
1514
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1624
1515
|
import { Check as Check3, ChevronRight as ChevronRight3, Circle as Circle2 } from "lucide-react";
|
|
1625
|
-
import { jsx as
|
|
1516
|
+
import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1626
1517
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
1627
1518
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
1628
1519
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
1629
1520
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
1630
1521
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
1631
1522
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
1632
|
-
var DropdownMenuSubTrigger =
|
|
1523
|
+
var DropdownMenuSubTrigger = React20.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1633
1524
|
DropdownMenuPrimitive.SubTrigger,
|
|
1634
1525
|
{
|
|
1635
1526
|
ref,
|
|
1636
1527
|
className: cn(
|
|
1637
|
-
"
|
|
1528
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1638
1529
|
inset && "pl-8",
|
|
1639
1530
|
className
|
|
1640
1531
|
),
|
|
1641
1532
|
...props,
|
|
1642
1533
|
children: [
|
|
1643
1534
|
children,
|
|
1644
|
-
/* @__PURE__ */
|
|
1535
|
+
/* @__PURE__ */ jsx21(
|
|
1536
|
+
ChevronRight3,
|
|
1537
|
+
{
|
|
1538
|
+
style: { marginLeft: "auto", width: "1rem", height: "1rem" }
|
|
1539
|
+
}
|
|
1540
|
+
)
|
|
1645
1541
|
]
|
|
1646
1542
|
}
|
|
1647
1543
|
));
|
|
1648
1544
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1649
|
-
var DropdownMenuSubContent =
|
|
1545
|
+
var DropdownMenuSubContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1650
1546
|
DropdownMenuPrimitive.SubContent,
|
|
1651
1547
|
{
|
|
1652
1548
|
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
|
-
),
|
|
1549
|
+
className: cn("dl-menu-content", className),
|
|
1657
1550
|
...props
|
|
1658
1551
|
}
|
|
1659
1552
|
));
|
|
1660
1553
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1661
|
-
var DropdownMenuContent =
|
|
1554
|
+
var DropdownMenuContent = React20.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx21(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
|
|
1662
1555
|
DropdownMenuPrimitive.Content,
|
|
1663
1556
|
{
|
|
1664
1557
|
ref,
|
|
1665
1558
|
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
|
-
),
|
|
1559
|
+
className: cn("dl-menu-content", className),
|
|
1671
1560
|
...props
|
|
1672
1561
|
}
|
|
1673
1562
|
) }));
|
|
1674
1563
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1675
|
-
var DropdownMenuItem =
|
|
1564
|
+
var DropdownMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1676
1565
|
DropdownMenuPrimitive.Item,
|
|
1677
1566
|
{
|
|
1678
1567
|
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
|
-
),
|
|
1568
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1684
1569
|
...props
|
|
1685
1570
|
}
|
|
1686
1571
|
));
|
|
1687
1572
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1688
|
-
var DropdownMenuCheckboxItem =
|
|
1573
|
+
var DropdownMenuCheckboxItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1689
1574
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1690
1575
|
{
|
|
1691
1576
|
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
|
-
),
|
|
1577
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1696
1578
|
...props,
|
|
1697
1579
|
children: [
|
|
1698
|
-
/* @__PURE__ */
|
|
1580
|
+
/* @__PURE__ */ jsx21("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx21(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(Check3, { style: { width: "1rem", height: "1rem" } }) }) }),
|
|
1699
1581
|
children
|
|
1700
1582
|
]
|
|
1701
1583
|
}
|
|
1702
1584
|
));
|
|
1703
1585
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1704
|
-
var DropdownMenuRadioItem =
|
|
1586
|
+
var DropdownMenuRadioItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1705
1587
|
DropdownMenuPrimitive.RadioItem,
|
|
1706
1588
|
{
|
|
1707
1589
|
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
|
-
),
|
|
1590
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
1712
1591
|
...props,
|
|
1713
1592
|
children: [
|
|
1714
|
-
/* @__PURE__ */
|
|
1593
|
+
/* @__PURE__ */ jsx21("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx21(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(
|
|
1594
|
+
Circle2,
|
|
1595
|
+
{
|
|
1596
|
+
style: { width: "0.5rem", height: "0.5rem", fill: "currentColor" }
|
|
1597
|
+
}
|
|
1598
|
+
) }) }),
|
|
1715
1599
|
children
|
|
1716
1600
|
]
|
|
1717
1601
|
}
|
|
1718
1602
|
));
|
|
1719
1603
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1720
|
-
var DropdownMenuLabel =
|
|
1604
|
+
var DropdownMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1721
1605
|
DropdownMenuPrimitive.Label,
|
|
1722
1606
|
{
|
|
1723
1607
|
ref,
|
|
1724
|
-
className: cn(
|
|
1725
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
1726
|
-
inset && "pl-8",
|
|
1727
|
-
className
|
|
1728
|
-
),
|
|
1608
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
1729
1609
|
...props
|
|
1730
1610
|
}
|
|
1731
1611
|
));
|
|
1732
1612
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1733
|
-
var DropdownMenuSeparator =
|
|
1613
|
+
var DropdownMenuSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1734
1614
|
DropdownMenuPrimitive.Separator,
|
|
1735
1615
|
{
|
|
1736
1616
|
ref,
|
|
1737
|
-
className: cn("-
|
|
1617
|
+
className: cn("dl-menu-separator", className),
|
|
1738
1618
|
...props
|
|
1739
1619
|
}
|
|
1740
1620
|
));
|
|
@@ -1743,18 +1623,12 @@ var DropdownMenuShortcut = ({
|
|
|
1743
1623
|
className,
|
|
1744
1624
|
...props
|
|
1745
1625
|
}) => {
|
|
1746
|
-
return /* @__PURE__ */
|
|
1747
|
-
"span",
|
|
1748
|
-
{
|
|
1749
|
-
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
1750
|
-
...props
|
|
1751
|
-
}
|
|
1752
|
-
);
|
|
1626
|
+
return /* @__PURE__ */ jsx21("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
1753
1627
|
};
|
|
1754
1628
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1755
1629
|
|
|
1756
|
-
// src/components/form.tsx
|
|
1757
|
-
import * as
|
|
1630
|
+
// src/components/form/form.tsx
|
|
1631
|
+
import * as React22 from "react";
|
|
1758
1632
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
1759
1633
|
import {
|
|
1760
1634
|
Controller,
|
|
@@ -1762,15 +1636,13 @@ import {
|
|
|
1762
1636
|
useFormContext
|
|
1763
1637
|
} from "react-hook-form";
|
|
1764
1638
|
|
|
1765
|
-
// src/components/label.tsx
|
|
1766
|
-
import * as
|
|
1639
|
+
// src/components/label/label.tsx
|
|
1640
|
+
import * as React21 from "react";
|
|
1767
1641
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1768
1642
|
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(
|
|
1643
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1644
|
+
var labelVariants = cva4("dl-label");
|
|
1645
|
+
var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
1774
1646
|
LabelPrimitive.Root,
|
|
1775
1647
|
{
|
|
1776
1648
|
ref,
|
|
@@ -1780,20 +1652,20 @@ var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
1780
1652
|
));
|
|
1781
1653
|
Label3.displayName = LabelPrimitive.Root.displayName;
|
|
1782
1654
|
|
|
1783
|
-
// src/components/form.tsx
|
|
1784
|
-
import { jsx as
|
|
1655
|
+
// src/components/form/form.tsx
|
|
1656
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1785
1657
|
var Form = FormProvider;
|
|
1786
|
-
var FormFieldContext =
|
|
1658
|
+
var FormFieldContext = React22.createContext(
|
|
1787
1659
|
null
|
|
1788
1660
|
);
|
|
1789
1661
|
var FormField = ({
|
|
1790
1662
|
...props
|
|
1791
1663
|
}) => {
|
|
1792
|
-
return /* @__PURE__ */
|
|
1664
|
+
return /* @__PURE__ */ jsx23(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx23(Controller, { ...props }) });
|
|
1793
1665
|
};
|
|
1794
1666
|
var useFormField = () => {
|
|
1795
|
-
const fieldContext =
|
|
1796
|
-
const itemContext =
|
|
1667
|
+
const fieldContext = React22.useContext(FormFieldContext);
|
|
1668
|
+
const itemContext = React22.useContext(FormItemContext);
|
|
1797
1669
|
const { getFieldState, formState } = useFormContext();
|
|
1798
1670
|
if (!fieldContext) {
|
|
1799
1671
|
throw new Error("useFormField should be used within <FormField>");
|
|
@@ -1812,28 +1684,28 @@ var useFormField = () => {
|
|
|
1812
1684
|
...fieldState
|
|
1813
1685
|
};
|
|
1814
1686
|
};
|
|
1815
|
-
var FormItemContext =
|
|
1816
|
-
var FormItem =
|
|
1817
|
-
const id =
|
|
1818
|
-
return /* @__PURE__ */
|
|
1687
|
+
var FormItemContext = React22.createContext(null);
|
|
1688
|
+
var FormItem = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1689
|
+
const id = React22.useId();
|
|
1690
|
+
return /* @__PURE__ */ jsx23(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx23("div", { ref, className: cn("dl-form-item", className), ...props }) });
|
|
1819
1691
|
});
|
|
1820
1692
|
FormItem.displayName = "FormItem";
|
|
1821
|
-
var FormLabel =
|
|
1693
|
+
var FormLabel = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1822
1694
|
const { error, formItemId } = useFormField();
|
|
1823
|
-
return /* @__PURE__ */
|
|
1695
|
+
return /* @__PURE__ */ jsx23(
|
|
1824
1696
|
Label3,
|
|
1825
1697
|
{
|
|
1826
1698
|
ref,
|
|
1827
|
-
className: cn(error && "
|
|
1699
|
+
className: cn(error && "dl-form-label--error", className),
|
|
1828
1700
|
htmlFor: formItemId,
|
|
1829
1701
|
...props
|
|
1830
1702
|
}
|
|
1831
1703
|
);
|
|
1832
1704
|
});
|
|
1833
1705
|
FormLabel.displayName = "FormLabel";
|
|
1834
|
-
var FormControl =
|
|
1706
|
+
var FormControl = React22.forwardRef(({ ...props }, ref) => {
|
|
1835
1707
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
1836
|
-
return /* @__PURE__ */
|
|
1708
|
+
return /* @__PURE__ */ jsx23(
|
|
1837
1709
|
Slot3,
|
|
1838
1710
|
{
|
|
1839
1711
|
ref,
|
|
@@ -1845,31 +1717,31 @@ var FormControl = React20.forwardRef(({ ...props }, ref) => {
|
|
|
1845
1717
|
);
|
|
1846
1718
|
});
|
|
1847
1719
|
FormControl.displayName = "FormControl";
|
|
1848
|
-
var FormDescription =
|
|
1720
|
+
var FormDescription = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1849
1721
|
const { formDescriptionId } = useFormField();
|
|
1850
|
-
return /* @__PURE__ */
|
|
1722
|
+
return /* @__PURE__ */ jsx23(
|
|
1851
1723
|
"p",
|
|
1852
1724
|
{
|
|
1853
1725
|
ref,
|
|
1854
1726
|
id: formDescriptionId,
|
|
1855
|
-
className: cn("
|
|
1727
|
+
className: cn("dl-form-desc", className),
|
|
1856
1728
|
...props
|
|
1857
1729
|
}
|
|
1858
1730
|
);
|
|
1859
1731
|
});
|
|
1860
1732
|
FormDescription.displayName = "FormDescription";
|
|
1861
|
-
var FormMessage =
|
|
1733
|
+
var FormMessage = React22.forwardRef(({ className, children, ...props }, ref) => {
|
|
1862
1734
|
const { error, formMessageId } = useFormField();
|
|
1863
1735
|
const body = error ? String(error?.message ?? "") : children;
|
|
1864
1736
|
if (!body) {
|
|
1865
1737
|
return null;
|
|
1866
1738
|
}
|
|
1867
|
-
return /* @__PURE__ */
|
|
1739
|
+
return /* @__PURE__ */ jsx23(
|
|
1868
1740
|
"p",
|
|
1869
1741
|
{
|
|
1870
1742
|
ref,
|
|
1871
1743
|
id: formMessageId,
|
|
1872
|
-
className: cn("
|
|
1744
|
+
className: cn("dl-form-error", className),
|
|
1873
1745
|
...props,
|
|
1874
1746
|
children: body
|
|
1875
1747
|
}
|
|
@@ -1877,408 +1749,387 @@ var FormMessage = React20.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1877
1749
|
});
|
|
1878
1750
|
FormMessage.displayName = "FormMessage";
|
|
1879
1751
|
|
|
1880
|
-
// src/components/hover-card.tsx
|
|
1881
|
-
import * as
|
|
1752
|
+
// src/components/hover-card/hover-card.tsx
|
|
1753
|
+
import * as React23 from "react";
|
|
1882
1754
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
1883
|
-
import { jsx as
|
|
1755
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1884
1756
|
var HoverCard = HoverCardPrimitive.Root;
|
|
1885
1757
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
1886
|
-
var HoverCardContent =
|
|
1758
|
+
var HoverCardContent = React23.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1887
1759
|
HoverCardPrimitive.Content,
|
|
1888
1760
|
{
|
|
1889
1761
|
ref,
|
|
1890
1762
|
align,
|
|
1891
1763
|
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
|
-
),
|
|
1764
|
+
className: cn("dl-hover-card", className),
|
|
1896
1765
|
...props
|
|
1897
1766
|
}
|
|
1898
1767
|
));
|
|
1899
1768
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
1900
1769
|
|
|
1901
|
-
// src/components/input
|
|
1902
|
-
import * as
|
|
1770
|
+
// src/components/input/input.tsx
|
|
1771
|
+
import * as React24 from "react";
|
|
1772
|
+
import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1773
|
+
var Input = React24.forwardRef(
|
|
1774
|
+
({ className, type, startIcon, endIcon, ...props }, ref) => {
|
|
1775
|
+
const inputEl = /* @__PURE__ */ jsx25(
|
|
1776
|
+
"input",
|
|
1777
|
+
{
|
|
1778
|
+
type,
|
|
1779
|
+
className: cn(
|
|
1780
|
+
"dl-input",
|
|
1781
|
+
startIcon && "dl-input--has-start-icon",
|
|
1782
|
+
endIcon && "dl-input--has-end-icon",
|
|
1783
|
+
className
|
|
1784
|
+
),
|
|
1785
|
+
ref,
|
|
1786
|
+
...props
|
|
1787
|
+
}
|
|
1788
|
+
);
|
|
1789
|
+
if (!startIcon && !endIcon) {
|
|
1790
|
+
return inputEl;
|
|
1791
|
+
}
|
|
1792
|
+
return /* @__PURE__ */ jsxs13("div", { className: "dl-input-wrapper", children: [
|
|
1793
|
+
startIcon && /* @__PURE__ */ jsx25("span", { className: "dl-input-icon dl-input-icon--start", children: startIcon }),
|
|
1794
|
+
inputEl,
|
|
1795
|
+
endIcon && /* @__PURE__ */ jsx25("span", { className: "dl-input-icon dl-input-icon--end", children: endIcon })
|
|
1796
|
+
] });
|
|
1797
|
+
}
|
|
1798
|
+
);
|
|
1799
|
+
Input.displayName = "Input";
|
|
1800
|
+
|
|
1801
|
+
// src/components/input-otp/input-otp.tsx
|
|
1802
|
+
import * as React25 from "react";
|
|
1903
1803
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
1904
1804
|
import { Minus } from "lucide-react";
|
|
1905
|
-
import { jsx as
|
|
1906
|
-
var InputOTP =
|
|
1805
|
+
import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1806
|
+
var InputOTP = React25.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1907
1807
|
OTPInput,
|
|
1908
1808
|
{
|
|
1909
1809
|
ref,
|
|
1910
|
-
containerClassName: cn(
|
|
1911
|
-
|
|
1912
|
-
containerClassName
|
|
1913
|
-
),
|
|
1914
|
-
className: cn("disabled:cursor-not-allowed", className),
|
|
1810
|
+
containerClassName: cn("dl-input-otp-container", containerClassName),
|
|
1811
|
+
className: cn("dl-input-otp", className),
|
|
1915
1812
|
...props
|
|
1916
1813
|
}
|
|
1917
1814
|
));
|
|
1918
1815
|
InputOTP.displayName = "InputOTP";
|
|
1919
|
-
var InputOTPGroup =
|
|
1816
|
+
var InputOTPGroup = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, className: cn("dl-input-otp-group", className), ...props }));
|
|
1920
1817
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
1921
|
-
var InputOTPSlot =
|
|
1922
|
-
const inputOTPContext =
|
|
1818
|
+
var InputOTPSlot = React25.forwardRef(({ index, className, ...props }, ref) => {
|
|
1819
|
+
const inputOTPContext = React25.useContext(OTPInputContext);
|
|
1923
1820
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {
|
|
1924
1821
|
char: null,
|
|
1925
1822
|
hasFakeCaret: false,
|
|
1926
1823
|
isActive: false
|
|
1927
1824
|
};
|
|
1928
|
-
return /* @__PURE__ */
|
|
1825
|
+
return /* @__PURE__ */ jsxs14(
|
|
1929
1826
|
"div",
|
|
1930
1827
|
{
|
|
1931
1828
|
ref,
|
|
1932
1829
|
className: cn(
|
|
1933
|
-
"
|
|
1934
|
-
isActive && "
|
|
1830
|
+
"dl-input-otp-slot",
|
|
1831
|
+
isActive && "dl-input-otp-slot--active",
|
|
1935
1832
|
className
|
|
1936
1833
|
),
|
|
1937
1834
|
...props,
|
|
1938
1835
|
children: [
|
|
1939
1836
|
char,
|
|
1940
|
-
hasFakeCaret && /* @__PURE__ */
|
|
1837
|
+
hasFakeCaret && /* @__PURE__ */ jsx26("div", { className: "dl-input-otp-caret", children: /* @__PURE__ */ jsx26("div", { className: "dl-input-otp-caret__line" }) })
|
|
1941
1838
|
]
|
|
1942
1839
|
}
|
|
1943
1840
|
);
|
|
1944
1841
|
});
|
|
1945
1842
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1946
|
-
var InputOTPSeparator =
|
|
1843
|
+
var InputOTPSeparator = React25.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx26(Minus, {}) }));
|
|
1947
1844
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1948
1845
|
|
|
1949
|
-
// src/components/
|
|
1950
|
-
import
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1846
|
+
// src/components/skeleton/skeleton.tsx
|
|
1847
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1848
|
+
function Skeleton({ className, ...props }) {
|
|
1849
|
+
return /* @__PURE__ */ jsx27("div", { className: cn("dl-skeleton", className), ...props });
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
// src/components/loading-state/loading-state.tsx
|
|
1853
|
+
import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1854
|
+
function LoadingState({
|
|
1855
|
+
rows = 3,
|
|
1856
|
+
message,
|
|
1857
|
+
className,
|
|
1858
|
+
...props
|
|
1859
|
+
}) {
|
|
1860
|
+
if (message) {
|
|
1861
|
+
return /* @__PURE__ */ jsxs15("div", { className: cn("dl-loading", className), ...props, children: [
|
|
1862
|
+
/* @__PURE__ */ jsx28(
|
|
1863
|
+
"svg",
|
|
1864
|
+
{
|
|
1865
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1866
|
+
width: "24",
|
|
1867
|
+
height: "24",
|
|
1868
|
+
viewBox: "0 0 24 24",
|
|
1869
|
+
fill: "none",
|
|
1870
|
+
stroke: "currentColor",
|
|
1871
|
+
strokeWidth: "2",
|
|
1872
|
+
strokeLinecap: "round",
|
|
1873
|
+
strokeLinejoin: "round",
|
|
1874
|
+
children: /* @__PURE__ */ jsx28("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1875
|
+
}
|
|
1876
|
+
),
|
|
1877
|
+
/* @__PURE__ */ jsx28("span", { children: message })
|
|
1878
|
+
] });
|
|
1966
1879
|
}
|
|
1967
|
-
)
|
|
1968
|
-
|
|
1880
|
+
return /* @__PURE__ */ jsxs15("div", { className: cn("dl-loading-skeleton", className), ...props, children: [
|
|
1881
|
+
/* @__PURE__ */ jsx28(Skeleton, { style: { height: "2rem", width: "33.333%" } }),
|
|
1882
|
+
/* @__PURE__ */ jsx28("div", { className: "dl-loading-skeleton__list", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx28(
|
|
1883
|
+
Skeleton,
|
|
1884
|
+
{
|
|
1885
|
+
style: {
|
|
1886
|
+
height: "4rem",
|
|
1887
|
+
width: "100%",
|
|
1888
|
+
borderRadius: "var(--radius-lg, 0.75rem)"
|
|
1889
|
+
}
|
|
1890
|
+
},
|
|
1891
|
+
i
|
|
1892
|
+
)) })
|
|
1893
|
+
] });
|
|
1894
|
+
}
|
|
1969
1895
|
|
|
1970
|
-
// src/components/menubar.tsx
|
|
1971
|
-
import * as
|
|
1896
|
+
// src/components/menubar/menubar.tsx
|
|
1897
|
+
import * as React26 from "react";
|
|
1972
1898
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
1973
1899
|
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 });
|
|
1900
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1901
|
+
function MenubarMenu(props) {
|
|
1902
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Menu, { ...props });
|
|
1979
1903
|
}
|
|
1980
|
-
function MenubarGroup({
|
|
1981
|
-
...props
|
|
1982
|
-
}) {
|
|
1983
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Group, { ...props });
|
|
1904
|
+
function MenubarGroup(props) {
|
|
1905
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Group, { ...props });
|
|
1984
1906
|
}
|
|
1985
|
-
function MenubarPortal({
|
|
1986
|
-
...props
|
|
1987
|
-
}) {
|
|
1988
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Portal, { ...props });
|
|
1907
|
+
function MenubarPortal(props) {
|
|
1908
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { ...props });
|
|
1989
1909
|
}
|
|
1990
|
-
function MenubarRadioGroup({
|
|
1991
|
-
...props
|
|
1992
|
-
}) {
|
|
1993
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.RadioGroup, { ...props });
|
|
1910
|
+
function MenubarRadioGroup(props) {
|
|
1911
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.RadioGroup, { ...props });
|
|
1994
1912
|
}
|
|
1995
|
-
function MenubarSub({
|
|
1996
|
-
...props
|
|
1997
|
-
}) {
|
|
1998
|
-
return /* @__PURE__ */ jsx24(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1913
|
+
function MenubarSub(props) {
|
|
1914
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1999
1915
|
}
|
|
2000
|
-
var Menubar =
|
|
1916
|
+
var Menubar = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2001
1917
|
MenubarPrimitive.Root,
|
|
2002
1918
|
{
|
|
2003
1919
|
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
|
-
),
|
|
1920
|
+
className: cn("dl-menubar", className),
|
|
2008
1921
|
...props
|
|
2009
1922
|
}
|
|
2010
1923
|
));
|
|
2011
1924
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
2012
|
-
var MenubarTrigger =
|
|
1925
|
+
var MenubarTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2013
1926
|
MenubarPrimitive.Trigger,
|
|
2014
1927
|
{
|
|
2015
1928
|
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
|
-
),
|
|
1929
|
+
className: cn("dl-menubar-trigger", className),
|
|
2020
1930
|
...props
|
|
2021
1931
|
}
|
|
2022
1932
|
));
|
|
2023
1933
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
2024
|
-
var MenubarSubTrigger =
|
|
1934
|
+
var MenubarSubTrigger = React26.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2025
1935
|
MenubarPrimitive.SubTrigger,
|
|
2026
1936
|
{
|
|
2027
1937
|
ref,
|
|
2028
1938
|
className: cn(
|
|
2029
|
-
"
|
|
1939
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
2030
1940
|
inset && "pl-8",
|
|
2031
1941
|
className
|
|
2032
1942
|
),
|
|
2033
1943
|
...props,
|
|
2034
1944
|
children: [
|
|
2035
1945
|
children,
|
|
2036
|
-
/* @__PURE__ */
|
|
1946
|
+
/* @__PURE__ */ jsx29(ChevronRight4, { className: "ml-auto size-4" })
|
|
2037
1947
|
]
|
|
2038
1948
|
}
|
|
2039
1949
|
));
|
|
2040
1950
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
2041
|
-
var MenubarSubContent =
|
|
1951
|
+
var MenubarSubContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2042
1952
|
MenubarPrimitive.SubContent,
|
|
2043
1953
|
{
|
|
2044
1954
|
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
|
-
),
|
|
1955
|
+
className: cn("dl-menu-content", className),
|
|
2049
1956
|
...props
|
|
2050
1957
|
}
|
|
2051
1958
|
));
|
|
2052
1959
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
2053
|
-
var MenubarContent =
|
|
2054
|
-
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */
|
|
1960
|
+
var MenubarContent = React26.forwardRef(
|
|
1961
|
+
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
|
|
2055
1962
|
MenubarPrimitive.Content,
|
|
2056
1963
|
{
|
|
2057
1964
|
ref,
|
|
2058
1965
|
align,
|
|
2059
1966
|
alignOffset,
|
|
2060
1967
|
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
|
-
),
|
|
1968
|
+
className: cn("dl-menu-content", className),
|
|
2065
1969
|
...props
|
|
2066
1970
|
}
|
|
2067
1971
|
) })
|
|
2068
1972
|
);
|
|
2069
1973
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
2070
|
-
var MenubarItem =
|
|
1974
|
+
var MenubarItem = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2071
1975
|
MenubarPrimitive.Item,
|
|
2072
1976
|
{
|
|
2073
1977
|
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
|
-
),
|
|
1978
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
2079
1979
|
...props
|
|
2080
1980
|
}
|
|
2081
1981
|
));
|
|
2082
1982
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
2083
|
-
var MenubarCheckboxItem =
|
|
1983
|
+
var MenubarCheckboxItem = React26.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2084
1984
|
MenubarPrimitive.CheckboxItem,
|
|
2085
1985
|
{
|
|
2086
1986
|
ref,
|
|
2087
|
-
className: cn(
|
|
2088
|
-
|
|
2089
|
-
className
|
|
2090
|
-
),
|
|
1987
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1988
|
+
checked,
|
|
2091
1989
|
...props,
|
|
2092
1990
|
children: [
|
|
2093
|
-
/* @__PURE__ */
|
|
1991
|
+
/* @__PURE__ */ jsx29("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(Check4, { className: "size-4" }) }) }),
|
|
2094
1992
|
children
|
|
2095
1993
|
]
|
|
2096
1994
|
}
|
|
2097
1995
|
));
|
|
2098
1996
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
2099
|
-
var MenubarRadioItem =
|
|
1997
|
+
var MenubarRadioItem = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2100
1998
|
MenubarPrimitive.RadioItem,
|
|
2101
1999
|
{
|
|
2102
2000
|
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
|
-
),
|
|
2001
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
2107
2002
|
...props,
|
|
2108
2003
|
children: [
|
|
2109
|
-
/* @__PURE__ */
|
|
2004
|
+
/* @__PURE__ */ jsx29("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(Circle3, { className: "fill-current size-2" }) }) }),
|
|
2110
2005
|
children
|
|
2111
2006
|
]
|
|
2112
2007
|
}
|
|
2113
2008
|
));
|
|
2114
2009
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
2115
|
-
var MenubarLabel =
|
|
2010
|
+
var MenubarLabel = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2116
2011
|
MenubarPrimitive.Label,
|
|
2117
2012
|
{
|
|
2118
2013
|
ref,
|
|
2119
|
-
className: cn(
|
|
2120
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
2121
|
-
inset && "pl-8",
|
|
2122
|
-
className
|
|
2123
|
-
),
|
|
2014
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
2124
2015
|
...props
|
|
2125
2016
|
}
|
|
2126
2017
|
));
|
|
2127
2018
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
2128
|
-
var MenubarSeparator =
|
|
2019
|
+
var MenubarSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2129
2020
|
MenubarPrimitive.Separator,
|
|
2130
2021
|
{
|
|
2131
2022
|
ref,
|
|
2132
|
-
className: cn("-
|
|
2023
|
+
className: cn("dl-menu-separator", className),
|
|
2133
2024
|
...props
|
|
2134
2025
|
}
|
|
2135
2026
|
));
|
|
2136
2027
|
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
|
-
);
|
|
2028
|
+
var MenubarShortcut = ({ className, ...props }) => {
|
|
2029
|
+
return /* @__PURE__ */ jsx29("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
2151
2030
|
};
|
|
2152
|
-
MenubarShortcut.
|
|
2031
|
+
MenubarShortcut.displayName = "MenubarShortcut";
|
|
2153
2032
|
|
|
2154
|
-
// src/components/navigation-menu.tsx
|
|
2155
|
-
import * as
|
|
2033
|
+
// src/components/navigation-menu/navigation-menu.tsx
|
|
2034
|
+
import * as React27 from "react";
|
|
2156
2035
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
2157
2036
|
import { cva as cva5 } from "class-variance-authority";
|
|
2158
2037
|
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
2159
|
-
import { jsx as
|
|
2160
|
-
var NavigationMenu =
|
|
2038
|
+
import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2039
|
+
var NavigationMenu = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
|
|
2161
2040
|
NavigationMenuPrimitive.Root,
|
|
2162
2041
|
{
|
|
2163
2042
|
ref,
|
|
2164
|
-
className: cn(
|
|
2165
|
-
"relative z-10 flex max-w-max flex-1 items-center justify-center",
|
|
2166
|
-
className
|
|
2167
|
-
),
|
|
2043
|
+
className: cn("dl-navigation-menu", className),
|
|
2168
2044
|
...props,
|
|
2169
2045
|
children: [
|
|
2170
2046
|
children,
|
|
2171
|
-
/* @__PURE__ */
|
|
2047
|
+
/* @__PURE__ */ jsx30(NavigationMenuViewport, {})
|
|
2172
2048
|
]
|
|
2173
2049
|
}
|
|
2174
2050
|
));
|
|
2175
2051
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
2176
|
-
var NavigationMenuList =
|
|
2052
|
+
var NavigationMenuList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2177
2053
|
NavigationMenuPrimitive.List,
|
|
2178
2054
|
{
|
|
2179
2055
|
ref,
|
|
2180
|
-
className: cn(
|
|
2181
|
-
"group flex flex-1 list-none items-center justify-center space-x-1",
|
|
2182
|
-
className
|
|
2183
|
-
),
|
|
2056
|
+
className: cn("dl-navigation-menu-list", className),
|
|
2184
2057
|
...props
|
|
2185
2058
|
}
|
|
2186
2059
|
));
|
|
2187
2060
|
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
2188
2061
|
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
2189
|
-
var navigationMenuTriggerStyle = cva5(
|
|
2190
|
-
|
|
2191
|
-
);
|
|
2192
|
-
var NavigationMenuTrigger = React25.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
|
|
2062
|
+
var navigationMenuTriggerStyle = cva5("dl-navigation-menu-trigger");
|
|
2063
|
+
var NavigationMenuTrigger = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
|
|
2193
2064
|
NavigationMenuPrimitive.Trigger,
|
|
2194
2065
|
{
|
|
2195
2066
|
ref,
|
|
2196
|
-
className: cn(navigationMenuTriggerStyle(),
|
|
2067
|
+
className: cn(navigationMenuTriggerStyle(), className),
|
|
2197
2068
|
...props,
|
|
2198
2069
|
children: [
|
|
2199
2070
|
children,
|
|
2200
2071
|
" ",
|
|
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
|
-
)
|
|
2072
|
+
/* @__PURE__ */ jsx30(ChevronDown2, { className: "dl-navigation-menu-chevron", "aria-hidden": "true" })
|
|
2208
2073
|
]
|
|
2209
2074
|
}
|
|
2210
2075
|
));
|
|
2211
2076
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
2212
|
-
var NavigationMenuContent =
|
|
2077
|
+
var NavigationMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2213
2078
|
NavigationMenuPrimitive.Content,
|
|
2214
2079
|
{
|
|
2215
2080
|
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
|
-
),
|
|
2081
|
+
className: cn("dl-navigation-menu-content", className),
|
|
2220
2082
|
...props
|
|
2221
2083
|
}
|
|
2222
2084
|
));
|
|
2223
2085
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
2224
2086
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
2225
|
-
var NavigationMenuViewport =
|
|
2087
|
+
var NavigationMenuViewport = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "dl-navigation-menu-viewport-wrapper", children: /* @__PURE__ */ jsx30(
|
|
2226
2088
|
NavigationMenuPrimitive.Viewport,
|
|
2227
2089
|
{
|
|
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
|
-
),
|
|
2090
|
+
className: cn("dl-navigation-menu-viewport", className),
|
|
2232
2091
|
ref,
|
|
2233
2092
|
...props
|
|
2234
2093
|
}
|
|
2235
2094
|
) }));
|
|
2236
2095
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
2237
|
-
var NavigationMenuIndicator =
|
|
2096
|
+
var NavigationMenuIndicator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
2238
2097
|
NavigationMenuPrimitive.Indicator,
|
|
2239
2098
|
{
|
|
2240
2099
|
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
|
-
),
|
|
2100
|
+
className: cn("dl-navigation-menu-indicator", className),
|
|
2245
2101
|
...props,
|
|
2246
|
-
children: /* @__PURE__ */
|
|
2102
|
+
children: /* @__PURE__ */ jsx30("div", { className: "dl-navigation-menu-indicator__arrow" })
|
|
2247
2103
|
}
|
|
2248
2104
|
));
|
|
2249
2105
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
2250
2106
|
|
|
2251
|
-
// src/components/pagination.tsx
|
|
2252
|
-
import * as
|
|
2107
|
+
// src/components/pagination/pagination.tsx
|
|
2108
|
+
import * as React28 from "react";
|
|
2253
2109
|
import { ChevronLeft, ChevronRight as ChevronRight5, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
|
|
2254
|
-
import { jsx as
|
|
2255
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */
|
|
2110
|
+
import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2111
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx31(
|
|
2256
2112
|
"nav",
|
|
2257
2113
|
{
|
|
2258
2114
|
role: "navigation",
|
|
2259
2115
|
"aria-label": "pagination",
|
|
2260
|
-
className: cn("
|
|
2116
|
+
className: cn("dl-pagination", className),
|
|
2261
2117
|
...props
|
|
2262
2118
|
}
|
|
2263
2119
|
);
|
|
2264
2120
|
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
|
-
));
|
|
2121
|
+
var PaginationContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31("ul", { ref, className: cn("dl-pagination-content", className), ...props }));
|
|
2273
2122
|
PaginationContent.displayName = "PaginationContent";
|
|
2274
|
-
var PaginationItem =
|
|
2123
|
+
var PaginationItem = React28.forwardRef(
|
|
2124
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx31("li", { ref, className: cn("dl-pagination-item", className), ...props })
|
|
2125
|
+
);
|
|
2275
2126
|
PaginationItem.displayName = "PaginationItem";
|
|
2276
2127
|
var PaginationLink = ({
|
|
2277
2128
|
className,
|
|
2278
2129
|
isActive,
|
|
2279
2130
|
size = "icon",
|
|
2280
2131
|
...props
|
|
2281
|
-
}) => /* @__PURE__ */
|
|
2132
|
+
}) => /* @__PURE__ */ jsx31(
|
|
2282
2133
|
"a",
|
|
2283
2134
|
{
|
|
2284
2135
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2296,33 +2147,30 @@ PaginationLink.displayName = "PaginationLink";
|
|
|
2296
2147
|
var PaginationPrevious = ({
|
|
2297
2148
|
className,
|
|
2298
2149
|
...props
|
|
2299
|
-
}) => /* @__PURE__ */
|
|
2150
|
+
}) => /* @__PURE__ */ jsxs18(
|
|
2300
2151
|
PaginationLink,
|
|
2301
2152
|
{
|
|
2302
2153
|
"aria-label": "Go to previous page",
|
|
2303
2154
|
size: "default",
|
|
2304
|
-
className: cn("
|
|
2155
|
+
className: cn("dl-pagination-prev", className),
|
|
2305
2156
|
...props,
|
|
2306
2157
|
children: [
|
|
2307
|
-
/* @__PURE__ */
|
|
2308
|
-
/* @__PURE__ */
|
|
2158
|
+
/* @__PURE__ */ jsx31(ChevronLeft, { className: "size-4" }),
|
|
2159
|
+
/* @__PURE__ */ jsx31("span", { children: "Previous" })
|
|
2309
2160
|
]
|
|
2310
2161
|
}
|
|
2311
2162
|
);
|
|
2312
2163
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
2313
|
-
var PaginationNext = ({
|
|
2314
|
-
className,
|
|
2315
|
-
...props
|
|
2316
|
-
}) => /* @__PURE__ */ jsxs14(
|
|
2164
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs18(
|
|
2317
2165
|
PaginationLink,
|
|
2318
2166
|
{
|
|
2319
2167
|
"aria-label": "Go to next page",
|
|
2320
2168
|
size: "default",
|
|
2321
|
-
className: cn("
|
|
2169
|
+
className: cn("dl-pagination-next", className),
|
|
2322
2170
|
...props,
|
|
2323
2171
|
children: [
|
|
2324
|
-
/* @__PURE__ */
|
|
2325
|
-
/* @__PURE__ */
|
|
2172
|
+
/* @__PURE__ */ jsx31("span", { children: "Next" }),
|
|
2173
|
+
/* @__PURE__ */ jsx31(ChevronRight5, { className: "size-4" })
|
|
2326
2174
|
]
|
|
2327
2175
|
}
|
|
2328
2176
|
);
|
|
@@ -2330,59 +2178,50 @@ PaginationNext.displayName = "PaginationNext";
|
|
|
2330
2178
|
var PaginationEllipsis = ({
|
|
2331
2179
|
className,
|
|
2332
2180
|
...props
|
|
2333
|
-
}) => /* @__PURE__ */
|
|
2181
|
+
}) => /* @__PURE__ */ jsxs18(
|
|
2334
2182
|
"span",
|
|
2335
2183
|
{
|
|
2336
2184
|
"aria-hidden": true,
|
|
2337
|
-
className: cn("
|
|
2185
|
+
className: cn("dl-pagination-ellipsis", className),
|
|
2338
2186
|
...props,
|
|
2339
2187
|
children: [
|
|
2340
|
-
/* @__PURE__ */
|
|
2341
|
-
/* @__PURE__ */
|
|
2188
|
+
/* @__PURE__ */ jsx31(MoreHorizontal2, {}),
|
|
2189
|
+
/* @__PURE__ */ jsx31("span", { className: "sr-only", children: "More pages" })
|
|
2342
2190
|
]
|
|
2343
2191
|
}
|
|
2344
2192
|
);
|
|
2345
2193
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
2346
2194
|
|
|
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
|
|
2195
|
+
// src/components/panel/panel.tsx
|
|
2196
|
+
import * as React29 from "react";
|
|
2197
|
+
import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2198
|
+
var Panel = React29.forwardRef(
|
|
2199
|
+
({ title, meta, children, className, ...props }, ref) => {
|
|
2200
|
+
return /* @__PURE__ */ jsxs19("section", { ref, className: cn("dl-panel", className), ...props, children: [
|
|
2201
|
+
title ? /* @__PURE__ */ jsxs19("div", { className: "dl-panel__header", children: [
|
|
2202
|
+
/* @__PURE__ */ jsx32("h2", { className: "dl-panel__title", children: title }),
|
|
2203
|
+
meta ? /* @__PURE__ */ jsx32("div", { className: "dl-panel__meta", children: meta }) : null
|
|
2204
|
+
] }) : null,
|
|
2205
|
+
children
|
|
2206
|
+
] });
|
|
2365
2207
|
}
|
|
2366
|
-
)
|
|
2367
|
-
|
|
2208
|
+
);
|
|
2209
|
+
Panel.displayName = "Panel";
|
|
2368
2210
|
|
|
2369
|
-
// src/components/progress.tsx
|
|
2370
|
-
import * as
|
|
2211
|
+
// src/components/progress/progress.tsx
|
|
2212
|
+
import * as React30 from "react";
|
|
2371
2213
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
2372
|
-
import { jsx as
|
|
2373
|
-
var Progress =
|
|
2214
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
2215
|
+
var Progress = React30.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2374
2216
|
ProgressPrimitive.Root,
|
|
2375
2217
|
{
|
|
2376
2218
|
ref,
|
|
2377
|
-
className: cn(
|
|
2378
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
2379
|
-
className
|
|
2380
|
-
),
|
|
2219
|
+
className: cn("dl-progress", className),
|
|
2381
2220
|
...props,
|
|
2382
|
-
children: /* @__PURE__ */
|
|
2221
|
+
children: /* @__PURE__ */ jsx33(
|
|
2383
2222
|
ProgressPrimitive.Indicator,
|
|
2384
2223
|
{
|
|
2385
|
-
className: "
|
|
2224
|
+
className: "dl-progress__indicator",
|
|
2386
2225
|
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
2387
2226
|
}
|
|
2388
2227
|
)
|
|
@@ -2390,292 +2229,440 @@ var Progress = React28.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
2390
2229
|
));
|
|
2391
2230
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
2392
2231
|
|
|
2393
|
-
// src/components/radio-group.tsx
|
|
2394
|
-
import * as
|
|
2232
|
+
// src/components/radio-group/radio-group.tsx
|
|
2233
|
+
import * as React31 from "react";
|
|
2395
2234
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2396
2235
|
import { Circle as Circle4 } from "lucide-react";
|
|
2397
|
-
import { jsx as
|
|
2398
|
-
var RadioGroup4 =
|
|
2399
|
-
return /* @__PURE__ */
|
|
2236
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2237
|
+
var RadioGroup4 = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2238
|
+
return /* @__PURE__ */ jsx34(
|
|
2400
2239
|
RadioGroupPrimitive.Root,
|
|
2401
2240
|
{
|
|
2402
|
-
className: cn("
|
|
2241
|
+
className: cn("dl-radio-group", className),
|
|
2403
2242
|
...props,
|
|
2404
2243
|
ref
|
|
2405
2244
|
}
|
|
2406
2245
|
);
|
|
2407
2246
|
});
|
|
2408
2247
|
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
|
2409
|
-
var RadioGroupItem =
|
|
2410
|
-
return /* @__PURE__ */
|
|
2248
|
+
var RadioGroupItem = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2249
|
+
return /* @__PURE__ */ jsx34(
|
|
2411
2250
|
RadioGroupPrimitive.Item,
|
|
2412
2251
|
{
|
|
2413
2252
|
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
|
-
),
|
|
2253
|
+
className: cn("dl-radio-item", className),
|
|
2418
2254
|
...props,
|
|
2419
|
-
children: /* @__PURE__ */
|
|
2255
|
+
children: /* @__PURE__ */ jsx34(RadioGroupPrimitive.Indicator, { className: "dl-radio-item__indicator", children: /* @__PURE__ */ jsx34(Circle4, { "aria-hidden": "true" }) })
|
|
2420
2256
|
}
|
|
2421
2257
|
);
|
|
2422
2258
|
});
|
|
2423
2259
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
2424
2260
|
|
|
2425
|
-
// src/components/resizable.tsx
|
|
2261
|
+
// src/components/resizable/resizable.tsx
|
|
2426
2262
|
import { GripVertical } from "lucide-react";
|
|
2427
|
-
import { Group as Group4, Panel, Separator as Separator4 } from "react-resizable-panels";
|
|
2428
|
-
import { jsx as
|
|
2263
|
+
import { Group as Group4, Panel as Panel2, Separator as Separator4 } from "react-resizable-panels";
|
|
2264
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
2429
2265
|
var ResizablePanelGroup = ({
|
|
2430
2266
|
className,
|
|
2431
2267
|
...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;
|
|
2268
|
+
}) => /* @__PURE__ */ jsx35(Group4, { className: cn("dl-resizable-group", className), ...props });
|
|
2269
|
+
var ResizablePanel = Panel2;
|
|
2443
2270
|
var ResizableHandle = ({
|
|
2444
2271
|
withHandle,
|
|
2445
2272
|
className,
|
|
2446
2273
|
...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
|
-
);
|
|
2274
|
+
}) => /* @__PURE__ */ jsx35(Separator4, { className: cn("dl-resizable-handle", className), ...props, children: withHandle && /* @__PURE__ */ jsx35("div", { className: "dl-resizable-grip", children: /* @__PURE__ */ jsx35(GripVertical, {}) }) });
|
|
2458
2275
|
|
|
2459
|
-
// src/components/scroll-area.tsx
|
|
2460
|
-
import * as
|
|
2276
|
+
// src/components/scroll-area/scroll-area.tsx
|
|
2277
|
+
import * as React32 from "react";
|
|
2461
2278
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
2462
|
-
import { jsx as
|
|
2463
|
-
var ScrollArea =
|
|
2279
|
+
import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2280
|
+
var ScrollArea = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(
|
|
2464
2281
|
ScrollAreaPrimitive.Root,
|
|
2465
2282
|
{
|
|
2466
2283
|
ref,
|
|
2467
|
-
className: cn("
|
|
2284
|
+
className: cn("dl-scroll-area", className),
|
|
2468
2285
|
...props,
|
|
2469
2286
|
children: [
|
|
2470
|
-
/* @__PURE__ */
|
|
2471
|
-
/* @__PURE__ */
|
|
2472
|
-
/* @__PURE__ */
|
|
2287
|
+
/* @__PURE__ */ jsx36(ScrollAreaPrimitive.Viewport, { className: "dl-scroll-area__viewport", children }),
|
|
2288
|
+
/* @__PURE__ */ jsx36(ScrollBar, {}),
|
|
2289
|
+
/* @__PURE__ */ jsx36(ScrollAreaPrimitive.Corner, {})
|
|
2473
2290
|
]
|
|
2474
2291
|
}
|
|
2475
2292
|
));
|
|
2476
2293
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2477
|
-
var ScrollBar =
|
|
2294
|
+
var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
2478
2295
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2479
2296
|
{
|
|
2480
2297
|
ref,
|
|
2481
2298
|
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
|
-
),
|
|
2299
|
+
className: cn("dl-scroll-area__bar", className),
|
|
2488
2300
|
...props,
|
|
2489
|
-
children: /* @__PURE__ */
|
|
2301
|
+
children: /* @__PURE__ */ jsx36(ScrollAreaPrimitive.ScrollAreaThumb, { className: "dl-scroll-area__thumb" })
|
|
2490
2302
|
}
|
|
2491
2303
|
));
|
|
2492
2304
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2493
2305
|
|
|
2494
|
-
// src/components/select.tsx
|
|
2495
|
-
import * as
|
|
2496
|
-
import
|
|
2497
|
-
import {
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2306
|
+
// src/components/searchable-select/searchable-select.tsx
|
|
2307
|
+
import * as React33 from "react";
|
|
2308
|
+
import { Search as Search2, Plus, Check as Check5, ChevronDown as ChevronDown3 } from "lucide-react";
|
|
2309
|
+
import { jsx as jsx37, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2310
|
+
function SearchableSelect({
|
|
2311
|
+
options,
|
|
2312
|
+
value,
|
|
2313
|
+
onChange,
|
|
2314
|
+
placeholder = "Select an option...",
|
|
2315
|
+
searchPlaceholder = "Search...",
|
|
2316
|
+
onAddNew,
|
|
2317
|
+
addNewLabel = "Add new",
|
|
2318
|
+
disabled = false,
|
|
2319
|
+
className,
|
|
2320
|
+
id
|
|
2321
|
+
}) {
|
|
2322
|
+
const [open, setOpen] = React33.useState(false);
|
|
2323
|
+
const [search, setSearch] = React33.useState("");
|
|
2324
|
+
const [highlightedIndex, setHighlightedIndex] = React33.useState(0);
|
|
2325
|
+
const listRef = React33.useRef(null);
|
|
2326
|
+
const selectedOption = React33.useMemo(() => {
|
|
2327
|
+
return options.find((opt) => opt.value === value);
|
|
2328
|
+
}, [options, value]);
|
|
2329
|
+
const filteredOptions = React33.useMemo(() => {
|
|
2330
|
+
if (!search.trim()) return options;
|
|
2331
|
+
const q = search.toLowerCase();
|
|
2332
|
+
return options.filter(
|
|
2333
|
+
(opt) => opt.label.toLowerCase().includes(q) || opt.group && opt.group.toLowerCase().includes(q)
|
|
2334
|
+
);
|
|
2335
|
+
}, [options, search]);
|
|
2336
|
+
const handleOpenChange = (newOpen) => {
|
|
2337
|
+
setOpen(newOpen);
|
|
2338
|
+
if (newOpen) {
|
|
2339
|
+
const idx = filteredOptions.findIndex((opt) => opt.value === value);
|
|
2340
|
+
setHighlightedIndex(idx >= 0 ? idx : 0);
|
|
2341
|
+
} else {
|
|
2342
|
+
setSearch("");
|
|
2343
|
+
}
|
|
2344
|
+
};
|
|
2345
|
+
const handleSearchChange = (q) => {
|
|
2346
|
+
setSearch(q);
|
|
2347
|
+
setHighlightedIndex(0);
|
|
2348
|
+
};
|
|
2349
|
+
React33.useEffect(() => {
|
|
2350
|
+
if (open && listRef.current) {
|
|
2351
|
+
const activeEl = listRef.current.querySelector(
|
|
2352
|
+
"[data-highlighted='true']"
|
|
2353
|
+
);
|
|
2354
|
+
if (activeEl) {
|
|
2355
|
+
activeEl.scrollIntoView({ block: "nearest" });
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
}, [highlightedIndex, open]);
|
|
2359
|
+
const groupedOptions = React33.useMemo(() => {
|
|
2360
|
+
const hasGroups = filteredOptions.some((opt) => opt.group);
|
|
2361
|
+
if (!hasGroups) return { Default: filteredOptions };
|
|
2362
|
+
return filteredOptions.reduce(
|
|
2363
|
+
(acc, opt) => {
|
|
2364
|
+
const g = opt.group || "Other";
|
|
2365
|
+
if (!acc[g]) acc[g] = [];
|
|
2366
|
+
acc[g].push(opt);
|
|
2367
|
+
return acc;
|
|
2368
|
+
},
|
|
2369
|
+
{}
|
|
2370
|
+
);
|
|
2371
|
+
}, [filteredOptions]);
|
|
2372
|
+
const handleSelect = (val) => {
|
|
2373
|
+
onChange?.(val);
|
|
2374
|
+
setOpen(false);
|
|
2375
|
+
setSearch("");
|
|
2376
|
+
};
|
|
2377
|
+
const handleAddNew = () => {
|
|
2378
|
+
onAddNew?.(search.trim());
|
|
2379
|
+
setOpen(false);
|
|
2380
|
+
setSearch("");
|
|
2381
|
+
};
|
|
2382
|
+
const handleKeyDown = (e) => {
|
|
2383
|
+
if (!open) {
|
|
2384
|
+
if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
|
|
2385
|
+
e.preventDefault();
|
|
2386
|
+
handleOpenChange(true);
|
|
2387
|
+
}
|
|
2388
|
+
return;
|
|
2389
|
+
}
|
|
2390
|
+
switch (e.key) {
|
|
2391
|
+
case "ArrowDown":
|
|
2392
|
+
e.preventDefault();
|
|
2393
|
+
setHighlightedIndex(
|
|
2394
|
+
(p) => p < filteredOptions.length - 1 ? p + 1 : p
|
|
2395
|
+
);
|
|
2396
|
+
break;
|
|
2397
|
+
case "ArrowUp":
|
|
2398
|
+
e.preventDefault();
|
|
2399
|
+
setHighlightedIndex((p) => p > 0 ? p - 1 : 0);
|
|
2400
|
+
break;
|
|
2401
|
+
case "Enter":
|
|
2402
|
+
e.preventDefault();
|
|
2403
|
+
if (filteredOptions.length > 0 && filteredOptions[highlightedIndex]) {
|
|
2404
|
+
handleSelect(filteredOptions[highlightedIndex].value);
|
|
2405
|
+
} else if (onAddNew && search.trim()) {
|
|
2406
|
+
handleAddNew();
|
|
2407
|
+
}
|
|
2408
|
+
break;
|
|
2409
|
+
case "Escape":
|
|
2410
|
+
case "Tab":
|
|
2411
|
+
e.preventDefault();
|
|
2412
|
+
handleOpenChange(false);
|
|
2413
|
+
break;
|
|
2414
|
+
}
|
|
2415
|
+
};
|
|
2416
|
+
let currentIndex = 0;
|
|
2417
|
+
return /* @__PURE__ */ jsxs21(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
2418
|
+
/* @__PURE__ */ jsx37(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs21(
|
|
2419
|
+
Button,
|
|
2420
|
+
{
|
|
2421
|
+
id,
|
|
2422
|
+
variant: "outline",
|
|
2423
|
+
role: "combobox",
|
|
2424
|
+
"aria-expanded": open,
|
|
2425
|
+
disabled,
|
|
2426
|
+
onKeyDown: handleKeyDown,
|
|
2427
|
+
className: cn(
|
|
2428
|
+
"dl-searchable-select-trigger",
|
|
2429
|
+
!selectedOption && "dl-searchable-select-trigger--placeholder",
|
|
2430
|
+
className
|
|
2431
|
+
),
|
|
2432
|
+
children: [
|
|
2433
|
+
/* @__PURE__ */ jsx37("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }),
|
|
2434
|
+
/* @__PURE__ */ jsx37(ChevronDown3, { className: "dl-select-icon" })
|
|
2435
|
+
]
|
|
2436
|
+
}
|
|
2437
|
+
) }),
|
|
2438
|
+
/* @__PURE__ */ jsxs21(
|
|
2439
|
+
PopoverContent,
|
|
2440
|
+
{
|
|
2441
|
+
align: "start",
|
|
2442
|
+
className: "dl-searchable-select-content",
|
|
2443
|
+
onKeyDown: handleKeyDown,
|
|
2444
|
+
children: [
|
|
2445
|
+
/* @__PURE__ */ jsxs21("div", { className: "dl-searchable-select-search", children: [
|
|
2446
|
+
/* @__PURE__ */ jsx37(Search2, { className: "dl-searchable-select-search-icon" }),
|
|
2447
|
+
/* @__PURE__ */ jsx37(
|
|
2448
|
+
Input,
|
|
2449
|
+
{
|
|
2450
|
+
placeholder: searchPlaceholder,
|
|
2451
|
+
value: search,
|
|
2452
|
+
onChange: (e) => handleSearchChange(e.target.value),
|
|
2453
|
+
className: "dl-searchable-select-search-input",
|
|
2454
|
+
autoFocus: true
|
|
2455
|
+
}
|
|
2456
|
+
)
|
|
2457
|
+
] }),
|
|
2458
|
+
/* @__PURE__ */ jsx37(
|
|
2459
|
+
"div",
|
|
2460
|
+
{
|
|
2461
|
+
ref: listRef,
|
|
2462
|
+
onWheel: (e) => e.stopPropagation(),
|
|
2463
|
+
className: "dl-searchable-select-list",
|
|
2464
|
+
children: Object.keys(groupedOptions).length === 0 || filteredOptions.length === 0 && !onAddNew ? /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-empty", children: "No matching options found." }) : Object.entries(groupedOptions).map(([groupName, groupOpts]) => /* @__PURE__ */ jsxs21("div", { className: "py-1", children: [
|
|
2465
|
+
groupName !== "Default" && /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-group-header", children: groupName }),
|
|
2466
|
+
groupOpts.map((option) => {
|
|
2467
|
+
const isSelected = option.value === value;
|
|
2468
|
+
const itemIndex = currentIndex++;
|
|
2469
|
+
const isHighlighted = itemIndex === highlightedIndex;
|
|
2470
|
+
return /* @__PURE__ */ jsxs21(
|
|
2471
|
+
"div",
|
|
2472
|
+
{
|
|
2473
|
+
"data-highlighted": isHighlighted,
|
|
2474
|
+
onClick: () => handleSelect(option.value),
|
|
2475
|
+
onMouseEnter: () => setHighlightedIndex(itemIndex),
|
|
2476
|
+
className: cn(
|
|
2477
|
+
"dl-searchable-select-item",
|
|
2478
|
+
isHighlighted && "dl-searchable-select-item--highlighted",
|
|
2479
|
+
isSelected && !isHighlighted && "dl-searchable-select-item--selected"
|
|
2480
|
+
),
|
|
2481
|
+
children: [
|
|
2482
|
+
/* @__PURE__ */ jsx37("span", { className: "flex-1 truncate", children: option.label }),
|
|
2483
|
+
isSelected && /* @__PURE__ */ jsx37(Check5, { className: "dl-select-check" })
|
|
2484
|
+
]
|
|
2485
|
+
},
|
|
2486
|
+
option.value
|
|
2487
|
+
);
|
|
2488
|
+
})
|
|
2489
|
+
] }, groupName))
|
|
2490
|
+
}
|
|
2491
|
+
),
|
|
2492
|
+
onAddNew && /* @__PURE__ */ jsx37("div", { className: "dl-searchable-select-add", children: /* @__PURE__ */ jsxs21(
|
|
2493
|
+
"button",
|
|
2494
|
+
{
|
|
2495
|
+
type: "button",
|
|
2496
|
+
onClick: handleAddNew,
|
|
2497
|
+
className: "dl-searchable-select-add-btn",
|
|
2498
|
+
children: [
|
|
2499
|
+
/* @__PURE__ */ jsx37(Plus, { className: "size-3.5 shrink-0" }),
|
|
2500
|
+
/* @__PURE__ */ jsx37("span", { className: "truncate", children: search.trim() ? `${addNewLabel} "${search.trim()}"` : addNewLabel })
|
|
2501
|
+
]
|
|
2502
|
+
}
|
|
2503
|
+
) })
|
|
2504
|
+
]
|
|
2505
|
+
}
|
|
2506
|
+
)
|
|
2507
|
+
] });
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
// src/components/select/select.tsx
|
|
2511
|
+
import * as React34 from "react";
|
|
2512
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2513
|
+
import { Check as Check6, ChevronDown as ChevronDown4, ChevronUp } from "lucide-react";
|
|
2514
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2515
|
+
var Select = SelectPrimitive.Root;
|
|
2516
|
+
var SelectGroup = SelectPrimitive.Group;
|
|
2517
|
+
var SelectValue = SelectPrimitive.Value;
|
|
2518
|
+
var SelectTrigger = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(
|
|
2519
|
+
SelectPrimitive.Trigger,
|
|
2520
|
+
{
|
|
2521
|
+
ref,
|
|
2522
|
+
className: cn("dl-select-trigger", className),
|
|
2510
2523
|
...props,
|
|
2511
2524
|
children: [
|
|
2512
2525
|
children,
|
|
2513
|
-
/* @__PURE__ */
|
|
2526
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx38(
|
|
2527
|
+
ChevronDown4,
|
|
2528
|
+
{
|
|
2529
|
+
style: { opacity: 0.5, width: "0.75rem", height: "0.75rem" }
|
|
2530
|
+
}
|
|
2531
|
+
) })
|
|
2514
2532
|
]
|
|
2515
2533
|
}
|
|
2516
2534
|
));
|
|
2517
2535
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2518
|
-
var SelectScrollUpButton =
|
|
2536
|
+
var SelectScrollUpButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2519
2537
|
SelectPrimitive.ScrollUpButton,
|
|
2520
2538
|
{
|
|
2521
2539
|
ref,
|
|
2522
|
-
className: cn(
|
|
2523
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2524
|
-
className
|
|
2525
|
-
),
|
|
2540
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2526
2541
|
...props,
|
|
2527
|
-
children: /* @__PURE__ */
|
|
2542
|
+
children: /* @__PURE__ */ jsx38(ChevronUp, { style: { width: "1rem", height: "1rem" } })
|
|
2528
2543
|
}
|
|
2529
2544
|
));
|
|
2530
2545
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2531
|
-
var SelectScrollDownButton =
|
|
2546
|
+
var SelectScrollDownButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2532
2547
|
SelectPrimitive.ScrollDownButton,
|
|
2533
2548
|
{
|
|
2534
2549
|
ref,
|
|
2535
|
-
className: cn(
|
|
2536
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2537
|
-
className
|
|
2538
|
-
),
|
|
2550
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2539
2551
|
...props,
|
|
2540
|
-
children: /* @__PURE__ */
|
|
2552
|
+
children: /* @__PURE__ */ jsx38(ChevronDown4, { style: { width: "1rem", height: "1rem" } })
|
|
2541
2553
|
}
|
|
2542
2554
|
));
|
|
2543
2555
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2544
|
-
var SelectContent =
|
|
2556
|
+
var SelectContent = React34.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx38(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
|
|
2545
2557
|
SelectPrimitive.Content,
|
|
2546
2558
|
{
|
|
2547
2559
|
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
|
-
),
|
|
2560
|
+
className: cn("dl-select-content", className),
|
|
2553
2561
|
position,
|
|
2554
2562
|
...props,
|
|
2555
2563
|
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, {})
|
|
2564
|
+
/* @__PURE__ */ jsx38(SelectScrollUpButton, {}),
|
|
2565
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.Viewport, { className: "dl-select-viewport", children }),
|
|
2566
|
+
/* @__PURE__ */ jsx38(SelectScrollDownButton, {})
|
|
2568
2567
|
]
|
|
2569
2568
|
}
|
|
2570
2569
|
) }));
|
|
2571
2570
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2572
|
-
var SelectLabel =
|
|
2571
|
+
var SelectLabel = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2573
2572
|
SelectPrimitive.Label,
|
|
2574
2573
|
{
|
|
2575
2574
|
ref,
|
|
2576
|
-
className: cn("
|
|
2575
|
+
className: cn("dl-select-label", className),
|
|
2577
2576
|
...props
|
|
2578
2577
|
}
|
|
2579
2578
|
));
|
|
2580
2579
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2581
|
-
var SelectItem =
|
|
2580
|
+
var SelectItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(
|
|
2582
2581
|
SelectPrimitive.Item,
|
|
2583
2582
|
{
|
|
2584
2583
|
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
|
-
),
|
|
2584
|
+
className: cn("dl-select-item", className),
|
|
2589
2585
|
...props,
|
|
2590
2586
|
children: [
|
|
2591
|
-
/* @__PURE__ */
|
|
2592
|
-
/* @__PURE__ */
|
|
2587
|
+
/* @__PURE__ */ jsx38("span", { className: "dl-select-item__indicator", children: /* @__PURE__ */ jsx38(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx38(Check6, { style: { width: "0.75rem", height: "0.75rem" } }) }) }),
|
|
2588
|
+
/* @__PURE__ */ jsx38(SelectPrimitive.ItemText, { children })
|
|
2593
2589
|
]
|
|
2594
2590
|
}
|
|
2595
2591
|
));
|
|
2596
2592
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2597
|
-
var SelectSeparator =
|
|
2593
|
+
var SelectSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
2598
2594
|
SelectPrimitive.Separator,
|
|
2599
2595
|
{
|
|
2600
2596
|
ref,
|
|
2601
|
-
className: cn("-
|
|
2597
|
+
className: cn("dl-select-separator", className),
|
|
2602
2598
|
...props
|
|
2603
2599
|
}
|
|
2604
2600
|
));
|
|
2605
2601
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2606
2602
|
|
|
2607
|
-
// src/components/separator.tsx
|
|
2608
|
-
import * as
|
|
2603
|
+
// src/components/separator/separator.tsx
|
|
2604
|
+
import * as React35 from "react";
|
|
2609
2605
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
2610
|
-
import { jsx as
|
|
2611
|
-
var Separator6 =
|
|
2612
|
-
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */
|
|
2606
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
2607
|
+
var Separator6 = React35.forwardRef(
|
|
2608
|
+
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
2613
2609
|
SeparatorPrimitive.Root,
|
|
2614
2610
|
{
|
|
2615
2611
|
ref,
|
|
2616
2612
|
decorative,
|
|
2617
2613
|
orientation,
|
|
2618
|
-
className: cn(
|
|
2619
|
-
"shrink-0 bg-border",
|
|
2620
|
-
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
2621
|
-
className
|
|
2622
|
-
),
|
|
2614
|
+
className: cn("dl-separator", className),
|
|
2623
2615
|
...props
|
|
2624
2616
|
}
|
|
2625
2617
|
)
|
|
2626
2618
|
);
|
|
2627
2619
|
Separator6.displayName = SeparatorPrimitive.Root.displayName;
|
|
2628
2620
|
|
|
2629
|
-
// src/components/sheet.tsx
|
|
2630
|
-
import * as
|
|
2621
|
+
// src/components/sheet/sheet.tsx
|
|
2622
|
+
import * as React36 from "react";
|
|
2631
2623
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
2632
2624
|
import { cva as cva6 } from "class-variance-authority";
|
|
2633
2625
|
import { X as X2 } from "lucide-react";
|
|
2634
|
-
import { jsx as
|
|
2626
|
+
import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2635
2627
|
var Sheet = SheetPrimitive.Root;
|
|
2636
2628
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
2637
2629
|
var SheetClose = SheetPrimitive.Close;
|
|
2638
2630
|
var SheetPortal = SheetPrimitive.Portal;
|
|
2639
|
-
var SheetOverlay =
|
|
2631
|
+
var SheetOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2640
2632
|
SheetPrimitive.Overlay,
|
|
2641
2633
|
{
|
|
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
|
-
),
|
|
2634
|
+
className: cn("dl-dialog-overlay", className),
|
|
2646
2635
|
...props,
|
|
2647
2636
|
ref
|
|
2648
2637
|
}
|
|
2649
2638
|
));
|
|
2650
2639
|
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
|
-
}
|
|
2640
|
+
var sheetVariants = cva6("dl-sheet-content", {
|
|
2641
|
+
variants: {
|
|
2642
|
+
side: {
|
|
2643
|
+
top: "dl-sheet-content--top",
|
|
2644
|
+
bottom: "dl-sheet-content--bottom",
|
|
2645
|
+
left: "dl-sheet-content--left",
|
|
2646
|
+
right: "dl-sheet-content--right"
|
|
2647
|
+
}
|
|
2648
|
+
},
|
|
2649
|
+
defaultVariants: {
|
|
2650
|
+
side: "right"
|
|
2665
2651
|
}
|
|
2666
|
-
);
|
|
2667
|
-
var SheetContent =
|
|
2668
|
-
/* @__PURE__ */
|
|
2669
|
-
/* @__PURE__ */
|
|
2652
|
+
});
|
|
2653
|
+
var SheetContent = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs23(SheetPortal, { children: [
|
|
2654
|
+
/* @__PURE__ */ jsx40(SheetOverlay, {}),
|
|
2655
|
+
/* @__PURE__ */ jsxs23(
|
|
2670
2656
|
SheetPrimitive.Content,
|
|
2671
2657
|
{
|
|
2672
2658
|
ref,
|
|
2673
2659
|
className: cn(sheetVariants({ side }), className),
|
|
2660
|
+
"data-side": side,
|
|
2674
2661
|
...props,
|
|
2675
2662
|
children: [
|
|
2676
|
-
/* @__PURE__ */
|
|
2677
|
-
/* @__PURE__ */
|
|
2678
|
-
/* @__PURE__ */
|
|
2663
|
+
/* @__PURE__ */ jsxs23(SheetPrimitive.Close, { className: "dl-sheet-close", children: [
|
|
2664
|
+
/* @__PURE__ */ jsx40(X2, { style: { width: "1rem", height: "1rem" } }),
|
|
2665
|
+
/* @__PURE__ */ jsx40("span", { className: "sr-only", children: "Close" })
|
|
2679
2666
|
] }),
|
|
2680
2667
|
children
|
|
2681
2668
|
]
|
|
@@ -2686,109 +2673,73 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
2686
2673
|
var SheetHeader = ({
|
|
2687
2674
|
className,
|
|
2688
2675
|
...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
|
-
);
|
|
2676
|
+
}) => /* @__PURE__ */ jsx40("div", { className: cn("dl-sheet__header", className), ...props });
|
|
2699
2677
|
SheetHeader.displayName = "SheetHeader";
|
|
2700
2678
|
var SheetFooter = ({
|
|
2701
2679
|
className,
|
|
2702
2680
|
...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
|
-
);
|
|
2681
|
+
}) => /* @__PURE__ */ jsx40("div", { className: cn("dl-sheet__footer", className), ...props });
|
|
2713
2682
|
SheetFooter.displayName = "SheetFooter";
|
|
2714
|
-
var SheetTitle =
|
|
2683
|
+
var SheetTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2715
2684
|
SheetPrimitive.Title,
|
|
2716
2685
|
{
|
|
2717
2686
|
ref,
|
|
2718
|
-
className: cn("
|
|
2687
|
+
className: cn("dl-sheet__title", className),
|
|
2719
2688
|
...props
|
|
2720
2689
|
}
|
|
2721
2690
|
));
|
|
2722
2691
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
2723
|
-
var SheetDescription =
|
|
2692
|
+
var SheetDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
2724
2693
|
SheetPrimitive.Description,
|
|
2725
2694
|
{
|
|
2726
2695
|
ref,
|
|
2727
|
-
className: cn("
|
|
2696
|
+
className: cn("dl-sheet__desc", className),
|
|
2728
2697
|
...props
|
|
2729
2698
|
}
|
|
2730
2699
|
));
|
|
2731
2700
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
2732
2701
|
|
|
2733
|
-
// src/components/sidebar.tsx
|
|
2734
|
-
import * as
|
|
2702
|
+
// src/components/sidebar/sidebar.tsx
|
|
2703
|
+
import * as React38 from "react";
|
|
2735
2704
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
2736
2705
|
import { cva as cva7 } from "class-variance-authority";
|
|
2737
2706
|
import { PanelLeft } from "lucide-react";
|
|
2738
2707
|
|
|
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";
|
|
2708
|
+
// src/components/tooltip/tooltip.tsx
|
|
2709
|
+
import * as React37 from "react";
|
|
2756
2710
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
2757
|
-
import { jsx as
|
|
2711
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
2758
2712
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
2759
2713
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
2760
2714
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
2761
|
-
var TooltipContent =
|
|
2715
|
+
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx41(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
2762
2716
|
TooltipPrimitive.Content,
|
|
2763
2717
|
{
|
|
2764
2718
|
ref,
|
|
2765
2719
|
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
|
-
),
|
|
2720
|
+
className: cn("dl-tooltip", className),
|
|
2770
2721
|
...props
|
|
2771
2722
|
}
|
|
2772
2723
|
) }));
|
|
2773
2724
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
2774
2725
|
|
|
2775
|
-
// src/components/sidebar.tsx
|
|
2776
|
-
import { jsx as
|
|
2726
|
+
// src/components/sidebar/sidebar.tsx
|
|
2727
|
+
import { jsx as jsx42, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2777
2728
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
2778
2729
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
2779
2730
|
var SIDEBAR_WIDTH = "16rem";
|
|
2780
2731
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
2781
2732
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
2782
2733
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
2783
|
-
var SidebarContext =
|
|
2734
|
+
var SidebarContext = React38.createContext(null);
|
|
2784
2735
|
function useSidebar() {
|
|
2785
|
-
const context =
|
|
2736
|
+
const context = React38.useContext(SidebarContext);
|
|
2786
2737
|
if (!context) {
|
|
2787
2738
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
2788
2739
|
}
|
|
2789
2740
|
return context;
|
|
2790
2741
|
}
|
|
2791
|
-
var SidebarProvider =
|
|
2742
|
+
var SidebarProvider = React38.forwardRef(
|
|
2792
2743
|
({
|
|
2793
2744
|
defaultOpen = true,
|
|
2794
2745
|
open: openProp,
|
|
@@ -2799,10 +2750,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2799
2750
|
...props
|
|
2800
2751
|
}, ref) => {
|
|
2801
2752
|
const isMobile = useIsMobile();
|
|
2802
|
-
const [openMobile, setOpenMobile] =
|
|
2803
|
-
const [_open, _setOpen] =
|
|
2753
|
+
const [openMobile, setOpenMobile] = React38.useState(false);
|
|
2754
|
+
const [_open, _setOpen] = React38.useState(defaultOpen);
|
|
2804
2755
|
const open = openProp ?? _open;
|
|
2805
|
-
const setOpen =
|
|
2756
|
+
const setOpen = React38.useCallback(
|
|
2806
2757
|
(value) => {
|
|
2807
2758
|
const openState = typeof value === "function" ? value(open) : value;
|
|
2808
2759
|
if (setOpenProp) {
|
|
@@ -2814,10 +2765,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2814
2765
|
},
|
|
2815
2766
|
[setOpenProp, open]
|
|
2816
2767
|
);
|
|
2817
|
-
const toggleSidebar =
|
|
2768
|
+
const toggleSidebar = React38.useCallback(() => {
|
|
2818
2769
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
2819
2770
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
2820
|
-
|
|
2771
|
+
React38.useEffect(() => {
|
|
2821
2772
|
const handleKeyDown = (event) => {
|
|
2822
2773
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
2823
2774
|
event.preventDefault();
|
|
@@ -2828,7 +2779,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2828
2779
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
2829
2780
|
}, [toggleSidebar]);
|
|
2830
2781
|
const state = open ? "expanded" : "collapsed";
|
|
2831
|
-
const contextValue =
|
|
2782
|
+
const contextValue = React38.useMemo(
|
|
2832
2783
|
() => ({
|
|
2833
2784
|
state,
|
|
2834
2785
|
open,
|
|
@@ -2848,7 +2799,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2848
2799
|
toggleSidebar
|
|
2849
2800
|
]
|
|
2850
2801
|
);
|
|
2851
|
-
return /* @__PURE__ */
|
|
2802
|
+
return /* @__PURE__ */ jsx42(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx42(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx42(
|
|
2852
2803
|
"div",
|
|
2853
2804
|
{
|
|
2854
2805
|
style: {
|
|
@@ -2868,7 +2819,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
2868
2819
|
}
|
|
2869
2820
|
);
|
|
2870
2821
|
SidebarProvider.displayName = "SidebarProvider";
|
|
2871
|
-
var Sidebar =
|
|
2822
|
+
var Sidebar = React38.forwardRef(
|
|
2872
2823
|
({
|
|
2873
2824
|
side = "left",
|
|
2874
2825
|
variant = "sidebar",
|
|
@@ -2879,7 +2830,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2879
2830
|
}, ref) => {
|
|
2880
2831
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
2881
2832
|
if (collapsible === "none") {
|
|
2882
|
-
return /* @__PURE__ */
|
|
2833
|
+
return /* @__PURE__ */ jsx42(
|
|
2883
2834
|
"div",
|
|
2884
2835
|
{
|
|
2885
2836
|
className: cn(
|
|
@@ -2893,7 +2844,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2893
2844
|
);
|
|
2894
2845
|
}
|
|
2895
2846
|
if (isMobile) {
|
|
2896
|
-
return /* @__PURE__ */
|
|
2847
|
+
return /* @__PURE__ */ jsx42(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs24(
|
|
2897
2848
|
SheetContent,
|
|
2898
2849
|
{
|
|
2899
2850
|
"data-sidebar": "sidebar",
|
|
@@ -2904,16 +2855,16 @@ var Sidebar = React35.forwardRef(
|
|
|
2904
2855
|
},
|
|
2905
2856
|
side,
|
|
2906
2857
|
children: [
|
|
2907
|
-
/* @__PURE__ */
|
|
2908
|
-
/* @__PURE__ */
|
|
2909
|
-
/* @__PURE__ */
|
|
2858
|
+
/* @__PURE__ */ jsxs24(SheetHeader, { className: "sr-only", children: [
|
|
2859
|
+
/* @__PURE__ */ jsx42(SheetTitle, { children: "Sidebar" }),
|
|
2860
|
+
/* @__PURE__ */ jsx42(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
2910
2861
|
] }),
|
|
2911
|
-
/* @__PURE__ */
|
|
2862
|
+
/* @__PURE__ */ jsx42("div", { className: "flex flex-col size-full", children })
|
|
2912
2863
|
]
|
|
2913
2864
|
}
|
|
2914
2865
|
) });
|
|
2915
2866
|
}
|
|
2916
|
-
return /* @__PURE__ */
|
|
2867
|
+
return /* @__PURE__ */ jsxs24(
|
|
2917
2868
|
"div",
|
|
2918
2869
|
{
|
|
2919
2870
|
ref,
|
|
@@ -2923,7 +2874,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2923
2874
|
"data-variant": variant,
|
|
2924
2875
|
"data-side": side,
|
|
2925
2876
|
children: [
|
|
2926
|
-
/* @__PURE__ */
|
|
2877
|
+
/* @__PURE__ */ jsx42(
|
|
2927
2878
|
"div",
|
|
2928
2879
|
{
|
|
2929
2880
|
className: cn(
|
|
@@ -2934,7 +2885,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2934
2885
|
)
|
|
2935
2886
|
}
|
|
2936
2887
|
),
|
|
2937
|
-
/* @__PURE__ */
|
|
2888
|
+
/* @__PURE__ */ jsx42(
|
|
2938
2889
|
"div",
|
|
2939
2890
|
{
|
|
2940
2891
|
className: cn(
|
|
@@ -2945,7 +2896,7 @@ var Sidebar = React35.forwardRef(
|
|
|
2945
2896
|
className
|
|
2946
2897
|
),
|
|
2947
2898
|
...props,
|
|
2948
|
-
children: /* @__PURE__ */
|
|
2899
|
+
children: /* @__PURE__ */ jsx42(
|
|
2949
2900
|
"div",
|
|
2950
2901
|
{
|
|
2951
2902
|
"data-sidebar": "sidebar",
|
|
@@ -2961,9 +2912,9 @@ var Sidebar = React35.forwardRef(
|
|
|
2961
2912
|
}
|
|
2962
2913
|
);
|
|
2963
2914
|
Sidebar.displayName = "Sidebar";
|
|
2964
|
-
var SidebarTrigger =
|
|
2915
|
+
var SidebarTrigger = React38.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
2965
2916
|
const { toggleSidebar } = useSidebar();
|
|
2966
|
-
return /* @__PURE__ */
|
|
2917
|
+
return /* @__PURE__ */ jsxs24(
|
|
2967
2918
|
Button,
|
|
2968
2919
|
{
|
|
2969
2920
|
ref,
|
|
@@ -2977,94 +2928,99 @@ var SidebarTrigger = React35.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
2977
2928
|
},
|
|
2978
2929
|
...props,
|
|
2979
2930
|
children: [
|
|
2980
|
-
/* @__PURE__ */
|
|
2981
|
-
/* @__PURE__ */
|
|
2931
|
+
/* @__PURE__ */ jsx42(PanelLeft, {}),
|
|
2932
|
+
/* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
2982
2933
|
]
|
|
2983
2934
|
}
|
|
2984
2935
|
);
|
|
2985
2936
|
});
|
|
2986
2937
|
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
|
-
|
|
2938
|
+
var SidebarRail = React38.forwardRef(
|
|
2939
|
+
({ className, ...props }, ref) => {
|
|
2940
|
+
const { toggleSidebar } = useSidebar();
|
|
2941
|
+
return /* @__PURE__ */ jsx42(
|
|
2942
|
+
"button",
|
|
2943
|
+
{
|
|
2944
|
+
ref,
|
|
2945
|
+
"data-sidebar": "rail",
|
|
2946
|
+
"aria-label": "Toggle Sidebar",
|
|
2947
|
+
tabIndex: -1,
|
|
2948
|
+
onClick: toggleSidebar,
|
|
2949
|
+
title: "Toggle Sidebar",
|
|
2950
|
+
className: cn(
|
|
2951
|
+
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
|
2952
|
+
"in-data-[side=right]:cursor-e-resize",
|
|
2953
|
+
"[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
2954
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
|
|
2955
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
2956
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
2957
|
+
className
|
|
2958
|
+
),
|
|
2959
|
+
...props
|
|
2960
|
+
}
|
|
2961
|
+
);
|
|
2962
|
+
}
|
|
2963
|
+
);
|
|
3011
2964
|
SidebarRail.displayName = "SidebarRail";
|
|
3012
|
-
var SidebarInset =
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
2965
|
+
var SidebarInset = React38.forwardRef(
|
|
2966
|
+
({ className, ...props }, ref) => {
|
|
2967
|
+
return /* @__PURE__ */ jsx42(
|
|
2968
|
+
"main",
|
|
2969
|
+
{
|
|
2970
|
+
ref,
|
|
2971
|
+
className: cn(
|
|
2972
|
+
"relative flex w-full flex-1 flex-col bg-background",
|
|
2973
|
+
"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",
|
|
2974
|
+
className
|
|
2975
|
+
),
|
|
2976
|
+
...props
|
|
2977
|
+
}
|
|
2978
|
+
);
|
|
2979
|
+
}
|
|
2980
|
+
);
|
|
3026
2981
|
SidebarInset.displayName = "SidebarInset";
|
|
3027
|
-
var SidebarInput =
|
|
3028
|
-
return /* @__PURE__ */
|
|
2982
|
+
var SidebarInput = React38.forwardRef(({ className, ...props }, ref) => {
|
|
2983
|
+
return /* @__PURE__ */ jsx42(
|
|
3029
2984
|
Input,
|
|
3030
2985
|
{
|
|
3031
2986
|
ref,
|
|
3032
2987
|
"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
|
-
),
|
|
2988
|
+
className: cn("dl-sidebar-input", className),
|
|
3037
2989
|
...props
|
|
3038
2990
|
}
|
|
3039
2991
|
);
|
|
3040
2992
|
});
|
|
3041
2993
|
SidebarInput.displayName = "SidebarInput";
|
|
3042
|
-
var SidebarHeader =
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
2994
|
+
var SidebarHeader = React38.forwardRef(
|
|
2995
|
+
({ className, ...props }, ref) => {
|
|
2996
|
+
return /* @__PURE__ */ jsx42(
|
|
2997
|
+
"div",
|
|
2998
|
+
{
|
|
2999
|
+
ref,
|
|
3000
|
+
"data-sidebar": "header",
|
|
3001
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3002
|
+
...props
|
|
3003
|
+
}
|
|
3004
|
+
);
|
|
3005
|
+
}
|
|
3006
|
+
);
|
|
3053
3007
|
SidebarHeader.displayName = "SidebarHeader";
|
|
3054
|
-
var SidebarFooter =
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3008
|
+
var SidebarFooter = React38.forwardRef(
|
|
3009
|
+
({ className, ...props }, ref) => {
|
|
3010
|
+
return /* @__PURE__ */ jsx42(
|
|
3011
|
+
"div",
|
|
3012
|
+
{
|
|
3013
|
+
ref,
|
|
3014
|
+
"data-sidebar": "footer",
|
|
3015
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3016
|
+
...props
|
|
3017
|
+
}
|
|
3018
|
+
);
|
|
3019
|
+
}
|
|
3020
|
+
);
|
|
3065
3021
|
SidebarFooter.displayName = "SidebarFooter";
|
|
3066
|
-
var SidebarSeparator =
|
|
3067
|
-
return /* @__PURE__ */
|
|
3022
|
+
var SidebarSeparator = React38.forwardRef(({ className, ...props }, ref) => {
|
|
3023
|
+
return /* @__PURE__ */ jsx42(
|
|
3068
3024
|
Separator6,
|
|
3069
3025
|
{
|
|
3070
3026
|
ref,
|
|
@@ -3075,42 +3031,46 @@ var SidebarSeparator = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3075
3031
|
);
|
|
3076
3032
|
});
|
|
3077
3033
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
3078
|
-
var SidebarContent =
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3034
|
+
var SidebarContent = React38.forwardRef(
|
|
3035
|
+
({ className, ...props }, ref) => {
|
|
3036
|
+
return /* @__PURE__ */ jsx42(
|
|
3037
|
+
"div",
|
|
3038
|
+
{
|
|
3039
|
+
ref,
|
|
3040
|
+
"data-sidebar": "content",
|
|
3041
|
+
className: cn(
|
|
3042
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto",
|
|
3043
|
+
className
|
|
3044
|
+
),
|
|
3045
|
+
...props
|
|
3046
|
+
}
|
|
3047
|
+
);
|
|
3048
|
+
}
|
|
3049
|
+
);
|
|
3092
3050
|
SidebarContent.displayName = "SidebarContent";
|
|
3093
|
-
var SidebarGroup =
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3051
|
+
var SidebarGroup = React38.forwardRef(
|
|
3052
|
+
({ className, ...props }, ref) => {
|
|
3053
|
+
return /* @__PURE__ */ jsx42(
|
|
3054
|
+
"div",
|
|
3055
|
+
{
|
|
3056
|
+
ref,
|
|
3057
|
+
"data-sidebar": "group",
|
|
3058
|
+
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
3059
|
+
...props
|
|
3060
|
+
}
|
|
3061
|
+
);
|
|
3062
|
+
}
|
|
3063
|
+
);
|
|
3104
3064
|
SidebarGroup.displayName = "SidebarGroup";
|
|
3105
|
-
var SidebarGroupLabel =
|
|
3065
|
+
var SidebarGroupLabel = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3106
3066
|
const Comp = asChild ? Slot4 : "div";
|
|
3107
|
-
return /* @__PURE__ */
|
|
3067
|
+
return /* @__PURE__ */ jsx42(
|
|
3108
3068
|
Comp,
|
|
3109
3069
|
{
|
|
3110
3070
|
ref,
|
|
3111
3071
|
"data-sidebar": "group-label",
|
|
3112
3072
|
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
|
|
3073
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4",
|
|
3114
3074
|
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
3115
3075
|
className
|
|
3116
3076
|
),
|
|
@@ -3119,9 +3079,9 @@ var SidebarGroupLabel = React35.forwardRef(({ className, asChild = false, ...pro
|
|
|
3119
3079
|
);
|
|
3120
3080
|
});
|
|
3121
3081
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
3122
|
-
var SidebarGroupAction =
|
|
3082
|
+
var SidebarGroupAction = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3123
3083
|
const Comp = asChild ? Slot4 : "button";
|
|
3124
|
-
return /* @__PURE__ */
|
|
3084
|
+
return /* @__PURE__ */ jsx42(
|
|
3125
3085
|
Comp,
|
|
3126
3086
|
{
|
|
3127
3087
|
ref,
|
|
@@ -3138,7 +3098,7 @@ var SidebarGroupAction = React35.forwardRef(({ className, asChild = false, ...pr
|
|
|
3138
3098
|
);
|
|
3139
3099
|
});
|
|
3140
3100
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
3141
|
-
var SidebarGroupContent =
|
|
3101
|
+
var SidebarGroupContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3142
3102
|
"div",
|
|
3143
3103
|
{
|
|
3144
3104
|
ref,
|
|
@@ -3148,25 +3108,29 @@ var SidebarGroupContent = React35.forwardRef(({ className, ...props }, ref) => /
|
|
|
3148
3108
|
}
|
|
3149
3109
|
));
|
|
3150
3110
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
3151
|
-
var SidebarMenu =
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3111
|
+
var SidebarMenu = React38.forwardRef(
|
|
3112
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3113
|
+
"ul",
|
|
3114
|
+
{
|
|
3115
|
+
ref,
|
|
3116
|
+
"data-sidebar": "menu",
|
|
3117
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
3118
|
+
...props
|
|
3119
|
+
}
|
|
3120
|
+
)
|
|
3121
|
+
);
|
|
3160
3122
|
SidebarMenu.displayName = "SidebarMenu";
|
|
3161
|
-
var SidebarMenuItem =
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3123
|
+
var SidebarMenuItem = React38.forwardRef(
|
|
3124
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3125
|
+
"li",
|
|
3126
|
+
{
|
|
3127
|
+
ref,
|
|
3128
|
+
"data-sidebar": "menu-item",
|
|
3129
|
+
className: cn("group/menu-item relative", className),
|
|
3130
|
+
...props
|
|
3131
|
+
}
|
|
3132
|
+
)
|
|
3133
|
+
);
|
|
3170
3134
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
3171
3135
|
var sidebarMenuButtonVariants = cva7(
|
|
3172
3136
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring cursor-pointer transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
@@ -3188,7 +3152,7 @@ var sidebarMenuButtonVariants = cva7(
|
|
|
3188
3152
|
}
|
|
3189
3153
|
}
|
|
3190
3154
|
);
|
|
3191
|
-
var SidebarMenuButton =
|
|
3155
|
+
var SidebarMenuButton = React38.forwardRef(
|
|
3192
3156
|
({
|
|
3193
3157
|
asChild = false,
|
|
3194
3158
|
isActive = false,
|
|
@@ -3200,7 +3164,7 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3200
3164
|
}, ref) => {
|
|
3201
3165
|
const Comp = asChild ? Slot4 : "button";
|
|
3202
3166
|
const { isMobile, state } = useSidebar();
|
|
3203
|
-
const button = /* @__PURE__ */
|
|
3167
|
+
const button = /* @__PURE__ */ jsx42(
|
|
3204
3168
|
Comp,
|
|
3205
3169
|
{
|
|
3206
3170
|
ref,
|
|
@@ -3219,9 +3183,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3219
3183
|
children: tooltip
|
|
3220
3184
|
};
|
|
3221
3185
|
}
|
|
3222
|
-
return /* @__PURE__ */
|
|
3223
|
-
/* @__PURE__ */
|
|
3224
|
-
/* @__PURE__ */
|
|
3186
|
+
return /* @__PURE__ */ jsxs24(Tooltip2, { children: [
|
|
3187
|
+
/* @__PURE__ */ jsx42(TooltipTrigger, { asChild: true, children: button }),
|
|
3188
|
+
/* @__PURE__ */ jsx42(
|
|
3225
3189
|
TooltipContent,
|
|
3226
3190
|
{
|
|
3227
3191
|
side: "right",
|
|
@@ -3234,9 +3198,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3234
3198
|
}
|
|
3235
3199
|
);
|
|
3236
3200
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
3237
|
-
var SidebarMenuAction =
|
|
3201
|
+
var SidebarMenuAction = React38.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
3238
3202
|
const Comp = asChild ? Slot4 : "button";
|
|
3239
|
-
return /* @__PURE__ */
|
|
3203
|
+
return /* @__PURE__ */ jsx42(
|
|
3240
3204
|
Comp,
|
|
3241
3205
|
{
|
|
3242
3206
|
ref,
|
|
@@ -3249,7 +3213,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3249
3213
|
"peer-data-[size=default]/menu-button:top-1.5",
|
|
3250
3214
|
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
3251
3215
|
"group-data-[collapsible=icon]:hidden",
|
|
3252
|
-
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100
|
|
3216
|
+
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
|
|
3253
3217
|
className
|
|
3254
3218
|
),
|
|
3255
3219
|
...props
|
|
@@ -3257,7 +3221,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3257
3221
|
);
|
|
3258
3222
|
});
|
|
3259
3223
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
3260
|
-
var SidebarMenuBadge =
|
|
3224
|
+
var SidebarMenuBadge = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3261
3225
|
"div",
|
|
3262
3226
|
{
|
|
3263
3227
|
ref,
|
|
@@ -3275,11 +3239,11 @@ var SidebarMenuBadge = React35.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3275
3239
|
}
|
|
3276
3240
|
));
|
|
3277
3241
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
3278
|
-
var SidebarMenuSkeleton =
|
|
3279
|
-
const width =
|
|
3242
|
+
var SidebarMenuSkeleton = React38.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
3243
|
+
const width = React38.useMemo(() => {
|
|
3280
3244
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
3281
3245
|
}, []);
|
|
3282
|
-
return /* @__PURE__ */
|
|
3246
|
+
return /* @__PURE__ */ jsxs24(
|
|
3283
3247
|
"div",
|
|
3284
3248
|
{
|
|
3285
3249
|
ref,
|
|
@@ -3287,14 +3251,14 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3287
3251
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
3288
3252
|
...props,
|
|
3289
3253
|
children: [
|
|
3290
|
-
showIcon && /* @__PURE__ */
|
|
3254
|
+
showIcon && /* @__PURE__ */ jsx42(
|
|
3291
3255
|
Skeleton,
|
|
3292
3256
|
{
|
|
3293
3257
|
className: "size-4 rounded-md",
|
|
3294
3258
|
"data-sidebar": "menu-skeleton-icon"
|
|
3295
3259
|
}
|
|
3296
3260
|
),
|
|
3297
|
-
/* @__PURE__ */
|
|
3261
|
+
/* @__PURE__ */ jsx42(
|
|
3298
3262
|
Skeleton,
|
|
3299
3263
|
{
|
|
3300
3264
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -3309,25 +3273,27 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3309
3273
|
);
|
|
3310
3274
|
});
|
|
3311
3275
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
3312
|
-
var SidebarMenuSub =
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3276
|
+
var SidebarMenuSub = React38.forwardRef(
|
|
3277
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3278
|
+
"ul",
|
|
3279
|
+
{
|
|
3280
|
+
ref,
|
|
3281
|
+
"data-sidebar": "menu-sub",
|
|
3282
|
+
className: cn(
|
|
3283
|
+
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
|
|
3284
|
+
"group-data-[collapsible=icon]:hidden",
|
|
3285
|
+
className
|
|
3286
|
+
),
|
|
3287
|
+
...props
|
|
3288
|
+
}
|
|
3289
|
+
)
|
|
3290
|
+
);
|
|
3325
3291
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
3326
|
-
var SidebarMenuSubItem =
|
|
3292
|
+
var SidebarMenuSubItem = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx42("li", { ref, ...props }));
|
|
3327
3293
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
3328
|
-
var SidebarMenuSubButton =
|
|
3294
|
+
var SidebarMenuSubButton = React38.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
3329
3295
|
const Comp = asChild ? Slot4 : "a";
|
|
3330
|
-
return /* @__PURE__ */
|
|
3296
|
+
return /* @__PURE__ */ jsx42(
|
|
3331
3297
|
Comp,
|
|
3332
3298
|
{
|
|
3333
3299
|
ref,
|
|
@@ -3335,7 +3301,7 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3335
3301
|
"data-size": size,
|
|
3336
3302
|
"data-active": isActive,
|
|
3337
3303
|
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
|
|
3304
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring cursor-pointer hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
3339
3305
|
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
3340
3306
|
size === "sm" && "text-xs",
|
|
3341
3307
|
size === "md" && "text-sm",
|
|
@@ -3348,41 +3314,38 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3348
3314
|
});
|
|
3349
3315
|
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
3350
3316
|
|
|
3351
|
-
// src/components/slider.tsx
|
|
3352
|
-
import * as
|
|
3317
|
+
// src/components/slider/slider.tsx
|
|
3318
|
+
import * as React39 from "react";
|
|
3353
3319
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3354
|
-
import { jsx as
|
|
3355
|
-
var Slider =
|
|
3320
|
+
import { jsx as jsx43, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3321
|
+
var Slider = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs25(
|
|
3356
3322
|
SliderPrimitive.Root,
|
|
3357
3323
|
{
|
|
3358
3324
|
ref,
|
|
3359
|
-
className: cn(
|
|
3360
|
-
"relative flex w-full touch-none select-none items-center",
|
|
3361
|
-
className
|
|
3362
|
-
),
|
|
3325
|
+
className: cn("dl-slider", className),
|
|
3363
3326
|
...props,
|
|
3364
3327
|
children: [
|
|
3365
|
-
/* @__PURE__ */
|
|
3366
|
-
/* @__PURE__ */
|
|
3328
|
+
/* @__PURE__ */ jsx43(SliderPrimitive.Track, { className: "dl-slider__track", children: /* @__PURE__ */ jsx43(SliderPrimitive.Range, { className: "dl-slider__range" }) }),
|
|
3329
|
+
/* @__PURE__ */ jsx43(SliderPrimitive.Thumb, { className: "dl-slider__thumb" })
|
|
3367
3330
|
]
|
|
3368
3331
|
}
|
|
3369
3332
|
));
|
|
3370
3333
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
3371
3334
|
|
|
3372
|
-
// src/components/sonner.tsx
|
|
3335
|
+
// src/components/sonner/sonner.tsx
|
|
3373
3336
|
import { Toaster as Sonner, toast } from "sonner";
|
|
3374
|
-
import { jsx as
|
|
3337
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3375
3338
|
var Toaster = ({ ...props }) => {
|
|
3376
|
-
return /* @__PURE__ */
|
|
3339
|
+
return /* @__PURE__ */ jsx44(
|
|
3377
3340
|
Sonner,
|
|
3378
3341
|
{
|
|
3379
|
-
className: "toaster
|
|
3342
|
+
className: "dl-toaster",
|
|
3380
3343
|
toastOptions: {
|
|
3381
3344
|
classNames: {
|
|
3382
|
-
toast: "
|
|
3383
|
-
description: "
|
|
3384
|
-
actionButton: "
|
|
3385
|
-
cancelButton: "
|
|
3345
|
+
toast: "dl-toast",
|
|
3346
|
+
description: "dl-toast__desc",
|
|
3347
|
+
actionButton: "dl-toast__action",
|
|
3348
|
+
cancelButton: "dl-toast__cancel"
|
|
3386
3349
|
}
|
|
3387
3350
|
},
|
|
3388
3351
|
...props
|
|
@@ -3390,202 +3353,211 @@ var Toaster = ({ ...props }) => {
|
|
|
3390
3353
|
);
|
|
3391
3354
|
};
|
|
3392
3355
|
|
|
3393
|
-
// src/components/
|
|
3394
|
-
import * as
|
|
3356
|
+
// src/components/status-badge/status-badge.tsx
|
|
3357
|
+
import * as React40 from "react";
|
|
3358
|
+
import { jsx as jsx45, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3359
|
+
var statusCategoryMap = {
|
|
3360
|
+
Completed: "dl-status-badge--success",
|
|
3361
|
+
COMPLETED: "dl-status-badge--success",
|
|
3362
|
+
Operational: "dl-status-badge--success",
|
|
3363
|
+
OPERATIONAL: "dl-status-badge--success",
|
|
3364
|
+
Active: "dl-status-badge--success",
|
|
3365
|
+
ACTIVE: "dl-status-badge--success",
|
|
3366
|
+
ONLINE: "dl-status-badge--success",
|
|
3367
|
+
"In Progress": "dl-status-badge--info",
|
|
3368
|
+
RUNNING: "dl-status-badge--info",
|
|
3369
|
+
"Needs Approval": "dl-status-badge--warning",
|
|
3370
|
+
Degraded: "dl-status-badge--warning",
|
|
3371
|
+
PAUSED: "dl-status-badge--warning",
|
|
3372
|
+
Failed: "dl-status-badge--destructive",
|
|
3373
|
+
FAILED: "dl-status-badge--destructive",
|
|
3374
|
+
Offline: "dl-status-badge--muted",
|
|
3375
|
+
DISABLED: "dl-status-badge--muted",
|
|
3376
|
+
IDLE: "dl-status-badge--muted"
|
|
3377
|
+
};
|
|
3378
|
+
var StatusBadge = React40.forwardRef(
|
|
3379
|
+
({ status, className, ...props }, ref) => {
|
|
3380
|
+
const normalizedStatus = status?.trim() ?? "";
|
|
3381
|
+
const colorClass = statusCategoryMap[normalizedStatus] ?? "dl-status-badge--muted";
|
|
3382
|
+
return /* @__PURE__ */ jsxs26(
|
|
3383
|
+
"span",
|
|
3384
|
+
{
|
|
3385
|
+
ref,
|
|
3386
|
+
className: cn("dl-status-badge", colorClass, className),
|
|
3387
|
+
...props,
|
|
3388
|
+
children: [
|
|
3389
|
+
/* @__PURE__ */ jsx45("span", { className: "dl-status-badge__dot" }),
|
|
3390
|
+
normalizedStatus
|
|
3391
|
+
]
|
|
3392
|
+
}
|
|
3393
|
+
);
|
|
3394
|
+
}
|
|
3395
|
+
);
|
|
3396
|
+
StatusBadge.displayName = "StatusBadge";
|
|
3397
|
+
|
|
3398
|
+
// src/components/status-chip/status-chip.tsx
|
|
3399
|
+
import * as React41 from "react";
|
|
3400
|
+
import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3401
|
+
var statusToneMap = {
|
|
3402
|
+
active: "dl-status-chip--primary",
|
|
3403
|
+
running: "dl-status-chip--primary",
|
|
3404
|
+
completed: "dl-status-chip--muted",
|
|
3405
|
+
done: "dl-status-chip--muted",
|
|
3406
|
+
indexed: "dl-status-chip--primary",
|
|
3407
|
+
enabled: "dl-status-chip--primary",
|
|
3408
|
+
available: "dl-status-chip--primary",
|
|
3409
|
+
published: "dl-status-chip--primary",
|
|
3410
|
+
ok: "dl-status-chip--primary",
|
|
3411
|
+
waiting: "dl-status-chip--warning",
|
|
3412
|
+
paused: "dl-status-chip--warning",
|
|
3413
|
+
processing: "dl-status-chip--warning",
|
|
3414
|
+
degraded: "dl-status-chip--warning",
|
|
3415
|
+
warn: "dl-status-chip--warning",
|
|
3416
|
+
"requires-approval": "dl-status-chip--warning",
|
|
3417
|
+
draft: "dl-status-chip--warning",
|
|
3418
|
+
failed: "dl-status-chip--destructive",
|
|
3419
|
+
error: "dl-status-chip--destructive",
|
|
3420
|
+
offline: "dl-status-chip--destructive"
|
|
3421
|
+
};
|
|
3422
|
+
var StatusChip = React41.forwardRef(
|
|
3423
|
+
({ status, className, ...props }, ref) => {
|
|
3424
|
+
const toneClass = statusToneMap[status] ?? "dl-status-chip--muted";
|
|
3425
|
+
return /* @__PURE__ */ jsxs27(
|
|
3426
|
+
"span",
|
|
3427
|
+
{
|
|
3428
|
+
ref,
|
|
3429
|
+
className: cn("dl-status-chip", toneClass, className),
|
|
3430
|
+
...props,
|
|
3431
|
+
children: [
|
|
3432
|
+
/* @__PURE__ */ jsx46("span", { className: "dl-status-chip__dot" }),
|
|
3433
|
+
status
|
|
3434
|
+
]
|
|
3435
|
+
}
|
|
3436
|
+
);
|
|
3437
|
+
}
|
|
3438
|
+
);
|
|
3439
|
+
StatusChip.displayName = "StatusChip";
|
|
3440
|
+
|
|
3441
|
+
// src/components/switch/switch.tsx
|
|
3442
|
+
import * as React42 from "react";
|
|
3395
3443
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3396
|
-
import { jsx as
|
|
3397
|
-
var Switch =
|
|
3444
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
3445
|
+
var Switch = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
|
|
3398
3446
|
SwitchPrimitives.Root,
|
|
3399
3447
|
{
|
|
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
|
-
),
|
|
3448
|
+
className: cn("dl-switch", className),
|
|
3404
3449
|
...props,
|
|
3405
3450
|
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
|
-
)
|
|
3451
|
+
children: /* @__PURE__ */ jsx47(SwitchPrimitives.Thumb, { className: "dl-switch__thumb" })
|
|
3414
3452
|
}
|
|
3415
3453
|
));
|
|
3416
3454
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3417
3455
|
|
|
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
|
-
) }));
|
|
3456
|
+
// src/components/table/table.tsx
|
|
3457
|
+
import * as React43 from "react";
|
|
3458
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
3459
|
+
var Table = React43.forwardRef(
|
|
3460
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("div", { className: "dl-table-wrapper", children: /* @__PURE__ */ jsx48("table", { ref, className: cn("dl-table", className), ...props }) })
|
|
3461
|
+
);
|
|
3429
3462
|
Table.displayName = "Table";
|
|
3430
|
-
var TableHeader =
|
|
3463
|
+
var TableHeader = React43.forwardRef(
|
|
3464
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("thead", { ref, className: cn("dl-table__head", className), ...props })
|
|
3465
|
+
);
|
|
3431
3466
|
TableHeader.displayName = "TableHeader";
|
|
3432
|
-
var TableBody =
|
|
3433
|
-
"tbody",
|
|
3434
|
-
|
|
3435
|
-
ref,
|
|
3436
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
3437
|
-
...props
|
|
3438
|
-
}
|
|
3439
|
-
));
|
|
3467
|
+
var TableBody = React43.forwardRef(
|
|
3468
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tbody", { ref, className: cn("dl-table__body", className), ...props })
|
|
3469
|
+
);
|
|
3440
3470
|
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
|
-
));
|
|
3471
|
+
var TableFooter = React43.forwardRef(
|
|
3472
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tfoot", { ref, className: cn("dl-table__foot", className), ...props })
|
|
3473
|
+
);
|
|
3452
3474
|
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
|
-
));
|
|
3475
|
+
var TableRow = React43.forwardRef(
|
|
3476
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("tr", { ref, className: cn("dl-table__row", className), ...props })
|
|
3477
|
+
);
|
|
3464
3478
|
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
|
-
));
|
|
3479
|
+
var TableHead = React43.forwardRef(
|
|
3480
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("th", { ref, className: cn("dl-table__head-cell", className), ...props })
|
|
3481
|
+
);
|
|
3476
3482
|
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
|
-
));
|
|
3483
|
+
var TableCell = React43.forwardRef(
|
|
3484
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx48("td", { ref, className: cn("dl-table__cell", className), ...props })
|
|
3485
|
+
);
|
|
3488
3486
|
TableCell.displayName = "TableCell";
|
|
3489
|
-
var TableCaption =
|
|
3487
|
+
var TableCaption = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
|
|
3490
3488
|
"caption",
|
|
3491
3489
|
{
|
|
3492
3490
|
ref,
|
|
3493
|
-
className: cn("
|
|
3491
|
+
className: cn("dl-table__caption", className),
|
|
3494
3492
|
...props
|
|
3495
3493
|
}
|
|
3496
3494
|
));
|
|
3497
3495
|
TableCaption.displayName = "TableCaption";
|
|
3498
3496
|
|
|
3499
|
-
// src/components/tabs.tsx
|
|
3500
|
-
import * as
|
|
3497
|
+
// src/components/tabs/tabs.tsx
|
|
3498
|
+
import * as React44 from "react";
|
|
3501
3499
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3502
|
-
import { jsx as
|
|
3500
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
3503
3501
|
var Tabs = TabsPrimitive.Root;
|
|
3504
|
-
var TabsList =
|
|
3502
|
+
var TabsList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3505
3503
|
TabsPrimitive.List,
|
|
3506
3504
|
{
|
|
3507
3505
|
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
|
-
),
|
|
3506
|
+
className: cn("dl-tabs-list", className),
|
|
3512
3507
|
...props
|
|
3513
3508
|
}
|
|
3514
3509
|
));
|
|
3515
3510
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3516
|
-
var TabsTrigger =
|
|
3511
|
+
var TabsTrigger = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3517
3512
|
TabsPrimitive.Trigger,
|
|
3518
3513
|
{
|
|
3519
3514
|
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
|
-
),
|
|
3515
|
+
className: cn("dl-tabs-trigger", className),
|
|
3524
3516
|
...props
|
|
3525
3517
|
}
|
|
3526
3518
|
));
|
|
3527
3519
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3528
|
-
var TabsContent =
|
|
3520
|
+
var TabsContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3529
3521
|
TabsPrimitive.Content,
|
|
3530
3522
|
{
|
|
3531
3523
|
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
|
-
),
|
|
3524
|
+
className: cn("dl-tabs-content", className),
|
|
3536
3525
|
...props
|
|
3537
3526
|
}
|
|
3538
3527
|
));
|
|
3539
3528
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3540
3529
|
|
|
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
|
-
});
|
|
3530
|
+
// src/components/textarea/textarea.tsx
|
|
3531
|
+
import * as React45 from "react";
|
|
3532
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
3533
|
+
var Textarea = React45.forwardRef(
|
|
3534
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx50("textarea", { className: cn("dl-textarea", className), ref, ...props })
|
|
3535
|
+
);
|
|
3557
3536
|
Textarea.displayName = "Textarea";
|
|
3558
3537
|
|
|
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";
|
|
3538
|
+
// src/components/toggle/toggle.tsx
|
|
3539
|
+
import * as React46 from "react";
|
|
3565
3540
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
3566
3541
|
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
|
-
}
|
|
3542
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
3543
|
+
var toggleVariants = cva8("dl-toggle", {
|
|
3544
|
+
variants: {
|
|
3545
|
+
variant: {
|
|
3546
|
+
default: "dl-toggle--variant-default",
|
|
3547
|
+
outline: "dl-toggle--variant-outline"
|
|
3581
3548
|
},
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3549
|
+
size: {
|
|
3550
|
+
default: "dl-toggle--size-default",
|
|
3551
|
+
sm: "dl-toggle--size-sm",
|
|
3552
|
+
lg: "dl-toggle--size-lg"
|
|
3585
3553
|
}
|
|
3554
|
+
},
|
|
3555
|
+
defaultVariants: {
|
|
3556
|
+
variant: "default",
|
|
3557
|
+
size: "default"
|
|
3586
3558
|
}
|
|
3587
|
-
);
|
|
3588
|
-
var Toggle =
|
|
3559
|
+
});
|
|
3560
|
+
var Toggle = React46.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx51(
|
|
3589
3561
|
TogglePrimitive.Root,
|
|
3590
3562
|
{
|
|
3591
3563
|
ref,
|
|
@@ -3595,25 +3567,27 @@ var Toggle = React41.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
3595
3567
|
));
|
|
3596
3568
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
3597
3569
|
|
|
3598
|
-
// src/components/toggle-group.tsx
|
|
3599
|
-
import
|
|
3600
|
-
|
|
3570
|
+
// src/components/toggle-group/toggle-group.tsx
|
|
3571
|
+
import * as React47 from "react";
|
|
3572
|
+
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
3573
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
3574
|
+
var ToggleGroupContext = React47.createContext({
|
|
3601
3575
|
size: "default",
|
|
3602
3576
|
variant: "default"
|
|
3603
3577
|
});
|
|
3604
|
-
var ToggleGroup =
|
|
3578
|
+
var ToggleGroup = React47.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx52(
|
|
3605
3579
|
ToggleGroupPrimitive.Root,
|
|
3606
3580
|
{
|
|
3607
3581
|
ref,
|
|
3608
|
-
className: cn("
|
|
3582
|
+
className: cn("dl-toggle-group", className),
|
|
3609
3583
|
...props,
|
|
3610
|
-
children: /* @__PURE__ */
|
|
3584
|
+
children: /* @__PURE__ */ jsx52(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
3611
3585
|
}
|
|
3612
3586
|
));
|
|
3613
3587
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
3614
|
-
var ToggleGroupItem =
|
|
3615
|
-
const context =
|
|
3616
|
-
return /* @__PURE__ */
|
|
3588
|
+
var ToggleGroupItem = React47.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3589
|
+
const context = React47.useContext(ToggleGroupContext);
|
|
3590
|
+
return /* @__PURE__ */ jsx52(
|
|
3617
3591
|
ToggleGroupPrimitive.Item,
|
|
3618
3592
|
{
|
|
3619
3593
|
ref,
|
|
@@ -3630,378 +3604,6 @@ var ToggleGroupItem = React42.forwardRef(({ className, children, variant, size,
|
|
|
3630
3604
|
);
|
|
3631
3605
|
});
|
|
3632
3606
|
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
3607
|
export {
|
|
4006
3608
|
Accordion,
|
|
4007
3609
|
AccordionContent,
|
|
@@ -4167,7 +3769,7 @@ export {
|
|
|
4167
3769
|
PaginationLink,
|
|
4168
3770
|
PaginationNext,
|
|
4169
3771
|
PaginationPrevious,
|
|
4170
|
-
|
|
3772
|
+
Panel,
|
|
4171
3773
|
Popover,
|
|
4172
3774
|
PopoverAnchor,
|
|
4173
3775
|
PopoverContent,
|
|
@@ -4227,6 +3829,7 @@ export {
|
|
|
4227
3829
|
SidebarTrigger,
|
|
4228
3830
|
Skeleton,
|
|
4229
3831
|
Slider,
|
|
3832
|
+
StatusBadge,
|
|
4230
3833
|
StatusChip,
|
|
4231
3834
|
Switch,
|
|
4232
3835
|
Table,
|
|
@@ -4251,12 +3854,16 @@ export {
|
|
|
4251
3854
|
TooltipContent,
|
|
4252
3855
|
TooltipProvider,
|
|
4253
3856
|
TooltipTrigger,
|
|
3857
|
+
alertVariants,
|
|
4254
3858
|
badgeVariants,
|
|
4255
3859
|
buttonVariants,
|
|
4256
3860
|
cn,
|
|
3861
|
+
labelVariants,
|
|
4257
3862
|
navigationMenuTriggerStyle,
|
|
3863
|
+
sheetVariants,
|
|
4258
3864
|
toast,
|
|
4259
3865
|
toggleVariants,
|
|
3866
|
+
useCarousel,
|
|
4260
3867
|
useConfig,
|
|
4261
3868
|
useFormField,
|
|
4262
3869
|
useIsMobile,
|