@polastack/design-system 0.1.2 → 0.1.4
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.ts +17 -1
- package/dist/index.js +567 -442
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -334,34 +334,63 @@ Badge.displayName = "Badge";
|
|
|
334
334
|
// src/components/avatar/avatar.tsx
|
|
335
335
|
import * as React5 from "react";
|
|
336
336
|
import { cva as cva3 } from "class-variance-authority";
|
|
337
|
+
|
|
338
|
+
// src/lib/string-hash.ts
|
|
339
|
+
function stringToIndex(str, buckets) {
|
|
340
|
+
let hash = 5381;
|
|
341
|
+
for (let i = 0; i < str.length; i++) {
|
|
342
|
+
hash = (hash << 5) + hash + str.charCodeAt(i) | 0;
|
|
343
|
+
}
|
|
344
|
+
return Math.abs(hash) % buckets;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// src/components/avatar/avatar.tsx
|
|
337
348
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
338
349
|
var [AvatarContextProvider, useAvatarContext] = createContext2("Avatar");
|
|
339
|
-
var
|
|
340
|
-
"
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
350
|
+
var FALLBACK_COLORS = [
|
|
351
|
+
"bg-primary-100 text-primary-700 dark:bg-primary-950 dark:text-primary-300",
|
|
352
|
+
"bg-success-100 text-success-700 dark:bg-success-950 dark:text-success-300",
|
|
353
|
+
"bg-warning-100 text-warning-700 dark:bg-warning-950 dark:text-warning-300",
|
|
354
|
+
"bg-error-100 text-error-700 dark:bg-error-950 dark:text-error-300",
|
|
355
|
+
"bg-info-100 text-info-700 dark:bg-info-950 dark:text-info-300",
|
|
356
|
+
"bg-primary-200 text-primary-800 dark:bg-primary-900 dark:text-primary-200",
|
|
357
|
+
"bg-info-200 text-info-800 dark:bg-info-900 dark:text-info-200",
|
|
358
|
+
"bg-success-200 text-success-800 dark:bg-success-900 dark:text-success-200"
|
|
359
|
+
];
|
|
360
|
+
var avatarVariants = cva3("relative flex shrink-0 overflow-hidden", {
|
|
361
|
+
variants: {
|
|
362
|
+
size: {
|
|
363
|
+
sm: "h-8 w-8 text-xs",
|
|
364
|
+
md: "h-10 w-10 text-sm",
|
|
365
|
+
lg: "h-12 w-12 text-base"
|
|
348
366
|
},
|
|
349
|
-
|
|
350
|
-
|
|
367
|
+
shape: {
|
|
368
|
+
circle: "rounded-full",
|
|
369
|
+
square: "rounded-lg"
|
|
351
370
|
}
|
|
371
|
+
},
|
|
372
|
+
defaultVariants: {
|
|
373
|
+
size: "md",
|
|
374
|
+
shape: "circle"
|
|
352
375
|
}
|
|
353
|
-
);
|
|
376
|
+
});
|
|
354
377
|
var Avatar = React5.forwardRef(
|
|
355
|
-
({ className, size, ...props }, ref) => {
|
|
378
|
+
({ className, size = "md", shape = "circle", ...props }, ref) => {
|
|
356
379
|
const [imageLoaded, setImageLoaded] = React5.useState(false);
|
|
357
|
-
return /* @__PURE__ */ jsx4(
|
|
358
|
-
|
|
380
|
+
return /* @__PURE__ */ jsx4(
|
|
381
|
+
AvatarContextProvider,
|
|
359
382
|
{
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
383
|
+
value: { imageLoaded, setImageLoaded, shape, size },
|
|
384
|
+
children: /* @__PURE__ */ jsx4(
|
|
385
|
+
"span",
|
|
386
|
+
{
|
|
387
|
+
ref,
|
|
388
|
+
className: cn(avatarVariants({ size, shape }), className),
|
|
389
|
+
...props
|
|
390
|
+
}
|
|
391
|
+
)
|
|
363
392
|
}
|
|
364
|
-
)
|
|
393
|
+
);
|
|
365
394
|
}
|
|
366
395
|
);
|
|
367
396
|
Avatar.displayName = "Avatar";
|
|
@@ -391,15 +420,20 @@ var AvatarImage = React5.forwardRef(
|
|
|
391
420
|
}
|
|
392
421
|
);
|
|
393
422
|
AvatarImage.displayName = "AvatarImage";
|
|
394
|
-
var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => {
|
|
395
|
-
const { imageLoaded } = useAvatarContext();
|
|
423
|
+
var AvatarFallback = React5.forwardRef(({ className, colorSeed, ...props }, ref) => {
|
|
424
|
+
const { imageLoaded, shape } = useAvatarContext();
|
|
425
|
+
const autoSeed = React5.useId();
|
|
396
426
|
if (imageLoaded) return null;
|
|
427
|
+
const seed = colorSeed ?? autoSeed;
|
|
428
|
+
const colorClasses = FALLBACK_COLORS[stringToIndex(seed, FALLBACK_COLORS.length)];
|
|
397
429
|
return /* @__PURE__ */ jsx4(
|
|
398
430
|
"span",
|
|
399
431
|
{
|
|
400
432
|
ref,
|
|
401
433
|
className: cn(
|
|
402
|
-
"flex h-full w-full items-center justify-center
|
|
434
|
+
"flex h-full w-full items-center justify-center font-medium",
|
|
435
|
+
shape === "circle" ? "rounded-full" : "rounded-lg",
|
|
436
|
+
colorClasses,
|
|
403
437
|
className
|
|
404
438
|
),
|
|
405
439
|
...props
|
|
@@ -407,12 +441,101 @@ var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => {
|
|
|
407
441
|
);
|
|
408
442
|
});
|
|
409
443
|
AvatarFallback.displayName = "AvatarFallback";
|
|
444
|
+
var STATUS_COLORS = {
|
|
445
|
+
online: "bg-success-500",
|
|
446
|
+
offline: "bg-neutral-400",
|
|
447
|
+
busy: "bg-error-500",
|
|
448
|
+
away: "bg-warning-500"
|
|
449
|
+
};
|
|
450
|
+
var STATUS_LABELS = {
|
|
451
|
+
online: "Online",
|
|
452
|
+
offline: "Offline",
|
|
453
|
+
busy: "Busy",
|
|
454
|
+
away: "Away"
|
|
455
|
+
};
|
|
456
|
+
var STATUS_SIZES = {
|
|
457
|
+
sm: "h-2.5 w-2.5",
|
|
458
|
+
md: "h-3 w-3",
|
|
459
|
+
lg: "h-3.5 w-3.5"
|
|
460
|
+
};
|
|
461
|
+
var AvatarStatus = React5.forwardRef(({ status, className, ...props }, ref) => {
|
|
462
|
+
const { size, shape } = useAvatarContext();
|
|
463
|
+
return /* @__PURE__ */ jsx4(
|
|
464
|
+
"span",
|
|
465
|
+
{
|
|
466
|
+
ref,
|
|
467
|
+
role: "status",
|
|
468
|
+
"aria-label": props["aria-label"] ?? STATUS_LABELS[status],
|
|
469
|
+
className: cn(
|
|
470
|
+
"absolute bottom-0 right-0 rounded-full ring-2 ring-[var(--color-surface)]",
|
|
471
|
+
STATUS_COLORS[status],
|
|
472
|
+
STATUS_SIZES[size],
|
|
473
|
+
shape === "circle" && "translate-x-[10%] translate-y-[10%]",
|
|
474
|
+
className
|
|
475
|
+
),
|
|
476
|
+
...props
|
|
477
|
+
}
|
|
478
|
+
);
|
|
479
|
+
});
|
|
480
|
+
AvatarStatus.displayName = "AvatarStatus";
|
|
410
481
|
|
|
411
|
-
// src/components/
|
|
482
|
+
// src/components/avatar-group/avatar-group.tsx
|
|
412
483
|
import * as React6 from "react";
|
|
413
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
414
|
-
var
|
|
415
|
-
|
|
484
|
+
import { jsx as jsx5, jsxs } from "react/jsx-runtime";
|
|
485
|
+
var SPACING = {
|
|
486
|
+
sm: "-space-x-2",
|
|
487
|
+
md: "-space-x-3",
|
|
488
|
+
lg: "-space-x-3"
|
|
489
|
+
};
|
|
490
|
+
var AvatarGroup = React6.forwardRef(
|
|
491
|
+
({ className, max = 3, size = "md", children, ...props }, ref) => {
|
|
492
|
+
const items = React6.Children.toArray(children);
|
|
493
|
+
const visible = items.slice(0, max);
|
|
494
|
+
const overflow = items.length - max;
|
|
495
|
+
return /* @__PURE__ */ jsxs(
|
|
496
|
+
"div",
|
|
497
|
+
{
|
|
498
|
+
ref,
|
|
499
|
+
role: "group",
|
|
500
|
+
className: cn(
|
|
501
|
+
"flex items-center",
|
|
502
|
+
SPACING[size],
|
|
503
|
+
className
|
|
504
|
+
),
|
|
505
|
+
...props,
|
|
506
|
+
children: [
|
|
507
|
+
visible.map((child, i) => /* @__PURE__ */ jsx5(
|
|
508
|
+
"span",
|
|
509
|
+
{
|
|
510
|
+
className: "relative ring-2 ring-[var(--color-surface)] rounded-full",
|
|
511
|
+
style: { zIndex: visible.length - i },
|
|
512
|
+
children: child
|
|
513
|
+
},
|
|
514
|
+
i
|
|
515
|
+
)),
|
|
516
|
+
overflow > 0 && /* @__PURE__ */ jsx5(
|
|
517
|
+
"span",
|
|
518
|
+
{
|
|
519
|
+
className: "relative ring-2 ring-[var(--color-surface)] rounded-full",
|
|
520
|
+
style: { zIndex: 0 },
|
|
521
|
+
children: /* @__PURE__ */ jsx5(Avatar, { size, children: /* @__PURE__ */ jsxs(AvatarFallback, { children: [
|
|
522
|
+
"+",
|
|
523
|
+
overflow
|
|
524
|
+
] }) })
|
|
525
|
+
}
|
|
526
|
+
)
|
|
527
|
+
]
|
|
528
|
+
}
|
|
529
|
+
);
|
|
530
|
+
}
|
|
531
|
+
);
|
|
532
|
+
AvatarGroup.displayName = "AvatarGroup";
|
|
533
|
+
|
|
534
|
+
// src/components/separator/separator.tsx
|
|
535
|
+
import * as React7 from "react";
|
|
536
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
537
|
+
var Separator = React7.forwardRef(
|
|
538
|
+
({ className, orientation = "horizontal", decorative = false, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
416
539
|
"div",
|
|
417
540
|
{
|
|
418
541
|
ref,
|
|
@@ -430,10 +553,10 @@ var Separator = React6.forwardRef(
|
|
|
430
553
|
Separator.displayName = "Separator";
|
|
431
554
|
|
|
432
555
|
// src/components/skeleton/skeleton.tsx
|
|
433
|
-
import * as
|
|
434
|
-
import { jsx as
|
|
435
|
-
var Skeleton =
|
|
436
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
556
|
+
import * as React8 from "react";
|
|
557
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
558
|
+
var Skeleton = React8.forwardRef(
|
|
559
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
|
|
437
560
|
"div",
|
|
438
561
|
{
|
|
439
562
|
ref,
|
|
@@ -446,9 +569,9 @@ var Skeleton = React7.forwardRef(
|
|
|
446
569
|
Skeleton.displayName = "Skeleton";
|
|
447
570
|
|
|
448
571
|
// src/components/spinner/spinner.tsx
|
|
449
|
-
import * as
|
|
572
|
+
import * as React9 from "react";
|
|
450
573
|
import { cva as cva4 } from "class-variance-authority";
|
|
451
|
-
import { jsx as
|
|
574
|
+
import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
452
575
|
var spinnerVariants = cva4("animate-spin", {
|
|
453
576
|
variants: {
|
|
454
577
|
size: {
|
|
@@ -461,9 +584,9 @@ var spinnerVariants = cva4("animate-spin", {
|
|
|
461
584
|
size: "md"
|
|
462
585
|
}
|
|
463
586
|
});
|
|
464
|
-
var Spinner =
|
|
465
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */
|
|
466
|
-
/* @__PURE__ */
|
|
587
|
+
var Spinner = React9.forwardRef(
|
|
588
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsxs2("div", { ref, role: "status", "aria-label": "Loading", ...props, children: [
|
|
589
|
+
/* @__PURE__ */ jsxs2(
|
|
467
590
|
"svg",
|
|
468
591
|
{
|
|
469
592
|
className: cn(spinnerVariants({ size }), className),
|
|
@@ -471,7 +594,7 @@ var Spinner = React8.forwardRef(
|
|
|
471
594
|
fill: "none",
|
|
472
595
|
viewBox: "0 0 24 24",
|
|
473
596
|
children: [
|
|
474
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ jsx8(
|
|
475
598
|
"circle",
|
|
476
599
|
{
|
|
477
600
|
className: "opacity-25",
|
|
@@ -482,7 +605,7 @@ var Spinner = React8.forwardRef(
|
|
|
482
605
|
strokeWidth: "4"
|
|
483
606
|
}
|
|
484
607
|
),
|
|
485
|
-
/* @__PURE__ */
|
|
608
|
+
/* @__PURE__ */ jsx8(
|
|
486
609
|
"path",
|
|
487
610
|
{
|
|
488
611
|
className: "opacity-75",
|
|
@@ -493,15 +616,15 @@ var Spinner = React8.forwardRef(
|
|
|
493
616
|
]
|
|
494
617
|
}
|
|
495
618
|
),
|
|
496
|
-
/* @__PURE__ */
|
|
619
|
+
/* @__PURE__ */ jsx8("span", { className: "sr-only", children: "Loading..." })
|
|
497
620
|
] })
|
|
498
621
|
);
|
|
499
622
|
Spinner.displayName = "Spinner";
|
|
500
623
|
|
|
501
624
|
// src/components/card/card.tsx
|
|
502
|
-
import * as
|
|
503
|
-
import { jsx as
|
|
504
|
-
var Card =
|
|
625
|
+
import * as React10 from "react";
|
|
626
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
627
|
+
var Card = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
505
628
|
"div",
|
|
506
629
|
{
|
|
507
630
|
ref,
|
|
@@ -513,7 +636,7 @@ var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
513
636
|
}
|
|
514
637
|
));
|
|
515
638
|
Card.displayName = "Card";
|
|
516
|
-
var CardHeader =
|
|
639
|
+
var CardHeader = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
517
640
|
"div",
|
|
518
641
|
{
|
|
519
642
|
ref,
|
|
@@ -522,7 +645,7 @@ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
522
645
|
}
|
|
523
646
|
));
|
|
524
647
|
CardHeader.displayName = "CardHeader";
|
|
525
|
-
var CardTitle =
|
|
648
|
+
var CardTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
526
649
|
"h3",
|
|
527
650
|
{
|
|
528
651
|
ref,
|
|
@@ -531,7 +654,7 @@ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
531
654
|
}
|
|
532
655
|
));
|
|
533
656
|
CardTitle.displayName = "CardTitle";
|
|
534
|
-
var CardDescription =
|
|
657
|
+
var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
535
658
|
"p",
|
|
536
659
|
{
|
|
537
660
|
ref,
|
|
@@ -540,9 +663,9 @@ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
540
663
|
}
|
|
541
664
|
));
|
|
542
665
|
CardDescription.displayName = "CardDescription";
|
|
543
|
-
var CardContent =
|
|
666
|
+
var CardContent = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9("div", { ref, className: cn("p-6 pt-0", className), ...props }));
|
|
544
667
|
CardContent.displayName = "CardContent";
|
|
545
|
-
var CardFooter =
|
|
668
|
+
var CardFooter = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
546
669
|
"div",
|
|
547
670
|
{
|
|
548
671
|
ref,
|
|
@@ -553,13 +676,13 @@ var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
553
676
|
CardFooter.displayName = "CardFooter";
|
|
554
677
|
|
|
555
678
|
// src/components/tooltip/tooltip.tsx
|
|
556
|
-
import * as
|
|
679
|
+
import * as React11 from "react";
|
|
557
680
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
558
|
-
import { jsx as
|
|
681
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
559
682
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
560
683
|
var Tooltip = TooltipPrimitive.Root;
|
|
561
684
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
562
|
-
var TooltipContent =
|
|
685
|
+
var TooltipContent = React11.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx10(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
|
|
563
686
|
TooltipPrimitive.Content,
|
|
564
687
|
{
|
|
565
688
|
ref,
|
|
@@ -577,12 +700,12 @@ var TooltipContent = React10.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
577
700
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
578
701
|
|
|
579
702
|
// src/components/toast/toast.tsx
|
|
580
|
-
import * as
|
|
703
|
+
import * as React12 from "react";
|
|
581
704
|
import * as ToastPrimitive from "@radix-ui/react-toast";
|
|
582
705
|
import { cva as cva5 } from "class-variance-authority";
|
|
583
|
-
import { jsx as
|
|
706
|
+
import { jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
584
707
|
var ToastProvider = ToastPrimitive.Provider;
|
|
585
|
-
var ToastViewport =
|
|
708
|
+
var ToastViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
586
709
|
ToastPrimitive.Viewport,
|
|
587
710
|
{
|
|
588
711
|
ref,
|
|
@@ -609,7 +732,7 @@ var toastVariants = cva5(
|
|
|
609
732
|
}
|
|
610
733
|
}
|
|
611
734
|
);
|
|
612
|
-
var Toast =
|
|
735
|
+
var Toast = React12.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
613
736
|
ToastPrimitive.Root,
|
|
614
737
|
{
|
|
615
738
|
ref,
|
|
@@ -618,7 +741,7 @@ var Toast = React11.forwardRef(({ className, variant, ...props }, ref) => /* @__
|
|
|
618
741
|
}
|
|
619
742
|
));
|
|
620
743
|
Toast.displayName = "Toast";
|
|
621
|
-
var ToastAction =
|
|
744
|
+
var ToastAction = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
622
745
|
ToastPrimitive.Action,
|
|
623
746
|
{
|
|
624
747
|
ref,
|
|
@@ -630,7 +753,7 @@ var ToastAction = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
630
753
|
}
|
|
631
754
|
));
|
|
632
755
|
ToastAction.displayName = "ToastAction";
|
|
633
|
-
var ToastClose =
|
|
756
|
+
var ToastClose = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
634
757
|
ToastPrimitive.Close,
|
|
635
758
|
{
|
|
636
759
|
ref,
|
|
@@ -641,7 +764,7 @@ var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
641
764
|
"toast-close": "",
|
|
642
765
|
"aria-label": "Close",
|
|
643
766
|
...props,
|
|
644
|
-
children: /* @__PURE__ */
|
|
767
|
+
children: /* @__PURE__ */ jsxs3(
|
|
645
768
|
"svg",
|
|
646
769
|
{
|
|
647
770
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -654,15 +777,15 @@ var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
654
777
|
strokeLinecap: "round",
|
|
655
778
|
strokeLinejoin: "round",
|
|
656
779
|
children: [
|
|
657
|
-
/* @__PURE__ */
|
|
658
|
-
/* @__PURE__ */
|
|
780
|
+
/* @__PURE__ */ jsx11("path", { d: "M18 6 6 18" }),
|
|
781
|
+
/* @__PURE__ */ jsx11("path", { d: "m6 6 12 12" })
|
|
659
782
|
]
|
|
660
783
|
}
|
|
661
784
|
)
|
|
662
785
|
}
|
|
663
786
|
));
|
|
664
787
|
ToastClose.displayName = "ToastClose";
|
|
665
|
-
var ToastTitle =
|
|
788
|
+
var ToastTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
666
789
|
ToastPrimitive.Title,
|
|
667
790
|
{
|
|
668
791
|
ref,
|
|
@@ -671,7 +794,7 @@ var ToastTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
671
794
|
}
|
|
672
795
|
));
|
|
673
796
|
ToastTitle.displayName = "ToastTitle";
|
|
674
|
-
var ToastDescription =
|
|
797
|
+
var ToastDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
675
798
|
ToastPrimitive.Description,
|
|
676
799
|
{
|
|
677
800
|
ref,
|
|
@@ -682,7 +805,7 @@ var ToastDescription = React11.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
682
805
|
ToastDescription.displayName = "ToastDescription";
|
|
683
806
|
|
|
684
807
|
// src/components/toast/use-toast.ts
|
|
685
|
-
import * as
|
|
808
|
+
import * as React13 from "react";
|
|
686
809
|
var TOAST_LIMIT = 5;
|
|
687
810
|
var TOAST_REMOVE_DELAY = 1e3;
|
|
688
811
|
var count = 0;
|
|
@@ -753,8 +876,8 @@ function toast(props) {
|
|
|
753
876
|
return { id, dismiss };
|
|
754
877
|
}
|
|
755
878
|
function useToast() {
|
|
756
|
-
const [state, setState] =
|
|
757
|
-
|
|
879
|
+
const [state, setState] = React13.useState(memoryState);
|
|
880
|
+
React13.useEffect(() => {
|
|
758
881
|
listeners.push(setState);
|
|
759
882
|
return () => {
|
|
760
883
|
const index = listeners.indexOf(setState);
|
|
@@ -769,27 +892,27 @@ function useToast() {
|
|
|
769
892
|
}
|
|
770
893
|
|
|
771
894
|
// src/components/toast/toaster.tsx
|
|
772
|
-
import { jsx as
|
|
895
|
+
import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
773
896
|
function Toaster() {
|
|
774
897
|
const { toasts } = useToast();
|
|
775
|
-
return /* @__PURE__ */
|
|
776
|
-
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */
|
|
777
|
-
/* @__PURE__ */
|
|
778
|
-
title && /* @__PURE__ */
|
|
779
|
-
description && /* @__PURE__ */
|
|
898
|
+
return /* @__PURE__ */ jsxs4(ToastProvider, { children: [
|
|
899
|
+
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs4(Toast, { ...props, children: [
|
|
900
|
+
/* @__PURE__ */ jsxs4("div", { className: "grid gap-1", children: [
|
|
901
|
+
title && /* @__PURE__ */ jsx12(ToastTitle, { children: title }),
|
|
902
|
+
description && /* @__PURE__ */ jsx12(ToastDescription, { children: description })
|
|
780
903
|
] }),
|
|
781
904
|
action,
|
|
782
|
-
/* @__PURE__ */
|
|
905
|
+
/* @__PURE__ */ jsx12(ToastClose, {})
|
|
783
906
|
] }, id)),
|
|
784
|
-
/* @__PURE__ */
|
|
907
|
+
/* @__PURE__ */ jsx12(ToastViewport, {})
|
|
785
908
|
] });
|
|
786
909
|
}
|
|
787
910
|
|
|
788
911
|
// src/components/label/label.tsx
|
|
789
|
-
import * as
|
|
912
|
+
import * as React14 from "react";
|
|
790
913
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
791
|
-
import { jsx as
|
|
792
|
-
var Label =
|
|
914
|
+
import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
915
|
+
var Label = React14.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
|
|
793
916
|
LabelPrimitive.Root,
|
|
794
917
|
{
|
|
795
918
|
ref,
|
|
@@ -800,16 +923,16 @@ var Label = React13.forwardRef(({ className, required, children, ...props }, ref
|
|
|
800
923
|
...props,
|
|
801
924
|
children: [
|
|
802
925
|
children,
|
|
803
|
-
required && /* @__PURE__ */
|
|
926
|
+
required && /* @__PURE__ */ jsx13("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
|
|
804
927
|
]
|
|
805
928
|
}
|
|
806
929
|
));
|
|
807
930
|
Label.displayName = "Label";
|
|
808
931
|
|
|
809
932
|
// src/components/input/input.tsx
|
|
810
|
-
import * as
|
|
933
|
+
import * as React15 from "react";
|
|
811
934
|
import { cva as cva6 } from "class-variance-authority";
|
|
812
|
-
import { jsx as
|
|
935
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
813
936
|
var inputVariants = cva6(
|
|
814
937
|
"flex w-full rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 text-[var(--color-on-surface)] transition-colors duration-fast file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--color-on-surface-muted)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-visible:ring-error-500 touch:min-h-[--touch-target-min]",
|
|
815
938
|
{
|
|
@@ -825,8 +948,8 @@ var inputVariants = cva6(
|
|
|
825
948
|
}
|
|
826
949
|
}
|
|
827
950
|
);
|
|
828
|
-
var Input =
|
|
829
|
-
({ className, size, type, ...props }, ref) => /* @__PURE__ */
|
|
951
|
+
var Input = React15.forwardRef(
|
|
952
|
+
({ className, size, type, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
830
953
|
"input",
|
|
831
954
|
{
|
|
832
955
|
ref,
|
|
@@ -839,9 +962,9 @@ var Input = React14.forwardRef(
|
|
|
839
962
|
Input.displayName = "Input";
|
|
840
963
|
|
|
841
964
|
// src/components/textarea/textarea.tsx
|
|
842
|
-
import * as
|
|
965
|
+
import * as React16 from "react";
|
|
843
966
|
import { cva as cva7 } from "class-variance-authority";
|
|
844
|
-
import { jsx as
|
|
967
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
845
968
|
var textareaVariants = cva7(
|
|
846
969
|
"flex w-full resize-y rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-2 text-[var(--color-on-surface)] transition-colors duration-fast placeholder:text-[var(--color-on-surface-muted)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-visible:ring-error-500",
|
|
847
970
|
{
|
|
@@ -857,8 +980,8 @@ var textareaVariants = cva7(
|
|
|
857
980
|
}
|
|
858
981
|
}
|
|
859
982
|
);
|
|
860
|
-
var Textarea =
|
|
861
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */
|
|
983
|
+
var Textarea = React16.forwardRef(
|
|
984
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
862
985
|
"textarea",
|
|
863
986
|
{
|
|
864
987
|
ref,
|
|
@@ -870,10 +993,10 @@ var Textarea = React15.forwardRef(
|
|
|
870
993
|
Textarea.displayName = "Textarea";
|
|
871
994
|
|
|
872
995
|
// src/components/checkbox/checkbox.tsx
|
|
873
|
-
import * as
|
|
996
|
+
import * as React17 from "react";
|
|
874
997
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
875
|
-
import { jsx as
|
|
876
|
-
var Checkbox =
|
|
998
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
999
|
+
var Checkbox = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
|
|
877
1000
|
CheckboxPrimitive.Root,
|
|
878
1001
|
{
|
|
879
1002
|
ref,
|
|
@@ -887,7 +1010,7 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
887
1010
|
className
|
|
888
1011
|
),
|
|
889
1012
|
...props,
|
|
890
|
-
children: /* @__PURE__ */
|
|
1013
|
+
children: /* @__PURE__ */ jsx16(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center", children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx16(
|
|
891
1014
|
"svg",
|
|
892
1015
|
{
|
|
893
1016
|
width: "12",
|
|
@@ -897,9 +1020,9 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
897
1020
|
stroke: "currentColor",
|
|
898
1021
|
strokeWidth: "3",
|
|
899
1022
|
strokeLinecap: "round",
|
|
900
|
-
children: /* @__PURE__ */
|
|
1023
|
+
children: /* @__PURE__ */ jsx16("path", { d: "M5 12h14" })
|
|
901
1024
|
}
|
|
902
|
-
) : /* @__PURE__ */
|
|
1025
|
+
) : /* @__PURE__ */ jsx16(
|
|
903
1026
|
"svg",
|
|
904
1027
|
{
|
|
905
1028
|
width: "12",
|
|
@@ -910,7 +1033,7 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
910
1033
|
strokeWidth: "3",
|
|
911
1034
|
strokeLinecap: "round",
|
|
912
1035
|
strokeLinejoin: "round",
|
|
913
|
-
children: /* @__PURE__ */
|
|
1036
|
+
children: /* @__PURE__ */ jsx16("polyline", { points: "20 6 9 17 4 12" })
|
|
914
1037
|
}
|
|
915
1038
|
) })
|
|
916
1039
|
}
|
|
@@ -918,10 +1041,10 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
918
1041
|
Checkbox.displayName = "Checkbox";
|
|
919
1042
|
|
|
920
1043
|
// src/components/radio-group/radio-group.tsx
|
|
921
|
-
import * as
|
|
1044
|
+
import * as React18 from "react";
|
|
922
1045
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
923
|
-
import { jsx as
|
|
924
|
-
var RadioGroup =
|
|
1046
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1047
|
+
var RadioGroup = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
925
1048
|
RadioGroupPrimitive.Root,
|
|
926
1049
|
{
|
|
927
1050
|
ref,
|
|
@@ -930,7 +1053,7 @@ var RadioGroup = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
930
1053
|
}
|
|
931
1054
|
));
|
|
932
1055
|
RadioGroup.displayName = "RadioGroup";
|
|
933
|
-
var RadioGroupItem =
|
|
1056
|
+
var RadioGroupItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
934
1057
|
RadioGroupPrimitive.Item,
|
|
935
1058
|
{
|
|
936
1059
|
ref,
|
|
@@ -943,7 +1066,7 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
943
1066
|
className
|
|
944
1067
|
),
|
|
945
1068
|
...props,
|
|
946
|
-
children: /* @__PURE__ */
|
|
1069
|
+
children: /* @__PURE__ */ jsx17(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx17(
|
|
947
1070
|
"svg",
|
|
948
1071
|
{
|
|
949
1072
|
width: "8",
|
|
@@ -951,7 +1074,7 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
951
1074
|
viewBox: "0 0 8 8",
|
|
952
1075
|
fill: "currentColor",
|
|
953
1076
|
className: "text-primary-500",
|
|
954
|
-
children: /* @__PURE__ */
|
|
1077
|
+
children: /* @__PURE__ */ jsx17("circle", { cx: "4", cy: "4", r: "4" })
|
|
955
1078
|
}
|
|
956
1079
|
) })
|
|
957
1080
|
}
|
|
@@ -959,10 +1082,10 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
959
1082
|
RadioGroupItem.displayName = "RadioGroupItem";
|
|
960
1083
|
|
|
961
1084
|
// src/components/switch/switch.tsx
|
|
962
|
-
import * as
|
|
1085
|
+
import * as React19 from "react";
|
|
963
1086
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
964
1087
|
import { cva as cva8 } from "class-variance-authority";
|
|
965
|
-
import { jsx as
|
|
1088
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
966
1089
|
var switchVariants = cva8(
|
|
967
1090
|
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary-500 data-[state=unchecked]:bg-neutral-300 dark:data-[state=unchecked]:bg-neutral-600 touch:min-h-[--touch-target-min]",
|
|
968
1091
|
{
|
|
@@ -993,25 +1116,25 @@ var thumbVariants = cva8(
|
|
|
993
1116
|
}
|
|
994
1117
|
}
|
|
995
1118
|
);
|
|
996
|
-
var Switch =
|
|
1119
|
+
var Switch = React19.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
997
1120
|
SwitchPrimitive.Root,
|
|
998
1121
|
{
|
|
999
1122
|
ref,
|
|
1000
1123
|
className: cn(switchVariants({ size }), className),
|
|
1001
1124
|
...props,
|
|
1002
|
-
children: /* @__PURE__ */
|
|
1125
|
+
children: /* @__PURE__ */ jsx18(SwitchPrimitive.Thumb, { className: thumbVariants({ size }) })
|
|
1003
1126
|
}
|
|
1004
1127
|
));
|
|
1005
1128
|
Switch.displayName = "Switch";
|
|
1006
1129
|
|
|
1007
1130
|
// src/components/select/select.tsx
|
|
1008
|
-
import * as
|
|
1131
|
+
import * as React20 from "react";
|
|
1009
1132
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1010
|
-
import { jsx as
|
|
1133
|
+
import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1011
1134
|
var Select = SelectPrimitive.Root;
|
|
1012
1135
|
var SelectGroup = SelectPrimitive.Group;
|
|
1013
1136
|
var SelectValue = SelectPrimitive.Value;
|
|
1014
|
-
var SelectTrigger =
|
|
1137
|
+
var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
1015
1138
|
SelectPrimitive.Trigger,
|
|
1016
1139
|
{
|
|
1017
1140
|
ref,
|
|
@@ -1027,7 +1150,7 @@ var SelectTrigger = React19.forwardRef(({ className, children, ...props }, ref)
|
|
|
1027
1150
|
...props,
|
|
1028
1151
|
children: [
|
|
1029
1152
|
children,
|
|
1030
|
-
/* @__PURE__ */
|
|
1153
|
+
/* @__PURE__ */ jsx19(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx19(
|
|
1031
1154
|
"svg",
|
|
1032
1155
|
{
|
|
1033
1156
|
width: "16",
|
|
@@ -1039,14 +1162,14 @@ var SelectTrigger = React19.forwardRef(({ className, children, ...props }, ref)
|
|
|
1039
1162
|
strokeLinecap: "round",
|
|
1040
1163
|
strokeLinejoin: "round",
|
|
1041
1164
|
className: "shrink-0 opacity-50",
|
|
1042
|
-
children: /* @__PURE__ */
|
|
1165
|
+
children: /* @__PURE__ */ jsx19("path", { d: "m6 9 6 6 6-6" })
|
|
1043
1166
|
}
|
|
1044
1167
|
) })
|
|
1045
1168
|
]
|
|
1046
1169
|
}
|
|
1047
1170
|
));
|
|
1048
1171
|
SelectTrigger.displayName = "SelectTrigger";
|
|
1049
|
-
var SelectContent =
|
|
1172
|
+
var SelectContent = React20.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx19(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
|
|
1050
1173
|
SelectPrimitive.Content,
|
|
1051
1174
|
{
|
|
1052
1175
|
ref,
|
|
@@ -1060,7 +1183,7 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
|
|
|
1060
1183
|
),
|
|
1061
1184
|
position,
|
|
1062
1185
|
...props,
|
|
1063
|
-
children: /* @__PURE__ */
|
|
1186
|
+
children: /* @__PURE__ */ jsx19(
|
|
1064
1187
|
SelectPrimitive.Viewport,
|
|
1065
1188
|
{
|
|
1066
1189
|
className: cn(
|
|
@@ -1073,7 +1196,7 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
|
|
|
1073
1196
|
}
|
|
1074
1197
|
) }));
|
|
1075
1198
|
SelectContent.displayName = "SelectContent";
|
|
1076
|
-
var SelectItem =
|
|
1199
|
+
var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
1077
1200
|
SelectPrimitive.Item,
|
|
1078
1201
|
{
|
|
1079
1202
|
ref,
|
|
@@ -1085,7 +1208,7 @@ var SelectItem = React19.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1085
1208
|
),
|
|
1086
1209
|
...props,
|
|
1087
1210
|
children: [
|
|
1088
|
-
/* @__PURE__ */
|
|
1211
|
+
/* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(
|
|
1089
1212
|
"svg",
|
|
1090
1213
|
{
|
|
1091
1214
|
width: "14",
|
|
@@ -1096,15 +1219,15 @@ var SelectItem = React19.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1096
1219
|
strokeWidth: "2",
|
|
1097
1220
|
strokeLinecap: "round",
|
|
1098
1221
|
strokeLinejoin: "round",
|
|
1099
|
-
children: /* @__PURE__ */
|
|
1222
|
+
children: /* @__PURE__ */ jsx19("polyline", { points: "20 6 9 17 4 12" })
|
|
1100
1223
|
}
|
|
1101
1224
|
) }) }),
|
|
1102
|
-
/* @__PURE__ */
|
|
1225
|
+
/* @__PURE__ */ jsx19(SelectPrimitive.ItemText, { children })
|
|
1103
1226
|
]
|
|
1104
1227
|
}
|
|
1105
1228
|
));
|
|
1106
1229
|
SelectItem.displayName = "SelectItem";
|
|
1107
|
-
var SelectLabel =
|
|
1230
|
+
var SelectLabel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
|
|
1108
1231
|
SelectPrimitive.Label,
|
|
1109
1232
|
{
|
|
1110
1233
|
ref,
|
|
@@ -1113,7 +1236,7 @@ var SelectLabel = React19.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1113
1236
|
}
|
|
1114
1237
|
));
|
|
1115
1238
|
SelectLabel.displayName = "SelectLabel";
|
|
1116
|
-
var SelectSeparator =
|
|
1239
|
+
var SelectSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
|
|
1117
1240
|
SelectPrimitive.Separator,
|
|
1118
1241
|
{
|
|
1119
1242
|
ref,
|
|
@@ -1124,9 +1247,9 @@ var SelectSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1124
1247
|
SelectSeparator.displayName = "SelectSeparator";
|
|
1125
1248
|
|
|
1126
1249
|
// src/components/number-input/number-input.tsx
|
|
1127
|
-
import * as
|
|
1250
|
+
import * as React21 from "react";
|
|
1128
1251
|
import { cva as cva9 } from "class-variance-authority";
|
|
1129
|
-
import { jsx as
|
|
1252
|
+
import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1130
1253
|
var numberInputVariants = cva9(
|
|
1131
1254
|
"flex w-full rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] text-[var(--color-on-surface)] transition-colors duration-fast focus-within:ring-2 focus-within:ring-[var(--color-ring)] focus-within:ring-offset-2 ring-offset-[var(--color-ring-offset)] aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-within:ring-error-500",
|
|
1132
1255
|
{
|
|
@@ -1142,7 +1265,7 @@ var numberInputVariants = cva9(
|
|
|
1142
1265
|
}
|
|
1143
1266
|
}
|
|
1144
1267
|
);
|
|
1145
|
-
var NumberInput =
|
|
1268
|
+
var NumberInput = React21.forwardRef(
|
|
1146
1269
|
({
|
|
1147
1270
|
className,
|
|
1148
1271
|
size,
|
|
@@ -1157,7 +1280,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1157
1280
|
readOnly,
|
|
1158
1281
|
...props
|
|
1159
1282
|
}, ref) => {
|
|
1160
|
-
const [internalValue, setInternalValue] =
|
|
1283
|
+
const [internalValue, setInternalValue] = React21.useState(
|
|
1161
1284
|
defaultValue != null ? formatValue(defaultValue, precision) : ""
|
|
1162
1285
|
);
|
|
1163
1286
|
const isControlled = controlledValue !== void 0;
|
|
@@ -1224,7 +1347,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1224
1347
|
decrement();
|
|
1225
1348
|
}
|
|
1226
1349
|
}
|
|
1227
|
-
return /* @__PURE__ */
|
|
1350
|
+
return /* @__PURE__ */ jsxs7(
|
|
1228
1351
|
"div",
|
|
1229
1352
|
{
|
|
1230
1353
|
className: cn(
|
|
@@ -1234,7 +1357,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1234
1357
|
),
|
|
1235
1358
|
"aria-invalid": props["aria-invalid"],
|
|
1236
1359
|
children: [
|
|
1237
|
-
/* @__PURE__ */
|
|
1360
|
+
/* @__PURE__ */ jsx20(
|
|
1238
1361
|
"input",
|
|
1239
1362
|
{
|
|
1240
1363
|
ref,
|
|
@@ -1250,8 +1373,8 @@ var NumberInput = React20.forwardRef(
|
|
|
1250
1373
|
...props
|
|
1251
1374
|
}
|
|
1252
1375
|
),
|
|
1253
|
-
!readOnly && !disabled && /* @__PURE__ */
|
|
1254
|
-
/* @__PURE__ */
|
|
1376
|
+
!readOnly && !disabled && /* @__PURE__ */ jsxs7("div", { className: "flex flex-col border-l border-[var(--color-border-input)]", children: [
|
|
1377
|
+
/* @__PURE__ */ jsx20(
|
|
1255
1378
|
"button",
|
|
1256
1379
|
{
|
|
1257
1380
|
type: "button",
|
|
@@ -1260,7 +1383,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1260
1383
|
disabled: max != null && parseFloat(displayValue) >= max,
|
|
1261
1384
|
className: "flex flex-1 items-center justify-center px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
|
|
1262
1385
|
"aria-label": "Increment",
|
|
1263
|
-
children: /* @__PURE__ */
|
|
1386
|
+
children: /* @__PURE__ */ jsx20(
|
|
1264
1387
|
"svg",
|
|
1265
1388
|
{
|
|
1266
1389
|
width: "10",
|
|
@@ -1271,12 +1394,12 @@ var NumberInput = React20.forwardRef(
|
|
|
1271
1394
|
strokeWidth: "2.5",
|
|
1272
1395
|
strokeLinecap: "round",
|
|
1273
1396
|
strokeLinejoin: "round",
|
|
1274
|
-
children: /* @__PURE__ */
|
|
1397
|
+
children: /* @__PURE__ */ jsx20("path", { d: "m18 15-6-6-6 6" })
|
|
1275
1398
|
}
|
|
1276
1399
|
)
|
|
1277
1400
|
}
|
|
1278
1401
|
),
|
|
1279
|
-
/* @__PURE__ */
|
|
1402
|
+
/* @__PURE__ */ jsx20(
|
|
1280
1403
|
"button",
|
|
1281
1404
|
{
|
|
1282
1405
|
type: "button",
|
|
@@ -1285,7 +1408,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1285
1408
|
disabled: min != null && parseFloat(displayValue) <= min,
|
|
1286
1409
|
className: "flex flex-1 items-center justify-center border-t border-[var(--color-border-input)] px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
|
|
1287
1410
|
"aria-label": "Decrement",
|
|
1288
|
-
children: /* @__PURE__ */
|
|
1411
|
+
children: /* @__PURE__ */ jsx20(
|
|
1289
1412
|
"svg",
|
|
1290
1413
|
{
|
|
1291
1414
|
width: "10",
|
|
@@ -1296,7 +1419,7 @@ var NumberInput = React20.forwardRef(
|
|
|
1296
1419
|
strokeWidth: "2.5",
|
|
1297
1420
|
strokeLinecap: "round",
|
|
1298
1421
|
strokeLinejoin: "round",
|
|
1299
|
-
children: /* @__PURE__ */
|
|
1422
|
+
children: /* @__PURE__ */ jsx20("path", { d: "m6 9 6 6 6-6" })
|
|
1300
1423
|
}
|
|
1301
1424
|
)
|
|
1302
1425
|
}
|
|
@@ -1310,10 +1433,10 @@ var NumberInput = React20.forwardRef(
|
|
|
1310
1433
|
NumberInput.displayName = "NumberInput";
|
|
1311
1434
|
|
|
1312
1435
|
// src/components/date-picker/date-picker.tsx
|
|
1313
|
-
import * as
|
|
1314
|
-
import { jsx as
|
|
1315
|
-
var DatePicker =
|
|
1316
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */
|
|
1436
|
+
import * as React22 from "react";
|
|
1437
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1438
|
+
var DatePicker = React22.forwardRef(
|
|
1439
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1317
1440
|
"input",
|
|
1318
1441
|
{
|
|
1319
1442
|
ref,
|
|
@@ -1330,11 +1453,11 @@ var DatePicker = React21.forwardRef(
|
|
|
1330
1453
|
DatePicker.displayName = "DatePicker";
|
|
1331
1454
|
|
|
1332
1455
|
// src/components/combobox/combobox.tsx
|
|
1333
|
-
import * as
|
|
1456
|
+
import * as React23 from "react";
|
|
1334
1457
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1335
1458
|
import { Command } from "cmdk";
|
|
1336
|
-
import { jsx as
|
|
1337
|
-
var Combobox =
|
|
1459
|
+
import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1460
|
+
var Combobox = React23.forwardRef(
|
|
1338
1461
|
({
|
|
1339
1462
|
options,
|
|
1340
1463
|
value,
|
|
@@ -1346,11 +1469,11 @@ var Combobox = React22.forwardRef(
|
|
|
1346
1469
|
className,
|
|
1347
1470
|
...props
|
|
1348
1471
|
}, ref) => {
|
|
1349
|
-
const [open, setOpen] =
|
|
1350
|
-
const [search, setSearch] =
|
|
1472
|
+
const [open, setOpen] = React23.useState(false);
|
|
1473
|
+
const [search, setSearch] = React23.useState("");
|
|
1351
1474
|
const selectedOption = options.find((o) => o.value === value);
|
|
1352
|
-
return /* @__PURE__ */
|
|
1353
|
-
/* @__PURE__ */
|
|
1475
|
+
return /* @__PURE__ */ jsxs8(PopoverPrimitive.Root, { open, onOpenChange: setOpen, children: [
|
|
1476
|
+
/* @__PURE__ */ jsxs8(
|
|
1354
1477
|
PopoverPrimitive.Trigger,
|
|
1355
1478
|
{
|
|
1356
1479
|
ref,
|
|
@@ -1367,8 +1490,8 @@ var Combobox = React22.forwardRef(
|
|
|
1367
1490
|
),
|
|
1368
1491
|
...props,
|
|
1369
1492
|
children: [
|
|
1370
|
-
/* @__PURE__ */
|
|
1371
|
-
/* @__PURE__ */
|
|
1493
|
+
/* @__PURE__ */ jsx22("span", { className: cn(!selectedOption && "text-[var(--color-on-surface-muted)]"), children: selectedOption?.label ?? placeholder }),
|
|
1494
|
+
/* @__PURE__ */ jsxs8(
|
|
1372
1495
|
"svg",
|
|
1373
1496
|
{
|
|
1374
1497
|
width: "16",
|
|
@@ -1381,22 +1504,22 @@ var Combobox = React22.forwardRef(
|
|
|
1381
1504
|
strokeLinejoin: "round",
|
|
1382
1505
|
className: "shrink-0 opacity-50",
|
|
1383
1506
|
children: [
|
|
1384
|
-
/* @__PURE__ */
|
|
1385
|
-
/* @__PURE__ */
|
|
1507
|
+
/* @__PURE__ */ jsx22("path", { d: "m7 15 5 5 5-5" }),
|
|
1508
|
+
/* @__PURE__ */ jsx22("path", { d: "m7 9 5-5 5 5" })
|
|
1386
1509
|
]
|
|
1387
1510
|
}
|
|
1388
1511
|
)
|
|
1389
1512
|
]
|
|
1390
1513
|
}
|
|
1391
1514
|
),
|
|
1392
|
-
/* @__PURE__ */
|
|
1515
|
+
/* @__PURE__ */ jsx22(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx22(
|
|
1393
1516
|
PopoverPrimitive.Content,
|
|
1394
1517
|
{
|
|
1395
1518
|
className: "z-popover w-[var(--radix-popover-trigger-width)] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-0 shadow-md animate-in fade-in-0 zoom-in-95",
|
|
1396
1519
|
sideOffset: 4,
|
|
1397
1520
|
align: "start",
|
|
1398
|
-
children: /* @__PURE__ */
|
|
1399
|
-
/* @__PURE__ */
|
|
1521
|
+
children: /* @__PURE__ */ jsxs8(Command, { shouldFilter: true, children: [
|
|
1522
|
+
/* @__PURE__ */ jsx22(
|
|
1400
1523
|
Command.Input,
|
|
1401
1524
|
{
|
|
1402
1525
|
value: search,
|
|
@@ -1405,9 +1528,9 @@ var Combobox = React22.forwardRef(
|
|
|
1405
1528
|
className: "flex h-9 w-full border-b border-[var(--color-border)] bg-transparent px-3 text-sm outline-none placeholder:text-[var(--color-on-surface-muted)]"
|
|
1406
1529
|
}
|
|
1407
1530
|
),
|
|
1408
|
-
/* @__PURE__ */
|
|
1409
|
-
/* @__PURE__ */
|
|
1410
|
-
options.map((option) => /* @__PURE__ */
|
|
1531
|
+
/* @__PURE__ */ jsxs8(Command.List, { className: "max-h-60 overflow-auto p-1", children: [
|
|
1532
|
+
/* @__PURE__ */ jsx22(Command.Empty, { className: "px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", children: emptyMessage }),
|
|
1533
|
+
options.map((option) => /* @__PURE__ */ jsxs8(
|
|
1411
1534
|
Command.Item,
|
|
1412
1535
|
{
|
|
1413
1536
|
value: option.label,
|
|
@@ -1425,7 +1548,7 @@ var Combobox = React22.forwardRef(
|
|
|
1425
1548
|
"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50"
|
|
1426
1549
|
),
|
|
1427
1550
|
children: [
|
|
1428
|
-
/* @__PURE__ */
|
|
1551
|
+
/* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx22(
|
|
1429
1552
|
"svg",
|
|
1430
1553
|
{
|
|
1431
1554
|
width: "14",
|
|
@@ -1436,7 +1559,7 @@ var Combobox = React22.forwardRef(
|
|
|
1436
1559
|
strokeWidth: "2",
|
|
1437
1560
|
strokeLinecap: "round",
|
|
1438
1561
|
strokeLinejoin: "round",
|
|
1439
|
-
children: /* @__PURE__ */
|
|
1562
|
+
children: /* @__PURE__ */ jsx22("polyline", { points: "20 6 9 17 4 12" })
|
|
1440
1563
|
}
|
|
1441
1564
|
) }),
|
|
1442
1565
|
option.label
|
|
@@ -1454,28 +1577,28 @@ var Combobox = React22.forwardRef(
|
|
|
1454
1577
|
Combobox.displayName = "Combobox";
|
|
1455
1578
|
|
|
1456
1579
|
// src/components/form-field/form-field.tsx
|
|
1457
|
-
import * as
|
|
1458
|
-
import { jsx as
|
|
1580
|
+
import * as React24 from "react";
|
|
1581
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1459
1582
|
var [FormFieldProvider, useFormField] = createContext2("FormField");
|
|
1460
|
-
var FormField =
|
|
1583
|
+
var FormField = React24.forwardRef(
|
|
1461
1584
|
({ className, error, required, disabled, children, ...props }, ref) => {
|
|
1462
|
-
const id =
|
|
1585
|
+
const id = React24.useId();
|
|
1463
1586
|
const descriptionId = `${id}-description`;
|
|
1464
1587
|
const messageId = `${id}-message`;
|
|
1465
|
-
return /* @__PURE__ */
|
|
1588
|
+
return /* @__PURE__ */ jsx23(
|
|
1466
1589
|
FormFieldProvider,
|
|
1467
1590
|
{
|
|
1468
1591
|
value: { id, error, required, disabled, descriptionId, messageId },
|
|
1469
|
-
children: /* @__PURE__ */
|
|
1592
|
+
children: /* @__PURE__ */ jsx23("div", { ref, className: cn("space-y-1.5", className), ...props, children })
|
|
1470
1593
|
}
|
|
1471
1594
|
);
|
|
1472
1595
|
}
|
|
1473
1596
|
);
|
|
1474
1597
|
FormField.displayName = "FormField";
|
|
1475
|
-
var FormLabel =
|
|
1598
|
+
var FormLabel = React24.forwardRef(
|
|
1476
1599
|
({ className, children, ...props }, ref) => {
|
|
1477
1600
|
const { id, error, required } = useFormField();
|
|
1478
|
-
return /* @__PURE__ */
|
|
1601
|
+
return /* @__PURE__ */ jsx23(
|
|
1479
1602
|
Label,
|
|
1480
1603
|
{
|
|
1481
1604
|
ref,
|
|
@@ -1495,7 +1618,7 @@ function FormControl({ children }) {
|
|
|
1495
1618
|
!error ? descriptionId : void 0,
|
|
1496
1619
|
error ? messageId : void 0
|
|
1497
1620
|
].filter(Boolean).join(" ") || void 0;
|
|
1498
|
-
return
|
|
1621
|
+
return React24.cloneElement(children, {
|
|
1499
1622
|
id,
|
|
1500
1623
|
"aria-invalid": error ? true : void 0,
|
|
1501
1624
|
"aria-describedby": describedBy,
|
|
@@ -1504,9 +1627,9 @@ function FormControl({ children }) {
|
|
|
1504
1627
|
});
|
|
1505
1628
|
}
|
|
1506
1629
|
FormControl.displayName = "FormControl";
|
|
1507
|
-
var FormDescription =
|
|
1630
|
+
var FormDescription = React24.forwardRef(({ className, ...props }, ref) => {
|
|
1508
1631
|
const { descriptionId } = useFormField();
|
|
1509
|
-
return /* @__PURE__ */
|
|
1632
|
+
return /* @__PURE__ */ jsx23(
|
|
1510
1633
|
"p",
|
|
1511
1634
|
{
|
|
1512
1635
|
ref,
|
|
@@ -1517,11 +1640,11 @@ var FormDescription = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
1517
1640
|
);
|
|
1518
1641
|
});
|
|
1519
1642
|
FormDescription.displayName = "FormDescription";
|
|
1520
|
-
var FormMessage =
|
|
1643
|
+
var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) => {
|
|
1521
1644
|
const { error, messageId } = useFormField();
|
|
1522
1645
|
const message = error || children;
|
|
1523
1646
|
if (!message) return null;
|
|
1524
|
-
return /* @__PURE__ */
|
|
1647
|
+
return /* @__PURE__ */ jsx23(
|
|
1525
1648
|
"p",
|
|
1526
1649
|
{
|
|
1527
1650
|
ref,
|
|
@@ -1536,8 +1659,8 @@ var FormMessage = React23.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1536
1659
|
FormMessage.displayName = "FormMessage";
|
|
1537
1660
|
|
|
1538
1661
|
// src/components/dynamic-form-field/dynamic-form-field.tsx
|
|
1539
|
-
import * as
|
|
1540
|
-
import { jsx as
|
|
1662
|
+
import * as React25 from "react";
|
|
1663
|
+
import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1541
1664
|
function getFieldComponent(type) {
|
|
1542
1665
|
const map = {
|
|
1543
1666
|
text: "Input",
|
|
@@ -1562,7 +1685,7 @@ function getFieldComponent(type) {
|
|
|
1562
1685
|
function isInlineField(type) {
|
|
1563
1686
|
return type === "checkbox" || type === "switch";
|
|
1564
1687
|
}
|
|
1565
|
-
var DynamicFormField =
|
|
1688
|
+
var DynamicFormField = React25.forwardRef(
|
|
1566
1689
|
({
|
|
1567
1690
|
type,
|
|
1568
1691
|
name,
|
|
@@ -1582,16 +1705,16 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1582
1705
|
className
|
|
1583
1706
|
}, ref) => {
|
|
1584
1707
|
if (isInlineField(type)) {
|
|
1585
|
-
return /* @__PURE__ */
|
|
1586
|
-
/* @__PURE__ */
|
|
1587
|
-
/* @__PURE__ */
|
|
1708
|
+
return /* @__PURE__ */ jsxs9(FormField, { ref, error, disabled, className, children: [
|
|
1709
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
|
|
1710
|
+
/* @__PURE__ */ jsx24(FormControl, { children: type === "checkbox" ? /* @__PURE__ */ jsx24(
|
|
1588
1711
|
Checkbox,
|
|
1589
1712
|
{
|
|
1590
1713
|
name,
|
|
1591
1714
|
checked: value,
|
|
1592
1715
|
onCheckedChange: (checked) => onChange?.(checked)
|
|
1593
1716
|
}
|
|
1594
|
-
) : /* @__PURE__ */
|
|
1717
|
+
) : /* @__PURE__ */ jsx24(
|
|
1595
1718
|
Switch,
|
|
1596
1719
|
{
|
|
1597
1720
|
name,
|
|
@@ -1599,19 +1722,19 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1599
1722
|
onCheckedChange: (checked) => onChange?.(checked)
|
|
1600
1723
|
}
|
|
1601
1724
|
) }),
|
|
1602
|
-
/* @__PURE__ */
|
|
1725
|
+
/* @__PURE__ */ jsxs9(Label, { className: "text-sm font-normal", children: [
|
|
1603
1726
|
label,
|
|
1604
|
-
required && /* @__PURE__ */
|
|
1727
|
+
required && /* @__PURE__ */ jsx24("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
|
|
1605
1728
|
] })
|
|
1606
1729
|
] }),
|
|
1607
|
-
description && /* @__PURE__ */
|
|
1608
|
-
/* @__PURE__ */
|
|
1730
|
+
description && /* @__PURE__ */ jsx24(FormDescription, { children: description }),
|
|
1731
|
+
/* @__PURE__ */ jsx24(FormMessage, {})
|
|
1609
1732
|
] });
|
|
1610
1733
|
}
|
|
1611
1734
|
function renderControl() {
|
|
1612
1735
|
switch (type) {
|
|
1613
1736
|
case "textarea":
|
|
1614
|
-
return /* @__PURE__ */
|
|
1737
|
+
return /* @__PURE__ */ jsx24(
|
|
1615
1738
|
Textarea,
|
|
1616
1739
|
{
|
|
1617
1740
|
name,
|
|
@@ -1622,7 +1745,7 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1622
1745
|
}
|
|
1623
1746
|
);
|
|
1624
1747
|
case "number":
|
|
1625
|
-
return /* @__PURE__ */
|
|
1748
|
+
return /* @__PURE__ */ jsx24(
|
|
1626
1749
|
NumberInput,
|
|
1627
1750
|
{
|
|
1628
1751
|
name,
|
|
@@ -1635,7 +1758,7 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1635
1758
|
}
|
|
1636
1759
|
);
|
|
1637
1760
|
case "date":
|
|
1638
|
-
return /* @__PURE__ */
|
|
1761
|
+
return /* @__PURE__ */ jsx24(
|
|
1639
1762
|
DatePicker,
|
|
1640
1763
|
{
|
|
1641
1764
|
name,
|
|
@@ -1646,7 +1769,7 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1646
1769
|
}
|
|
1647
1770
|
);
|
|
1648
1771
|
case "select":
|
|
1649
|
-
return /* @__PURE__ */
|
|
1772
|
+
return /* @__PURE__ */ jsxs9(
|
|
1650
1773
|
Select,
|
|
1651
1774
|
{
|
|
1652
1775
|
value,
|
|
@@ -1654,13 +1777,13 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1654
1777
|
disabled,
|
|
1655
1778
|
name,
|
|
1656
1779
|
children: [
|
|
1657
|
-
/* @__PURE__ */
|
|
1658
|
-
/* @__PURE__ */
|
|
1780
|
+
/* @__PURE__ */ jsx24(SelectTrigger, { children: /* @__PURE__ */ jsx24(SelectValue, { placeholder }) }),
|
|
1781
|
+
/* @__PURE__ */ jsx24(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx24(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
1659
1782
|
]
|
|
1660
1783
|
}
|
|
1661
1784
|
);
|
|
1662
1785
|
case "combobox":
|
|
1663
|
-
return /* @__PURE__ */
|
|
1786
|
+
return /* @__PURE__ */ jsx24(
|
|
1664
1787
|
Combobox,
|
|
1665
1788
|
{
|
|
1666
1789
|
name,
|
|
@@ -1671,19 +1794,19 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1671
1794
|
}
|
|
1672
1795
|
);
|
|
1673
1796
|
case "radio":
|
|
1674
|
-
return /* @__PURE__ */
|
|
1797
|
+
return /* @__PURE__ */ jsx24(
|
|
1675
1798
|
RadioGroup,
|
|
1676
1799
|
{
|
|
1677
1800
|
value,
|
|
1678
1801
|
onValueChange: (v) => onChange?.(v),
|
|
1679
|
-
children: options.map((opt) => /* @__PURE__ */
|
|
1680
|
-
/* @__PURE__ */
|
|
1681
|
-
/* @__PURE__ */
|
|
1802
|
+
children: options.map((opt) => /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
|
|
1803
|
+
/* @__PURE__ */ jsx24(RadioGroupItem, { value: opt.value, id: `${name}-${opt.value}` }),
|
|
1804
|
+
/* @__PURE__ */ jsx24(Label, { htmlFor: `${name}-${opt.value}`, className: "font-normal", children: opt.label })
|
|
1682
1805
|
] }, opt.value))
|
|
1683
1806
|
}
|
|
1684
1807
|
);
|
|
1685
1808
|
default:
|
|
1686
|
-
return /* @__PURE__ */
|
|
1809
|
+
return /* @__PURE__ */ jsx24(
|
|
1687
1810
|
Input,
|
|
1688
1811
|
{
|
|
1689
1812
|
type: type === "datetime" ? "datetime-local" : type,
|
|
@@ -1695,20 +1818,20 @@ var DynamicFormField = React24.forwardRef(
|
|
|
1695
1818
|
);
|
|
1696
1819
|
}
|
|
1697
1820
|
}
|
|
1698
|
-
return /* @__PURE__ */
|
|
1699
|
-
/* @__PURE__ */
|
|
1700
|
-
/* @__PURE__ */
|
|
1701
|
-
description && /* @__PURE__ */
|
|
1702
|
-
/* @__PURE__ */
|
|
1821
|
+
return /* @__PURE__ */ jsxs9(FormField, { ref, error, required, disabled, className, children: [
|
|
1822
|
+
/* @__PURE__ */ jsx24(FormLabel, { children: label }),
|
|
1823
|
+
/* @__PURE__ */ jsx24(FormControl, { children: renderControl() }),
|
|
1824
|
+
description && /* @__PURE__ */ jsx24(FormDescription, { children: description }),
|
|
1825
|
+
/* @__PURE__ */ jsx24(FormMessage, {})
|
|
1703
1826
|
] });
|
|
1704
1827
|
}
|
|
1705
1828
|
);
|
|
1706
1829
|
DynamicFormField.displayName = "DynamicFormField";
|
|
1707
1830
|
|
|
1708
1831
|
// src/components/form-layout/form-layout.tsx
|
|
1709
|
-
import * as
|
|
1832
|
+
import * as React26 from "react";
|
|
1710
1833
|
import { cva as cva10 } from "class-variance-authority";
|
|
1711
|
-
import { jsx as
|
|
1834
|
+
import { jsx as jsx25, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1712
1835
|
var formLayoutVariants = cva10("", {
|
|
1713
1836
|
variants: {
|
|
1714
1837
|
layout: {
|
|
@@ -1744,8 +1867,8 @@ var formLayoutVariants = cva10("", {
|
|
|
1744
1867
|
size: "md"
|
|
1745
1868
|
}
|
|
1746
1869
|
});
|
|
1747
|
-
var FormLayout =
|
|
1748
|
-
({ className, layout, size, columns = 2, style, ...props }, ref) => /* @__PURE__ */
|
|
1870
|
+
var FormLayout = React26.forwardRef(
|
|
1871
|
+
({ className, layout, size, columns = 2, style, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1749
1872
|
"div",
|
|
1750
1873
|
{
|
|
1751
1874
|
ref,
|
|
@@ -1756,15 +1879,15 @@ var FormLayout = React25.forwardRef(
|
|
|
1756
1879
|
)
|
|
1757
1880
|
);
|
|
1758
1881
|
FormLayout.displayName = "FormLayout";
|
|
1759
|
-
var FormSection =
|
|
1882
|
+
var FormSection = React26.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
|
|
1760
1883
|
"fieldset",
|
|
1761
1884
|
{
|
|
1762
1885
|
ref,
|
|
1763
1886
|
className: cn("space-y-4 border-0 p-0", className),
|
|
1764
1887
|
...props,
|
|
1765
1888
|
children: [
|
|
1766
|
-
/* @__PURE__ */
|
|
1767
|
-
description && /* @__PURE__ */
|
|
1889
|
+
/* @__PURE__ */ jsx25("legend", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
|
|
1890
|
+
description && /* @__PURE__ */ jsx25("p", { className: "-mt-2 text-xs text-[var(--color-on-surface-muted)]", children: description }),
|
|
1768
1891
|
children
|
|
1769
1892
|
]
|
|
1770
1893
|
}
|
|
@@ -1776,8 +1899,8 @@ var alignClasses = {
|
|
|
1776
1899
|
center: "justify-center",
|
|
1777
1900
|
between: "justify-between"
|
|
1778
1901
|
};
|
|
1779
|
-
var FormActions =
|
|
1780
|
-
({ className, align = "right", ...props }, ref) => /* @__PURE__ */
|
|
1902
|
+
var FormActions = React26.forwardRef(
|
|
1903
|
+
({ className, align = "right", ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1781
1904
|
"div",
|
|
1782
1905
|
{
|
|
1783
1906
|
ref,
|
|
@@ -1793,10 +1916,10 @@ var FormActions = React25.forwardRef(
|
|
|
1793
1916
|
FormActions.displayName = "FormActions";
|
|
1794
1917
|
|
|
1795
1918
|
// src/components/tabs/tabs.tsx
|
|
1796
|
-
import * as
|
|
1919
|
+
import * as React27 from "react";
|
|
1797
1920
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
1798
1921
|
import { cva as cva11 } from "class-variance-authority";
|
|
1799
|
-
import { jsx as
|
|
1922
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1800
1923
|
var [TabsVariantProvider, useTabsVariant] = createContext2("TabsVariant");
|
|
1801
1924
|
var Tabs = TabsPrimitive.Root;
|
|
1802
1925
|
var tabsListVariants = cva11(
|
|
@@ -1811,7 +1934,7 @@ var tabsListVariants = cva11(
|
|
|
1811
1934
|
defaultVariants: { variant: "default" }
|
|
1812
1935
|
}
|
|
1813
1936
|
);
|
|
1814
|
-
var TabsList =
|
|
1937
|
+
var TabsList = React27.forwardRef(({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx26(TabsVariantProvider, { value: { variant }, children: /* @__PURE__ */ jsx26(
|
|
1815
1938
|
TabsPrimitive.List,
|
|
1816
1939
|
{
|
|
1817
1940
|
ref,
|
|
@@ -1825,9 +1948,9 @@ var tabsTriggerVariantStyles = {
|
|
|
1825
1948
|
default: "rounded-md data-[state=active]:bg-[var(--color-surface-raised)] data-[state=active]:shadow-sm data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]",
|
|
1826
1949
|
underline: "border-b-2 border-transparent rounded-none data-[state=active]:border-primary-500 data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]"
|
|
1827
1950
|
};
|
|
1828
|
-
var TabsTrigger =
|
|
1951
|
+
var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => {
|
|
1829
1952
|
const { variant } = useTabsVariant();
|
|
1830
|
-
return /* @__PURE__ */
|
|
1953
|
+
return /* @__PURE__ */ jsx26(
|
|
1831
1954
|
TabsPrimitive.Trigger,
|
|
1832
1955
|
{
|
|
1833
1956
|
ref,
|
|
@@ -1841,7 +1964,7 @@ var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => {
|
|
|
1841
1964
|
);
|
|
1842
1965
|
});
|
|
1843
1966
|
TabsTrigger.displayName = "TabsTrigger";
|
|
1844
|
-
var TabsContent =
|
|
1967
|
+
var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1845
1968
|
TabsPrimitive.Content,
|
|
1846
1969
|
{
|
|
1847
1970
|
ref,
|
|
@@ -1855,9 +1978,9 @@ var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1855
1978
|
TabsContent.displayName = "TabsContent";
|
|
1856
1979
|
|
|
1857
1980
|
// src/components/empty-state/empty-state.tsx
|
|
1858
|
-
import * as
|
|
1981
|
+
import * as React28 from "react";
|
|
1859
1982
|
import { cva as cva12 } from "class-variance-authority";
|
|
1860
|
-
import { jsx as
|
|
1983
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1861
1984
|
var emptyStateVariants = cva12(
|
|
1862
1985
|
"flex flex-col items-center justify-center text-center",
|
|
1863
1986
|
{
|
|
@@ -1871,8 +1994,8 @@ var emptyStateVariants = cva12(
|
|
|
1871
1994
|
defaultVariants: { size: "md" }
|
|
1872
1995
|
}
|
|
1873
1996
|
);
|
|
1874
|
-
var EmptyState =
|
|
1875
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */
|
|
1997
|
+
var EmptyState = React28.forwardRef(
|
|
1998
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1876
1999
|
"div",
|
|
1877
2000
|
{
|
|
1878
2001
|
ref,
|
|
@@ -1882,7 +2005,7 @@ var EmptyState = React27.forwardRef(
|
|
|
1882
2005
|
)
|
|
1883
2006
|
);
|
|
1884
2007
|
EmptyState.displayName = "EmptyState";
|
|
1885
|
-
var EmptyStateIcon =
|
|
2008
|
+
var EmptyStateIcon = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1886
2009
|
"div",
|
|
1887
2010
|
{
|
|
1888
2011
|
ref,
|
|
@@ -1891,7 +2014,7 @@ var EmptyStateIcon = React27.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1891
2014
|
}
|
|
1892
2015
|
));
|
|
1893
2016
|
EmptyStateIcon.displayName = "EmptyStateIcon";
|
|
1894
|
-
var EmptyStateTitle =
|
|
2017
|
+
var EmptyStateTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1895
2018
|
"h3",
|
|
1896
2019
|
{
|
|
1897
2020
|
ref,
|
|
@@ -1900,7 +2023,7 @@ var EmptyStateTitle = React27.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1900
2023
|
}
|
|
1901
2024
|
));
|
|
1902
2025
|
EmptyStateTitle.displayName = "EmptyStateTitle";
|
|
1903
|
-
var EmptyStateDescription =
|
|
2026
|
+
var EmptyStateDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1904
2027
|
"p",
|
|
1905
2028
|
{
|
|
1906
2029
|
ref,
|
|
@@ -1909,7 +2032,7 @@ var EmptyStateDescription = React27.forwardRef(({ className, ...props }, ref) =>
|
|
|
1909
2032
|
}
|
|
1910
2033
|
));
|
|
1911
2034
|
EmptyStateDescription.displayName = "EmptyStateDescription";
|
|
1912
|
-
var EmptyStateActions =
|
|
2035
|
+
var EmptyStateActions = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1913
2036
|
"div",
|
|
1914
2037
|
{
|
|
1915
2038
|
ref,
|
|
@@ -1920,9 +2043,9 @@ var EmptyStateActions = React27.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1920
2043
|
EmptyStateActions.displayName = "EmptyStateActions";
|
|
1921
2044
|
|
|
1922
2045
|
// src/components/table/table.tsx
|
|
1923
|
-
import * as
|
|
1924
|
-
import { jsx as
|
|
1925
|
-
var Table =
|
|
2046
|
+
import * as React29 from "react";
|
|
2047
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2048
|
+
var Table = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx28(
|
|
1926
2049
|
"table",
|
|
1927
2050
|
{
|
|
1928
2051
|
ref,
|
|
@@ -1931,9 +2054,9 @@ var Table = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
1931
2054
|
}
|
|
1932
2055
|
) }));
|
|
1933
2056
|
Table.displayName = "Table";
|
|
1934
|
-
var TableHeader =
|
|
2057
|
+
var TableHeader = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
1935
2058
|
TableHeader.displayName = "TableHeader";
|
|
1936
|
-
var TableBody =
|
|
2059
|
+
var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1937
2060
|
"tbody",
|
|
1938
2061
|
{
|
|
1939
2062
|
ref,
|
|
@@ -1942,7 +2065,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1942
2065
|
}
|
|
1943
2066
|
));
|
|
1944
2067
|
TableBody.displayName = "TableBody";
|
|
1945
|
-
var TableFooter =
|
|
2068
|
+
var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1946
2069
|
"tfoot",
|
|
1947
2070
|
{
|
|
1948
2071
|
ref,
|
|
@@ -1954,7 +2077,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1954
2077
|
}
|
|
1955
2078
|
));
|
|
1956
2079
|
TableFooter.displayName = "TableFooter";
|
|
1957
|
-
var TableRow =
|
|
2080
|
+
var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1958
2081
|
"tr",
|
|
1959
2082
|
{
|
|
1960
2083
|
ref,
|
|
@@ -1966,7 +2089,7 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1966
2089
|
}
|
|
1967
2090
|
));
|
|
1968
2091
|
TableRow.displayName = "TableRow";
|
|
1969
|
-
var TableHead =
|
|
2092
|
+
var TableHead = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1970
2093
|
"th",
|
|
1971
2094
|
{
|
|
1972
2095
|
ref,
|
|
@@ -1978,7 +2101,7 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1978
2101
|
}
|
|
1979
2102
|
));
|
|
1980
2103
|
TableHead.displayName = "TableHead";
|
|
1981
|
-
var TableCell =
|
|
2104
|
+
var TableCell = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1982
2105
|
"td",
|
|
1983
2106
|
{
|
|
1984
2107
|
ref,
|
|
@@ -1990,7 +2113,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1990
2113
|
}
|
|
1991
2114
|
));
|
|
1992
2115
|
TableCell.displayName = "TableCell";
|
|
1993
|
-
var TableCaption =
|
|
2116
|
+
var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1994
2117
|
"caption",
|
|
1995
2118
|
{
|
|
1996
2119
|
ref,
|
|
@@ -2001,7 +2124,7 @@ var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
2001
2124
|
TableCaption.displayName = "TableCaption";
|
|
2002
2125
|
|
|
2003
2126
|
// src/components/data-table/data-table.tsx
|
|
2004
|
-
import * as
|
|
2127
|
+
import * as React31 from "react";
|
|
2005
2128
|
import {
|
|
2006
2129
|
useReactTable,
|
|
2007
2130
|
getCoreRowModel,
|
|
@@ -2011,7 +2134,7 @@ import {
|
|
|
2011
2134
|
} from "@tanstack/react-table";
|
|
2012
2135
|
|
|
2013
2136
|
// src/components/data-table/data-table-pagination.tsx
|
|
2014
|
-
import { jsx as
|
|
2137
|
+
import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2015
2138
|
function DataTablePagination({
|
|
2016
2139
|
table,
|
|
2017
2140
|
pageSizeOptions = [10, 20, 30, 50],
|
|
@@ -2021,7 +2144,7 @@ function DataTablePagination({
|
|
|
2021
2144
|
const totalRows = table.getFilteredRowModel().rows.length;
|
|
2022
2145
|
const from = pageIndex * pageSize + 1;
|
|
2023
2146
|
const to = Math.min((pageIndex + 1) * pageSize, totalRows);
|
|
2024
|
-
return /* @__PURE__ */
|
|
2147
|
+
return /* @__PURE__ */ jsxs11(
|
|
2025
2148
|
"div",
|
|
2026
2149
|
{
|
|
2027
2150
|
className: cn(
|
|
@@ -2029,30 +2152,30 @@ function DataTablePagination({
|
|
|
2029
2152
|
className
|
|
2030
2153
|
),
|
|
2031
2154
|
children: [
|
|
2032
|
-
/* @__PURE__ */
|
|
2033
|
-
/* @__PURE__ */
|
|
2034
|
-
/* @__PURE__ */
|
|
2155
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
|
|
2156
|
+
/* @__PURE__ */ jsx29("span", { children: "Rows per page" }),
|
|
2157
|
+
/* @__PURE__ */ jsx29(
|
|
2035
2158
|
"select",
|
|
2036
2159
|
{
|
|
2037
2160
|
value: pageSize,
|
|
2038
2161
|
onChange: (e) => table.setPageSize(Number(e.target.value)),
|
|
2039
2162
|
className: "h-8 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-2 text-sm",
|
|
2040
2163
|
"aria-label": "Rows per page",
|
|
2041
|
-
children: pageSizeOptions.map((size) => /* @__PURE__ */
|
|
2164
|
+
children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx29("option", { value: size, children: size }, size))
|
|
2042
2165
|
}
|
|
2043
2166
|
)
|
|
2044
2167
|
] }),
|
|
2045
|
-
/* @__PURE__ */
|
|
2046
|
-
/* @__PURE__ */
|
|
2047
|
-
/* @__PURE__ */
|
|
2048
|
-
/* @__PURE__ */
|
|
2168
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-4", children: [
|
|
2169
|
+
/* @__PURE__ */ jsx29("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
|
|
2170
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-1", children: [
|
|
2171
|
+
/* @__PURE__ */ jsx29(
|
|
2049
2172
|
"button",
|
|
2050
2173
|
{
|
|
2051
2174
|
className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
|
|
2052
2175
|
onClick: () => table.previousPage(),
|
|
2053
2176
|
disabled: !table.getCanPreviousPage(),
|
|
2054
2177
|
"aria-label": "Previous page",
|
|
2055
|
-
children: /* @__PURE__ */
|
|
2178
|
+
children: /* @__PURE__ */ jsx29(
|
|
2056
2179
|
"svg",
|
|
2057
2180
|
{
|
|
2058
2181
|
width: "16",
|
|
@@ -2063,19 +2186,19 @@ function DataTablePagination({
|
|
|
2063
2186
|
strokeWidth: "2",
|
|
2064
2187
|
strokeLinecap: "round",
|
|
2065
2188
|
strokeLinejoin: "round",
|
|
2066
|
-
children: /* @__PURE__ */
|
|
2189
|
+
children: /* @__PURE__ */ jsx29("path", { d: "m15 18-6-6 6-6" })
|
|
2067
2190
|
}
|
|
2068
2191
|
)
|
|
2069
2192
|
}
|
|
2070
2193
|
),
|
|
2071
|
-
/* @__PURE__ */
|
|
2194
|
+
/* @__PURE__ */ jsx29(
|
|
2072
2195
|
"button",
|
|
2073
2196
|
{
|
|
2074
2197
|
className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
|
|
2075
2198
|
onClick: () => table.nextPage(),
|
|
2076
2199
|
disabled: !table.getCanNextPage(),
|
|
2077
2200
|
"aria-label": "Next page",
|
|
2078
|
-
children: /* @__PURE__ */
|
|
2201
|
+
children: /* @__PURE__ */ jsx29(
|
|
2079
2202
|
"svg",
|
|
2080
2203
|
{
|
|
2081
2204
|
width: "16",
|
|
@@ -2086,7 +2209,7 @@ function DataTablePagination({
|
|
|
2086
2209
|
strokeWidth: "2",
|
|
2087
2210
|
strokeLinecap: "round",
|
|
2088
2211
|
strokeLinejoin: "round",
|
|
2089
|
-
children: /* @__PURE__ */
|
|
2212
|
+
children: /* @__PURE__ */ jsx29("path", { d: "m9 18 6-6-6-6" })
|
|
2090
2213
|
}
|
|
2091
2214
|
)
|
|
2092
2215
|
}
|
|
@@ -2100,18 +2223,18 @@ function DataTablePagination({
|
|
|
2100
2223
|
DataTablePagination.displayName = "DataTablePagination";
|
|
2101
2224
|
|
|
2102
2225
|
// src/components/data-table/data-table-toolbar.tsx
|
|
2103
|
-
import * as
|
|
2104
|
-
import { jsx as
|
|
2226
|
+
import * as React30 from "react";
|
|
2227
|
+
import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2105
2228
|
function DataTableToolbar({
|
|
2106
2229
|
table,
|
|
2107
2230
|
enableColumnVisibility = false,
|
|
2108
2231
|
className,
|
|
2109
2232
|
children
|
|
2110
2233
|
}) {
|
|
2111
|
-
const [showColumnMenu, setShowColumnMenu] =
|
|
2112
|
-
const menuRef =
|
|
2234
|
+
const [showColumnMenu, setShowColumnMenu] = React30.useState(false);
|
|
2235
|
+
const menuRef = React30.useRef(null);
|
|
2113
2236
|
const selectedCount = table.getFilteredSelectedRowModel().rows.length;
|
|
2114
|
-
|
|
2237
|
+
React30.useEffect(() => {
|
|
2115
2238
|
function handleClickOutside(event) {
|
|
2116
2239
|
if (menuRef.current && !menuRef.current.contains(event.target)) {
|
|
2117
2240
|
setShowColumnMenu(false);
|
|
@@ -2122,7 +2245,7 @@ function DataTableToolbar({
|
|
|
2122
2245
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
2123
2246
|
}
|
|
2124
2247
|
}, [showColumnMenu]);
|
|
2125
|
-
return /* @__PURE__ */
|
|
2248
|
+
return /* @__PURE__ */ jsxs12(
|
|
2126
2249
|
"div",
|
|
2127
2250
|
{
|
|
2128
2251
|
className: cn(
|
|
@@ -2130,15 +2253,15 @@ function DataTableToolbar({
|
|
|
2130
2253
|
className
|
|
2131
2254
|
),
|
|
2132
2255
|
children: [
|
|
2133
|
-
/* @__PURE__ */
|
|
2134
|
-
selectedCount > 0 && /* @__PURE__ */
|
|
2256
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
|
|
2257
|
+
selectedCount > 0 && /* @__PURE__ */ jsxs12("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
|
|
2135
2258
|
selectedCount,
|
|
2136
2259
|
" selected"
|
|
2137
2260
|
] }),
|
|
2138
2261
|
children
|
|
2139
2262
|
] }),
|
|
2140
|
-
enableColumnVisibility && /* @__PURE__ */
|
|
2141
|
-
/* @__PURE__ */
|
|
2263
|
+
enableColumnVisibility && /* @__PURE__ */ jsxs12("div", { className: "relative", ref: menuRef, children: [
|
|
2264
|
+
/* @__PURE__ */ jsxs12(
|
|
2142
2265
|
"button",
|
|
2143
2266
|
{
|
|
2144
2267
|
className: "inline-flex items-center gap-1 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-1.5 text-sm transition-colors hover:bg-[var(--color-surface-sunken)]",
|
|
@@ -2146,7 +2269,7 @@ function DataTableToolbar({
|
|
|
2146
2269
|
"aria-label": "Toggle columns",
|
|
2147
2270
|
"aria-expanded": showColumnMenu,
|
|
2148
2271
|
children: [
|
|
2149
|
-
/* @__PURE__ */
|
|
2272
|
+
/* @__PURE__ */ jsx30(
|
|
2150
2273
|
"svg",
|
|
2151
2274
|
{
|
|
2152
2275
|
width: "14",
|
|
@@ -2157,19 +2280,19 @@ function DataTableToolbar({
|
|
|
2157
2280
|
strokeWidth: "2",
|
|
2158
2281
|
strokeLinecap: "round",
|
|
2159
2282
|
strokeLinejoin: "round",
|
|
2160
|
-
children: /* @__PURE__ */
|
|
2283
|
+
children: /* @__PURE__ */ jsx30("path", { d: "M12 3v18M3 12h18" })
|
|
2161
2284
|
}
|
|
2162
2285
|
),
|
|
2163
2286
|
"Columns"
|
|
2164
2287
|
]
|
|
2165
2288
|
}
|
|
2166
2289
|
),
|
|
2167
|
-
showColumnMenu && /* @__PURE__ */
|
|
2290
|
+
showColumnMenu && /* @__PURE__ */ jsx30("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs12(
|
|
2168
2291
|
"label",
|
|
2169
2292
|
{
|
|
2170
2293
|
className: "flex items-center gap-2 rounded px-2 py-1 text-sm hover:bg-[var(--color-surface-sunken)] cursor-pointer capitalize",
|
|
2171
2294
|
children: [
|
|
2172
|
-
/* @__PURE__ */
|
|
2295
|
+
/* @__PURE__ */ jsx30(
|
|
2173
2296
|
"input",
|
|
2174
2297
|
{
|
|
2175
2298
|
type: "checkbox",
|
|
@@ -2191,7 +2314,7 @@ function DataTableToolbar({
|
|
|
2191
2314
|
DataTableToolbar.displayName = "DataTableToolbar";
|
|
2192
2315
|
|
|
2193
2316
|
// src/components/data-table/data-table.tsx
|
|
2194
|
-
import { jsx as
|
|
2317
|
+
import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2195
2318
|
function DataTable({
|
|
2196
2319
|
columns,
|
|
2197
2320
|
data,
|
|
@@ -2206,14 +2329,14 @@ function DataTable({
|
|
|
2206
2329
|
className,
|
|
2207
2330
|
"aria-label": ariaLabel
|
|
2208
2331
|
}) {
|
|
2209
|
-
const [sorting, setSorting] =
|
|
2210
|
-
const [rowSelection, setRowSelection] =
|
|
2211
|
-
const [columnVisibility, setColumnVisibility] =
|
|
2212
|
-
const allColumns =
|
|
2332
|
+
const [sorting, setSorting] = React31.useState([]);
|
|
2333
|
+
const [rowSelection, setRowSelection] = React31.useState({});
|
|
2334
|
+
const [columnVisibility, setColumnVisibility] = React31.useState({});
|
|
2335
|
+
const allColumns = React31.useMemo(() => {
|
|
2213
2336
|
if (!enableRowSelection) return columns;
|
|
2214
2337
|
const selectColumn = {
|
|
2215
2338
|
id: "select",
|
|
2216
|
-
header: ({ table: table2 }) => /* @__PURE__ */
|
|
2339
|
+
header: ({ table: table2 }) => /* @__PURE__ */ jsx31(
|
|
2217
2340
|
Checkbox,
|
|
2218
2341
|
{
|
|
2219
2342
|
checked: table2.getIsAllPageRowsSelected() ? true : table2.getIsSomePageRowsSelected() ? "indeterminate" : false,
|
|
@@ -2221,7 +2344,7 @@ function DataTable({
|
|
|
2221
2344
|
"aria-label": "Select all"
|
|
2222
2345
|
}
|
|
2223
2346
|
),
|
|
2224
|
-
cell: ({ row }) => /* @__PURE__ */
|
|
2347
|
+
cell: ({ row }) => /* @__PURE__ */ jsx31(
|
|
2225
2348
|
Checkbox,
|
|
2226
2349
|
{
|
|
2227
2350
|
checked: row.getIsSelected(),
|
|
@@ -2249,23 +2372,23 @@ function DataTable({
|
|
|
2249
2372
|
enableRowSelection,
|
|
2250
2373
|
initialState: { pagination: { pageSize } }
|
|
2251
2374
|
});
|
|
2252
|
-
|
|
2375
|
+
React31.useEffect(() => {
|
|
2253
2376
|
if (onRowSelectionChange) {
|
|
2254
2377
|
const selectedRows = table.getFilteredSelectedRowModel().rows.map((row) => row.original);
|
|
2255
2378
|
onRowSelectionChange(selectedRows);
|
|
2256
2379
|
}
|
|
2257
2380
|
}, [rowSelection, table, onRowSelectionChange]);
|
|
2258
2381
|
const showToolbar = enableRowSelection || enableColumnVisibility;
|
|
2259
|
-
return /* @__PURE__ */
|
|
2260
|
-
showToolbar && /* @__PURE__ */
|
|
2382
|
+
return /* @__PURE__ */ jsxs13("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
|
|
2383
|
+
showToolbar && /* @__PURE__ */ jsx31(
|
|
2261
2384
|
DataTableToolbar,
|
|
2262
2385
|
{
|
|
2263
2386
|
table,
|
|
2264
2387
|
enableColumnVisibility
|
|
2265
2388
|
}
|
|
2266
2389
|
),
|
|
2267
|
-
/* @__PURE__ */
|
|
2268
|
-
/* @__PURE__ */
|
|
2390
|
+
/* @__PURE__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
|
|
2391
|
+
/* @__PURE__ */ jsx31(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx31(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx31(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs13(
|
|
2269
2392
|
"button",
|
|
2270
2393
|
{
|
|
2271
2394
|
className: "flex items-center gap-1 -ml-2 px-2 py-1 rounded-md hover:bg-[var(--color-surface-muted)] transition-colors duration-fast",
|
|
@@ -2276,7 +2399,7 @@ function DataTable({
|
|
|
2276
2399
|
header.column.columnDef.header,
|
|
2277
2400
|
header.getContext()
|
|
2278
2401
|
),
|
|
2279
|
-
/* @__PURE__ */
|
|
2402
|
+
/* @__PURE__ */ jsx31(
|
|
2280
2403
|
"svg",
|
|
2281
2404
|
{
|
|
2282
2405
|
width: "14",
|
|
@@ -2291,7 +2414,7 @@ function DataTable({
|
|
|
2291
2414
|
"shrink-0",
|
|
2292
2415
|
header.column.getIsSorted() ? "opacity-100" : "opacity-30"
|
|
2293
2416
|
),
|
|
2294
|
-
children: /* @__PURE__ */
|
|
2417
|
+
children: /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
|
|
2295
2418
|
}
|
|
2296
2419
|
)
|
|
2297
2420
|
]
|
|
@@ -2300,14 +2423,14 @@ function DataTable({
|
|
|
2300
2423
|
header.column.columnDef.header,
|
|
2301
2424
|
header.getContext()
|
|
2302
2425
|
) }, header.id)) }, headerGroup.id)) }),
|
|
2303
|
-
/* @__PURE__ */
|
|
2426
|
+
/* @__PURE__ */ jsx31(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx31(
|
|
2304
2427
|
TableRow,
|
|
2305
2428
|
{
|
|
2306
2429
|
"data-state": row.getIsSelected() ? "selected" : void 0,
|
|
2307
|
-
children: row.getVisibleCells().map((cell) => /* @__PURE__ */
|
|
2430
|
+
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx31(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
|
|
2308
2431
|
},
|
|
2309
2432
|
row.id
|
|
2310
|
-
)) : /* @__PURE__ */
|
|
2433
|
+
)) : /* @__PURE__ */ jsx31(TableRow, { children: /* @__PURE__ */ jsx31(
|
|
2311
2434
|
TableCell,
|
|
2312
2435
|
{
|
|
2313
2436
|
colSpan: allColumns.length,
|
|
@@ -2316,7 +2439,7 @@ function DataTable({
|
|
|
2316
2439
|
}
|
|
2317
2440
|
) }) })
|
|
2318
2441
|
] }),
|
|
2319
|
-
enablePagination && /* @__PURE__ */
|
|
2442
|
+
enablePagination && /* @__PURE__ */ jsx31(
|
|
2320
2443
|
DataTablePagination,
|
|
2321
2444
|
{
|
|
2322
2445
|
table,
|
|
@@ -2328,17 +2451,17 @@ function DataTable({
|
|
|
2328
2451
|
DataTable.displayName = "DataTable";
|
|
2329
2452
|
|
|
2330
2453
|
// src/components/data-table/data-table-column-header.tsx
|
|
2331
|
-
import { jsx as
|
|
2454
|
+
import { jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2332
2455
|
function DataTableColumnHeader({
|
|
2333
2456
|
column,
|
|
2334
2457
|
title,
|
|
2335
2458
|
className
|
|
2336
2459
|
}) {
|
|
2337
2460
|
if (!column.getCanSort()) {
|
|
2338
|
-
return /* @__PURE__ */
|
|
2461
|
+
return /* @__PURE__ */ jsx32("div", { className: cn(className), children: title });
|
|
2339
2462
|
}
|
|
2340
2463
|
const sorted = column.getIsSorted();
|
|
2341
|
-
return /* @__PURE__ */
|
|
2464
|
+
return /* @__PURE__ */ jsxs14(
|
|
2342
2465
|
"button",
|
|
2343
2466
|
{
|
|
2344
2467
|
className: cn(
|
|
@@ -2349,7 +2472,7 @@ function DataTableColumnHeader({
|
|
|
2349
2472
|
"aria-label": `Sort by ${title}`,
|
|
2350
2473
|
children: [
|
|
2351
2474
|
title,
|
|
2352
|
-
/* @__PURE__ */
|
|
2475
|
+
/* @__PURE__ */ jsx32(
|
|
2353
2476
|
"svg",
|
|
2354
2477
|
{
|
|
2355
2478
|
width: "14",
|
|
@@ -2364,11 +2487,11 @@ function DataTableColumnHeader({
|
|
|
2364
2487
|
"shrink-0 transition-opacity",
|
|
2365
2488
|
sorted ? "opacity-100" : "opacity-30"
|
|
2366
2489
|
),
|
|
2367
|
-
children: sorted === "desc" ? /* @__PURE__ */
|
|
2490
|
+
children: sorted === "desc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : sorted === "asc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
|
|
2368
2491
|
}
|
|
2369
2492
|
),
|
|
2370
|
-
sorted === "asc" && /* @__PURE__ */
|
|
2371
|
-
sorted === "desc" && /* @__PURE__ */
|
|
2493
|
+
sorted === "asc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted ascending" }),
|
|
2494
|
+
sorted === "desc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted descending" })
|
|
2372
2495
|
]
|
|
2373
2496
|
}
|
|
2374
2497
|
);
|
|
@@ -2376,10 +2499,10 @@ function DataTableColumnHeader({
|
|
|
2376
2499
|
DataTableColumnHeader.displayName = "DataTableColumnHeader";
|
|
2377
2500
|
|
|
2378
2501
|
// src/components/filter-bar/filter-bar.tsx
|
|
2379
|
-
import * as
|
|
2502
|
+
import * as React32 from "react";
|
|
2380
2503
|
import { cva as cva13 } from "class-variance-authority";
|
|
2381
|
-
import { jsx as
|
|
2382
|
-
var FilterBar =
|
|
2504
|
+
import { jsx as jsx33, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2505
|
+
var FilterBar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2383
2506
|
"div",
|
|
2384
2507
|
{
|
|
2385
2508
|
ref,
|
|
@@ -2393,7 +2516,7 @@ var FilterBar = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2393
2516
|
}
|
|
2394
2517
|
));
|
|
2395
2518
|
FilterBar.displayName = "FilterBar";
|
|
2396
|
-
var FilterBarGroup =
|
|
2519
|
+
var FilterBarGroup = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2397
2520
|
"div",
|
|
2398
2521
|
{
|
|
2399
2522
|
ref,
|
|
@@ -2415,27 +2538,27 @@ var filterChipVariants = cva13(
|
|
|
2415
2538
|
defaultVariants: { variant: "default" }
|
|
2416
2539
|
}
|
|
2417
2540
|
);
|
|
2418
|
-
var FilterChip =
|
|
2419
|
-
({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */
|
|
2541
|
+
var FilterChip = React32.forwardRef(
|
|
2542
|
+
({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2420
2543
|
"span",
|
|
2421
2544
|
{
|
|
2422
2545
|
ref,
|
|
2423
2546
|
className: cn(filterChipVariants({ variant }), className),
|
|
2424
2547
|
...props,
|
|
2425
2548
|
children: [
|
|
2426
|
-
/* @__PURE__ */
|
|
2549
|
+
/* @__PURE__ */ jsxs15("span", { className: "text-xs opacity-70", children: [
|
|
2427
2550
|
label,
|
|
2428
2551
|
":"
|
|
2429
2552
|
] }),
|
|
2430
|
-
/* @__PURE__ */
|
|
2431
|
-
onRemove && /* @__PURE__ */
|
|
2553
|
+
/* @__PURE__ */ jsx33("span", { children: value }),
|
|
2554
|
+
onRemove && /* @__PURE__ */ jsx33(
|
|
2432
2555
|
"button",
|
|
2433
2556
|
{
|
|
2434
2557
|
type: "button",
|
|
2435
2558
|
onClick: onRemove,
|
|
2436
2559
|
className: "ml-0.5 rounded-full p-0.5 hover:bg-black/10 transition-colors",
|
|
2437
2560
|
"aria-label": `Remove ${label} filter`,
|
|
2438
|
-
children: /* @__PURE__ */
|
|
2561
|
+
children: /* @__PURE__ */ jsx33(
|
|
2439
2562
|
"svg",
|
|
2440
2563
|
{
|
|
2441
2564
|
width: "12",
|
|
@@ -2446,7 +2569,7 @@ var FilterChip = React31.forwardRef(
|
|
|
2446
2569
|
strokeWidth: "2",
|
|
2447
2570
|
strokeLinecap: "round",
|
|
2448
2571
|
strokeLinejoin: "round",
|
|
2449
|
-
children: /* @__PURE__ */
|
|
2572
|
+
children: /* @__PURE__ */ jsx33("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
2450
2573
|
}
|
|
2451
2574
|
)
|
|
2452
2575
|
}
|
|
@@ -2456,7 +2579,7 @@ var FilterChip = React31.forwardRef(
|
|
|
2456
2579
|
)
|
|
2457
2580
|
);
|
|
2458
2581
|
FilterChip.displayName = "FilterChip";
|
|
2459
|
-
var ActiveFilters =
|
|
2582
|
+
var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2460
2583
|
"div",
|
|
2461
2584
|
{
|
|
2462
2585
|
ref,
|
|
@@ -2464,7 +2587,7 @@ var ActiveFilters = React31.forwardRef(({ className, onClearAll, clearAllLabel =
|
|
|
2464
2587
|
...props,
|
|
2465
2588
|
children: [
|
|
2466
2589
|
children,
|
|
2467
|
-
onClearAll && /* @__PURE__ */
|
|
2590
|
+
onClearAll && /* @__PURE__ */ jsx33(
|
|
2468
2591
|
"button",
|
|
2469
2592
|
{
|
|
2470
2593
|
type: "button",
|
|
@@ -2477,7 +2600,7 @@ var ActiveFilters = React31.forwardRef(({ className, onClearAll, clearAllLabel =
|
|
|
2477
2600
|
}
|
|
2478
2601
|
));
|
|
2479
2602
|
ActiveFilters.displayName = "ActiveFilters";
|
|
2480
|
-
var FilterBarActions =
|
|
2603
|
+
var FilterBarActions = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2481
2604
|
"div",
|
|
2482
2605
|
{
|
|
2483
2606
|
ref,
|
|
@@ -2488,13 +2611,13 @@ var FilterBarActions = React31.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
2488
2611
|
FilterBarActions.displayName = "FilterBarActions";
|
|
2489
2612
|
|
|
2490
2613
|
// src/components/popover/popover.tsx
|
|
2491
|
-
import * as
|
|
2614
|
+
import * as React33 from "react";
|
|
2492
2615
|
import * as PopoverPrimitive2 from "@radix-ui/react-popover";
|
|
2493
|
-
import { jsx as
|
|
2616
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2494
2617
|
var Popover = PopoverPrimitive2.Root;
|
|
2495
2618
|
var PopoverTrigger = PopoverPrimitive2.Trigger;
|
|
2496
2619
|
var PopoverAnchor = PopoverPrimitive2.Anchor;
|
|
2497
|
-
var PopoverContent =
|
|
2620
|
+
var PopoverContent = React33.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx34(
|
|
2498
2621
|
PopoverPrimitive2.Content,
|
|
2499
2622
|
{
|
|
2500
2623
|
ref,
|
|
@@ -2514,16 +2637,16 @@ var PopoverContent = React32.forwardRef(({ className, align = "center", sideOffs
|
|
|
2514
2637
|
PopoverContent.displayName = "PopoverContent";
|
|
2515
2638
|
|
|
2516
2639
|
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
2517
|
-
import * as
|
|
2640
|
+
import * as React34 from "react";
|
|
2518
2641
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
2519
|
-
import { jsx as
|
|
2642
|
+
import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2520
2643
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2521
2644
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2522
2645
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
2523
2646
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
2524
2647
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
2525
2648
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
2526
|
-
var DropdownMenuContent =
|
|
2649
|
+
var DropdownMenuContent = React34.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx35(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
|
|
2527
2650
|
DropdownMenuPrimitive.Content,
|
|
2528
2651
|
{
|
|
2529
2652
|
ref,
|
|
@@ -2540,7 +2663,7 @@ var DropdownMenuContent = React33.forwardRef(({ className, sideOffset = 4, ...pr
|
|
|
2540
2663
|
}
|
|
2541
2664
|
) }));
|
|
2542
2665
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
2543
|
-
var DropdownMenuSubTrigger =
|
|
2666
|
+
var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2544
2667
|
DropdownMenuPrimitive.SubTrigger,
|
|
2545
2668
|
{
|
|
2546
2669
|
ref,
|
|
@@ -2555,7 +2678,7 @@ var DropdownMenuSubTrigger = React33.forwardRef(({ className, inset, children, .
|
|
|
2555
2678
|
...props,
|
|
2556
2679
|
children: [
|
|
2557
2680
|
children,
|
|
2558
|
-
/* @__PURE__ */
|
|
2681
|
+
/* @__PURE__ */ jsx35(
|
|
2559
2682
|
"svg",
|
|
2560
2683
|
{
|
|
2561
2684
|
width: "14",
|
|
@@ -2567,14 +2690,14 @@ var DropdownMenuSubTrigger = React33.forwardRef(({ className, inset, children, .
|
|
|
2567
2690
|
strokeLinecap: "round",
|
|
2568
2691
|
strokeLinejoin: "round",
|
|
2569
2692
|
className: "ml-auto",
|
|
2570
|
-
children: /* @__PURE__ */
|
|
2693
|
+
children: /* @__PURE__ */ jsx35("path", { d: "m9 18 6-6-6-6" })
|
|
2571
2694
|
}
|
|
2572
2695
|
)
|
|
2573
2696
|
]
|
|
2574
2697
|
}
|
|
2575
2698
|
));
|
|
2576
2699
|
DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
|
|
2577
|
-
var DropdownMenuSubContent =
|
|
2700
|
+
var DropdownMenuSubContent = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
|
|
2578
2701
|
DropdownMenuPrimitive.SubContent,
|
|
2579
2702
|
{
|
|
2580
2703
|
ref,
|
|
@@ -2589,7 +2712,7 @@ var DropdownMenuSubContent = React33.forwardRef(({ className, ...props }, ref) =
|
|
|
2589
2712
|
}
|
|
2590
2713
|
));
|
|
2591
2714
|
DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
|
|
2592
|
-
var DropdownMenuItem =
|
|
2715
|
+
var DropdownMenuItem = React34.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsx35(
|
|
2593
2716
|
DropdownMenuPrimitive.Item,
|
|
2594
2717
|
{
|
|
2595
2718
|
ref,
|
|
@@ -2606,7 +2729,7 @@ var DropdownMenuItem = React33.forwardRef(({ className, inset, destructive, ...p
|
|
|
2606
2729
|
}
|
|
2607
2730
|
));
|
|
2608
2731
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
2609
|
-
var DropdownMenuCheckboxItem =
|
|
2732
|
+
var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2610
2733
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2611
2734
|
{
|
|
2612
2735
|
ref,
|
|
@@ -2620,7 +2743,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
|
|
|
2620
2743
|
checked,
|
|
2621
2744
|
...props,
|
|
2622
2745
|
children: [
|
|
2623
|
-
/* @__PURE__ */
|
|
2746
|
+
/* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(
|
|
2624
2747
|
"svg",
|
|
2625
2748
|
{
|
|
2626
2749
|
width: "14",
|
|
@@ -2631,7 +2754,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
|
|
|
2631
2754
|
strokeWidth: "2",
|
|
2632
2755
|
strokeLinecap: "round",
|
|
2633
2756
|
strokeLinejoin: "round",
|
|
2634
|
-
children: /* @__PURE__ */
|
|
2757
|
+
children: /* @__PURE__ */ jsx35("polyline", { points: "20 6 9 17 4 12" })
|
|
2635
2758
|
}
|
|
2636
2759
|
) }) }),
|
|
2637
2760
|
children
|
|
@@ -2639,7 +2762,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
|
|
|
2639
2762
|
}
|
|
2640
2763
|
));
|
|
2641
2764
|
DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
|
|
2642
|
-
var DropdownMenuRadioItem =
|
|
2765
|
+
var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2643
2766
|
DropdownMenuPrimitive.RadioItem,
|
|
2644
2767
|
{
|
|
2645
2768
|
ref,
|
|
@@ -2652,13 +2775,13 @@ var DropdownMenuRadioItem = React33.forwardRef(({ className, children, ...props
|
|
|
2652
2775
|
),
|
|
2653
2776
|
...props,
|
|
2654
2777
|
children: [
|
|
2655
|
-
/* @__PURE__ */
|
|
2778
|
+
/* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: /* @__PURE__ */ jsx35("circle", { cx: "4", cy: "4", r: "4" }) }) }) }),
|
|
2656
2779
|
children
|
|
2657
2780
|
]
|
|
2658
2781
|
}
|
|
2659
2782
|
));
|
|
2660
2783
|
DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
|
|
2661
|
-
var DropdownMenuLabel =
|
|
2784
|
+
var DropdownMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
|
|
2662
2785
|
DropdownMenuPrimitive.Label,
|
|
2663
2786
|
{
|
|
2664
2787
|
ref,
|
|
@@ -2671,7 +2794,7 @@ var DropdownMenuLabel = React33.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2671
2794
|
}
|
|
2672
2795
|
));
|
|
2673
2796
|
DropdownMenuLabel.displayName = "DropdownMenuLabel";
|
|
2674
|
-
var DropdownMenuSeparator =
|
|
2797
|
+
var DropdownMenuSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
|
|
2675
2798
|
DropdownMenuPrimitive.Separator,
|
|
2676
2799
|
{
|
|
2677
2800
|
ref,
|
|
@@ -2683,7 +2806,7 @@ DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
|
|
|
2683
2806
|
var DropdownMenuShortcut = ({
|
|
2684
2807
|
className,
|
|
2685
2808
|
...props
|
|
2686
|
-
}) => /* @__PURE__ */
|
|
2809
|
+
}) => /* @__PURE__ */ jsx35(
|
|
2687
2810
|
"span",
|
|
2688
2811
|
{
|
|
2689
2812
|
className: cn(
|
|
@@ -2696,13 +2819,13 @@ var DropdownMenuShortcut = ({
|
|
|
2696
2819
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2697
2820
|
|
|
2698
2821
|
// src/components/dialog/dialog.tsx
|
|
2699
|
-
import * as
|
|
2822
|
+
import * as React35 from "react";
|
|
2700
2823
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
2701
|
-
import { jsx as
|
|
2824
|
+
import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2702
2825
|
var Dialog = DialogPrimitive.Root;
|
|
2703
2826
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
2704
2827
|
var DialogClose = DialogPrimitive.Close;
|
|
2705
|
-
var DialogOverlay =
|
|
2828
|
+
var DialogOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
2706
2829
|
DialogPrimitive.Overlay,
|
|
2707
2830
|
{
|
|
2708
2831
|
ref,
|
|
@@ -2716,9 +2839,9 @@ var DialogOverlay = React34.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
2716
2839
|
}
|
|
2717
2840
|
));
|
|
2718
2841
|
DialogOverlay.displayName = "DialogOverlay";
|
|
2719
|
-
var DialogContent =
|
|
2720
|
-
/* @__PURE__ */
|
|
2721
|
-
/* @__PURE__ */
|
|
2842
|
+
var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(DialogPrimitive.Portal, { children: [
|
|
2843
|
+
/* @__PURE__ */ jsx36(DialogOverlay, {}),
|
|
2844
|
+
/* @__PURE__ */ jsxs17(
|
|
2722
2845
|
DialogPrimitive.Content,
|
|
2723
2846
|
{
|
|
2724
2847
|
ref,
|
|
@@ -2740,8 +2863,8 @@ var DialogContent = React34.forwardRef(({ className, children, ...props }, ref)
|
|
|
2740
2863
|
...props,
|
|
2741
2864
|
children: [
|
|
2742
2865
|
children,
|
|
2743
|
-
/* @__PURE__ */
|
|
2744
|
-
/* @__PURE__ */
|
|
2866
|
+
/* @__PURE__ */ jsxs17(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
|
|
2867
|
+
/* @__PURE__ */ jsx36(
|
|
2745
2868
|
"svg",
|
|
2746
2869
|
{
|
|
2747
2870
|
width: "16",
|
|
@@ -2752,10 +2875,10 @@ var DialogContent = React34.forwardRef(({ className, children, ...props }, ref)
|
|
|
2752
2875
|
strokeWidth: "2",
|
|
2753
2876
|
strokeLinecap: "round",
|
|
2754
2877
|
strokeLinejoin: "round",
|
|
2755
|
-
children: /* @__PURE__ */
|
|
2878
|
+
children: /* @__PURE__ */ jsx36("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
2756
2879
|
}
|
|
2757
2880
|
),
|
|
2758
|
-
/* @__PURE__ */
|
|
2881
|
+
/* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Close" })
|
|
2759
2882
|
] })
|
|
2760
2883
|
]
|
|
2761
2884
|
}
|
|
@@ -2765,7 +2888,7 @@ DialogContent.displayName = "DialogContent";
|
|
|
2765
2888
|
var DialogHeader = ({
|
|
2766
2889
|
className,
|
|
2767
2890
|
...props
|
|
2768
|
-
}) => /* @__PURE__ */
|
|
2891
|
+
}) => /* @__PURE__ */ jsx36(
|
|
2769
2892
|
"div",
|
|
2770
2893
|
{
|
|
2771
2894
|
className: cn("flex flex-col gap-1.5 text-center sm:text-left", className),
|
|
@@ -2776,7 +2899,7 @@ DialogHeader.displayName = "DialogHeader";
|
|
|
2776
2899
|
var DialogFooter = ({
|
|
2777
2900
|
className,
|
|
2778
2901
|
...props
|
|
2779
|
-
}) => /* @__PURE__ */
|
|
2902
|
+
}) => /* @__PURE__ */ jsx36(
|
|
2780
2903
|
"div",
|
|
2781
2904
|
{
|
|
2782
2905
|
className: cn(
|
|
@@ -2787,7 +2910,7 @@ var DialogFooter = ({
|
|
|
2787
2910
|
}
|
|
2788
2911
|
);
|
|
2789
2912
|
DialogFooter.displayName = "DialogFooter";
|
|
2790
|
-
var DialogTitle =
|
|
2913
|
+
var DialogTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
2791
2914
|
DialogPrimitive.Title,
|
|
2792
2915
|
{
|
|
2793
2916
|
ref,
|
|
@@ -2796,7 +2919,7 @@ var DialogTitle = React34.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2796
2919
|
}
|
|
2797
2920
|
));
|
|
2798
2921
|
DialogTitle.displayName = "DialogTitle";
|
|
2799
|
-
var DialogDescription =
|
|
2922
|
+
var DialogDescription = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
2800
2923
|
DialogPrimitive.Description,
|
|
2801
2924
|
{
|
|
2802
2925
|
ref,
|
|
@@ -2809,7 +2932,7 @@ DialogDescription.displayName = "DialogDescription";
|
|
|
2809
2932
|
// src/components/command-palette/command-palette.tsx
|
|
2810
2933
|
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
2811
2934
|
import { Command as Command2 } from "cmdk";
|
|
2812
|
-
import { jsx as
|
|
2935
|
+
import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2813
2936
|
function CommandPalette({
|
|
2814
2937
|
open,
|
|
2815
2938
|
onOpenChange,
|
|
@@ -2817,9 +2940,9 @@ function CommandPalette({
|
|
|
2817
2940
|
className,
|
|
2818
2941
|
children
|
|
2819
2942
|
}) {
|
|
2820
|
-
return /* @__PURE__ */
|
|
2821
|
-
/* @__PURE__ */
|
|
2822
|
-
/* @__PURE__ */
|
|
2943
|
+
return /* @__PURE__ */ jsx37(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs18(DialogPrimitive2.Portal, { children: [
|
|
2944
|
+
/* @__PURE__ */ jsx37(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
|
|
2945
|
+
/* @__PURE__ */ jsx37(
|
|
2823
2946
|
DialogPrimitive2.Content,
|
|
2824
2947
|
{
|
|
2825
2948
|
className: cn(
|
|
@@ -2828,9 +2951,9 @@ function CommandPalette({
|
|
|
2828
2951
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
2829
2952
|
className
|
|
2830
2953
|
),
|
|
2831
|
-
children: /* @__PURE__ */
|
|
2832
|
-
/* @__PURE__ */
|
|
2833
|
-
/* @__PURE__ */
|
|
2954
|
+
children: /* @__PURE__ */ jsxs18(Command2, { shouldFilter: true, className: "flex flex-col", children: [
|
|
2955
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
|
|
2956
|
+
/* @__PURE__ */ jsxs18(
|
|
2834
2957
|
"svg",
|
|
2835
2958
|
{
|
|
2836
2959
|
width: "18",
|
|
@@ -2843,12 +2966,12 @@ function CommandPalette({
|
|
|
2843
2966
|
strokeLinejoin: "round",
|
|
2844
2967
|
className: "shrink-0 text-[var(--color-on-surface-muted)]",
|
|
2845
2968
|
children: [
|
|
2846
|
-
/* @__PURE__ */
|
|
2847
|
-
/* @__PURE__ */
|
|
2969
|
+
/* @__PURE__ */ jsx37("circle", { cx: "11", cy: "11", r: "8" }),
|
|
2970
|
+
/* @__PURE__ */ jsx37("path", { d: "m21 21-4.3-4.3" })
|
|
2848
2971
|
]
|
|
2849
2972
|
}
|
|
2850
2973
|
),
|
|
2851
|
-
/* @__PURE__ */
|
|
2974
|
+
/* @__PURE__ */ jsx37(
|
|
2852
2975
|
Command2.Input,
|
|
2853
2976
|
{
|
|
2854
2977
|
placeholder,
|
|
@@ -2856,7 +2979,7 @@ function CommandPalette({
|
|
|
2856
2979
|
}
|
|
2857
2980
|
)
|
|
2858
2981
|
] }),
|
|
2859
|
-
/* @__PURE__ */
|
|
2982
|
+
/* @__PURE__ */ jsx37(Command2.List, { className: "max-h-80 overflow-auto p-2", children })
|
|
2860
2983
|
] })
|
|
2861
2984
|
}
|
|
2862
2985
|
)
|
|
@@ -2867,7 +2990,7 @@ function CommandPaletteGroup({
|
|
|
2867
2990
|
heading,
|
|
2868
2991
|
children
|
|
2869
2992
|
}) {
|
|
2870
|
-
return /* @__PURE__ */
|
|
2993
|
+
return /* @__PURE__ */ jsx37(
|
|
2871
2994
|
Command2.Group,
|
|
2872
2995
|
{
|
|
2873
2996
|
heading,
|
|
@@ -2885,7 +3008,7 @@ function CommandPaletteItem({
|
|
|
2885
3008
|
className,
|
|
2886
3009
|
children
|
|
2887
3010
|
}) {
|
|
2888
|
-
return /* @__PURE__ */
|
|
3011
|
+
return /* @__PURE__ */ jsxs18(
|
|
2889
3012
|
Command2.Item,
|
|
2890
3013
|
{
|
|
2891
3014
|
onSelect,
|
|
@@ -2897,9 +3020,9 @@ function CommandPaletteItem({
|
|
|
2897
3020
|
className
|
|
2898
3021
|
),
|
|
2899
3022
|
children: [
|
|
2900
|
-
icon && /* @__PURE__ */
|
|
2901
|
-
/* @__PURE__ */
|
|
2902
|
-
shortcut && /* @__PURE__ */
|
|
3023
|
+
icon && /* @__PURE__ */ jsx37("span", { className: "mr-2 flex h-4 w-4 items-center justify-center text-[var(--color-on-surface-muted)]", children: icon }),
|
|
3024
|
+
/* @__PURE__ */ jsx37("span", { className: "flex-1", children }),
|
|
3025
|
+
shortcut && /* @__PURE__ */ jsx37(CommandPaletteShortcut, { children: shortcut })
|
|
2903
3026
|
]
|
|
2904
3027
|
}
|
|
2905
3028
|
);
|
|
@@ -2909,7 +3032,7 @@ function CommandPaletteSeparator({
|
|
|
2909
3032
|
className,
|
|
2910
3033
|
...props
|
|
2911
3034
|
}) {
|
|
2912
|
-
return /* @__PURE__ */
|
|
3035
|
+
return /* @__PURE__ */ jsx37(
|
|
2913
3036
|
Command2.Separator,
|
|
2914
3037
|
{
|
|
2915
3038
|
className: cn("-mx-1 my-1 h-px bg-[var(--color-border)]", className),
|
|
@@ -2923,7 +3046,7 @@ function CommandPaletteEmpty({
|
|
|
2923
3046
|
children = "No results found.",
|
|
2924
3047
|
...props
|
|
2925
3048
|
}) {
|
|
2926
|
-
return /* @__PURE__ */
|
|
3049
|
+
return /* @__PURE__ */ jsx37(
|
|
2927
3050
|
Command2.Empty,
|
|
2928
3051
|
{
|
|
2929
3052
|
className: cn("px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", className),
|
|
@@ -2937,7 +3060,7 @@ function CommandPaletteShortcut({
|
|
|
2937
3060
|
className,
|
|
2938
3061
|
...props
|
|
2939
3062
|
}) {
|
|
2940
|
-
return /* @__PURE__ */
|
|
3063
|
+
return /* @__PURE__ */ jsx37(
|
|
2941
3064
|
"span",
|
|
2942
3065
|
{
|
|
2943
3066
|
className: cn(
|
|
@@ -2951,32 +3074,32 @@ function CommandPaletteShortcut({
|
|
|
2951
3074
|
CommandPaletteShortcut.displayName = "CommandPaletteShortcut";
|
|
2952
3075
|
|
|
2953
3076
|
// src/components/drawer/drawer.tsx
|
|
2954
|
-
import * as
|
|
3077
|
+
import * as React36 from "react";
|
|
2955
3078
|
import * as DialogPrimitive3 from "@radix-ui/react-dialog";
|
|
2956
3079
|
import { cva as cva14 } from "class-variance-authority";
|
|
2957
|
-
import { jsx as
|
|
3080
|
+
import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2958
3081
|
var [DrawerContextProvider, useDrawerContext] = createContext2("Drawer");
|
|
2959
|
-
var DrawerStackContext =
|
|
3082
|
+
var DrawerStackContext = React36.createContext(
|
|
2960
3083
|
null
|
|
2961
3084
|
);
|
|
2962
3085
|
function DrawerProvider({ children }) {
|
|
2963
|
-
const stackRef =
|
|
2964
|
-
const [, forceUpdate] =
|
|
2965
|
-
const register =
|
|
3086
|
+
const stackRef = React36.useRef([]);
|
|
3087
|
+
const [, forceUpdate] = React36.useState(0);
|
|
3088
|
+
const register = React36.useCallback((id) => {
|
|
2966
3089
|
const level = stackRef.current.length;
|
|
2967
3090
|
stackRef.current = [...stackRef.current, { id, level }];
|
|
2968
3091
|
forceUpdate((n) => n + 1);
|
|
2969
3092
|
return level;
|
|
2970
3093
|
}, []);
|
|
2971
|
-
const unregister =
|
|
3094
|
+
const unregister = React36.useCallback((id) => {
|
|
2972
3095
|
stackRef.current = stackRef.current.filter((e) => e.id !== id);
|
|
2973
3096
|
forceUpdate((n) => n + 1);
|
|
2974
3097
|
}, []);
|
|
2975
|
-
const ctx =
|
|
3098
|
+
const ctx = React36.useMemo(
|
|
2976
3099
|
() => ({ stack: stackRef.current, register, unregister }),
|
|
2977
3100
|
[register, unregister]
|
|
2978
3101
|
);
|
|
2979
|
-
return /* @__PURE__ */
|
|
3102
|
+
return /* @__PURE__ */ jsx38(DrawerStackContext.Provider, { value: ctx, children });
|
|
2980
3103
|
}
|
|
2981
3104
|
DrawerProvider.displayName = "DrawerProvider";
|
|
2982
3105
|
function Drawer({
|
|
@@ -2988,7 +3111,7 @@ function Drawer({
|
|
|
2988
3111
|
onPinnedChange,
|
|
2989
3112
|
children
|
|
2990
3113
|
}) {
|
|
2991
|
-
return /* @__PURE__ */
|
|
3114
|
+
return /* @__PURE__ */ jsx38(DrawerContextProvider, { value: { side, pinnable, pinned, onPinnedChange }, children: /* @__PURE__ */ jsx38(DialogPrimitive3.Root, { open, onOpenChange, children }) });
|
|
2992
3115
|
}
|
|
2993
3116
|
Drawer.displayName = "Drawer";
|
|
2994
3117
|
var DrawerTrigger = DialogPrimitive3.Trigger;
|
|
@@ -3005,12 +3128,12 @@ var drawerSizeVariants = cva14("", {
|
|
|
3005
3128
|
},
|
|
3006
3129
|
defaultVariants: { size: "md" }
|
|
3007
3130
|
});
|
|
3008
|
-
var DrawerContent =
|
|
3131
|
+
var DrawerContent = React36.forwardRef(({ className, size, children, ...props }, ref) => {
|
|
3009
3132
|
const { side, pinned } = useDrawerContext();
|
|
3010
|
-
const stackCtx =
|
|
3011
|
-
const drawerId =
|
|
3012
|
-
const [level, setLevel] =
|
|
3013
|
-
|
|
3133
|
+
const stackCtx = React36.useContext(DrawerStackContext);
|
|
3134
|
+
const drawerId = React36.useId();
|
|
3135
|
+
const [level, setLevel] = React36.useState(0);
|
|
3136
|
+
React36.useEffect(() => {
|
|
3014
3137
|
if (stackCtx) {
|
|
3015
3138
|
const l = stackCtx.register(drawerId);
|
|
3016
3139
|
setLevel(l);
|
|
@@ -3019,7 +3142,7 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
|
|
|
3019
3142
|
}, [stackCtx, drawerId]);
|
|
3020
3143
|
const stackOffset = stackCtx ? level * 2 : 0;
|
|
3021
3144
|
if (pinned) {
|
|
3022
|
-
return /* @__PURE__ */
|
|
3145
|
+
return /* @__PURE__ */ jsx38(
|
|
3023
3146
|
"div",
|
|
3024
3147
|
{
|
|
3025
3148
|
className: cn(
|
|
@@ -3032,8 +3155,8 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
|
|
|
3032
3155
|
}
|
|
3033
3156
|
);
|
|
3034
3157
|
}
|
|
3035
|
-
return /* @__PURE__ */
|
|
3036
|
-
/* @__PURE__ */
|
|
3158
|
+
return /* @__PURE__ */ jsxs19(DialogPrimitive3.Portal, { children: [
|
|
3159
|
+
/* @__PURE__ */ jsx38(
|
|
3037
3160
|
DialogPrimitive3.Overlay,
|
|
3038
3161
|
{
|
|
3039
3162
|
className: cn(
|
|
@@ -3044,7 +3167,7 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
|
|
|
3044
3167
|
style: { zIndex: 200 + stackOffset }
|
|
3045
3168
|
}
|
|
3046
3169
|
),
|
|
3047
|
-
/* @__PURE__ */
|
|
3170
|
+
/* @__PURE__ */ jsx38(
|
|
3048
3171
|
DialogPrimitive3.Content,
|
|
3049
3172
|
{
|
|
3050
3173
|
ref,
|
|
@@ -3058,15 +3181,15 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
|
|
|
3058
3181
|
),
|
|
3059
3182
|
style: { zIndex: 201 + stackOffset },
|
|
3060
3183
|
...props,
|
|
3061
|
-
children: /* @__PURE__ */
|
|
3184
|
+
children: /* @__PURE__ */ jsx38("div", { className: "flex h-full flex-col", children })
|
|
3062
3185
|
}
|
|
3063
3186
|
)
|
|
3064
3187
|
] });
|
|
3065
3188
|
});
|
|
3066
3189
|
DrawerContent.displayName = "DrawerContent";
|
|
3067
|
-
var DrawerHeader =
|
|
3190
|
+
var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
|
|
3068
3191
|
const { pinnable, pinned, onPinnedChange } = useDrawerContext();
|
|
3069
|
-
return /* @__PURE__ */
|
|
3192
|
+
return /* @__PURE__ */ jsxs19(
|
|
3070
3193
|
"div",
|
|
3071
3194
|
{
|
|
3072
3195
|
ref,
|
|
@@ -3076,9 +3199,9 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3076
3199
|
),
|
|
3077
3200
|
...props,
|
|
3078
3201
|
children: [
|
|
3079
|
-
/* @__PURE__ */
|
|
3080
|
-
/* @__PURE__ */
|
|
3081
|
-
pinnable && /* @__PURE__ */
|
|
3202
|
+
/* @__PURE__ */ jsx38("div", { className: "flex-1", children: props.children }),
|
|
3203
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-1", children: [
|
|
3204
|
+
pinnable && /* @__PURE__ */ jsx38(
|
|
3082
3205
|
"button",
|
|
3083
3206
|
{
|
|
3084
3207
|
type: "button",
|
|
@@ -3088,7 +3211,7 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3088
3211
|
pinned ? "opacity-100 text-primary-500" : "opacity-50"
|
|
3089
3212
|
),
|
|
3090
3213
|
"aria-label": pinned ? "Unpin drawer" : "Pin drawer",
|
|
3091
|
-
children: /* @__PURE__ */
|
|
3214
|
+
children: /* @__PURE__ */ jsx38(
|
|
3092
3215
|
"svg",
|
|
3093
3216
|
{
|
|
3094
3217
|
width: "16",
|
|
@@ -3099,13 +3222,13 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3099
3222
|
strokeWidth: "2",
|
|
3100
3223
|
strokeLinecap: "round",
|
|
3101
3224
|
strokeLinejoin: "round",
|
|
3102
|
-
children: /* @__PURE__ */
|
|
3225
|
+
children: /* @__PURE__ */ jsx38("path", { d: "M12 17v5M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1 1 1 0 0 1 1 1z" })
|
|
3103
3226
|
}
|
|
3104
3227
|
)
|
|
3105
3228
|
}
|
|
3106
3229
|
),
|
|
3107
|
-
/* @__PURE__ */
|
|
3108
|
-
/* @__PURE__ */
|
|
3230
|
+
/* @__PURE__ */ jsxs19(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
|
|
3231
|
+
/* @__PURE__ */ jsx38(
|
|
3109
3232
|
"svg",
|
|
3110
3233
|
{
|
|
3111
3234
|
width: "16",
|
|
@@ -3116,10 +3239,10 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3116
3239
|
strokeWidth: "2",
|
|
3117
3240
|
strokeLinecap: "round",
|
|
3118
3241
|
strokeLinejoin: "round",
|
|
3119
|
-
children: /* @__PURE__ */
|
|
3242
|
+
children: /* @__PURE__ */ jsx38("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
3120
3243
|
}
|
|
3121
3244
|
),
|
|
3122
|
-
/* @__PURE__ */
|
|
3245
|
+
/* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
|
|
3123
3246
|
] })
|
|
3124
3247
|
] })
|
|
3125
3248
|
]
|
|
@@ -3127,7 +3250,7 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3127
3250
|
);
|
|
3128
3251
|
});
|
|
3129
3252
|
DrawerHeader.displayName = "DrawerHeader";
|
|
3130
|
-
var DrawerTitle =
|
|
3253
|
+
var DrawerTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3131
3254
|
DialogPrimitive3.Title,
|
|
3132
3255
|
{
|
|
3133
3256
|
ref,
|
|
@@ -3136,7 +3259,7 @@ var DrawerTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3136
3259
|
}
|
|
3137
3260
|
));
|
|
3138
3261
|
DrawerTitle.displayName = "DrawerTitle";
|
|
3139
|
-
var DrawerDescription =
|
|
3262
|
+
var DrawerDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3140
3263
|
DialogPrimitive3.Description,
|
|
3141
3264
|
{
|
|
3142
3265
|
ref,
|
|
@@ -3145,7 +3268,7 @@ var DrawerDescription = React35.forwardRef(({ className, ...props }, ref) => /*
|
|
|
3145
3268
|
}
|
|
3146
3269
|
));
|
|
3147
3270
|
DrawerDescription.displayName = "DrawerDescription";
|
|
3148
|
-
var DrawerFooter =
|
|
3271
|
+
var DrawerFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3149
3272
|
"div",
|
|
3150
3273
|
{
|
|
3151
3274
|
ref,
|
|
@@ -3159,10 +3282,10 @@ var DrawerFooter = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
3159
3282
|
DrawerFooter.displayName = "DrawerFooter";
|
|
3160
3283
|
|
|
3161
3284
|
// src/components/app-shell/app-shell.tsx
|
|
3162
|
-
import * as
|
|
3163
|
-
import { jsx as
|
|
3285
|
+
import * as React37 from "react";
|
|
3286
|
+
import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3164
3287
|
var [AppShellProvider, useAppShell] = createContext2("AppShell");
|
|
3165
|
-
var AppShell =
|
|
3288
|
+
var AppShell = React37.forwardRef(
|
|
3166
3289
|
({
|
|
3167
3290
|
className,
|
|
3168
3291
|
sidebarCollapsed: controlledCollapsed,
|
|
@@ -3174,11 +3297,11 @@ var AppShell = React36.forwardRef(
|
|
|
3174
3297
|
...props
|
|
3175
3298
|
}, ref) => {
|
|
3176
3299
|
const { isMobile } = useBreakpoint();
|
|
3177
|
-
const [internalCollapsed, setInternalCollapsed] =
|
|
3178
|
-
const [mobileSidebarOpen, setMobileSidebarOpen] =
|
|
3300
|
+
const [internalCollapsed, setInternalCollapsed] = React37.useState(false);
|
|
3301
|
+
const [mobileSidebarOpen, setMobileSidebarOpen] = React37.useState(false);
|
|
3179
3302
|
const collapsed = controlledCollapsed ?? internalCollapsed;
|
|
3180
3303
|
const setCollapsed = onSidebarCollapsedChange ?? setInternalCollapsed;
|
|
3181
|
-
return /* @__PURE__ */
|
|
3304
|
+
return /* @__PURE__ */ jsx39(
|
|
3182
3305
|
AppShellProvider,
|
|
3183
3306
|
{
|
|
3184
3307
|
value: {
|
|
@@ -3189,7 +3312,7 @@ var AppShell = React36.forwardRef(
|
|
|
3189
3312
|
mobileSidebarOpen,
|
|
3190
3313
|
setMobileSidebarOpen
|
|
3191
3314
|
},
|
|
3192
|
-
children: /* @__PURE__ */
|
|
3315
|
+
children: /* @__PURE__ */ jsx39(
|
|
3193
3316
|
"div",
|
|
3194
3317
|
{
|
|
3195
3318
|
ref,
|
|
@@ -3207,20 +3330,20 @@ var AppShell = React36.forwardRef(
|
|
|
3207
3330
|
}
|
|
3208
3331
|
);
|
|
3209
3332
|
AppShell.displayName = "AppShell";
|
|
3210
|
-
var AppShellSidebar =
|
|
3333
|
+
var AppShellSidebar = React37.forwardRef(({ className, children, ...props }, ref) => {
|
|
3211
3334
|
const { sidebarCollapsed, isMobile, mobileSidebarOpen, setMobileSidebarOpen } = useAppShell();
|
|
3212
3335
|
if (isMobile) {
|
|
3213
|
-
return /* @__PURE__ */
|
|
3336
|
+
return /* @__PURE__ */ jsx39(
|
|
3214
3337
|
Drawer,
|
|
3215
3338
|
{
|
|
3216
3339
|
open: mobileSidebarOpen,
|
|
3217
3340
|
onOpenChange: setMobileSidebarOpen,
|
|
3218
3341
|
side: "left",
|
|
3219
|
-
children: /* @__PURE__ */
|
|
3342
|
+
children: /* @__PURE__ */ jsx39(DrawerContent, { size: "sm", className, children })
|
|
3220
3343
|
}
|
|
3221
3344
|
);
|
|
3222
3345
|
}
|
|
3223
|
-
return /* @__PURE__ */
|
|
3346
|
+
return /* @__PURE__ */ jsx39(
|
|
3224
3347
|
"aside",
|
|
3225
3348
|
{
|
|
3226
3349
|
ref,
|
|
@@ -3237,9 +3360,9 @@ var AppShellSidebar = React36.forwardRef(({ className, children, ...props }, ref
|
|
|
3237
3360
|
);
|
|
3238
3361
|
});
|
|
3239
3362
|
AppShellSidebar.displayName = "AppShellSidebar";
|
|
3240
|
-
var AppShellHeader =
|
|
3363
|
+
var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref) => {
|
|
3241
3364
|
const { isMobile, setMobileSidebarOpen } = useAppShell();
|
|
3242
|
-
return /* @__PURE__ */
|
|
3365
|
+
return /* @__PURE__ */ jsxs20(
|
|
3243
3366
|
"header",
|
|
3244
3367
|
{
|
|
3245
3368
|
ref,
|
|
@@ -3249,14 +3372,14 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
|
|
|
3249
3372
|
),
|
|
3250
3373
|
...props,
|
|
3251
3374
|
children: [
|
|
3252
|
-
isMobile && /* @__PURE__ */
|
|
3375
|
+
isMobile && /* @__PURE__ */ jsx39(
|
|
3253
3376
|
"button",
|
|
3254
3377
|
{
|
|
3255
3378
|
type: "button",
|
|
3256
3379
|
onClick: () => setMobileSidebarOpen(true),
|
|
3257
3380
|
className: "rounded-md p-1.5 hover:bg-[var(--color-surface-muted)] transition-colors touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min] flex items-center justify-center",
|
|
3258
3381
|
"aria-label": "Open menu",
|
|
3259
|
-
children: /* @__PURE__ */
|
|
3382
|
+
children: /* @__PURE__ */ jsx39(
|
|
3260
3383
|
"svg",
|
|
3261
3384
|
{
|
|
3262
3385
|
width: "20",
|
|
@@ -3267,7 +3390,7 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
|
|
|
3267
3390
|
strokeWidth: "2",
|
|
3268
3391
|
strokeLinecap: "round",
|
|
3269
3392
|
strokeLinejoin: "round",
|
|
3270
|
-
children: /* @__PURE__ */
|
|
3393
|
+
children: /* @__PURE__ */ jsx39("path", { d: "M4 6h16M4 12h16M4 18h16" })
|
|
3271
3394
|
}
|
|
3272
3395
|
)
|
|
3273
3396
|
}
|
|
@@ -3278,9 +3401,9 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
|
|
|
3278
3401
|
);
|
|
3279
3402
|
});
|
|
3280
3403
|
AppShellHeader.displayName = "AppShellHeader";
|
|
3281
|
-
var AppShellContent =
|
|
3404
|
+
var AppShellContent = React37.forwardRef(({ className, ...props }, ref) => {
|
|
3282
3405
|
const { withBottomNav } = useAppShell();
|
|
3283
|
-
return /* @__PURE__ */
|
|
3406
|
+
return /* @__PURE__ */ jsx39(
|
|
3284
3407
|
"main",
|
|
3285
3408
|
{
|
|
3286
3409
|
ref,
|
|
@@ -3294,7 +3417,7 @@ var AppShellContent = React36.forwardRef(({ className, ...props }, ref) => {
|
|
|
3294
3417
|
);
|
|
3295
3418
|
});
|
|
3296
3419
|
AppShellContent.displayName = "AppShellContent";
|
|
3297
|
-
var AppShellFooter =
|
|
3420
|
+
var AppShellFooter = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3298
3421
|
"footer",
|
|
3299
3422
|
{
|
|
3300
3423
|
ref,
|
|
@@ -3308,9 +3431,9 @@ var AppShellFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
3308
3431
|
AppShellFooter.displayName = "AppShellFooter";
|
|
3309
3432
|
|
|
3310
3433
|
// src/components/bottom-navigation/bottom-navigation.tsx
|
|
3311
|
-
import * as
|
|
3312
|
-
import { jsx as
|
|
3313
|
-
var BottomNavigation =
|
|
3434
|
+
import * as React38 from "react";
|
|
3435
|
+
import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3436
|
+
var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3314
3437
|
"nav",
|
|
3315
3438
|
{
|
|
3316
3439
|
ref,
|
|
@@ -3323,7 +3446,7 @@ var BottomNavigation = React37.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3323
3446
|
}
|
|
3324
3447
|
));
|
|
3325
3448
|
BottomNavigation.displayName = "BottomNavigation";
|
|
3326
|
-
var BottomNavigationItem =
|
|
3449
|
+
var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs21(
|
|
3327
3450
|
"button",
|
|
3328
3451
|
{
|
|
3329
3452
|
ref,
|
|
@@ -3335,17 +3458,17 @@ var BottomNavigationItem = React37.forwardRef(({ className, icon, label, active
|
|
|
3335
3458
|
"aria-current": active ? "page" : void 0,
|
|
3336
3459
|
...props,
|
|
3337
3460
|
children: [
|
|
3338
|
-
/* @__PURE__ */
|
|
3339
|
-
/* @__PURE__ */
|
|
3461
|
+
/* @__PURE__ */ jsx40("span", { className: "flex h-6 w-6 items-center justify-center", children: icon }),
|
|
3462
|
+
/* @__PURE__ */ jsx40("span", { children: label })
|
|
3340
3463
|
]
|
|
3341
3464
|
}
|
|
3342
3465
|
));
|
|
3343
3466
|
BottomNavigationItem.displayName = "BottomNavigationItem";
|
|
3344
3467
|
|
|
3345
3468
|
// src/components/offline-indicator/offline-indicator.tsx
|
|
3346
|
-
import * as
|
|
3347
|
-
import { jsx as
|
|
3348
|
-
var OfflineIndicator =
|
|
3469
|
+
import * as React39 from "react";
|
|
3470
|
+
import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3471
|
+
var OfflineIndicator = React39.forwardRef(
|
|
3349
3472
|
({
|
|
3350
3473
|
className,
|
|
3351
3474
|
isOffline,
|
|
@@ -3353,7 +3476,7 @@ var OfflineIndicator = React38.forwardRef(
|
|
|
3353
3476
|
...props
|
|
3354
3477
|
}, ref) => {
|
|
3355
3478
|
if (!isOffline) return null;
|
|
3356
|
-
return /* @__PURE__ */
|
|
3479
|
+
return /* @__PURE__ */ jsxs22(
|
|
3357
3480
|
"div",
|
|
3358
3481
|
{
|
|
3359
3482
|
ref,
|
|
@@ -3364,7 +3487,7 @@ var OfflineIndicator = React38.forwardRef(
|
|
|
3364
3487
|
),
|
|
3365
3488
|
...props,
|
|
3366
3489
|
children: [
|
|
3367
|
-
/* @__PURE__ */
|
|
3490
|
+
/* @__PURE__ */ jsxs22(
|
|
3368
3491
|
"svg",
|
|
3369
3492
|
{
|
|
3370
3493
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -3379,13 +3502,13 @@ var OfflineIndicator = React38.forwardRef(
|
|
|
3379
3502
|
className: "mr-2 shrink-0",
|
|
3380
3503
|
"aria-hidden": "true",
|
|
3381
3504
|
children: [
|
|
3382
|
-
/* @__PURE__ */
|
|
3383
|
-
/* @__PURE__ */
|
|
3384
|
-
/* @__PURE__ */
|
|
3385
|
-
/* @__PURE__ */
|
|
3386
|
-
/* @__PURE__ */
|
|
3387
|
-
/* @__PURE__ */
|
|
3388
|
-
/* @__PURE__ */
|
|
3505
|
+
/* @__PURE__ */ jsx41("line", { x1: "2", x2: "22", y1: "2", y2: "22" }),
|
|
3506
|
+
/* @__PURE__ */ jsx41("path", { d: "M8.5 16.5a5 5 0 0 1 7 0" }),
|
|
3507
|
+
/* @__PURE__ */ jsx41("path", { d: "M2 8.82a15 15 0 0 1 4.17-2.65" }),
|
|
3508
|
+
/* @__PURE__ */ jsx41("path", { d: "M10.66 5c4.01-.36 8.14.9 11.34 3.76" }),
|
|
3509
|
+
/* @__PURE__ */ jsx41("path", { d: "M16.85 11.25a10 10 0 0 1 2.22 1.68" }),
|
|
3510
|
+
/* @__PURE__ */ jsx41("path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69" }),
|
|
3511
|
+
/* @__PURE__ */ jsx41("line", { x1: "12", x2: "12.01", y1: "20", y2: "20" })
|
|
3389
3512
|
]
|
|
3390
3513
|
}
|
|
3391
3514
|
),
|
|
@@ -3398,9 +3521,9 @@ var OfflineIndicator = React38.forwardRef(
|
|
|
3398
3521
|
OfflineIndicator.displayName = "OfflineIndicator";
|
|
3399
3522
|
|
|
3400
3523
|
// src/components/install-prompt/install-prompt.tsx
|
|
3401
|
-
import * as
|
|
3402
|
-
import { jsx as
|
|
3403
|
-
var InstallPrompt =
|
|
3524
|
+
import * as React40 from "react";
|
|
3525
|
+
import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3526
|
+
var InstallPrompt = React40.forwardRef(
|
|
3404
3527
|
({
|
|
3405
3528
|
className,
|
|
3406
3529
|
canInstall,
|
|
@@ -3413,7 +3536,7 @@ var InstallPrompt = React39.forwardRef(
|
|
|
3413
3536
|
...props
|
|
3414
3537
|
}, ref) => {
|
|
3415
3538
|
if (!canInstall) return null;
|
|
3416
|
-
return /* @__PURE__ */
|
|
3539
|
+
return /* @__PURE__ */ jsx42(
|
|
3417
3540
|
"div",
|
|
3418
3541
|
{
|
|
3419
3542
|
ref,
|
|
@@ -3424,12 +3547,12 @@ var InstallPrompt = React39.forwardRef(
|
|
|
3424
3547
|
className
|
|
3425
3548
|
),
|
|
3426
3549
|
...props,
|
|
3427
|
-
children: /* @__PURE__ */
|
|
3428
|
-
/* @__PURE__ */
|
|
3429
|
-
/* @__PURE__ */
|
|
3430
|
-
/* @__PURE__ */
|
|
3431
|
-
/* @__PURE__ */
|
|
3432
|
-
/* @__PURE__ */
|
|
3550
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "mx-auto max-w-md", children: [
|
|
3551
|
+
/* @__PURE__ */ jsx42("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
|
|
3552
|
+
/* @__PURE__ */ jsx42("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
|
|
3553
|
+
/* @__PURE__ */ jsxs23("div", { className: "mt-3 flex gap-2", children: [
|
|
3554
|
+
/* @__PURE__ */ jsx42(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
|
|
3555
|
+
/* @__PURE__ */ jsx42(
|
|
3433
3556
|
Button,
|
|
3434
3557
|
{
|
|
3435
3558
|
size: "sm",
|
|
@@ -3448,16 +3571,16 @@ var InstallPrompt = React39.forwardRef(
|
|
|
3448
3571
|
InstallPrompt.displayName = "InstallPrompt";
|
|
3449
3572
|
|
|
3450
3573
|
// src/components/pull-to-refresh/pull-to-refresh.tsx
|
|
3451
|
-
import * as
|
|
3452
|
-
import { jsx as
|
|
3453
|
-
var PullToRefresh =
|
|
3574
|
+
import * as React41 from "react";
|
|
3575
|
+
import { jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3576
|
+
var PullToRefresh = React41.forwardRef(
|
|
3454
3577
|
({ className, onRefresh, threshold = 80, disabled = false, children, ...props }, ref) => {
|
|
3455
|
-
const [pullDistance, setPullDistance] =
|
|
3456
|
-
const [isRefreshing, setIsRefreshing] =
|
|
3457
|
-
const startYRef =
|
|
3458
|
-
const containerRef =
|
|
3459
|
-
|
|
3460
|
-
const handleTouchStart =
|
|
3578
|
+
const [pullDistance, setPullDistance] = React41.useState(0);
|
|
3579
|
+
const [isRefreshing, setIsRefreshing] = React41.useState(false);
|
|
3580
|
+
const startYRef = React41.useRef(0);
|
|
3581
|
+
const containerRef = React41.useRef(null);
|
|
3582
|
+
React41.useImperativeHandle(ref, () => containerRef.current);
|
|
3583
|
+
const handleTouchStart = React41.useCallback(
|
|
3461
3584
|
(e) => {
|
|
3462
3585
|
if (disabled || isRefreshing) return;
|
|
3463
3586
|
const container = containerRef.current;
|
|
@@ -3467,7 +3590,7 @@ var PullToRefresh = React40.forwardRef(
|
|
|
3467
3590
|
},
|
|
3468
3591
|
[disabled, isRefreshing]
|
|
3469
3592
|
);
|
|
3470
|
-
const handleTouchMove =
|
|
3593
|
+
const handleTouchMove = React41.useCallback(
|
|
3471
3594
|
(e) => {
|
|
3472
3595
|
if (disabled || isRefreshing || startYRef.current === 0) return;
|
|
3473
3596
|
const distance = Math.max(
|
|
@@ -3480,7 +3603,7 @@ var PullToRefresh = React40.forwardRef(
|
|
|
3480
3603
|
},
|
|
3481
3604
|
[disabled, isRefreshing, threshold]
|
|
3482
3605
|
);
|
|
3483
|
-
const handleTouchEnd =
|
|
3606
|
+
const handleTouchEnd = React41.useCallback(async () => {
|
|
3484
3607
|
if (disabled || isRefreshing) return;
|
|
3485
3608
|
if (pullDistance >= threshold) {
|
|
3486
3609
|
setIsRefreshing(true);
|
|
@@ -3495,7 +3618,7 @@ var PullToRefresh = React40.forwardRef(
|
|
|
3495
3618
|
}, [disabled, isRefreshing, pullDistance, threshold, onRefresh]);
|
|
3496
3619
|
const indicatorOpacity = Math.min(pullDistance / threshold, 1);
|
|
3497
3620
|
const shouldTrigger = pullDistance >= threshold;
|
|
3498
|
-
return /* @__PURE__ */
|
|
3621
|
+
return /* @__PURE__ */ jsxs24(
|
|
3499
3622
|
"div",
|
|
3500
3623
|
{
|
|
3501
3624
|
ref: containerRef,
|
|
@@ -3505,18 +3628,18 @@ var PullToRefresh = React40.forwardRef(
|
|
|
3505
3628
|
onTouchEnd: handleTouchEnd,
|
|
3506
3629
|
...props,
|
|
3507
3630
|
children: [
|
|
3508
|
-
/* @__PURE__ */
|
|
3631
|
+
/* @__PURE__ */ jsx43(
|
|
3509
3632
|
"div",
|
|
3510
3633
|
{
|
|
3511
3634
|
className: "flex items-center justify-center overflow-hidden transition-[height] duration-normal",
|
|
3512
3635
|
style: { height: isRefreshing ? threshold * 0.6 : pullDistance },
|
|
3513
3636
|
"aria-hidden": "true",
|
|
3514
|
-
children: /* @__PURE__ */
|
|
3637
|
+
children: /* @__PURE__ */ jsx43(
|
|
3515
3638
|
"div",
|
|
3516
3639
|
{
|
|
3517
3640
|
className: "transition-opacity",
|
|
3518
3641
|
style: { opacity: isRefreshing ? 1 : indicatorOpacity },
|
|
3519
|
-
children: isRefreshing ? /* @__PURE__ */
|
|
3642
|
+
children: isRefreshing ? /* @__PURE__ */ jsx43(Spinner, { size: "sm" }) : /* @__PURE__ */ jsxs24(
|
|
3520
3643
|
"svg",
|
|
3521
3644
|
{
|
|
3522
3645
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -3533,8 +3656,8 @@ var PullToRefresh = React40.forwardRef(
|
|
|
3533
3656
|
shouldTrigger && "rotate-180 text-primary-500"
|
|
3534
3657
|
),
|
|
3535
3658
|
children: [
|
|
3536
|
-
/* @__PURE__ */
|
|
3537
|
-
/* @__PURE__ */
|
|
3659
|
+
/* @__PURE__ */ jsx43("path", { d: "M12 5v14" }),
|
|
3660
|
+
/* @__PURE__ */ jsx43("path", { d: "m19 12-7 7-7-7" })
|
|
3538
3661
|
]
|
|
3539
3662
|
}
|
|
3540
3663
|
)
|
|
@@ -3558,7 +3681,9 @@ export {
|
|
|
3558
3681
|
AppShellSidebar,
|
|
3559
3682
|
Avatar,
|
|
3560
3683
|
AvatarFallback,
|
|
3684
|
+
AvatarGroup,
|
|
3561
3685
|
AvatarImage,
|
|
3686
|
+
AvatarStatus,
|
|
3562
3687
|
BREAKPOINTS,
|
|
3563
3688
|
Badge,
|
|
3564
3689
|
BottomNavigation,
|