@codapet/design-system 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +67 -31
- package/dist/index.mjs +1069 -729
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -5
package/dist/index.mjs
CHANGED
|
@@ -330,15 +330,124 @@ function AspectRatio({
|
|
|
330
330
|
return /* @__PURE__ */ jsx5(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
+
// src/components/ui/auto-resize-textarea.tsx
|
|
334
|
+
import * as React6 from "react";
|
|
335
|
+
|
|
336
|
+
// src/components/ui/textarea.tsx
|
|
337
|
+
import * as React5 from "react";
|
|
338
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
339
|
+
var textareaBaseStyles = [
|
|
340
|
+
// Base styles aligned with Input
|
|
341
|
+
"placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
342
|
+
"flex w-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-all duration-400",
|
|
343
|
+
"outline-none font-sans",
|
|
344
|
+
// Disabled
|
|
345
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
346
|
+
// Responsive text size
|
|
347
|
+
"md:text-sm",
|
|
348
|
+
// Default state
|
|
349
|
+
"border-zinc-300 bg-background",
|
|
350
|
+
// Hover/Focus/Active states
|
|
351
|
+
"hover:border-brand-normal",
|
|
352
|
+
"focus:border-blue-500",
|
|
353
|
+
"active:border-brand-normal",
|
|
354
|
+
// Textarea specific
|
|
355
|
+
"field-sizing-content min-h-16 resize-y px-3 py-2"
|
|
356
|
+
].join(" ");
|
|
357
|
+
var errorStyles = [
|
|
358
|
+
"border-destructive bg-red-subtle",
|
|
359
|
+
"focus:border-destructive focus:ring-destructive/20",
|
|
360
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
361
|
+
].join(" ");
|
|
362
|
+
var Textarea = React5.forwardRef(
|
|
363
|
+
({ className, error, ...props }, ref) => {
|
|
364
|
+
return /* @__PURE__ */ jsx6(
|
|
365
|
+
"textarea",
|
|
366
|
+
{
|
|
367
|
+
"data-slot": "textarea",
|
|
368
|
+
className: cn(textareaBaseStyles, error && errorStyles, className),
|
|
369
|
+
"aria-invalid": error,
|
|
370
|
+
ref,
|
|
371
|
+
...props
|
|
372
|
+
}
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
);
|
|
376
|
+
Textarea.displayName = "Textarea";
|
|
377
|
+
|
|
378
|
+
// src/components/ui/auto-resize-textarea.tsx
|
|
379
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
380
|
+
var AutoResizeTextarea = React6.forwardRef(
|
|
381
|
+
({
|
|
382
|
+
className,
|
|
383
|
+
style,
|
|
384
|
+
onInput,
|
|
385
|
+
onChange,
|
|
386
|
+
maxHeight,
|
|
387
|
+
minHeight = 120,
|
|
388
|
+
value,
|
|
389
|
+
...props
|
|
390
|
+
}, forwardedRef) => {
|
|
391
|
+
const innerRef = React6.useRef(null);
|
|
392
|
+
const setRefs = React6.useCallback(
|
|
393
|
+
(node) => {
|
|
394
|
+
innerRef.current = node;
|
|
395
|
+
if (typeof forwardedRef === "function") forwardedRef(node);
|
|
396
|
+
else if (forwardedRef) forwardedRef.current = node;
|
|
397
|
+
},
|
|
398
|
+
[forwardedRef]
|
|
399
|
+
);
|
|
400
|
+
const resize = React6.useCallback(() => {
|
|
401
|
+
const el = innerRef.current;
|
|
402
|
+
if (!el) return;
|
|
403
|
+
el.style.height = "auto";
|
|
404
|
+
const nextHeight = Math.max(minHeight, el.scrollHeight);
|
|
405
|
+
if (maxHeight && nextHeight > maxHeight) {
|
|
406
|
+
el.style.height = `${maxHeight}px`;
|
|
407
|
+
el.style.overflowY = "auto";
|
|
408
|
+
} else {
|
|
409
|
+
el.style.height = `${nextHeight}px`;
|
|
410
|
+
el.style.overflowY = "hidden";
|
|
411
|
+
}
|
|
412
|
+
}, [maxHeight, minHeight]);
|
|
413
|
+
React6.useLayoutEffect(() => {
|
|
414
|
+
resize();
|
|
415
|
+
}, [resize, value]);
|
|
416
|
+
return /* @__PURE__ */ jsx7(
|
|
417
|
+
Textarea,
|
|
418
|
+
{
|
|
419
|
+
...props,
|
|
420
|
+
ref: setRefs,
|
|
421
|
+
value,
|
|
422
|
+
onInput: (e) => {
|
|
423
|
+
resize();
|
|
424
|
+
onInput?.(e);
|
|
425
|
+
},
|
|
426
|
+
onChange: (e) => {
|
|
427
|
+
onChange?.(e);
|
|
428
|
+
},
|
|
429
|
+
className: cn("resize-none", className),
|
|
430
|
+
style: {
|
|
431
|
+
...style,
|
|
432
|
+
minHeight,
|
|
433
|
+
height: style?.height ?? "auto",
|
|
434
|
+
overflowY: style?.overflowY ?? "hidden"
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
);
|
|
438
|
+
}
|
|
439
|
+
);
|
|
440
|
+
AutoResizeTextarea.displayName = "AutoResizeTextarea";
|
|
441
|
+
|
|
333
442
|
// src/components/ui/avatar.tsx
|
|
334
443
|
import "react";
|
|
335
444
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
336
|
-
import { jsx as
|
|
445
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
337
446
|
function Avatar({
|
|
338
447
|
className,
|
|
339
448
|
...props
|
|
340
449
|
}) {
|
|
341
|
-
return /* @__PURE__ */
|
|
450
|
+
return /* @__PURE__ */ jsx8(
|
|
342
451
|
AvatarPrimitive.Root,
|
|
343
452
|
{
|
|
344
453
|
"data-slot": "avatar",
|
|
@@ -354,7 +463,7 @@ function AvatarImage({
|
|
|
354
463
|
className,
|
|
355
464
|
...props
|
|
356
465
|
}) {
|
|
357
|
-
return /* @__PURE__ */
|
|
466
|
+
return /* @__PURE__ */ jsx8(
|
|
358
467
|
AvatarPrimitive.Image,
|
|
359
468
|
{
|
|
360
469
|
"data-slot": "avatar-image",
|
|
@@ -367,7 +476,7 @@ function AvatarFallback({
|
|
|
367
476
|
className,
|
|
368
477
|
...props
|
|
369
478
|
}) {
|
|
370
|
-
return /* @__PURE__ */
|
|
479
|
+
return /* @__PURE__ */ jsx8(
|
|
371
480
|
AvatarPrimitive.Fallback,
|
|
372
481
|
{
|
|
373
482
|
"data-slot": "avatar-fallback",
|
|
@@ -384,7 +493,7 @@ function AvatarFallback({
|
|
|
384
493
|
import "react";
|
|
385
494
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
386
495
|
import { cva as cva3 } from "class-variance-authority";
|
|
387
|
-
import { jsx as
|
|
496
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
388
497
|
var badgeVariants = cva3(
|
|
389
498
|
"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
390
499
|
{
|
|
@@ -408,7 +517,7 @@ function Badge({
|
|
|
408
517
|
...props
|
|
409
518
|
}) {
|
|
410
519
|
const Comp = asChild ? Slot2 : "span";
|
|
411
|
-
return /* @__PURE__ */
|
|
520
|
+
return /* @__PURE__ */ jsx9(
|
|
412
521
|
Comp,
|
|
413
522
|
{
|
|
414
523
|
"data-slot": "badge",
|
|
@@ -422,12 +531,12 @@ function Badge({
|
|
|
422
531
|
import "react";
|
|
423
532
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
424
533
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
425
|
-
import { jsx as
|
|
534
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
426
535
|
function Breadcrumb({ ...props }) {
|
|
427
|
-
return /* @__PURE__ */
|
|
536
|
+
return /* @__PURE__ */ jsx10("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
428
537
|
}
|
|
429
538
|
function BreadcrumbList({ className, ...props }) {
|
|
430
|
-
return /* @__PURE__ */
|
|
539
|
+
return /* @__PURE__ */ jsx10(
|
|
431
540
|
"ol",
|
|
432
541
|
{
|
|
433
542
|
"data-slot": "breadcrumb-list",
|
|
@@ -440,7 +549,7 @@ function BreadcrumbList({ className, ...props }) {
|
|
|
440
549
|
);
|
|
441
550
|
}
|
|
442
551
|
function BreadcrumbItem({ className, ...props }) {
|
|
443
|
-
return /* @__PURE__ */
|
|
552
|
+
return /* @__PURE__ */ jsx10(
|
|
444
553
|
"li",
|
|
445
554
|
{
|
|
446
555
|
"data-slot": "breadcrumb-item",
|
|
@@ -455,7 +564,7 @@ function BreadcrumbLink({
|
|
|
455
564
|
...props
|
|
456
565
|
}) {
|
|
457
566
|
const Comp = asChild ? Slot3 : "a";
|
|
458
|
-
return /* @__PURE__ */
|
|
567
|
+
return /* @__PURE__ */ jsx10(
|
|
459
568
|
Comp,
|
|
460
569
|
{
|
|
461
570
|
"data-slot": "breadcrumb-link",
|
|
@@ -465,7 +574,7 @@ function BreadcrumbLink({
|
|
|
465
574
|
);
|
|
466
575
|
}
|
|
467
576
|
function BreadcrumbPage({ className, ...props }) {
|
|
468
|
-
return /* @__PURE__ */
|
|
577
|
+
return /* @__PURE__ */ jsx10(
|
|
469
578
|
"span",
|
|
470
579
|
{
|
|
471
580
|
"data-slot": "breadcrumb-page",
|
|
@@ -482,7 +591,7 @@ function BreadcrumbSeparator({
|
|
|
482
591
|
className,
|
|
483
592
|
...props
|
|
484
593
|
}) {
|
|
485
|
-
return /* @__PURE__ */
|
|
594
|
+
return /* @__PURE__ */ jsx10(
|
|
486
595
|
"li",
|
|
487
596
|
{
|
|
488
597
|
"data-slot": "breadcrumb-separator",
|
|
@@ -490,7 +599,7 @@ function BreadcrumbSeparator({
|
|
|
490
599
|
"aria-hidden": "true",
|
|
491
600
|
className: cn("[&>svg]:size-3.5", className),
|
|
492
601
|
...props,
|
|
493
|
-
children: children ?? /* @__PURE__ */
|
|
602
|
+
children: children ?? /* @__PURE__ */ jsx10(ChevronRight, {})
|
|
494
603
|
}
|
|
495
604
|
);
|
|
496
605
|
}
|
|
@@ -507,22 +616,22 @@ function BreadcrumbEllipsis({
|
|
|
507
616
|
className: cn("flex size-9 items-center justify-center", className),
|
|
508
617
|
...props,
|
|
509
618
|
children: [
|
|
510
|
-
/* @__PURE__ */
|
|
511
|
-
/* @__PURE__ */
|
|
619
|
+
/* @__PURE__ */ jsx10(MoreHorizontal, { className: "size-4" }),
|
|
620
|
+
/* @__PURE__ */ jsx10("span", { className: "sr-only", children: "More" })
|
|
512
621
|
]
|
|
513
622
|
}
|
|
514
623
|
);
|
|
515
624
|
}
|
|
516
625
|
|
|
517
626
|
// src/components/ui/calendar.tsx
|
|
518
|
-
import * as
|
|
627
|
+
import * as React10 from "react";
|
|
519
628
|
import {
|
|
520
629
|
ChevronDownIcon as ChevronDownIcon2,
|
|
521
630
|
ChevronLeftIcon,
|
|
522
631
|
ChevronRightIcon
|
|
523
632
|
} from "lucide-react";
|
|
524
633
|
import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
525
|
-
import { jsx as
|
|
634
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
526
635
|
function Calendar({
|
|
527
636
|
className,
|
|
528
637
|
classNames,
|
|
@@ -534,7 +643,7 @@ function Calendar({
|
|
|
534
643
|
...props
|
|
535
644
|
}) {
|
|
536
645
|
const defaultClassNames = getDefaultClassNames();
|
|
537
|
-
return /* @__PURE__ */
|
|
646
|
+
return /* @__PURE__ */ jsx11(
|
|
538
647
|
DayPicker,
|
|
539
648
|
{
|
|
540
649
|
showOutsideDays,
|
|
@@ -633,7 +742,7 @@ function Calendar({
|
|
|
633
742
|
},
|
|
634
743
|
components: {
|
|
635
744
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
636
|
-
return /* @__PURE__ */
|
|
745
|
+
return /* @__PURE__ */ jsx11(
|
|
637
746
|
"div",
|
|
638
747
|
{
|
|
639
748
|
"data-slot": "calendar",
|
|
@@ -645,10 +754,10 @@ function Calendar({
|
|
|
645
754
|
},
|
|
646
755
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
647
756
|
if (orientation === "left") {
|
|
648
|
-
return /* @__PURE__ */
|
|
757
|
+
return /* @__PURE__ */ jsx11(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
|
|
649
758
|
}
|
|
650
759
|
if (orientation === "right") {
|
|
651
|
-
return /* @__PURE__ */
|
|
760
|
+
return /* @__PURE__ */ jsx11(
|
|
652
761
|
ChevronRightIcon,
|
|
653
762
|
{
|
|
654
763
|
className: cn("size-4", className2),
|
|
@@ -656,11 +765,11 @@ function Calendar({
|
|
|
656
765
|
}
|
|
657
766
|
);
|
|
658
767
|
}
|
|
659
|
-
return /* @__PURE__ */
|
|
768
|
+
return /* @__PURE__ */ jsx11(ChevronDownIcon2, { className: cn("size-4", className2), ...props2 });
|
|
660
769
|
},
|
|
661
770
|
DayButton: CalendarDayButton,
|
|
662
771
|
WeekNumber: ({ children, ...props2 }) => {
|
|
663
|
-
return /* @__PURE__ */
|
|
772
|
+
return /* @__PURE__ */ jsx11("td", { ...props2, children: /* @__PURE__ */ jsx11("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
664
773
|
},
|
|
665
774
|
...components
|
|
666
775
|
},
|
|
@@ -675,11 +784,11 @@ function CalendarDayButton({
|
|
|
675
784
|
...props
|
|
676
785
|
}) {
|
|
677
786
|
const defaultClassNames = getDefaultClassNames();
|
|
678
|
-
const ref =
|
|
679
|
-
|
|
787
|
+
const ref = React10.useRef(null);
|
|
788
|
+
React10.useEffect(() => {
|
|
680
789
|
if (modifiers.focused) ref.current?.focus();
|
|
681
790
|
}, [modifiers.focused]);
|
|
682
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ jsx11(
|
|
683
792
|
Button,
|
|
684
793
|
{
|
|
685
794
|
ref,
|
|
@@ -702,9 +811,9 @@ function CalendarDayButton({
|
|
|
702
811
|
|
|
703
812
|
// src/components/ui/card.tsx
|
|
704
813
|
import "react";
|
|
705
|
-
import { jsx as
|
|
814
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
706
815
|
function Card({ className, ...props }) {
|
|
707
|
-
return /* @__PURE__ */
|
|
816
|
+
return /* @__PURE__ */ jsx12(
|
|
708
817
|
"div",
|
|
709
818
|
{
|
|
710
819
|
"data-slot": "card",
|
|
@@ -717,7 +826,7 @@ function Card({ className, ...props }) {
|
|
|
717
826
|
);
|
|
718
827
|
}
|
|
719
828
|
function CardHeader({ className, ...props }) {
|
|
720
|
-
return /* @__PURE__ */
|
|
829
|
+
return /* @__PURE__ */ jsx12(
|
|
721
830
|
"div",
|
|
722
831
|
{
|
|
723
832
|
"data-slot": "card-header",
|
|
@@ -730,7 +839,7 @@ function CardHeader({ className, ...props }) {
|
|
|
730
839
|
);
|
|
731
840
|
}
|
|
732
841
|
function CardTitle({ className, ...props }) {
|
|
733
|
-
return /* @__PURE__ */
|
|
842
|
+
return /* @__PURE__ */ jsx12(
|
|
734
843
|
"div",
|
|
735
844
|
{
|
|
736
845
|
"data-slot": "card-title",
|
|
@@ -740,7 +849,7 @@ function CardTitle({ className, ...props }) {
|
|
|
740
849
|
);
|
|
741
850
|
}
|
|
742
851
|
function CardDescription({ className, ...props }) {
|
|
743
|
-
return /* @__PURE__ */
|
|
852
|
+
return /* @__PURE__ */ jsx12(
|
|
744
853
|
"div",
|
|
745
854
|
{
|
|
746
855
|
"data-slot": "card-description",
|
|
@@ -750,7 +859,7 @@ function CardDescription({ className, ...props }) {
|
|
|
750
859
|
);
|
|
751
860
|
}
|
|
752
861
|
function CardAction({ className, ...props }) {
|
|
753
|
-
return /* @__PURE__ */
|
|
862
|
+
return /* @__PURE__ */ jsx12(
|
|
754
863
|
"div",
|
|
755
864
|
{
|
|
756
865
|
"data-slot": "card-action",
|
|
@@ -763,7 +872,7 @@ function CardAction({ className, ...props }) {
|
|
|
763
872
|
);
|
|
764
873
|
}
|
|
765
874
|
function CardContent({ className, ...props }) {
|
|
766
|
-
return /* @__PURE__ */
|
|
875
|
+
return /* @__PURE__ */ jsx12(
|
|
767
876
|
"div",
|
|
768
877
|
{
|
|
769
878
|
"data-slot": "card-content",
|
|
@@ -773,7 +882,7 @@ function CardContent({ className, ...props }) {
|
|
|
773
882
|
);
|
|
774
883
|
}
|
|
775
884
|
function CardFooter({ className, ...props }) {
|
|
776
|
-
return /* @__PURE__ */
|
|
885
|
+
return /* @__PURE__ */ jsx12(
|
|
777
886
|
"div",
|
|
778
887
|
{
|
|
779
888
|
"data-slot": "card-footer",
|
|
@@ -784,13 +893,13 @@ function CardFooter({ className, ...props }) {
|
|
|
784
893
|
}
|
|
785
894
|
|
|
786
895
|
// src/components/ui/carousel.tsx
|
|
787
|
-
import * as
|
|
896
|
+
import * as React12 from "react";
|
|
788
897
|
import useEmblaCarousel from "embla-carousel-react";
|
|
789
898
|
import { ArrowLeft, ArrowRight } from "lucide-react";
|
|
790
|
-
import { jsx as
|
|
791
|
-
var CarouselContext =
|
|
899
|
+
import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
900
|
+
var CarouselContext = React12.createContext(null);
|
|
792
901
|
function useCarousel() {
|
|
793
|
-
const context =
|
|
902
|
+
const context = React12.useContext(CarouselContext);
|
|
794
903
|
if (!context) {
|
|
795
904
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
796
905
|
}
|
|
@@ -812,20 +921,20 @@ function Carousel({
|
|
|
812
921
|
},
|
|
813
922
|
plugins
|
|
814
923
|
);
|
|
815
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
816
|
-
const [canScrollNext, setCanScrollNext] =
|
|
817
|
-
const onSelect =
|
|
924
|
+
const [canScrollPrev, setCanScrollPrev] = React12.useState(false);
|
|
925
|
+
const [canScrollNext, setCanScrollNext] = React12.useState(false);
|
|
926
|
+
const onSelect = React12.useCallback((api2) => {
|
|
818
927
|
if (!api2) return;
|
|
819
928
|
setCanScrollPrev(api2.canScrollPrev());
|
|
820
929
|
setCanScrollNext(api2.canScrollNext());
|
|
821
930
|
}, []);
|
|
822
|
-
const scrollPrev =
|
|
931
|
+
const scrollPrev = React12.useCallback(() => {
|
|
823
932
|
api?.scrollPrev();
|
|
824
933
|
}, [api]);
|
|
825
|
-
const scrollNext =
|
|
934
|
+
const scrollNext = React12.useCallback(() => {
|
|
826
935
|
api?.scrollNext();
|
|
827
936
|
}, [api]);
|
|
828
|
-
const handleKeyDown =
|
|
937
|
+
const handleKeyDown = React12.useCallback(
|
|
829
938
|
(event) => {
|
|
830
939
|
if (event.key === "ArrowLeft") {
|
|
831
940
|
event.preventDefault();
|
|
@@ -837,11 +946,11 @@ function Carousel({
|
|
|
837
946
|
},
|
|
838
947
|
[scrollPrev, scrollNext]
|
|
839
948
|
);
|
|
840
|
-
|
|
949
|
+
React12.useEffect(() => {
|
|
841
950
|
if (!api || !setApi) return;
|
|
842
951
|
setApi(api);
|
|
843
952
|
}, [api, setApi]);
|
|
844
|
-
|
|
953
|
+
React12.useEffect(() => {
|
|
845
954
|
if (!api) return;
|
|
846
955
|
onSelect(api);
|
|
847
956
|
api.on("reInit", onSelect);
|
|
@@ -850,7 +959,7 @@ function Carousel({
|
|
|
850
959
|
api?.off("select", onSelect);
|
|
851
960
|
};
|
|
852
961
|
}, [api, onSelect]);
|
|
853
|
-
return /* @__PURE__ */
|
|
962
|
+
return /* @__PURE__ */ jsx13(
|
|
854
963
|
CarouselContext.Provider,
|
|
855
964
|
{
|
|
856
965
|
value: {
|
|
@@ -863,7 +972,7 @@ function Carousel({
|
|
|
863
972
|
canScrollPrev,
|
|
864
973
|
canScrollNext
|
|
865
974
|
},
|
|
866
|
-
children: /* @__PURE__ */
|
|
975
|
+
children: /* @__PURE__ */ jsx13(
|
|
867
976
|
"div",
|
|
868
977
|
{
|
|
869
978
|
onKeyDownCapture: handleKeyDown,
|
|
@@ -880,13 +989,13 @@ function Carousel({
|
|
|
880
989
|
}
|
|
881
990
|
function CarouselContent({ className, ...props }) {
|
|
882
991
|
const { carouselRef, orientation } = useCarousel();
|
|
883
|
-
return /* @__PURE__ */
|
|
992
|
+
return /* @__PURE__ */ jsx13(
|
|
884
993
|
"div",
|
|
885
994
|
{
|
|
886
995
|
ref: carouselRef,
|
|
887
996
|
className: "overflow-hidden",
|
|
888
997
|
"data-slot": "carousel-content",
|
|
889
|
-
children: /* @__PURE__ */
|
|
998
|
+
children: /* @__PURE__ */ jsx13(
|
|
890
999
|
"div",
|
|
891
1000
|
{
|
|
892
1001
|
className: cn(
|
|
@@ -902,7 +1011,7 @@ function CarouselContent({ className, ...props }) {
|
|
|
902
1011
|
}
|
|
903
1012
|
function CarouselItem({ className, ...props }) {
|
|
904
1013
|
const { orientation } = useCarousel();
|
|
905
|
-
return /* @__PURE__ */
|
|
1014
|
+
return /* @__PURE__ */ jsx13(
|
|
906
1015
|
"div",
|
|
907
1016
|
{
|
|
908
1017
|
role: "group",
|
|
@@ -939,8 +1048,8 @@ function CarouselPrevious({
|
|
|
939
1048
|
onClick: scrollPrev,
|
|
940
1049
|
...props,
|
|
941
1050
|
children: [
|
|
942
|
-
/* @__PURE__ */
|
|
943
|
-
/* @__PURE__ */
|
|
1051
|
+
/* @__PURE__ */ jsx13(ArrowLeft, {}),
|
|
1052
|
+
/* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Previous slide" })
|
|
944
1053
|
]
|
|
945
1054
|
}
|
|
946
1055
|
);
|
|
@@ -967,21 +1076,21 @@ function CarouselNext({
|
|
|
967
1076
|
onClick: scrollNext,
|
|
968
1077
|
...props,
|
|
969
1078
|
children: [
|
|
970
|
-
/* @__PURE__ */
|
|
971
|
-
/* @__PURE__ */
|
|
1079
|
+
/* @__PURE__ */ jsx13(ArrowRight, {}),
|
|
1080
|
+
/* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Next slide" })
|
|
972
1081
|
]
|
|
973
1082
|
}
|
|
974
1083
|
);
|
|
975
1084
|
}
|
|
976
1085
|
|
|
977
1086
|
// src/components/ui/chart.tsx
|
|
978
|
-
import * as
|
|
1087
|
+
import * as React13 from "react";
|
|
979
1088
|
import * as RechartsPrimitive from "recharts";
|
|
980
|
-
import { Fragment, jsx as
|
|
1089
|
+
import { Fragment, jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
981
1090
|
var THEMES = { light: "", dark: ".dark" };
|
|
982
|
-
var ChartContext =
|
|
1091
|
+
var ChartContext = React13.createContext(null);
|
|
983
1092
|
function useChart() {
|
|
984
|
-
const context =
|
|
1093
|
+
const context = React13.useContext(ChartContext);
|
|
985
1094
|
if (!context) {
|
|
986
1095
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
987
1096
|
}
|
|
@@ -994,9 +1103,9 @@ function ChartContainer({
|
|
|
994
1103
|
config,
|
|
995
1104
|
...props
|
|
996
1105
|
}) {
|
|
997
|
-
const uniqueId =
|
|
1106
|
+
const uniqueId = React13.useId();
|
|
998
1107
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
999
|
-
return /* @__PURE__ */
|
|
1108
|
+
return /* @__PURE__ */ jsx14(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs5(
|
|
1000
1109
|
"div",
|
|
1001
1110
|
{
|
|
1002
1111
|
"data-slot": "chart",
|
|
@@ -1007,8 +1116,8 @@ function ChartContainer({
|
|
|
1007
1116
|
),
|
|
1008
1117
|
...props,
|
|
1009
1118
|
children: [
|
|
1010
|
-
/* @__PURE__ */
|
|
1011
|
-
/* @__PURE__ */
|
|
1119
|
+
/* @__PURE__ */ jsx14(ChartStyle, { id: chartId, config }),
|
|
1120
|
+
/* @__PURE__ */ jsx14(RechartsPrimitive.ResponsiveContainer, { children })
|
|
1012
1121
|
]
|
|
1013
1122
|
}
|
|
1014
1123
|
) });
|
|
@@ -1020,7 +1129,7 @@ var ChartStyle = ({ id, config }) => {
|
|
|
1020
1129
|
if (!colorConfig.length) {
|
|
1021
1130
|
return null;
|
|
1022
1131
|
}
|
|
1023
|
-
return /* @__PURE__ */
|
|
1132
|
+
return /* @__PURE__ */ jsx14(
|
|
1024
1133
|
"style",
|
|
1025
1134
|
{
|
|
1026
1135
|
dangerouslySetInnerHTML: {
|
|
@@ -1055,7 +1164,7 @@ function ChartTooltipContent({
|
|
|
1055
1164
|
labelKey
|
|
1056
1165
|
}) {
|
|
1057
1166
|
const { config } = useChart();
|
|
1058
|
-
const tooltipLabel =
|
|
1167
|
+
const tooltipLabel = React13.useMemo(() => {
|
|
1059
1168
|
if (hideLabel || !payload?.length) {
|
|
1060
1169
|
return null;
|
|
1061
1170
|
}
|
|
@@ -1064,12 +1173,12 @@ function ChartTooltipContent({
|
|
|
1064
1173
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1065
1174
|
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
1066
1175
|
if (labelFormatter) {
|
|
1067
|
-
return /* @__PURE__ */
|
|
1176
|
+
return /* @__PURE__ */ jsx14("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
1068
1177
|
}
|
|
1069
1178
|
if (!value) {
|
|
1070
1179
|
return null;
|
|
1071
1180
|
}
|
|
1072
|
-
return /* @__PURE__ */
|
|
1181
|
+
return /* @__PURE__ */ jsx14("div", { className: cn("font-medium", labelClassName), children: value });
|
|
1073
1182
|
}, [
|
|
1074
1183
|
label,
|
|
1075
1184
|
labelFormatter,
|
|
@@ -1092,11 +1201,11 @@ function ChartTooltipContent({
|
|
|
1092
1201
|
),
|
|
1093
1202
|
children: [
|
|
1094
1203
|
!nestLabel ? tooltipLabel : null,
|
|
1095
|
-
/* @__PURE__ */
|
|
1204
|
+
/* @__PURE__ */ jsx14("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
1096
1205
|
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
1097
1206
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1098
1207
|
const indicatorColor = color || item.payload.fill || item.color;
|
|
1099
|
-
return /* @__PURE__ */
|
|
1208
|
+
return /* @__PURE__ */ jsx14(
|
|
1100
1209
|
"div",
|
|
1101
1210
|
{
|
|
1102
1211
|
className: cn(
|
|
@@ -1104,7 +1213,7 @@ function ChartTooltipContent({
|
|
|
1104
1213
|
indicator === "dot" && "items-center"
|
|
1105
1214
|
),
|
|
1106
1215
|
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
1107
|
-
itemConfig?.icon ? /* @__PURE__ */
|
|
1216
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx14(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx14(
|
|
1108
1217
|
"div",
|
|
1109
1218
|
{
|
|
1110
1219
|
className: cn(
|
|
@@ -1132,9 +1241,9 @@ function ChartTooltipContent({
|
|
|
1132
1241
|
children: [
|
|
1133
1242
|
/* @__PURE__ */ jsxs5("div", { className: "grid gap-1.5", children: [
|
|
1134
1243
|
nestLabel ? tooltipLabel : null,
|
|
1135
|
-
/* @__PURE__ */
|
|
1244
|
+
/* @__PURE__ */ jsx14("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
1136
1245
|
] }),
|
|
1137
|
-
item.value && /* @__PURE__ */
|
|
1246
|
+
item.value && /* @__PURE__ */ jsx14("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
|
|
1138
1247
|
]
|
|
1139
1248
|
}
|
|
1140
1249
|
)
|
|
@@ -1159,7 +1268,7 @@ function ChartLegendContent({
|
|
|
1159
1268
|
if (!payload?.length) {
|
|
1160
1269
|
return null;
|
|
1161
1270
|
}
|
|
1162
|
-
return /* @__PURE__ */
|
|
1271
|
+
return /* @__PURE__ */ jsx14(
|
|
1163
1272
|
"div",
|
|
1164
1273
|
{
|
|
1165
1274
|
className: cn(
|
|
@@ -1177,7 +1286,7 @@ function ChartLegendContent({
|
|
|
1177
1286
|
"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
|
|
1178
1287
|
),
|
|
1179
1288
|
children: [
|
|
1180
|
-
itemConfig?.icon && !hideIcon ? /* @__PURE__ */
|
|
1289
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx14(itemConfig.icon, {}) : /* @__PURE__ */ jsx14(
|
|
1181
1290
|
"div",
|
|
1182
1291
|
{
|
|
1183
1292
|
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
@@ -1213,12 +1322,12 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
1213
1322
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1214
1323
|
import { Check } from "lucide-react";
|
|
1215
1324
|
import "react";
|
|
1216
|
-
import { jsx as
|
|
1325
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1217
1326
|
function Checkbox({
|
|
1218
1327
|
className,
|
|
1219
1328
|
...props
|
|
1220
1329
|
}) {
|
|
1221
|
-
return /* @__PURE__ */
|
|
1330
|
+
return /* @__PURE__ */ jsx15(
|
|
1222
1331
|
CheckboxPrimitive.Root,
|
|
1223
1332
|
{
|
|
1224
1333
|
"data-slot": "checkbox",
|
|
@@ -1227,13 +1336,13 @@ function Checkbox({
|
|
|
1227
1336
|
className
|
|
1228
1337
|
),
|
|
1229
1338
|
...props,
|
|
1230
|
-
children: /* @__PURE__ */
|
|
1339
|
+
children: /* @__PURE__ */ jsx15(
|
|
1231
1340
|
CheckboxPrimitive.Indicator,
|
|
1232
1341
|
{
|
|
1233
1342
|
"data-slot": "checkbox-indicator",
|
|
1234
1343
|
forceMount: true,
|
|
1235
1344
|
className: "flex items-center justify-center text-current transition-opacity duration-400 opacity-0 group-data-[state=checked]:opacity-100",
|
|
1236
|
-
children: /* @__PURE__ */
|
|
1345
|
+
children: /* @__PURE__ */ jsx15(Check, { className: "size-3.5" })
|
|
1237
1346
|
}
|
|
1238
1347
|
)
|
|
1239
1348
|
}
|
|
@@ -1242,16 +1351,16 @@ function Checkbox({
|
|
|
1242
1351
|
|
|
1243
1352
|
// src/components/ui/collapsible.tsx
|
|
1244
1353
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1245
|
-
import { jsx as
|
|
1354
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1246
1355
|
function Collapsible({
|
|
1247
1356
|
...props
|
|
1248
1357
|
}) {
|
|
1249
|
-
return /* @__PURE__ */
|
|
1358
|
+
return /* @__PURE__ */ jsx16(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
|
|
1250
1359
|
}
|
|
1251
1360
|
function CollapsibleTrigger2({
|
|
1252
1361
|
...props
|
|
1253
1362
|
}) {
|
|
1254
|
-
return /* @__PURE__ */
|
|
1363
|
+
return /* @__PURE__ */ jsx16(
|
|
1255
1364
|
CollapsiblePrimitive.CollapsibleTrigger,
|
|
1256
1365
|
{
|
|
1257
1366
|
"data-slot": "collapsible-trigger",
|
|
@@ -1262,7 +1371,7 @@ function CollapsibleTrigger2({
|
|
|
1262
1371
|
function CollapsibleContent2({
|
|
1263
1372
|
...props
|
|
1264
1373
|
}) {
|
|
1265
|
-
return /* @__PURE__ */
|
|
1374
|
+
return /* @__PURE__ */ jsx16(
|
|
1266
1375
|
CollapsiblePrimitive.CollapsibleContent,
|
|
1267
1376
|
{
|
|
1268
1377
|
"data-slot": "collapsible-content",
|
|
@@ -1280,32 +1389,32 @@ import { SearchIcon } from "lucide-react";
|
|
|
1280
1389
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
1281
1390
|
import { XIcon } from "lucide-react";
|
|
1282
1391
|
import "react";
|
|
1283
|
-
import { jsx as
|
|
1392
|
+
import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1284
1393
|
function Dialog({
|
|
1285
1394
|
...props
|
|
1286
1395
|
}) {
|
|
1287
|
-
return /* @__PURE__ */
|
|
1396
|
+
return /* @__PURE__ */ jsx17(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
1288
1397
|
}
|
|
1289
1398
|
function DialogTrigger({
|
|
1290
1399
|
...props
|
|
1291
1400
|
}) {
|
|
1292
|
-
return /* @__PURE__ */
|
|
1401
|
+
return /* @__PURE__ */ jsx17(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
1293
1402
|
}
|
|
1294
1403
|
function DialogPortal({
|
|
1295
1404
|
...props
|
|
1296
1405
|
}) {
|
|
1297
|
-
return /* @__PURE__ */
|
|
1406
|
+
return /* @__PURE__ */ jsx17(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
1298
1407
|
}
|
|
1299
1408
|
function DialogClose({
|
|
1300
1409
|
...props
|
|
1301
1410
|
}) {
|
|
1302
|
-
return /* @__PURE__ */
|
|
1411
|
+
return /* @__PURE__ */ jsx17(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
1303
1412
|
}
|
|
1304
1413
|
function DialogOverlay({
|
|
1305
1414
|
className,
|
|
1306
1415
|
...props
|
|
1307
1416
|
}) {
|
|
1308
|
-
return /* @__PURE__ */
|
|
1417
|
+
return /* @__PURE__ */ jsx17(
|
|
1309
1418
|
DialogPrimitive.Overlay,
|
|
1310
1419
|
{
|
|
1311
1420
|
"data-slot": "dialog-overlay",
|
|
@@ -1325,7 +1434,7 @@ function DialogContent({
|
|
|
1325
1434
|
...props
|
|
1326
1435
|
}) {
|
|
1327
1436
|
return /* @__PURE__ */ jsxs6(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
1328
|
-
/* @__PURE__ */
|
|
1437
|
+
/* @__PURE__ */ jsx17(DialogOverlay, { className: overlayClassName }),
|
|
1329
1438
|
/* @__PURE__ */ jsxs6(
|
|
1330
1439
|
DialogPrimitive.Content,
|
|
1331
1440
|
{
|
|
@@ -1343,8 +1452,8 @@ function DialogContent({
|
|
|
1343
1452
|
"data-slot": "dialog-close",
|
|
1344
1453
|
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1345
1454
|
children: [
|
|
1346
|
-
/* @__PURE__ */
|
|
1347
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsx17(XIcon, {}),
|
|
1456
|
+
/* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
|
|
1348
1457
|
]
|
|
1349
1458
|
}
|
|
1350
1459
|
)
|
|
@@ -1354,7 +1463,7 @@ function DialogContent({
|
|
|
1354
1463
|
] });
|
|
1355
1464
|
}
|
|
1356
1465
|
function DialogHeader({ className, ...props }) {
|
|
1357
|
-
return /* @__PURE__ */
|
|
1466
|
+
return /* @__PURE__ */ jsx17(
|
|
1358
1467
|
"div",
|
|
1359
1468
|
{
|
|
1360
1469
|
"data-slot": "dialog-header",
|
|
@@ -1364,7 +1473,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
1364
1473
|
);
|
|
1365
1474
|
}
|
|
1366
1475
|
function DialogFooter({ className, ...props }) {
|
|
1367
|
-
return /* @__PURE__ */
|
|
1476
|
+
return /* @__PURE__ */ jsx17(
|
|
1368
1477
|
"div",
|
|
1369
1478
|
{
|
|
1370
1479
|
"data-slot": "dialog-footer",
|
|
@@ -1380,7 +1489,7 @@ function DialogTitle({
|
|
|
1380
1489
|
className,
|
|
1381
1490
|
...props
|
|
1382
1491
|
}) {
|
|
1383
|
-
return /* @__PURE__ */
|
|
1492
|
+
return /* @__PURE__ */ jsx17(
|
|
1384
1493
|
DialogPrimitive.Title,
|
|
1385
1494
|
{
|
|
1386
1495
|
"data-slot": "dialog-title",
|
|
@@ -1393,7 +1502,7 @@ function DialogDescription({
|
|
|
1393
1502
|
className,
|
|
1394
1503
|
...props
|
|
1395
1504
|
}) {
|
|
1396
|
-
return /* @__PURE__ */
|
|
1505
|
+
return /* @__PURE__ */ jsx17(
|
|
1397
1506
|
DialogPrimitive.Description,
|
|
1398
1507
|
{
|
|
1399
1508
|
"data-slot": "dialog-description",
|
|
@@ -1404,12 +1513,12 @@ function DialogDescription({
|
|
|
1404
1513
|
}
|
|
1405
1514
|
|
|
1406
1515
|
// src/components/ui/command.tsx
|
|
1407
|
-
import { jsx as
|
|
1516
|
+
import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1408
1517
|
function Command({
|
|
1409
1518
|
className,
|
|
1410
1519
|
...props
|
|
1411
1520
|
}) {
|
|
1412
|
-
return /* @__PURE__ */
|
|
1521
|
+
return /* @__PURE__ */ jsx18(
|
|
1413
1522
|
CommandPrimitive,
|
|
1414
1523
|
{
|
|
1415
1524
|
"data-slot": "command",
|
|
@@ -1431,15 +1540,15 @@ function CommandDialog({
|
|
|
1431
1540
|
}) {
|
|
1432
1541
|
return /* @__PURE__ */ jsxs7(Dialog, { ...props, children: [
|
|
1433
1542
|
/* @__PURE__ */ jsxs7(DialogHeader, { className: "sr-only", children: [
|
|
1434
|
-
/* @__PURE__ */
|
|
1435
|
-
/* @__PURE__ */
|
|
1543
|
+
/* @__PURE__ */ jsx18(DialogTitle, { children: title }),
|
|
1544
|
+
/* @__PURE__ */ jsx18(DialogDescription, { children: description })
|
|
1436
1545
|
] }),
|
|
1437
|
-
/* @__PURE__ */
|
|
1546
|
+
/* @__PURE__ */ jsx18(
|
|
1438
1547
|
DialogContent,
|
|
1439
1548
|
{
|
|
1440
1549
|
className: cn("overflow-hidden p-0", className),
|
|
1441
1550
|
showCloseButton,
|
|
1442
|
-
children: /* @__PURE__ */
|
|
1551
|
+
children: /* @__PURE__ */ jsx18(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
1443
1552
|
}
|
|
1444
1553
|
)
|
|
1445
1554
|
] });
|
|
@@ -1454,8 +1563,8 @@ function CommandInput({
|
|
|
1454
1563
|
"data-slot": "command-input-wrapper",
|
|
1455
1564
|
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
1456
1565
|
children: [
|
|
1457
|
-
/* @__PURE__ */
|
|
1458
|
-
/* @__PURE__ */
|
|
1566
|
+
/* @__PURE__ */ jsx18(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
1567
|
+
/* @__PURE__ */ jsx18(
|
|
1459
1568
|
CommandPrimitive.Input,
|
|
1460
1569
|
{
|
|
1461
1570
|
"data-slot": "command-input",
|
|
@@ -1474,7 +1583,7 @@ function CommandList({
|
|
|
1474
1583
|
className,
|
|
1475
1584
|
...props
|
|
1476
1585
|
}) {
|
|
1477
|
-
return /* @__PURE__ */
|
|
1586
|
+
return /* @__PURE__ */ jsx18(
|
|
1478
1587
|
CommandPrimitive.List,
|
|
1479
1588
|
{
|
|
1480
1589
|
"data-slot": "command-list",
|
|
@@ -1489,7 +1598,7 @@ function CommandList({
|
|
|
1489
1598
|
function CommandEmpty({
|
|
1490
1599
|
...props
|
|
1491
1600
|
}) {
|
|
1492
|
-
return /* @__PURE__ */
|
|
1601
|
+
return /* @__PURE__ */ jsx18(
|
|
1493
1602
|
CommandPrimitive.Empty,
|
|
1494
1603
|
{
|
|
1495
1604
|
"data-slot": "command-empty",
|
|
@@ -1502,7 +1611,7 @@ function CommandGroup({
|
|
|
1502
1611
|
className,
|
|
1503
1612
|
...props
|
|
1504
1613
|
}) {
|
|
1505
|
-
return /* @__PURE__ */
|
|
1614
|
+
return /* @__PURE__ */ jsx18(
|
|
1506
1615
|
CommandPrimitive.Group,
|
|
1507
1616
|
{
|
|
1508
1617
|
"data-slot": "command-group",
|
|
@@ -1518,7 +1627,7 @@ function CommandSeparator({
|
|
|
1518
1627
|
className,
|
|
1519
1628
|
...props
|
|
1520
1629
|
}) {
|
|
1521
|
-
return /* @__PURE__ */
|
|
1630
|
+
return /* @__PURE__ */ jsx18(
|
|
1522
1631
|
CommandPrimitive.Separator,
|
|
1523
1632
|
{
|
|
1524
1633
|
"data-slot": "command-separator",
|
|
@@ -1531,7 +1640,7 @@ function CommandItem({
|
|
|
1531
1640
|
className,
|
|
1532
1641
|
...props
|
|
1533
1642
|
}) {
|
|
1534
|
-
return /* @__PURE__ */
|
|
1643
|
+
return /* @__PURE__ */ jsx18(
|
|
1535
1644
|
CommandPrimitive.Item,
|
|
1536
1645
|
{
|
|
1537
1646
|
"data-slot": "command-item",
|
|
@@ -1547,7 +1656,7 @@ function CommandShortcut({
|
|
|
1547
1656
|
className,
|
|
1548
1657
|
...props
|
|
1549
1658
|
}) {
|
|
1550
|
-
return /* @__PURE__ */
|
|
1659
|
+
return /* @__PURE__ */ jsx18(
|
|
1551
1660
|
"span",
|
|
1552
1661
|
{
|
|
1553
1662
|
"data-slot": "command-shortcut",
|
|
@@ -1564,36 +1673,36 @@ function CommandShortcut({
|
|
|
1564
1673
|
import "react";
|
|
1565
1674
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1566
1675
|
import { CheckIcon, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
|
|
1567
|
-
import { jsx as
|
|
1676
|
+
import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1568
1677
|
function ContextMenu({
|
|
1569
1678
|
...props
|
|
1570
1679
|
}) {
|
|
1571
|
-
return /* @__PURE__ */
|
|
1680
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
|
|
1572
1681
|
}
|
|
1573
1682
|
function ContextMenuTrigger({
|
|
1574
1683
|
...props
|
|
1575
1684
|
}) {
|
|
1576
|
-
return /* @__PURE__ */
|
|
1685
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
|
|
1577
1686
|
}
|
|
1578
1687
|
function ContextMenuGroup({
|
|
1579
1688
|
...props
|
|
1580
1689
|
}) {
|
|
1581
|
-
return /* @__PURE__ */
|
|
1690
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
|
|
1582
1691
|
}
|
|
1583
1692
|
function ContextMenuPortal({
|
|
1584
1693
|
...props
|
|
1585
1694
|
}) {
|
|
1586
|
-
return /* @__PURE__ */
|
|
1695
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
|
|
1587
1696
|
}
|
|
1588
1697
|
function ContextMenuSub({
|
|
1589
1698
|
...props
|
|
1590
1699
|
}) {
|
|
1591
|
-
return /* @__PURE__ */
|
|
1700
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
|
|
1592
1701
|
}
|
|
1593
1702
|
function ContextMenuRadioGroup({
|
|
1594
1703
|
...props
|
|
1595
1704
|
}) {
|
|
1596
|
-
return /* @__PURE__ */
|
|
1705
|
+
return /* @__PURE__ */ jsx19(
|
|
1597
1706
|
ContextMenuPrimitive.RadioGroup,
|
|
1598
1707
|
{
|
|
1599
1708
|
"data-slot": "context-menu-radio-group",
|
|
@@ -1619,7 +1728,7 @@ function ContextMenuSubTrigger({
|
|
|
1619
1728
|
...props,
|
|
1620
1729
|
children: [
|
|
1621
1730
|
children,
|
|
1622
|
-
/* @__PURE__ */
|
|
1731
|
+
/* @__PURE__ */ jsx19(ChevronRightIcon2, { className: "ml-auto" })
|
|
1623
1732
|
]
|
|
1624
1733
|
}
|
|
1625
1734
|
);
|
|
@@ -1628,7 +1737,7 @@ function ContextMenuSubContent({
|
|
|
1628
1737
|
className,
|
|
1629
1738
|
...props
|
|
1630
1739
|
}) {
|
|
1631
|
-
return /* @__PURE__ */
|
|
1740
|
+
return /* @__PURE__ */ jsx19(
|
|
1632
1741
|
ContextMenuPrimitive.SubContent,
|
|
1633
1742
|
{
|
|
1634
1743
|
"data-slot": "context-menu-sub-content",
|
|
@@ -1644,7 +1753,7 @@ function ContextMenuContent({
|
|
|
1644
1753
|
className,
|
|
1645
1754
|
...props
|
|
1646
1755
|
}) {
|
|
1647
|
-
return /* @__PURE__ */
|
|
1756
|
+
return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
|
|
1648
1757
|
ContextMenuPrimitive.Content,
|
|
1649
1758
|
{
|
|
1650
1759
|
"data-slot": "context-menu-content",
|
|
@@ -1662,7 +1771,7 @@ function ContextMenuItem({
|
|
|
1662
1771
|
variant = "default",
|
|
1663
1772
|
...props
|
|
1664
1773
|
}) {
|
|
1665
|
-
return /* @__PURE__ */
|
|
1774
|
+
return /* @__PURE__ */ jsx19(
|
|
1666
1775
|
ContextMenuPrimitive.Item,
|
|
1667
1776
|
{
|
|
1668
1777
|
"data-slot": "context-menu-item",
|
|
@@ -1693,7 +1802,7 @@ function ContextMenuCheckboxItem({
|
|
|
1693
1802
|
checked,
|
|
1694
1803
|
...props,
|
|
1695
1804
|
children: [
|
|
1696
|
-
/* @__PURE__ */
|
|
1805
|
+
/* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon, { className: "size-4" }) }) }),
|
|
1697
1806
|
children
|
|
1698
1807
|
]
|
|
1699
1808
|
}
|
|
@@ -1714,7 +1823,7 @@ function ContextMenuRadioItem({
|
|
|
1714
1823
|
),
|
|
1715
1824
|
...props,
|
|
1716
1825
|
children: [
|
|
1717
|
-
/* @__PURE__ */
|
|
1826
|
+
/* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CircleIcon, { className: "size-2 fill-current" }) }) }),
|
|
1718
1827
|
children
|
|
1719
1828
|
]
|
|
1720
1829
|
}
|
|
@@ -1725,7 +1834,7 @@ function ContextMenuLabel({
|
|
|
1725
1834
|
inset,
|
|
1726
1835
|
...props
|
|
1727
1836
|
}) {
|
|
1728
|
-
return /* @__PURE__ */
|
|
1837
|
+
return /* @__PURE__ */ jsx19(
|
|
1729
1838
|
ContextMenuPrimitive.Label,
|
|
1730
1839
|
{
|
|
1731
1840
|
"data-slot": "context-menu-label",
|
|
@@ -1742,7 +1851,7 @@ function ContextMenuSeparator({
|
|
|
1742
1851
|
className,
|
|
1743
1852
|
...props
|
|
1744
1853
|
}) {
|
|
1745
|
-
return /* @__PURE__ */
|
|
1854
|
+
return /* @__PURE__ */ jsx19(
|
|
1746
1855
|
ContextMenuPrimitive.Separator,
|
|
1747
1856
|
{
|
|
1748
1857
|
"data-slot": "context-menu-separator",
|
|
@@ -1755,7 +1864,7 @@ function ContextMenuShortcut({
|
|
|
1755
1864
|
className,
|
|
1756
1865
|
...props
|
|
1757
1866
|
}) {
|
|
1758
|
-
return /* @__PURE__ */
|
|
1867
|
+
return /* @__PURE__ */ jsx19(
|
|
1759
1868
|
"span",
|
|
1760
1869
|
{
|
|
1761
1870
|
"data-slot": "context-menu-shortcut",
|
|
@@ -1768,90 +1877,537 @@ function ContextMenuShortcut({
|
|
|
1768
1877
|
);
|
|
1769
1878
|
}
|
|
1770
1879
|
|
|
1771
|
-
// src/components/ui/
|
|
1772
|
-
import "
|
|
1773
|
-
import {
|
|
1774
|
-
import
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
}
|
|
1778
|
-
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
{
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
),
|
|
1807
|
-
...props
|
|
1808
|
-
}
|
|
1809
|
-
);
|
|
1810
|
-
}
|
|
1811
|
-
function DrawerContent({
|
|
1812
|
-
className,
|
|
1813
|
-
children,
|
|
1814
|
-
withCloseButton = true,
|
|
1815
|
-
...props
|
|
1816
|
-
}) {
|
|
1817
|
-
return /* @__PURE__ */ jsxs9(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
1818
|
-
/* @__PURE__ */ jsx18(DrawerOverlay, {}),
|
|
1819
|
-
/* @__PURE__ */ jsxs9(
|
|
1820
|
-
DrawerPrimitive.Content,
|
|
1821
|
-
{
|
|
1822
|
-
"data-slot": "drawer-content",
|
|
1823
|
-
className: cn(
|
|
1824
|
-
"group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
|
|
1825
|
-
"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
|
|
1826
|
-
"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
|
|
1827
|
-
"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
1828
|
-
"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
|
|
1829
|
-
className
|
|
1830
|
-
),
|
|
1831
|
-
...props,
|
|
1832
|
-
children: [
|
|
1833
|
-
withCloseButton && /* @__PURE__ */ jsx18("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
1834
|
-
children
|
|
1835
|
-
]
|
|
1880
|
+
// src/components/ui/date-input.tsx
|
|
1881
|
+
import "class-variance-authority";
|
|
1882
|
+
import { CalendarDays } from "lucide-react";
|
|
1883
|
+
import * as React20 from "react";
|
|
1884
|
+
|
|
1885
|
+
// src/components/ui/input.tsx
|
|
1886
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
1887
|
+
import * as React18 from "react";
|
|
1888
|
+
import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1889
|
+
var inputVariants = cva4(
|
|
1890
|
+
[
|
|
1891
|
+
// Base styles
|
|
1892
|
+
"file:text-zinc-800 placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
1893
|
+
"flex w-full min-w-0 rounded-md border bg-transparent text-base transition-all duration-400",
|
|
1894
|
+
"outline-none font-sans",
|
|
1895
|
+
// File input styles
|
|
1896
|
+
"file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
1897
|
+
// Disabled styles
|
|
1898
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
1899
|
+
// Responsive text size
|
|
1900
|
+
"md:text-sm",
|
|
1901
|
+
// Default state
|
|
1902
|
+
"border-zinc-300 bg-background",
|
|
1903
|
+
// Hover state
|
|
1904
|
+
"hover:border-primary-stroke-default",
|
|
1905
|
+
// Focus state
|
|
1906
|
+
"focus:border-blue-500",
|
|
1907
|
+
"active:border-brand-normal"
|
|
1908
|
+
],
|
|
1909
|
+
{
|
|
1910
|
+
variants: {
|
|
1911
|
+
size: {
|
|
1912
|
+
sm: "h-9 px-3 py-1 text-base",
|
|
1913
|
+
md: "h-10 px-3 py-2 text-base",
|
|
1914
|
+
lg: "h-12 px-4 py-3 text-base"
|
|
1836
1915
|
}
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1916
|
+
},
|
|
1917
|
+
defaultVariants: {
|
|
1918
|
+
size: "md"
|
|
1919
|
+
}
|
|
1920
|
+
}
|
|
1921
|
+
);
|
|
1922
|
+
var Input = React18.forwardRef(
|
|
1923
|
+
({
|
|
1924
|
+
className,
|
|
1925
|
+
type,
|
|
1926
|
+
size,
|
|
1927
|
+
leftIcon,
|
|
1928
|
+
rightIcon,
|
|
1929
|
+
leftIconClassName,
|
|
1930
|
+
rightIconClassName,
|
|
1931
|
+
rightIconOnClick,
|
|
1932
|
+
rightIconButtonProps,
|
|
1933
|
+
error,
|
|
1934
|
+
...props
|
|
1935
|
+
}, ref) => {
|
|
1936
|
+
const errorStyles2 = error ? [
|
|
1937
|
+
"border-destructive bg-red-subtle",
|
|
1938
|
+
"focus:border-destructive focus:ring-destructive/20",
|
|
1939
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
1940
|
+
] : [];
|
|
1941
|
+
if (leftIcon || rightIcon) {
|
|
1942
|
+
return /* @__PURE__ */ jsxs9("div", { className: "relative", children: [
|
|
1943
|
+
/* @__PURE__ */ jsx20(
|
|
1944
|
+
"input",
|
|
1945
|
+
{
|
|
1946
|
+
type,
|
|
1947
|
+
"data-slot": "input",
|
|
1948
|
+
className: cn(
|
|
1949
|
+
inputVariants({ size }),
|
|
1950
|
+
errorStyles2,
|
|
1951
|
+
"peer",
|
|
1952
|
+
leftIcon && "pl-8",
|
|
1953
|
+
rightIcon && "pr-10",
|
|
1954
|
+
className
|
|
1955
|
+
),
|
|
1956
|
+
ref,
|
|
1957
|
+
"aria-invalid": error,
|
|
1958
|
+
...props
|
|
1959
|
+
}
|
|
1960
|
+
),
|
|
1961
|
+
leftIcon && /* @__PURE__ */ jsx20(
|
|
1962
|
+
"div",
|
|
1963
|
+
{
|
|
1964
|
+
className: cn(
|
|
1965
|
+
"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
1966
|
+
"transition-colors stroke-[1.5px]",
|
|
1967
|
+
error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-blue-500 peer-active:text-brand-normal",
|
|
1968
|
+
leftIconClassName
|
|
1969
|
+
),
|
|
1970
|
+
children: React18.isValidElement(leftIcon) ? (() => {
|
|
1971
|
+
const iconEl = leftIcon;
|
|
1972
|
+
return React18.cloneElement(iconEl, {
|
|
1973
|
+
className: cn("h-4 w-4", iconEl.props.className)
|
|
1974
|
+
});
|
|
1975
|
+
})() : leftIcon
|
|
1976
|
+
}
|
|
1977
|
+
),
|
|
1978
|
+
rightIcon && /* @__PURE__ */ jsx20(
|
|
1979
|
+
Button,
|
|
1980
|
+
{
|
|
1981
|
+
onClick: rightIconOnClick,
|
|
1982
|
+
variant: "ghost",
|
|
1983
|
+
size: "icon",
|
|
1984
|
+
className: cn(
|
|
1985
|
+
"absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
1986
|
+
"h-6 w-6 rounded-sm transition-colors",
|
|
1987
|
+
error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-blue-500",
|
|
1988
|
+
rightIconClassName
|
|
1989
|
+
),
|
|
1990
|
+
"aria-label": "Input action",
|
|
1991
|
+
...rightIconButtonProps,
|
|
1992
|
+
children: React18.isValidElement(rightIcon) ? (() => {
|
|
1993
|
+
const iconEl = rightIcon;
|
|
1994
|
+
return React18.cloneElement(iconEl, {
|
|
1995
|
+
className: cn("h-4 w-4", iconEl.props.className)
|
|
1996
|
+
});
|
|
1997
|
+
})() : rightIcon
|
|
1998
|
+
}
|
|
1999
|
+
)
|
|
2000
|
+
] });
|
|
2001
|
+
}
|
|
2002
|
+
return /* @__PURE__ */ jsx20(
|
|
2003
|
+
"input",
|
|
2004
|
+
{
|
|
2005
|
+
type,
|
|
2006
|
+
"data-slot": "input",
|
|
2007
|
+
className: cn(inputVariants({ size }), errorStyles2, className),
|
|
2008
|
+
ref,
|
|
2009
|
+
"aria-invalid": error,
|
|
2010
|
+
...props
|
|
2011
|
+
}
|
|
2012
|
+
);
|
|
2013
|
+
}
|
|
2014
|
+
);
|
|
2015
|
+
Input.displayName = "Input";
|
|
2016
|
+
|
|
2017
|
+
// src/components/ui/popover.tsx
|
|
2018
|
+
import "react";
|
|
2019
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2020
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
2021
|
+
function Popover({
|
|
2022
|
+
...props
|
|
2023
|
+
}) {
|
|
2024
|
+
return /* @__PURE__ */ jsx21(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
2025
|
+
}
|
|
2026
|
+
function PopoverTrigger({
|
|
2027
|
+
...props
|
|
2028
|
+
}) {
|
|
2029
|
+
return /* @__PURE__ */ jsx21(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2030
|
+
}
|
|
2031
|
+
function PopoverContent({
|
|
2032
|
+
className,
|
|
2033
|
+
align = "center",
|
|
2034
|
+
sideOffset = 4,
|
|
2035
|
+
...props
|
|
2036
|
+
}) {
|
|
2037
|
+
return /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
|
|
2038
|
+
PopoverPrimitive.Content,
|
|
2039
|
+
{
|
|
2040
|
+
"data-slot": "popover-content",
|
|
2041
|
+
align,
|
|
2042
|
+
sideOffset,
|
|
2043
|
+
className: cn(
|
|
2044
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
2045
|
+
className
|
|
2046
|
+
),
|
|
2047
|
+
...props
|
|
2048
|
+
}
|
|
2049
|
+
) });
|
|
2050
|
+
}
|
|
2051
|
+
function PopoverAnchor({
|
|
2052
|
+
...props
|
|
2053
|
+
}) {
|
|
2054
|
+
return /* @__PURE__ */ jsx21(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2057
|
+
// src/components/ui/date-input.tsx
|
|
2058
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2059
|
+
var INPUT_PROP_KEYS = /* @__PURE__ */ new Set([
|
|
2060
|
+
"accept",
|
|
2061
|
+
"alt",
|
|
2062
|
+
"autoComplete",
|
|
2063
|
+
"autoFocus",
|
|
2064
|
+
"capture",
|
|
2065
|
+
"checked",
|
|
2066
|
+
"dirName",
|
|
2067
|
+
"form",
|
|
2068
|
+
"formAction",
|
|
2069
|
+
"formEncType",
|
|
2070
|
+
"formMethod",
|
|
2071
|
+
"formNoValidate",
|
|
2072
|
+
"formTarget",
|
|
2073
|
+
"height",
|
|
2074
|
+
"list",
|
|
2075
|
+
"maxLength",
|
|
2076
|
+
"minLength",
|
|
2077
|
+
"multiple",
|
|
2078
|
+
"name",
|
|
2079
|
+
"pattern",
|
|
2080
|
+
"readOnly",
|
|
2081
|
+
"required",
|
|
2082
|
+
"size",
|
|
2083
|
+
"src",
|
|
2084
|
+
"step",
|
|
2085
|
+
"type",
|
|
2086
|
+
"width",
|
|
2087
|
+
"id",
|
|
2088
|
+
"inputMode",
|
|
2089
|
+
"lang",
|
|
2090
|
+
"tabIndex",
|
|
2091
|
+
"title",
|
|
2092
|
+
"role",
|
|
2093
|
+
"style",
|
|
2094
|
+
"onFocus",
|
|
2095
|
+
"onFocusCapture",
|
|
2096
|
+
"onBlurCapture",
|
|
2097
|
+
"onInput",
|
|
2098
|
+
"onInvalid",
|
|
2099
|
+
"onKeyDownCapture",
|
|
2100
|
+
"onKeyPress",
|
|
2101
|
+
"onKeyPressCapture",
|
|
2102
|
+
"onKeyUp",
|
|
2103
|
+
"onKeyUpCapture",
|
|
2104
|
+
"onPaste",
|
|
2105
|
+
"onPasteCapture",
|
|
2106
|
+
"onPointerDown",
|
|
2107
|
+
"onPointerDownCapture",
|
|
2108
|
+
"onPointerUp",
|
|
2109
|
+
"onPointerUpCapture",
|
|
2110
|
+
"onMouseDown",
|
|
2111
|
+
"onMouseDownCapture",
|
|
2112
|
+
"onMouseUp",
|
|
2113
|
+
"onMouseUpCapture",
|
|
2114
|
+
"onCompositionEnd",
|
|
2115
|
+
"onCompositionStart",
|
|
2116
|
+
"onCompositionUpdate"
|
|
2117
|
+
]);
|
|
2118
|
+
function formatDate(date) {
|
|
2119
|
+
if (!date) {
|
|
2120
|
+
return "";
|
|
2121
|
+
}
|
|
2122
|
+
return date.toLocaleDateString("en-US", {
|
|
2123
|
+
day: "2-digit",
|
|
2124
|
+
month: "2-digit",
|
|
2125
|
+
year: "numeric"
|
|
2126
|
+
});
|
|
2127
|
+
}
|
|
2128
|
+
function isValidDate(date) {
|
|
2129
|
+
if (!date) {
|
|
2130
|
+
return false;
|
|
2131
|
+
}
|
|
2132
|
+
return !isNaN(date.getTime());
|
|
2133
|
+
}
|
|
2134
|
+
function DateInput({
|
|
2135
|
+
date,
|
|
2136
|
+
setDate,
|
|
2137
|
+
maxDate,
|
|
2138
|
+
minDate,
|
|
2139
|
+
disableFuture = true,
|
|
2140
|
+
className,
|
|
2141
|
+
inputClassName,
|
|
2142
|
+
calendarClassName,
|
|
2143
|
+
inputDisabled,
|
|
2144
|
+
mode,
|
|
2145
|
+
selected,
|
|
2146
|
+
onSelect,
|
|
2147
|
+
month,
|
|
2148
|
+
onMonthChange,
|
|
2149
|
+
disabled: calendarDisabled,
|
|
2150
|
+
captionLayout = "dropdown",
|
|
2151
|
+
showOutsideDays = false,
|
|
2152
|
+
classNames,
|
|
2153
|
+
placeholder = "mm/dd/yyyy",
|
|
2154
|
+
onBlur,
|
|
2155
|
+
...restProps
|
|
2156
|
+
}) {
|
|
2157
|
+
const [open, setOpen] = React20.useState(false);
|
|
2158
|
+
const [monthState, setMonthState] = React20.useState(date ?? null);
|
|
2159
|
+
const [value, setValue] = React20.useState(formatDate(date ?? null));
|
|
2160
|
+
const [inputProps, calendarProps] = React20.useMemo(() => {
|
|
2161
|
+
const nextInputProps = {};
|
|
2162
|
+
const nextCalendarProps = {};
|
|
2163
|
+
for (const [key, val] of Object.entries(restProps)) {
|
|
2164
|
+
const isInputProp = INPUT_PROP_KEYS.has(key) || key.startsWith("aria-") || key.startsWith("data-");
|
|
2165
|
+
if (isInputProp) {
|
|
2166
|
+
nextInputProps[key] = val;
|
|
2167
|
+
} else {
|
|
2168
|
+
nextCalendarProps[key] = val;
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
return [
|
|
2172
|
+
nextInputProps,
|
|
2173
|
+
nextCalendarProps
|
|
2174
|
+
];
|
|
2175
|
+
}, [restProps]);
|
|
2176
|
+
const today = React20.useMemo(() => {
|
|
2177
|
+
const d = /* @__PURE__ */ new Date();
|
|
2178
|
+
d.setHours(0, 0, 0, 0);
|
|
2179
|
+
return d;
|
|
2180
|
+
}, []);
|
|
2181
|
+
const effectiveMaxDate = React20.useMemo(() => {
|
|
2182
|
+
if (disableFuture) {
|
|
2183
|
+
if (maxDate) {
|
|
2184
|
+
const max = new Date(maxDate);
|
|
2185
|
+
max.setHours(0, 0, 0, 0);
|
|
2186
|
+
return max < today ? max : today;
|
|
2187
|
+
}
|
|
2188
|
+
return today;
|
|
2189
|
+
}
|
|
2190
|
+
if (maxDate) {
|
|
2191
|
+
const max = new Date(maxDate);
|
|
2192
|
+
max.setHours(0, 0, 0, 0);
|
|
2193
|
+
return max;
|
|
2194
|
+
}
|
|
2195
|
+
return void 0;
|
|
2196
|
+
}, [maxDate, disableFuture, today]);
|
|
2197
|
+
const effectiveMinDate = React20.useMemo(() => {
|
|
2198
|
+
if (minDate) {
|
|
2199
|
+
const min = new Date(minDate);
|
|
2200
|
+
min.setHours(0, 0, 0, 0);
|
|
2201
|
+
return min;
|
|
2202
|
+
}
|
|
2203
|
+
return null;
|
|
2204
|
+
}, [minDate]);
|
|
2205
|
+
React20.useEffect(() => {
|
|
2206
|
+
if (date) {
|
|
2207
|
+
setValue(formatDate(date));
|
|
2208
|
+
setMonthState(date);
|
|
2209
|
+
}
|
|
2210
|
+
}, [date]);
|
|
2211
|
+
const effectiveMonth = month ?? monthState ?? void 0;
|
|
2212
|
+
const effectiveSelected = selected ?? date ?? void 0;
|
|
2213
|
+
const isInputDisabled = inputDisabled ?? (typeof calendarDisabled === "boolean" ? calendarDisabled : false);
|
|
2214
|
+
const defaultCalendarOnSelect = (selectedDate) => {
|
|
2215
|
+
if (selectedDate) {
|
|
2216
|
+
const dateObj = new Date(selectedDate);
|
|
2217
|
+
dateObj.setHours(0, 0, 0, 0);
|
|
2218
|
+
const isAfterMin = !effectiveMinDate || dateObj >= effectiveMinDate;
|
|
2219
|
+
const isBeforeMax = !effectiveMaxDate || dateObj <= effectiveMaxDate;
|
|
2220
|
+
if (isAfterMin && isBeforeMax) {
|
|
2221
|
+
setDate(selectedDate);
|
|
2222
|
+
setValue(formatDate(selectedDate));
|
|
2223
|
+
setOpen(false);
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
};
|
|
2227
|
+
const defaultCalendarDisabled = (date2) => {
|
|
2228
|
+
const checkDate = new Date(date2);
|
|
2229
|
+
checkDate.setHours(0, 0, 0, 0);
|
|
2230
|
+
const isBeforeMin = effectiveMinDate !== null && checkDate < effectiveMinDate;
|
|
2231
|
+
const isAfterMax = effectiveMaxDate !== void 0 && checkDate > effectiveMaxDate;
|
|
2232
|
+
return isBeforeMin || isAfterMax;
|
|
2233
|
+
};
|
|
2234
|
+
const resolvedCalendarProps = {
|
|
2235
|
+
...calendarProps,
|
|
2236
|
+
mode: mode ?? "single",
|
|
2237
|
+
selected: effectiveSelected,
|
|
2238
|
+
captionLayout,
|
|
2239
|
+
month: effectiveMonth,
|
|
2240
|
+
onMonthChange: onMonthChange ?? setMonthState,
|
|
2241
|
+
showOutsideDays,
|
|
2242
|
+
className: cn(
|
|
2243
|
+
"md:w-auto w-[calc(100vw-50px)] mx-auto h-[350px] overflow-y-auto md:h-auto m-2",
|
|
2244
|
+
calendarClassName
|
|
2245
|
+
),
|
|
2246
|
+
classNames,
|
|
2247
|
+
onSelect: onSelect ?? defaultCalendarOnSelect,
|
|
2248
|
+
disabled: calendarDisabled ?? defaultCalendarDisabled
|
|
2249
|
+
};
|
|
2250
|
+
const handleInputChange = (e) => {
|
|
2251
|
+
const inputValue = e.target.value;
|
|
2252
|
+
setValue(inputValue);
|
|
2253
|
+
const parsedDate = new Date(inputValue);
|
|
2254
|
+
if (isValidDate(parsedDate)) {
|
|
2255
|
+
const selectedDate = new Date(parsedDate);
|
|
2256
|
+
selectedDate.setHours(0, 0, 0, 0);
|
|
2257
|
+
const isAfterMin = !effectiveMinDate || selectedDate >= effectiveMinDate;
|
|
2258
|
+
const isBeforeMax = !effectiveMaxDate || selectedDate <= effectiveMaxDate;
|
|
2259
|
+
if (isAfterMin && isBeforeMax) {
|
|
2260
|
+
setDate(parsedDate);
|
|
2261
|
+
setMonthState(parsedDate);
|
|
2262
|
+
}
|
|
2263
|
+
} else if (inputValue === "") {
|
|
2264
|
+
setDate(null);
|
|
2265
|
+
}
|
|
2266
|
+
};
|
|
2267
|
+
const handleBlur = (e) => {
|
|
2268
|
+
if (onBlur) {
|
|
2269
|
+
onBlur(e);
|
|
2270
|
+
}
|
|
2271
|
+
if (value === "") {
|
|
2272
|
+
if (date !== null) {
|
|
2273
|
+
setDate(null);
|
|
2274
|
+
}
|
|
2275
|
+
return;
|
|
2276
|
+
}
|
|
2277
|
+
const parsedDate = new Date(value);
|
|
2278
|
+
if (!isValidDate(parsedDate)) {
|
|
2279
|
+
setValue(formatDate(date));
|
|
2280
|
+
} else {
|
|
2281
|
+
const selectedDate = new Date(parsedDate);
|
|
2282
|
+
selectedDate.setHours(0, 0, 0, 0);
|
|
2283
|
+
const isAfterMin = !effectiveMinDate || selectedDate >= effectiveMinDate;
|
|
2284
|
+
const isBeforeMax = !effectiveMaxDate || selectedDate <= effectiveMaxDate;
|
|
2285
|
+
if (!isAfterMin || !isBeforeMax) {
|
|
2286
|
+
setValue(formatDate(date));
|
|
2287
|
+
}
|
|
2288
|
+
}
|
|
2289
|
+
};
|
|
2290
|
+
return /* @__PURE__ */ jsx22("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs10(Popover, { open, onOpenChange: setOpen, children: [
|
|
2291
|
+
/* @__PURE__ */ jsx22(PopoverTrigger, { asChild: true, disabled: isInputDisabled, children: /* @__PURE__ */ jsx22("div", { className: "w-full relative", children: /* @__PURE__ */ jsx22(
|
|
2292
|
+
Input,
|
|
2293
|
+
{
|
|
2294
|
+
id: "date",
|
|
2295
|
+
value,
|
|
2296
|
+
placeholder,
|
|
2297
|
+
className: cn("bg-background cursor-pointer", inputClassName),
|
|
2298
|
+
onChange: handleInputChange,
|
|
2299
|
+
onBlur: handleBlur,
|
|
2300
|
+
disabled: isInputDisabled,
|
|
2301
|
+
onKeyDown: (e) => {
|
|
2302
|
+
if (e.key === "ArrowDown" && !isInputDisabled) {
|
|
2303
|
+
e.preventDefault();
|
|
2304
|
+
setOpen(true);
|
|
2305
|
+
}
|
|
2306
|
+
},
|
|
2307
|
+
rightIcon: /* @__PURE__ */ jsx22(CalendarDays, { className: "h-4 w-4 text-muted-foreground" }),
|
|
2308
|
+
rightIconOnClick: isInputDisabled ? void 0 : () => setOpen(!open),
|
|
2309
|
+
rightIconButtonProps: { disabled: isInputDisabled },
|
|
2310
|
+
...inputProps
|
|
2311
|
+
}
|
|
2312
|
+
) }) }),
|
|
2313
|
+
/* @__PURE__ */ jsx22(
|
|
2314
|
+
PopoverContent,
|
|
2315
|
+
{
|
|
2316
|
+
className: "w-auto overflow-hidden p-0",
|
|
2317
|
+
align: "end",
|
|
2318
|
+
alignOffset: -8,
|
|
2319
|
+
sideOffset: 10,
|
|
2320
|
+
side: "top",
|
|
2321
|
+
children: /* @__PURE__ */ jsx22(Calendar, { ...resolvedCalendarProps })
|
|
2322
|
+
}
|
|
2323
|
+
)
|
|
2324
|
+
] }) });
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
// src/components/ui/drawer.tsx
|
|
2328
|
+
import "react";
|
|
2329
|
+
import { Drawer as DrawerPrimitive } from "vaul";
|
|
2330
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2331
|
+
function Drawer({
|
|
2332
|
+
...props
|
|
2333
|
+
}) {
|
|
2334
|
+
return /* @__PURE__ */ jsx23(DrawerPrimitive.Root, { "data-slot": "drawer", ...props, repositionInputs: false });
|
|
2335
|
+
}
|
|
2336
|
+
function DrawerTrigger({
|
|
2337
|
+
...props
|
|
2338
|
+
}) {
|
|
2339
|
+
return /* @__PURE__ */ jsx23(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
2340
|
+
}
|
|
2341
|
+
function DrawerPortal({
|
|
2342
|
+
...props
|
|
2343
|
+
}) {
|
|
2344
|
+
return /* @__PURE__ */ jsx23(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
|
|
2345
|
+
}
|
|
2346
|
+
function DrawerClose({
|
|
2347
|
+
...props
|
|
2348
|
+
}) {
|
|
2349
|
+
return /* @__PURE__ */ jsx23(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
|
|
2350
|
+
}
|
|
2351
|
+
function DrawerOverlay({
|
|
2352
|
+
className,
|
|
2353
|
+
...props
|
|
2354
|
+
}) {
|
|
2355
|
+
return /* @__PURE__ */ jsx23(
|
|
2356
|
+
DrawerPrimitive.Overlay,
|
|
2357
|
+
{
|
|
2358
|
+
"data-slot": "drawer-overlay",
|
|
2359
|
+
className: cn(
|
|
2360
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
2361
|
+
className
|
|
2362
|
+
),
|
|
2363
|
+
...props
|
|
2364
|
+
}
|
|
2365
|
+
);
|
|
2366
|
+
}
|
|
2367
|
+
function DrawerContent({
|
|
2368
|
+
className,
|
|
2369
|
+
children,
|
|
2370
|
+
withCloseButton = true,
|
|
2371
|
+
...props
|
|
2372
|
+
}) {
|
|
2373
|
+
return /* @__PURE__ */ jsxs11(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
2374
|
+
/* @__PURE__ */ jsx23(DrawerOverlay, {}),
|
|
2375
|
+
/* @__PURE__ */ jsxs11(
|
|
2376
|
+
DrawerPrimitive.Content,
|
|
2377
|
+
{
|
|
2378
|
+
"data-slot": "drawer-content",
|
|
2379
|
+
className: cn(
|
|
2380
|
+
"group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
|
|
2381
|
+
"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
|
|
2382
|
+
"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
|
|
2383
|
+
"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
2384
|
+
"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
|
|
2385
|
+
className
|
|
2386
|
+
),
|
|
2387
|
+
...props,
|
|
2388
|
+
children: [
|
|
2389
|
+
withCloseButton && /* @__PURE__ */ jsx23("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
2390
|
+
children
|
|
2391
|
+
]
|
|
2392
|
+
}
|
|
2393
|
+
)
|
|
2394
|
+
] });
|
|
2395
|
+
}
|
|
2396
|
+
function DrawerHeader({ className, ...props }) {
|
|
2397
|
+
return /* @__PURE__ */ jsx23(
|
|
2398
|
+
"div",
|
|
2399
|
+
{
|
|
2400
|
+
"data-slot": "drawer-header",
|
|
2401
|
+
className: cn(
|
|
2402
|
+
"flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left",
|
|
2403
|
+
className
|
|
2404
|
+
),
|
|
2405
|
+
...props
|
|
1850
2406
|
}
|
|
1851
2407
|
);
|
|
1852
2408
|
}
|
|
1853
2409
|
function DrawerFooter({ className, ...props }) {
|
|
1854
|
-
return /* @__PURE__ */
|
|
2410
|
+
return /* @__PURE__ */ jsx23(
|
|
1855
2411
|
"div",
|
|
1856
2412
|
{
|
|
1857
2413
|
"data-slot": "drawer-footer",
|
|
@@ -1864,7 +2420,7 @@ function DrawerTitle({
|
|
|
1864
2420
|
className,
|
|
1865
2421
|
...props
|
|
1866
2422
|
}) {
|
|
1867
|
-
return /* @__PURE__ */
|
|
2423
|
+
return /* @__PURE__ */ jsx23(
|
|
1868
2424
|
DrawerPrimitive.Title,
|
|
1869
2425
|
{
|
|
1870
2426
|
"data-slot": "drawer-title",
|
|
@@ -1877,7 +2433,7 @@ function DrawerDescription({
|
|
|
1877
2433
|
className,
|
|
1878
2434
|
...props
|
|
1879
2435
|
}) {
|
|
1880
|
-
return /* @__PURE__ */
|
|
2436
|
+
return /* @__PURE__ */ jsx23(
|
|
1881
2437
|
DrawerPrimitive.Description,
|
|
1882
2438
|
{
|
|
1883
2439
|
"data-slot": "drawer-description",
|
|
@@ -1891,21 +2447,21 @@ function DrawerDescription({
|
|
|
1891
2447
|
import "react";
|
|
1892
2448
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1893
2449
|
import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
|
|
1894
|
-
import { jsx as
|
|
2450
|
+
import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1895
2451
|
function DropdownMenu({
|
|
1896
2452
|
...props
|
|
1897
2453
|
}) {
|
|
1898
|
-
return /* @__PURE__ */
|
|
2454
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
1899
2455
|
}
|
|
1900
2456
|
function DropdownMenuPortal({
|
|
1901
2457
|
...props
|
|
1902
2458
|
}) {
|
|
1903
|
-
return /* @__PURE__ */
|
|
2459
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
1904
2460
|
}
|
|
1905
2461
|
function DropdownMenuTrigger({
|
|
1906
2462
|
...props
|
|
1907
2463
|
}) {
|
|
1908
|
-
return /* @__PURE__ */
|
|
2464
|
+
return /* @__PURE__ */ jsx24(
|
|
1909
2465
|
DropdownMenuPrimitive.Trigger,
|
|
1910
2466
|
{
|
|
1911
2467
|
"data-slot": "dropdown-menu-trigger",
|
|
@@ -1918,7 +2474,7 @@ function DropdownMenuContent({
|
|
|
1918
2474
|
sideOffset = 4,
|
|
1919
2475
|
...props
|
|
1920
2476
|
}) {
|
|
1921
|
-
return /* @__PURE__ */
|
|
2477
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
|
|
1922
2478
|
DropdownMenuPrimitive.Content,
|
|
1923
2479
|
{
|
|
1924
2480
|
"data-slot": "dropdown-menu-content",
|
|
@@ -1934,7 +2490,7 @@ function DropdownMenuContent({
|
|
|
1934
2490
|
function DropdownMenuGroup({
|
|
1935
2491
|
...props
|
|
1936
2492
|
}) {
|
|
1937
|
-
return /* @__PURE__ */
|
|
2493
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
1938
2494
|
}
|
|
1939
2495
|
function DropdownMenuItem({
|
|
1940
2496
|
className,
|
|
@@ -1942,7 +2498,7 @@ function DropdownMenuItem({
|
|
|
1942
2498
|
variant = "default",
|
|
1943
2499
|
...props
|
|
1944
2500
|
}) {
|
|
1945
|
-
return /* @__PURE__ */
|
|
2501
|
+
return /* @__PURE__ */ jsx24(
|
|
1946
2502
|
DropdownMenuPrimitive.Item,
|
|
1947
2503
|
{
|
|
1948
2504
|
"data-slot": "dropdown-menu-item",
|
|
@@ -1962,7 +2518,7 @@ function DropdownMenuCheckboxItem({
|
|
|
1962
2518
|
checked,
|
|
1963
2519
|
...props
|
|
1964
2520
|
}) {
|
|
1965
|
-
return /* @__PURE__ */
|
|
2521
|
+
return /* @__PURE__ */ jsxs12(
|
|
1966
2522
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1967
2523
|
{
|
|
1968
2524
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
@@ -1973,7 +2529,7 @@ function DropdownMenuCheckboxItem({
|
|
|
1973
2529
|
checked,
|
|
1974
2530
|
...props,
|
|
1975
2531
|
children: [
|
|
1976
|
-
/* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ jsx24("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CheckIcon2, { className: "size-4" }) }) }),
|
|
1977
2533
|
children
|
|
1978
2534
|
]
|
|
1979
2535
|
}
|
|
@@ -1982,7 +2538,7 @@ function DropdownMenuCheckboxItem({
|
|
|
1982
2538
|
function DropdownMenuRadioGroup({
|
|
1983
2539
|
...props
|
|
1984
2540
|
}) {
|
|
1985
|
-
return /* @__PURE__ */
|
|
2541
|
+
return /* @__PURE__ */ jsx24(
|
|
1986
2542
|
DropdownMenuPrimitive.RadioGroup,
|
|
1987
2543
|
{
|
|
1988
2544
|
"data-slot": "dropdown-menu-radio-group",
|
|
@@ -1995,7 +2551,7 @@ function DropdownMenuRadioItem({
|
|
|
1995
2551
|
children,
|
|
1996
2552
|
...props
|
|
1997
2553
|
}) {
|
|
1998
|
-
return /* @__PURE__ */
|
|
2554
|
+
return /* @__PURE__ */ jsxs12(
|
|
1999
2555
|
DropdownMenuPrimitive.RadioItem,
|
|
2000
2556
|
{
|
|
2001
2557
|
"data-slot": "dropdown-menu-radio-item",
|
|
@@ -2005,7 +2561,7 @@ function DropdownMenuRadioItem({
|
|
|
2005
2561
|
),
|
|
2006
2562
|
...props,
|
|
2007
2563
|
children: [
|
|
2008
|
-
/* @__PURE__ */
|
|
2564
|
+
/* @__PURE__ */ jsx24("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CircleIcon2, { className: "size-2 fill-current" }) }) }),
|
|
2009
2565
|
children
|
|
2010
2566
|
]
|
|
2011
2567
|
}
|
|
@@ -2016,7 +2572,7 @@ function DropdownMenuLabel({
|
|
|
2016
2572
|
inset,
|
|
2017
2573
|
...props
|
|
2018
2574
|
}) {
|
|
2019
|
-
return /* @__PURE__ */
|
|
2575
|
+
return /* @__PURE__ */ jsx24(
|
|
2020
2576
|
DropdownMenuPrimitive.Label,
|
|
2021
2577
|
{
|
|
2022
2578
|
"data-slot": "dropdown-menu-label",
|
|
@@ -2033,7 +2589,7 @@ function DropdownMenuSeparator({
|
|
|
2033
2589
|
className,
|
|
2034
2590
|
...props
|
|
2035
2591
|
}) {
|
|
2036
|
-
return /* @__PURE__ */
|
|
2592
|
+
return /* @__PURE__ */ jsx24(
|
|
2037
2593
|
DropdownMenuPrimitive.Separator,
|
|
2038
2594
|
{
|
|
2039
2595
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -2046,7 +2602,7 @@ function DropdownMenuShortcut({
|
|
|
2046
2602
|
className,
|
|
2047
2603
|
...props
|
|
2048
2604
|
}) {
|
|
2049
|
-
return /* @__PURE__ */
|
|
2605
|
+
return /* @__PURE__ */ jsx24(
|
|
2050
2606
|
"span",
|
|
2051
2607
|
{
|
|
2052
2608
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2061,7 +2617,7 @@ function DropdownMenuShortcut({
|
|
|
2061
2617
|
function DropdownMenuSub({
|
|
2062
2618
|
...props
|
|
2063
2619
|
}) {
|
|
2064
|
-
return /* @__PURE__ */
|
|
2620
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2065
2621
|
}
|
|
2066
2622
|
function DropdownMenuSubTrigger({
|
|
2067
2623
|
className,
|
|
@@ -2069,7 +2625,7 @@ function DropdownMenuSubTrigger({
|
|
|
2069
2625
|
children,
|
|
2070
2626
|
...props
|
|
2071
2627
|
}) {
|
|
2072
|
-
return /* @__PURE__ */
|
|
2628
|
+
return /* @__PURE__ */ jsxs12(
|
|
2073
2629
|
DropdownMenuPrimitive.SubTrigger,
|
|
2074
2630
|
{
|
|
2075
2631
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -2081,7 +2637,7 @@ function DropdownMenuSubTrigger({
|
|
|
2081
2637
|
...props,
|
|
2082
2638
|
children: [
|
|
2083
2639
|
children,
|
|
2084
|
-
/* @__PURE__ */
|
|
2640
|
+
/* @__PURE__ */ jsx24(ChevronRightIcon3, { className: "ml-auto size-4" })
|
|
2085
2641
|
]
|
|
2086
2642
|
}
|
|
2087
2643
|
);
|
|
@@ -2090,7 +2646,7 @@ function DropdownMenuSubContent({
|
|
|
2090
2646
|
className,
|
|
2091
2647
|
...props
|
|
2092
2648
|
}) {
|
|
2093
|
-
return /* @__PURE__ */
|
|
2649
|
+
return /* @__PURE__ */ jsx24(
|
|
2094
2650
|
DropdownMenuPrimitive.SubContent,
|
|
2095
2651
|
{
|
|
2096
2652
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -2104,7 +2660,7 @@ function DropdownMenuSubContent({
|
|
|
2104
2660
|
}
|
|
2105
2661
|
|
|
2106
2662
|
// src/components/ui/form.tsx
|
|
2107
|
-
import * as
|
|
2663
|
+
import * as React24 from "react";
|
|
2108
2664
|
import "@radix-ui/react-label";
|
|
2109
2665
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
2110
2666
|
import {
|
|
@@ -2116,10 +2672,10 @@ import {
|
|
|
2116
2672
|
|
|
2117
2673
|
// src/components/ui/label.tsx
|
|
2118
2674
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
2119
|
-
import { cva as
|
|
2675
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
2120
2676
|
import "react";
|
|
2121
|
-
import { jsx as
|
|
2122
|
-
var labelTextVariants =
|
|
2677
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
2678
|
+
var labelTextVariants = cva5("font-sans font-semibold ", {
|
|
2123
2679
|
variants: {
|
|
2124
2680
|
size: {
|
|
2125
2681
|
lg: "text-base md:text-lg md:leading-[1.625rem] leading-[1.5rem]",
|
|
@@ -2139,7 +2695,7 @@ function Label3({
|
|
|
2139
2695
|
...props
|
|
2140
2696
|
}) {
|
|
2141
2697
|
const Comp = asChild ? Slot4 : "label";
|
|
2142
|
-
return /* @__PURE__ */
|
|
2698
|
+
return /* @__PURE__ */ jsx25(
|
|
2143
2699
|
Comp,
|
|
2144
2700
|
{
|
|
2145
2701
|
"data-slot": "label",
|
|
@@ -2150,19 +2706,19 @@ function Label3({
|
|
|
2150
2706
|
}
|
|
2151
2707
|
|
|
2152
2708
|
// src/components/ui/form.tsx
|
|
2153
|
-
import { jsx as
|
|
2709
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2154
2710
|
var Form = FormProvider;
|
|
2155
|
-
var FormFieldContext =
|
|
2711
|
+
var FormFieldContext = React24.createContext(
|
|
2156
2712
|
{}
|
|
2157
2713
|
);
|
|
2158
2714
|
var FormField = ({
|
|
2159
2715
|
...props
|
|
2160
2716
|
}) => {
|
|
2161
|
-
return /* @__PURE__ */
|
|
2717
|
+
return /* @__PURE__ */ jsx26(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx26(Controller, { ...props }) });
|
|
2162
2718
|
};
|
|
2163
2719
|
var useFormField = () => {
|
|
2164
|
-
const fieldContext =
|
|
2165
|
-
const itemContext =
|
|
2720
|
+
const fieldContext = React24.useContext(FormFieldContext);
|
|
2721
|
+
const itemContext = React24.useContext(FormItemContext);
|
|
2166
2722
|
const { getFieldState } = useFormContext();
|
|
2167
2723
|
const formState = useFormState({ name: fieldContext.name });
|
|
2168
2724
|
const fieldState = getFieldState(fieldContext.name, formState);
|
|
@@ -2179,12 +2735,12 @@ var useFormField = () => {
|
|
|
2179
2735
|
...fieldState
|
|
2180
2736
|
};
|
|
2181
2737
|
};
|
|
2182
|
-
var FormItemContext =
|
|
2738
|
+
var FormItemContext = React24.createContext(
|
|
2183
2739
|
{}
|
|
2184
2740
|
);
|
|
2185
2741
|
function FormItem({ className, ...props }) {
|
|
2186
|
-
const id =
|
|
2187
|
-
return /* @__PURE__ */
|
|
2742
|
+
const id = React24.useId();
|
|
2743
|
+
return /* @__PURE__ */ jsx26(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx26(
|
|
2188
2744
|
"div",
|
|
2189
2745
|
{
|
|
2190
2746
|
"data-slot": "form-item",
|
|
@@ -2198,7 +2754,7 @@ function FormLabel({
|
|
|
2198
2754
|
...props
|
|
2199
2755
|
}) {
|
|
2200
2756
|
const { error, formItemId } = useFormField();
|
|
2201
|
-
return /* @__PURE__ */
|
|
2757
|
+
return /* @__PURE__ */ jsx26(
|
|
2202
2758
|
Label3,
|
|
2203
2759
|
{
|
|
2204
2760
|
"data-slot": "form-label",
|
|
@@ -2211,7 +2767,7 @@ function FormLabel({
|
|
|
2211
2767
|
}
|
|
2212
2768
|
function FormControl({ ...props }) {
|
|
2213
2769
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
2214
|
-
return /* @__PURE__ */
|
|
2770
|
+
return /* @__PURE__ */ jsx26(
|
|
2215
2771
|
Slot5,
|
|
2216
2772
|
{
|
|
2217
2773
|
"data-slot": "form-control",
|
|
@@ -2224,7 +2780,7 @@ function FormControl({ ...props }) {
|
|
|
2224
2780
|
}
|
|
2225
2781
|
function FormDescription({ className, ...props }) {
|
|
2226
2782
|
const { formDescriptionId } = useFormField();
|
|
2227
|
-
return /* @__PURE__ */
|
|
2783
|
+
return /* @__PURE__ */ jsx26(
|
|
2228
2784
|
"p",
|
|
2229
2785
|
{
|
|
2230
2786
|
"data-slot": "form-description",
|
|
@@ -2240,7 +2796,7 @@ function FormMessage({ className, ...props }) {
|
|
|
2240
2796
|
if (!body) {
|
|
2241
2797
|
return null;
|
|
2242
2798
|
}
|
|
2243
|
-
return /* @__PURE__ */
|
|
2799
|
+
return /* @__PURE__ */ jsx26(
|
|
2244
2800
|
"p",
|
|
2245
2801
|
{
|
|
2246
2802
|
"data-slot": "form-message",
|
|
@@ -2255,16 +2811,16 @@ function FormMessage({ className, ...props }) {
|
|
|
2255
2811
|
// src/components/ui/hover-card.tsx
|
|
2256
2812
|
import "react";
|
|
2257
2813
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
2258
|
-
import { jsx as
|
|
2814
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2259
2815
|
function HoverCard({
|
|
2260
2816
|
...props
|
|
2261
2817
|
}) {
|
|
2262
|
-
return /* @__PURE__ */
|
|
2818
|
+
return /* @__PURE__ */ jsx27(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
2263
2819
|
}
|
|
2264
2820
|
function HoverCardTrigger({
|
|
2265
2821
|
...props
|
|
2266
2822
|
}) {
|
|
2267
|
-
return /* @__PURE__ */
|
|
2823
|
+
return /* @__PURE__ */ jsx27(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
2268
2824
|
}
|
|
2269
2825
|
function HoverCardContent({
|
|
2270
2826
|
className,
|
|
@@ -2272,7 +2828,7 @@ function HoverCardContent({
|
|
|
2272
2828
|
sideOffset = 4,
|
|
2273
2829
|
...props
|
|
2274
2830
|
}) {
|
|
2275
|
-
return /* @__PURE__ */
|
|
2831
|
+
return /* @__PURE__ */ jsx27(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx27(
|
|
2276
2832
|
HoverCardPrimitive.Content,
|
|
2277
2833
|
{
|
|
2278
2834
|
"data-slot": "hover-card-content",
|
|
@@ -2287,149 +2843,17 @@ function HoverCardContent({
|
|
|
2287
2843
|
) });
|
|
2288
2844
|
}
|
|
2289
2845
|
|
|
2290
|
-
// src/components/ui/input.tsx
|
|
2291
|
-
import { cva as cva5 } from "class-variance-authority";
|
|
2292
|
-
import * as React21 from "react";
|
|
2293
|
-
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2294
|
-
var inputVariants = cva5(
|
|
2295
|
-
[
|
|
2296
|
-
// Base styles
|
|
2297
|
-
"file:text-zinc-800 placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
2298
|
-
"flex w-full min-w-0 rounded-md border bg-transparent text-base transition-all duration-400",
|
|
2299
|
-
"outline-none font-sans",
|
|
2300
|
-
// File input styles
|
|
2301
|
-
"file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
2302
|
-
// Disabled styles
|
|
2303
|
-
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2304
|
-
// Responsive text size
|
|
2305
|
-
"md:text-sm",
|
|
2306
|
-
// Default state
|
|
2307
|
-
"border-zinc-300 bg-background",
|
|
2308
|
-
// Hover state
|
|
2309
|
-
"hover:border-primary-stroke-default",
|
|
2310
|
-
// Focus state
|
|
2311
|
-
"focus:border-blue-500",
|
|
2312
|
-
"active:border-brand-normal"
|
|
2313
|
-
],
|
|
2314
|
-
{
|
|
2315
|
-
variants: {
|
|
2316
|
-
size: {
|
|
2317
|
-
sm: "h-9 px-3 py-1 text-base",
|
|
2318
|
-
md: "h-10 px-3 py-2 text-base",
|
|
2319
|
-
lg: "h-12 px-4 py-3 text-base"
|
|
2320
|
-
}
|
|
2321
|
-
},
|
|
2322
|
-
defaultVariants: {
|
|
2323
|
-
size: "md"
|
|
2324
|
-
}
|
|
2325
|
-
}
|
|
2326
|
-
);
|
|
2327
|
-
var Input = React21.forwardRef(
|
|
2328
|
-
({
|
|
2329
|
-
className,
|
|
2330
|
-
type,
|
|
2331
|
-
size,
|
|
2332
|
-
leftIcon,
|
|
2333
|
-
rightIcon,
|
|
2334
|
-
leftIconClassName,
|
|
2335
|
-
rightIconClassName,
|
|
2336
|
-
rightIconOnClick,
|
|
2337
|
-
rightIconButtonProps,
|
|
2338
|
-
error,
|
|
2339
|
-
...props
|
|
2340
|
-
}, ref) => {
|
|
2341
|
-
const errorStyles2 = error ? [
|
|
2342
|
-
"border-destructive bg-red-subtle",
|
|
2343
|
-
"focus:border-destructive focus:ring-destructive/20",
|
|
2344
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
2345
|
-
] : [];
|
|
2346
|
-
if (leftIcon || rightIcon) {
|
|
2347
|
-
return /* @__PURE__ */ jsxs11("div", { className: "relative", children: [
|
|
2348
|
-
/* @__PURE__ */ jsx23(
|
|
2349
|
-
"input",
|
|
2350
|
-
{
|
|
2351
|
-
type,
|
|
2352
|
-
"data-slot": "input",
|
|
2353
|
-
className: cn(
|
|
2354
|
-
inputVariants({ size }),
|
|
2355
|
-
errorStyles2,
|
|
2356
|
-
"peer",
|
|
2357
|
-
leftIcon && "pl-8",
|
|
2358
|
-
rightIcon && "pr-10",
|
|
2359
|
-
className
|
|
2360
|
-
),
|
|
2361
|
-
ref,
|
|
2362
|
-
"aria-invalid": error,
|
|
2363
|
-
...props
|
|
2364
|
-
}
|
|
2365
|
-
),
|
|
2366
|
-
leftIcon && /* @__PURE__ */ jsx23(
|
|
2367
|
-
"div",
|
|
2368
|
-
{
|
|
2369
|
-
className: cn(
|
|
2370
|
-
"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
2371
|
-
"transition-colors stroke-[1.5px]",
|
|
2372
|
-
error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-blue-500 peer-active:text-brand-normal",
|
|
2373
|
-
leftIconClassName
|
|
2374
|
-
),
|
|
2375
|
-
children: React21.isValidElement(leftIcon) ? (() => {
|
|
2376
|
-
const iconEl = leftIcon;
|
|
2377
|
-
return React21.cloneElement(iconEl, {
|
|
2378
|
-
className: cn("h-4 w-4", iconEl.props.className)
|
|
2379
|
-
});
|
|
2380
|
-
})() : leftIcon
|
|
2381
|
-
}
|
|
2382
|
-
),
|
|
2383
|
-
rightIcon && /* @__PURE__ */ jsx23(
|
|
2384
|
-
Button,
|
|
2385
|
-
{
|
|
2386
|
-
onClick: rightIconOnClick,
|
|
2387
|
-
variant: "ghost",
|
|
2388
|
-
size: "icon",
|
|
2389
|
-
className: cn(
|
|
2390
|
-
"absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
|
|
2391
|
-
"h-6 w-6 rounded-sm transition-colors",
|
|
2392
|
-
error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-blue-500",
|
|
2393
|
-
rightIconClassName
|
|
2394
|
-
),
|
|
2395
|
-
"aria-label": "Input action",
|
|
2396
|
-
...rightIconButtonProps,
|
|
2397
|
-
children: React21.isValidElement(rightIcon) ? (() => {
|
|
2398
|
-
const iconEl = rightIcon;
|
|
2399
|
-
return React21.cloneElement(iconEl, {
|
|
2400
|
-
className: cn("h-4 w-4", iconEl.props.className)
|
|
2401
|
-
});
|
|
2402
|
-
})() : rightIcon
|
|
2403
|
-
}
|
|
2404
|
-
)
|
|
2405
|
-
] });
|
|
2406
|
-
}
|
|
2407
|
-
return /* @__PURE__ */ jsx23(
|
|
2408
|
-
"input",
|
|
2409
|
-
{
|
|
2410
|
-
type,
|
|
2411
|
-
"data-slot": "input",
|
|
2412
|
-
className: cn(inputVariants({ size }), errorStyles2, className),
|
|
2413
|
-
ref,
|
|
2414
|
-
"aria-invalid": error,
|
|
2415
|
-
...props
|
|
2416
|
-
}
|
|
2417
|
-
);
|
|
2418
|
-
}
|
|
2419
|
-
);
|
|
2420
|
-
Input.displayName = "Input";
|
|
2421
|
-
|
|
2422
2846
|
// src/components/ui/input-otp.tsx
|
|
2423
|
-
import * as
|
|
2847
|
+
import * as React26 from "react";
|
|
2424
2848
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
2425
2849
|
import { MinusIcon } from "lucide-react";
|
|
2426
|
-
import { jsx as
|
|
2850
|
+
import { jsx as jsx28, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2427
2851
|
function InputOTP({
|
|
2428
2852
|
className,
|
|
2429
2853
|
containerClassName,
|
|
2430
2854
|
...props
|
|
2431
2855
|
}) {
|
|
2432
|
-
return /* @__PURE__ */
|
|
2856
|
+
return /* @__PURE__ */ jsx28(
|
|
2433
2857
|
OTPInput,
|
|
2434
2858
|
{
|
|
2435
2859
|
"data-slot": "input-otp",
|
|
@@ -2443,7 +2867,7 @@ function InputOTP({
|
|
|
2443
2867
|
);
|
|
2444
2868
|
}
|
|
2445
2869
|
function InputOTPGroup({ className, ...props }) {
|
|
2446
|
-
return /* @__PURE__ */
|
|
2870
|
+
return /* @__PURE__ */ jsx28(
|
|
2447
2871
|
"div",
|
|
2448
2872
|
{
|
|
2449
2873
|
"data-slot": "input-otp-group",
|
|
@@ -2457,9 +2881,9 @@ function InputOTPSlot({
|
|
|
2457
2881
|
className,
|
|
2458
2882
|
...props
|
|
2459
2883
|
}) {
|
|
2460
|
-
const inputOTPContext =
|
|
2884
|
+
const inputOTPContext = React26.useContext(OTPInputContext);
|
|
2461
2885
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
2462
|
-
return /* @__PURE__ */
|
|
2886
|
+
return /* @__PURE__ */ jsxs13(
|
|
2463
2887
|
"div",
|
|
2464
2888
|
{
|
|
2465
2889
|
"data-slot": "input-otp-slot",
|
|
@@ -2471,25 +2895,25 @@ function InputOTPSlot({
|
|
|
2471
2895
|
...props,
|
|
2472
2896
|
children: [
|
|
2473
2897
|
char,
|
|
2474
|
-
hasFakeCaret && /* @__PURE__ */
|
|
2898
|
+
hasFakeCaret && /* @__PURE__ */ jsx28("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx28("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
|
|
2475
2899
|
]
|
|
2476
2900
|
}
|
|
2477
2901
|
);
|
|
2478
2902
|
}
|
|
2479
2903
|
function InputOTPSeparator({ ...props }) {
|
|
2480
|
-
return /* @__PURE__ */
|
|
2904
|
+
return /* @__PURE__ */ jsx28("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx28(MinusIcon, {}) });
|
|
2481
2905
|
}
|
|
2482
2906
|
|
|
2483
2907
|
// src/components/ui/menubar.tsx
|
|
2484
2908
|
import "react";
|
|
2485
2909
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
2486
2910
|
import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
|
|
2487
|
-
import { jsx as
|
|
2911
|
+
import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2488
2912
|
function Menubar({
|
|
2489
2913
|
className,
|
|
2490
2914
|
...props
|
|
2491
2915
|
}) {
|
|
2492
|
-
return /* @__PURE__ */
|
|
2916
|
+
return /* @__PURE__ */ jsx29(
|
|
2493
2917
|
MenubarPrimitive.Root,
|
|
2494
2918
|
{
|
|
2495
2919
|
"data-slot": "menubar",
|
|
@@ -2504,28 +2928,28 @@ function Menubar({
|
|
|
2504
2928
|
function MenubarMenu({
|
|
2505
2929
|
...props
|
|
2506
2930
|
}) {
|
|
2507
|
-
return /* @__PURE__ */
|
|
2931
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
|
|
2508
2932
|
}
|
|
2509
2933
|
function MenubarGroup({
|
|
2510
2934
|
...props
|
|
2511
2935
|
}) {
|
|
2512
|
-
return /* @__PURE__ */
|
|
2936
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
|
|
2513
2937
|
}
|
|
2514
2938
|
function MenubarPortal({
|
|
2515
2939
|
...props
|
|
2516
2940
|
}) {
|
|
2517
|
-
return /* @__PURE__ */
|
|
2941
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
|
|
2518
2942
|
}
|
|
2519
2943
|
function MenubarRadioGroup({
|
|
2520
2944
|
...props
|
|
2521
2945
|
}) {
|
|
2522
|
-
return /* @__PURE__ */
|
|
2946
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
2523
2947
|
}
|
|
2524
2948
|
function MenubarTrigger({
|
|
2525
2949
|
className,
|
|
2526
2950
|
...props
|
|
2527
2951
|
}) {
|
|
2528
|
-
return /* @__PURE__ */
|
|
2952
|
+
return /* @__PURE__ */ jsx29(
|
|
2529
2953
|
MenubarPrimitive.Trigger,
|
|
2530
2954
|
{
|
|
2531
2955
|
"data-slot": "menubar-trigger",
|
|
@@ -2544,7 +2968,7 @@ function MenubarContent({
|
|
|
2544
2968
|
sideOffset = 8,
|
|
2545
2969
|
...props
|
|
2546
2970
|
}) {
|
|
2547
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ jsx29(MenubarPortal, { children: /* @__PURE__ */ jsx29(
|
|
2548
2972
|
MenubarPrimitive.Content,
|
|
2549
2973
|
{
|
|
2550
2974
|
"data-slot": "menubar-content",
|
|
@@ -2565,7 +2989,7 @@ function MenubarItem({
|
|
|
2565
2989
|
variant = "default",
|
|
2566
2990
|
...props
|
|
2567
2991
|
}) {
|
|
2568
|
-
return /* @__PURE__ */
|
|
2992
|
+
return /* @__PURE__ */ jsx29(
|
|
2569
2993
|
MenubarPrimitive.Item,
|
|
2570
2994
|
{
|
|
2571
2995
|
"data-slot": "menubar-item",
|
|
@@ -2585,7 +3009,7 @@ function MenubarCheckboxItem({
|
|
|
2585
3009
|
checked,
|
|
2586
3010
|
...props
|
|
2587
3011
|
}) {
|
|
2588
|
-
return /* @__PURE__ */
|
|
3012
|
+
return /* @__PURE__ */ jsxs14(
|
|
2589
3013
|
MenubarPrimitive.CheckboxItem,
|
|
2590
3014
|
{
|
|
2591
3015
|
"data-slot": "menubar-checkbox-item",
|
|
@@ -2596,7 +3020,7 @@ function MenubarCheckboxItem({
|
|
|
2596
3020
|
checked,
|
|
2597
3021
|
...props,
|
|
2598
3022
|
children: [
|
|
2599
|
-
/* @__PURE__ */
|
|
3023
|
+
/* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CheckIcon3, { className: "size-4" }) }) }),
|
|
2600
3024
|
children
|
|
2601
3025
|
]
|
|
2602
3026
|
}
|
|
@@ -2607,7 +3031,7 @@ function MenubarRadioItem({
|
|
|
2607
3031
|
children,
|
|
2608
3032
|
...props
|
|
2609
3033
|
}) {
|
|
2610
|
-
return /* @__PURE__ */
|
|
3034
|
+
return /* @__PURE__ */ jsxs14(
|
|
2611
3035
|
MenubarPrimitive.RadioItem,
|
|
2612
3036
|
{
|
|
2613
3037
|
"data-slot": "menubar-radio-item",
|
|
@@ -2617,7 +3041,7 @@ function MenubarRadioItem({
|
|
|
2617
3041
|
),
|
|
2618
3042
|
...props,
|
|
2619
3043
|
children: [
|
|
2620
|
-
/* @__PURE__ */
|
|
3044
|
+
/* @__PURE__ */ jsx29("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CircleIcon3, { className: "size-2 fill-current" }) }) }),
|
|
2621
3045
|
children
|
|
2622
3046
|
]
|
|
2623
3047
|
}
|
|
@@ -2628,7 +3052,7 @@ function MenubarLabel({
|
|
|
2628
3052
|
inset,
|
|
2629
3053
|
...props
|
|
2630
3054
|
}) {
|
|
2631
|
-
return /* @__PURE__ */
|
|
3055
|
+
return /* @__PURE__ */ jsx29(
|
|
2632
3056
|
MenubarPrimitive.Label,
|
|
2633
3057
|
{
|
|
2634
3058
|
"data-slot": "menubar-label",
|
|
@@ -2645,7 +3069,7 @@ function MenubarSeparator({
|
|
|
2645
3069
|
className,
|
|
2646
3070
|
...props
|
|
2647
3071
|
}) {
|
|
2648
|
-
return /* @__PURE__ */
|
|
3072
|
+
return /* @__PURE__ */ jsx29(
|
|
2649
3073
|
MenubarPrimitive.Separator,
|
|
2650
3074
|
{
|
|
2651
3075
|
"data-slot": "menubar-separator",
|
|
@@ -2658,7 +3082,7 @@ function MenubarShortcut({
|
|
|
2658
3082
|
className,
|
|
2659
3083
|
...props
|
|
2660
3084
|
}) {
|
|
2661
|
-
return /* @__PURE__ */
|
|
3085
|
+
return /* @__PURE__ */ jsx29(
|
|
2662
3086
|
"span",
|
|
2663
3087
|
{
|
|
2664
3088
|
"data-slot": "menubar-shortcut",
|
|
@@ -2673,7 +3097,7 @@ function MenubarShortcut({
|
|
|
2673
3097
|
function MenubarSub({
|
|
2674
3098
|
...props
|
|
2675
3099
|
}) {
|
|
2676
|
-
return /* @__PURE__ */
|
|
3100
|
+
return /* @__PURE__ */ jsx29(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
2677
3101
|
}
|
|
2678
3102
|
function MenubarSubTrigger({
|
|
2679
3103
|
className,
|
|
@@ -2681,7 +3105,7 @@ function MenubarSubTrigger({
|
|
|
2681
3105
|
children,
|
|
2682
3106
|
...props
|
|
2683
3107
|
}) {
|
|
2684
|
-
return /* @__PURE__ */
|
|
3108
|
+
return /* @__PURE__ */ jsxs14(
|
|
2685
3109
|
MenubarPrimitive.SubTrigger,
|
|
2686
3110
|
{
|
|
2687
3111
|
"data-slot": "menubar-sub-trigger",
|
|
@@ -2693,7 +3117,7 @@ function MenubarSubTrigger({
|
|
|
2693
3117
|
...props,
|
|
2694
3118
|
children: [
|
|
2695
3119
|
children,
|
|
2696
|
-
/* @__PURE__ */
|
|
3120
|
+
/* @__PURE__ */ jsx29(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
|
|
2697
3121
|
]
|
|
2698
3122
|
}
|
|
2699
3123
|
);
|
|
@@ -2702,7 +3126,7 @@ function MenubarSubContent({
|
|
|
2702
3126
|
className,
|
|
2703
3127
|
...props
|
|
2704
3128
|
}) {
|
|
2705
|
-
return /* @__PURE__ */
|
|
3129
|
+
return /* @__PURE__ */ jsx29(
|
|
2706
3130
|
MenubarPrimitive.SubContent,
|
|
2707
3131
|
{
|
|
2708
3132
|
"data-slot": "menubar-sub-content",
|
|
@@ -2720,14 +3144,14 @@ import "react";
|
|
|
2720
3144
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
2721
3145
|
import { cva as cva6 } from "class-variance-authority";
|
|
2722
3146
|
import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
|
|
2723
|
-
import { jsx as
|
|
3147
|
+
import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2724
3148
|
function NavigationMenu({
|
|
2725
3149
|
className,
|
|
2726
3150
|
children,
|
|
2727
3151
|
viewport = true,
|
|
2728
3152
|
...props
|
|
2729
3153
|
}) {
|
|
2730
|
-
return /* @__PURE__ */
|
|
3154
|
+
return /* @__PURE__ */ jsxs15(
|
|
2731
3155
|
NavigationMenuPrimitive.Root,
|
|
2732
3156
|
{
|
|
2733
3157
|
"data-slot": "navigation-menu",
|
|
@@ -2739,7 +3163,7 @@ function NavigationMenu({
|
|
|
2739
3163
|
...props,
|
|
2740
3164
|
children: [
|
|
2741
3165
|
children,
|
|
2742
|
-
viewport && /* @__PURE__ */
|
|
3166
|
+
viewport && /* @__PURE__ */ jsx30(NavigationMenuViewport, {})
|
|
2743
3167
|
]
|
|
2744
3168
|
}
|
|
2745
3169
|
);
|
|
@@ -2748,7 +3172,7 @@ function NavigationMenuList({
|
|
|
2748
3172
|
className,
|
|
2749
3173
|
...props
|
|
2750
3174
|
}) {
|
|
2751
|
-
return /* @__PURE__ */
|
|
3175
|
+
return /* @__PURE__ */ jsx30(
|
|
2752
3176
|
NavigationMenuPrimitive.List,
|
|
2753
3177
|
{
|
|
2754
3178
|
"data-slot": "navigation-menu-list",
|
|
@@ -2764,7 +3188,7 @@ function NavigationMenuItem({
|
|
|
2764
3188
|
className,
|
|
2765
3189
|
...props
|
|
2766
3190
|
}) {
|
|
2767
|
-
return /* @__PURE__ */
|
|
3191
|
+
return /* @__PURE__ */ jsx30(
|
|
2768
3192
|
NavigationMenuPrimitive.Item,
|
|
2769
3193
|
{
|
|
2770
3194
|
"data-slot": "navigation-menu-item",
|
|
@@ -2781,7 +3205,7 @@ function NavigationMenuTrigger({
|
|
|
2781
3205
|
children,
|
|
2782
3206
|
...props
|
|
2783
3207
|
}) {
|
|
2784
|
-
return /* @__PURE__ */
|
|
3208
|
+
return /* @__PURE__ */ jsxs15(
|
|
2785
3209
|
NavigationMenuPrimitive.Trigger,
|
|
2786
3210
|
{
|
|
2787
3211
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -2790,7 +3214,7 @@ function NavigationMenuTrigger({
|
|
|
2790
3214
|
children: [
|
|
2791
3215
|
children,
|
|
2792
3216
|
" ",
|
|
2793
|
-
/* @__PURE__ */
|
|
3217
|
+
/* @__PURE__ */ jsx30(
|
|
2794
3218
|
ChevronDownIcon3,
|
|
2795
3219
|
{
|
|
2796
3220
|
className: "relative top-[1px] ml-1 size-3 transition duration-400 group-data-[state=open]:rotate-180",
|
|
@@ -2805,7 +3229,7 @@ function NavigationMenuContent({
|
|
|
2805
3229
|
className,
|
|
2806
3230
|
...props
|
|
2807
3231
|
}) {
|
|
2808
|
-
return /* @__PURE__ */
|
|
3232
|
+
return /* @__PURE__ */ jsx30(
|
|
2809
3233
|
NavigationMenuPrimitive.Content,
|
|
2810
3234
|
{
|
|
2811
3235
|
"data-slot": "navigation-menu-content",
|
|
@@ -2822,13 +3246,13 @@ function NavigationMenuViewport({
|
|
|
2822
3246
|
className,
|
|
2823
3247
|
...props
|
|
2824
3248
|
}) {
|
|
2825
|
-
return /* @__PURE__ */
|
|
3249
|
+
return /* @__PURE__ */ jsx30(
|
|
2826
3250
|
"div",
|
|
2827
3251
|
{
|
|
2828
3252
|
className: cn(
|
|
2829
3253
|
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
2830
3254
|
),
|
|
2831
|
-
children: /* @__PURE__ */
|
|
3255
|
+
children: /* @__PURE__ */ jsx30(
|
|
2832
3256
|
NavigationMenuPrimitive.Viewport,
|
|
2833
3257
|
{
|
|
2834
3258
|
"data-slot": "navigation-menu-viewport",
|
|
@@ -2846,7 +3270,7 @@ function NavigationMenuLink({
|
|
|
2846
3270
|
className,
|
|
2847
3271
|
...props
|
|
2848
3272
|
}) {
|
|
2849
|
-
return /* @__PURE__ */
|
|
3273
|
+
return /* @__PURE__ */ jsx30(
|
|
2850
3274
|
NavigationMenuPrimitive.Link,
|
|
2851
3275
|
{
|
|
2852
3276
|
"data-slot": "navigation-menu-link",
|
|
@@ -2862,7 +3286,7 @@ function NavigationMenuIndicator({
|
|
|
2862
3286
|
className,
|
|
2863
3287
|
...props
|
|
2864
3288
|
}) {
|
|
2865
|
-
return /* @__PURE__ */
|
|
3289
|
+
return /* @__PURE__ */ jsx30(
|
|
2866
3290
|
NavigationMenuPrimitive.Indicator,
|
|
2867
3291
|
{
|
|
2868
3292
|
"data-slot": "navigation-menu-indicator",
|
|
@@ -2871,7 +3295,7 @@ function NavigationMenuIndicator({
|
|
|
2871
3295
|
className
|
|
2872
3296
|
),
|
|
2873
3297
|
...props,
|
|
2874
|
-
children: /* @__PURE__ */
|
|
3298
|
+
children: /* @__PURE__ */ jsx30("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
|
|
2875
3299
|
}
|
|
2876
3300
|
);
|
|
2877
3301
|
}
|
|
@@ -2883,9 +3307,9 @@ import {
|
|
|
2883
3307
|
ChevronRightIcon as ChevronRightIcon5,
|
|
2884
3308
|
MoreHorizontalIcon
|
|
2885
3309
|
} from "lucide-react";
|
|
2886
|
-
import { jsx as
|
|
3310
|
+
import { jsx as jsx31, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2887
3311
|
function Pagination({ className, ...props }) {
|
|
2888
|
-
return /* @__PURE__ */
|
|
3312
|
+
return /* @__PURE__ */ jsx31(
|
|
2889
3313
|
"nav",
|
|
2890
3314
|
{
|
|
2891
3315
|
role: "navigation",
|
|
@@ -2900,7 +3324,7 @@ function PaginationContent({
|
|
|
2900
3324
|
className,
|
|
2901
3325
|
...props
|
|
2902
3326
|
}) {
|
|
2903
|
-
return /* @__PURE__ */
|
|
3327
|
+
return /* @__PURE__ */ jsx31(
|
|
2904
3328
|
"ul",
|
|
2905
3329
|
{
|
|
2906
3330
|
"data-slot": "pagination-content",
|
|
@@ -2910,7 +3334,7 @@ function PaginationContent({
|
|
|
2910
3334
|
);
|
|
2911
3335
|
}
|
|
2912
3336
|
function PaginationItem({ ...props }) {
|
|
2913
|
-
return /* @__PURE__ */
|
|
3337
|
+
return /* @__PURE__ */ jsx31("li", { "data-slot": "pagination-item", ...props });
|
|
2914
3338
|
}
|
|
2915
3339
|
function PaginationLink({
|
|
2916
3340
|
className,
|
|
@@ -2918,7 +3342,7 @@ function PaginationLink({
|
|
|
2918
3342
|
size = "icon",
|
|
2919
3343
|
...props
|
|
2920
3344
|
}) {
|
|
2921
|
-
return /* @__PURE__ */
|
|
3345
|
+
return /* @__PURE__ */ jsx31(
|
|
2922
3346
|
"a",
|
|
2923
3347
|
{
|
|
2924
3348
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2939,7 +3363,7 @@ function PaginationPrevious({
|
|
|
2939
3363
|
className,
|
|
2940
3364
|
...props
|
|
2941
3365
|
}) {
|
|
2942
|
-
return /* @__PURE__ */
|
|
3366
|
+
return /* @__PURE__ */ jsxs16(
|
|
2943
3367
|
PaginationLink,
|
|
2944
3368
|
{
|
|
2945
3369
|
"aria-label": "Go to previous page",
|
|
@@ -2947,8 +3371,8 @@ function PaginationPrevious({
|
|
|
2947
3371
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
2948
3372
|
...props,
|
|
2949
3373
|
children: [
|
|
2950
|
-
/* @__PURE__ */
|
|
2951
|
-
/* @__PURE__ */
|
|
3374
|
+
/* @__PURE__ */ jsx31(ChevronLeftIcon2, {}),
|
|
3375
|
+
/* @__PURE__ */ jsx31("span", { className: "hidden sm:block", children: "Previous" })
|
|
2952
3376
|
]
|
|
2953
3377
|
}
|
|
2954
3378
|
);
|
|
@@ -2957,7 +3381,7 @@ function PaginationNext({
|
|
|
2957
3381
|
className,
|
|
2958
3382
|
...props
|
|
2959
3383
|
}) {
|
|
2960
|
-
return /* @__PURE__ */
|
|
3384
|
+
return /* @__PURE__ */ jsxs16(
|
|
2961
3385
|
PaginationLink,
|
|
2962
3386
|
{
|
|
2963
3387
|
"aria-label": "Go to next page",
|
|
@@ -2965,8 +3389,8 @@ function PaginationNext({
|
|
|
2965
3389
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
2966
3390
|
...props,
|
|
2967
3391
|
children: [
|
|
2968
|
-
/* @__PURE__ */
|
|
2969
|
-
/* @__PURE__ */
|
|
3392
|
+
/* @__PURE__ */ jsx31("span", { className: "hidden sm:block", children: "Next" }),
|
|
3393
|
+
/* @__PURE__ */ jsx31(ChevronRightIcon5, {})
|
|
2970
3394
|
]
|
|
2971
3395
|
}
|
|
2972
3396
|
);
|
|
@@ -2975,7 +3399,7 @@ function PaginationEllipsis({
|
|
|
2975
3399
|
className,
|
|
2976
3400
|
...props
|
|
2977
3401
|
}) {
|
|
2978
|
-
return /* @__PURE__ */
|
|
3402
|
+
return /* @__PURE__ */ jsxs16(
|
|
2979
3403
|
"span",
|
|
2980
3404
|
{
|
|
2981
3405
|
"aria-hidden": true,
|
|
@@ -2983,63 +3407,23 @@ function PaginationEllipsis({
|
|
|
2983
3407
|
className: cn("flex size-9 items-center justify-center", className),
|
|
2984
3408
|
...props,
|
|
2985
3409
|
children: [
|
|
2986
|
-
/* @__PURE__ */
|
|
2987
|
-
/* @__PURE__ */
|
|
3410
|
+
/* @__PURE__ */ jsx31(MoreHorizontalIcon, { className: "size-4" }),
|
|
3411
|
+
/* @__PURE__ */ jsx31("span", { className: "sr-only", children: "More pages" })
|
|
2988
3412
|
]
|
|
2989
3413
|
}
|
|
2990
3414
|
);
|
|
2991
3415
|
}
|
|
2992
3416
|
|
|
2993
|
-
// src/components/ui/popover.tsx
|
|
2994
|
-
import "react";
|
|
2995
|
-
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2996
|
-
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2997
|
-
function Popover({
|
|
2998
|
-
...props
|
|
2999
|
-
}) {
|
|
3000
|
-
return /* @__PURE__ */ jsx28(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
3001
|
-
}
|
|
3002
|
-
function PopoverTrigger({
|
|
3003
|
-
...props
|
|
3004
|
-
}) {
|
|
3005
|
-
return /* @__PURE__ */ jsx28(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
3006
|
-
}
|
|
3007
|
-
function PopoverContent({
|
|
3008
|
-
className,
|
|
3009
|
-
align = "center",
|
|
3010
|
-
sideOffset = 4,
|
|
3011
|
-
...props
|
|
3012
|
-
}) {
|
|
3013
|
-
return /* @__PURE__ */ jsx28(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx28(
|
|
3014
|
-
PopoverPrimitive.Content,
|
|
3015
|
-
{
|
|
3016
|
-
"data-slot": "popover-content",
|
|
3017
|
-
align,
|
|
3018
|
-
sideOffset,
|
|
3019
|
-
className: cn(
|
|
3020
|
-
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
3021
|
-
className
|
|
3022
|
-
),
|
|
3023
|
-
...props
|
|
3024
|
-
}
|
|
3025
|
-
) });
|
|
3026
|
-
}
|
|
3027
|
-
function PopoverAnchor({
|
|
3028
|
-
...props
|
|
3029
|
-
}) {
|
|
3030
|
-
return /* @__PURE__ */ jsx28(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
3031
|
-
}
|
|
3032
|
-
|
|
3033
3417
|
// src/components/ui/progress.tsx
|
|
3034
3418
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
3035
3419
|
import "react";
|
|
3036
|
-
import { jsx as
|
|
3420
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
3037
3421
|
function Progress({
|
|
3038
3422
|
className,
|
|
3039
3423
|
value,
|
|
3040
3424
|
...props
|
|
3041
3425
|
}) {
|
|
3042
|
-
return /* @__PURE__ */
|
|
3426
|
+
return /* @__PURE__ */ jsx32(
|
|
3043
3427
|
ProgressPrimitive.Root,
|
|
3044
3428
|
{
|
|
3045
3429
|
"data-slot": "progress",
|
|
@@ -3048,7 +3432,7 @@ function Progress({
|
|
|
3048
3432
|
className
|
|
3049
3433
|
),
|
|
3050
3434
|
...props,
|
|
3051
|
-
children: /* @__PURE__ */
|
|
3435
|
+
children: /* @__PURE__ */ jsx32(
|
|
3052
3436
|
ProgressPrimitive.Indicator,
|
|
3053
3437
|
{
|
|
3054
3438
|
"data-slot": "progress-indicator",
|
|
@@ -3064,12 +3448,12 @@ function Progress({
|
|
|
3064
3448
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3065
3449
|
import { CircleIcon as CircleIcon4 } from "lucide-react";
|
|
3066
3450
|
import "react";
|
|
3067
|
-
import { jsx as
|
|
3451
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
3068
3452
|
function RadioGroup4({
|
|
3069
3453
|
className,
|
|
3070
3454
|
...props
|
|
3071
3455
|
}) {
|
|
3072
|
-
return /* @__PURE__ */
|
|
3456
|
+
return /* @__PURE__ */ jsx33(
|
|
3073
3457
|
RadioGroupPrimitive.Root,
|
|
3074
3458
|
{
|
|
3075
3459
|
"data-slot": "radio-group",
|
|
@@ -3082,7 +3466,7 @@ function RadioGroupItem({
|
|
|
3082
3466
|
className,
|
|
3083
3467
|
...props
|
|
3084
3468
|
}) {
|
|
3085
|
-
return /* @__PURE__ */
|
|
3469
|
+
return /* @__PURE__ */ jsx33(
|
|
3086
3470
|
RadioGroupPrimitive.Item,
|
|
3087
3471
|
{
|
|
3088
3472
|
"data-slot": "radio-group-item",
|
|
@@ -3091,12 +3475,12 @@ function RadioGroupItem({
|
|
|
3091
3475
|
className
|
|
3092
3476
|
),
|
|
3093
3477
|
...props,
|
|
3094
|
-
children: /* @__PURE__ */
|
|
3478
|
+
children: /* @__PURE__ */ jsx33(
|
|
3095
3479
|
RadioGroupPrimitive.Indicator,
|
|
3096
3480
|
{
|
|
3097
3481
|
"data-slot": "radio-group-indicator",
|
|
3098
3482
|
className: "relative flex items-center justify-center",
|
|
3099
|
-
children: /* @__PURE__ */
|
|
3483
|
+
children: /* @__PURE__ */ jsx33(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-1.5 -translate-x-1/2 -translate-y-1/2" })
|
|
3100
3484
|
}
|
|
3101
3485
|
)
|
|
3102
3486
|
}
|
|
@@ -3107,12 +3491,12 @@ function RadioGroupItem({
|
|
|
3107
3491
|
import "react";
|
|
3108
3492
|
import { GripVerticalIcon } from "lucide-react";
|
|
3109
3493
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
3110
|
-
import { jsx as
|
|
3494
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
3111
3495
|
function ResizablePanelGroup({
|
|
3112
3496
|
className,
|
|
3113
3497
|
...props
|
|
3114
3498
|
}) {
|
|
3115
|
-
return /* @__PURE__ */
|
|
3499
|
+
return /* @__PURE__ */ jsx34(
|
|
3116
3500
|
ResizablePrimitive.PanelGroup,
|
|
3117
3501
|
{
|
|
3118
3502
|
"data-slot": "resizable-panel-group",
|
|
@@ -3127,14 +3511,14 @@ function ResizablePanelGroup({
|
|
|
3127
3511
|
function ResizablePanel({
|
|
3128
3512
|
...props
|
|
3129
3513
|
}) {
|
|
3130
|
-
return /* @__PURE__ */
|
|
3514
|
+
return /* @__PURE__ */ jsx34(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
3131
3515
|
}
|
|
3132
3516
|
function ResizableHandle({
|
|
3133
3517
|
withHandle,
|
|
3134
3518
|
className,
|
|
3135
3519
|
...props
|
|
3136
3520
|
}) {
|
|
3137
|
-
return /* @__PURE__ */
|
|
3521
|
+
return /* @__PURE__ */ jsx34(
|
|
3138
3522
|
ResizablePrimitive.PanelResizeHandle,
|
|
3139
3523
|
{
|
|
3140
3524
|
"data-slot": "resizable-handle",
|
|
@@ -3143,7 +3527,7 @@ function ResizableHandle({
|
|
|
3143
3527
|
className
|
|
3144
3528
|
),
|
|
3145
3529
|
...props,
|
|
3146
|
-
children: withHandle && /* @__PURE__ */
|
|
3530
|
+
children: withHandle && /* @__PURE__ */ jsx34("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx34(GripVerticalIcon, { className: "size-2.5" }) })
|
|
3147
3531
|
}
|
|
3148
3532
|
);
|
|
3149
3533
|
}
|
|
@@ -3151,20 +3535,20 @@ function ResizableHandle({
|
|
|
3151
3535
|
// src/components/ui/scroll-area.tsx
|
|
3152
3536
|
import "react";
|
|
3153
3537
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
3154
|
-
import { jsx as
|
|
3538
|
+
import { jsx as jsx35, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3155
3539
|
function ScrollArea({
|
|
3156
3540
|
className,
|
|
3157
3541
|
children,
|
|
3158
3542
|
...props
|
|
3159
3543
|
}) {
|
|
3160
|
-
return /* @__PURE__ */
|
|
3544
|
+
return /* @__PURE__ */ jsxs17(
|
|
3161
3545
|
ScrollAreaPrimitive.Root,
|
|
3162
3546
|
{
|
|
3163
3547
|
"data-slot": "scroll-area",
|
|
3164
3548
|
className: cn("relative", className),
|
|
3165
3549
|
...props,
|
|
3166
3550
|
children: [
|
|
3167
|
-
/* @__PURE__ */
|
|
3551
|
+
/* @__PURE__ */ jsx35(
|
|
3168
3552
|
ScrollAreaPrimitive.Viewport,
|
|
3169
3553
|
{
|
|
3170
3554
|
"data-slot": "scroll-area-viewport",
|
|
@@ -3172,8 +3556,8 @@ function ScrollArea({
|
|
|
3172
3556
|
children
|
|
3173
3557
|
}
|
|
3174
3558
|
),
|
|
3175
|
-
/* @__PURE__ */
|
|
3176
|
-
/* @__PURE__ */
|
|
3559
|
+
/* @__PURE__ */ jsx35(ScrollBar, {}),
|
|
3560
|
+
/* @__PURE__ */ jsx35(ScrollAreaPrimitive.Corner, {})
|
|
3177
3561
|
]
|
|
3178
3562
|
}
|
|
3179
3563
|
);
|
|
@@ -3183,7 +3567,7 @@ function ScrollBar({
|
|
|
3183
3567
|
orientation = "vertical",
|
|
3184
3568
|
...props
|
|
3185
3569
|
}) {
|
|
3186
|
-
return /* @__PURE__ */
|
|
3570
|
+
return /* @__PURE__ */ jsx35(
|
|
3187
3571
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
3188
3572
|
{
|
|
3189
3573
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -3195,7 +3579,7 @@ function ScrollBar({
|
|
|
3195
3579
|
className
|
|
3196
3580
|
),
|
|
3197
3581
|
...props,
|
|
3198
|
-
children: /* @__PURE__ */
|
|
3582
|
+
children: /* @__PURE__ */ jsx35(
|
|
3199
3583
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
3200
3584
|
{
|
|
3201
3585
|
"data-slot": "scroll-area-thumb",
|
|
@@ -3210,21 +3594,21 @@ function ScrollBar({
|
|
|
3210
3594
|
import "react";
|
|
3211
3595
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
3212
3596
|
import { CheckIcon as CheckIcon4, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
|
|
3213
|
-
import { jsx as
|
|
3597
|
+
import { jsx as jsx36, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3214
3598
|
function Select({
|
|
3215
3599
|
...props
|
|
3216
3600
|
}) {
|
|
3217
|
-
return /* @__PURE__ */
|
|
3601
|
+
return /* @__PURE__ */ jsx36(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
3218
3602
|
}
|
|
3219
3603
|
function SelectGroup({
|
|
3220
3604
|
...props
|
|
3221
3605
|
}) {
|
|
3222
|
-
return /* @__PURE__ */
|
|
3606
|
+
return /* @__PURE__ */ jsx36(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
3223
3607
|
}
|
|
3224
3608
|
function SelectValue({
|
|
3225
3609
|
...props
|
|
3226
3610
|
}) {
|
|
3227
|
-
return /* @__PURE__ */
|
|
3611
|
+
return /* @__PURE__ */ jsx36(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
3228
3612
|
}
|
|
3229
3613
|
function SelectTrigger({
|
|
3230
3614
|
className,
|
|
@@ -3232,7 +3616,7 @@ function SelectTrigger({
|
|
|
3232
3616
|
children,
|
|
3233
3617
|
...props
|
|
3234
3618
|
}) {
|
|
3235
|
-
return /* @__PURE__ */
|
|
3619
|
+
return /* @__PURE__ */ jsxs18(
|
|
3236
3620
|
SelectPrimitive.Trigger,
|
|
3237
3621
|
{
|
|
3238
3622
|
"data-slot": "select-trigger",
|
|
@@ -3244,7 +3628,7 @@ function SelectTrigger({
|
|
|
3244
3628
|
...props,
|
|
3245
3629
|
children: [
|
|
3246
3630
|
children,
|
|
3247
|
-
/* @__PURE__ */
|
|
3631
|
+
/* @__PURE__ */ jsx36(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx36(ChevronDownIcon4, { className: "size-4 opacity-50" }) })
|
|
3248
3632
|
]
|
|
3249
3633
|
}
|
|
3250
3634
|
);
|
|
@@ -3255,7 +3639,7 @@ function SelectContent({
|
|
|
3255
3639
|
position = "popper",
|
|
3256
3640
|
...props
|
|
3257
3641
|
}) {
|
|
3258
|
-
return /* @__PURE__ */
|
|
3642
|
+
return /* @__PURE__ */ jsx36(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs18(
|
|
3259
3643
|
SelectPrimitive.Content,
|
|
3260
3644
|
{
|
|
3261
3645
|
"data-slot": "select-content",
|
|
@@ -3267,8 +3651,8 @@ function SelectContent({
|
|
|
3267
3651
|
position,
|
|
3268
3652
|
...props,
|
|
3269
3653
|
children: [
|
|
3270
|
-
/* @__PURE__ */
|
|
3271
|
-
/* @__PURE__ */
|
|
3654
|
+
/* @__PURE__ */ jsx36(SelectScrollUpButton, {}),
|
|
3655
|
+
/* @__PURE__ */ jsx36(
|
|
3272
3656
|
SelectPrimitive.Viewport,
|
|
3273
3657
|
{
|
|
3274
3658
|
className: cn(
|
|
@@ -3278,7 +3662,7 @@ function SelectContent({
|
|
|
3278
3662
|
children
|
|
3279
3663
|
}
|
|
3280
3664
|
),
|
|
3281
|
-
/* @__PURE__ */
|
|
3665
|
+
/* @__PURE__ */ jsx36(SelectScrollDownButton, {})
|
|
3282
3666
|
]
|
|
3283
3667
|
}
|
|
3284
3668
|
) });
|
|
@@ -3287,7 +3671,7 @@ function SelectLabel({
|
|
|
3287
3671
|
className,
|
|
3288
3672
|
...props
|
|
3289
3673
|
}) {
|
|
3290
|
-
return /* @__PURE__ */
|
|
3674
|
+
return /* @__PURE__ */ jsx36(
|
|
3291
3675
|
SelectPrimitive.Label,
|
|
3292
3676
|
{
|
|
3293
3677
|
"data-slot": "select-label",
|
|
@@ -3301,7 +3685,7 @@ function SelectItem({
|
|
|
3301
3685
|
children,
|
|
3302
3686
|
...props
|
|
3303
3687
|
}) {
|
|
3304
|
-
return /* @__PURE__ */
|
|
3688
|
+
return /* @__PURE__ */ jsxs18(
|
|
3305
3689
|
SelectPrimitive.Item,
|
|
3306
3690
|
{
|
|
3307
3691
|
"data-slot": "select-item",
|
|
@@ -3311,8 +3695,8 @@ function SelectItem({
|
|
|
3311
3695
|
),
|
|
3312
3696
|
...props,
|
|
3313
3697
|
children: [
|
|
3314
|
-
/* @__PURE__ */
|
|
3315
|
-
/* @__PURE__ */
|
|
3698
|
+
/* @__PURE__ */ jsx36("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx36(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx36(CheckIcon4, { className: "size-4" }) }) }),
|
|
3699
|
+
/* @__PURE__ */ jsx36(SelectPrimitive.ItemText, { children })
|
|
3316
3700
|
]
|
|
3317
3701
|
}
|
|
3318
3702
|
);
|
|
@@ -3321,7 +3705,7 @@ function SelectSeparator({
|
|
|
3321
3705
|
className,
|
|
3322
3706
|
...props
|
|
3323
3707
|
}) {
|
|
3324
|
-
return /* @__PURE__ */
|
|
3708
|
+
return /* @__PURE__ */ jsx36(
|
|
3325
3709
|
SelectPrimitive.Separator,
|
|
3326
3710
|
{
|
|
3327
3711
|
"data-slot": "select-separator",
|
|
@@ -3334,7 +3718,7 @@ function SelectScrollUpButton({
|
|
|
3334
3718
|
className,
|
|
3335
3719
|
...props
|
|
3336
3720
|
}) {
|
|
3337
|
-
return /* @__PURE__ */
|
|
3721
|
+
return /* @__PURE__ */ jsx36(
|
|
3338
3722
|
SelectPrimitive.ScrollUpButton,
|
|
3339
3723
|
{
|
|
3340
3724
|
"data-slot": "select-scroll-up-button",
|
|
@@ -3343,7 +3727,7 @@ function SelectScrollUpButton({
|
|
|
3343
3727
|
className
|
|
3344
3728
|
),
|
|
3345
3729
|
...props,
|
|
3346
|
-
children: /* @__PURE__ */
|
|
3730
|
+
children: /* @__PURE__ */ jsx36(ChevronUpIcon, { className: "size-4" })
|
|
3347
3731
|
}
|
|
3348
3732
|
);
|
|
3349
3733
|
}
|
|
@@ -3351,7 +3735,7 @@ function SelectScrollDownButton({
|
|
|
3351
3735
|
className,
|
|
3352
3736
|
...props
|
|
3353
3737
|
}) {
|
|
3354
|
-
return /* @__PURE__ */
|
|
3738
|
+
return /* @__PURE__ */ jsx36(
|
|
3355
3739
|
SelectPrimitive.ScrollDownButton,
|
|
3356
3740
|
{
|
|
3357
3741
|
"data-slot": "select-scroll-down-button",
|
|
@@ -3360,7 +3744,7 @@ function SelectScrollDownButton({
|
|
|
3360
3744
|
className
|
|
3361
3745
|
),
|
|
3362
3746
|
...props,
|
|
3363
|
-
children: /* @__PURE__ */
|
|
3747
|
+
children: /* @__PURE__ */ jsx36(ChevronDownIcon4, { className: "size-4" })
|
|
3364
3748
|
}
|
|
3365
3749
|
);
|
|
3366
3750
|
}
|
|
@@ -3368,14 +3752,14 @@ function SelectScrollDownButton({
|
|
|
3368
3752
|
// src/components/ui/separator.tsx
|
|
3369
3753
|
import "react";
|
|
3370
3754
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
3371
|
-
import { jsx as
|
|
3755
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
3372
3756
|
function Separator5({
|
|
3373
3757
|
className,
|
|
3374
3758
|
orientation = "horizontal",
|
|
3375
3759
|
decorative = true,
|
|
3376
3760
|
...props
|
|
3377
3761
|
}) {
|
|
3378
|
-
return /* @__PURE__ */
|
|
3762
|
+
return /* @__PURE__ */ jsx37(
|
|
3379
3763
|
SeparatorPrimitive.Root,
|
|
3380
3764
|
{
|
|
3381
3765
|
"data-slot": "separator",
|
|
@@ -3394,30 +3778,30 @@ function Separator5({
|
|
|
3394
3778
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
3395
3779
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
3396
3780
|
import "react";
|
|
3397
|
-
import { jsx as
|
|
3781
|
+
import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3398
3782
|
function Sheet({ ...props }) {
|
|
3399
|
-
return /* @__PURE__ */
|
|
3783
|
+
return /* @__PURE__ */ jsx38(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
3400
3784
|
}
|
|
3401
3785
|
function SheetTrigger({
|
|
3402
3786
|
...props
|
|
3403
3787
|
}) {
|
|
3404
|
-
return /* @__PURE__ */
|
|
3788
|
+
return /* @__PURE__ */ jsx38(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
3405
3789
|
}
|
|
3406
3790
|
function SheetClose({
|
|
3407
3791
|
...props
|
|
3408
3792
|
}) {
|
|
3409
|
-
return /* @__PURE__ */
|
|
3793
|
+
return /* @__PURE__ */ jsx38(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
3410
3794
|
}
|
|
3411
3795
|
function SheetPortal({
|
|
3412
3796
|
...props
|
|
3413
3797
|
}) {
|
|
3414
|
-
return /* @__PURE__ */
|
|
3798
|
+
return /* @__PURE__ */ jsx38(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
3415
3799
|
}
|
|
3416
3800
|
function SheetOverlay({
|
|
3417
3801
|
className,
|
|
3418
3802
|
...props
|
|
3419
3803
|
}) {
|
|
3420
|
-
return /* @__PURE__ */
|
|
3804
|
+
return /* @__PURE__ */ jsx38(
|
|
3421
3805
|
SheetPrimitive.Overlay,
|
|
3422
3806
|
{
|
|
3423
3807
|
"data-slot": "sheet-overlay",
|
|
@@ -3436,9 +3820,9 @@ function SheetContent({
|
|
|
3436
3820
|
showCloseButton = true,
|
|
3437
3821
|
...props
|
|
3438
3822
|
}) {
|
|
3439
|
-
return /* @__PURE__ */
|
|
3440
|
-
/* @__PURE__ */
|
|
3441
|
-
/* @__PURE__ */
|
|
3823
|
+
return /* @__PURE__ */ jsxs19(SheetPortal, { children: [
|
|
3824
|
+
/* @__PURE__ */ jsx38(SheetOverlay, {}),
|
|
3825
|
+
/* @__PURE__ */ jsxs19(
|
|
3442
3826
|
SheetPrimitive.Content,
|
|
3443
3827
|
{
|
|
3444
3828
|
"data-slot": "sheet-content",
|
|
@@ -3453,9 +3837,9 @@ function SheetContent({
|
|
|
3453
3837
|
...props,
|
|
3454
3838
|
children: [
|
|
3455
3839
|
children,
|
|
3456
|
-
showCloseButton && /* @__PURE__ */
|
|
3457
|
-
/* @__PURE__ */
|
|
3458
|
-
/* @__PURE__ */
|
|
3840
|
+
showCloseButton && /* @__PURE__ */ jsxs19(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
|
|
3841
|
+
/* @__PURE__ */ jsx38(XIcon2, { className: "size-4" }),
|
|
3842
|
+
/* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
|
|
3459
3843
|
] })
|
|
3460
3844
|
]
|
|
3461
3845
|
}
|
|
@@ -3463,7 +3847,7 @@ function SheetContent({
|
|
|
3463
3847
|
] });
|
|
3464
3848
|
}
|
|
3465
3849
|
function SheetHeader({ className, ...props }) {
|
|
3466
|
-
return /* @__PURE__ */
|
|
3850
|
+
return /* @__PURE__ */ jsx38(
|
|
3467
3851
|
"div",
|
|
3468
3852
|
{
|
|
3469
3853
|
"data-slot": "sheet-header",
|
|
@@ -3473,7 +3857,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
3473
3857
|
);
|
|
3474
3858
|
}
|
|
3475
3859
|
function SheetFooter({ className, ...props }) {
|
|
3476
|
-
return /* @__PURE__ */
|
|
3860
|
+
return /* @__PURE__ */ jsx38(
|
|
3477
3861
|
"div",
|
|
3478
3862
|
{
|
|
3479
3863
|
"data-slot": "sheet-footer",
|
|
@@ -3486,7 +3870,7 @@ function SheetTitle({
|
|
|
3486
3870
|
className,
|
|
3487
3871
|
...props
|
|
3488
3872
|
}) {
|
|
3489
|
-
return /* @__PURE__ */
|
|
3873
|
+
return /* @__PURE__ */ jsx38(
|
|
3490
3874
|
SheetPrimitive.Title,
|
|
3491
3875
|
{
|
|
3492
3876
|
"data-slot": "sheet-title",
|
|
@@ -3499,7 +3883,7 @@ function SheetDescription({
|
|
|
3499
3883
|
className,
|
|
3500
3884
|
...props
|
|
3501
3885
|
}) {
|
|
3502
|
-
return /* @__PURE__ */
|
|
3886
|
+
return /* @__PURE__ */ jsx38(
|
|
3503
3887
|
SheetPrimitive.Description,
|
|
3504
3888
|
{
|
|
3505
3889
|
"data-slot": "sheet-description",
|
|
@@ -3510,32 +3894,15 @@ function SheetDescription({
|
|
|
3510
3894
|
}
|
|
3511
3895
|
|
|
3512
3896
|
// src/components/ui/sidebar.tsx
|
|
3513
|
-
import * as React36 from "react";
|
|
3514
3897
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
3515
3898
|
import { cva as cva7 } from "class-variance-authority";
|
|
3516
3899
|
import { PanelLeftIcon } from "lucide-react";
|
|
3517
|
-
|
|
3518
|
-
// src/hooks/use-mobile.ts
|
|
3519
|
-
import * as React34 from "react";
|
|
3520
|
-
var MOBILE_BREAKPOINT = 768;
|
|
3521
|
-
function useIsMobile() {
|
|
3522
|
-
const [isMobile, setIsMobile] = React34.useState(void 0);
|
|
3523
|
-
React34.useEffect(() => {
|
|
3524
|
-
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
3525
|
-
const onChange = () => {
|
|
3526
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
3527
|
-
};
|
|
3528
|
-
mql.addEventListener("change", onChange);
|
|
3529
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
3530
|
-
return () => mql.removeEventListener("change", onChange);
|
|
3531
|
-
}, []);
|
|
3532
|
-
return !!isMobile;
|
|
3533
|
-
}
|
|
3900
|
+
import * as React39 from "react";
|
|
3534
3901
|
|
|
3535
3902
|
// src/components/ui/skeleton.tsx
|
|
3536
|
-
import { jsx as
|
|
3903
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3537
3904
|
function Skeleton({ className, ...props }) {
|
|
3538
|
-
return /* @__PURE__ */
|
|
3905
|
+
return /* @__PURE__ */ jsx39(
|
|
3539
3906
|
"div",
|
|
3540
3907
|
{
|
|
3541
3908
|
"data-slot": "skeleton",
|
|
@@ -3548,12 +3915,12 @@ function Skeleton({ className, ...props }) {
|
|
|
3548
3915
|
// src/components/ui/tooltip.tsx
|
|
3549
3916
|
import "react";
|
|
3550
3917
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
3551
|
-
import { jsx as
|
|
3918
|
+
import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3552
3919
|
function TooltipProvider({
|
|
3553
3920
|
delayDuration = 0,
|
|
3554
3921
|
...props
|
|
3555
3922
|
}) {
|
|
3556
|
-
return /* @__PURE__ */
|
|
3923
|
+
return /* @__PURE__ */ jsx40(
|
|
3557
3924
|
TooltipPrimitive.Provider,
|
|
3558
3925
|
{
|
|
3559
3926
|
"data-slot": "tooltip-provider",
|
|
@@ -3565,12 +3932,12 @@ function TooltipProvider({
|
|
|
3565
3932
|
function Tooltip2({
|
|
3566
3933
|
...props
|
|
3567
3934
|
}) {
|
|
3568
|
-
return /* @__PURE__ */
|
|
3935
|
+
return /* @__PURE__ */ jsx40(TooltipProvider, { children: /* @__PURE__ */ jsx40(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
|
|
3569
3936
|
}
|
|
3570
3937
|
function TooltipTrigger({
|
|
3571
3938
|
...props
|
|
3572
3939
|
}) {
|
|
3573
|
-
return /* @__PURE__ */
|
|
3940
|
+
return /* @__PURE__ */ jsx40(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
3574
3941
|
}
|
|
3575
3942
|
function TooltipContent({
|
|
3576
3943
|
className,
|
|
@@ -3578,7 +3945,7 @@ function TooltipContent({
|
|
|
3578
3945
|
children,
|
|
3579
3946
|
...props
|
|
3580
3947
|
}) {
|
|
3581
|
-
return /* @__PURE__ */
|
|
3948
|
+
return /* @__PURE__ */ jsx40(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs20(
|
|
3582
3949
|
TooltipPrimitive.Content,
|
|
3583
3950
|
{
|
|
3584
3951
|
"data-slot": "tooltip-content",
|
|
@@ -3590,23 +3957,40 @@ function TooltipContent({
|
|
|
3590
3957
|
...props,
|
|
3591
3958
|
children: [
|
|
3592
3959
|
children,
|
|
3593
|
-
/* @__PURE__ */
|
|
3960
|
+
/* @__PURE__ */ jsx40(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
3594
3961
|
]
|
|
3595
3962
|
}
|
|
3596
3963
|
) });
|
|
3597
3964
|
}
|
|
3598
3965
|
|
|
3966
|
+
// src/hooks/use-mobile.ts
|
|
3967
|
+
import * as React38 from "react";
|
|
3968
|
+
var MOBILE_BREAKPOINT = 768;
|
|
3969
|
+
function useIsMobile() {
|
|
3970
|
+
const [isMobile, setIsMobile] = React38.useState(void 0);
|
|
3971
|
+
React38.useEffect(() => {
|
|
3972
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
3973
|
+
const onChange = () => {
|
|
3974
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
3975
|
+
};
|
|
3976
|
+
mql.addEventListener("change", onChange);
|
|
3977
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
3978
|
+
return () => mql.removeEventListener("change", onChange);
|
|
3979
|
+
}, []);
|
|
3980
|
+
return !!isMobile;
|
|
3981
|
+
}
|
|
3982
|
+
|
|
3599
3983
|
// src/components/ui/sidebar.tsx
|
|
3600
|
-
import { jsx as
|
|
3984
|
+
import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3601
3985
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
3602
3986
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
3603
|
-
var SIDEBAR_WIDTH = "
|
|
3987
|
+
var SIDEBAR_WIDTH = "18rem";
|
|
3604
3988
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
3605
3989
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
3606
3990
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
3607
|
-
var SidebarContext =
|
|
3991
|
+
var SidebarContext = React39.createContext(null);
|
|
3608
3992
|
function useSidebar() {
|
|
3609
|
-
const context =
|
|
3993
|
+
const context = React39.useContext(SidebarContext);
|
|
3610
3994
|
if (!context) {
|
|
3611
3995
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
3612
3996
|
}
|
|
@@ -3622,10 +4006,10 @@ function SidebarProvider({
|
|
|
3622
4006
|
...props
|
|
3623
4007
|
}) {
|
|
3624
4008
|
const isMobile = useIsMobile();
|
|
3625
|
-
const [openMobile, setOpenMobile] =
|
|
3626
|
-
const [_open, _setOpen] =
|
|
4009
|
+
const [openMobile, setOpenMobile] = React39.useState(false);
|
|
4010
|
+
const [_open, _setOpen] = React39.useState(defaultOpen);
|
|
3627
4011
|
const open = openProp ?? _open;
|
|
3628
|
-
const setOpen =
|
|
4012
|
+
const setOpen = React39.useCallback(
|
|
3629
4013
|
(value) => {
|
|
3630
4014
|
const openState = typeof value === "function" ? value(open) : value;
|
|
3631
4015
|
if (setOpenProp) {
|
|
@@ -3637,10 +4021,10 @@ function SidebarProvider({
|
|
|
3637
4021
|
},
|
|
3638
4022
|
[setOpenProp, open]
|
|
3639
4023
|
);
|
|
3640
|
-
const toggleSidebar =
|
|
4024
|
+
const toggleSidebar = React39.useCallback(() => {
|
|
3641
4025
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
3642
4026
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
3643
|
-
|
|
4027
|
+
React39.useEffect(() => {
|
|
3644
4028
|
const handleKeyDown = (event) => {
|
|
3645
4029
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
3646
4030
|
event.preventDefault();
|
|
@@ -3651,7 +4035,7 @@ function SidebarProvider({
|
|
|
3651
4035
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
3652
4036
|
}, [toggleSidebar]);
|
|
3653
4037
|
const state = open ? "expanded" : "collapsed";
|
|
3654
|
-
const contextValue =
|
|
4038
|
+
const contextValue = React39.useMemo(
|
|
3655
4039
|
() => ({
|
|
3656
4040
|
state,
|
|
3657
4041
|
open,
|
|
@@ -3663,7 +4047,7 @@ function SidebarProvider({
|
|
|
3663
4047
|
}),
|
|
3664
4048
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
3665
4049
|
);
|
|
3666
|
-
return /* @__PURE__ */
|
|
4050
|
+
return /* @__PURE__ */ jsx41(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx41(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx41(
|
|
3667
4051
|
"div",
|
|
3668
4052
|
{
|
|
3669
4053
|
"data-slot": "sidebar-wrapper",
|
|
@@ -3691,7 +4075,7 @@ function Sidebar({
|
|
|
3691
4075
|
}) {
|
|
3692
4076
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
3693
4077
|
if (collapsible === "none") {
|
|
3694
|
-
return /* @__PURE__ */
|
|
4078
|
+
return /* @__PURE__ */ jsx41(
|
|
3695
4079
|
"div",
|
|
3696
4080
|
{
|
|
3697
4081
|
"data-slot": "sidebar",
|
|
@@ -3705,7 +4089,7 @@ function Sidebar({
|
|
|
3705
4089
|
);
|
|
3706
4090
|
}
|
|
3707
4091
|
if (isMobile) {
|
|
3708
|
-
return /* @__PURE__ */
|
|
4092
|
+
return /* @__PURE__ */ jsx41(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs21(
|
|
3709
4093
|
SheetContent,
|
|
3710
4094
|
{
|
|
3711
4095
|
"data-sidebar": "sidebar",
|
|
@@ -3717,16 +4101,16 @@ function Sidebar({
|
|
|
3717
4101
|
},
|
|
3718
4102
|
side,
|
|
3719
4103
|
children: [
|
|
3720
|
-
/* @__PURE__ */
|
|
3721
|
-
/* @__PURE__ */
|
|
3722
|
-
/* @__PURE__ */
|
|
4104
|
+
/* @__PURE__ */ jsxs21(SheetHeader, { className: "sr-only", children: [
|
|
4105
|
+
/* @__PURE__ */ jsx41(SheetTitle, { children: "Sidebar" }),
|
|
4106
|
+
/* @__PURE__ */ jsx41(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
3723
4107
|
] }),
|
|
3724
|
-
/* @__PURE__ */
|
|
4108
|
+
/* @__PURE__ */ jsx41("div", { className: "flex h-full w-full flex-col", children })
|
|
3725
4109
|
]
|
|
3726
4110
|
}
|
|
3727
4111
|
) });
|
|
3728
4112
|
}
|
|
3729
|
-
return /* @__PURE__ */
|
|
4113
|
+
return /* @__PURE__ */ jsxs21(
|
|
3730
4114
|
"div",
|
|
3731
4115
|
{
|
|
3732
4116
|
className: "group peer text-sidebar-foreground hidden md:block",
|
|
@@ -3736,7 +4120,7 @@ function Sidebar({
|
|
|
3736
4120
|
"data-side": side,
|
|
3737
4121
|
"data-slot": "sidebar",
|
|
3738
4122
|
children: [
|
|
3739
|
-
/* @__PURE__ */
|
|
4123
|
+
/* @__PURE__ */ jsx41(
|
|
3740
4124
|
"div",
|
|
3741
4125
|
{
|
|
3742
4126
|
"data-slot": "sidebar-gap",
|
|
@@ -3748,7 +4132,7 @@ function Sidebar({
|
|
|
3748
4132
|
)
|
|
3749
4133
|
}
|
|
3750
4134
|
),
|
|
3751
|
-
/* @__PURE__ */
|
|
4135
|
+
/* @__PURE__ */ jsx41(
|
|
3752
4136
|
"div",
|
|
3753
4137
|
{
|
|
3754
4138
|
"data-slot": "sidebar-container",
|
|
@@ -3760,7 +4144,7 @@ function Sidebar({
|
|
|
3760
4144
|
className
|
|
3761
4145
|
),
|
|
3762
4146
|
...props,
|
|
3763
|
-
children: /* @__PURE__ */
|
|
4147
|
+
children: /* @__PURE__ */ jsx41(
|
|
3764
4148
|
"div",
|
|
3765
4149
|
{
|
|
3766
4150
|
"data-sidebar": "sidebar",
|
|
@@ -3781,29 +4165,29 @@ function SidebarTrigger({
|
|
|
3781
4165
|
...props
|
|
3782
4166
|
}) {
|
|
3783
4167
|
const { toggleSidebar } = useSidebar();
|
|
3784
|
-
return /* @__PURE__ */
|
|
4168
|
+
return /* @__PURE__ */ jsxs21(
|
|
3785
4169
|
Button,
|
|
3786
4170
|
{
|
|
3787
4171
|
"data-sidebar": "trigger",
|
|
3788
4172
|
"data-slot": "sidebar-trigger",
|
|
3789
4173
|
variant: "ghost",
|
|
3790
4174
|
size: "icon",
|
|
3791
|
-
className: cn("size-
|
|
4175
|
+
className: cn("size-9", className),
|
|
3792
4176
|
onClick: (event) => {
|
|
3793
4177
|
onClick?.(event);
|
|
3794
4178
|
toggleSidebar();
|
|
3795
4179
|
},
|
|
3796
4180
|
...props,
|
|
3797
4181
|
children: [
|
|
3798
|
-
/* @__PURE__ */
|
|
3799
|
-
/* @__PURE__ */
|
|
4182
|
+
/* @__PURE__ */ jsx41(PanelLeftIcon, {}),
|
|
4183
|
+
/* @__PURE__ */ jsx41("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
3800
4184
|
]
|
|
3801
4185
|
}
|
|
3802
4186
|
);
|
|
3803
4187
|
}
|
|
3804
4188
|
function SidebarRail({ className, ...props }) {
|
|
3805
4189
|
const { toggleSidebar } = useSidebar();
|
|
3806
|
-
return /* @__PURE__ */
|
|
4190
|
+
return /* @__PURE__ */ jsx41(
|
|
3807
4191
|
"button",
|
|
3808
4192
|
{
|
|
3809
4193
|
"data-sidebar": "rail",
|
|
@@ -3826,7 +4210,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
3826
4210
|
);
|
|
3827
4211
|
}
|
|
3828
4212
|
function SidebarInset({ className, ...props }) {
|
|
3829
|
-
return /* @__PURE__ */
|
|
4213
|
+
return /* @__PURE__ */ jsx41(
|
|
3830
4214
|
"main",
|
|
3831
4215
|
{
|
|
3832
4216
|
"data-slot": "sidebar-inset",
|
|
@@ -3843,7 +4227,7 @@ function SidebarInput({
|
|
|
3843
4227
|
className,
|
|
3844
4228
|
...props
|
|
3845
4229
|
}) {
|
|
3846
|
-
return /* @__PURE__ */
|
|
4230
|
+
return /* @__PURE__ */ jsx41(
|
|
3847
4231
|
Input,
|
|
3848
4232
|
{
|
|
3849
4233
|
"data-slot": "sidebar-input",
|
|
@@ -3854,7 +4238,7 @@ function SidebarInput({
|
|
|
3854
4238
|
);
|
|
3855
4239
|
}
|
|
3856
4240
|
function SidebarHeader({ className, ...props }) {
|
|
3857
|
-
return /* @__PURE__ */
|
|
4241
|
+
return /* @__PURE__ */ jsx41(
|
|
3858
4242
|
"div",
|
|
3859
4243
|
{
|
|
3860
4244
|
"data-slot": "sidebar-header",
|
|
@@ -3865,7 +4249,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
3865
4249
|
);
|
|
3866
4250
|
}
|
|
3867
4251
|
function SidebarFooter({ className, ...props }) {
|
|
3868
|
-
return /* @__PURE__ */
|
|
4252
|
+
return /* @__PURE__ */ jsx41(
|
|
3869
4253
|
"div",
|
|
3870
4254
|
{
|
|
3871
4255
|
"data-slot": "sidebar-footer",
|
|
@@ -3879,7 +4263,7 @@ function SidebarSeparator({
|
|
|
3879
4263
|
className,
|
|
3880
4264
|
...props
|
|
3881
4265
|
}) {
|
|
3882
|
-
return /* @__PURE__ */
|
|
4266
|
+
return /* @__PURE__ */ jsx41(
|
|
3883
4267
|
Separator5,
|
|
3884
4268
|
{
|
|
3885
4269
|
"data-slot": "sidebar-separator",
|
|
@@ -3890,7 +4274,7 @@ function SidebarSeparator({
|
|
|
3890
4274
|
);
|
|
3891
4275
|
}
|
|
3892
4276
|
function SidebarContent({ className, ...props }) {
|
|
3893
|
-
return /* @__PURE__ */
|
|
4277
|
+
return /* @__PURE__ */ jsx41(
|
|
3894
4278
|
"div",
|
|
3895
4279
|
{
|
|
3896
4280
|
"data-slot": "sidebar-content",
|
|
@@ -3904,7 +4288,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
3904
4288
|
);
|
|
3905
4289
|
}
|
|
3906
4290
|
function SidebarGroup({ className, ...props }) {
|
|
3907
|
-
return /* @__PURE__ */
|
|
4291
|
+
return /* @__PURE__ */ jsx41(
|
|
3908
4292
|
"div",
|
|
3909
4293
|
{
|
|
3910
4294
|
"data-slot": "sidebar-group",
|
|
@@ -3920,7 +4304,7 @@ function SidebarGroupLabel({
|
|
|
3920
4304
|
...props
|
|
3921
4305
|
}) {
|
|
3922
4306
|
const Comp = asChild ? Slot6 : "div";
|
|
3923
|
-
return /* @__PURE__ */
|
|
4307
|
+
return /* @__PURE__ */ jsx41(
|
|
3924
4308
|
Comp,
|
|
3925
4309
|
{
|
|
3926
4310
|
"data-slot": "sidebar-group-label",
|
|
@@ -3940,7 +4324,7 @@ function SidebarGroupAction({
|
|
|
3940
4324
|
...props
|
|
3941
4325
|
}) {
|
|
3942
4326
|
const Comp = asChild ? Slot6 : "button";
|
|
3943
|
-
return /* @__PURE__ */
|
|
4327
|
+
return /* @__PURE__ */ jsx41(
|
|
3944
4328
|
Comp,
|
|
3945
4329
|
{
|
|
3946
4330
|
"data-slot": "sidebar-group-action",
|
|
@@ -3960,7 +4344,7 @@ function SidebarGroupContent({
|
|
|
3960
4344
|
className,
|
|
3961
4345
|
...props
|
|
3962
4346
|
}) {
|
|
3963
|
-
return /* @__PURE__ */
|
|
4347
|
+
return /* @__PURE__ */ jsx41(
|
|
3964
4348
|
"div",
|
|
3965
4349
|
{
|
|
3966
4350
|
"data-slot": "sidebar-group-content",
|
|
@@ -3971,7 +4355,7 @@ function SidebarGroupContent({
|
|
|
3971
4355
|
);
|
|
3972
4356
|
}
|
|
3973
4357
|
function SidebarMenu({ className, ...props }) {
|
|
3974
|
-
return /* @__PURE__ */
|
|
4358
|
+
return /* @__PURE__ */ jsx41(
|
|
3975
4359
|
"ul",
|
|
3976
4360
|
{
|
|
3977
4361
|
"data-slot": "sidebar-menu",
|
|
@@ -3982,7 +4366,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
3982
4366
|
);
|
|
3983
4367
|
}
|
|
3984
4368
|
function SidebarMenuItem({ className, ...props }) {
|
|
3985
|
-
return /* @__PURE__ */
|
|
4369
|
+
return /* @__PURE__ */ jsx41(
|
|
3986
4370
|
"li",
|
|
3987
4371
|
{
|
|
3988
4372
|
"data-slot": "sidebar-menu-item",
|
|
@@ -4023,7 +4407,7 @@ function SidebarMenuButton({
|
|
|
4023
4407
|
}) {
|
|
4024
4408
|
const Comp = asChild ? Slot6 : "button";
|
|
4025
4409
|
const { isMobile, state } = useSidebar();
|
|
4026
|
-
const button = /* @__PURE__ */
|
|
4410
|
+
const button = /* @__PURE__ */ jsx41(
|
|
4027
4411
|
Comp,
|
|
4028
4412
|
{
|
|
4029
4413
|
"data-slot": "sidebar-menu-button",
|
|
@@ -4042,9 +4426,9 @@ function SidebarMenuButton({
|
|
|
4042
4426
|
children: tooltip
|
|
4043
4427
|
};
|
|
4044
4428
|
}
|
|
4045
|
-
return /* @__PURE__ */
|
|
4046
|
-
/* @__PURE__ */
|
|
4047
|
-
/* @__PURE__ */
|
|
4429
|
+
return /* @__PURE__ */ jsxs21(Tooltip2, { children: [
|
|
4430
|
+
/* @__PURE__ */ jsx41(TooltipTrigger, { asChild: true, children: button }),
|
|
4431
|
+
/* @__PURE__ */ jsx41(
|
|
4048
4432
|
TooltipContent,
|
|
4049
4433
|
{
|
|
4050
4434
|
side: "right",
|
|
@@ -4062,7 +4446,7 @@ function SidebarMenuAction({
|
|
|
4062
4446
|
...props
|
|
4063
4447
|
}) {
|
|
4064
4448
|
const Comp = asChild ? Slot6 : "button";
|
|
4065
|
-
return /* @__PURE__ */
|
|
4449
|
+
return /* @__PURE__ */ jsx41(
|
|
4066
4450
|
Comp,
|
|
4067
4451
|
{
|
|
4068
4452
|
"data-slot": "sidebar-menu-action",
|
|
@@ -4086,7 +4470,7 @@ function SidebarMenuBadge({
|
|
|
4086
4470
|
className,
|
|
4087
4471
|
...props
|
|
4088
4472
|
}) {
|
|
4089
|
-
return /* @__PURE__ */
|
|
4473
|
+
return /* @__PURE__ */ jsx41(
|
|
4090
4474
|
"div",
|
|
4091
4475
|
{
|
|
4092
4476
|
"data-slot": "sidebar-menu-badge",
|
|
@@ -4109,10 +4493,10 @@ function SidebarMenuSkeleton({
|
|
|
4109
4493
|
showIcon = false,
|
|
4110
4494
|
...props
|
|
4111
4495
|
}) {
|
|
4112
|
-
const width =
|
|
4496
|
+
const width = React39.useMemo(() => {
|
|
4113
4497
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
4114
4498
|
}, []);
|
|
4115
|
-
return /* @__PURE__ */
|
|
4499
|
+
return /* @__PURE__ */ jsxs21(
|
|
4116
4500
|
"div",
|
|
4117
4501
|
{
|
|
4118
4502
|
"data-slot": "sidebar-menu-skeleton",
|
|
@@ -4120,14 +4504,14 @@ function SidebarMenuSkeleton({
|
|
|
4120
4504
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
4121
4505
|
...props,
|
|
4122
4506
|
children: [
|
|
4123
|
-
showIcon && /* @__PURE__ */
|
|
4507
|
+
showIcon && /* @__PURE__ */ jsx41(
|
|
4124
4508
|
Skeleton,
|
|
4125
4509
|
{
|
|
4126
4510
|
className: "size-4 rounded-md",
|
|
4127
4511
|
"data-sidebar": "menu-skeleton-icon"
|
|
4128
4512
|
}
|
|
4129
4513
|
),
|
|
4130
|
-
/* @__PURE__ */
|
|
4514
|
+
/* @__PURE__ */ jsx41(
|
|
4131
4515
|
Skeleton,
|
|
4132
4516
|
{
|
|
4133
4517
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -4142,7 +4526,7 @@ function SidebarMenuSkeleton({
|
|
|
4142
4526
|
);
|
|
4143
4527
|
}
|
|
4144
4528
|
function SidebarMenuSub({ className, ...props }) {
|
|
4145
|
-
return /* @__PURE__ */
|
|
4529
|
+
return /* @__PURE__ */ jsx41(
|
|
4146
4530
|
"ul",
|
|
4147
4531
|
{
|
|
4148
4532
|
"data-slot": "sidebar-menu-sub",
|
|
@@ -4160,7 +4544,7 @@ function SidebarMenuSubItem({
|
|
|
4160
4544
|
className,
|
|
4161
4545
|
...props
|
|
4162
4546
|
}) {
|
|
4163
|
-
return /* @__PURE__ */
|
|
4547
|
+
return /* @__PURE__ */ jsx41(
|
|
4164
4548
|
"li",
|
|
4165
4549
|
{
|
|
4166
4550
|
"data-slot": "sidebar-menu-sub-item",
|
|
@@ -4178,7 +4562,7 @@ function SidebarMenuSubButton({
|
|
|
4178
4562
|
...props
|
|
4179
4563
|
}) {
|
|
4180
4564
|
const Comp = asChild ? Slot6 : "a";
|
|
4181
|
-
return /* @__PURE__ */
|
|
4565
|
+
return /* @__PURE__ */ jsx41(
|
|
4182
4566
|
Comp,
|
|
4183
4567
|
{
|
|
4184
4568
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -4199,9 +4583,9 @@ function SidebarMenuSubButton({
|
|
|
4199
4583
|
}
|
|
4200
4584
|
|
|
4201
4585
|
// src/components/ui/slider.tsx
|
|
4202
|
-
import * as
|
|
4586
|
+
import * as React40 from "react";
|
|
4203
4587
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
4204
|
-
import { jsx as
|
|
4588
|
+
import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4205
4589
|
function Slider({
|
|
4206
4590
|
className,
|
|
4207
4591
|
defaultValue,
|
|
@@ -4210,11 +4594,11 @@ function Slider({
|
|
|
4210
4594
|
max = 100,
|
|
4211
4595
|
...props
|
|
4212
4596
|
}) {
|
|
4213
|
-
const _values =
|
|
4597
|
+
const _values = React40.useMemo(
|
|
4214
4598
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
4215
4599
|
[value, defaultValue, min, max]
|
|
4216
4600
|
);
|
|
4217
|
-
return /* @__PURE__ */
|
|
4601
|
+
return /* @__PURE__ */ jsxs22(
|
|
4218
4602
|
SliderPrimitive.Root,
|
|
4219
4603
|
{
|
|
4220
4604
|
"data-slot": "slider",
|
|
@@ -4228,14 +4612,14 @@ function Slider({
|
|
|
4228
4612
|
),
|
|
4229
4613
|
...props,
|
|
4230
4614
|
children: [
|
|
4231
|
-
/* @__PURE__ */
|
|
4615
|
+
/* @__PURE__ */ jsx42(
|
|
4232
4616
|
SliderPrimitive.Track,
|
|
4233
4617
|
{
|
|
4234
4618
|
"data-slot": "slider-track",
|
|
4235
4619
|
className: cn(
|
|
4236
4620
|
"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
4237
4621
|
),
|
|
4238
|
-
children: /* @__PURE__ */
|
|
4622
|
+
children: /* @__PURE__ */ jsx42(
|
|
4239
4623
|
SliderPrimitive.Range,
|
|
4240
4624
|
{
|
|
4241
4625
|
"data-slot": "slider-range",
|
|
@@ -4246,7 +4630,7 @@ function Slider({
|
|
|
4246
4630
|
)
|
|
4247
4631
|
}
|
|
4248
4632
|
),
|
|
4249
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
4633
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx42(
|
|
4250
4634
|
SliderPrimitive.Thumb,
|
|
4251
4635
|
{
|
|
4252
4636
|
"data-slot": "slider-thumb",
|
|
@@ -4259,8 +4643,11 @@ function Slider({
|
|
|
4259
4643
|
);
|
|
4260
4644
|
}
|
|
4261
4645
|
|
|
4646
|
+
// src/components/ui/smart-dialog-drawer.tsx
|
|
4647
|
+
import "react";
|
|
4648
|
+
|
|
4262
4649
|
// src/components/ui/useMediaQuery.ts
|
|
4263
|
-
import { useEffect as
|
|
4650
|
+
import { useEffect as useEffect6, useState as useState5 } from "react";
|
|
4264
4651
|
function useMediaQuery(query) {
|
|
4265
4652
|
const getMatches = (query2) => {
|
|
4266
4653
|
if (typeof window !== "undefined") {
|
|
@@ -4268,11 +4655,11 @@ function useMediaQuery(query) {
|
|
|
4268
4655
|
}
|
|
4269
4656
|
return false;
|
|
4270
4657
|
};
|
|
4271
|
-
const [matches, setMatches] =
|
|
4658
|
+
const [matches, setMatches] = useState5(getMatches(query));
|
|
4272
4659
|
function handleChange() {
|
|
4273
4660
|
setMatches(getMatches(query));
|
|
4274
4661
|
}
|
|
4275
|
-
|
|
4662
|
+
useEffect6(() => {
|
|
4276
4663
|
const matchMedia = window.matchMedia(query);
|
|
4277
4664
|
handleChange();
|
|
4278
4665
|
if (matchMedia.addListener) {
|
|
@@ -4292,26 +4679,31 @@ function useMediaQuery(query) {
|
|
|
4292
4679
|
}
|
|
4293
4680
|
|
|
4294
4681
|
// src/components/ui/smart-dialog-drawer.tsx
|
|
4295
|
-
import { Fragment as Fragment2, jsx as
|
|
4296
|
-
var SmartDialog = ({
|
|
4297
|
-
children,
|
|
4298
|
-
...props
|
|
4299
|
-
}) => {
|
|
4682
|
+
import { Fragment as Fragment2, jsx as jsx43 } from "react/jsx-runtime";
|
|
4683
|
+
var SmartDialog = ({ children, ...props }) => {
|
|
4300
4684
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4301
|
-
return isMobile ? /* @__PURE__ */
|
|
4685
|
+
return isMobile ? /* @__PURE__ */ jsx43(Drawer, { ...props, children }) : /* @__PURE__ */ jsx43(Dialog, { ...props, children });
|
|
4302
4686
|
};
|
|
4303
4687
|
var SmartDialogContent = ({
|
|
4304
4688
|
children,
|
|
4305
4689
|
overlayClassName = "",
|
|
4306
|
-
withCloseButton
|
|
4690
|
+
withCloseButton,
|
|
4691
|
+
showCloseButton,
|
|
4307
4692
|
...props
|
|
4308
4693
|
}) => {
|
|
4309
4694
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4310
|
-
return isMobile ? /* @__PURE__ */
|
|
4695
|
+
return isMobile ? /* @__PURE__ */ jsx43(
|
|
4696
|
+
DrawerContent,
|
|
4697
|
+
{
|
|
4698
|
+
...props,
|
|
4699
|
+
withCloseButton: withCloseButton ?? showCloseButton ?? true,
|
|
4700
|
+
children
|
|
4701
|
+
}
|
|
4702
|
+
) : /* @__PURE__ */ jsx43(
|
|
4311
4703
|
DialogContent,
|
|
4312
4704
|
{
|
|
4313
4705
|
...props,
|
|
4314
|
-
showCloseButton: withCloseButton,
|
|
4706
|
+
showCloseButton: showCloseButton ?? withCloseButton ?? true,
|
|
4315
4707
|
overlayClassName,
|
|
4316
4708
|
children
|
|
4317
4709
|
}
|
|
@@ -4322,51 +4714,39 @@ var SmartDialogDescription = ({
|
|
|
4322
4714
|
...props
|
|
4323
4715
|
}) => {
|
|
4324
4716
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4325
|
-
return isMobile ? /* @__PURE__ */
|
|
4717
|
+
return isMobile ? /* @__PURE__ */ jsx43(DrawerDescription, { ...props, children }) : /* @__PURE__ */ jsx43(DialogDescription, { ...props, children });
|
|
4326
4718
|
};
|
|
4327
|
-
var SmartDialogHeader = ({
|
|
4328
|
-
children,
|
|
4329
|
-
...props
|
|
4330
|
-
}) => {
|
|
4719
|
+
var SmartDialogHeader = ({ children, ...props }) => {
|
|
4331
4720
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4332
|
-
return isMobile ? /* @__PURE__ */
|
|
4721
|
+
return isMobile ? /* @__PURE__ */ jsx43(DrawerHeader, { ...props, children }) : /* @__PURE__ */ jsx43(DialogHeader, { ...props, children });
|
|
4333
4722
|
};
|
|
4334
|
-
var SmartDialogTitle = ({
|
|
4335
|
-
children,
|
|
4336
|
-
...props
|
|
4337
|
-
}) => {
|
|
4723
|
+
var SmartDialogTitle = ({ children, ...props }) => {
|
|
4338
4724
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4339
|
-
return isMobile ? /* @__PURE__ */
|
|
4725
|
+
return isMobile ? /* @__PURE__ */ jsx43(DrawerTitle, { ...props, children }) : /* @__PURE__ */ jsx43(DialogTitle, { ...props, children });
|
|
4340
4726
|
};
|
|
4341
4727
|
var SmartDialogTrigger = ({
|
|
4342
4728
|
children,
|
|
4343
4729
|
...props
|
|
4344
4730
|
}) => {
|
|
4345
4731
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4346
|
-
return isMobile ? /* @__PURE__ */
|
|
4732
|
+
return isMobile ? /* @__PURE__ */ jsx43(DrawerTrigger, { ...props, children }) : /* @__PURE__ */ jsx43(DialogTrigger, { ...props, children });
|
|
4347
4733
|
};
|
|
4348
|
-
var SmartDialogFooter = ({
|
|
4349
|
-
children,
|
|
4350
|
-
...props
|
|
4351
|
-
}) => {
|
|
4734
|
+
var SmartDialogFooter = ({ children, ...props }) => {
|
|
4352
4735
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4353
|
-
return isMobile ? /* @__PURE__ */
|
|
4736
|
+
return isMobile ? /* @__PURE__ */ jsx43(DrawerFooter, { ...props, children }) : /* @__PURE__ */ jsx43(DialogFooter, { ...props, children });
|
|
4354
4737
|
};
|
|
4355
|
-
var SmartDialogClose = ({
|
|
4356
|
-
children,
|
|
4357
|
-
...props
|
|
4358
|
-
}) => {
|
|
4738
|
+
var SmartDialogClose = ({ children, ...props }) => {
|
|
4359
4739
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
4360
|
-
return isMobile ? /* @__PURE__ */
|
|
4740
|
+
return isMobile ? /* @__PURE__ */ jsx43(Fragment2, { children: /* @__PURE__ */ jsx43(DrawerClose, { ...props, children }) }) : /* @__PURE__ */ jsx43(DialogClose, { ...props, children });
|
|
4361
4741
|
};
|
|
4362
4742
|
|
|
4363
4743
|
// src/components/ui/sonner.tsx
|
|
4364
4744
|
import { useTheme } from "next-themes";
|
|
4365
4745
|
import { Toaster as Sonner } from "sonner";
|
|
4366
|
-
import { jsx as
|
|
4746
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
4367
4747
|
var Toaster = ({ ...props }) => {
|
|
4368
4748
|
const { theme = "system" } = useTheme();
|
|
4369
|
-
return /* @__PURE__ */
|
|
4749
|
+
return /* @__PURE__ */ jsx44(
|
|
4370
4750
|
Sonner,
|
|
4371
4751
|
{
|
|
4372
4752
|
theme,
|
|
@@ -4384,12 +4764,12 @@ var Toaster = ({ ...props }) => {
|
|
|
4384
4764
|
// src/components/ui/switch.tsx
|
|
4385
4765
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
4386
4766
|
import "react";
|
|
4387
|
-
import { jsx as
|
|
4767
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
4388
4768
|
function Switch({
|
|
4389
4769
|
className,
|
|
4390
4770
|
...props
|
|
4391
4771
|
}) {
|
|
4392
|
-
return /* @__PURE__ */
|
|
4772
|
+
return /* @__PURE__ */ jsx45(
|
|
4393
4773
|
SwitchPrimitive.Root,
|
|
4394
4774
|
{
|
|
4395
4775
|
"data-slot": "switch",
|
|
@@ -4398,7 +4778,7 @@ function Switch({
|
|
|
4398
4778
|
className
|
|
4399
4779
|
),
|
|
4400
4780
|
...props,
|
|
4401
|
-
children: /* @__PURE__ */
|
|
4781
|
+
children: /* @__PURE__ */ jsx45(
|
|
4402
4782
|
SwitchPrimitive.Thumb,
|
|
4403
4783
|
{
|
|
4404
4784
|
"data-slot": "switch-thumb",
|
|
@@ -4413,14 +4793,14 @@ function Switch({
|
|
|
4413
4793
|
|
|
4414
4794
|
// src/components/ui/table.tsx
|
|
4415
4795
|
import "react";
|
|
4416
|
-
import { jsx as
|
|
4796
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
4417
4797
|
function Table({ className, ...props }) {
|
|
4418
|
-
return /* @__PURE__ */
|
|
4798
|
+
return /* @__PURE__ */ jsx46(
|
|
4419
4799
|
"div",
|
|
4420
4800
|
{
|
|
4421
4801
|
"data-slot": "table-container",
|
|
4422
4802
|
className: "relative w-full overflow-x-auto",
|
|
4423
|
-
children: /* @__PURE__ */
|
|
4803
|
+
children: /* @__PURE__ */ jsx46(
|
|
4424
4804
|
"table",
|
|
4425
4805
|
{
|
|
4426
4806
|
"data-slot": "table",
|
|
@@ -4432,7 +4812,7 @@ function Table({ className, ...props }) {
|
|
|
4432
4812
|
);
|
|
4433
4813
|
}
|
|
4434
4814
|
function TableHeader({ className, ...props }) {
|
|
4435
|
-
return /* @__PURE__ */
|
|
4815
|
+
return /* @__PURE__ */ jsx46(
|
|
4436
4816
|
"thead",
|
|
4437
4817
|
{
|
|
4438
4818
|
"data-slot": "table-header",
|
|
@@ -4442,7 +4822,7 @@ function TableHeader({ className, ...props }) {
|
|
|
4442
4822
|
);
|
|
4443
4823
|
}
|
|
4444
4824
|
function TableBody({ className, ...props }) {
|
|
4445
|
-
return /* @__PURE__ */
|
|
4825
|
+
return /* @__PURE__ */ jsx46(
|
|
4446
4826
|
"tbody",
|
|
4447
4827
|
{
|
|
4448
4828
|
"data-slot": "table-body",
|
|
@@ -4452,7 +4832,7 @@ function TableBody({ className, ...props }) {
|
|
|
4452
4832
|
);
|
|
4453
4833
|
}
|
|
4454
4834
|
function TableFooter({ className, ...props }) {
|
|
4455
|
-
return /* @__PURE__ */
|
|
4835
|
+
return /* @__PURE__ */ jsx46(
|
|
4456
4836
|
"tfoot",
|
|
4457
4837
|
{
|
|
4458
4838
|
"data-slot": "table-footer",
|
|
@@ -4465,7 +4845,7 @@ function TableFooter({ className, ...props }) {
|
|
|
4465
4845
|
);
|
|
4466
4846
|
}
|
|
4467
4847
|
function TableRow({ className, ...props }) {
|
|
4468
|
-
return /* @__PURE__ */
|
|
4848
|
+
return /* @__PURE__ */ jsx46(
|
|
4469
4849
|
"tr",
|
|
4470
4850
|
{
|
|
4471
4851
|
"data-slot": "table-row",
|
|
@@ -4478,7 +4858,7 @@ function TableRow({ className, ...props }) {
|
|
|
4478
4858
|
);
|
|
4479
4859
|
}
|
|
4480
4860
|
function TableHead({ className, ...props }) {
|
|
4481
|
-
return /* @__PURE__ */
|
|
4861
|
+
return /* @__PURE__ */ jsx46(
|
|
4482
4862
|
"th",
|
|
4483
4863
|
{
|
|
4484
4864
|
"data-slot": "table-head",
|
|
@@ -4491,7 +4871,7 @@ function TableHead({ className, ...props }) {
|
|
|
4491
4871
|
);
|
|
4492
4872
|
}
|
|
4493
4873
|
function TableCell({ className, ...props }) {
|
|
4494
|
-
return /* @__PURE__ */
|
|
4874
|
+
return /* @__PURE__ */ jsx46(
|
|
4495
4875
|
"td",
|
|
4496
4876
|
{
|
|
4497
4877
|
"data-slot": "table-cell",
|
|
@@ -4507,7 +4887,7 @@ function TableCaption({
|
|
|
4507
4887
|
className,
|
|
4508
4888
|
...props
|
|
4509
4889
|
}) {
|
|
4510
|
-
return /* @__PURE__ */
|
|
4890
|
+
return /* @__PURE__ */ jsx46(
|
|
4511
4891
|
"caption",
|
|
4512
4892
|
{
|
|
4513
4893
|
"data-slot": "table-caption",
|
|
@@ -4520,12 +4900,12 @@ function TableCaption({
|
|
|
4520
4900
|
// src/components/ui/tabs.tsx
|
|
4521
4901
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
4522
4902
|
import "react";
|
|
4523
|
-
import { jsx as
|
|
4903
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
4524
4904
|
function Tabs({
|
|
4525
4905
|
className,
|
|
4526
4906
|
...props
|
|
4527
4907
|
}) {
|
|
4528
|
-
return /* @__PURE__ */
|
|
4908
|
+
return /* @__PURE__ */ jsx47(
|
|
4529
4909
|
TabsPrimitive.Root,
|
|
4530
4910
|
{
|
|
4531
4911
|
"data-slot": "tabs",
|
|
@@ -4538,7 +4918,7 @@ function TabsList({
|
|
|
4538
4918
|
className,
|
|
4539
4919
|
...props
|
|
4540
4920
|
}) {
|
|
4541
|
-
return /* @__PURE__ */
|
|
4921
|
+
return /* @__PURE__ */ jsx47(
|
|
4542
4922
|
TabsPrimitive.List,
|
|
4543
4923
|
{
|
|
4544
4924
|
"data-slot": "tabs-list",
|
|
@@ -4554,7 +4934,7 @@ function TabsTrigger({
|
|
|
4554
4934
|
className,
|
|
4555
4935
|
...props
|
|
4556
4936
|
}) {
|
|
4557
|
-
return /* @__PURE__ */
|
|
4937
|
+
return /* @__PURE__ */ jsx47(
|
|
4558
4938
|
TabsPrimitive.Trigger,
|
|
4559
4939
|
{
|
|
4560
4940
|
"data-slot": "tabs-trigger",
|
|
@@ -4570,7 +4950,7 @@ function TabsContent({
|
|
|
4570
4950
|
className,
|
|
4571
4951
|
...props
|
|
4572
4952
|
}) {
|
|
4573
|
-
return /* @__PURE__ */
|
|
4953
|
+
return /* @__PURE__ */ jsx47(
|
|
4574
4954
|
TabsPrimitive.Content,
|
|
4575
4955
|
{
|
|
4576
4956
|
"data-slot": "tabs-content",
|
|
@@ -4580,53 +4960,11 @@ function TabsContent({
|
|
|
4580
4960
|
);
|
|
4581
4961
|
}
|
|
4582
4962
|
|
|
4583
|
-
// src/components/ui/textarea.tsx
|
|
4584
|
-
import * as React41 from "react";
|
|
4585
|
-
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
4586
|
-
var textareaBaseStyles = [
|
|
4587
|
-
// Base styles aligned with Input
|
|
4588
|
-
"placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
|
|
4589
|
-
"flex w-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-all duration-400",
|
|
4590
|
-
"outline-none font-sans",
|
|
4591
|
-
// Disabled
|
|
4592
|
-
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
4593
|
-
// Responsive text size
|
|
4594
|
-
"md:text-sm",
|
|
4595
|
-
// Default state
|
|
4596
|
-
"border-zinc-300 bg-background",
|
|
4597
|
-
// Hover/Focus/Active states
|
|
4598
|
-
"hover:border-brand-normal",
|
|
4599
|
-
"focus:border-blue-500",
|
|
4600
|
-
"active:border-brand-normal",
|
|
4601
|
-
// Textarea specific
|
|
4602
|
-
"field-sizing-content min-h-16 resize-y px-3 py-2"
|
|
4603
|
-
].join(" ");
|
|
4604
|
-
var errorStyles = [
|
|
4605
|
-
"border-destructive bg-red-subtle",
|
|
4606
|
-
"focus:border-destructive focus:ring-destructive/20",
|
|
4607
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
4608
|
-
].join(" ");
|
|
4609
|
-
var Textarea = React41.forwardRef(
|
|
4610
|
-
({ className, error, ...props }, ref) => {
|
|
4611
|
-
return /* @__PURE__ */ jsx45(
|
|
4612
|
-
"textarea",
|
|
4613
|
-
{
|
|
4614
|
-
"data-slot": "textarea",
|
|
4615
|
-
className: cn(textareaBaseStyles, error && errorStyles, className),
|
|
4616
|
-
"aria-invalid": error,
|
|
4617
|
-
ref,
|
|
4618
|
-
...props
|
|
4619
|
-
}
|
|
4620
|
-
);
|
|
4621
|
-
}
|
|
4622
|
-
);
|
|
4623
|
-
Textarea.displayName = "Textarea";
|
|
4624
|
-
|
|
4625
4963
|
// src/components/ui/toggle.tsx
|
|
4626
4964
|
import "react";
|
|
4627
4965
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
4628
4966
|
import { cva as cva8 } from "class-variance-authority";
|
|
4629
|
-
import { jsx as
|
|
4967
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
4630
4968
|
var toggleVariants = cva8(
|
|
4631
4969
|
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
|
|
4632
4970
|
{
|
|
@@ -4653,7 +4991,7 @@ function Toggle({
|
|
|
4653
4991
|
size,
|
|
4654
4992
|
...props
|
|
4655
4993
|
}) {
|
|
4656
|
-
return /* @__PURE__ */
|
|
4994
|
+
return /* @__PURE__ */ jsx48(
|
|
4657
4995
|
TogglePrimitive.Root,
|
|
4658
4996
|
{
|
|
4659
4997
|
"data-slot": "toggle",
|
|
@@ -4664,11 +5002,11 @@ function Toggle({
|
|
|
4664
5002
|
}
|
|
4665
5003
|
|
|
4666
5004
|
// src/components/ui/toggle-group.tsx
|
|
4667
|
-
import * as
|
|
5005
|
+
import * as React46 from "react";
|
|
4668
5006
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
4669
5007
|
import "class-variance-authority";
|
|
4670
|
-
import { jsx as
|
|
4671
|
-
var ToggleGroupContext =
|
|
5008
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
5009
|
+
var ToggleGroupContext = React46.createContext({
|
|
4672
5010
|
size: "default",
|
|
4673
5011
|
variant: "default"
|
|
4674
5012
|
});
|
|
@@ -4679,7 +5017,7 @@ function ToggleGroup({
|
|
|
4679
5017
|
children,
|
|
4680
5018
|
...props
|
|
4681
5019
|
}) {
|
|
4682
|
-
return /* @__PURE__ */
|
|
5020
|
+
return /* @__PURE__ */ jsx49(
|
|
4683
5021
|
ToggleGroupPrimitive.Root,
|
|
4684
5022
|
{
|
|
4685
5023
|
"data-slot": "toggle-group",
|
|
@@ -4690,7 +5028,7 @@ function ToggleGroup({
|
|
|
4690
5028
|
className
|
|
4691
5029
|
),
|
|
4692
5030
|
...props,
|
|
4693
|
-
children: /* @__PURE__ */
|
|
5031
|
+
children: /* @__PURE__ */ jsx49(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4694
5032
|
}
|
|
4695
5033
|
);
|
|
4696
5034
|
}
|
|
@@ -4701,8 +5039,8 @@ function ToggleGroupItem({
|
|
|
4701
5039
|
size,
|
|
4702
5040
|
...props
|
|
4703
5041
|
}) {
|
|
4704
|
-
const context =
|
|
4705
|
-
return /* @__PURE__ */
|
|
5042
|
+
const context = React46.useContext(ToggleGroupContext);
|
|
5043
|
+
return /* @__PURE__ */ jsx49(
|
|
4706
5044
|
ToggleGroupPrimitive.Item,
|
|
4707
5045
|
{
|
|
4708
5046
|
"data-slot": "toggle-group-item",
|
|
@@ -4726,7 +5064,7 @@ function ToggleGroupItem({
|
|
|
4726
5064
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
4727
5065
|
import { cva as cva9 } from "class-variance-authority";
|
|
4728
5066
|
import "react";
|
|
4729
|
-
import { jsx as
|
|
5067
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
4730
5068
|
var displayTextVariants = cva9(
|
|
4731
5069
|
"tracking-normal font-normal leading-none text-brand-dark font-serif italic",
|
|
4732
5070
|
{
|
|
@@ -4749,7 +5087,7 @@ function DisplayHeading({
|
|
|
4749
5087
|
...props
|
|
4750
5088
|
}) {
|
|
4751
5089
|
const Comp = asChild ? Slot7 : "h1";
|
|
4752
|
-
return /* @__PURE__ */
|
|
5090
|
+
return /* @__PURE__ */ jsx50(
|
|
4753
5091
|
Comp,
|
|
4754
5092
|
{
|
|
4755
5093
|
"data-slot": "h1",
|
|
@@ -4778,7 +5116,7 @@ function Body({
|
|
|
4778
5116
|
...props
|
|
4779
5117
|
}) {
|
|
4780
5118
|
const Comp = asChild ? Slot7 : "p";
|
|
4781
|
-
return /* @__PURE__ */
|
|
5119
|
+
return /* @__PURE__ */ jsx50(
|
|
4782
5120
|
Comp,
|
|
4783
5121
|
{
|
|
4784
5122
|
"data-slot": "h1",
|
|
@@ -4793,7 +5131,7 @@ function HeadingXL({
|
|
|
4793
5131
|
...props
|
|
4794
5132
|
}) {
|
|
4795
5133
|
const Comp = asChild ? Slot7 : "h1";
|
|
4796
|
-
return /* @__PURE__ */
|
|
5134
|
+
return /* @__PURE__ */ jsx50(
|
|
4797
5135
|
Comp,
|
|
4798
5136
|
{
|
|
4799
5137
|
"data-slot": "h1",
|
|
@@ -4811,7 +5149,7 @@ function HeadingL({
|
|
|
4811
5149
|
...props
|
|
4812
5150
|
}) {
|
|
4813
5151
|
const Comp = asChild ? Slot7 : "h2";
|
|
4814
|
-
return /* @__PURE__ */
|
|
5152
|
+
return /* @__PURE__ */ jsx50(
|
|
4815
5153
|
Comp,
|
|
4816
5154
|
{
|
|
4817
5155
|
"data-slot": "h2",
|
|
@@ -4829,7 +5167,7 @@ function HeadingM({
|
|
|
4829
5167
|
...props
|
|
4830
5168
|
}) {
|
|
4831
5169
|
const Comp = asChild ? Slot7 : "h3";
|
|
4832
|
-
return /* @__PURE__ */
|
|
5170
|
+
return /* @__PURE__ */ jsx50(
|
|
4833
5171
|
Comp,
|
|
4834
5172
|
{
|
|
4835
5173
|
"data-slot": "h3",
|
|
@@ -4847,7 +5185,7 @@ function HeadingS({
|
|
|
4847
5185
|
...props
|
|
4848
5186
|
}) {
|
|
4849
5187
|
const Comp = asChild ? Slot7 : "h4";
|
|
4850
|
-
return /* @__PURE__ */
|
|
5188
|
+
return /* @__PURE__ */ jsx50(
|
|
4851
5189
|
Comp,
|
|
4852
5190
|
{
|
|
4853
5191
|
"data-slot": "h4",
|
|
@@ -4865,7 +5203,7 @@ function HeadingXS({
|
|
|
4865
5203
|
...props
|
|
4866
5204
|
}) {
|
|
4867
5205
|
const Comp = asChild ? Slot7 : "h5";
|
|
4868
|
-
return /* @__PURE__ */
|
|
5206
|
+
return /* @__PURE__ */ jsx50(
|
|
4869
5207
|
Comp,
|
|
4870
5208
|
{
|
|
4871
5209
|
"data-slot": "h5",
|
|
@@ -4883,7 +5221,7 @@ function HeadingXXS({
|
|
|
4883
5221
|
...props
|
|
4884
5222
|
}) {
|
|
4885
5223
|
const Comp = asChild ? Slot7 : "h6";
|
|
4886
|
-
return /* @__PURE__ */
|
|
5224
|
+
return /* @__PURE__ */ jsx50(
|
|
4887
5225
|
Comp,
|
|
4888
5226
|
{
|
|
4889
5227
|
"data-slot": "h5",
|
|
@@ -4915,6 +5253,7 @@ export {
|
|
|
4915
5253
|
AlertDialogTrigger,
|
|
4916
5254
|
AlertTitle,
|
|
4917
5255
|
AspectRatio,
|
|
5256
|
+
AutoResizeTextarea,
|
|
4918
5257
|
Avatar,
|
|
4919
5258
|
AvatarFallback,
|
|
4920
5259
|
AvatarImage,
|
|
@@ -4976,6 +5315,7 @@ export {
|
|
|
4976
5315
|
ContextMenuSubContent,
|
|
4977
5316
|
ContextMenuSubTrigger,
|
|
4978
5317
|
ContextMenuTrigger,
|
|
5318
|
+
DateInput,
|
|
4979
5319
|
Dialog,
|
|
4980
5320
|
DialogClose,
|
|
4981
5321
|
DialogContent,
|