@codapet/design-system 0.6.0 → 0.6.3
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/index.d.mts +78 -3
- package/dist/index.mjs +1055 -609
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +142 -2
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -139,31 +139,89 @@ function AlertDescription({
|
|
|
139
139
|
);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
// src/components/ui/alert-banner.tsx
|
|
143
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
144
|
+
import { X } from "lucide-react";
|
|
145
|
+
import "react";
|
|
146
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
147
|
+
var alertBannerVariants = cva2(
|
|
148
|
+
"flex items-start gap-3 w-full rounded-[12px] border px-3 py-4 text-sm leading-5",
|
|
149
|
+
{
|
|
150
|
+
variants: {
|
|
151
|
+
type: {
|
|
152
|
+
informative: "bg-alert-bg-informative border-gray-stroke-light",
|
|
153
|
+
error: "bg-alert-bg-error border-error-stroke-light",
|
|
154
|
+
success: "bg-success-surface-subtle border-success-stroke-light"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
defaultVariants: {
|
|
158
|
+
type: "informative"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
function AlertBanner({
|
|
163
|
+
className,
|
|
164
|
+
type,
|
|
165
|
+
icon,
|
|
166
|
+
heading,
|
|
167
|
+
dismissible = false,
|
|
168
|
+
onDismiss,
|
|
169
|
+
children,
|
|
170
|
+
...props
|
|
171
|
+
}) {
|
|
172
|
+
return /* @__PURE__ */ jsxs2(
|
|
173
|
+
"div",
|
|
174
|
+
{
|
|
175
|
+
"data-slot": "alert-banner",
|
|
176
|
+
role: "alert",
|
|
177
|
+
className: cn(alertBannerVariants({ type }), className),
|
|
178
|
+
...props,
|
|
179
|
+
children: [
|
|
180
|
+
icon && /* @__PURE__ */ jsx3("span", { className: "flex items-center justify-center shrink-0 size-5 [&_svg]:size-5", children: icon }),
|
|
181
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex flex-1 flex-col gap-2 min-w-0", children: [
|
|
182
|
+
heading && /* @__PURE__ */ jsx3("p", { className: "font-semibold text-sm leading-5 text-vibrant-text-heading", children: heading }),
|
|
183
|
+
/* @__PURE__ */ jsx3("div", { className: "font-normal text-sm leading-5 text-vibrant-text-body", children })
|
|
184
|
+
] }),
|
|
185
|
+
dismissible && /* @__PURE__ */ jsx3(
|
|
186
|
+
"button",
|
|
187
|
+
{
|
|
188
|
+
type: "button",
|
|
189
|
+
onClick: onDismiss,
|
|
190
|
+
className: "flex items-center justify-center shrink-0 size-5 text-vibrant-text-body hover:text-vibrant-text-heading transition-colors cursor-pointer",
|
|
191
|
+
"aria-label": "Dismiss",
|
|
192
|
+
children: /* @__PURE__ */ jsx3(X, { className: "size-2.5" })
|
|
193
|
+
}
|
|
194
|
+
)
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
142
200
|
// src/components/ui/alert-dialog.tsx
|
|
143
201
|
import "react";
|
|
144
202
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
145
203
|
|
|
146
204
|
// src/components/ui/button.tsx
|
|
147
205
|
import { Slot } from "@radix-ui/react-slot";
|
|
148
|
-
import { cva as
|
|
206
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
149
207
|
import "react";
|
|
150
|
-
import { jsx as
|
|
151
|
-
var buttonVariants =
|
|
208
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
209
|
+
var buttonVariants = cva3(
|
|
152
210
|
"cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-semibold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none relative select-none will-change-auto focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-lg focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive duration-400",
|
|
153
211
|
{
|
|
154
212
|
variants: {
|
|
155
213
|
variant: {
|
|
156
|
-
primary: "bg-primary text-primary-foreground hover:bg-brand-dark active:bg-
|
|
214
|
+
primary: "bg-primary text-primary-foreground hover:bg-brand-dark active:bg-active-primary",
|
|
157
215
|
secondary: "bg-brand-subtle text-brand-vibrant hover:bg-primary-surface-light border border-brand-light active:bg-icon-disabled hover:border-transparent active:border-transparent",
|
|
158
|
-
tertiary: "bg-gray-surface-light text-
|
|
159
|
-
outline: "text-
|
|
160
|
-
ghost: "text-brand-vibrant hover:bg-primary-surface-subtle
|
|
161
|
-
"ghost-secondary": "text-
|
|
162
|
-
"ghost-destructive": "bg-transparent
|
|
163
|
-
link: "text-
|
|
164
|
-
destructive: "bg-error-surface-default text-
|
|
165
|
-
"destructive-secondary": "bg-error-surface-light
|
|
166
|
-
"destructive-tertiary": "bg-transparent border border-error-stroke-light text-
|
|
216
|
+
tertiary: "bg-gray-surface-light text-foreground-secondary hover:bg-gray-surface-default border border-gray-stroke-light active:bg-gray-surface-default",
|
|
217
|
+
outline: "text-foreground-secondary border border-gray-surface-default bg-background hover:bg-gray-surface-light hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 active:bg-gray-surface-default",
|
|
218
|
+
ghost: "text-brand-vibrant hover:bg-primary-surface-subtle dark:hover:bg-accent/50 active:bg-primary-surface-light",
|
|
219
|
+
"ghost-secondary": "text-foreground-secondary hover:bg-gray-surface-light hover:text-accent-foreground dark:hover:bg-accent/50 active:bg-gray-surface-default",
|
|
220
|
+
"ghost-destructive": "bg-transparent text-destructive-text hover:bg-destructive-hover focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active",
|
|
221
|
+
link: "text-foreground-secondary underline-offset-4 underline hover:bg-none active:bg-none hover:text-brand-vibrant",
|
|
222
|
+
destructive: "bg-error-surface-default text-primary-foreground hover:bg-destructive-bg-deep focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-error-surface-dark",
|
|
223
|
+
"destructive-secondary": "bg-error-surface-light border border-error-stroke-light text-destructive-text hover:border-error-surface-default focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active",
|
|
224
|
+
"destructive-tertiary": "bg-transparent border border-error-stroke-light text-destructive-text hover:bg-destructive-hover focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 active:bg-destructive-active"
|
|
167
225
|
},
|
|
168
226
|
size: {
|
|
169
227
|
md: "h-10 px-4 py-2 has-[>svg]:px-3 text-lg",
|
|
@@ -186,7 +244,7 @@ function Button({
|
|
|
186
244
|
...props
|
|
187
245
|
}) {
|
|
188
246
|
const Comp = asChild ? Slot : "button";
|
|
189
|
-
return /* @__PURE__ */
|
|
247
|
+
return /* @__PURE__ */ jsx4(
|
|
190
248
|
Comp,
|
|
191
249
|
{
|
|
192
250
|
"data-slot": "button",
|
|
@@ -197,27 +255,27 @@ function Button({
|
|
|
197
255
|
}
|
|
198
256
|
|
|
199
257
|
// src/components/ui/alert-dialog.tsx
|
|
200
|
-
import { jsx as
|
|
258
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
201
259
|
function AlertDialog({
|
|
202
260
|
...props
|
|
203
261
|
}) {
|
|
204
|
-
return /* @__PURE__ */
|
|
262
|
+
return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
205
263
|
}
|
|
206
264
|
function AlertDialogTrigger({
|
|
207
265
|
...props
|
|
208
266
|
}) {
|
|
209
|
-
return /* @__PURE__ */
|
|
267
|
+
return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
210
268
|
}
|
|
211
269
|
function AlertDialogPortal({
|
|
212
270
|
...props
|
|
213
271
|
}) {
|
|
214
|
-
return /* @__PURE__ */
|
|
272
|
+
return /* @__PURE__ */ jsx5(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
215
273
|
}
|
|
216
274
|
function AlertDialogOverlay({
|
|
217
275
|
className,
|
|
218
276
|
...props
|
|
219
277
|
}) {
|
|
220
|
-
return /* @__PURE__ */
|
|
278
|
+
return /* @__PURE__ */ jsx5(
|
|
221
279
|
AlertDialogPrimitive.Overlay,
|
|
222
280
|
{
|
|
223
281
|
"data-slot": "alert-dialog-overlay",
|
|
@@ -233,9 +291,9 @@ function AlertDialogContent({
|
|
|
233
291
|
className,
|
|
234
292
|
...props
|
|
235
293
|
}) {
|
|
236
|
-
return /* @__PURE__ */
|
|
237
|
-
/* @__PURE__ */
|
|
238
|
-
/* @__PURE__ */
|
|
294
|
+
return /* @__PURE__ */ jsxs3(AlertDialogPortal, { children: [
|
|
295
|
+
/* @__PURE__ */ jsx5(AlertDialogOverlay, {}),
|
|
296
|
+
/* @__PURE__ */ jsx5(
|
|
239
297
|
AlertDialogPrimitive.Content,
|
|
240
298
|
{
|
|
241
299
|
"data-slot": "alert-dialog-content",
|
|
@@ -252,7 +310,7 @@ function AlertDialogHeader({
|
|
|
252
310
|
className,
|
|
253
311
|
...props
|
|
254
312
|
}) {
|
|
255
|
-
return /* @__PURE__ */
|
|
313
|
+
return /* @__PURE__ */ jsx5(
|
|
256
314
|
"div",
|
|
257
315
|
{
|
|
258
316
|
"data-slot": "alert-dialog-header",
|
|
@@ -265,7 +323,7 @@ function AlertDialogFooter({
|
|
|
265
323
|
className,
|
|
266
324
|
...props
|
|
267
325
|
}) {
|
|
268
|
-
return /* @__PURE__ */
|
|
326
|
+
return /* @__PURE__ */ jsx5(
|
|
269
327
|
"div",
|
|
270
328
|
{
|
|
271
329
|
"data-slot": "alert-dialog-footer",
|
|
@@ -281,7 +339,7 @@ function AlertDialogTitle({
|
|
|
281
339
|
className,
|
|
282
340
|
...props
|
|
283
341
|
}) {
|
|
284
|
-
return /* @__PURE__ */
|
|
342
|
+
return /* @__PURE__ */ jsx5(
|
|
285
343
|
AlertDialogPrimitive.Title,
|
|
286
344
|
{
|
|
287
345
|
"data-slot": "alert-dialog-title",
|
|
@@ -294,7 +352,7 @@ function AlertDialogDescription({
|
|
|
294
352
|
className,
|
|
295
353
|
...props
|
|
296
354
|
}) {
|
|
297
|
-
return /* @__PURE__ */
|
|
355
|
+
return /* @__PURE__ */ jsx5(
|
|
298
356
|
AlertDialogPrimitive.Description,
|
|
299
357
|
{
|
|
300
358
|
"data-slot": "alert-dialog-description",
|
|
@@ -307,7 +365,7 @@ function AlertDialogAction({
|
|
|
307
365
|
className,
|
|
308
366
|
...props
|
|
309
367
|
}) {
|
|
310
|
-
return /* @__PURE__ */
|
|
368
|
+
return /* @__PURE__ */ jsx5(
|
|
311
369
|
AlertDialogPrimitive.Action,
|
|
312
370
|
{
|
|
313
371
|
className: cn(buttonVariants(), className),
|
|
@@ -319,7 +377,7 @@ function AlertDialogCancel({
|
|
|
319
377
|
className,
|
|
320
378
|
...props
|
|
321
379
|
}) {
|
|
322
|
-
return /* @__PURE__ */
|
|
380
|
+
return /* @__PURE__ */ jsx5(
|
|
323
381
|
AlertDialogPrimitive.Cancel,
|
|
324
382
|
{
|
|
325
383
|
className: cn(buttonVariants({ variant: "outline" }), className),
|
|
@@ -330,19 +388,19 @@ function AlertDialogCancel({
|
|
|
330
388
|
|
|
331
389
|
// src/components/ui/aspect-ratio.tsx
|
|
332
390
|
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
333
|
-
import { jsx as
|
|
391
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
334
392
|
function AspectRatio({
|
|
335
393
|
...props
|
|
336
394
|
}) {
|
|
337
|
-
return /* @__PURE__ */
|
|
395
|
+
return /* @__PURE__ */ jsx6(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
338
396
|
}
|
|
339
397
|
|
|
340
398
|
// src/components/ui/auto-resize-textarea.tsx
|
|
341
|
-
import * as
|
|
399
|
+
import * as React7 from "react";
|
|
342
400
|
|
|
343
401
|
// src/components/ui/textarea.tsx
|
|
344
|
-
import * as
|
|
345
|
-
import { jsx as
|
|
402
|
+
import * as React6 from "react";
|
|
403
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
346
404
|
var textareaBaseStyles = [
|
|
347
405
|
// Base styles aligned with Input
|
|
348
406
|
"placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
@@ -353,10 +411,10 @@ var textareaBaseStyles = [
|
|
|
353
411
|
// Responsive text size
|
|
354
412
|
"md:text-sm",
|
|
355
413
|
// Default state
|
|
356
|
-
"border-
|
|
414
|
+
"border-border-default bg-background",
|
|
357
415
|
// Hover/Focus/Active states
|
|
358
416
|
"hover:border-brand-normal",
|
|
359
|
-
"focus:border-
|
|
417
|
+
"focus:border-focus-ring",
|
|
360
418
|
"active:border-brand-normal",
|
|
361
419
|
// Textarea specific
|
|
362
420
|
"field-sizing-content min-h-16 resize-y px-3 py-2"
|
|
@@ -366,9 +424,9 @@ var errorStyles = [
|
|
|
366
424
|
"focus:border-destructive focus:ring-destructive/20",
|
|
367
425
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
368
426
|
].join(" ");
|
|
369
|
-
var Textarea =
|
|
427
|
+
var Textarea = React6.forwardRef(
|
|
370
428
|
({ className, error, ...props }, ref) => {
|
|
371
|
-
return /* @__PURE__ */
|
|
429
|
+
return /* @__PURE__ */ jsx7(
|
|
372
430
|
"textarea",
|
|
373
431
|
{
|
|
374
432
|
"data-slot": "textarea",
|
|
@@ -383,8 +441,8 @@ var Textarea = React5.forwardRef(
|
|
|
383
441
|
Textarea.displayName = "Textarea";
|
|
384
442
|
|
|
385
443
|
// src/components/ui/auto-resize-textarea.tsx
|
|
386
|
-
import { jsx as
|
|
387
|
-
var AutoResizeTextarea =
|
|
444
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
445
|
+
var AutoResizeTextarea = React7.forwardRef(
|
|
388
446
|
({
|
|
389
447
|
className,
|
|
390
448
|
style,
|
|
@@ -395,8 +453,8 @@ var AutoResizeTextarea = React6.forwardRef(
|
|
|
395
453
|
value,
|
|
396
454
|
...props
|
|
397
455
|
}, forwardedRef) => {
|
|
398
|
-
const innerRef =
|
|
399
|
-
const setRefs =
|
|
456
|
+
const innerRef = React7.useRef(null);
|
|
457
|
+
const setRefs = React7.useCallback(
|
|
400
458
|
(node) => {
|
|
401
459
|
innerRef.current = node;
|
|
402
460
|
if (typeof forwardedRef === "function") forwardedRef(node);
|
|
@@ -404,7 +462,7 @@ var AutoResizeTextarea = React6.forwardRef(
|
|
|
404
462
|
},
|
|
405
463
|
[forwardedRef]
|
|
406
464
|
);
|
|
407
|
-
const resize =
|
|
465
|
+
const resize = React7.useCallback(() => {
|
|
408
466
|
const el = innerRef.current;
|
|
409
467
|
if (!el) return;
|
|
410
468
|
el.style.height = "auto";
|
|
@@ -417,10 +475,10 @@ var AutoResizeTextarea = React6.forwardRef(
|
|
|
417
475
|
el.style.overflowY = "hidden";
|
|
418
476
|
}
|
|
419
477
|
}, [maxHeight, minHeight]);
|
|
420
|
-
|
|
478
|
+
React7.useLayoutEffect(() => {
|
|
421
479
|
resize();
|
|
422
480
|
}, [resize, value]);
|
|
423
|
-
return /* @__PURE__ */
|
|
481
|
+
return /* @__PURE__ */ jsx8(
|
|
424
482
|
Textarea,
|
|
425
483
|
{
|
|
426
484
|
...props,
|
|
@@ -449,12 +507,12 @@ AutoResizeTextarea.displayName = "AutoResizeTextarea";
|
|
|
449
507
|
// src/components/ui/avatar.tsx
|
|
450
508
|
import "react";
|
|
451
509
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
452
|
-
import { jsx as
|
|
510
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
453
511
|
function Avatar({
|
|
454
512
|
className,
|
|
455
513
|
...props
|
|
456
514
|
}) {
|
|
457
|
-
return /* @__PURE__ */
|
|
515
|
+
return /* @__PURE__ */ jsx9(
|
|
458
516
|
AvatarPrimitive.Root,
|
|
459
517
|
{
|
|
460
518
|
"data-slot": "avatar",
|
|
@@ -470,7 +528,7 @@ function AvatarImage({
|
|
|
470
528
|
className,
|
|
471
529
|
...props
|
|
472
530
|
}) {
|
|
473
|
-
return /* @__PURE__ */
|
|
531
|
+
return /* @__PURE__ */ jsx9(
|
|
474
532
|
AvatarPrimitive.Image,
|
|
475
533
|
{
|
|
476
534
|
"data-slot": "avatar-image",
|
|
@@ -483,7 +541,7 @@ function AvatarFallback({
|
|
|
483
541
|
className,
|
|
484
542
|
...props
|
|
485
543
|
}) {
|
|
486
|
-
return /* @__PURE__ */
|
|
544
|
+
return /* @__PURE__ */ jsx9(
|
|
487
545
|
AvatarPrimitive.Fallback,
|
|
488
546
|
{
|
|
489
547
|
"data-slot": "avatar-fallback",
|
|
@@ -499,16 +557,16 @@ function AvatarFallback({
|
|
|
499
557
|
// src/components/ui/badge.tsx
|
|
500
558
|
import "react";
|
|
501
559
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
502
|
-
import { cva as
|
|
503
|
-
import { jsx as
|
|
504
|
-
var badgeVariants =
|
|
560
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
561
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
562
|
+
var badgeVariants = cva4(
|
|
505
563
|
"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
506
564
|
{
|
|
507
565
|
variants: {
|
|
508
566
|
variant: {
|
|
509
567
|
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
510
568
|
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
511
|
-
destructive: "border-transparent bg-destructive text-
|
|
569
|
+
destructive: "border-transparent bg-destructive text-primary-foreground [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
512
570
|
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
513
571
|
}
|
|
514
572
|
},
|
|
@@ -524,7 +582,7 @@ function Badge({
|
|
|
524
582
|
...props
|
|
525
583
|
}) {
|
|
526
584
|
const Comp = asChild ? Slot2 : "span";
|
|
527
|
-
return /* @__PURE__ */
|
|
585
|
+
return /* @__PURE__ */ jsx10(
|
|
528
586
|
Comp,
|
|
529
587
|
{
|
|
530
588
|
"data-slot": "badge",
|
|
@@ -534,16 +592,268 @@ function Badge({
|
|
|
534
592
|
);
|
|
535
593
|
}
|
|
536
594
|
|
|
595
|
+
// src/components/ui/badge-actionable.tsx
|
|
596
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
597
|
+
import "react";
|
|
598
|
+
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
599
|
+
var badgeActionableVariants = cva5(
|
|
600
|
+
"inline-flex items-center justify-center gap-2 rounded-[8px] cursor-pointer select-none transition-all font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0 outline-none focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-xl focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none relative",
|
|
601
|
+
{
|
|
602
|
+
variants: {
|
|
603
|
+
size: {
|
|
604
|
+
M: "h-10 px-3 py-2 text-base leading-6 [&_svg]:size-5",
|
|
605
|
+
S: "h-8 px-3 py-2 text-sm leading-5 [&_svg]:size-5"
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
defaultVariants: {
|
|
609
|
+
size: "S"
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
);
|
|
613
|
+
function BadgeActionable({
|
|
614
|
+
className,
|
|
615
|
+
size,
|
|
616
|
+
icon,
|
|
617
|
+
selected = false,
|
|
618
|
+
onBackground = false,
|
|
619
|
+
children,
|
|
620
|
+
...props
|
|
621
|
+
}) {
|
|
622
|
+
return /* @__PURE__ */ jsxs4(
|
|
623
|
+
"button",
|
|
624
|
+
{
|
|
625
|
+
"data-slot": "badge-actionable",
|
|
626
|
+
"data-selected": selected || void 0,
|
|
627
|
+
className: cn(
|
|
628
|
+
badgeActionableVariants({ size }),
|
|
629
|
+
selected ? "bg-primary-surface-subtle border border-primary-stroke-default text-primary-stroke-default" : onBackground ? "bg-sand-light border border-secondary-stroke-default text-secondary-text-dark hover:bg-secondary-surface-default hover:border-transparent" : "bg-sand-light border border-secondary-stroke-light text-secondary-text-dark hover:bg-secondary-surface-default hover:border-transparent",
|
|
630
|
+
"disabled:pointer-events-none disabled:opacity-50 ",
|
|
631
|
+
className
|
|
632
|
+
),
|
|
633
|
+
...props,
|
|
634
|
+
children: [
|
|
635
|
+
icon && /* @__PURE__ */ jsx11("span", { className: "flex items-center justify-center", children: icon }),
|
|
636
|
+
/* @__PURE__ */ jsx11("span", { children })
|
|
637
|
+
]
|
|
638
|
+
}
|
|
639
|
+
);
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
// src/components/ui/badge-informative.tsx
|
|
643
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
644
|
+
import "react";
|
|
645
|
+
import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
646
|
+
var badgeInformativeVariants = cva6(
|
|
647
|
+
"inline-flex items-center justify-center font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
648
|
+
{
|
|
649
|
+
variants: {
|
|
650
|
+
size: {
|
|
651
|
+
M: "h-8 px-2 py-1.5 gap-2 rounded-[8px] text-sm leading-5 [&_svg]:size-4",
|
|
652
|
+
S: "h-6 px-2 py-1.5 gap-1 rounded-[8px] text-xs leading-4 [&_svg]:size-4"
|
|
653
|
+
},
|
|
654
|
+
colorScheme: {
|
|
655
|
+
gray: "bg-gray-surface-light text-vibrant-text-body",
|
|
656
|
+
blue: "bg-primary-surface-subtle text-primary-stroke-default",
|
|
657
|
+
yellow: "bg-warning-surface-subtle border border-warning-stroke-default text-warning-stroke-dark"
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
defaultVariants: {
|
|
661
|
+
size: "M",
|
|
662
|
+
colorScheme: "gray"
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
);
|
|
666
|
+
function BadgeInformative({
|
|
667
|
+
className,
|
|
668
|
+
size,
|
|
669
|
+
colorScheme,
|
|
670
|
+
icon,
|
|
671
|
+
linkText,
|
|
672
|
+
linkHref,
|
|
673
|
+
children,
|
|
674
|
+
...props
|
|
675
|
+
}) {
|
|
676
|
+
return /* @__PURE__ */ jsxs5(
|
|
677
|
+
"div",
|
|
678
|
+
{
|
|
679
|
+
"data-slot": "badge-informative",
|
|
680
|
+
className: cn(badgeInformativeVariants({ size, colorScheme }), className),
|
|
681
|
+
...props,
|
|
682
|
+
children: [
|
|
683
|
+
icon && /* @__PURE__ */ jsx12("span", { className: "flex items-center justify-center shrink-0", children: icon }),
|
|
684
|
+
/* @__PURE__ */ jsx12("span", { children }),
|
|
685
|
+
linkText && /* @__PURE__ */ jsxs5(
|
|
686
|
+
"a",
|
|
687
|
+
{
|
|
688
|
+
href: linkHref || "#",
|
|
689
|
+
className: cn(
|
|
690
|
+
"inline-flex items-center gap-1 font-semibold text-base leading-6 shrink-0",
|
|
691
|
+
colorScheme === "blue" ? "text-primary-stroke-default" : "text-primary-stroke-default"
|
|
692
|
+
),
|
|
693
|
+
children: [
|
|
694
|
+
linkText,
|
|
695
|
+
/* @__PURE__ */ jsx12(
|
|
696
|
+
"svg",
|
|
697
|
+
{
|
|
698
|
+
className: "size-4",
|
|
699
|
+
viewBox: "0 0 16 16",
|
|
700
|
+
fill: "none",
|
|
701
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
702
|
+
children: /* @__PURE__ */ jsx12(
|
|
703
|
+
"path",
|
|
704
|
+
{
|
|
705
|
+
d: "M4.667 11.333L11.333 4.667M11.333 4.667H5.333M11.333 4.667V10.667",
|
|
706
|
+
stroke: "currentColor",
|
|
707
|
+
strokeWidth: "1.5",
|
|
708
|
+
strokeLinecap: "round",
|
|
709
|
+
strokeLinejoin: "round"
|
|
710
|
+
}
|
|
711
|
+
)
|
|
712
|
+
}
|
|
713
|
+
)
|
|
714
|
+
]
|
|
715
|
+
}
|
|
716
|
+
)
|
|
717
|
+
]
|
|
718
|
+
}
|
|
719
|
+
);
|
|
720
|
+
}
|
|
721
|
+
function BadgeInformativeGroup({
|
|
722
|
+
className,
|
|
723
|
+
size = "M",
|
|
724
|
+
colorScheme = "gray",
|
|
725
|
+
children,
|
|
726
|
+
...props
|
|
727
|
+
}) {
|
|
728
|
+
return /* @__PURE__ */ jsx12(
|
|
729
|
+
"div",
|
|
730
|
+
{
|
|
731
|
+
"data-slot": "badge-informative-group",
|
|
732
|
+
className: cn(
|
|
733
|
+
"inline-flex items-center gap-3",
|
|
734
|
+
size === "M" ? "h-8 px-2 py-1.5 rounded-[8px]" : "h-6 px-2 py-1.5 rounded-[8px]",
|
|
735
|
+
colorScheme === "gray" && "bg-gray-surface-light",
|
|
736
|
+
colorScheme === "blue" && "bg-primary-surface-subtle",
|
|
737
|
+
colorScheme === "yellow" && "bg-warning-surface-subtle border border-warning-stroke-default",
|
|
738
|
+
className
|
|
739
|
+
),
|
|
740
|
+
...props,
|
|
741
|
+
children
|
|
742
|
+
}
|
|
743
|
+
);
|
|
744
|
+
}
|
|
745
|
+
function BadgeInformativeItem({
|
|
746
|
+
className,
|
|
747
|
+
size = "M",
|
|
748
|
+
colorScheme = "gray",
|
|
749
|
+
icon,
|
|
750
|
+
linkText,
|
|
751
|
+
linkHref,
|
|
752
|
+
children,
|
|
753
|
+
...props
|
|
754
|
+
}) {
|
|
755
|
+
return /* @__PURE__ */ jsxs5(
|
|
756
|
+
"div",
|
|
757
|
+
{
|
|
758
|
+
"data-slot": "badge-informative-item",
|
|
759
|
+
className: cn(
|
|
760
|
+
"inline-flex items-center font-medium whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
761
|
+
size === "M" ? "gap-1 text-sm leading-5 [&_svg]:size-4" : "gap-1 text-xs leading-4 [&_svg]:size-4",
|
|
762
|
+
colorScheme === "gray" && "text-vibrant-text-body",
|
|
763
|
+
colorScheme === "blue" && "text-primary-stroke-default",
|
|
764
|
+
colorScheme === "yellow" && "text-warning-stroke-dark",
|
|
765
|
+
className
|
|
766
|
+
),
|
|
767
|
+
...props,
|
|
768
|
+
children: [
|
|
769
|
+
icon && /* @__PURE__ */ jsx12("span", { className: "flex items-center justify-center shrink-0", children: icon }),
|
|
770
|
+
/* @__PURE__ */ jsx12("span", { children }),
|
|
771
|
+
linkText && /* @__PURE__ */ jsxs5(
|
|
772
|
+
"a",
|
|
773
|
+
{
|
|
774
|
+
href: linkHref || "#",
|
|
775
|
+
className: "inline-flex items-center gap-1 font-semibold text-base leading-6 text-primary-stroke-default shrink-0",
|
|
776
|
+
children: [
|
|
777
|
+
linkText,
|
|
778
|
+
/* @__PURE__ */ jsx12(
|
|
779
|
+
"svg",
|
|
780
|
+
{
|
|
781
|
+
className: "size-4",
|
|
782
|
+
viewBox: "0 0 16 16",
|
|
783
|
+
fill: "none",
|
|
784
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
785
|
+
children: /* @__PURE__ */ jsx12(
|
|
786
|
+
"path",
|
|
787
|
+
{
|
|
788
|
+
d: "M4.667 11.333L11.333 4.667M11.333 4.667H5.333M11.333 4.667V10.667",
|
|
789
|
+
stroke: "currentColor",
|
|
790
|
+
strokeWidth: "1.5",
|
|
791
|
+
strokeLinecap: "round",
|
|
792
|
+
strokeLinejoin: "round"
|
|
793
|
+
}
|
|
794
|
+
)
|
|
795
|
+
}
|
|
796
|
+
)
|
|
797
|
+
]
|
|
798
|
+
}
|
|
799
|
+
)
|
|
800
|
+
]
|
|
801
|
+
}
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// src/components/ui/badge-number.tsx
|
|
806
|
+
import "react";
|
|
807
|
+
import { cva as cva7 } from "class-variance-authority";
|
|
808
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
809
|
+
var badgeNumberVariants = cva7(
|
|
810
|
+
"inline-flex items-center justify-center rounded-full font-semibold text-xs leading-[18px] text-center shrink-0 select-none",
|
|
811
|
+
{
|
|
812
|
+
variants: {
|
|
813
|
+
size: {
|
|
814
|
+
M: "size-6",
|
|
815
|
+
S: "size-5"
|
|
816
|
+
},
|
|
817
|
+
state: {
|
|
818
|
+
active: "bg-primary text-primary-foreground",
|
|
819
|
+
disabled: "bg-gray-surface-light text-gray-subtle",
|
|
820
|
+
resting: "bg-transparent border border-gray-stroke-light text-gray-subtle"
|
|
821
|
+
}
|
|
822
|
+
},
|
|
823
|
+
defaultVariants: {
|
|
824
|
+
size: "M",
|
|
825
|
+
state: "active"
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
);
|
|
829
|
+
function BadgeNumber({
|
|
830
|
+
className,
|
|
831
|
+
size,
|
|
832
|
+
state,
|
|
833
|
+
value,
|
|
834
|
+
...props
|
|
835
|
+
}) {
|
|
836
|
+
return /* @__PURE__ */ jsx13(
|
|
837
|
+
"span",
|
|
838
|
+
{
|
|
839
|
+
"data-slot": "badge-number",
|
|
840
|
+
className: cn(badgeNumberVariants({ size, state }), className),
|
|
841
|
+
...props,
|
|
842
|
+
children: value
|
|
843
|
+
}
|
|
844
|
+
);
|
|
845
|
+
}
|
|
846
|
+
|
|
537
847
|
// src/components/ui/breadcrumb.tsx
|
|
538
848
|
import "react";
|
|
539
849
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
540
850
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
541
|
-
import { jsx as
|
|
851
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
542
852
|
function Breadcrumb({ ...props }) {
|
|
543
|
-
return /* @__PURE__ */
|
|
853
|
+
return /* @__PURE__ */ jsx14("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
544
854
|
}
|
|
545
855
|
function BreadcrumbList({ className, ...props }) {
|
|
546
|
-
return /* @__PURE__ */
|
|
856
|
+
return /* @__PURE__ */ jsx14(
|
|
547
857
|
"ol",
|
|
548
858
|
{
|
|
549
859
|
"data-slot": "breadcrumb-list",
|
|
@@ -556,7 +866,7 @@ function BreadcrumbList({ className, ...props }) {
|
|
|
556
866
|
);
|
|
557
867
|
}
|
|
558
868
|
function BreadcrumbItem({ className, ...props }) {
|
|
559
|
-
return /* @__PURE__ */
|
|
869
|
+
return /* @__PURE__ */ jsx14(
|
|
560
870
|
"li",
|
|
561
871
|
{
|
|
562
872
|
"data-slot": "breadcrumb-item",
|
|
@@ -571,7 +881,7 @@ function BreadcrumbLink({
|
|
|
571
881
|
...props
|
|
572
882
|
}) {
|
|
573
883
|
const Comp = asChild ? Slot3 : "a";
|
|
574
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ jsx14(
|
|
575
885
|
Comp,
|
|
576
886
|
{
|
|
577
887
|
"data-slot": "breadcrumb-link",
|
|
@@ -581,7 +891,7 @@ function BreadcrumbLink({
|
|
|
581
891
|
);
|
|
582
892
|
}
|
|
583
893
|
function BreadcrumbPage({ className, ...props }) {
|
|
584
|
-
return /* @__PURE__ */
|
|
894
|
+
return /* @__PURE__ */ jsx14(
|
|
585
895
|
"span",
|
|
586
896
|
{
|
|
587
897
|
"data-slot": "breadcrumb-page",
|
|
@@ -598,7 +908,7 @@ function BreadcrumbSeparator({
|
|
|
598
908
|
className,
|
|
599
909
|
...props
|
|
600
910
|
}) {
|
|
601
|
-
return /* @__PURE__ */
|
|
911
|
+
return /* @__PURE__ */ jsx14(
|
|
602
912
|
"li",
|
|
603
913
|
{
|
|
604
914
|
"data-slot": "breadcrumb-separator",
|
|
@@ -606,7 +916,7 @@ function BreadcrumbSeparator({
|
|
|
606
916
|
"aria-hidden": "true",
|
|
607
917
|
className: cn("[&>svg]:size-3.5", className),
|
|
608
918
|
...props,
|
|
609
|
-
children: children ?? /* @__PURE__ */
|
|
919
|
+
children: children ?? /* @__PURE__ */ jsx14(ChevronRight, {})
|
|
610
920
|
}
|
|
611
921
|
);
|
|
612
922
|
}
|
|
@@ -614,7 +924,7 @@ function BreadcrumbEllipsis({
|
|
|
614
924
|
className,
|
|
615
925
|
...props
|
|
616
926
|
}) {
|
|
617
|
-
return /* @__PURE__ */
|
|
927
|
+
return /* @__PURE__ */ jsxs6(
|
|
618
928
|
"span",
|
|
619
929
|
{
|
|
620
930
|
"data-slot": "breadcrumb-ellipsis",
|
|
@@ -623,8 +933,8 @@ function BreadcrumbEllipsis({
|
|
|
623
933
|
className: cn("flex size-9 items-center justify-center", className),
|
|
624
934
|
...props,
|
|
625
935
|
children: [
|
|
626
|
-
/* @__PURE__ */
|
|
627
|
-
/* @__PURE__ */
|
|
936
|
+
/* @__PURE__ */ jsx14(MoreHorizontal, { className: "size-4" }),
|
|
937
|
+
/* @__PURE__ */ jsx14("span", { className: "sr-only", children: "More" })
|
|
628
938
|
]
|
|
629
939
|
}
|
|
630
940
|
);
|
|
@@ -636,9 +946,9 @@ import {
|
|
|
636
946
|
ChevronLeftIcon,
|
|
637
947
|
ChevronRightIcon
|
|
638
948
|
} from "lucide-react";
|
|
639
|
-
import * as
|
|
949
|
+
import * as React14 from "react";
|
|
640
950
|
import { DayPicker } from "react-day-picker";
|
|
641
|
-
import { jsx as
|
|
951
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
642
952
|
function Calendar({
|
|
643
953
|
className,
|
|
644
954
|
classNames,
|
|
@@ -649,7 +959,7 @@ function Calendar({
|
|
|
649
959
|
components,
|
|
650
960
|
...props
|
|
651
961
|
}) {
|
|
652
|
-
return /* @__PURE__ */
|
|
962
|
+
return /* @__PURE__ */ jsx15(
|
|
653
963
|
DayPicker,
|
|
654
964
|
{
|
|
655
965
|
showOutsideDays,
|
|
@@ -712,7 +1022,7 @@ function Calendar({
|
|
|
712
1022
|
classNames?.weekdays
|
|
713
1023
|
),
|
|
714
1024
|
weekday: cn(
|
|
715
|
-
"text-
|
|
1025
|
+
"text-muted-foreground font-medium rounded-full md:flex-1 size-6 mx-1 font-normal text-[0.8rem] select-none",
|
|
716
1026
|
classNames?.weekday
|
|
717
1027
|
),
|
|
718
1028
|
week: cn(
|
|
@@ -748,7 +1058,7 @@ function Calendar({
|
|
|
748
1058
|
},
|
|
749
1059
|
components: {
|
|
750
1060
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
751
|
-
return /* @__PURE__ */
|
|
1061
|
+
return /* @__PURE__ */ jsx15(
|
|
752
1062
|
"div",
|
|
753
1063
|
{
|
|
754
1064
|
"data-slot": "calendar",
|
|
@@ -760,10 +1070,10 @@ function Calendar({
|
|
|
760
1070
|
},
|
|
761
1071
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
762
1072
|
if (orientation === "left") {
|
|
763
|
-
return /* @__PURE__ */
|
|
1073
|
+
return /* @__PURE__ */ jsx15(ChevronLeftIcon, { className: cn("size-6", className2), ...props2 });
|
|
764
1074
|
}
|
|
765
1075
|
if (orientation === "right") {
|
|
766
|
-
return /* @__PURE__ */
|
|
1076
|
+
return /* @__PURE__ */ jsx15(
|
|
767
1077
|
ChevronRightIcon,
|
|
768
1078
|
{
|
|
769
1079
|
className: cn("size-6", className2),
|
|
@@ -771,11 +1081,11 @@ function Calendar({
|
|
|
771
1081
|
}
|
|
772
1082
|
);
|
|
773
1083
|
}
|
|
774
|
-
return /* @__PURE__ */
|
|
1084
|
+
return /* @__PURE__ */ jsx15(ChevronDownIcon2, { className: cn("size-6", className2), ...props2 });
|
|
775
1085
|
},
|
|
776
1086
|
DayButton: CalendarDayButton,
|
|
777
1087
|
WeekNumber: ({ children, ...props2 }) => {
|
|
778
|
-
return /* @__PURE__ */
|
|
1088
|
+
return /* @__PURE__ */ jsx15("td", { ...props2, children: /* @__PURE__ */ jsx15("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
779
1089
|
},
|
|
780
1090
|
...components
|
|
781
1091
|
},
|
|
@@ -789,11 +1099,11 @@ function CalendarDayButton({
|
|
|
789
1099
|
modifiers,
|
|
790
1100
|
...props
|
|
791
1101
|
}) {
|
|
792
|
-
const ref =
|
|
793
|
-
|
|
1102
|
+
const ref = React14.useRef(null);
|
|
1103
|
+
React14.useEffect(() => {
|
|
794
1104
|
if (modifiers.focused) ref.current?.focus();
|
|
795
1105
|
}, [modifiers.focused]);
|
|
796
|
-
return /* @__PURE__ */
|
|
1106
|
+
return /* @__PURE__ */ jsx15(
|
|
797
1107
|
Button,
|
|
798
1108
|
{
|
|
799
1109
|
ref,
|
|
@@ -805,7 +1115,7 @@ function CalendarDayButton({
|
|
|
805
1115
|
"data-range-end": modifiers.range_end,
|
|
806
1116
|
"data-range-middle": modifiers.range_middle,
|
|
807
1117
|
className: cn(
|
|
808
|
-
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-
|
|
1118
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-range-middle-bg data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none md:font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70 md:p-0 rounded-full md:text-base text-sm font-medium text-foreground data-[range-middle=true]:rounded-md",
|
|
809
1119
|
className
|
|
810
1120
|
),
|
|
811
1121
|
...props
|
|
@@ -815,9 +1125,9 @@ function CalendarDayButton({
|
|
|
815
1125
|
|
|
816
1126
|
// src/components/ui/card.tsx
|
|
817
1127
|
import "react";
|
|
818
|
-
import { jsx as
|
|
1128
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
819
1129
|
function Card({ className, ...props }) {
|
|
820
|
-
return /* @__PURE__ */
|
|
1130
|
+
return /* @__PURE__ */ jsx16(
|
|
821
1131
|
"div",
|
|
822
1132
|
{
|
|
823
1133
|
"data-slot": "card",
|
|
@@ -830,7 +1140,7 @@ function Card({ className, ...props }) {
|
|
|
830
1140
|
);
|
|
831
1141
|
}
|
|
832
1142
|
function CardHeader({ className, ...props }) {
|
|
833
|
-
return /* @__PURE__ */
|
|
1143
|
+
return /* @__PURE__ */ jsx16(
|
|
834
1144
|
"div",
|
|
835
1145
|
{
|
|
836
1146
|
"data-slot": "card-header",
|
|
@@ -843,7 +1153,7 @@ function CardHeader({ className, ...props }) {
|
|
|
843
1153
|
);
|
|
844
1154
|
}
|
|
845
1155
|
function CardTitle({ className, ...props }) {
|
|
846
|
-
return /* @__PURE__ */
|
|
1156
|
+
return /* @__PURE__ */ jsx16(
|
|
847
1157
|
"div",
|
|
848
1158
|
{
|
|
849
1159
|
"data-slot": "card-title",
|
|
@@ -853,7 +1163,7 @@ function CardTitle({ className, ...props }) {
|
|
|
853
1163
|
);
|
|
854
1164
|
}
|
|
855
1165
|
function CardDescription({ className, ...props }) {
|
|
856
|
-
return /* @__PURE__ */
|
|
1166
|
+
return /* @__PURE__ */ jsx16(
|
|
857
1167
|
"div",
|
|
858
1168
|
{
|
|
859
1169
|
"data-slot": "card-description",
|
|
@@ -863,7 +1173,7 @@ function CardDescription({ className, ...props }) {
|
|
|
863
1173
|
);
|
|
864
1174
|
}
|
|
865
1175
|
function CardAction({ className, ...props }) {
|
|
866
|
-
return /* @__PURE__ */
|
|
1176
|
+
return /* @__PURE__ */ jsx16(
|
|
867
1177
|
"div",
|
|
868
1178
|
{
|
|
869
1179
|
"data-slot": "card-action",
|
|
@@ -876,7 +1186,7 @@ function CardAction({ className, ...props }) {
|
|
|
876
1186
|
);
|
|
877
1187
|
}
|
|
878
1188
|
function CardContent({ className, ...props }) {
|
|
879
|
-
return /* @__PURE__ */
|
|
1189
|
+
return /* @__PURE__ */ jsx16(
|
|
880
1190
|
"div",
|
|
881
1191
|
{
|
|
882
1192
|
"data-slot": "card-content",
|
|
@@ -886,7 +1196,7 @@ function CardContent({ className, ...props }) {
|
|
|
886
1196
|
);
|
|
887
1197
|
}
|
|
888
1198
|
function CardFooter({ className, ...props }) {
|
|
889
|
-
return /* @__PURE__ */
|
|
1199
|
+
return /* @__PURE__ */ jsx16(
|
|
890
1200
|
"div",
|
|
891
1201
|
{
|
|
892
1202
|
"data-slot": "card-footer",
|
|
@@ -897,13 +1207,13 @@ function CardFooter({ className, ...props }) {
|
|
|
897
1207
|
}
|
|
898
1208
|
|
|
899
1209
|
// src/components/ui/carousel.tsx
|
|
900
|
-
import * as
|
|
1210
|
+
import * as React16 from "react";
|
|
901
1211
|
import useEmblaCarousel from "embla-carousel-react";
|
|
902
1212
|
import { ArrowLeft, ArrowRight } from "lucide-react";
|
|
903
|
-
import { jsx as
|
|
904
|
-
var CarouselContext =
|
|
1213
|
+
import { jsx as jsx17, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1214
|
+
var CarouselContext = React16.createContext(null);
|
|
905
1215
|
function useCarousel() {
|
|
906
|
-
const context =
|
|
1216
|
+
const context = React16.useContext(CarouselContext);
|
|
907
1217
|
if (!context) {
|
|
908
1218
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
909
1219
|
}
|
|
@@ -925,20 +1235,20 @@ function Carousel({
|
|
|
925
1235
|
},
|
|
926
1236
|
plugins
|
|
927
1237
|
);
|
|
928
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
929
|
-
const [canScrollNext, setCanScrollNext] =
|
|
930
|
-
const onSelect =
|
|
1238
|
+
const [canScrollPrev, setCanScrollPrev] = React16.useState(false);
|
|
1239
|
+
const [canScrollNext, setCanScrollNext] = React16.useState(false);
|
|
1240
|
+
const onSelect = React16.useCallback((api2) => {
|
|
931
1241
|
if (!api2) return;
|
|
932
1242
|
setCanScrollPrev(api2.canScrollPrev());
|
|
933
1243
|
setCanScrollNext(api2.canScrollNext());
|
|
934
1244
|
}, []);
|
|
935
|
-
const scrollPrev =
|
|
1245
|
+
const scrollPrev = React16.useCallback(() => {
|
|
936
1246
|
api?.scrollPrev();
|
|
937
1247
|
}, [api]);
|
|
938
|
-
const scrollNext =
|
|
1248
|
+
const scrollNext = React16.useCallback(() => {
|
|
939
1249
|
api?.scrollNext();
|
|
940
1250
|
}, [api]);
|
|
941
|
-
const handleKeyDown =
|
|
1251
|
+
const handleKeyDown = React16.useCallback(
|
|
942
1252
|
(event) => {
|
|
943
1253
|
if (event.key === "ArrowLeft") {
|
|
944
1254
|
event.preventDefault();
|
|
@@ -950,11 +1260,11 @@ function Carousel({
|
|
|
950
1260
|
},
|
|
951
1261
|
[scrollPrev, scrollNext]
|
|
952
1262
|
);
|
|
953
|
-
|
|
1263
|
+
React16.useEffect(() => {
|
|
954
1264
|
if (!api || !setApi) return;
|
|
955
1265
|
setApi(api);
|
|
956
1266
|
}, [api, setApi]);
|
|
957
|
-
|
|
1267
|
+
React16.useEffect(() => {
|
|
958
1268
|
if (!api) return;
|
|
959
1269
|
onSelect(api);
|
|
960
1270
|
api.on("reInit", onSelect);
|
|
@@ -963,7 +1273,7 @@ function Carousel({
|
|
|
963
1273
|
api?.off("select", onSelect);
|
|
964
1274
|
};
|
|
965
1275
|
}, [api, onSelect]);
|
|
966
|
-
return /* @__PURE__ */
|
|
1276
|
+
return /* @__PURE__ */ jsx17(
|
|
967
1277
|
CarouselContext.Provider,
|
|
968
1278
|
{
|
|
969
1279
|
value: {
|
|
@@ -976,7 +1286,7 @@ function Carousel({
|
|
|
976
1286
|
canScrollPrev,
|
|
977
1287
|
canScrollNext
|
|
978
1288
|
},
|
|
979
|
-
children: /* @__PURE__ */
|
|
1289
|
+
children: /* @__PURE__ */ jsx17(
|
|
980
1290
|
"div",
|
|
981
1291
|
{
|
|
982
1292
|
onKeyDownCapture: handleKeyDown,
|
|
@@ -993,13 +1303,13 @@ function Carousel({
|
|
|
993
1303
|
}
|
|
994
1304
|
function CarouselContent({ className, ...props }) {
|
|
995
1305
|
const { carouselRef, orientation } = useCarousel();
|
|
996
|
-
return /* @__PURE__ */
|
|
1306
|
+
return /* @__PURE__ */ jsx17(
|
|
997
1307
|
"div",
|
|
998
1308
|
{
|
|
999
1309
|
ref: carouselRef,
|
|
1000
1310
|
className: "overflow-hidden",
|
|
1001
1311
|
"data-slot": "carousel-content",
|
|
1002
|
-
children: /* @__PURE__ */
|
|
1312
|
+
children: /* @__PURE__ */ jsx17(
|
|
1003
1313
|
"div",
|
|
1004
1314
|
{
|
|
1005
1315
|
className: cn(
|
|
@@ -1015,7 +1325,7 @@ function CarouselContent({ className, ...props }) {
|
|
|
1015
1325
|
}
|
|
1016
1326
|
function CarouselItem({ className, ...props }) {
|
|
1017
1327
|
const { orientation } = useCarousel();
|
|
1018
|
-
return /* @__PURE__ */
|
|
1328
|
+
return /* @__PURE__ */ jsx17(
|
|
1019
1329
|
"div",
|
|
1020
1330
|
{
|
|
1021
1331
|
role: "group",
|
|
@@ -1037,7 +1347,7 @@ function CarouselPrevious({
|
|
|
1037
1347
|
...props
|
|
1038
1348
|
}) {
|
|
1039
1349
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
1040
|
-
return /* @__PURE__ */
|
|
1350
|
+
return /* @__PURE__ */ jsxs7(
|
|
1041
1351
|
Button,
|
|
1042
1352
|
{
|
|
1043
1353
|
"data-slot": "carousel-previous",
|
|
@@ -1052,8 +1362,8 @@ function CarouselPrevious({
|
|
|
1052
1362
|
onClick: scrollPrev,
|
|
1053
1363
|
...props,
|
|
1054
1364
|
children: [
|
|
1055
|
-
/* @__PURE__ */
|
|
1056
|
-
/* @__PURE__ */
|
|
1365
|
+
/* @__PURE__ */ jsx17(ArrowLeft, {}),
|
|
1366
|
+
/* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Previous slide" })
|
|
1057
1367
|
]
|
|
1058
1368
|
}
|
|
1059
1369
|
);
|
|
@@ -1065,7 +1375,7 @@ function CarouselNext({
|
|
|
1065
1375
|
...props
|
|
1066
1376
|
}) {
|
|
1067
1377
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1068
|
-
return /* @__PURE__ */
|
|
1378
|
+
return /* @__PURE__ */ jsxs7(
|
|
1069
1379
|
Button,
|
|
1070
1380
|
{
|
|
1071
1381
|
"data-slot": "carousel-next",
|
|
@@ -1080,21 +1390,21 @@ function CarouselNext({
|
|
|
1080
1390
|
onClick: scrollNext,
|
|
1081
1391
|
...props,
|
|
1082
1392
|
children: [
|
|
1083
|
-
/* @__PURE__ */
|
|
1084
|
-
/* @__PURE__ */
|
|
1393
|
+
/* @__PURE__ */ jsx17(ArrowRight, {}),
|
|
1394
|
+
/* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Next slide" })
|
|
1085
1395
|
]
|
|
1086
1396
|
}
|
|
1087
1397
|
);
|
|
1088
1398
|
}
|
|
1089
1399
|
|
|
1090
1400
|
// src/components/ui/chart.tsx
|
|
1091
|
-
import * as
|
|
1401
|
+
import * as React17 from "react";
|
|
1092
1402
|
import * as RechartsPrimitive from "recharts";
|
|
1093
|
-
import { Fragment as Fragment2, jsx as
|
|
1403
|
+
import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1094
1404
|
var THEMES = { light: "", dark: ".dark" };
|
|
1095
|
-
var ChartContext =
|
|
1405
|
+
var ChartContext = React17.createContext(null);
|
|
1096
1406
|
function useChart() {
|
|
1097
|
-
const context =
|
|
1407
|
+
const context = React17.useContext(ChartContext);
|
|
1098
1408
|
if (!context) {
|
|
1099
1409
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
1100
1410
|
}
|
|
@@ -1107,9 +1417,9 @@ function ChartContainer({
|
|
|
1107
1417
|
config,
|
|
1108
1418
|
...props
|
|
1109
1419
|
}) {
|
|
1110
|
-
const uniqueId =
|
|
1420
|
+
const uniqueId = React17.useId();
|
|
1111
1421
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
1112
|
-
return /* @__PURE__ */
|
|
1422
|
+
return /* @__PURE__ */ jsx18(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs8(
|
|
1113
1423
|
"div",
|
|
1114
1424
|
{
|
|
1115
1425
|
"data-slot": "chart",
|
|
@@ -1120,8 +1430,8 @@ function ChartContainer({
|
|
|
1120
1430
|
),
|
|
1121
1431
|
...props,
|
|
1122
1432
|
children: [
|
|
1123
|
-
/* @__PURE__ */
|
|
1124
|
-
/* @__PURE__ */
|
|
1433
|
+
/* @__PURE__ */ jsx18(ChartStyle, { id: chartId, config }),
|
|
1434
|
+
/* @__PURE__ */ jsx18(RechartsPrimitive.ResponsiveContainer, { children })
|
|
1125
1435
|
]
|
|
1126
1436
|
}
|
|
1127
1437
|
) });
|
|
@@ -1133,7 +1443,7 @@ var ChartStyle = ({ id, config }) => {
|
|
|
1133
1443
|
if (!colorConfig.length) {
|
|
1134
1444
|
return null;
|
|
1135
1445
|
}
|
|
1136
|
-
return /* @__PURE__ */
|
|
1446
|
+
return /* @__PURE__ */ jsx18(
|
|
1137
1447
|
"style",
|
|
1138
1448
|
{
|
|
1139
1449
|
dangerouslySetInnerHTML: {
|
|
@@ -1168,7 +1478,7 @@ function ChartTooltipContent({
|
|
|
1168
1478
|
labelKey
|
|
1169
1479
|
}) {
|
|
1170
1480
|
const { config } = useChart();
|
|
1171
|
-
const tooltipLabel =
|
|
1481
|
+
const tooltipLabel = React17.useMemo(() => {
|
|
1172
1482
|
if (hideLabel || !payload?.length) {
|
|
1173
1483
|
return null;
|
|
1174
1484
|
}
|
|
@@ -1177,12 +1487,12 @@ function ChartTooltipContent({
|
|
|
1177
1487
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1178
1488
|
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
1179
1489
|
if (labelFormatter) {
|
|
1180
|
-
return /* @__PURE__ */
|
|
1490
|
+
return /* @__PURE__ */ jsx18("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
1181
1491
|
}
|
|
1182
1492
|
if (!value) {
|
|
1183
1493
|
return null;
|
|
1184
1494
|
}
|
|
1185
|
-
return /* @__PURE__ */
|
|
1495
|
+
return /* @__PURE__ */ jsx18("div", { className: cn("font-medium", labelClassName), children: value });
|
|
1186
1496
|
}, [
|
|
1187
1497
|
label,
|
|
1188
1498
|
labelFormatter,
|
|
@@ -1196,7 +1506,7 @@ function ChartTooltipContent({
|
|
|
1196
1506
|
return null;
|
|
1197
1507
|
}
|
|
1198
1508
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
1199
|
-
return /* @__PURE__ */
|
|
1509
|
+
return /* @__PURE__ */ jsxs8(
|
|
1200
1510
|
"div",
|
|
1201
1511
|
{
|
|
1202
1512
|
className: cn(
|
|
@@ -1205,19 +1515,19 @@ function ChartTooltipContent({
|
|
|
1205
1515
|
),
|
|
1206
1516
|
children: [
|
|
1207
1517
|
!nestLabel ? tooltipLabel : null,
|
|
1208
|
-
/* @__PURE__ */
|
|
1518
|
+
/* @__PURE__ */ jsx18("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
1209
1519
|
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
1210
1520
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1211
1521
|
const indicatorColor = color || item.payload.fill || item.color;
|
|
1212
|
-
return /* @__PURE__ */
|
|
1522
|
+
return /* @__PURE__ */ jsx18(
|
|
1213
1523
|
"div",
|
|
1214
1524
|
{
|
|
1215
1525
|
className: cn(
|
|
1216
1526
|
"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
|
|
1217
1527
|
indicator === "dot" && "items-center"
|
|
1218
1528
|
),
|
|
1219
|
-
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */
|
|
1220
|
-
itemConfig?.icon ? /* @__PURE__ */
|
|
1529
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1530
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx18(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx18(
|
|
1221
1531
|
"div",
|
|
1222
1532
|
{
|
|
1223
1533
|
className: cn(
|
|
@@ -1235,7 +1545,7 @@ function ChartTooltipContent({
|
|
|
1235
1545
|
}
|
|
1236
1546
|
}
|
|
1237
1547
|
),
|
|
1238
|
-
/* @__PURE__ */
|
|
1548
|
+
/* @__PURE__ */ jsxs8(
|
|
1239
1549
|
"div",
|
|
1240
1550
|
{
|
|
1241
1551
|
className: cn(
|
|
@@ -1243,11 +1553,11 @@ function ChartTooltipContent({
|
|
|
1243
1553
|
nestLabel ? "items-end" : "items-center"
|
|
1244
1554
|
),
|
|
1245
1555
|
children: [
|
|
1246
|
-
/* @__PURE__ */
|
|
1556
|
+
/* @__PURE__ */ jsxs8("div", { className: "grid gap-1.5", children: [
|
|
1247
1557
|
nestLabel ? tooltipLabel : null,
|
|
1248
|
-
/* @__PURE__ */
|
|
1558
|
+
/* @__PURE__ */ jsx18("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
1249
1559
|
] }),
|
|
1250
|
-
item.value && /* @__PURE__ */
|
|
1560
|
+
item.value && /* @__PURE__ */ jsx18("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
|
|
1251
1561
|
]
|
|
1252
1562
|
}
|
|
1253
1563
|
)
|
|
@@ -1272,7 +1582,7 @@ function ChartLegendContent({
|
|
|
1272
1582
|
if (!payload?.length) {
|
|
1273
1583
|
return null;
|
|
1274
1584
|
}
|
|
1275
|
-
return /* @__PURE__ */
|
|
1585
|
+
return /* @__PURE__ */ jsx18(
|
|
1276
1586
|
"div",
|
|
1277
1587
|
{
|
|
1278
1588
|
className: cn(
|
|
@@ -1283,14 +1593,14 @@ function ChartLegendContent({
|
|
|
1283
1593
|
children: payload.map((item) => {
|
|
1284
1594
|
const key = `${nameKey || item.dataKey || "value"}`;
|
|
1285
1595
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1286
|
-
return /* @__PURE__ */
|
|
1596
|
+
return /* @__PURE__ */ jsxs8(
|
|
1287
1597
|
"div",
|
|
1288
1598
|
{
|
|
1289
1599
|
className: cn(
|
|
1290
1600
|
"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
|
|
1291
1601
|
),
|
|
1292
1602
|
children: [
|
|
1293
|
-
itemConfig?.icon && !hideIcon ? /* @__PURE__ */
|
|
1603
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx18(itemConfig.icon, {}) : /* @__PURE__ */ jsx18(
|
|
1294
1604
|
"div",
|
|
1295
1605
|
{
|
|
1296
1606
|
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
@@ -1326,12 +1636,12 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
1326
1636
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1327
1637
|
import { Check } from "lucide-react";
|
|
1328
1638
|
import "react";
|
|
1329
|
-
import { jsx as
|
|
1639
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1330
1640
|
function Checkbox({
|
|
1331
1641
|
className,
|
|
1332
1642
|
...props
|
|
1333
1643
|
}) {
|
|
1334
|
-
return /* @__PURE__ */
|
|
1644
|
+
return /* @__PURE__ */ jsx19(
|
|
1335
1645
|
CheckboxPrimitive.Root,
|
|
1336
1646
|
{
|
|
1337
1647
|
"data-slot": "checkbox",
|
|
@@ -1340,13 +1650,13 @@ function Checkbox({
|
|
|
1340
1650
|
className
|
|
1341
1651
|
),
|
|
1342
1652
|
...props,
|
|
1343
|
-
children: /* @__PURE__ */
|
|
1653
|
+
children: /* @__PURE__ */ jsx19(
|
|
1344
1654
|
CheckboxPrimitive.Indicator,
|
|
1345
1655
|
{
|
|
1346
1656
|
"data-slot": "checkbox-indicator",
|
|
1347
1657
|
forceMount: true,
|
|
1348
1658
|
className: "flex items-center justify-center text-current transition-opacity duration-400 opacity-0 group-data-[state=checked]:opacity-100",
|
|
1349
|
-
children: /* @__PURE__ */
|
|
1659
|
+
children: /* @__PURE__ */ jsx19(Check, { className: "size-3.5" })
|
|
1350
1660
|
}
|
|
1351
1661
|
)
|
|
1352
1662
|
}
|
|
@@ -1355,16 +1665,16 @@ function Checkbox({
|
|
|
1355
1665
|
|
|
1356
1666
|
// src/components/ui/collapsible.tsx
|
|
1357
1667
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1358
|
-
import { jsx as
|
|
1668
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1359
1669
|
function Collapsible({
|
|
1360
1670
|
...props
|
|
1361
1671
|
}) {
|
|
1362
|
-
return /* @__PURE__ */
|
|
1672
|
+
return /* @__PURE__ */ jsx20(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
|
|
1363
1673
|
}
|
|
1364
1674
|
function CollapsibleTrigger2({
|
|
1365
1675
|
...props
|
|
1366
1676
|
}) {
|
|
1367
|
-
return /* @__PURE__ */
|
|
1677
|
+
return /* @__PURE__ */ jsx20(
|
|
1368
1678
|
CollapsiblePrimitive.CollapsibleTrigger,
|
|
1369
1679
|
{
|
|
1370
1680
|
"data-slot": "collapsible-trigger",
|
|
@@ -1375,7 +1685,7 @@ function CollapsibleTrigger2({
|
|
|
1375
1685
|
function CollapsibleContent2({
|
|
1376
1686
|
...props
|
|
1377
1687
|
}) {
|
|
1378
|
-
return /* @__PURE__ */
|
|
1688
|
+
return /* @__PURE__ */ jsx20(
|
|
1379
1689
|
CollapsiblePrimitive.CollapsibleContent,
|
|
1380
1690
|
{
|
|
1381
1691
|
"data-slot": "collapsible-content",
|
|
@@ -1393,32 +1703,32 @@ import { SearchIcon } from "lucide-react";
|
|
|
1393
1703
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
1394
1704
|
import { XIcon } from "lucide-react";
|
|
1395
1705
|
import "react";
|
|
1396
|
-
import { jsx as
|
|
1706
|
+
import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1397
1707
|
function Dialog({
|
|
1398
1708
|
...props
|
|
1399
1709
|
}) {
|
|
1400
|
-
return /* @__PURE__ */
|
|
1710
|
+
return /* @__PURE__ */ jsx21(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
1401
1711
|
}
|
|
1402
1712
|
function DialogTrigger({
|
|
1403
1713
|
...props
|
|
1404
1714
|
}) {
|
|
1405
|
-
return /* @__PURE__ */
|
|
1715
|
+
return /* @__PURE__ */ jsx21(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
1406
1716
|
}
|
|
1407
1717
|
function DialogPortal({
|
|
1408
1718
|
...props
|
|
1409
1719
|
}) {
|
|
1410
|
-
return /* @__PURE__ */
|
|
1720
|
+
return /* @__PURE__ */ jsx21(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
1411
1721
|
}
|
|
1412
1722
|
function DialogClose({
|
|
1413
1723
|
...props
|
|
1414
1724
|
}) {
|
|
1415
|
-
return /* @__PURE__ */
|
|
1725
|
+
return /* @__PURE__ */ jsx21(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
1416
1726
|
}
|
|
1417
1727
|
function DialogOverlay({
|
|
1418
1728
|
className,
|
|
1419
1729
|
...props
|
|
1420
1730
|
}) {
|
|
1421
|
-
return /* @__PURE__ */
|
|
1731
|
+
return /* @__PURE__ */ jsx21(
|
|
1422
1732
|
DialogPrimitive.Overlay,
|
|
1423
1733
|
{
|
|
1424
1734
|
"data-slot": "dialog-overlay",
|
|
@@ -1437,9 +1747,9 @@ function DialogContent({
|
|
|
1437
1747
|
showCloseButton = true,
|
|
1438
1748
|
...props
|
|
1439
1749
|
}) {
|
|
1440
|
-
return /* @__PURE__ */
|
|
1441
|
-
/* @__PURE__ */
|
|
1442
|
-
/* @__PURE__ */
|
|
1750
|
+
return /* @__PURE__ */ jsxs9(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
1751
|
+
/* @__PURE__ */ jsx21(DialogOverlay, { className: overlayClassName }),
|
|
1752
|
+
/* @__PURE__ */ jsxs9(
|
|
1443
1753
|
DialogPrimitive.Content,
|
|
1444
1754
|
{
|
|
1445
1755
|
"data-slot": "dialog-content",
|
|
@@ -1450,14 +1760,14 @@ function DialogContent({
|
|
|
1450
1760
|
...props,
|
|
1451
1761
|
children: [
|
|
1452
1762
|
children,
|
|
1453
|
-
showCloseButton && /* @__PURE__ */
|
|
1763
|
+
showCloseButton && /* @__PURE__ */ jsxs9(
|
|
1454
1764
|
DialogPrimitive.Close,
|
|
1455
1765
|
{
|
|
1456
1766
|
"data-slot": "dialog-close",
|
|
1457
1767
|
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1458
1768
|
children: [
|
|
1459
|
-
/* @__PURE__ */
|
|
1460
|
-
/* @__PURE__ */
|
|
1769
|
+
/* @__PURE__ */ jsx21(XIcon, {}),
|
|
1770
|
+
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
|
|
1461
1771
|
]
|
|
1462
1772
|
}
|
|
1463
1773
|
)
|
|
@@ -1467,7 +1777,7 @@ function DialogContent({
|
|
|
1467
1777
|
] });
|
|
1468
1778
|
}
|
|
1469
1779
|
function DialogHeader({ className, ...props }) {
|
|
1470
|
-
return /* @__PURE__ */
|
|
1780
|
+
return /* @__PURE__ */ jsx21(
|
|
1471
1781
|
"div",
|
|
1472
1782
|
{
|
|
1473
1783
|
"data-slot": "dialog-header",
|
|
@@ -1477,7 +1787,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
1477
1787
|
);
|
|
1478
1788
|
}
|
|
1479
1789
|
function DialogFooter({ className, ...props }) {
|
|
1480
|
-
return /* @__PURE__ */
|
|
1790
|
+
return /* @__PURE__ */ jsx21(
|
|
1481
1791
|
"div",
|
|
1482
1792
|
{
|
|
1483
1793
|
"data-slot": "dialog-footer",
|
|
@@ -1493,7 +1803,7 @@ function DialogTitle({
|
|
|
1493
1803
|
className,
|
|
1494
1804
|
...props
|
|
1495
1805
|
}) {
|
|
1496
|
-
return /* @__PURE__ */
|
|
1806
|
+
return /* @__PURE__ */ jsx21(
|
|
1497
1807
|
DialogPrimitive.Title,
|
|
1498
1808
|
{
|
|
1499
1809
|
"data-slot": "dialog-title",
|
|
@@ -1506,7 +1816,7 @@ function DialogDescription({
|
|
|
1506
1816
|
className,
|
|
1507
1817
|
...props
|
|
1508
1818
|
}) {
|
|
1509
|
-
return /* @__PURE__ */
|
|
1819
|
+
return /* @__PURE__ */ jsx21(
|
|
1510
1820
|
DialogPrimitive.Description,
|
|
1511
1821
|
{
|
|
1512
1822
|
"data-slot": "dialog-description",
|
|
@@ -1517,12 +1827,12 @@ function DialogDescription({
|
|
|
1517
1827
|
}
|
|
1518
1828
|
|
|
1519
1829
|
// src/components/ui/command.tsx
|
|
1520
|
-
import { jsx as
|
|
1830
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1521
1831
|
function Command({
|
|
1522
1832
|
className,
|
|
1523
1833
|
...props
|
|
1524
1834
|
}) {
|
|
1525
|
-
return /* @__PURE__ */
|
|
1835
|
+
return /* @__PURE__ */ jsx22(
|
|
1526
1836
|
CommandPrimitive,
|
|
1527
1837
|
{
|
|
1528
1838
|
"data-slot": "command",
|
|
@@ -1542,17 +1852,17 @@ function CommandDialog({
|
|
|
1542
1852
|
showCloseButton = true,
|
|
1543
1853
|
...props
|
|
1544
1854
|
}) {
|
|
1545
|
-
return /* @__PURE__ */
|
|
1546
|
-
/* @__PURE__ */
|
|
1547
|
-
/* @__PURE__ */
|
|
1548
|
-
/* @__PURE__ */
|
|
1855
|
+
return /* @__PURE__ */ jsxs10(Dialog, { ...props, children: [
|
|
1856
|
+
/* @__PURE__ */ jsxs10(DialogHeader, { className: "sr-only", children: [
|
|
1857
|
+
/* @__PURE__ */ jsx22(DialogTitle, { children: title }),
|
|
1858
|
+
/* @__PURE__ */ jsx22(DialogDescription, { children: description })
|
|
1549
1859
|
] }),
|
|
1550
|
-
/* @__PURE__ */
|
|
1860
|
+
/* @__PURE__ */ jsx22(
|
|
1551
1861
|
DialogContent,
|
|
1552
1862
|
{
|
|
1553
1863
|
className: cn("overflow-hidden p-0", className),
|
|
1554
1864
|
showCloseButton,
|
|
1555
|
-
children: /* @__PURE__ */
|
|
1865
|
+
children: /* @__PURE__ */ jsx22(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
1556
1866
|
}
|
|
1557
1867
|
)
|
|
1558
1868
|
] });
|
|
@@ -1561,14 +1871,14 @@ function CommandInput({
|
|
|
1561
1871
|
className,
|
|
1562
1872
|
...props
|
|
1563
1873
|
}) {
|
|
1564
|
-
return /* @__PURE__ */
|
|
1874
|
+
return /* @__PURE__ */ jsxs10(
|
|
1565
1875
|
"div",
|
|
1566
1876
|
{
|
|
1567
1877
|
"data-slot": "command-input-wrapper",
|
|
1568
1878
|
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
1569
1879
|
children: [
|
|
1570
|
-
/* @__PURE__ */
|
|
1571
|
-
/* @__PURE__ */
|
|
1880
|
+
/* @__PURE__ */ jsx22(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
1881
|
+
/* @__PURE__ */ jsx22(
|
|
1572
1882
|
CommandPrimitive.Input,
|
|
1573
1883
|
{
|
|
1574
1884
|
"data-slot": "command-input",
|
|
@@ -1587,7 +1897,7 @@ function CommandList({
|
|
|
1587
1897
|
className,
|
|
1588
1898
|
...props
|
|
1589
1899
|
}) {
|
|
1590
|
-
return /* @__PURE__ */
|
|
1900
|
+
return /* @__PURE__ */ jsx22(
|
|
1591
1901
|
CommandPrimitive.List,
|
|
1592
1902
|
{
|
|
1593
1903
|
"data-slot": "command-list",
|
|
@@ -1602,7 +1912,7 @@ function CommandList({
|
|
|
1602
1912
|
function CommandEmpty({
|
|
1603
1913
|
...props
|
|
1604
1914
|
}) {
|
|
1605
|
-
return /* @__PURE__ */
|
|
1915
|
+
return /* @__PURE__ */ jsx22(
|
|
1606
1916
|
CommandPrimitive.Empty,
|
|
1607
1917
|
{
|
|
1608
1918
|
"data-slot": "command-empty",
|
|
@@ -1615,7 +1925,7 @@ function CommandGroup({
|
|
|
1615
1925
|
className,
|
|
1616
1926
|
...props
|
|
1617
1927
|
}) {
|
|
1618
|
-
return /* @__PURE__ */
|
|
1928
|
+
return /* @__PURE__ */ jsx22(
|
|
1619
1929
|
CommandPrimitive.Group,
|
|
1620
1930
|
{
|
|
1621
1931
|
"data-slot": "command-group",
|
|
@@ -1631,7 +1941,7 @@ function CommandSeparator({
|
|
|
1631
1941
|
className,
|
|
1632
1942
|
...props
|
|
1633
1943
|
}) {
|
|
1634
|
-
return /* @__PURE__ */
|
|
1944
|
+
return /* @__PURE__ */ jsx22(
|
|
1635
1945
|
CommandPrimitive.Separator,
|
|
1636
1946
|
{
|
|
1637
1947
|
"data-slot": "command-separator",
|
|
@@ -1644,7 +1954,7 @@ function CommandItem({
|
|
|
1644
1954
|
className,
|
|
1645
1955
|
...props
|
|
1646
1956
|
}) {
|
|
1647
|
-
return /* @__PURE__ */
|
|
1957
|
+
return /* @__PURE__ */ jsx22(
|
|
1648
1958
|
CommandPrimitive.Item,
|
|
1649
1959
|
{
|
|
1650
1960
|
"data-slot": "command-item",
|
|
@@ -1660,7 +1970,7 @@ function CommandShortcut({
|
|
|
1660
1970
|
className,
|
|
1661
1971
|
...props
|
|
1662
1972
|
}) {
|
|
1663
|
-
return /* @__PURE__ */
|
|
1973
|
+
return /* @__PURE__ */ jsx22(
|
|
1664
1974
|
"span",
|
|
1665
1975
|
{
|
|
1666
1976
|
"data-slot": "command-shortcut",
|
|
@@ -1677,36 +1987,36 @@ function CommandShortcut({
|
|
|
1677
1987
|
import "react";
|
|
1678
1988
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1679
1989
|
import { CheckIcon, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
|
|
1680
|
-
import { jsx as
|
|
1990
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1681
1991
|
function ContextMenu({
|
|
1682
1992
|
...props
|
|
1683
1993
|
}) {
|
|
1684
|
-
return /* @__PURE__ */
|
|
1994
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
|
|
1685
1995
|
}
|
|
1686
1996
|
function ContextMenuTrigger({
|
|
1687
1997
|
...props
|
|
1688
1998
|
}) {
|
|
1689
|
-
return /* @__PURE__ */
|
|
1999
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
|
|
1690
2000
|
}
|
|
1691
2001
|
function ContextMenuGroup({
|
|
1692
2002
|
...props
|
|
1693
2003
|
}) {
|
|
1694
|
-
return /* @__PURE__ */
|
|
2004
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
|
|
1695
2005
|
}
|
|
1696
2006
|
function ContextMenuPortal({
|
|
1697
2007
|
...props
|
|
1698
2008
|
}) {
|
|
1699
|
-
return /* @__PURE__ */
|
|
2009
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
|
|
1700
2010
|
}
|
|
1701
2011
|
function ContextMenuSub({
|
|
1702
2012
|
...props
|
|
1703
2013
|
}) {
|
|
1704
|
-
return /* @__PURE__ */
|
|
2014
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
|
|
1705
2015
|
}
|
|
1706
2016
|
function ContextMenuRadioGroup({
|
|
1707
2017
|
...props
|
|
1708
2018
|
}) {
|
|
1709
|
-
return /* @__PURE__ */
|
|
2019
|
+
return /* @__PURE__ */ jsx23(
|
|
1710
2020
|
ContextMenuPrimitive.RadioGroup,
|
|
1711
2021
|
{
|
|
1712
2022
|
"data-slot": "context-menu-radio-group",
|
|
@@ -1720,7 +2030,7 @@ function ContextMenuSubTrigger({
|
|
|
1720
2030
|
children,
|
|
1721
2031
|
...props
|
|
1722
2032
|
}) {
|
|
1723
|
-
return /* @__PURE__ */
|
|
2033
|
+
return /* @__PURE__ */ jsxs11(
|
|
1724
2034
|
ContextMenuPrimitive.SubTrigger,
|
|
1725
2035
|
{
|
|
1726
2036
|
"data-slot": "context-menu-sub-trigger",
|
|
@@ -1732,7 +2042,7 @@ function ContextMenuSubTrigger({
|
|
|
1732
2042
|
...props,
|
|
1733
2043
|
children: [
|
|
1734
2044
|
children,
|
|
1735
|
-
/* @__PURE__ */
|
|
2045
|
+
/* @__PURE__ */ jsx23(ChevronRightIcon2, { className: "ml-auto" })
|
|
1736
2046
|
]
|
|
1737
2047
|
}
|
|
1738
2048
|
);
|
|
@@ -1741,7 +2051,7 @@ function ContextMenuSubContent({
|
|
|
1741
2051
|
className,
|
|
1742
2052
|
...props
|
|
1743
2053
|
}) {
|
|
1744
|
-
return /* @__PURE__ */
|
|
2054
|
+
return /* @__PURE__ */ jsx23(
|
|
1745
2055
|
ContextMenuPrimitive.SubContent,
|
|
1746
2056
|
{
|
|
1747
2057
|
"data-slot": "context-menu-sub-content",
|
|
@@ -1757,7 +2067,7 @@ function ContextMenuContent({
|
|
|
1757
2067
|
className,
|
|
1758
2068
|
...props
|
|
1759
2069
|
}) {
|
|
1760
|
-
return /* @__PURE__ */
|
|
2070
|
+
return /* @__PURE__ */ jsx23(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
|
|
1761
2071
|
ContextMenuPrimitive.Content,
|
|
1762
2072
|
{
|
|
1763
2073
|
"data-slot": "context-menu-content",
|
|
@@ -1775,7 +2085,7 @@ function ContextMenuItem({
|
|
|
1775
2085
|
variant = "default",
|
|
1776
2086
|
...props
|
|
1777
2087
|
}) {
|
|
1778
|
-
return /* @__PURE__ */
|
|
2088
|
+
return /* @__PURE__ */ jsx23(
|
|
1779
2089
|
ContextMenuPrimitive.Item,
|
|
1780
2090
|
{
|
|
1781
2091
|
"data-slot": "context-menu-item",
|
|
@@ -1795,7 +2105,7 @@ function ContextMenuCheckboxItem({
|
|
|
1795
2105
|
checked,
|
|
1796
2106
|
...props
|
|
1797
2107
|
}) {
|
|
1798
|
-
return /* @__PURE__ */
|
|
2108
|
+
return /* @__PURE__ */ jsxs11(
|
|
1799
2109
|
ContextMenuPrimitive.CheckboxItem,
|
|
1800
2110
|
{
|
|
1801
2111
|
"data-slot": "context-menu-checkbox-item",
|
|
@@ -1806,7 +2116,7 @@ function ContextMenuCheckboxItem({
|
|
|
1806
2116
|
checked,
|
|
1807
2117
|
...props,
|
|
1808
2118
|
children: [
|
|
1809
|
-
/* @__PURE__ */
|
|
2119
|
+
/* @__PURE__ */ jsx23("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CheckIcon, { className: "size-4" }) }) }),
|
|
1810
2120
|
children
|
|
1811
2121
|
]
|
|
1812
2122
|
}
|
|
@@ -1817,7 +2127,7 @@ function ContextMenuRadioItem({
|
|
|
1817
2127
|
children,
|
|
1818
2128
|
...props
|
|
1819
2129
|
}) {
|
|
1820
|
-
return /* @__PURE__ */
|
|
2130
|
+
return /* @__PURE__ */ jsxs11(
|
|
1821
2131
|
ContextMenuPrimitive.RadioItem,
|
|
1822
2132
|
{
|
|
1823
2133
|
"data-slot": "context-menu-radio-item",
|
|
@@ -1827,7 +2137,7 @@ function ContextMenuRadioItem({
|
|
|
1827
2137
|
),
|
|
1828
2138
|
...props,
|
|
1829
2139
|
children: [
|
|
1830
|
-
/* @__PURE__ */
|
|
2140
|
+
/* @__PURE__ */ jsx23("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CircleIcon, { className: "size-2 fill-current" }) }) }),
|
|
1831
2141
|
children
|
|
1832
2142
|
]
|
|
1833
2143
|
}
|
|
@@ -1838,7 +2148,7 @@ function ContextMenuLabel({
|
|
|
1838
2148
|
inset,
|
|
1839
2149
|
...props
|
|
1840
2150
|
}) {
|
|
1841
|
-
return /* @__PURE__ */
|
|
2151
|
+
return /* @__PURE__ */ jsx23(
|
|
1842
2152
|
ContextMenuPrimitive.Label,
|
|
1843
2153
|
{
|
|
1844
2154
|
"data-slot": "context-menu-label",
|
|
@@ -1855,7 +2165,7 @@ function ContextMenuSeparator({
|
|
|
1855
2165
|
className,
|
|
1856
2166
|
...props
|
|
1857
2167
|
}) {
|
|
1858
|
-
return /* @__PURE__ */
|
|
2168
|
+
return /* @__PURE__ */ jsx23(
|
|
1859
2169
|
ContextMenuPrimitive.Separator,
|
|
1860
2170
|
{
|
|
1861
2171
|
"data-slot": "context-menu-separator",
|
|
@@ -1868,7 +2178,7 @@ function ContextMenuShortcut({
|
|
|
1868
2178
|
className,
|
|
1869
2179
|
...props
|
|
1870
2180
|
}) {
|
|
1871
|
-
return /* @__PURE__ */
|
|
2181
|
+
return /* @__PURE__ */ jsx23(
|
|
1872
2182
|
"span",
|
|
1873
2183
|
{
|
|
1874
2184
|
"data-slot": "context-menu-shortcut",
|
|
@@ -1889,16 +2199,16 @@ import {
|
|
|
1889
2199
|
isValid
|
|
1890
2200
|
} from "date-fns";
|
|
1891
2201
|
import { CalendarDays } from "lucide-react";
|
|
1892
|
-
import * as
|
|
2202
|
+
import * as React24 from "react";
|
|
1893
2203
|
|
|
1894
2204
|
// src/components/ui/input.tsx
|
|
1895
|
-
import { cva as
|
|
1896
|
-
import * as
|
|
1897
|
-
import { jsx as
|
|
1898
|
-
var inputVariants =
|
|
2205
|
+
import { cva as cva8 } from "class-variance-authority";
|
|
2206
|
+
import * as React22 from "react";
|
|
2207
|
+
import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2208
|
+
var inputVariants = cva8(
|
|
1899
2209
|
[
|
|
1900
2210
|
// Base styles
|
|
1901
|
-
"file:text-
|
|
2211
|
+
"file:text-foreground-secondary placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
1902
2212
|
"flex w-full min-w-0 rounded-md border bg-transparent text-base transition-all duration-400",
|
|
1903
2213
|
"outline-none font-sans",
|
|
1904
2214
|
// File input styles
|
|
@@ -1908,11 +2218,11 @@ var inputVariants = cva4(
|
|
|
1908
2218
|
// Responsive text size
|
|
1909
2219
|
"md:text-sm",
|
|
1910
2220
|
// Default state
|
|
1911
|
-
"border-
|
|
2221
|
+
"border-border-default bg-background",
|
|
1912
2222
|
// Hover state
|
|
1913
2223
|
"hover:border-primary-stroke-default",
|
|
1914
2224
|
// Focus state
|
|
1915
|
-
"focus:border-
|
|
2225
|
+
"focus:border-focus-ring",
|
|
1916
2226
|
"active:border-brand-normal"
|
|
1917
2227
|
],
|
|
1918
2228
|
{
|
|
@@ -1928,7 +2238,7 @@ var inputVariants = cva4(
|
|
|
1928
2238
|
}
|
|
1929
2239
|
}
|
|
1930
2240
|
);
|
|
1931
|
-
var Input =
|
|
2241
|
+
var Input = React22.forwardRef(
|
|
1932
2242
|
({
|
|
1933
2243
|
className,
|
|
1934
2244
|
type,
|
|
@@ -1948,8 +2258,8 @@ var Input = React18.forwardRef(
|
|
|
1948
2258
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
1949
2259
|
] : [];
|
|
1950
2260
|
if (leftIcon || rightIcon) {
|
|
1951
|
-
return /* @__PURE__ */
|
|
1952
|
-
/* @__PURE__ */
|
|
2261
|
+
return /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
|
|
2262
|
+
/* @__PURE__ */ jsx24(
|
|
1953
2263
|
"input",
|
|
1954
2264
|
{
|
|
1955
2265
|
type,
|
|
@@ -1967,24 +2277,24 @@ var Input = React18.forwardRef(
|
|
|
1967
2277
|
...props
|
|
1968
2278
|
}
|
|
1969
2279
|
),
|
|
1970
|
-
leftIcon && /* @__PURE__ */
|
|
2280
|
+
leftIcon && /* @__PURE__ */ jsx24(
|
|
1971
2281
|
"div",
|
|
1972
2282
|
{
|
|
1973
2283
|
className: cn(
|
|
1974
2284
|
"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
1975
2285
|
"transition-colors stroke-[1.5px]",
|
|
1976
|
-
error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-
|
|
2286
|
+
error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-focus-ring peer-active:text-brand-normal",
|
|
1977
2287
|
leftIconClassName
|
|
1978
2288
|
),
|
|
1979
|
-
children:
|
|
2289
|
+
children: React22.isValidElement(leftIcon) ? (() => {
|
|
1980
2290
|
const iconEl = leftIcon;
|
|
1981
|
-
return
|
|
2291
|
+
return React22.cloneElement(iconEl, {
|
|
1982
2292
|
className: cn("h-4 w-4", iconEl.props.className)
|
|
1983
2293
|
});
|
|
1984
2294
|
})() : leftIcon
|
|
1985
2295
|
}
|
|
1986
2296
|
),
|
|
1987
|
-
rightIcon && /* @__PURE__ */
|
|
2297
|
+
rightIcon && /* @__PURE__ */ jsx24(
|
|
1988
2298
|
Button,
|
|
1989
2299
|
{
|
|
1990
2300
|
onClick: rightIconOnClick,
|
|
@@ -1993,14 +2303,14 @@ var Input = React18.forwardRef(
|
|
|
1993
2303
|
className: cn(
|
|
1994
2304
|
"absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
1995
2305
|
"h-6 w-6 rounded-sm transition-colors",
|
|
1996
|
-
error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-
|
|
2306
|
+
error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-focus-ring",
|
|
1997
2307
|
rightIconClassName
|
|
1998
2308
|
),
|
|
1999
2309
|
"aria-label": "Input action",
|
|
2000
2310
|
...rightIconButtonProps,
|
|
2001
|
-
children:
|
|
2311
|
+
children: React22.isValidElement(rightIcon) ? (() => {
|
|
2002
2312
|
const iconEl = rightIcon;
|
|
2003
|
-
return
|
|
2313
|
+
return React22.cloneElement(iconEl, {
|
|
2004
2314
|
className: cn("h-4 w-4", iconEl.props.className)
|
|
2005
2315
|
});
|
|
2006
2316
|
})() : rightIcon
|
|
@@ -2008,7 +2318,7 @@ var Input = React18.forwardRef(
|
|
|
2008
2318
|
)
|
|
2009
2319
|
] });
|
|
2010
2320
|
}
|
|
2011
|
-
return /* @__PURE__ */
|
|
2321
|
+
return /* @__PURE__ */ jsx24(
|
|
2012
2322
|
"input",
|
|
2013
2323
|
{
|
|
2014
2324
|
type,
|
|
@@ -2026,16 +2336,16 @@ Input.displayName = "Input";
|
|
|
2026
2336
|
// src/components/ui/popover.tsx
|
|
2027
2337
|
import "react";
|
|
2028
2338
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2029
|
-
import { jsx as
|
|
2339
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
2030
2340
|
function Popover({
|
|
2031
2341
|
...props
|
|
2032
2342
|
}) {
|
|
2033
|
-
return /* @__PURE__ */
|
|
2343
|
+
return /* @__PURE__ */ jsx25(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
2034
2344
|
}
|
|
2035
2345
|
function PopoverTrigger({
|
|
2036
2346
|
...props
|
|
2037
2347
|
}) {
|
|
2038
|
-
return /* @__PURE__ */
|
|
2348
|
+
return /* @__PURE__ */ jsx25(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2039
2349
|
}
|
|
2040
2350
|
function PopoverContent({
|
|
2041
2351
|
className,
|
|
@@ -2043,7 +2353,7 @@ function PopoverContent({
|
|
|
2043
2353
|
sideOffset = 4,
|
|
2044
2354
|
...props
|
|
2045
2355
|
}) {
|
|
2046
|
-
return /* @__PURE__ */
|
|
2356
|
+
return /* @__PURE__ */ jsx25(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
|
|
2047
2357
|
PopoverPrimitive.Content,
|
|
2048
2358
|
{
|
|
2049
2359
|
"data-slot": "popover-content",
|
|
@@ -2060,11 +2370,11 @@ function PopoverContent({
|
|
|
2060
2370
|
function PopoverAnchor({
|
|
2061
2371
|
...props
|
|
2062
2372
|
}) {
|
|
2063
|
-
return /* @__PURE__ */
|
|
2373
|
+
return /* @__PURE__ */ jsx25(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
2064
2374
|
}
|
|
2065
2375
|
|
|
2066
2376
|
// src/components/ui/date-input.tsx
|
|
2067
|
-
import { jsx as
|
|
2377
|
+
import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2068
2378
|
var DATE_FORMAT_TOKENS = {
|
|
2069
2379
|
"MM/DD/YYYY": "MM/dd/yyyy",
|
|
2070
2380
|
"DD/MM/YYYY": "dd/MM/yyyy",
|
|
@@ -2199,10 +2509,10 @@ function DateInput({
|
|
|
2199
2509
|
...restProps
|
|
2200
2510
|
}) {
|
|
2201
2511
|
const resolvedPlaceholder = placeholder ?? DATE_FORMAT_PLACEHOLDER[dateFormat];
|
|
2202
|
-
const [open, setOpen] =
|
|
2203
|
-
const [monthState, setMonthState] =
|
|
2204
|
-
const [value, setValue] =
|
|
2205
|
-
const [inputProps, calendarProps] =
|
|
2512
|
+
const [open, setOpen] = React24.useState(false);
|
|
2513
|
+
const [monthState, setMonthState] = React24.useState(date ?? null);
|
|
2514
|
+
const [value, setValue] = React24.useState(formatDate(date ?? null, dateFormat));
|
|
2515
|
+
const [inputProps, calendarProps] = React24.useMemo(() => {
|
|
2206
2516
|
const nextInputProps = {};
|
|
2207
2517
|
const nextCalendarProps = {};
|
|
2208
2518
|
for (const [key, val] of Object.entries(restProps)) {
|
|
@@ -2218,12 +2528,12 @@ function DateInput({
|
|
|
2218
2528
|
nextCalendarProps
|
|
2219
2529
|
];
|
|
2220
2530
|
}, [restProps]);
|
|
2221
|
-
const today =
|
|
2531
|
+
const today = React24.useMemo(() => {
|
|
2222
2532
|
const d = /* @__PURE__ */ new Date();
|
|
2223
2533
|
d.setHours(0, 0, 0, 0);
|
|
2224
2534
|
return d;
|
|
2225
2535
|
}, []);
|
|
2226
|
-
const effectiveMaxDate =
|
|
2536
|
+
const effectiveMaxDate = React24.useMemo(() => {
|
|
2227
2537
|
if (disableFuture) {
|
|
2228
2538
|
if (maxDate) {
|
|
2229
2539
|
const max = new Date(maxDate);
|
|
@@ -2239,7 +2549,7 @@ function DateInput({
|
|
|
2239
2549
|
}
|
|
2240
2550
|
return void 0;
|
|
2241
2551
|
}, [maxDate, disableFuture, today]);
|
|
2242
|
-
const effectiveMinDate =
|
|
2552
|
+
const effectiveMinDate = React24.useMemo(() => {
|
|
2243
2553
|
if (minDate) {
|
|
2244
2554
|
const min = new Date(minDate);
|
|
2245
2555
|
min.setHours(0, 0, 0, 0);
|
|
@@ -2247,19 +2557,19 @@ function DateInput({
|
|
|
2247
2557
|
}
|
|
2248
2558
|
return null;
|
|
2249
2559
|
}, [minDate]);
|
|
2250
|
-
const dropdownStartMonth =
|
|
2560
|
+
const dropdownStartMonth = React24.useMemo(() => {
|
|
2251
2561
|
if (effectiveMinDate) return effectiveMinDate;
|
|
2252
2562
|
const d = new Date(today);
|
|
2253
2563
|
d.setFullYear(d.getFullYear() - 100);
|
|
2254
2564
|
return d;
|
|
2255
2565
|
}, [effectiveMinDate, today]);
|
|
2256
|
-
const dropdownEndMonth =
|
|
2566
|
+
const dropdownEndMonth = React24.useMemo(() => {
|
|
2257
2567
|
if (effectiveMaxDate) return effectiveMaxDate;
|
|
2258
2568
|
const d = new Date(today);
|
|
2259
2569
|
d.setFullYear(d.getFullYear() + 100);
|
|
2260
2570
|
return d;
|
|
2261
2571
|
}, [effectiveMaxDate, today]);
|
|
2262
|
-
|
|
2572
|
+
React24.useEffect(() => {
|
|
2263
2573
|
if (date) {
|
|
2264
2574
|
setValue(formatDate(date, dateFormat));
|
|
2265
2575
|
setMonthState(date);
|
|
@@ -2349,8 +2659,8 @@ function DateInput({
|
|
|
2349
2659
|
}
|
|
2350
2660
|
}
|
|
2351
2661
|
};
|
|
2352
|
-
return /* @__PURE__ */
|
|
2353
|
-
/* @__PURE__ */
|
|
2662
|
+
return /* @__PURE__ */ jsx26("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs13(Popover, { open, onOpenChange: setOpen, children: [
|
|
2663
|
+
/* @__PURE__ */ jsx26(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsx26("div", { className: "w-full relative group", children: /* @__PURE__ */ jsx26(
|
|
2354
2664
|
Input,
|
|
2355
2665
|
{
|
|
2356
2666
|
id: "date",
|
|
@@ -2358,7 +2668,7 @@ function DateInput({
|
|
|
2358
2668
|
placeholder: resolvedPlaceholder,
|
|
2359
2669
|
className: cn(
|
|
2360
2670
|
"bg-background cursor-pointer",
|
|
2361
|
-
"group-data-[state=open]:border-
|
|
2671
|
+
"group-data-[state=open]:border-focus-ring group-data-[state=open]:hover:border-focus-ring",
|
|
2362
2672
|
inputClassName
|
|
2363
2673
|
),
|
|
2364
2674
|
onChange: handleInputChange,
|
|
@@ -2370,13 +2680,13 @@ function DateInput({
|
|
|
2370
2680
|
setOpen(true);
|
|
2371
2681
|
}
|
|
2372
2682
|
},
|
|
2373
|
-
rightIcon: /* @__PURE__ */
|
|
2683
|
+
rightIcon: /* @__PURE__ */ jsx26(CalendarDays, { className: "h-4 w-4 text-muted-foreground" }),
|
|
2374
2684
|
rightIconOnClick: isInputDisabled ? void 0 : () => setOpen(!open),
|
|
2375
2685
|
rightIconButtonProps: { disabled: isInputDisabled },
|
|
2376
2686
|
...inputProps
|
|
2377
2687
|
}
|
|
2378
2688
|
) }) }),
|
|
2379
|
-
/* @__PURE__ */
|
|
2689
|
+
/* @__PURE__ */ jsx26(
|
|
2380
2690
|
PopoverContent,
|
|
2381
2691
|
{
|
|
2382
2692
|
className: cn(
|
|
@@ -2384,7 +2694,7 @@ function DateInput({
|
|
|
2384
2694
|
popoverContentClassName
|
|
2385
2695
|
),
|
|
2386
2696
|
...popoverContentProps,
|
|
2387
|
-
children: /* @__PURE__ */
|
|
2697
|
+
children: /* @__PURE__ */ jsx26("div", { className: "border border-focus-ring h-full w-full rounded-md", children: /* @__PURE__ */ jsx26(Calendar, { ...resolvedCalendarProps }) })
|
|
2388
2698
|
}
|
|
2389
2699
|
)
|
|
2390
2700
|
] }) });
|
|
@@ -2394,8 +2704,8 @@ function DateInput({
|
|
|
2394
2704
|
import "class-variance-authority";
|
|
2395
2705
|
import { format as dateFnsFormat2, isValid as isValid2 } from "date-fns";
|
|
2396
2706
|
import { CalendarDays as CalendarDays2 } from "lucide-react";
|
|
2397
|
-
import * as
|
|
2398
|
-
import { jsx as
|
|
2707
|
+
import * as React25 from "react";
|
|
2708
|
+
import { jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2399
2709
|
var DATE_FORMAT_TOKENS2 = {
|
|
2400
2710
|
"MM/DD/YYYY": "MM/dd/yyyy",
|
|
2401
2711
|
"DD/MM/YYYY": "dd/MM/yyyy",
|
|
@@ -2477,22 +2787,22 @@ function DateRangeInput({
|
|
|
2477
2787
|
...restProps
|
|
2478
2788
|
}) {
|
|
2479
2789
|
const resolvedPlaceholder = placeholder ?? rangePlaceholder(dateFormat);
|
|
2480
|
-
const [open, setOpen] =
|
|
2481
|
-
const [monthState, setMonthState] =
|
|
2790
|
+
const [open, setOpen] = React25.useState(false);
|
|
2791
|
+
const [monthState, setMonthState] = React25.useState(
|
|
2482
2792
|
dateRange?.from ?? null
|
|
2483
2793
|
);
|
|
2484
2794
|
const displayValue = formatRange(dateRange, dateFormat);
|
|
2485
|
-
|
|
2795
|
+
React25.useEffect(() => {
|
|
2486
2796
|
if (dateRange?.from) {
|
|
2487
2797
|
setMonthState(dateRange.from);
|
|
2488
2798
|
}
|
|
2489
2799
|
}, [dateRange]);
|
|
2490
|
-
const today =
|
|
2800
|
+
const today = React25.useMemo(() => {
|
|
2491
2801
|
const d = /* @__PURE__ */ new Date();
|
|
2492
2802
|
d.setHours(0, 0, 0, 0);
|
|
2493
2803
|
return d;
|
|
2494
2804
|
}, []);
|
|
2495
|
-
const effectiveMaxDate =
|
|
2805
|
+
const effectiveMaxDate = React25.useMemo(() => {
|
|
2496
2806
|
if (disableFuture) {
|
|
2497
2807
|
if (maxDate) {
|
|
2498
2808
|
const max = new Date(maxDate);
|
|
@@ -2508,7 +2818,7 @@ function DateRangeInput({
|
|
|
2508
2818
|
}
|
|
2509
2819
|
return void 0;
|
|
2510
2820
|
}, [maxDate, disableFuture, today]);
|
|
2511
|
-
const effectiveMinDate =
|
|
2821
|
+
const effectiveMinDate = React25.useMemo(() => {
|
|
2512
2822
|
if (minDate) {
|
|
2513
2823
|
const min = new Date(minDate);
|
|
2514
2824
|
min.setHours(0, 0, 0, 0);
|
|
@@ -2516,13 +2826,13 @@ function DateRangeInput({
|
|
|
2516
2826
|
}
|
|
2517
2827
|
return null;
|
|
2518
2828
|
}, [minDate]);
|
|
2519
|
-
const dropdownStartMonth =
|
|
2829
|
+
const dropdownStartMonth = React25.useMemo(() => {
|
|
2520
2830
|
if (effectiveMinDate) return effectiveMinDate;
|
|
2521
2831
|
const d = new Date(today);
|
|
2522
2832
|
d.setFullYear(d.getFullYear() - 100);
|
|
2523
2833
|
return d;
|
|
2524
2834
|
}, [effectiveMinDate, today]);
|
|
2525
|
-
const dropdownEndMonth =
|
|
2835
|
+
const dropdownEndMonth = React25.useMemo(() => {
|
|
2526
2836
|
if (effectiveMaxDate) return effectiveMaxDate;
|
|
2527
2837
|
const d = new Date(today);
|
|
2528
2838
|
d.setFullYear(d.getFullYear() + 100);
|
|
@@ -2572,8 +2882,8 @@ function DateRangeInput({
|
|
|
2572
2882
|
onSelect: handleCalendarSelect,
|
|
2573
2883
|
disabled: calendarDisabled ?? defaultCalendarDisabled
|
|
2574
2884
|
};
|
|
2575
|
-
return /* @__PURE__ */
|
|
2576
|
-
/* @__PURE__ */
|
|
2885
|
+
return /* @__PURE__ */ jsx27("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs14(Popover, { open, onOpenChange: setOpen, children: [
|
|
2886
|
+
/* @__PURE__ */ jsx27(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsxs14(
|
|
2577
2887
|
Button,
|
|
2578
2888
|
{
|
|
2579
2889
|
type: "button",
|
|
@@ -2581,18 +2891,18 @@ function DateRangeInput({
|
|
|
2581
2891
|
className: cn(
|
|
2582
2892
|
inputVariants({ size }),
|
|
2583
2893
|
"bg-background cursor-pointer w-full text-left flex items-center justify-between gap-2 font-normal",
|
|
2584
|
-
"data-[state=open]:border-
|
|
2894
|
+
"data-[state=open]:border-focus-ring data-[state=open]:hover:border-focus-ring",
|
|
2585
2895
|
isInputDisabled && "pointer-events-none cursor-not-allowed opacity-50",
|
|
2586
2896
|
inputClassName
|
|
2587
2897
|
),
|
|
2588
2898
|
disabled: isInputDisabled,
|
|
2589
2899
|
children: [
|
|
2590
2900
|
displayValue || resolvedPlaceholder,
|
|
2591
|
-
/* @__PURE__ */
|
|
2901
|
+
/* @__PURE__ */ jsx27(CalendarDays2, { className: "h-4 w-4 text-muted-foreground shrink-0" })
|
|
2592
2902
|
]
|
|
2593
2903
|
}
|
|
2594
2904
|
) }),
|
|
2595
|
-
/* @__PURE__ */
|
|
2905
|
+
/* @__PURE__ */ jsx27(
|
|
2596
2906
|
PopoverContent,
|
|
2597
2907
|
{
|
|
2598
2908
|
className: cn(
|
|
@@ -2600,10 +2910,10 @@ function DateRangeInput({
|
|
|
2600
2910
|
popoverContentClassName
|
|
2601
2911
|
),
|
|
2602
2912
|
...popoverContentProps,
|
|
2603
|
-
children: /* @__PURE__ */
|
|
2604
|
-
/* @__PURE__ */
|
|
2605
|
-
/* @__PURE__ */
|
|
2606
|
-
/* @__PURE__ */
|
|
2913
|
+
children: /* @__PURE__ */ jsxs14("div", { className: "border border-focus-ring h-full w-full rounded-md flex flex-col overflow-y-auto justify-between", children: [
|
|
2914
|
+
/* @__PURE__ */ jsx27(Calendar, { ...resolvedCalendarProps }),
|
|
2915
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-2 px-2 pb-1 shrink-0", children: [
|
|
2916
|
+
/* @__PURE__ */ jsx27(
|
|
2607
2917
|
Button,
|
|
2608
2918
|
{
|
|
2609
2919
|
variant: "ghost-secondary",
|
|
@@ -2613,7 +2923,7 @@ function DateRangeInput({
|
|
|
2613
2923
|
children: "Clear"
|
|
2614
2924
|
}
|
|
2615
2925
|
),
|
|
2616
|
-
/* @__PURE__ */
|
|
2926
|
+
/* @__PURE__ */ jsx27(
|
|
2617
2927
|
Button,
|
|
2618
2928
|
{
|
|
2619
2929
|
variant: "primary",
|
|
@@ -2633,32 +2943,32 @@ function DateRangeInput({
|
|
|
2633
2943
|
// src/components/ui/drawer.tsx
|
|
2634
2944
|
import "react";
|
|
2635
2945
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
2636
|
-
import { jsx as
|
|
2946
|
+
import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2637
2947
|
function Drawer({
|
|
2638
2948
|
...props
|
|
2639
2949
|
}) {
|
|
2640
|
-
return /* @__PURE__ */
|
|
2950
|
+
return /* @__PURE__ */ jsx28(DrawerPrimitive.Root, { "data-slot": "drawer", ...props, repositionInputs: false });
|
|
2641
2951
|
}
|
|
2642
2952
|
function DrawerTrigger({
|
|
2643
2953
|
...props
|
|
2644
2954
|
}) {
|
|
2645
|
-
return /* @__PURE__ */
|
|
2955
|
+
return /* @__PURE__ */ jsx28(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
2646
2956
|
}
|
|
2647
2957
|
function DrawerPortal({
|
|
2648
2958
|
...props
|
|
2649
2959
|
}) {
|
|
2650
|
-
return /* @__PURE__ */
|
|
2960
|
+
return /* @__PURE__ */ jsx28(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
|
|
2651
2961
|
}
|
|
2652
2962
|
function DrawerClose({
|
|
2653
2963
|
...props
|
|
2654
2964
|
}) {
|
|
2655
|
-
return /* @__PURE__ */
|
|
2965
|
+
return /* @__PURE__ */ jsx28(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
|
|
2656
2966
|
}
|
|
2657
2967
|
function DrawerOverlay({
|
|
2658
2968
|
className,
|
|
2659
2969
|
...props
|
|
2660
2970
|
}) {
|
|
2661
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ jsx28(
|
|
2662
2972
|
DrawerPrimitive.Overlay,
|
|
2663
2973
|
{
|
|
2664
2974
|
"data-slot": "drawer-overlay",
|
|
@@ -2676,9 +2986,9 @@ function DrawerContent({
|
|
|
2676
2986
|
withCloseButton = true,
|
|
2677
2987
|
...props
|
|
2678
2988
|
}) {
|
|
2679
|
-
return /* @__PURE__ */
|
|
2680
|
-
/* @__PURE__ */
|
|
2681
|
-
/* @__PURE__ */
|
|
2989
|
+
return /* @__PURE__ */ jsxs15(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
2990
|
+
/* @__PURE__ */ jsx28(DrawerOverlay, {}),
|
|
2991
|
+
/* @__PURE__ */ jsxs15(
|
|
2682
2992
|
DrawerPrimitive.Content,
|
|
2683
2993
|
{
|
|
2684
2994
|
"data-slot": "drawer-content",
|
|
@@ -2692,7 +3002,7 @@ function DrawerContent({
|
|
|
2692
3002
|
),
|
|
2693
3003
|
...props,
|
|
2694
3004
|
children: [
|
|
2695
|
-
withCloseButton && /* @__PURE__ */
|
|
3005
|
+
withCloseButton && /* @__PURE__ */ jsx28("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
2696
3006
|
children
|
|
2697
3007
|
]
|
|
2698
3008
|
}
|
|
@@ -2700,7 +3010,7 @@ function DrawerContent({
|
|
|
2700
3010
|
] });
|
|
2701
3011
|
}
|
|
2702
3012
|
function DrawerHeader({ className, ...props }) {
|
|
2703
|
-
return /* @__PURE__ */
|
|
3013
|
+
return /* @__PURE__ */ jsx28(
|
|
2704
3014
|
"div",
|
|
2705
3015
|
{
|
|
2706
3016
|
"data-slot": "drawer-header",
|
|
@@ -2713,7 +3023,7 @@ function DrawerHeader({ className, ...props }) {
|
|
|
2713
3023
|
);
|
|
2714
3024
|
}
|
|
2715
3025
|
function DrawerFooter({ className, ...props }) {
|
|
2716
|
-
return /* @__PURE__ */
|
|
3026
|
+
return /* @__PURE__ */ jsx28(
|
|
2717
3027
|
"div",
|
|
2718
3028
|
{
|
|
2719
3029
|
"data-slot": "drawer-footer",
|
|
@@ -2726,7 +3036,7 @@ function DrawerTitle({
|
|
|
2726
3036
|
className,
|
|
2727
3037
|
...props
|
|
2728
3038
|
}) {
|
|
2729
|
-
return /* @__PURE__ */
|
|
3039
|
+
return /* @__PURE__ */ jsx28(
|
|
2730
3040
|
DrawerPrimitive.Title,
|
|
2731
3041
|
{
|
|
2732
3042
|
"data-slot": "drawer-title",
|
|
@@ -2739,7 +3049,7 @@ function DrawerDescription({
|
|
|
2739
3049
|
className,
|
|
2740
3050
|
...props
|
|
2741
3051
|
}) {
|
|
2742
|
-
return /* @__PURE__ */
|
|
3052
|
+
return /* @__PURE__ */ jsx28(
|
|
2743
3053
|
DrawerPrimitive.Description,
|
|
2744
3054
|
{
|
|
2745
3055
|
"data-slot": "drawer-description",
|
|
@@ -2753,21 +3063,21 @@ function DrawerDescription({
|
|
|
2753
3063
|
import "react";
|
|
2754
3064
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
2755
3065
|
import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
|
|
2756
|
-
import { jsx as
|
|
3066
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2757
3067
|
function DropdownMenu({
|
|
2758
3068
|
...props
|
|
2759
3069
|
}) {
|
|
2760
|
-
return /* @__PURE__ */
|
|
3070
|
+
return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
2761
3071
|
}
|
|
2762
3072
|
function DropdownMenuPortal({
|
|
2763
3073
|
...props
|
|
2764
3074
|
}) {
|
|
2765
|
-
return /* @__PURE__ */
|
|
3075
|
+
return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
2766
3076
|
}
|
|
2767
3077
|
function DropdownMenuTrigger({
|
|
2768
3078
|
...props
|
|
2769
3079
|
}) {
|
|
2770
|
-
return /* @__PURE__ */
|
|
3080
|
+
return /* @__PURE__ */ jsx29(
|
|
2771
3081
|
DropdownMenuPrimitive.Trigger,
|
|
2772
3082
|
{
|
|
2773
3083
|
"data-slot": "dropdown-menu-trigger",
|
|
@@ -2780,7 +3090,7 @@ function DropdownMenuContent({
|
|
|
2780
3090
|
sideOffset = 4,
|
|
2781
3091
|
...props
|
|
2782
3092
|
}) {
|
|
2783
|
-
return /* @__PURE__ */
|
|
3093
|
+
return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
|
|
2784
3094
|
DropdownMenuPrimitive.Content,
|
|
2785
3095
|
{
|
|
2786
3096
|
"data-slot": "dropdown-menu-content",
|
|
@@ -2796,7 +3106,7 @@ function DropdownMenuContent({
|
|
|
2796
3106
|
function DropdownMenuGroup({
|
|
2797
3107
|
...props
|
|
2798
3108
|
}) {
|
|
2799
|
-
return /* @__PURE__ */
|
|
3109
|
+
return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
2800
3110
|
}
|
|
2801
3111
|
function DropdownMenuItem({
|
|
2802
3112
|
className,
|
|
@@ -2804,7 +3114,7 @@ function DropdownMenuItem({
|
|
|
2804
3114
|
variant = "default",
|
|
2805
3115
|
...props
|
|
2806
3116
|
}) {
|
|
2807
|
-
return /* @__PURE__ */
|
|
3117
|
+
return /* @__PURE__ */ jsx29(
|
|
2808
3118
|
DropdownMenuPrimitive.Item,
|
|
2809
3119
|
{
|
|
2810
3120
|
"data-slot": "dropdown-menu-item",
|
|
@@ -2824,7 +3134,7 @@ function DropdownMenuCheckboxItem({
|
|
|
2824
3134
|
checked,
|
|
2825
3135
|
...props
|
|
2826
3136
|
}) {
|
|
2827
|
-
return /* @__PURE__ */
|
|
3137
|
+
return /* @__PURE__ */ jsxs16(
|
|
2828
3138
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2829
3139
|
{
|
|
2830
3140
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
@@ -2835,7 +3145,7 @@ function DropdownMenuCheckboxItem({
|
|
|
2835
3145
|
checked,
|
|
2836
3146
|
...props,
|
|
2837
3147
|
children: [
|
|
2838
|
-
/* @__PURE__ */
|
|
3148
|
+
/* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CheckIcon2, { className: "size-4" }) }) }),
|
|
2839
3149
|
children
|
|
2840
3150
|
]
|
|
2841
3151
|
}
|
|
@@ -2844,7 +3154,7 @@ function DropdownMenuCheckboxItem({
|
|
|
2844
3154
|
function DropdownMenuRadioGroup({
|
|
2845
3155
|
...props
|
|
2846
3156
|
}) {
|
|
2847
|
-
return /* @__PURE__ */
|
|
3157
|
+
return /* @__PURE__ */ jsx29(
|
|
2848
3158
|
DropdownMenuPrimitive.RadioGroup,
|
|
2849
3159
|
{
|
|
2850
3160
|
"data-slot": "dropdown-menu-radio-group",
|
|
@@ -2857,7 +3167,7 @@ function DropdownMenuRadioItem({
|
|
|
2857
3167
|
children,
|
|
2858
3168
|
...props
|
|
2859
3169
|
}) {
|
|
2860
|
-
return /* @__PURE__ */
|
|
3170
|
+
return /* @__PURE__ */ jsxs16(
|
|
2861
3171
|
DropdownMenuPrimitive.RadioItem,
|
|
2862
3172
|
{
|
|
2863
3173
|
"data-slot": "dropdown-menu-radio-item",
|
|
@@ -2867,7 +3177,7 @@ function DropdownMenuRadioItem({
|
|
|
2867
3177
|
),
|
|
2868
3178
|
...props,
|
|
2869
3179
|
children: [
|
|
2870
|
-
/* @__PURE__ */
|
|
3180
|
+
/* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CircleIcon2, { className: "size-2 fill-current" }) }) }),
|
|
2871
3181
|
children
|
|
2872
3182
|
]
|
|
2873
3183
|
}
|
|
@@ -2878,7 +3188,7 @@ function DropdownMenuLabel({
|
|
|
2878
3188
|
inset,
|
|
2879
3189
|
...props
|
|
2880
3190
|
}) {
|
|
2881
|
-
return /* @__PURE__ */
|
|
3191
|
+
return /* @__PURE__ */ jsx29(
|
|
2882
3192
|
DropdownMenuPrimitive.Label,
|
|
2883
3193
|
{
|
|
2884
3194
|
"data-slot": "dropdown-menu-label",
|
|
@@ -2895,7 +3205,7 @@ function DropdownMenuSeparator({
|
|
|
2895
3205
|
className,
|
|
2896
3206
|
...props
|
|
2897
3207
|
}) {
|
|
2898
|
-
return /* @__PURE__ */
|
|
3208
|
+
return /* @__PURE__ */ jsx29(
|
|
2899
3209
|
DropdownMenuPrimitive.Separator,
|
|
2900
3210
|
{
|
|
2901
3211
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -2908,7 +3218,7 @@ function DropdownMenuShortcut({
|
|
|
2908
3218
|
className,
|
|
2909
3219
|
...props
|
|
2910
3220
|
}) {
|
|
2911
|
-
return /* @__PURE__ */
|
|
3221
|
+
return /* @__PURE__ */ jsx29(
|
|
2912
3222
|
"span",
|
|
2913
3223
|
{
|
|
2914
3224
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2923,7 +3233,7 @@ function DropdownMenuShortcut({
|
|
|
2923
3233
|
function DropdownMenuSub({
|
|
2924
3234
|
...props
|
|
2925
3235
|
}) {
|
|
2926
|
-
return /* @__PURE__ */
|
|
3236
|
+
return /* @__PURE__ */ jsx29(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2927
3237
|
}
|
|
2928
3238
|
function DropdownMenuSubTrigger({
|
|
2929
3239
|
className,
|
|
@@ -2931,7 +3241,7 @@ function DropdownMenuSubTrigger({
|
|
|
2931
3241
|
children,
|
|
2932
3242
|
...props
|
|
2933
3243
|
}) {
|
|
2934
|
-
return /* @__PURE__ */
|
|
3244
|
+
return /* @__PURE__ */ jsxs16(
|
|
2935
3245
|
DropdownMenuPrimitive.SubTrigger,
|
|
2936
3246
|
{
|
|
2937
3247
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -2943,7 +3253,7 @@ function DropdownMenuSubTrigger({
|
|
|
2943
3253
|
...props,
|
|
2944
3254
|
children: [
|
|
2945
3255
|
children,
|
|
2946
|
-
/* @__PURE__ */
|
|
3256
|
+
/* @__PURE__ */ jsx29(ChevronRightIcon3, { className: "ml-auto size-4" })
|
|
2947
3257
|
]
|
|
2948
3258
|
}
|
|
2949
3259
|
);
|
|
@@ -2952,7 +3262,7 @@ function DropdownMenuSubContent({
|
|
|
2952
3262
|
className,
|
|
2953
3263
|
...props
|
|
2954
3264
|
}) {
|
|
2955
|
-
return /* @__PURE__ */
|
|
3265
|
+
return /* @__PURE__ */ jsx29(
|
|
2956
3266
|
DropdownMenuPrimitive.SubContent,
|
|
2957
3267
|
{
|
|
2958
3268
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -2966,7 +3276,7 @@ function DropdownMenuSubContent({
|
|
|
2966
3276
|
}
|
|
2967
3277
|
|
|
2968
3278
|
// src/components/ui/form.tsx
|
|
2969
|
-
import * as
|
|
3279
|
+
import * as React29 from "react";
|
|
2970
3280
|
import "@radix-ui/react-label";
|
|
2971
3281
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
2972
3282
|
import {
|
|
@@ -2978,10 +3288,10 @@ import {
|
|
|
2978
3288
|
|
|
2979
3289
|
// src/components/ui/label.tsx
|
|
2980
3290
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
2981
|
-
import { cva as
|
|
3291
|
+
import { cva as cva9 } from "class-variance-authority";
|
|
2982
3292
|
import "react";
|
|
2983
|
-
import { jsx as
|
|
2984
|
-
var labelTextVariants =
|
|
3293
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
3294
|
+
var labelTextVariants = cva9("font-sans font-semibold ", {
|
|
2985
3295
|
variants: {
|
|
2986
3296
|
size: {
|
|
2987
3297
|
lg: "text-base md:text-lg md:leading-[1.625rem] leading-[1.5rem]",
|
|
@@ -3001,7 +3311,7 @@ function Label3({
|
|
|
3001
3311
|
...props
|
|
3002
3312
|
}) {
|
|
3003
3313
|
const Comp = asChild ? Slot4 : "label";
|
|
3004
|
-
return /* @__PURE__ */
|
|
3314
|
+
return /* @__PURE__ */ jsx30(
|
|
3005
3315
|
Comp,
|
|
3006
3316
|
{
|
|
3007
3317
|
"data-slot": "label",
|
|
@@ -3012,19 +3322,19 @@ function Label3({
|
|
|
3012
3322
|
}
|
|
3013
3323
|
|
|
3014
3324
|
// src/components/ui/form.tsx
|
|
3015
|
-
import { jsx as
|
|
3325
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
3016
3326
|
var Form = FormProvider;
|
|
3017
|
-
var FormFieldContext =
|
|
3327
|
+
var FormFieldContext = React29.createContext(
|
|
3018
3328
|
{}
|
|
3019
3329
|
);
|
|
3020
3330
|
var FormField = ({
|
|
3021
3331
|
...props
|
|
3022
3332
|
}) => {
|
|
3023
|
-
return /* @__PURE__ */
|
|
3333
|
+
return /* @__PURE__ */ jsx31(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx31(Controller, { ...props }) });
|
|
3024
3334
|
};
|
|
3025
3335
|
var useFormField = () => {
|
|
3026
|
-
const fieldContext =
|
|
3027
|
-
const itemContext =
|
|
3336
|
+
const fieldContext = React29.useContext(FormFieldContext);
|
|
3337
|
+
const itemContext = React29.useContext(FormItemContext);
|
|
3028
3338
|
const { getFieldState } = useFormContext();
|
|
3029
3339
|
const formState = useFormState({ name: fieldContext.name });
|
|
3030
3340
|
const fieldState = getFieldState(fieldContext.name, formState);
|
|
@@ -3041,12 +3351,12 @@ var useFormField = () => {
|
|
|
3041
3351
|
...fieldState
|
|
3042
3352
|
};
|
|
3043
3353
|
};
|
|
3044
|
-
var FormItemContext =
|
|
3354
|
+
var FormItemContext = React29.createContext(
|
|
3045
3355
|
{}
|
|
3046
3356
|
);
|
|
3047
3357
|
function FormItem({ className, ...props }) {
|
|
3048
|
-
const id =
|
|
3049
|
-
return /* @__PURE__ */
|
|
3358
|
+
const id = React29.useId();
|
|
3359
|
+
return /* @__PURE__ */ jsx31(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx31(
|
|
3050
3360
|
"div",
|
|
3051
3361
|
{
|
|
3052
3362
|
"data-slot": "form-item",
|
|
@@ -3060,7 +3370,7 @@ function FormLabel({
|
|
|
3060
3370
|
...props
|
|
3061
3371
|
}) {
|
|
3062
3372
|
const { error, formItemId } = useFormField();
|
|
3063
|
-
return /* @__PURE__ */
|
|
3373
|
+
return /* @__PURE__ */ jsx31(
|
|
3064
3374
|
Label3,
|
|
3065
3375
|
{
|
|
3066
3376
|
"data-slot": "form-label",
|
|
@@ -3073,7 +3383,7 @@ function FormLabel({
|
|
|
3073
3383
|
}
|
|
3074
3384
|
function FormControl({ ...props }) {
|
|
3075
3385
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
3076
|
-
return /* @__PURE__ */
|
|
3386
|
+
return /* @__PURE__ */ jsx31(
|
|
3077
3387
|
Slot5,
|
|
3078
3388
|
{
|
|
3079
3389
|
"data-slot": "form-control",
|
|
@@ -3086,7 +3396,7 @@ function FormControl({ ...props }) {
|
|
|
3086
3396
|
}
|
|
3087
3397
|
function FormDescription({ className, ...props }) {
|
|
3088
3398
|
const { formDescriptionId } = useFormField();
|
|
3089
|
-
return /* @__PURE__ */
|
|
3399
|
+
return /* @__PURE__ */ jsx31(
|
|
3090
3400
|
"p",
|
|
3091
3401
|
{
|
|
3092
3402
|
"data-slot": "form-description",
|
|
@@ -3102,7 +3412,7 @@ function FormMessage({ className, ...props }) {
|
|
|
3102
3412
|
if (!body) {
|
|
3103
3413
|
return null;
|
|
3104
3414
|
}
|
|
3105
|
-
return /* @__PURE__ */
|
|
3415
|
+
return /* @__PURE__ */ jsx31(
|
|
3106
3416
|
"p",
|
|
3107
3417
|
{
|
|
3108
3418
|
"data-slot": "form-message",
|
|
@@ -3117,16 +3427,16 @@ function FormMessage({ className, ...props }) {
|
|
|
3117
3427
|
// src/components/ui/hover-card.tsx
|
|
3118
3428
|
import "react";
|
|
3119
3429
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3120
|
-
import { jsx as
|
|
3430
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
3121
3431
|
function HoverCard({
|
|
3122
3432
|
...props
|
|
3123
3433
|
}) {
|
|
3124
|
-
return /* @__PURE__ */
|
|
3434
|
+
return /* @__PURE__ */ jsx32(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
3125
3435
|
}
|
|
3126
3436
|
function HoverCardTrigger({
|
|
3127
3437
|
...props
|
|
3128
3438
|
}) {
|
|
3129
|
-
return /* @__PURE__ */
|
|
3439
|
+
return /* @__PURE__ */ jsx32(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
3130
3440
|
}
|
|
3131
3441
|
function HoverCardContent({
|
|
3132
3442
|
className,
|
|
@@ -3134,7 +3444,7 @@ function HoverCardContent({
|
|
|
3134
3444
|
sideOffset = 4,
|
|
3135
3445
|
...props
|
|
3136
3446
|
}) {
|
|
3137
|
-
return /* @__PURE__ */
|
|
3447
|
+
return /* @__PURE__ */ jsx32(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx32(
|
|
3138
3448
|
HoverCardPrimitive.Content,
|
|
3139
3449
|
{
|
|
3140
3450
|
"data-slot": "hover-card-content",
|
|
@@ -3150,16 +3460,16 @@ function HoverCardContent({
|
|
|
3150
3460
|
}
|
|
3151
3461
|
|
|
3152
3462
|
// src/components/ui/input-otp.tsx
|
|
3153
|
-
import * as
|
|
3463
|
+
import * as React31 from "react";
|
|
3154
3464
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
3155
3465
|
import { MinusIcon } from "lucide-react";
|
|
3156
|
-
import { jsx as
|
|
3466
|
+
import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3157
3467
|
function InputOTP({
|
|
3158
3468
|
className,
|
|
3159
3469
|
containerClassName,
|
|
3160
3470
|
...props
|
|
3161
3471
|
}) {
|
|
3162
|
-
return /* @__PURE__ */
|
|
3472
|
+
return /* @__PURE__ */ jsx33(
|
|
3163
3473
|
OTPInput,
|
|
3164
3474
|
{
|
|
3165
3475
|
"data-slot": "input-otp",
|
|
@@ -3173,7 +3483,7 @@ function InputOTP({
|
|
|
3173
3483
|
);
|
|
3174
3484
|
}
|
|
3175
3485
|
function InputOTPGroup({ className, ...props }) {
|
|
3176
|
-
return /* @__PURE__ */
|
|
3486
|
+
return /* @__PURE__ */ jsx33(
|
|
3177
3487
|
"div",
|
|
3178
3488
|
{
|
|
3179
3489
|
"data-slot": "input-otp-group",
|
|
@@ -3187,9 +3497,9 @@ function InputOTPSlot({
|
|
|
3187
3497
|
className,
|
|
3188
3498
|
...props
|
|
3189
3499
|
}) {
|
|
3190
|
-
const inputOTPContext =
|
|
3500
|
+
const inputOTPContext = React31.useContext(OTPInputContext);
|
|
3191
3501
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
3192
|
-
return /* @__PURE__ */
|
|
3502
|
+
return /* @__PURE__ */ jsxs17(
|
|
3193
3503
|
"div",
|
|
3194
3504
|
{
|
|
3195
3505
|
"data-slot": "input-otp-slot",
|
|
@@ -3201,25 +3511,25 @@ function InputOTPSlot({
|
|
|
3201
3511
|
...props,
|
|
3202
3512
|
children: [
|
|
3203
3513
|
char,
|
|
3204
|
-
hasFakeCaret && /* @__PURE__ */
|
|
3514
|
+
hasFakeCaret && /* @__PURE__ */ jsx33("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx33("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
|
|
3205
3515
|
]
|
|
3206
3516
|
}
|
|
3207
3517
|
);
|
|
3208
3518
|
}
|
|
3209
3519
|
function InputOTPSeparator({ ...props }) {
|
|
3210
|
-
return /* @__PURE__ */
|
|
3520
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx33(MinusIcon, {}) });
|
|
3211
3521
|
}
|
|
3212
3522
|
|
|
3213
3523
|
// src/components/ui/menubar.tsx
|
|
3214
3524
|
import "react";
|
|
3215
3525
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
3216
3526
|
import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
|
|
3217
|
-
import { jsx as
|
|
3527
|
+
import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3218
3528
|
function Menubar({
|
|
3219
3529
|
className,
|
|
3220
3530
|
...props
|
|
3221
3531
|
}) {
|
|
3222
|
-
return /* @__PURE__ */
|
|
3532
|
+
return /* @__PURE__ */ jsx34(
|
|
3223
3533
|
MenubarPrimitive.Root,
|
|
3224
3534
|
{
|
|
3225
3535
|
"data-slot": "menubar",
|
|
@@ -3234,28 +3544,28 @@ function Menubar({
|
|
|
3234
3544
|
function MenubarMenu({
|
|
3235
3545
|
...props
|
|
3236
3546
|
}) {
|
|
3237
|
-
return /* @__PURE__ */
|
|
3547
|
+
return /* @__PURE__ */ jsx34(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
|
|
3238
3548
|
}
|
|
3239
3549
|
function MenubarGroup({
|
|
3240
3550
|
...props
|
|
3241
3551
|
}) {
|
|
3242
|
-
return /* @__PURE__ */
|
|
3552
|
+
return /* @__PURE__ */ jsx34(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
|
|
3243
3553
|
}
|
|
3244
3554
|
function MenubarPortal({
|
|
3245
3555
|
...props
|
|
3246
3556
|
}) {
|
|
3247
|
-
return /* @__PURE__ */
|
|
3557
|
+
return /* @__PURE__ */ jsx34(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
|
|
3248
3558
|
}
|
|
3249
3559
|
function MenubarRadioGroup({
|
|
3250
3560
|
...props
|
|
3251
3561
|
}) {
|
|
3252
|
-
return /* @__PURE__ */
|
|
3562
|
+
return /* @__PURE__ */ jsx34(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
3253
3563
|
}
|
|
3254
3564
|
function MenubarTrigger({
|
|
3255
3565
|
className,
|
|
3256
3566
|
...props
|
|
3257
3567
|
}) {
|
|
3258
|
-
return /* @__PURE__ */
|
|
3568
|
+
return /* @__PURE__ */ jsx34(
|
|
3259
3569
|
MenubarPrimitive.Trigger,
|
|
3260
3570
|
{
|
|
3261
3571
|
"data-slot": "menubar-trigger",
|
|
@@ -3274,7 +3584,7 @@ function MenubarContent({
|
|
|
3274
3584
|
sideOffset = 8,
|
|
3275
3585
|
...props
|
|
3276
3586
|
}) {
|
|
3277
|
-
return /* @__PURE__ */
|
|
3587
|
+
return /* @__PURE__ */ jsx34(MenubarPortal, { children: /* @__PURE__ */ jsx34(
|
|
3278
3588
|
MenubarPrimitive.Content,
|
|
3279
3589
|
{
|
|
3280
3590
|
"data-slot": "menubar-content",
|
|
@@ -3295,7 +3605,7 @@ function MenubarItem({
|
|
|
3295
3605
|
variant = "default",
|
|
3296
3606
|
...props
|
|
3297
3607
|
}) {
|
|
3298
|
-
return /* @__PURE__ */
|
|
3608
|
+
return /* @__PURE__ */ jsx34(
|
|
3299
3609
|
MenubarPrimitive.Item,
|
|
3300
3610
|
{
|
|
3301
3611
|
"data-slot": "menubar-item",
|
|
@@ -3315,7 +3625,7 @@ function MenubarCheckboxItem({
|
|
|
3315
3625
|
checked,
|
|
3316
3626
|
...props
|
|
3317
3627
|
}) {
|
|
3318
|
-
return /* @__PURE__ */
|
|
3628
|
+
return /* @__PURE__ */ jsxs18(
|
|
3319
3629
|
MenubarPrimitive.CheckboxItem,
|
|
3320
3630
|
{
|
|
3321
3631
|
"data-slot": "menubar-checkbox-item",
|
|
@@ -3326,7 +3636,7 @@ function MenubarCheckboxItem({
|
|
|
3326
3636
|
checked,
|
|
3327
3637
|
...props,
|
|
3328
3638
|
children: [
|
|
3329
|
-
/* @__PURE__ */
|
|
3639
|
+
/* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CheckIcon3, { className: "size-4" }) }) }),
|
|
3330
3640
|
children
|
|
3331
3641
|
]
|
|
3332
3642
|
}
|
|
@@ -3337,7 +3647,7 @@ function MenubarRadioItem({
|
|
|
3337
3647
|
children,
|
|
3338
3648
|
...props
|
|
3339
3649
|
}) {
|
|
3340
|
-
return /* @__PURE__ */
|
|
3650
|
+
return /* @__PURE__ */ jsxs18(
|
|
3341
3651
|
MenubarPrimitive.RadioItem,
|
|
3342
3652
|
{
|
|
3343
3653
|
"data-slot": "menubar-radio-item",
|
|
@@ -3347,7 +3657,7 @@ function MenubarRadioItem({
|
|
|
3347
3657
|
),
|
|
3348
3658
|
...props,
|
|
3349
3659
|
children: [
|
|
3350
|
-
/* @__PURE__ */
|
|
3660
|
+
/* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CircleIcon3, { className: "size-2 fill-current" }) }) }),
|
|
3351
3661
|
children
|
|
3352
3662
|
]
|
|
3353
3663
|
}
|
|
@@ -3358,7 +3668,7 @@ function MenubarLabel({
|
|
|
3358
3668
|
inset,
|
|
3359
3669
|
...props
|
|
3360
3670
|
}) {
|
|
3361
|
-
return /* @__PURE__ */
|
|
3671
|
+
return /* @__PURE__ */ jsx34(
|
|
3362
3672
|
MenubarPrimitive.Label,
|
|
3363
3673
|
{
|
|
3364
3674
|
"data-slot": "menubar-label",
|
|
@@ -3375,7 +3685,7 @@ function MenubarSeparator({
|
|
|
3375
3685
|
className,
|
|
3376
3686
|
...props
|
|
3377
3687
|
}) {
|
|
3378
|
-
return /* @__PURE__ */
|
|
3688
|
+
return /* @__PURE__ */ jsx34(
|
|
3379
3689
|
MenubarPrimitive.Separator,
|
|
3380
3690
|
{
|
|
3381
3691
|
"data-slot": "menubar-separator",
|
|
@@ -3388,7 +3698,7 @@ function MenubarShortcut({
|
|
|
3388
3698
|
className,
|
|
3389
3699
|
...props
|
|
3390
3700
|
}) {
|
|
3391
|
-
return /* @__PURE__ */
|
|
3701
|
+
return /* @__PURE__ */ jsx34(
|
|
3392
3702
|
"span",
|
|
3393
3703
|
{
|
|
3394
3704
|
"data-slot": "menubar-shortcut",
|
|
@@ -3403,7 +3713,7 @@ function MenubarShortcut({
|
|
|
3403
3713
|
function MenubarSub({
|
|
3404
3714
|
...props
|
|
3405
3715
|
}) {
|
|
3406
|
-
return /* @__PURE__ */
|
|
3716
|
+
return /* @__PURE__ */ jsx34(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
3407
3717
|
}
|
|
3408
3718
|
function MenubarSubTrigger({
|
|
3409
3719
|
className,
|
|
@@ -3411,7 +3721,7 @@ function MenubarSubTrigger({
|
|
|
3411
3721
|
children,
|
|
3412
3722
|
...props
|
|
3413
3723
|
}) {
|
|
3414
|
-
return /* @__PURE__ */
|
|
3724
|
+
return /* @__PURE__ */ jsxs18(
|
|
3415
3725
|
MenubarPrimitive.SubTrigger,
|
|
3416
3726
|
{
|
|
3417
3727
|
"data-slot": "menubar-sub-trigger",
|
|
@@ -3423,7 +3733,7 @@ function MenubarSubTrigger({
|
|
|
3423
3733
|
...props,
|
|
3424
3734
|
children: [
|
|
3425
3735
|
children,
|
|
3426
|
-
/* @__PURE__ */
|
|
3736
|
+
/* @__PURE__ */ jsx34(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
|
|
3427
3737
|
]
|
|
3428
3738
|
}
|
|
3429
3739
|
);
|
|
@@ -3432,7 +3742,7 @@ function MenubarSubContent({
|
|
|
3432
3742
|
className,
|
|
3433
3743
|
...props
|
|
3434
3744
|
}) {
|
|
3435
|
-
return /* @__PURE__ */
|
|
3745
|
+
return /* @__PURE__ */ jsx34(
|
|
3436
3746
|
MenubarPrimitive.SubContent,
|
|
3437
3747
|
{
|
|
3438
3748
|
"data-slot": "menubar-sub-content",
|
|
@@ -3448,16 +3758,16 @@ function MenubarSubContent({
|
|
|
3448
3758
|
// src/components/ui/navigation-menu.tsx
|
|
3449
3759
|
import "react";
|
|
3450
3760
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
3451
|
-
import { cva as
|
|
3761
|
+
import { cva as cva10 } from "class-variance-authority";
|
|
3452
3762
|
import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
|
|
3453
|
-
import { jsx as
|
|
3763
|
+
import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3454
3764
|
function NavigationMenu({
|
|
3455
3765
|
className,
|
|
3456
3766
|
children,
|
|
3457
3767
|
viewport = true,
|
|
3458
3768
|
...props
|
|
3459
3769
|
}) {
|
|
3460
|
-
return /* @__PURE__ */
|
|
3770
|
+
return /* @__PURE__ */ jsxs19(
|
|
3461
3771
|
NavigationMenuPrimitive.Root,
|
|
3462
3772
|
{
|
|
3463
3773
|
"data-slot": "navigation-menu",
|
|
@@ -3469,7 +3779,7 @@ function NavigationMenu({
|
|
|
3469
3779
|
...props,
|
|
3470
3780
|
children: [
|
|
3471
3781
|
children,
|
|
3472
|
-
viewport && /* @__PURE__ */
|
|
3782
|
+
viewport && /* @__PURE__ */ jsx35(NavigationMenuViewport, {})
|
|
3473
3783
|
]
|
|
3474
3784
|
}
|
|
3475
3785
|
);
|
|
@@ -3478,7 +3788,7 @@ function NavigationMenuList({
|
|
|
3478
3788
|
className,
|
|
3479
3789
|
...props
|
|
3480
3790
|
}) {
|
|
3481
|
-
return /* @__PURE__ */
|
|
3791
|
+
return /* @__PURE__ */ jsx35(
|
|
3482
3792
|
NavigationMenuPrimitive.List,
|
|
3483
3793
|
{
|
|
3484
3794
|
"data-slot": "navigation-menu-list",
|
|
@@ -3494,7 +3804,7 @@ function NavigationMenuItem({
|
|
|
3494
3804
|
className,
|
|
3495
3805
|
...props
|
|
3496
3806
|
}) {
|
|
3497
|
-
return /* @__PURE__ */
|
|
3807
|
+
return /* @__PURE__ */ jsx35(
|
|
3498
3808
|
NavigationMenuPrimitive.Item,
|
|
3499
3809
|
{
|
|
3500
3810
|
"data-slot": "navigation-menu-item",
|
|
@@ -3503,7 +3813,7 @@ function NavigationMenuItem({
|
|
|
3503
3813
|
}
|
|
3504
3814
|
);
|
|
3505
3815
|
}
|
|
3506
|
-
var navigationMenuTriggerStyle =
|
|
3816
|
+
var navigationMenuTriggerStyle = cva10(
|
|
3507
3817
|
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
|
|
3508
3818
|
);
|
|
3509
3819
|
function NavigationMenuTrigger({
|
|
@@ -3511,7 +3821,7 @@ function NavigationMenuTrigger({
|
|
|
3511
3821
|
children,
|
|
3512
3822
|
...props
|
|
3513
3823
|
}) {
|
|
3514
|
-
return /* @__PURE__ */
|
|
3824
|
+
return /* @__PURE__ */ jsxs19(
|
|
3515
3825
|
NavigationMenuPrimitive.Trigger,
|
|
3516
3826
|
{
|
|
3517
3827
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -3520,7 +3830,7 @@ function NavigationMenuTrigger({
|
|
|
3520
3830
|
children: [
|
|
3521
3831
|
children,
|
|
3522
3832
|
" ",
|
|
3523
|
-
/* @__PURE__ */
|
|
3833
|
+
/* @__PURE__ */ jsx35(
|
|
3524
3834
|
ChevronDownIcon3,
|
|
3525
3835
|
{
|
|
3526
3836
|
className: "relative top-[1px] ml-1 size-3 transition duration-400 group-data-[state=open]:rotate-180",
|
|
@@ -3535,7 +3845,7 @@ function NavigationMenuContent({
|
|
|
3535
3845
|
className,
|
|
3536
3846
|
...props
|
|
3537
3847
|
}) {
|
|
3538
|
-
return /* @__PURE__ */
|
|
3848
|
+
return /* @__PURE__ */ jsx35(
|
|
3539
3849
|
NavigationMenuPrimitive.Content,
|
|
3540
3850
|
{
|
|
3541
3851
|
"data-slot": "navigation-menu-content",
|
|
@@ -3552,13 +3862,13 @@ function NavigationMenuViewport({
|
|
|
3552
3862
|
className,
|
|
3553
3863
|
...props
|
|
3554
3864
|
}) {
|
|
3555
|
-
return /* @__PURE__ */
|
|
3865
|
+
return /* @__PURE__ */ jsx35(
|
|
3556
3866
|
"div",
|
|
3557
3867
|
{
|
|
3558
3868
|
className: cn(
|
|
3559
3869
|
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
3560
3870
|
),
|
|
3561
|
-
children: /* @__PURE__ */
|
|
3871
|
+
children: /* @__PURE__ */ jsx35(
|
|
3562
3872
|
NavigationMenuPrimitive.Viewport,
|
|
3563
3873
|
{
|
|
3564
3874
|
"data-slot": "navigation-menu-viewport",
|
|
@@ -3576,7 +3886,7 @@ function NavigationMenuLink({
|
|
|
3576
3886
|
className,
|
|
3577
3887
|
...props
|
|
3578
3888
|
}) {
|
|
3579
|
-
return /* @__PURE__ */
|
|
3889
|
+
return /* @__PURE__ */ jsx35(
|
|
3580
3890
|
NavigationMenuPrimitive.Link,
|
|
3581
3891
|
{
|
|
3582
3892
|
"data-slot": "navigation-menu-link",
|
|
@@ -3592,7 +3902,7 @@ function NavigationMenuIndicator({
|
|
|
3592
3902
|
className,
|
|
3593
3903
|
...props
|
|
3594
3904
|
}) {
|
|
3595
|
-
return /* @__PURE__ */
|
|
3905
|
+
return /* @__PURE__ */ jsx35(
|
|
3596
3906
|
NavigationMenuPrimitive.Indicator,
|
|
3597
3907
|
{
|
|
3598
3908
|
"data-slot": "navigation-menu-indicator",
|
|
@@ -3601,7 +3911,7 @@ function NavigationMenuIndicator({
|
|
|
3601
3911
|
className
|
|
3602
3912
|
),
|
|
3603
3913
|
...props,
|
|
3604
|
-
children: /* @__PURE__ */
|
|
3914
|
+
children: /* @__PURE__ */ jsx35("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
|
|
3605
3915
|
}
|
|
3606
3916
|
);
|
|
3607
3917
|
}
|
|
@@ -3613,9 +3923,9 @@ import {
|
|
|
3613
3923
|
ChevronRightIcon as ChevronRightIcon5,
|
|
3614
3924
|
MoreHorizontalIcon
|
|
3615
3925
|
} from "lucide-react";
|
|
3616
|
-
import { jsx as
|
|
3926
|
+
import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3617
3927
|
function Pagination({ className, ...props }) {
|
|
3618
|
-
return /* @__PURE__ */
|
|
3928
|
+
return /* @__PURE__ */ jsx36(
|
|
3619
3929
|
"nav",
|
|
3620
3930
|
{
|
|
3621
3931
|
role: "navigation",
|
|
@@ -3630,7 +3940,7 @@ function PaginationContent({
|
|
|
3630
3940
|
className,
|
|
3631
3941
|
...props
|
|
3632
3942
|
}) {
|
|
3633
|
-
return /* @__PURE__ */
|
|
3943
|
+
return /* @__PURE__ */ jsx36(
|
|
3634
3944
|
"ul",
|
|
3635
3945
|
{
|
|
3636
3946
|
"data-slot": "pagination-content",
|
|
@@ -3640,7 +3950,7 @@ function PaginationContent({
|
|
|
3640
3950
|
);
|
|
3641
3951
|
}
|
|
3642
3952
|
function PaginationItem({ ...props }) {
|
|
3643
|
-
return /* @__PURE__ */
|
|
3953
|
+
return /* @__PURE__ */ jsx36("li", { "data-slot": "pagination-item", ...props });
|
|
3644
3954
|
}
|
|
3645
3955
|
function PaginationLink({
|
|
3646
3956
|
className,
|
|
@@ -3648,7 +3958,7 @@ function PaginationLink({
|
|
|
3648
3958
|
size = "icon",
|
|
3649
3959
|
...props
|
|
3650
3960
|
}) {
|
|
3651
|
-
return /* @__PURE__ */
|
|
3961
|
+
return /* @__PURE__ */ jsx36(
|
|
3652
3962
|
"a",
|
|
3653
3963
|
{
|
|
3654
3964
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -3669,7 +3979,7 @@ function PaginationPrevious({
|
|
|
3669
3979
|
className,
|
|
3670
3980
|
...props
|
|
3671
3981
|
}) {
|
|
3672
|
-
return /* @__PURE__ */
|
|
3982
|
+
return /* @__PURE__ */ jsxs20(
|
|
3673
3983
|
PaginationLink,
|
|
3674
3984
|
{
|
|
3675
3985
|
"aria-label": "Go to previous page",
|
|
@@ -3677,8 +3987,8 @@ function PaginationPrevious({
|
|
|
3677
3987
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
3678
3988
|
...props,
|
|
3679
3989
|
children: [
|
|
3680
|
-
/* @__PURE__ */
|
|
3681
|
-
/* @__PURE__ */
|
|
3990
|
+
/* @__PURE__ */ jsx36(ChevronLeftIcon2, {}),
|
|
3991
|
+
/* @__PURE__ */ jsx36("span", { className: "hidden sm:block", children: "Previous" })
|
|
3682
3992
|
]
|
|
3683
3993
|
}
|
|
3684
3994
|
);
|
|
@@ -3687,7 +3997,7 @@ function PaginationNext({
|
|
|
3687
3997
|
className,
|
|
3688
3998
|
...props
|
|
3689
3999
|
}) {
|
|
3690
|
-
return /* @__PURE__ */
|
|
4000
|
+
return /* @__PURE__ */ jsxs20(
|
|
3691
4001
|
PaginationLink,
|
|
3692
4002
|
{
|
|
3693
4003
|
"aria-label": "Go to next page",
|
|
@@ -3695,8 +4005,8 @@ function PaginationNext({
|
|
|
3695
4005
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
3696
4006
|
...props,
|
|
3697
4007
|
children: [
|
|
3698
|
-
/* @__PURE__ */
|
|
3699
|
-
/* @__PURE__ */
|
|
4008
|
+
/* @__PURE__ */ jsx36("span", { className: "hidden sm:block", children: "Next" }),
|
|
4009
|
+
/* @__PURE__ */ jsx36(ChevronRightIcon5, {})
|
|
3700
4010
|
]
|
|
3701
4011
|
}
|
|
3702
4012
|
);
|
|
@@ -3705,7 +4015,7 @@ function PaginationEllipsis({
|
|
|
3705
4015
|
className,
|
|
3706
4016
|
...props
|
|
3707
4017
|
}) {
|
|
3708
|
-
return /* @__PURE__ */
|
|
4018
|
+
return /* @__PURE__ */ jsxs20(
|
|
3709
4019
|
"span",
|
|
3710
4020
|
{
|
|
3711
4021
|
"aria-hidden": true,
|
|
@@ -3713,8 +4023,8 @@ function PaginationEllipsis({
|
|
|
3713
4023
|
className: cn("flex size-9 items-center justify-center", className),
|
|
3714
4024
|
...props,
|
|
3715
4025
|
children: [
|
|
3716
|
-
/* @__PURE__ */
|
|
3717
|
-
/* @__PURE__ */
|
|
4026
|
+
/* @__PURE__ */ jsx36(MoreHorizontalIcon, { className: "size-4" }),
|
|
4027
|
+
/* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More pages" })
|
|
3718
4028
|
]
|
|
3719
4029
|
}
|
|
3720
4030
|
);
|
|
@@ -3723,13 +4033,13 @@ function PaginationEllipsis({
|
|
|
3723
4033
|
// src/components/ui/progress.tsx
|
|
3724
4034
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
3725
4035
|
import "react";
|
|
3726
|
-
import { jsx as
|
|
4036
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
3727
4037
|
function Progress({
|
|
3728
4038
|
className,
|
|
3729
4039
|
value,
|
|
3730
4040
|
...props
|
|
3731
4041
|
}) {
|
|
3732
|
-
return /* @__PURE__ */
|
|
4042
|
+
return /* @__PURE__ */ jsx37(
|
|
3733
4043
|
ProgressPrimitive.Root,
|
|
3734
4044
|
{
|
|
3735
4045
|
"data-slot": "progress",
|
|
@@ -3738,7 +4048,7 @@ function Progress({
|
|
|
3738
4048
|
className
|
|
3739
4049
|
),
|
|
3740
4050
|
...props,
|
|
3741
|
-
children: /* @__PURE__ */
|
|
4051
|
+
children: /* @__PURE__ */ jsx37(
|
|
3742
4052
|
ProgressPrimitive.Indicator,
|
|
3743
4053
|
{
|
|
3744
4054
|
"data-slot": "progress-indicator",
|
|
@@ -3754,12 +4064,12 @@ function Progress({
|
|
|
3754
4064
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3755
4065
|
import { CircleIcon as CircleIcon4 } from "lucide-react";
|
|
3756
4066
|
import "react";
|
|
3757
|
-
import { jsx as
|
|
4067
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3758
4068
|
function RadioGroup4({
|
|
3759
4069
|
className,
|
|
3760
4070
|
...props
|
|
3761
4071
|
}) {
|
|
3762
|
-
return /* @__PURE__ */
|
|
4072
|
+
return /* @__PURE__ */ jsx38(
|
|
3763
4073
|
RadioGroupPrimitive.Root,
|
|
3764
4074
|
{
|
|
3765
4075
|
"data-slot": "radio-group",
|
|
@@ -3772,7 +4082,7 @@ function RadioGroupItem({
|
|
|
3772
4082
|
className,
|
|
3773
4083
|
...props
|
|
3774
4084
|
}) {
|
|
3775
|
-
return /* @__PURE__ */
|
|
4085
|
+
return /* @__PURE__ */ jsx38(
|
|
3776
4086
|
RadioGroupPrimitive.Item,
|
|
3777
4087
|
{
|
|
3778
4088
|
"data-slot": "radio-group-item",
|
|
@@ -3781,12 +4091,12 @@ function RadioGroupItem({
|
|
|
3781
4091
|
className
|
|
3782
4092
|
),
|
|
3783
4093
|
...props,
|
|
3784
|
-
children: /* @__PURE__ */
|
|
4094
|
+
children: /* @__PURE__ */ jsx38(
|
|
3785
4095
|
RadioGroupPrimitive.Indicator,
|
|
3786
4096
|
{
|
|
3787
4097
|
"data-slot": "radio-group-indicator",
|
|
3788
4098
|
className: "relative flex items-center justify-center",
|
|
3789
|
-
children: /* @__PURE__ */
|
|
4099
|
+
children: /* @__PURE__ */ jsx38(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-1.5 -translate-x-1/2 -translate-y-1/2" })
|
|
3790
4100
|
}
|
|
3791
4101
|
)
|
|
3792
4102
|
}
|
|
@@ -3797,12 +4107,12 @@ function RadioGroupItem({
|
|
|
3797
4107
|
import "react";
|
|
3798
4108
|
import { GripVerticalIcon } from "lucide-react";
|
|
3799
4109
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
3800
|
-
import { jsx as
|
|
4110
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3801
4111
|
function ResizablePanelGroup({
|
|
3802
4112
|
className,
|
|
3803
4113
|
...props
|
|
3804
4114
|
}) {
|
|
3805
|
-
return /* @__PURE__ */
|
|
4115
|
+
return /* @__PURE__ */ jsx39(
|
|
3806
4116
|
ResizablePrimitive.PanelGroup,
|
|
3807
4117
|
{
|
|
3808
4118
|
"data-slot": "resizable-panel-group",
|
|
@@ -3817,14 +4127,14 @@ function ResizablePanelGroup({
|
|
|
3817
4127
|
function ResizablePanel({
|
|
3818
4128
|
...props
|
|
3819
4129
|
}) {
|
|
3820
|
-
return /* @__PURE__ */
|
|
4130
|
+
return /* @__PURE__ */ jsx39(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
3821
4131
|
}
|
|
3822
4132
|
function ResizableHandle({
|
|
3823
4133
|
withHandle,
|
|
3824
4134
|
className,
|
|
3825
4135
|
...props
|
|
3826
4136
|
}) {
|
|
3827
|
-
return /* @__PURE__ */
|
|
4137
|
+
return /* @__PURE__ */ jsx39(
|
|
3828
4138
|
ResizablePrimitive.PanelResizeHandle,
|
|
3829
4139
|
{
|
|
3830
4140
|
"data-slot": "resizable-handle",
|
|
@@ -3833,7 +4143,7 @@ function ResizableHandle({
|
|
|
3833
4143
|
className
|
|
3834
4144
|
),
|
|
3835
4145
|
...props,
|
|
3836
|
-
children: withHandle && /* @__PURE__ */
|
|
4146
|
+
children: withHandle && /* @__PURE__ */ jsx39("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx39(GripVerticalIcon, { className: "size-2.5" }) })
|
|
3837
4147
|
}
|
|
3838
4148
|
);
|
|
3839
4149
|
}
|
|
@@ -3841,20 +4151,20 @@ function ResizableHandle({
|
|
|
3841
4151
|
// src/components/ui/scroll-area.tsx
|
|
3842
4152
|
import "react";
|
|
3843
4153
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
3844
|
-
import { jsx as
|
|
4154
|
+
import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3845
4155
|
function ScrollArea({
|
|
3846
4156
|
className,
|
|
3847
4157
|
children,
|
|
3848
4158
|
...props
|
|
3849
4159
|
}) {
|
|
3850
|
-
return /* @__PURE__ */
|
|
4160
|
+
return /* @__PURE__ */ jsxs21(
|
|
3851
4161
|
ScrollAreaPrimitive.Root,
|
|
3852
4162
|
{
|
|
3853
4163
|
"data-slot": "scroll-area",
|
|
3854
4164
|
className: cn("relative", className),
|
|
3855
4165
|
...props,
|
|
3856
4166
|
children: [
|
|
3857
|
-
/* @__PURE__ */
|
|
4167
|
+
/* @__PURE__ */ jsx40(
|
|
3858
4168
|
ScrollAreaPrimitive.Viewport,
|
|
3859
4169
|
{
|
|
3860
4170
|
"data-slot": "scroll-area-viewport",
|
|
@@ -3862,8 +4172,8 @@ function ScrollArea({
|
|
|
3862
4172
|
children
|
|
3863
4173
|
}
|
|
3864
4174
|
),
|
|
3865
|
-
/* @__PURE__ */
|
|
3866
|
-
/* @__PURE__ */
|
|
4175
|
+
/* @__PURE__ */ jsx40(ScrollBar, {}),
|
|
4176
|
+
/* @__PURE__ */ jsx40(ScrollAreaPrimitive.Corner, {})
|
|
3867
4177
|
]
|
|
3868
4178
|
}
|
|
3869
4179
|
);
|
|
@@ -3873,7 +4183,7 @@ function ScrollBar({
|
|
|
3873
4183
|
orientation = "vertical",
|
|
3874
4184
|
...props
|
|
3875
4185
|
}) {
|
|
3876
|
-
return /* @__PURE__ */
|
|
4186
|
+
return /* @__PURE__ */ jsx40(
|
|
3877
4187
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
3878
4188
|
{
|
|
3879
4189
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -3885,7 +4195,7 @@ function ScrollBar({
|
|
|
3885
4195
|
className
|
|
3886
4196
|
),
|
|
3887
4197
|
...props,
|
|
3888
|
-
children: /* @__PURE__ */
|
|
4198
|
+
children: /* @__PURE__ */ jsx40(
|
|
3889
4199
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
3890
4200
|
{
|
|
3891
4201
|
"data-slot": "scroll-area-thumb",
|
|
@@ -3897,12 +4207,12 @@ function ScrollBar({
|
|
|
3897
4207
|
}
|
|
3898
4208
|
|
|
3899
4209
|
// src/components/ui/searchable-select.tsx
|
|
3900
|
-
import * as
|
|
4210
|
+
import * as React39 from "react";
|
|
3901
4211
|
import { CheckIcon as CheckIcon4, ChevronsUpDown, XIcon as XIcon2 } from "lucide-react";
|
|
3902
|
-
import { jsx as
|
|
3903
|
-
var SearchableSelectContext =
|
|
4212
|
+
import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4213
|
+
var SearchableSelectContext = React39.createContext(null);
|
|
3904
4214
|
function useSearchableSelect() {
|
|
3905
|
-
const ctx =
|
|
4215
|
+
const ctx = React39.useContext(SearchableSelectContext);
|
|
3906
4216
|
if (!ctx) {
|
|
3907
4217
|
throw new Error(
|
|
3908
4218
|
"SearchableSelect compound components must be used within <SearchableSelect>"
|
|
@@ -3928,11 +4238,11 @@ function SearchableSelect({
|
|
|
3928
4238
|
onOpenChange,
|
|
3929
4239
|
children
|
|
3930
4240
|
}) {
|
|
3931
|
-
const [internalOpen, setInternalOpen] =
|
|
3932
|
-
const [internalValue, setInternalValue] =
|
|
3933
|
-
const [internalValues, setInternalValues] =
|
|
4241
|
+
const [internalOpen, setInternalOpen] = React39.useState(false);
|
|
4242
|
+
const [internalValue, setInternalValue] = React39.useState(defaultValue);
|
|
4243
|
+
const [internalValues, setInternalValues] = React39.useState(defaultValues);
|
|
3934
4244
|
const open = controlledOpen ?? internalOpen;
|
|
3935
|
-
const setOpen =
|
|
4245
|
+
const setOpen = React39.useCallback(
|
|
3936
4246
|
(next) => {
|
|
3937
4247
|
if (controlledOpen !== void 0) {
|
|
3938
4248
|
onOpenChange?.(next);
|
|
@@ -3944,7 +4254,7 @@ function SearchableSelect({
|
|
|
3944
4254
|
[controlledOpen, onOpenChange]
|
|
3945
4255
|
);
|
|
3946
4256
|
const value = controlledValue ?? internalValue;
|
|
3947
|
-
const setValue =
|
|
4257
|
+
const setValue = React39.useCallback(
|
|
3948
4258
|
(next) => {
|
|
3949
4259
|
if (controlledValue === void 0) {
|
|
3950
4260
|
setInternalValue(next);
|
|
@@ -3954,7 +4264,7 @@ function SearchableSelect({
|
|
|
3954
4264
|
[controlledValue, onValueChange]
|
|
3955
4265
|
);
|
|
3956
4266
|
const values = controlledValues ?? internalValues;
|
|
3957
|
-
const setValues =
|
|
4267
|
+
const setValues = React39.useCallback(
|
|
3958
4268
|
(next) => {
|
|
3959
4269
|
if (controlledValues === void 0) {
|
|
3960
4270
|
setInternalValues(next);
|
|
@@ -3963,14 +4273,14 @@ function SearchableSelect({
|
|
|
3963
4273
|
},
|
|
3964
4274
|
[controlledValues, onValuesChange]
|
|
3965
4275
|
);
|
|
3966
|
-
const optionMap =
|
|
4276
|
+
const optionMap = React39.useMemo(() => {
|
|
3967
4277
|
const map = /* @__PURE__ */ new Map();
|
|
3968
4278
|
for (const opt of options) {
|
|
3969
4279
|
map.set(opt.value, opt.label);
|
|
3970
4280
|
}
|
|
3971
4281
|
return map;
|
|
3972
4282
|
}, [options]);
|
|
3973
|
-
const ctx =
|
|
4283
|
+
const ctx = React39.useMemo(
|
|
3974
4284
|
() => ({
|
|
3975
4285
|
open,
|
|
3976
4286
|
setOpen,
|
|
@@ -4004,7 +4314,7 @@ function SearchableSelect({
|
|
|
4004
4314
|
optionMap
|
|
4005
4315
|
]
|
|
4006
4316
|
);
|
|
4007
|
-
return /* @__PURE__ */
|
|
4317
|
+
return /* @__PURE__ */ jsx41(SearchableSelectContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx41(Popover, { open, onOpenChange: setOpen, children }) });
|
|
4008
4318
|
}
|
|
4009
4319
|
function SearchableSelectTrigger({
|
|
4010
4320
|
className,
|
|
@@ -4017,7 +4327,7 @@ function SearchableSelectTrigger({
|
|
|
4017
4327
|
if (children) return children;
|
|
4018
4328
|
if (ctx.mode === "single") {
|
|
4019
4329
|
const label = ctx.optionMap.get(ctx.value);
|
|
4020
|
-
return /* @__PURE__ */
|
|
4330
|
+
return /* @__PURE__ */ jsx41(
|
|
4021
4331
|
"span",
|
|
4022
4332
|
{
|
|
4023
4333
|
"data-slot": "searchable-select-value",
|
|
@@ -4030,7 +4340,7 @@ function SearchableSelectTrigger({
|
|
|
4030
4340
|
);
|
|
4031
4341
|
}
|
|
4032
4342
|
if (ctx.values.length === 0) {
|
|
4033
|
-
return /* @__PURE__ */
|
|
4343
|
+
return /* @__PURE__ */ jsx41(
|
|
4034
4344
|
"span",
|
|
4035
4345
|
{
|
|
4036
4346
|
"data-slot": "searchable-select-value",
|
|
@@ -4041,20 +4351,20 @@ function SearchableSelectTrigger({
|
|
|
4041
4351
|
}
|
|
4042
4352
|
const visible = ctx.values.slice(0, ctx.maxCount);
|
|
4043
4353
|
const remaining = ctx.values.length - visible.length;
|
|
4044
|
-
return /* @__PURE__ */
|
|
4354
|
+
return /* @__PURE__ */ jsxs22(
|
|
4045
4355
|
"span",
|
|
4046
4356
|
{
|
|
4047
4357
|
"data-slot": "searchable-select-value",
|
|
4048
4358
|
className: "flex flex-wrap items-center gap-1",
|
|
4049
4359
|
children: [
|
|
4050
|
-
visible.map((v) => /* @__PURE__ */
|
|
4360
|
+
visible.map((v) => /* @__PURE__ */ jsxs22(
|
|
4051
4361
|
Badge,
|
|
4052
4362
|
{
|
|
4053
4363
|
variant: "secondary",
|
|
4054
4364
|
className: "gap-1 pr-1",
|
|
4055
4365
|
children: [
|
|
4056
|
-
/* @__PURE__ */
|
|
4057
|
-
/* @__PURE__ */
|
|
4366
|
+
/* @__PURE__ */ jsx41("span", { className: "truncate max-w-[120px]", children: ctx.optionMap.get(v) || v }),
|
|
4367
|
+
/* @__PURE__ */ jsx41(
|
|
4058
4368
|
"span",
|
|
4059
4369
|
{
|
|
4060
4370
|
role: "button",
|
|
@@ -4066,14 +4376,14 @@ function SearchableSelectTrigger({
|
|
|
4066
4376
|
e.stopPropagation();
|
|
4067
4377
|
ctx.setValues(ctx.values.filter((val) => val !== v));
|
|
4068
4378
|
},
|
|
4069
|
-
children: /* @__PURE__ */
|
|
4379
|
+
children: /* @__PURE__ */ jsx41(XIcon2, { className: "size-3" })
|
|
4070
4380
|
}
|
|
4071
4381
|
)
|
|
4072
4382
|
]
|
|
4073
4383
|
},
|
|
4074
4384
|
v
|
|
4075
4385
|
)),
|
|
4076
|
-
remaining > 0 && /* @__PURE__ */
|
|
4386
|
+
remaining > 0 && /* @__PURE__ */ jsxs22(Badge, { variant: "outline", className: "text-muted-foreground", children: [
|
|
4077
4387
|
"+",
|
|
4078
4388
|
remaining,
|
|
4079
4389
|
" more"
|
|
@@ -4082,7 +4392,7 @@ function SearchableSelectTrigger({
|
|
|
4082
4392
|
}
|
|
4083
4393
|
);
|
|
4084
4394
|
};
|
|
4085
|
-
return /* @__PURE__ */
|
|
4395
|
+
return /* @__PURE__ */ jsxs22(
|
|
4086
4396
|
PopoverTrigger,
|
|
4087
4397
|
{
|
|
4088
4398
|
"data-slot": "searchable-select-trigger",
|
|
@@ -4096,7 +4406,7 @@ function SearchableSelectTrigger({
|
|
|
4096
4406
|
...props,
|
|
4097
4407
|
children: [
|
|
4098
4408
|
renderContent(),
|
|
4099
|
-
/* @__PURE__ */
|
|
4409
|
+
/* @__PURE__ */ jsx41(ChevronsUpDown, { className: "size-4 shrink-0 opacity-50" })
|
|
4100
4410
|
]
|
|
4101
4411
|
}
|
|
4102
4412
|
);
|
|
@@ -4108,7 +4418,7 @@ function SearchableSelectContent({
|
|
|
4108
4418
|
...props
|
|
4109
4419
|
}) {
|
|
4110
4420
|
const ctx = useSearchableSelect();
|
|
4111
|
-
const groupedOptions =
|
|
4421
|
+
const groupedOptions = React39.useMemo(() => {
|
|
4112
4422
|
if (ctx.options.length === 0) return null;
|
|
4113
4423
|
const groups = /* @__PURE__ */ new Map();
|
|
4114
4424
|
for (const opt of ctx.options) {
|
|
@@ -4122,7 +4432,7 @@ function SearchableSelectContent({
|
|
|
4122
4432
|
if (!groupedOptions) return null;
|
|
4123
4433
|
const entries = Array.from(groupedOptions.entries());
|
|
4124
4434
|
if (entries.length === 1 && entries[0][0] === "") {
|
|
4125
|
-
return entries[0][1].map((opt) => /* @__PURE__ */
|
|
4435
|
+
return entries[0][1].map((opt) => /* @__PURE__ */ jsx41(
|
|
4126
4436
|
SearchableSelectItem,
|
|
4127
4437
|
{
|
|
4128
4438
|
value: opt.value,
|
|
@@ -4132,7 +4442,7 @@ function SearchableSelectContent({
|
|
|
4132
4442
|
opt.value
|
|
4133
4443
|
));
|
|
4134
4444
|
}
|
|
4135
|
-
return entries.map(([group, opts]) => /* @__PURE__ */
|
|
4445
|
+
return entries.map(([group, opts]) => /* @__PURE__ */ jsx41(SearchableSelectGroup, { heading: group || void 0, children: opts.map((opt) => /* @__PURE__ */ jsx41(
|
|
4136
4446
|
SearchableSelectItem,
|
|
4137
4447
|
{
|
|
4138
4448
|
value: opt.value,
|
|
@@ -4142,17 +4452,17 @@ function SearchableSelectContent({
|
|
|
4142
4452
|
opt.value
|
|
4143
4453
|
)) }, group));
|
|
4144
4454
|
};
|
|
4145
|
-
return /* @__PURE__ */
|
|
4455
|
+
return /* @__PURE__ */ jsx41(
|
|
4146
4456
|
PopoverContent,
|
|
4147
4457
|
{
|
|
4148
4458
|
"data-slot": "searchable-select-content",
|
|
4149
4459
|
className: cn("w-[var(--radix-popover-trigger-width)] p-0", className),
|
|
4150
4460
|
align: "start",
|
|
4151
4461
|
...props,
|
|
4152
|
-
children: /* @__PURE__ */
|
|
4153
|
-
ctx.searchable && /* @__PURE__ */
|
|
4154
|
-
/* @__PURE__ */
|
|
4155
|
-
/* @__PURE__ */
|
|
4462
|
+
children: /* @__PURE__ */ jsxs22(Command, { children: [
|
|
4463
|
+
ctx.searchable && /* @__PURE__ */ jsx41(CommandInput, { placeholder: ctx.searchPlaceholder }),
|
|
4464
|
+
/* @__PURE__ */ jsxs22(CommandList, { children: [
|
|
4465
|
+
/* @__PURE__ */ jsx41(CommandEmpty, { children: emptyText }),
|
|
4156
4466
|
children || renderAutoItems()
|
|
4157
4467
|
] })
|
|
4158
4468
|
] })
|
|
@@ -4179,7 +4489,7 @@ function SearchableSelectItem({
|
|
|
4179
4489
|
);
|
|
4180
4490
|
}
|
|
4181
4491
|
};
|
|
4182
|
-
return /* @__PURE__ */
|
|
4492
|
+
return /* @__PURE__ */ jsxs22(
|
|
4183
4493
|
CommandItem,
|
|
4184
4494
|
{
|
|
4185
4495
|
"data-slot": "searchable-select-item",
|
|
@@ -4192,18 +4502,18 @@ function SearchableSelectItem({
|
|
|
4192
4502
|
"data-disabled": disabled || void 0,
|
|
4193
4503
|
...props,
|
|
4194
4504
|
children: [
|
|
4195
|
-
ctx.mode === "multiple" && /* @__PURE__ */
|
|
4505
|
+
ctx.mode === "multiple" && /* @__PURE__ */ jsx41("span", { className: "absolute left-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx41(
|
|
4196
4506
|
"span",
|
|
4197
4507
|
{
|
|
4198
4508
|
className: cn(
|
|
4199
4509
|
"size-4 rounded-sm border border-primary transition-colors",
|
|
4200
4510
|
isSelected ? "bg-primary text-primary-foreground" : "bg-transparent"
|
|
4201
4511
|
),
|
|
4202
|
-
children: isSelected && /* @__PURE__ */
|
|
4512
|
+
children: isSelected && /* @__PURE__ */ jsx41(CheckIcon4, { className: "size-4 p-0.5" })
|
|
4203
4513
|
}
|
|
4204
4514
|
) }),
|
|
4205
|
-
/* @__PURE__ */
|
|
4206
|
-
ctx.mode === "single" && isSelected && /* @__PURE__ */
|
|
4515
|
+
/* @__PURE__ */ jsx41("span", { className: "flex-1 truncate", children }),
|
|
4516
|
+
ctx.mode === "single" && isSelected && /* @__PURE__ */ jsx41("span", { className: "absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx41(CheckIcon4, { className: "size-4" }) })
|
|
4207
4517
|
]
|
|
4208
4518
|
}
|
|
4209
4519
|
);
|
|
@@ -4212,7 +4522,7 @@ function SearchableSelectGroup({
|
|
|
4212
4522
|
className,
|
|
4213
4523
|
...props
|
|
4214
4524
|
}) {
|
|
4215
|
-
return /* @__PURE__ */
|
|
4525
|
+
return /* @__PURE__ */ jsx41(
|
|
4216
4526
|
CommandGroup,
|
|
4217
4527
|
{
|
|
4218
4528
|
"data-slot": "searchable-select-group",
|
|
@@ -4226,7 +4536,7 @@ function SearchableSelectEmpty({
|
|
|
4226
4536
|
children = "No results found.",
|
|
4227
4537
|
...props
|
|
4228
4538
|
}) {
|
|
4229
|
-
return /* @__PURE__ */
|
|
4539
|
+
return /* @__PURE__ */ jsx41(
|
|
4230
4540
|
CommandEmpty,
|
|
4231
4541
|
{
|
|
4232
4542
|
"data-slot": "searchable-select-empty",
|
|
@@ -4241,21 +4551,21 @@ function SearchableSelectEmpty({
|
|
|
4241
4551
|
import "react";
|
|
4242
4552
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
4243
4553
|
import { CheckIcon as CheckIcon5, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
|
|
4244
|
-
import { jsx as
|
|
4554
|
+
import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4245
4555
|
function Select({
|
|
4246
4556
|
...props
|
|
4247
4557
|
}) {
|
|
4248
|
-
return /* @__PURE__ */
|
|
4558
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
4249
4559
|
}
|
|
4250
4560
|
function SelectGroup({
|
|
4251
4561
|
...props
|
|
4252
4562
|
}) {
|
|
4253
|
-
return /* @__PURE__ */
|
|
4563
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
4254
4564
|
}
|
|
4255
4565
|
function SelectValue({
|
|
4256
4566
|
...props
|
|
4257
4567
|
}) {
|
|
4258
|
-
return /* @__PURE__ */
|
|
4568
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
4259
4569
|
}
|
|
4260
4570
|
function SelectTrigger({
|
|
4261
4571
|
className,
|
|
@@ -4263,7 +4573,7 @@ function SelectTrigger({
|
|
|
4263
4573
|
children,
|
|
4264
4574
|
...props
|
|
4265
4575
|
}) {
|
|
4266
|
-
return /* @__PURE__ */
|
|
4576
|
+
return /* @__PURE__ */ jsxs23(
|
|
4267
4577
|
SelectPrimitive.Trigger,
|
|
4268
4578
|
{
|
|
4269
4579
|
"data-slot": "select-trigger",
|
|
@@ -4275,7 +4585,7 @@ function SelectTrigger({
|
|
|
4275
4585
|
...props,
|
|
4276
4586
|
children: [
|
|
4277
4587
|
children,
|
|
4278
|
-
/* @__PURE__ */
|
|
4588
|
+
/* @__PURE__ */ jsx42(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx42(ChevronDownIcon4, { className: "size-4 opacity-50" }) })
|
|
4279
4589
|
]
|
|
4280
4590
|
}
|
|
4281
4591
|
);
|
|
@@ -4286,7 +4596,7 @@ function SelectContent({
|
|
|
4286
4596
|
position = "popper",
|
|
4287
4597
|
...props
|
|
4288
4598
|
}) {
|
|
4289
|
-
return /* @__PURE__ */
|
|
4599
|
+
return /* @__PURE__ */ jsx42(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
|
|
4290
4600
|
SelectPrimitive.Content,
|
|
4291
4601
|
{
|
|
4292
4602
|
"data-slot": "select-content",
|
|
@@ -4298,8 +4608,8 @@ function SelectContent({
|
|
|
4298
4608
|
position,
|
|
4299
4609
|
...props,
|
|
4300
4610
|
children: [
|
|
4301
|
-
/* @__PURE__ */
|
|
4302
|
-
/* @__PURE__ */
|
|
4611
|
+
/* @__PURE__ */ jsx42(SelectScrollUpButton, {}),
|
|
4612
|
+
/* @__PURE__ */ jsx42(
|
|
4303
4613
|
SelectPrimitive.Viewport,
|
|
4304
4614
|
{
|
|
4305
4615
|
className: cn(
|
|
@@ -4309,7 +4619,7 @@ function SelectContent({
|
|
|
4309
4619
|
children
|
|
4310
4620
|
}
|
|
4311
4621
|
),
|
|
4312
|
-
/* @__PURE__ */
|
|
4622
|
+
/* @__PURE__ */ jsx42(SelectScrollDownButton, {})
|
|
4313
4623
|
]
|
|
4314
4624
|
}
|
|
4315
4625
|
) });
|
|
@@ -4318,7 +4628,7 @@ function SelectLabel({
|
|
|
4318
4628
|
className,
|
|
4319
4629
|
...props
|
|
4320
4630
|
}) {
|
|
4321
|
-
return /* @__PURE__ */
|
|
4631
|
+
return /* @__PURE__ */ jsx42(
|
|
4322
4632
|
SelectPrimitive.Label,
|
|
4323
4633
|
{
|
|
4324
4634
|
"data-slot": "select-label",
|
|
@@ -4332,7 +4642,7 @@ function SelectItem({
|
|
|
4332
4642
|
children,
|
|
4333
4643
|
...props
|
|
4334
4644
|
}) {
|
|
4335
|
-
return /* @__PURE__ */
|
|
4645
|
+
return /* @__PURE__ */ jsxs23(
|
|
4336
4646
|
SelectPrimitive.Item,
|
|
4337
4647
|
{
|
|
4338
4648
|
"data-slot": "select-item",
|
|
@@ -4342,8 +4652,8 @@ function SelectItem({
|
|
|
4342
4652
|
),
|
|
4343
4653
|
...props,
|
|
4344
4654
|
children: [
|
|
4345
|
-
/* @__PURE__ */
|
|
4346
|
-
/* @__PURE__ */
|
|
4655
|
+
/* @__PURE__ */ jsx42("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx42(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx42(CheckIcon5, { className: "size-4" }) }) }),
|
|
4656
|
+
/* @__PURE__ */ jsx42(SelectPrimitive.ItemText, { children })
|
|
4347
4657
|
]
|
|
4348
4658
|
}
|
|
4349
4659
|
);
|
|
@@ -4352,7 +4662,7 @@ function SelectSeparator({
|
|
|
4352
4662
|
className,
|
|
4353
4663
|
...props
|
|
4354
4664
|
}) {
|
|
4355
|
-
return /* @__PURE__ */
|
|
4665
|
+
return /* @__PURE__ */ jsx42(
|
|
4356
4666
|
SelectPrimitive.Separator,
|
|
4357
4667
|
{
|
|
4358
4668
|
"data-slot": "select-separator",
|
|
@@ -4365,7 +4675,7 @@ function SelectScrollUpButton({
|
|
|
4365
4675
|
className,
|
|
4366
4676
|
...props
|
|
4367
4677
|
}) {
|
|
4368
|
-
return /* @__PURE__ */
|
|
4678
|
+
return /* @__PURE__ */ jsx42(
|
|
4369
4679
|
SelectPrimitive.ScrollUpButton,
|
|
4370
4680
|
{
|
|
4371
4681
|
"data-slot": "select-scroll-up-button",
|
|
@@ -4374,7 +4684,7 @@ function SelectScrollUpButton({
|
|
|
4374
4684
|
className
|
|
4375
4685
|
),
|
|
4376
4686
|
...props,
|
|
4377
|
-
children: /* @__PURE__ */
|
|
4687
|
+
children: /* @__PURE__ */ jsx42(ChevronUpIcon, { className: "size-4" })
|
|
4378
4688
|
}
|
|
4379
4689
|
);
|
|
4380
4690
|
}
|
|
@@ -4382,7 +4692,7 @@ function SelectScrollDownButton({
|
|
|
4382
4692
|
className,
|
|
4383
4693
|
...props
|
|
4384
4694
|
}) {
|
|
4385
|
-
return /* @__PURE__ */
|
|
4695
|
+
return /* @__PURE__ */ jsx42(
|
|
4386
4696
|
SelectPrimitive.ScrollDownButton,
|
|
4387
4697
|
{
|
|
4388
4698
|
"data-slot": "select-scroll-down-button",
|
|
@@ -4391,7 +4701,7 @@ function SelectScrollDownButton({
|
|
|
4391
4701
|
className
|
|
4392
4702
|
),
|
|
4393
4703
|
...props,
|
|
4394
|
-
children: /* @__PURE__ */
|
|
4704
|
+
children: /* @__PURE__ */ jsx42(ChevronDownIcon4, { className: "size-4" })
|
|
4395
4705
|
}
|
|
4396
4706
|
);
|
|
4397
4707
|
}
|
|
@@ -4399,14 +4709,14 @@ function SelectScrollDownButton({
|
|
|
4399
4709
|
// src/components/ui/separator.tsx
|
|
4400
4710
|
import "react";
|
|
4401
4711
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
4402
|
-
import { jsx as
|
|
4712
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
4403
4713
|
function Separator5({
|
|
4404
4714
|
className,
|
|
4405
4715
|
orientation = "horizontal",
|
|
4406
4716
|
decorative = true,
|
|
4407
4717
|
...props
|
|
4408
4718
|
}) {
|
|
4409
|
-
return /* @__PURE__ */
|
|
4719
|
+
return /* @__PURE__ */ jsx43(
|
|
4410
4720
|
SeparatorPrimitive.Root,
|
|
4411
4721
|
{
|
|
4412
4722
|
"data-slot": "separator",
|
|
@@ -4425,30 +4735,30 @@ function Separator5({
|
|
|
4425
4735
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
4426
4736
|
import { XIcon as XIcon3 } from "lucide-react";
|
|
4427
4737
|
import "react";
|
|
4428
|
-
import { jsx as
|
|
4738
|
+
import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4429
4739
|
function Sheet({ ...props }) {
|
|
4430
|
-
return /* @__PURE__ */
|
|
4740
|
+
return /* @__PURE__ */ jsx44(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
4431
4741
|
}
|
|
4432
4742
|
function SheetTrigger({
|
|
4433
4743
|
...props
|
|
4434
4744
|
}) {
|
|
4435
|
-
return /* @__PURE__ */
|
|
4745
|
+
return /* @__PURE__ */ jsx44(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
4436
4746
|
}
|
|
4437
4747
|
function SheetClose({
|
|
4438
4748
|
...props
|
|
4439
4749
|
}) {
|
|
4440
|
-
return /* @__PURE__ */
|
|
4750
|
+
return /* @__PURE__ */ jsx44(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
4441
4751
|
}
|
|
4442
4752
|
function SheetPortal({
|
|
4443
4753
|
...props
|
|
4444
4754
|
}) {
|
|
4445
|
-
return /* @__PURE__ */
|
|
4755
|
+
return /* @__PURE__ */ jsx44(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
4446
4756
|
}
|
|
4447
4757
|
function SheetOverlay({
|
|
4448
4758
|
className,
|
|
4449
4759
|
...props
|
|
4450
4760
|
}) {
|
|
4451
|
-
return /* @__PURE__ */
|
|
4761
|
+
return /* @__PURE__ */ jsx44(
|
|
4452
4762
|
SheetPrimitive.Overlay,
|
|
4453
4763
|
{
|
|
4454
4764
|
"data-slot": "sheet-overlay",
|
|
@@ -4467,9 +4777,9 @@ function SheetContent({
|
|
|
4467
4777
|
showCloseButton = true,
|
|
4468
4778
|
...props
|
|
4469
4779
|
}) {
|
|
4470
|
-
return /* @__PURE__ */
|
|
4471
|
-
/* @__PURE__ */
|
|
4472
|
-
/* @__PURE__ */
|
|
4780
|
+
return /* @__PURE__ */ jsxs24(SheetPortal, { children: [
|
|
4781
|
+
/* @__PURE__ */ jsx44(SheetOverlay, {}),
|
|
4782
|
+
/* @__PURE__ */ jsxs24(
|
|
4473
4783
|
SheetPrimitive.Content,
|
|
4474
4784
|
{
|
|
4475
4785
|
"data-slot": "sheet-content",
|
|
@@ -4484,9 +4794,9 @@ function SheetContent({
|
|
|
4484
4794
|
...props,
|
|
4485
4795
|
children: [
|
|
4486
4796
|
children,
|
|
4487
|
-
showCloseButton && /* @__PURE__ */
|
|
4488
|
-
/* @__PURE__ */
|
|
4489
|
-
/* @__PURE__ */
|
|
4797
|
+
showCloseButton && /* @__PURE__ */ jsxs24(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
|
|
4798
|
+
/* @__PURE__ */ jsx44(XIcon3, { className: "size-4" }),
|
|
4799
|
+
/* @__PURE__ */ jsx44("span", { className: "sr-only", children: "Close" })
|
|
4490
4800
|
] })
|
|
4491
4801
|
]
|
|
4492
4802
|
}
|
|
@@ -4494,7 +4804,7 @@ function SheetContent({
|
|
|
4494
4804
|
] });
|
|
4495
4805
|
}
|
|
4496
4806
|
function SheetHeader({ className, ...props }) {
|
|
4497
|
-
return /* @__PURE__ */
|
|
4807
|
+
return /* @__PURE__ */ jsx44(
|
|
4498
4808
|
"div",
|
|
4499
4809
|
{
|
|
4500
4810
|
"data-slot": "sheet-header",
|
|
@@ -4504,7 +4814,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
4504
4814
|
);
|
|
4505
4815
|
}
|
|
4506
4816
|
function SheetFooter({ className, ...props }) {
|
|
4507
|
-
return /* @__PURE__ */
|
|
4817
|
+
return /* @__PURE__ */ jsx44(
|
|
4508
4818
|
"div",
|
|
4509
4819
|
{
|
|
4510
4820
|
"data-slot": "sheet-footer",
|
|
@@ -4517,7 +4827,7 @@ function SheetTitle({
|
|
|
4517
4827
|
className,
|
|
4518
4828
|
...props
|
|
4519
4829
|
}) {
|
|
4520
|
-
return /* @__PURE__ */
|
|
4830
|
+
return /* @__PURE__ */ jsx44(
|
|
4521
4831
|
SheetPrimitive.Title,
|
|
4522
4832
|
{
|
|
4523
4833
|
"data-slot": "sheet-title",
|
|
@@ -4530,7 +4840,7 @@ function SheetDescription({
|
|
|
4530
4840
|
className,
|
|
4531
4841
|
...props
|
|
4532
4842
|
}) {
|
|
4533
|
-
return /* @__PURE__ */
|
|
4843
|
+
return /* @__PURE__ */ jsx44(
|
|
4534
4844
|
SheetPrimitive.Description,
|
|
4535
4845
|
{
|
|
4536
4846
|
"data-slot": "sheet-description",
|
|
@@ -4542,14 +4852,14 @@ function SheetDescription({
|
|
|
4542
4852
|
|
|
4543
4853
|
// src/components/ui/sidebar.tsx
|
|
4544
4854
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
4545
|
-
import { cva as
|
|
4855
|
+
import { cva as cva11 } from "class-variance-authority";
|
|
4546
4856
|
import { PanelLeftIcon } from "lucide-react";
|
|
4547
|
-
import * as
|
|
4857
|
+
import * as React45 from "react";
|
|
4548
4858
|
|
|
4549
4859
|
// src/components/ui/skeleton.tsx
|
|
4550
|
-
import { jsx as
|
|
4860
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
4551
4861
|
function Skeleton({ className, ...props }) {
|
|
4552
|
-
return /* @__PURE__ */
|
|
4862
|
+
return /* @__PURE__ */ jsx45(
|
|
4553
4863
|
"div",
|
|
4554
4864
|
{
|
|
4555
4865
|
"data-slot": "skeleton",
|
|
@@ -4562,12 +4872,13 @@ function Skeleton({ className, ...props }) {
|
|
|
4562
4872
|
// src/components/ui/tooltip.tsx
|
|
4563
4873
|
import "react";
|
|
4564
4874
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
4565
|
-
import {
|
|
4875
|
+
import { X as X2 } from "lucide-react";
|
|
4876
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
4566
4877
|
function TooltipProvider({
|
|
4567
4878
|
delayDuration = 0,
|
|
4568
4879
|
...props
|
|
4569
4880
|
}) {
|
|
4570
|
-
return /* @__PURE__ */
|
|
4881
|
+
return /* @__PURE__ */ jsx46(
|
|
4571
4882
|
TooltipPrimitive.Provider,
|
|
4572
4883
|
{
|
|
4573
4884
|
"data-slot": "tooltip-provider",
|
|
@@ -4579,12 +4890,12 @@ function TooltipProvider({
|
|
|
4579
4890
|
function Tooltip2({
|
|
4580
4891
|
...props
|
|
4581
4892
|
}) {
|
|
4582
|
-
return /* @__PURE__ */
|
|
4893
|
+
return /* @__PURE__ */ jsx46(TooltipProvider, { children: /* @__PURE__ */ jsx46(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
|
|
4583
4894
|
}
|
|
4584
4895
|
function TooltipTrigger({
|
|
4585
4896
|
...props
|
|
4586
4897
|
}) {
|
|
4587
|
-
return /* @__PURE__ */
|
|
4898
|
+
return /* @__PURE__ */ jsx46(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
4588
4899
|
}
|
|
4589
4900
|
function TooltipContent({
|
|
4590
4901
|
className,
|
|
@@ -4592,7 +4903,7 @@ function TooltipContent({
|
|
|
4592
4903
|
children,
|
|
4593
4904
|
...props
|
|
4594
4905
|
}) {
|
|
4595
|
-
return /* @__PURE__ */
|
|
4906
|
+
return /* @__PURE__ */ jsx46(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs25(
|
|
4596
4907
|
TooltipPrimitive.Content,
|
|
4597
4908
|
{
|
|
4598
4909
|
"data-slot": "tooltip-content",
|
|
@@ -4604,18 +4915,68 @@ function TooltipContent({
|
|
|
4604
4915
|
...props,
|
|
4605
4916
|
children: [
|
|
4606
4917
|
children,
|
|
4607
|
-
/* @__PURE__ */
|
|
4918
|
+
/* @__PURE__ */ jsx46(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
4919
|
+
]
|
|
4920
|
+
}
|
|
4921
|
+
) });
|
|
4922
|
+
}
|
|
4923
|
+
function RichTooltipContent({
|
|
4924
|
+
className,
|
|
4925
|
+
sideOffset = 4,
|
|
4926
|
+
icon,
|
|
4927
|
+
heading,
|
|
4928
|
+
dismissible = false,
|
|
4929
|
+
onDismiss,
|
|
4930
|
+
children,
|
|
4931
|
+
...props
|
|
4932
|
+
}) {
|
|
4933
|
+
return /* @__PURE__ */ jsx46(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs25(
|
|
4934
|
+
TooltipPrimitive.Content,
|
|
4935
|
+
{
|
|
4936
|
+
"data-slot": "rich-tooltip-content",
|
|
4937
|
+
sideOffset,
|
|
4938
|
+
className: cn(
|
|
4939
|
+
"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 z-50 origin-(--radix-tooltip-content-transform-origin)",
|
|
4940
|
+
className
|
|
4941
|
+
),
|
|
4942
|
+
...props,
|
|
4943
|
+
children: [
|
|
4944
|
+
/* @__PURE__ */ jsxs25("div", { className: "flex items-start gap-3 bg-gray-surface-dark rounded-[12px] px-3 py-4 text-sm leading-5 max-w-sm", children: [
|
|
4945
|
+
icon && /* @__PURE__ */ jsx46("span", { className: "flex items-center justify-center shrink-0 size-5 text-white [&_svg]:size-5", children: icon }),
|
|
4946
|
+
/* @__PURE__ */ jsxs25("div", { className: "flex flex-1 flex-col gap-2 min-w-0", children: [
|
|
4947
|
+
heading && /* @__PURE__ */ jsx46("p", { className: "font-semibold text-sm leading-5 text-white", children: heading }),
|
|
4948
|
+
/* @__PURE__ */ jsx46("div", { className: "font-normal text-sm leading-5 text-white", children })
|
|
4949
|
+
] }),
|
|
4950
|
+
dismissible && /* @__PURE__ */ jsx46(
|
|
4951
|
+
"button",
|
|
4952
|
+
{
|
|
4953
|
+
type: "button",
|
|
4954
|
+
onClick: onDismiss,
|
|
4955
|
+
className: "flex items-center justify-center shrink-0 size-5 text-white/70 hover:text-white transition-colors cursor-pointer",
|
|
4956
|
+
"aria-label": "Dismiss",
|
|
4957
|
+
children: /* @__PURE__ */ jsx46(X2, { className: "size-2.5" })
|
|
4958
|
+
}
|
|
4959
|
+
)
|
|
4960
|
+
] }),
|
|
4961
|
+
/* @__PURE__ */ jsx46(
|
|
4962
|
+
TooltipPrimitive.Arrow,
|
|
4963
|
+
{
|
|
4964
|
+
width: 16,
|
|
4965
|
+
height: 12,
|
|
4966
|
+
className: "fill-gray-surface-dark"
|
|
4967
|
+
}
|
|
4968
|
+
)
|
|
4608
4969
|
]
|
|
4609
4970
|
}
|
|
4610
4971
|
) });
|
|
4611
4972
|
}
|
|
4612
4973
|
|
|
4613
4974
|
// src/hooks/use-mobile.ts
|
|
4614
|
-
import * as
|
|
4975
|
+
import * as React44 from "react";
|
|
4615
4976
|
var MOBILE_BREAKPOINT = 768;
|
|
4616
4977
|
function useIsMobile() {
|
|
4617
|
-
const [isMobile, setIsMobile] =
|
|
4618
|
-
|
|
4978
|
+
const [isMobile, setIsMobile] = React44.useState(void 0);
|
|
4979
|
+
React44.useEffect(() => {
|
|
4619
4980
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
4620
4981
|
const onChange = () => {
|
|
4621
4982
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -4628,16 +4989,16 @@ function useIsMobile() {
|
|
|
4628
4989
|
}
|
|
4629
4990
|
|
|
4630
4991
|
// src/components/ui/sidebar.tsx
|
|
4631
|
-
import { jsx as
|
|
4992
|
+
import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
4632
4993
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
4633
4994
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
4634
4995
|
var SIDEBAR_WIDTH = "18rem";
|
|
4635
4996
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
4636
4997
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
4637
4998
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
4638
|
-
var SidebarContext =
|
|
4999
|
+
var SidebarContext = React45.createContext(null);
|
|
4639
5000
|
function useSidebar() {
|
|
4640
|
-
const context =
|
|
5001
|
+
const context = React45.useContext(SidebarContext);
|
|
4641
5002
|
if (!context) {
|
|
4642
5003
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
4643
5004
|
}
|
|
@@ -4653,10 +5014,10 @@ function SidebarProvider({
|
|
|
4653
5014
|
...props
|
|
4654
5015
|
}) {
|
|
4655
5016
|
const isMobile = useIsMobile();
|
|
4656
|
-
const [openMobile, setOpenMobile] =
|
|
4657
|
-
const [_open, _setOpen] =
|
|
5017
|
+
const [openMobile, setOpenMobile] = React45.useState(false);
|
|
5018
|
+
const [_open, _setOpen] = React45.useState(defaultOpen);
|
|
4658
5019
|
const open = openProp ?? _open;
|
|
4659
|
-
const setOpen =
|
|
5020
|
+
const setOpen = React45.useCallback(
|
|
4660
5021
|
(value) => {
|
|
4661
5022
|
const openState = typeof value === "function" ? value(open) : value;
|
|
4662
5023
|
if (setOpenProp) {
|
|
@@ -4668,10 +5029,10 @@ function SidebarProvider({
|
|
|
4668
5029
|
},
|
|
4669
5030
|
[setOpenProp, open]
|
|
4670
5031
|
);
|
|
4671
|
-
const toggleSidebar =
|
|
5032
|
+
const toggleSidebar = React45.useCallback(() => {
|
|
4672
5033
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
4673
5034
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
4674
|
-
|
|
5035
|
+
React45.useEffect(() => {
|
|
4675
5036
|
const handleKeyDown = (event) => {
|
|
4676
5037
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
4677
5038
|
event.preventDefault();
|
|
@@ -4682,7 +5043,7 @@ function SidebarProvider({
|
|
|
4682
5043
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
4683
5044
|
}, [toggleSidebar]);
|
|
4684
5045
|
const state = open ? "expanded" : "collapsed";
|
|
4685
|
-
const contextValue =
|
|
5046
|
+
const contextValue = React45.useMemo(
|
|
4686
5047
|
() => ({
|
|
4687
5048
|
state,
|
|
4688
5049
|
open,
|
|
@@ -4694,7 +5055,7 @@ function SidebarProvider({
|
|
|
4694
5055
|
}),
|
|
4695
5056
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
4696
5057
|
);
|
|
4697
|
-
return /* @__PURE__ */
|
|
5058
|
+
return /* @__PURE__ */ jsx47(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx47(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx47(
|
|
4698
5059
|
"div",
|
|
4699
5060
|
{
|
|
4700
5061
|
"data-slot": "sidebar-wrapper",
|
|
@@ -4722,7 +5083,7 @@ function Sidebar({
|
|
|
4722
5083
|
}) {
|
|
4723
5084
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
4724
5085
|
if (collapsible === "none") {
|
|
4725
|
-
return /* @__PURE__ */
|
|
5086
|
+
return /* @__PURE__ */ jsx47(
|
|
4726
5087
|
"div",
|
|
4727
5088
|
{
|
|
4728
5089
|
"data-slot": "sidebar",
|
|
@@ -4736,7 +5097,7 @@ function Sidebar({
|
|
|
4736
5097
|
);
|
|
4737
5098
|
}
|
|
4738
5099
|
if (isMobile) {
|
|
4739
|
-
return /* @__PURE__ */
|
|
5100
|
+
return /* @__PURE__ */ jsx47(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs26(
|
|
4740
5101
|
SheetContent,
|
|
4741
5102
|
{
|
|
4742
5103
|
"data-sidebar": "sidebar",
|
|
@@ -4748,16 +5109,16 @@ function Sidebar({
|
|
|
4748
5109
|
},
|
|
4749
5110
|
side,
|
|
4750
5111
|
children: [
|
|
4751
|
-
/* @__PURE__ */
|
|
4752
|
-
/* @__PURE__ */
|
|
4753
|
-
/* @__PURE__ */
|
|
5112
|
+
/* @__PURE__ */ jsxs26(SheetHeader, { className: "sr-only", children: [
|
|
5113
|
+
/* @__PURE__ */ jsx47(SheetTitle, { children: "Sidebar" }),
|
|
5114
|
+
/* @__PURE__ */ jsx47(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
4754
5115
|
] }),
|
|
4755
|
-
/* @__PURE__ */
|
|
5116
|
+
/* @__PURE__ */ jsx47("div", { className: "flex h-full w-full flex-col", children })
|
|
4756
5117
|
]
|
|
4757
5118
|
}
|
|
4758
5119
|
) });
|
|
4759
5120
|
}
|
|
4760
|
-
return /* @__PURE__ */
|
|
5121
|
+
return /* @__PURE__ */ jsxs26(
|
|
4761
5122
|
"div",
|
|
4762
5123
|
{
|
|
4763
5124
|
className: "group peer text-sidebar-foreground hidden md:block",
|
|
@@ -4767,7 +5128,7 @@ function Sidebar({
|
|
|
4767
5128
|
"data-side": side,
|
|
4768
5129
|
"data-slot": "sidebar",
|
|
4769
5130
|
children: [
|
|
4770
|
-
/* @__PURE__ */
|
|
5131
|
+
/* @__PURE__ */ jsx47(
|
|
4771
5132
|
"div",
|
|
4772
5133
|
{
|
|
4773
5134
|
"data-slot": "sidebar-gap",
|
|
@@ -4779,7 +5140,7 @@ function Sidebar({
|
|
|
4779
5140
|
)
|
|
4780
5141
|
}
|
|
4781
5142
|
),
|
|
4782
|
-
/* @__PURE__ */
|
|
5143
|
+
/* @__PURE__ */ jsx47(
|
|
4783
5144
|
"div",
|
|
4784
5145
|
{
|
|
4785
5146
|
"data-slot": "sidebar-container",
|
|
@@ -4791,7 +5152,7 @@ function Sidebar({
|
|
|
4791
5152
|
className
|
|
4792
5153
|
),
|
|
4793
5154
|
...props,
|
|
4794
|
-
children: /* @__PURE__ */
|
|
5155
|
+
children: /* @__PURE__ */ jsx47(
|
|
4795
5156
|
"div",
|
|
4796
5157
|
{
|
|
4797
5158
|
"data-sidebar": "sidebar",
|
|
@@ -4812,7 +5173,7 @@ function SidebarTrigger({
|
|
|
4812
5173
|
...props
|
|
4813
5174
|
}) {
|
|
4814
5175
|
const { toggleSidebar } = useSidebar();
|
|
4815
|
-
return /* @__PURE__ */
|
|
5176
|
+
return /* @__PURE__ */ jsxs26(
|
|
4816
5177
|
Button,
|
|
4817
5178
|
{
|
|
4818
5179
|
"data-sidebar": "trigger",
|
|
@@ -4826,15 +5187,15 @@ function SidebarTrigger({
|
|
|
4826
5187
|
},
|
|
4827
5188
|
...props,
|
|
4828
5189
|
children: [
|
|
4829
|
-
/* @__PURE__ */
|
|
4830
|
-
/* @__PURE__ */
|
|
5190
|
+
/* @__PURE__ */ jsx47(PanelLeftIcon, {}),
|
|
5191
|
+
/* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
4831
5192
|
]
|
|
4832
5193
|
}
|
|
4833
5194
|
);
|
|
4834
5195
|
}
|
|
4835
5196
|
function SidebarRail({ className, ...props }) {
|
|
4836
5197
|
const { toggleSidebar } = useSidebar();
|
|
4837
|
-
return /* @__PURE__ */
|
|
5198
|
+
return /* @__PURE__ */ jsx47(
|
|
4838
5199
|
"button",
|
|
4839
5200
|
{
|
|
4840
5201
|
"data-sidebar": "rail",
|
|
@@ -4857,7 +5218,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
4857
5218
|
);
|
|
4858
5219
|
}
|
|
4859
5220
|
function SidebarInset({ className, ...props }) {
|
|
4860
|
-
return /* @__PURE__ */
|
|
5221
|
+
return /* @__PURE__ */ jsx47(
|
|
4861
5222
|
"main",
|
|
4862
5223
|
{
|
|
4863
5224
|
"data-slot": "sidebar-inset",
|
|
@@ -4874,7 +5235,7 @@ function SidebarInput({
|
|
|
4874
5235
|
className,
|
|
4875
5236
|
...props
|
|
4876
5237
|
}) {
|
|
4877
|
-
return /* @__PURE__ */
|
|
5238
|
+
return /* @__PURE__ */ jsx47(
|
|
4878
5239
|
Input,
|
|
4879
5240
|
{
|
|
4880
5241
|
"data-slot": "sidebar-input",
|
|
@@ -4885,7 +5246,7 @@ function SidebarInput({
|
|
|
4885
5246
|
);
|
|
4886
5247
|
}
|
|
4887
5248
|
function SidebarHeader({ className, ...props }) {
|
|
4888
|
-
return /* @__PURE__ */
|
|
5249
|
+
return /* @__PURE__ */ jsx47(
|
|
4889
5250
|
"div",
|
|
4890
5251
|
{
|
|
4891
5252
|
"data-slot": "sidebar-header",
|
|
@@ -4896,7 +5257,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
4896
5257
|
);
|
|
4897
5258
|
}
|
|
4898
5259
|
function SidebarFooter({ className, ...props }) {
|
|
4899
|
-
return /* @__PURE__ */
|
|
5260
|
+
return /* @__PURE__ */ jsx47(
|
|
4900
5261
|
"div",
|
|
4901
5262
|
{
|
|
4902
5263
|
"data-slot": "sidebar-footer",
|
|
@@ -4910,7 +5271,7 @@ function SidebarSeparator({
|
|
|
4910
5271
|
className,
|
|
4911
5272
|
...props
|
|
4912
5273
|
}) {
|
|
4913
|
-
return /* @__PURE__ */
|
|
5274
|
+
return /* @__PURE__ */ jsx47(
|
|
4914
5275
|
Separator5,
|
|
4915
5276
|
{
|
|
4916
5277
|
"data-slot": "sidebar-separator",
|
|
@@ -4921,7 +5282,7 @@ function SidebarSeparator({
|
|
|
4921
5282
|
);
|
|
4922
5283
|
}
|
|
4923
5284
|
function SidebarContent({ className, ...props }) {
|
|
4924
|
-
return /* @__PURE__ */
|
|
5285
|
+
return /* @__PURE__ */ jsx47(
|
|
4925
5286
|
"div",
|
|
4926
5287
|
{
|
|
4927
5288
|
"data-slot": "sidebar-content",
|
|
@@ -4935,7 +5296,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
4935
5296
|
);
|
|
4936
5297
|
}
|
|
4937
5298
|
function SidebarGroup({ className, ...props }) {
|
|
4938
|
-
return /* @__PURE__ */
|
|
5299
|
+
return /* @__PURE__ */ jsx47(
|
|
4939
5300
|
"div",
|
|
4940
5301
|
{
|
|
4941
5302
|
"data-slot": "sidebar-group",
|
|
@@ -4951,7 +5312,7 @@ function SidebarGroupLabel({
|
|
|
4951
5312
|
...props
|
|
4952
5313
|
}) {
|
|
4953
5314
|
const Comp = asChild ? Slot6 : "div";
|
|
4954
|
-
return /* @__PURE__ */
|
|
5315
|
+
return /* @__PURE__ */ jsx47(
|
|
4955
5316
|
Comp,
|
|
4956
5317
|
{
|
|
4957
5318
|
"data-slot": "sidebar-group-label",
|
|
@@ -4971,7 +5332,7 @@ function SidebarGroupAction({
|
|
|
4971
5332
|
...props
|
|
4972
5333
|
}) {
|
|
4973
5334
|
const Comp = asChild ? Slot6 : "button";
|
|
4974
|
-
return /* @__PURE__ */
|
|
5335
|
+
return /* @__PURE__ */ jsx47(
|
|
4975
5336
|
Comp,
|
|
4976
5337
|
{
|
|
4977
5338
|
"data-slot": "sidebar-group-action",
|
|
@@ -4991,7 +5352,7 @@ function SidebarGroupContent({
|
|
|
4991
5352
|
className,
|
|
4992
5353
|
...props
|
|
4993
5354
|
}) {
|
|
4994
|
-
return /* @__PURE__ */
|
|
5355
|
+
return /* @__PURE__ */ jsx47(
|
|
4995
5356
|
"div",
|
|
4996
5357
|
{
|
|
4997
5358
|
"data-slot": "sidebar-group-content",
|
|
@@ -5002,7 +5363,7 @@ function SidebarGroupContent({
|
|
|
5002
5363
|
);
|
|
5003
5364
|
}
|
|
5004
5365
|
function SidebarMenu({ className, ...props }) {
|
|
5005
|
-
return /* @__PURE__ */
|
|
5366
|
+
return /* @__PURE__ */ jsx47(
|
|
5006
5367
|
"ul",
|
|
5007
5368
|
{
|
|
5008
5369
|
"data-slot": "sidebar-menu",
|
|
@@ -5013,7 +5374,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
5013
5374
|
);
|
|
5014
5375
|
}
|
|
5015
5376
|
function SidebarMenuItem({ className, ...props }) {
|
|
5016
|
-
return /* @__PURE__ */
|
|
5377
|
+
return /* @__PURE__ */ jsx47(
|
|
5017
5378
|
"li",
|
|
5018
5379
|
{
|
|
5019
5380
|
"data-slot": "sidebar-menu-item",
|
|
@@ -5023,7 +5384,7 @@ function SidebarMenuItem({ className, ...props }) {
|
|
|
5023
5384
|
}
|
|
5024
5385
|
);
|
|
5025
5386
|
}
|
|
5026
|
-
var sidebarMenuButtonVariants =
|
|
5387
|
+
var sidebarMenuButtonVariants = cva11(
|
|
5027
5388
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring 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 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",
|
|
5028
5389
|
{
|
|
5029
5390
|
variants: {
|
|
@@ -5054,7 +5415,7 @@ function SidebarMenuButton({
|
|
|
5054
5415
|
}) {
|
|
5055
5416
|
const Comp = asChild ? Slot6 : "button";
|
|
5056
5417
|
const { isMobile, state } = useSidebar();
|
|
5057
|
-
const button = /* @__PURE__ */
|
|
5418
|
+
const button = /* @__PURE__ */ jsx47(
|
|
5058
5419
|
Comp,
|
|
5059
5420
|
{
|
|
5060
5421
|
"data-slot": "sidebar-menu-button",
|
|
@@ -5073,9 +5434,9 @@ function SidebarMenuButton({
|
|
|
5073
5434
|
children: tooltip
|
|
5074
5435
|
};
|
|
5075
5436
|
}
|
|
5076
|
-
return /* @__PURE__ */
|
|
5077
|
-
/* @__PURE__ */
|
|
5078
|
-
/* @__PURE__ */
|
|
5437
|
+
return /* @__PURE__ */ jsxs26(Tooltip2, { children: [
|
|
5438
|
+
/* @__PURE__ */ jsx47(TooltipTrigger, { asChild: true, children: button }),
|
|
5439
|
+
/* @__PURE__ */ jsx47(
|
|
5079
5440
|
TooltipContent,
|
|
5080
5441
|
{
|
|
5081
5442
|
side: "right",
|
|
@@ -5093,7 +5454,7 @@ function SidebarMenuAction({
|
|
|
5093
5454
|
...props
|
|
5094
5455
|
}) {
|
|
5095
5456
|
const Comp = asChild ? Slot6 : "button";
|
|
5096
|
-
return /* @__PURE__ */
|
|
5457
|
+
return /* @__PURE__ */ jsx47(
|
|
5097
5458
|
Comp,
|
|
5098
5459
|
{
|
|
5099
5460
|
"data-slot": "sidebar-menu-action",
|
|
@@ -5117,7 +5478,7 @@ function SidebarMenuBadge({
|
|
|
5117
5478
|
className,
|
|
5118
5479
|
...props
|
|
5119
5480
|
}) {
|
|
5120
|
-
return /* @__PURE__ */
|
|
5481
|
+
return /* @__PURE__ */ jsx47(
|
|
5121
5482
|
"div",
|
|
5122
5483
|
{
|
|
5123
5484
|
"data-slot": "sidebar-menu-badge",
|
|
@@ -5140,10 +5501,10 @@ function SidebarMenuSkeleton({
|
|
|
5140
5501
|
showIcon = false,
|
|
5141
5502
|
...props
|
|
5142
5503
|
}) {
|
|
5143
|
-
const width =
|
|
5504
|
+
const width = React45.useMemo(() => {
|
|
5144
5505
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
5145
5506
|
}, []);
|
|
5146
|
-
return /* @__PURE__ */
|
|
5507
|
+
return /* @__PURE__ */ jsxs26(
|
|
5147
5508
|
"div",
|
|
5148
5509
|
{
|
|
5149
5510
|
"data-slot": "sidebar-menu-skeleton",
|
|
@@ -5151,14 +5512,14 @@ function SidebarMenuSkeleton({
|
|
|
5151
5512
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
5152
5513
|
...props,
|
|
5153
5514
|
children: [
|
|
5154
|
-
showIcon && /* @__PURE__ */
|
|
5515
|
+
showIcon && /* @__PURE__ */ jsx47(
|
|
5155
5516
|
Skeleton,
|
|
5156
5517
|
{
|
|
5157
5518
|
className: "size-4 rounded-md",
|
|
5158
5519
|
"data-sidebar": "menu-skeleton-icon"
|
|
5159
5520
|
}
|
|
5160
5521
|
),
|
|
5161
|
-
/* @__PURE__ */
|
|
5522
|
+
/* @__PURE__ */ jsx47(
|
|
5162
5523
|
Skeleton,
|
|
5163
5524
|
{
|
|
5164
5525
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -5173,7 +5534,7 @@ function SidebarMenuSkeleton({
|
|
|
5173
5534
|
);
|
|
5174
5535
|
}
|
|
5175
5536
|
function SidebarMenuSub({ className, ...props }) {
|
|
5176
|
-
return /* @__PURE__ */
|
|
5537
|
+
return /* @__PURE__ */ jsx47(
|
|
5177
5538
|
"ul",
|
|
5178
5539
|
{
|
|
5179
5540
|
"data-slot": "sidebar-menu-sub",
|
|
@@ -5191,7 +5552,7 @@ function SidebarMenuSubItem({
|
|
|
5191
5552
|
className,
|
|
5192
5553
|
...props
|
|
5193
5554
|
}) {
|
|
5194
|
-
return /* @__PURE__ */
|
|
5555
|
+
return /* @__PURE__ */ jsx47(
|
|
5195
5556
|
"li",
|
|
5196
5557
|
{
|
|
5197
5558
|
"data-slot": "sidebar-menu-sub-item",
|
|
@@ -5209,7 +5570,7 @@ function SidebarMenuSubButton({
|
|
|
5209
5570
|
...props
|
|
5210
5571
|
}) {
|
|
5211
5572
|
const Comp = asChild ? Slot6 : "a";
|
|
5212
|
-
return /* @__PURE__ */
|
|
5573
|
+
return /* @__PURE__ */ jsx47(
|
|
5213
5574
|
Comp,
|
|
5214
5575
|
{
|
|
5215
5576
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -5230,9 +5591,9 @@ function SidebarMenuSubButton({
|
|
|
5230
5591
|
}
|
|
5231
5592
|
|
|
5232
5593
|
// src/components/ui/slider.tsx
|
|
5233
|
-
import * as
|
|
5594
|
+
import * as React46 from "react";
|
|
5234
5595
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
5235
|
-
import { jsx as
|
|
5596
|
+
import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5236
5597
|
function Slider({
|
|
5237
5598
|
className,
|
|
5238
5599
|
defaultValue,
|
|
@@ -5241,11 +5602,11 @@ function Slider({
|
|
|
5241
5602
|
max = 100,
|
|
5242
5603
|
...props
|
|
5243
5604
|
}) {
|
|
5244
|
-
const _values =
|
|
5605
|
+
const _values = React46.useMemo(
|
|
5245
5606
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
5246
5607
|
[value, defaultValue, min, max]
|
|
5247
5608
|
);
|
|
5248
|
-
return /* @__PURE__ */
|
|
5609
|
+
return /* @__PURE__ */ jsxs27(
|
|
5249
5610
|
SliderPrimitive.Root,
|
|
5250
5611
|
{
|
|
5251
5612
|
"data-slot": "slider",
|
|
@@ -5259,14 +5620,14 @@ function Slider({
|
|
|
5259
5620
|
),
|
|
5260
5621
|
...props,
|
|
5261
5622
|
children: [
|
|
5262
|
-
/* @__PURE__ */
|
|
5623
|
+
/* @__PURE__ */ jsx48(
|
|
5263
5624
|
SliderPrimitive.Track,
|
|
5264
5625
|
{
|
|
5265
5626
|
"data-slot": "slider-track",
|
|
5266
5627
|
className: cn(
|
|
5267
5628
|
"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
5268
5629
|
),
|
|
5269
|
-
children: /* @__PURE__ */
|
|
5630
|
+
children: /* @__PURE__ */ jsx48(
|
|
5270
5631
|
SliderPrimitive.Range,
|
|
5271
5632
|
{
|
|
5272
5633
|
"data-slot": "slider-range",
|
|
@@ -5277,7 +5638,7 @@ function Slider({
|
|
|
5277
5638
|
)
|
|
5278
5639
|
}
|
|
5279
5640
|
),
|
|
5280
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
5641
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx48(
|
|
5281
5642
|
SliderPrimitive.Thumb,
|
|
5282
5643
|
{
|
|
5283
5644
|
"data-slot": "slider-thumb",
|
|
@@ -5326,10 +5687,10 @@ function useMediaQuery(query) {
|
|
|
5326
5687
|
}
|
|
5327
5688
|
|
|
5328
5689
|
// src/components/ui/smart-dialog-drawer.tsx
|
|
5329
|
-
import { Fragment as Fragment3, jsx as
|
|
5690
|
+
import { Fragment as Fragment3, jsx as jsx49 } from "react/jsx-runtime";
|
|
5330
5691
|
var SmartDialog = ({ children, ...props }) => {
|
|
5331
5692
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5332
|
-
return isMobile ? /* @__PURE__ */
|
|
5693
|
+
return isMobile ? /* @__PURE__ */ jsx49(Drawer, { ...props, children }) : /* @__PURE__ */ jsx49(Dialog, { ...props, children });
|
|
5333
5694
|
};
|
|
5334
5695
|
var SmartDialogContent = ({
|
|
5335
5696
|
children,
|
|
@@ -5339,14 +5700,14 @@ var SmartDialogContent = ({
|
|
|
5339
5700
|
...props
|
|
5340
5701
|
}) => {
|
|
5341
5702
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5342
|
-
return isMobile ? /* @__PURE__ */
|
|
5703
|
+
return isMobile ? /* @__PURE__ */ jsx49(
|
|
5343
5704
|
DrawerContent,
|
|
5344
5705
|
{
|
|
5345
5706
|
...props,
|
|
5346
5707
|
withCloseButton: withCloseButton ?? showCloseButton ?? true,
|
|
5347
5708
|
children
|
|
5348
5709
|
}
|
|
5349
|
-
) : /* @__PURE__ */
|
|
5710
|
+
) : /* @__PURE__ */ jsx49(
|
|
5350
5711
|
DialogContent,
|
|
5351
5712
|
{
|
|
5352
5713
|
...props,
|
|
@@ -5361,39 +5722,39 @@ var SmartDialogDescription = ({
|
|
|
5361
5722
|
...props
|
|
5362
5723
|
}) => {
|
|
5363
5724
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5364
|
-
return isMobile ? /* @__PURE__ */
|
|
5725
|
+
return isMobile ? /* @__PURE__ */ jsx49(DrawerDescription, { ...props, children }) : /* @__PURE__ */ jsx49(DialogDescription, { ...props, children });
|
|
5365
5726
|
};
|
|
5366
5727
|
var SmartDialogHeader = ({ children, ...props }) => {
|
|
5367
5728
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5368
|
-
return isMobile ? /* @__PURE__ */
|
|
5729
|
+
return isMobile ? /* @__PURE__ */ jsx49(DrawerHeader, { ...props, children }) : /* @__PURE__ */ jsx49(DialogHeader, { ...props, children });
|
|
5369
5730
|
};
|
|
5370
5731
|
var SmartDialogTitle = ({ children, ...props }) => {
|
|
5371
5732
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5372
|
-
return isMobile ? /* @__PURE__ */
|
|
5733
|
+
return isMobile ? /* @__PURE__ */ jsx49(DrawerTitle, { ...props, children }) : /* @__PURE__ */ jsx49(DialogTitle, { ...props, children });
|
|
5373
5734
|
};
|
|
5374
5735
|
var SmartDialogTrigger = ({
|
|
5375
5736
|
children,
|
|
5376
5737
|
...props
|
|
5377
5738
|
}) => {
|
|
5378
5739
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5379
|
-
return isMobile ? /* @__PURE__ */
|
|
5740
|
+
return isMobile ? /* @__PURE__ */ jsx49(DrawerTrigger, { ...props, children }) : /* @__PURE__ */ jsx49(DialogTrigger, { ...props, children });
|
|
5380
5741
|
};
|
|
5381
5742
|
var SmartDialogFooter = ({ children, ...props }) => {
|
|
5382
5743
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5383
|
-
return isMobile ? /* @__PURE__ */
|
|
5744
|
+
return isMobile ? /* @__PURE__ */ jsx49(DrawerFooter, { ...props, children }) : /* @__PURE__ */ jsx49(DialogFooter, { ...props, children });
|
|
5384
5745
|
};
|
|
5385
5746
|
var SmartDialogClose = ({ children, ...props }) => {
|
|
5386
5747
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
5387
|
-
return isMobile ? /* @__PURE__ */
|
|
5748
|
+
return isMobile ? /* @__PURE__ */ jsx49(Fragment3, { children: /* @__PURE__ */ jsx49(DrawerClose, { ...props, children }) }) : /* @__PURE__ */ jsx49(DialogClose, { ...props, children });
|
|
5388
5749
|
};
|
|
5389
5750
|
|
|
5390
5751
|
// src/components/ui/sonner.tsx
|
|
5391
5752
|
import { useTheme } from "next-themes";
|
|
5392
5753
|
import { Toaster as Sonner } from "sonner";
|
|
5393
|
-
import { jsx as
|
|
5754
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
5394
5755
|
var Toaster = ({ ...props }) => {
|
|
5395
5756
|
const { theme = "system" } = useTheme();
|
|
5396
|
-
return /* @__PURE__ */
|
|
5757
|
+
return /* @__PURE__ */ jsx50(
|
|
5397
5758
|
Sonner,
|
|
5398
5759
|
{
|
|
5399
5760
|
theme,
|
|
@@ -5411,12 +5772,12 @@ var Toaster = ({ ...props }) => {
|
|
|
5411
5772
|
// src/components/ui/switch.tsx
|
|
5412
5773
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
5413
5774
|
import "react";
|
|
5414
|
-
import { jsx as
|
|
5775
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
5415
5776
|
function Switch({
|
|
5416
5777
|
className,
|
|
5417
5778
|
...props
|
|
5418
5779
|
}) {
|
|
5419
|
-
return /* @__PURE__ */
|
|
5780
|
+
return /* @__PURE__ */ jsx51(
|
|
5420
5781
|
SwitchPrimitive.Root,
|
|
5421
5782
|
{
|
|
5422
5783
|
"data-slot": "switch",
|
|
@@ -5425,7 +5786,7 @@ function Switch({
|
|
|
5425
5786
|
className
|
|
5426
5787
|
),
|
|
5427
5788
|
...props,
|
|
5428
|
-
children: /* @__PURE__ */
|
|
5789
|
+
children: /* @__PURE__ */ jsx51(
|
|
5429
5790
|
SwitchPrimitive.Thumb,
|
|
5430
5791
|
{
|
|
5431
5792
|
"data-slot": "switch-thumb",
|
|
@@ -5440,14 +5801,14 @@ function Switch({
|
|
|
5440
5801
|
|
|
5441
5802
|
// src/components/ui/table.tsx
|
|
5442
5803
|
import "react";
|
|
5443
|
-
import { jsx as
|
|
5804
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
5444
5805
|
function Table({ className, ...props }) {
|
|
5445
|
-
return /* @__PURE__ */
|
|
5806
|
+
return /* @__PURE__ */ jsx52(
|
|
5446
5807
|
"div",
|
|
5447
5808
|
{
|
|
5448
5809
|
"data-slot": "table-container",
|
|
5449
5810
|
className: "relative w-full overflow-x-auto",
|
|
5450
|
-
children: /* @__PURE__ */
|
|
5811
|
+
children: /* @__PURE__ */ jsx52(
|
|
5451
5812
|
"table",
|
|
5452
5813
|
{
|
|
5453
5814
|
"data-slot": "table",
|
|
@@ -5459,7 +5820,7 @@ function Table({ className, ...props }) {
|
|
|
5459
5820
|
);
|
|
5460
5821
|
}
|
|
5461
5822
|
function TableHeader({ className, ...props }) {
|
|
5462
|
-
return /* @__PURE__ */
|
|
5823
|
+
return /* @__PURE__ */ jsx52(
|
|
5463
5824
|
"thead",
|
|
5464
5825
|
{
|
|
5465
5826
|
"data-slot": "table-header",
|
|
@@ -5469,7 +5830,7 @@ function TableHeader({ className, ...props }) {
|
|
|
5469
5830
|
);
|
|
5470
5831
|
}
|
|
5471
5832
|
function TableBody({ className, ...props }) {
|
|
5472
|
-
return /* @__PURE__ */
|
|
5833
|
+
return /* @__PURE__ */ jsx52(
|
|
5473
5834
|
"tbody",
|
|
5474
5835
|
{
|
|
5475
5836
|
"data-slot": "table-body",
|
|
@@ -5479,7 +5840,7 @@ function TableBody({ className, ...props }) {
|
|
|
5479
5840
|
);
|
|
5480
5841
|
}
|
|
5481
5842
|
function TableFooter({ className, ...props }) {
|
|
5482
|
-
return /* @__PURE__ */
|
|
5843
|
+
return /* @__PURE__ */ jsx52(
|
|
5483
5844
|
"tfoot",
|
|
5484
5845
|
{
|
|
5485
5846
|
"data-slot": "table-footer",
|
|
@@ -5492,7 +5853,7 @@ function TableFooter({ className, ...props }) {
|
|
|
5492
5853
|
);
|
|
5493
5854
|
}
|
|
5494
5855
|
function TableRow({ className, ...props }) {
|
|
5495
|
-
return /* @__PURE__ */
|
|
5856
|
+
return /* @__PURE__ */ jsx52(
|
|
5496
5857
|
"tr",
|
|
5497
5858
|
{
|
|
5498
5859
|
"data-slot": "table-row",
|
|
@@ -5505,7 +5866,7 @@ function TableRow({ className, ...props }) {
|
|
|
5505
5866
|
);
|
|
5506
5867
|
}
|
|
5507
5868
|
function TableHead({ className, ...props }) {
|
|
5508
|
-
return /* @__PURE__ */
|
|
5869
|
+
return /* @__PURE__ */ jsx52(
|
|
5509
5870
|
"th",
|
|
5510
5871
|
{
|
|
5511
5872
|
"data-slot": "table-head",
|
|
@@ -5518,7 +5879,7 @@ function TableHead({ className, ...props }) {
|
|
|
5518
5879
|
);
|
|
5519
5880
|
}
|
|
5520
5881
|
function TableCell({ className, ...props }) {
|
|
5521
|
-
return /* @__PURE__ */
|
|
5882
|
+
return /* @__PURE__ */ jsx52(
|
|
5522
5883
|
"td",
|
|
5523
5884
|
{
|
|
5524
5885
|
"data-slot": "table-cell",
|
|
@@ -5534,7 +5895,7 @@ function TableCaption({
|
|
|
5534
5895
|
className,
|
|
5535
5896
|
...props
|
|
5536
5897
|
}) {
|
|
5537
|
-
return /* @__PURE__ */
|
|
5898
|
+
return /* @__PURE__ */ jsx52(
|
|
5538
5899
|
"caption",
|
|
5539
5900
|
{
|
|
5540
5901
|
"data-slot": "table-caption",
|
|
@@ -5546,13 +5907,14 @@ function TableCaption({
|
|
|
5546
5907
|
|
|
5547
5908
|
// src/components/ui/tabs.tsx
|
|
5548
5909
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
5910
|
+
import { cva as cva12 } from "class-variance-authority";
|
|
5549
5911
|
import "react";
|
|
5550
|
-
import { jsx as
|
|
5912
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
5551
5913
|
function Tabs({
|
|
5552
5914
|
className,
|
|
5553
5915
|
...props
|
|
5554
5916
|
}) {
|
|
5555
|
-
return /* @__PURE__ */
|
|
5917
|
+
return /* @__PURE__ */ jsx53(
|
|
5556
5918
|
TabsPrimitive.Root,
|
|
5557
5919
|
{
|
|
5558
5920
|
"data-slot": "tabs",
|
|
@@ -5565,31 +5927,45 @@ function TabsList({
|
|
|
5565
5927
|
className,
|
|
5566
5928
|
...props
|
|
5567
5929
|
}) {
|
|
5568
|
-
return /* @__PURE__ */
|
|
5930
|
+
return /* @__PURE__ */ jsx53(
|
|
5569
5931
|
TabsPrimitive.List,
|
|
5570
5932
|
{
|
|
5571
5933
|
"data-slot": "tabs-list",
|
|
5572
5934
|
className: cn(
|
|
5573
|
-
"text-muted-foreground flex
|
|
5935
|
+
"text-muted-foreground flex items-center overflow-x-auto",
|
|
5574
5936
|
className
|
|
5575
5937
|
),
|
|
5576
5938
|
...props
|
|
5577
5939
|
}
|
|
5578
5940
|
);
|
|
5579
5941
|
}
|
|
5942
|
+
var tabsTriggerVariants = cva12(
|
|
5943
|
+
"cursor-pointer inline-flex shrink-0 items-center justify-center font-sans font-medium whitespace-nowrap transition-[color,box-shadow] text-vibrant-text-details border-b border-b-gray-stroke-default data-[state=active]:font-semibold data-[state=active]:text-vibrant-text-heading data-[state=active]:border-b-2 data-[state=active]:border-b-primary-stroke-default disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 pb-1 px-2",
|
|
5944
|
+
{
|
|
5945
|
+
variants: {
|
|
5946
|
+
size: {
|
|
5947
|
+
md: "min-w-[72px] text-sm leading-5",
|
|
5948
|
+
lg: "min-w-[88px] text-base leading-6"
|
|
5949
|
+
}
|
|
5950
|
+
},
|
|
5951
|
+
defaultVariants: {
|
|
5952
|
+
size: "md"
|
|
5953
|
+
}
|
|
5954
|
+
}
|
|
5955
|
+
);
|
|
5580
5956
|
function TabsTrigger({
|
|
5581
5957
|
className,
|
|
5958
|
+
size,
|
|
5959
|
+
children,
|
|
5582
5960
|
...props
|
|
5583
5961
|
}) {
|
|
5584
|
-
return /* @__PURE__ */
|
|
5962
|
+
return /* @__PURE__ */ jsx53(
|
|
5585
5963
|
TabsPrimitive.Trigger,
|
|
5586
5964
|
{
|
|
5587
5965
|
"data-slot": "tabs-trigger",
|
|
5588
|
-
className: cn(
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
),
|
|
5592
|
-
...props
|
|
5966
|
+
className: cn(tabsTriggerVariants({ size }), className),
|
|
5967
|
+
...props,
|
|
5968
|
+
children: /* @__PURE__ */ jsx53("span", { className: "inline-flex items-center justify-center gap-1.5 rounded-[6px] px-2 py-1.5 hover:bg-gray-surface-light", children })
|
|
5593
5969
|
}
|
|
5594
5970
|
);
|
|
5595
5971
|
}
|
|
@@ -5597,7 +5973,7 @@ function TabsContent({
|
|
|
5597
5973
|
className,
|
|
5598
5974
|
...props
|
|
5599
5975
|
}) {
|
|
5600
|
-
return /* @__PURE__ */
|
|
5976
|
+
return /* @__PURE__ */ jsx53(
|
|
5601
5977
|
TabsPrimitive.Content,
|
|
5602
5978
|
{
|
|
5603
5979
|
"data-slot": "tabs-content",
|
|
@@ -5607,11 +5983,63 @@ function TabsContent({
|
|
|
5607
5983
|
);
|
|
5608
5984
|
}
|
|
5609
5985
|
|
|
5986
|
+
// src/components/ui/theme-provider.tsx
|
|
5987
|
+
import {
|
|
5988
|
+
ThemeProvider as NextThemesProvider
|
|
5989
|
+
} from "next-themes";
|
|
5990
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
5991
|
+
function ThemeProvider({ children, ...props }) {
|
|
5992
|
+
return /* @__PURE__ */ jsx54(
|
|
5993
|
+
NextThemesProvider,
|
|
5994
|
+
{
|
|
5995
|
+
attribute: "class",
|
|
5996
|
+
defaultTheme: "light",
|
|
5997
|
+
enableSystem: true,
|
|
5998
|
+
disableTransitionOnChange: true,
|
|
5999
|
+
...props,
|
|
6000
|
+
children
|
|
6001
|
+
}
|
|
6002
|
+
);
|
|
6003
|
+
}
|
|
6004
|
+
|
|
6005
|
+
// src/components/ui/theme-toggle.tsx
|
|
6006
|
+
import { Monitor, Moon, Sun } from "lucide-react";
|
|
6007
|
+
import { useTheme as useTheme2 } from "next-themes";
|
|
6008
|
+
import "react";
|
|
6009
|
+
import { jsx as jsx55, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6010
|
+
function ThemeToggle({
|
|
6011
|
+
className,
|
|
6012
|
+
...props
|
|
6013
|
+
}) {
|
|
6014
|
+
const { setTheme } = useTheme2();
|
|
6015
|
+
return /* @__PURE__ */ jsxs28(DropdownMenu, { children: [
|
|
6016
|
+
/* @__PURE__ */ jsx55(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs28(Button, { variant: "outline", size: "icon", className, ...props, children: [
|
|
6017
|
+
/* @__PURE__ */ jsx55(Sun, { className: "size-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
|
|
6018
|
+
/* @__PURE__ */ jsx55(Moon, { className: "absolute size-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
|
|
6019
|
+
/* @__PURE__ */ jsx55("span", { className: "sr-only", children: "Toggle theme" })
|
|
6020
|
+
] }) }),
|
|
6021
|
+
/* @__PURE__ */ jsxs28(DropdownMenuContent, { align: "end", children: [
|
|
6022
|
+
/* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("light"), children: [
|
|
6023
|
+
/* @__PURE__ */ jsx55(Sun, { className: "size-4" }),
|
|
6024
|
+
"Light"
|
|
6025
|
+
] }),
|
|
6026
|
+
/* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("dark"), children: [
|
|
6027
|
+
/* @__PURE__ */ jsx55(Moon, { className: "size-4" }),
|
|
6028
|
+
"Dark"
|
|
6029
|
+
] }),
|
|
6030
|
+
/* @__PURE__ */ jsxs28(DropdownMenuItem, { onClick: () => setTheme("system"), children: [
|
|
6031
|
+
/* @__PURE__ */ jsx55(Monitor, { className: "size-4" }),
|
|
6032
|
+
"System"
|
|
6033
|
+
] })
|
|
6034
|
+
] })
|
|
6035
|
+
] });
|
|
6036
|
+
}
|
|
6037
|
+
|
|
5610
6038
|
// src/components/ui/time-input.tsx
|
|
5611
6039
|
import "class-variance-authority";
|
|
5612
6040
|
import { Clock } from "lucide-react";
|
|
5613
|
-
import * as
|
|
5614
|
-
import { jsx as
|
|
6041
|
+
import * as React52 from "react";
|
|
6042
|
+
import { jsx as jsx56, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5615
6043
|
var TIME_FORMAT_PLACEHOLDER = {
|
|
5616
6044
|
"12h": "hh:mm AM/PM",
|
|
5617
6045
|
"24h": "HH:mm",
|
|
@@ -5664,16 +6092,16 @@ function TimeInput({
|
|
|
5664
6092
|
formatDisplay
|
|
5665
6093
|
}) {
|
|
5666
6094
|
const resolvedPlaceholder = placeholder ?? TIME_FORMAT_PLACEHOLDER[timeFormat];
|
|
5667
|
-
const displayValue =
|
|
6095
|
+
const displayValue = React52.useMemo(() => {
|
|
5668
6096
|
if (!time) return "";
|
|
5669
6097
|
if (formatDisplay) return formatDisplay(time);
|
|
5670
6098
|
return formatTime(time, timeFormat);
|
|
5671
6099
|
}, [time, formatDisplay, timeFormat]);
|
|
5672
|
-
const [open, setOpen] =
|
|
5673
|
-
const hoursRef =
|
|
5674
|
-
const minutesRef =
|
|
5675
|
-
const periodRef =
|
|
5676
|
-
const scrollToSelected =
|
|
6100
|
+
const [open, setOpen] = React52.useState(false);
|
|
6101
|
+
const hoursRef = React52.useRef(null);
|
|
6102
|
+
const minutesRef = React52.useRef(null);
|
|
6103
|
+
const periodRef = React52.useRef(null);
|
|
6104
|
+
const scrollToSelected = React52.useCallback(() => {
|
|
5677
6105
|
requestAnimationFrame(() => {
|
|
5678
6106
|
for (const ref of [hoursRef, minutesRef, periodRef]) {
|
|
5679
6107
|
const container = ref.current;
|
|
@@ -5685,7 +6113,7 @@ function TimeInput({
|
|
|
5685
6113
|
}
|
|
5686
6114
|
});
|
|
5687
6115
|
}, []);
|
|
5688
|
-
|
|
6116
|
+
React52.useEffect(() => {
|
|
5689
6117
|
if (open) {
|
|
5690
6118
|
scrollToSelected();
|
|
5691
6119
|
}
|
|
@@ -5721,8 +6149,8 @@ function TimeInput({
|
|
|
5721
6149
|
const selectedH12 = time ? getDisplayHour(time.hours, timeFormat) : null;
|
|
5722
6150
|
const selectedMinute = time?.minutes ?? null;
|
|
5723
6151
|
const selectedPeriod = time ? getPeriod(time.hours) : null;
|
|
5724
|
-
return /* @__PURE__ */
|
|
5725
|
-
/* @__PURE__ */
|
|
6152
|
+
return /* @__PURE__ */ jsx56("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs29(Popover, { open, onOpenChange: setOpen, children: [
|
|
6153
|
+
/* @__PURE__ */ jsx56(PopoverTrigger, { asChild: true, disabled: inputDisabled, children: /* @__PURE__ */ jsxs29(
|
|
5726
6154
|
Button,
|
|
5727
6155
|
{
|
|
5728
6156
|
type: "button",
|
|
@@ -5730,25 +6158,25 @@ function TimeInput({
|
|
|
5730
6158
|
className: cn(
|
|
5731
6159
|
inputVariants({ size }),
|
|
5732
6160
|
"bg-background cursor-pointer w-full text-left flex items-center justify-between gap-2 font-normal",
|
|
5733
|
-
"data-[state=open]:border-
|
|
6161
|
+
"data-[state=open]:border-focus-ring data-[state=open]:hover:border-focus-ring",
|
|
5734
6162
|
inputDisabled && "pointer-events-none cursor-not-allowed opacity-50",
|
|
5735
6163
|
inputClassName
|
|
5736
6164
|
),
|
|
5737
6165
|
disabled: inputDisabled,
|
|
5738
6166
|
children: [
|
|
5739
6167
|
displayValue || resolvedPlaceholder,
|
|
5740
|
-
icon !== void 0 ? icon : /* @__PURE__ */
|
|
6168
|
+
icon !== void 0 ? icon : /* @__PURE__ */ jsx56(Clock, { className: "h-4 w-4 text-muted-foreground shrink-0" })
|
|
5741
6169
|
]
|
|
5742
6170
|
}
|
|
5743
6171
|
) }),
|
|
5744
|
-
/* @__PURE__ */
|
|
6172
|
+
/* @__PURE__ */ jsx56(
|
|
5745
6173
|
PopoverContent,
|
|
5746
6174
|
{
|
|
5747
6175
|
className: cn("w-auto p-0", popoverContentClassName),
|
|
5748
6176
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
5749
6177
|
...popoverContentProps,
|
|
5750
|
-
children: /* @__PURE__ */
|
|
5751
|
-
/* @__PURE__ */
|
|
6178
|
+
children: /* @__PURE__ */ jsxs29("div", { className: "flex divide-x border border-focus-ring rounded-md", children: [
|
|
6179
|
+
/* @__PURE__ */ jsx56("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx56("div", { ref: hoursRef, className: "flex flex-col p-1 ", children: hoursList.map((h) => /* @__PURE__ */ jsx56(
|
|
5752
6180
|
Button,
|
|
5753
6181
|
{
|
|
5754
6182
|
variant: "ghost",
|
|
@@ -5763,7 +6191,7 @@ function TimeInput({
|
|
|
5763
6191
|
},
|
|
5764
6192
|
h
|
|
5765
6193
|
)) }) }),
|
|
5766
|
-
/* @__PURE__ */
|
|
6194
|
+
/* @__PURE__ */ jsx56("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx56(
|
|
5767
6195
|
"div",
|
|
5768
6196
|
{
|
|
5769
6197
|
ref: minutesRef,
|
|
@@ -5771,7 +6199,7 @@ function TimeInput({
|
|
|
5771
6199
|
"flex flex-col p-1",
|
|
5772
6200
|
minutesList.length <= 12 && "h-full justify-center"
|
|
5773
6201
|
),
|
|
5774
|
-
children: minutesList.map((m) => /* @__PURE__ */
|
|
6202
|
+
children: minutesList.map((m) => /* @__PURE__ */ jsx56(
|
|
5775
6203
|
Button,
|
|
5776
6204
|
{
|
|
5777
6205
|
variant: "ghost",
|
|
@@ -5788,7 +6216,7 @@ function TimeInput({
|
|
|
5788
6216
|
))
|
|
5789
6217
|
}
|
|
5790
6218
|
) }),
|
|
5791
|
-
!is24HourFormat(timeFormat) && /* @__PURE__ */
|
|
6219
|
+
!is24HourFormat(timeFormat) && /* @__PURE__ */ jsx56("div", { className: "flex flex-col p-1 justify-center gap-1", children: ["AM", "PM"].map((p) => /* @__PURE__ */ jsx56(
|
|
5792
6220
|
Button,
|
|
5793
6221
|
{
|
|
5794
6222
|
variant: "ghost",
|
|
@@ -5812,9 +6240,9 @@ function TimeInput({
|
|
|
5812
6240
|
// src/components/ui/toggle.tsx
|
|
5813
6241
|
import "react";
|
|
5814
6242
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
5815
|
-
import { cva as
|
|
5816
|
-
import { jsx as
|
|
5817
|
-
var toggleVariants =
|
|
6243
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
6244
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
6245
|
+
var toggleVariants = cva13(
|
|
5818
6246
|
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
|
|
5819
6247
|
{
|
|
5820
6248
|
variants: {
|
|
@@ -5840,7 +6268,7 @@ function Toggle({
|
|
|
5840
6268
|
size,
|
|
5841
6269
|
...props
|
|
5842
6270
|
}) {
|
|
5843
|
-
return /* @__PURE__ */
|
|
6271
|
+
return /* @__PURE__ */ jsx57(
|
|
5844
6272
|
TogglePrimitive.Root,
|
|
5845
6273
|
{
|
|
5846
6274
|
"data-slot": "toggle",
|
|
@@ -5851,11 +6279,11 @@ function Toggle({
|
|
|
5851
6279
|
}
|
|
5852
6280
|
|
|
5853
6281
|
// src/components/ui/toggle-group.tsx
|
|
5854
|
-
import * as
|
|
6282
|
+
import * as React54 from "react";
|
|
5855
6283
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
5856
6284
|
import "class-variance-authority";
|
|
5857
|
-
import { jsx as
|
|
5858
|
-
var ToggleGroupContext =
|
|
6285
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
6286
|
+
var ToggleGroupContext = React54.createContext({
|
|
5859
6287
|
size: "default",
|
|
5860
6288
|
variant: "default"
|
|
5861
6289
|
});
|
|
@@ -5866,7 +6294,7 @@ function ToggleGroup({
|
|
|
5866
6294
|
children,
|
|
5867
6295
|
...props
|
|
5868
6296
|
}) {
|
|
5869
|
-
return /* @__PURE__ */
|
|
6297
|
+
return /* @__PURE__ */ jsx58(
|
|
5870
6298
|
ToggleGroupPrimitive.Root,
|
|
5871
6299
|
{
|
|
5872
6300
|
"data-slot": "toggle-group",
|
|
@@ -5877,7 +6305,7 @@ function ToggleGroup({
|
|
|
5877
6305
|
className
|
|
5878
6306
|
),
|
|
5879
6307
|
...props,
|
|
5880
|
-
children: /* @__PURE__ */
|
|
6308
|
+
children: /* @__PURE__ */ jsx58(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
5881
6309
|
}
|
|
5882
6310
|
);
|
|
5883
6311
|
}
|
|
@@ -5888,8 +6316,8 @@ function ToggleGroupItem({
|
|
|
5888
6316
|
size,
|
|
5889
6317
|
...props
|
|
5890
6318
|
}) {
|
|
5891
|
-
const context =
|
|
5892
|
-
return /* @__PURE__ */
|
|
6319
|
+
const context = React54.useContext(ToggleGroupContext);
|
|
6320
|
+
return /* @__PURE__ */ jsx58(
|
|
5893
6321
|
ToggleGroupPrimitive.Item,
|
|
5894
6322
|
{
|
|
5895
6323
|
"data-slot": "toggle-group-item",
|
|
@@ -5911,10 +6339,10 @@ function ToggleGroupItem({
|
|
|
5911
6339
|
|
|
5912
6340
|
// src/components/ui/typography.tsx
|
|
5913
6341
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
5914
|
-
import { cva as
|
|
6342
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
5915
6343
|
import "react";
|
|
5916
|
-
import { jsx as
|
|
5917
|
-
var displayTextVariants =
|
|
6344
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
6345
|
+
var displayTextVariants = cva14(
|
|
5918
6346
|
"tracking-normal font-normal leading-none text-brand-dark font-serif italic",
|
|
5919
6347
|
{
|
|
5920
6348
|
variants: {
|
|
@@ -5936,7 +6364,7 @@ function DisplayHeading({
|
|
|
5936
6364
|
...props
|
|
5937
6365
|
}) {
|
|
5938
6366
|
const Comp = asChild ? Slot7 : "h1";
|
|
5939
|
-
return /* @__PURE__ */
|
|
6367
|
+
return /* @__PURE__ */ jsx59(
|
|
5940
6368
|
Comp,
|
|
5941
6369
|
{
|
|
5942
6370
|
"data-slot": "h1",
|
|
@@ -5945,7 +6373,7 @@ function DisplayHeading({
|
|
|
5945
6373
|
}
|
|
5946
6374
|
);
|
|
5947
6375
|
}
|
|
5948
|
-
var bodyTextVariants =
|
|
6376
|
+
var bodyTextVariants = cva14("font-sans ", {
|
|
5949
6377
|
variants: {
|
|
5950
6378
|
size: {
|
|
5951
6379
|
lg: "text-lg md:text-xl leading-[1.625rem] md:leading-[1.75rem]",
|
|
@@ -5965,7 +6393,7 @@ function Body({
|
|
|
5965
6393
|
...props
|
|
5966
6394
|
}) {
|
|
5967
6395
|
const Comp = asChild ? Slot7 : "p";
|
|
5968
|
-
return /* @__PURE__ */
|
|
6396
|
+
return /* @__PURE__ */ jsx59(
|
|
5969
6397
|
Comp,
|
|
5970
6398
|
{
|
|
5971
6399
|
"data-slot": "h1",
|
|
@@ -5980,7 +6408,7 @@ function HeadingXL({
|
|
|
5980
6408
|
...props
|
|
5981
6409
|
}) {
|
|
5982
6410
|
const Comp = asChild ? Slot7 : "h1";
|
|
5983
|
-
return /* @__PURE__ */
|
|
6411
|
+
return /* @__PURE__ */ jsx59(
|
|
5984
6412
|
Comp,
|
|
5985
6413
|
{
|
|
5986
6414
|
"data-slot": "h1",
|
|
@@ -5998,7 +6426,7 @@ function HeadingL({
|
|
|
5998
6426
|
...props
|
|
5999
6427
|
}) {
|
|
6000
6428
|
const Comp = asChild ? Slot7 : "h2";
|
|
6001
|
-
return /* @__PURE__ */
|
|
6429
|
+
return /* @__PURE__ */ jsx59(
|
|
6002
6430
|
Comp,
|
|
6003
6431
|
{
|
|
6004
6432
|
"data-slot": "h2",
|
|
@@ -6016,7 +6444,7 @@ function HeadingM({
|
|
|
6016
6444
|
...props
|
|
6017
6445
|
}) {
|
|
6018
6446
|
const Comp = asChild ? Slot7 : "h3";
|
|
6019
|
-
return /* @__PURE__ */
|
|
6447
|
+
return /* @__PURE__ */ jsx59(
|
|
6020
6448
|
Comp,
|
|
6021
6449
|
{
|
|
6022
6450
|
"data-slot": "h3",
|
|
@@ -6034,7 +6462,7 @@ function HeadingS({
|
|
|
6034
6462
|
...props
|
|
6035
6463
|
}) {
|
|
6036
6464
|
const Comp = asChild ? Slot7 : "h4";
|
|
6037
|
-
return /* @__PURE__ */
|
|
6465
|
+
return /* @__PURE__ */ jsx59(
|
|
6038
6466
|
Comp,
|
|
6039
6467
|
{
|
|
6040
6468
|
"data-slot": "h4",
|
|
@@ -6052,7 +6480,7 @@ function HeadingXS({
|
|
|
6052
6480
|
...props
|
|
6053
6481
|
}) {
|
|
6054
6482
|
const Comp = asChild ? Slot7 : "h5";
|
|
6055
|
-
return /* @__PURE__ */
|
|
6483
|
+
return /* @__PURE__ */ jsx59(
|
|
6056
6484
|
Comp,
|
|
6057
6485
|
{
|
|
6058
6486
|
"data-slot": "h5",
|
|
@@ -6070,7 +6498,7 @@ function HeadingXXS({
|
|
|
6070
6498
|
...props
|
|
6071
6499
|
}) {
|
|
6072
6500
|
const Comp = asChild ? Slot7 : "h6";
|
|
6073
|
-
return /* @__PURE__ */
|
|
6501
|
+
return /* @__PURE__ */ jsx59(
|
|
6074
6502
|
Comp,
|
|
6075
6503
|
{
|
|
6076
6504
|
"data-slot": "h5",
|
|
@@ -6082,12 +6510,16 @@ function HeadingXXS({
|
|
|
6082
6510
|
}
|
|
6083
6511
|
);
|
|
6084
6512
|
}
|
|
6513
|
+
|
|
6514
|
+
// src/hooks/use-theme.ts
|
|
6515
|
+
import { useTheme as useTheme3 } from "next-themes";
|
|
6085
6516
|
export {
|
|
6086
6517
|
Accordion,
|
|
6087
6518
|
AccordionContent,
|
|
6088
6519
|
AccordionItem,
|
|
6089
6520
|
AccordionTrigger,
|
|
6090
6521
|
Alert,
|
|
6522
|
+
AlertBanner,
|
|
6091
6523
|
AlertDescription,
|
|
6092
6524
|
AlertDialog,
|
|
6093
6525
|
AlertDialogAction,
|
|
@@ -6107,6 +6539,11 @@ export {
|
|
|
6107
6539
|
AvatarFallback,
|
|
6108
6540
|
AvatarImage,
|
|
6109
6541
|
Badge,
|
|
6542
|
+
BadgeActionable,
|
|
6543
|
+
BadgeInformative,
|
|
6544
|
+
BadgeInformativeGroup,
|
|
6545
|
+
BadgeInformativeItem,
|
|
6546
|
+
BadgeNumber,
|
|
6110
6547
|
Body,
|
|
6111
6548
|
Breadcrumb,
|
|
6112
6549
|
BreadcrumbEllipsis,
|
|
@@ -6265,6 +6702,7 @@ export {
|
|
|
6265
6702
|
ResizableHandle,
|
|
6266
6703
|
ResizablePanel,
|
|
6267
6704
|
ResizablePanelGroup,
|
|
6705
|
+
RichTooltipContent,
|
|
6268
6706
|
ScrollArea,
|
|
6269
6707
|
ScrollBar,
|
|
6270
6708
|
SearchableSelect,
|
|
@@ -6339,6 +6777,8 @@ export {
|
|
|
6339
6777
|
TabsList,
|
|
6340
6778
|
TabsTrigger,
|
|
6341
6779
|
Textarea,
|
|
6780
|
+
ThemeProvider,
|
|
6781
|
+
ThemeToggle,
|
|
6342
6782
|
TimeInput,
|
|
6343
6783
|
Toaster,
|
|
6344
6784
|
Toggle,
|
|
@@ -6348,6 +6788,10 @@ export {
|
|
|
6348
6788
|
TooltipContent,
|
|
6349
6789
|
TooltipProvider,
|
|
6350
6790
|
TooltipTrigger,
|
|
6791
|
+
alertBannerVariants,
|
|
6792
|
+
badgeActionableVariants,
|
|
6793
|
+
badgeInformativeVariants,
|
|
6794
|
+
badgeNumberVariants,
|
|
6351
6795
|
badgeVariants,
|
|
6352
6796
|
bodyTextVariants,
|
|
6353
6797
|
buttonVariants,
|
|
@@ -6356,9 +6800,11 @@ export {
|
|
|
6356
6800
|
inputVariants,
|
|
6357
6801
|
labelTextVariants,
|
|
6358
6802
|
navigationMenuTriggerStyle,
|
|
6803
|
+
tabsTriggerVariants,
|
|
6359
6804
|
toggleVariants,
|
|
6360
6805
|
useFormField,
|
|
6361
6806
|
useIsMobile,
|
|
6362
|
-
useSidebar
|
|
6807
|
+
useSidebar,
|
|
6808
|
+
useTheme3 as useTheme
|
|
6363
6809
|
};
|
|
6364
6810
|
//# sourceMappingURL=index.mjs.map
|