@bubo-squared/ui-framework 0.2.14 → 0.2.15
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.cjs +1140 -544
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +107 -24
- package/dist/index.d.ts +107 -24
- package/dist/index.js +1129 -545
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -376,12 +376,77 @@ var MessageButton = (props) => {
|
|
|
376
376
|
};
|
|
377
377
|
MessageButton.displayName = "MessageButton";
|
|
378
378
|
|
|
379
|
-
// src/components/Content/
|
|
379
|
+
// src/components/Content/Accordion.tsx
|
|
380
380
|
import * as React6 from "react";
|
|
381
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
382
|
+
import { ChevronDownIcon } from "@bubo-squared/icons";
|
|
383
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
384
|
+
var Accordion = React6.forwardRef(
|
|
385
|
+
(props, ref) => {
|
|
386
|
+
const {
|
|
387
|
+
title,
|
|
388
|
+
expandIcon,
|
|
389
|
+
children,
|
|
390
|
+
className,
|
|
391
|
+
defaultOpen = false,
|
|
392
|
+
bordered = false,
|
|
393
|
+
...rootProps
|
|
394
|
+
} = props;
|
|
395
|
+
const {
|
|
396
|
+
value,
|
|
397
|
+
defaultValue,
|
|
398
|
+
onValueChange,
|
|
399
|
+
...restRootProps
|
|
400
|
+
} = rootProps;
|
|
401
|
+
const resolvedDefaultValue = value === void 0 && defaultValue === void 0 && defaultOpen ? "item" : defaultValue;
|
|
402
|
+
return /* @__PURE__ */ jsx8(
|
|
403
|
+
AccordionPrimitive.Root,
|
|
404
|
+
{
|
|
405
|
+
ref,
|
|
406
|
+
type: "single",
|
|
407
|
+
collapsible: true,
|
|
408
|
+
className: cn("w-full", className),
|
|
409
|
+
value,
|
|
410
|
+
defaultValue: resolvedDefaultValue,
|
|
411
|
+
onValueChange,
|
|
412
|
+
...restRootProps,
|
|
413
|
+
children: /* @__PURE__ */ jsxs4(
|
|
414
|
+
AccordionPrimitive.Item,
|
|
415
|
+
{
|
|
416
|
+
value: "item",
|
|
417
|
+
className: cn(bordered ? "border rounded-4" : "border-b", "border-(--border-secondary) px-4"),
|
|
418
|
+
children: [
|
|
419
|
+
/* @__PURE__ */ jsx8(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs4(
|
|
420
|
+
AccordionPrimitive.Trigger,
|
|
421
|
+
{
|
|
422
|
+
className: cn(
|
|
423
|
+
"flex w-full items-center justify-between gap-2 py-3 text-left",
|
|
424
|
+
"paragraph-md text-primary",
|
|
425
|
+
"[&[data-state=open]_.accordion-icon]:rotate-180",
|
|
426
|
+
"disabled:cursor-not-allowed disabled:text-primary-disabled cursor-pointer"
|
|
427
|
+
),
|
|
428
|
+
children: [
|
|
429
|
+
/* @__PURE__ */ jsx8("span", { className: "flex-1", children: title }),
|
|
430
|
+
/* @__PURE__ */ jsx8("span", { className: "accordion-icon inline-flex shrink-0 transition-transform duration-200 [&>svg]:size-5", children: expandIcon ?? /* @__PURE__ */ jsx8(ChevronDownIcon, {}) })
|
|
431
|
+
]
|
|
432
|
+
}
|
|
433
|
+
) }),
|
|
434
|
+
/* @__PURE__ */ jsx8(AccordionPrimitive.Content, { className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden", children: /* @__PURE__ */ jsx8("div", { className: "pb-3", children }) })
|
|
435
|
+
]
|
|
436
|
+
}
|
|
437
|
+
)
|
|
438
|
+
}
|
|
439
|
+
);
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
Accordion.displayName = "Accordion";
|
|
443
|
+
|
|
444
|
+
// src/components/Content/Avatar.tsx
|
|
445
|
+
import * as React7 from "react";
|
|
381
446
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
382
447
|
import { cva as cva6 } from "class-variance-authority";
|
|
383
448
|
import { UserIcon } from "@bubo-squared/icons";
|
|
384
|
-
import { jsx as
|
|
449
|
+
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
385
450
|
var avatarVariants = cva6(
|
|
386
451
|
"relative inline-flex items-center justify-center rounded-full border-(--border-secondary) border-1 bg-(--background-primary) text-primary overflow-hidden hover:border-(--focus-secondary) focus-visible:border-(--focus-primary) focus-visible:outline-none",
|
|
387
452
|
{
|
|
@@ -439,7 +504,7 @@ var avatarIconVariants = cva6(
|
|
|
439
504
|
}
|
|
440
505
|
}
|
|
441
506
|
);
|
|
442
|
-
var Avatar =
|
|
507
|
+
var Avatar = React7.forwardRef(
|
|
443
508
|
(props, ref) => {
|
|
444
509
|
const {
|
|
445
510
|
asChild = false,
|
|
@@ -453,14 +518,14 @@ var Avatar = React6.forwardRef(
|
|
|
453
518
|
} = props;
|
|
454
519
|
const Comp = asChild ? Slot4 : "button";
|
|
455
520
|
const hasImage = variant === "image" && typeof src === "string" && src.length > 0;
|
|
456
|
-
return /* @__PURE__ */
|
|
521
|
+
return /* @__PURE__ */ jsxs5(
|
|
457
522
|
Comp,
|
|
458
523
|
{
|
|
459
524
|
ref,
|
|
460
525
|
className: cn(avatarVariants({ size }), className),
|
|
461
526
|
...rest,
|
|
462
527
|
children: [
|
|
463
|
-
hasImage ? /* @__PURE__ */
|
|
528
|
+
hasImage ? /* @__PURE__ */ jsx9(
|
|
464
529
|
"img",
|
|
465
530
|
{
|
|
466
531
|
src,
|
|
@@ -468,8 +533,8 @@ var Avatar = React6.forwardRef(
|
|
|
468
533
|
className: "w-full h-full object-cover"
|
|
469
534
|
}
|
|
470
535
|
) : null,
|
|
471
|
-
!hasImage && variant === "initial" && /* @__PURE__ */
|
|
472
|
-
!hasImage && variant === "icon" && /* @__PURE__ */
|
|
536
|
+
!hasImage && variant === "initial" && /* @__PURE__ */ jsx9("span", { className: cn(avatarInitialsVariants({ size }), "relative bottom-px"), children: initials }),
|
|
537
|
+
!hasImage && variant === "icon" && /* @__PURE__ */ jsx9("span", { className: cn(avatarIconVariants({ size })), children: /* @__PURE__ */ jsx9(UserIcon, {}) })
|
|
473
538
|
]
|
|
474
539
|
}
|
|
475
540
|
);
|
|
@@ -479,7 +544,7 @@ Avatar.displayName = "Avatar";
|
|
|
479
544
|
|
|
480
545
|
// src/components/Content/Typography.tsx
|
|
481
546
|
import "react";
|
|
482
|
-
import { jsx as
|
|
547
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
483
548
|
var mbCapableBaseClasses = /* @__PURE__ */ new Set([
|
|
484
549
|
"h1-intro",
|
|
485
550
|
"h2-intro",
|
|
@@ -515,7 +580,7 @@ var Typography = (props) => {
|
|
|
515
580
|
const Comp = as ?? "span";
|
|
516
581
|
const mbClassName = useMargin ? getMbClassName(variant) : null;
|
|
517
582
|
const weightClassName = weight === "regular" ? null : `${variant}-${weight}`;
|
|
518
|
-
return /* @__PURE__ */
|
|
583
|
+
return /* @__PURE__ */ jsx10(
|
|
519
584
|
Comp,
|
|
520
585
|
{
|
|
521
586
|
className: cn("text-primary", variant, weightClassName, mbClassName, className),
|
|
@@ -527,10 +592,10 @@ var Typography = (props) => {
|
|
|
527
592
|
Typography.displayName = "Typography";
|
|
528
593
|
|
|
529
594
|
// src/components/Content/Badge.tsx
|
|
530
|
-
import * as
|
|
595
|
+
import * as React9 from "react";
|
|
531
596
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
532
597
|
import { cva as cva7 } from "class-variance-authority";
|
|
533
|
-
import { Fragment, jsx as
|
|
598
|
+
import { Fragment, jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
534
599
|
var badgeVariants = cva7(
|
|
535
600
|
"inline-flex items-center justify-center rounded-4 leading-none whitespace-nowrap gap-1 px-1 py-0",
|
|
536
601
|
{
|
|
@@ -560,7 +625,7 @@ var badgeVariants = cva7(
|
|
|
560
625
|
}
|
|
561
626
|
}
|
|
562
627
|
);
|
|
563
|
-
var Badge =
|
|
628
|
+
var Badge = React9.forwardRef(
|
|
564
629
|
(props, ref) => {
|
|
565
630
|
const {
|
|
566
631
|
asChild = false,
|
|
@@ -572,17 +637,17 @@ var Badge = React8.forwardRef(
|
|
|
572
637
|
...rest
|
|
573
638
|
} = props;
|
|
574
639
|
const Comp = asChild ? Slot5 : "div";
|
|
575
|
-
return /* @__PURE__ */
|
|
640
|
+
return /* @__PURE__ */ jsx11(
|
|
576
641
|
Comp,
|
|
577
642
|
{
|
|
578
643
|
ref,
|
|
579
644
|
className: cn(badgeVariants({ size, variant }), className),
|
|
580
645
|
...rest,
|
|
581
|
-
children: value ? /* @__PURE__ */
|
|
582
|
-
/* @__PURE__ */
|
|
583
|
-
/* @__PURE__ */
|
|
584
|
-
/* @__PURE__ */
|
|
585
|
-
] }) : /* @__PURE__ */
|
|
646
|
+
children: value ? /* @__PURE__ */ jsxs6(Fragment, { children: [
|
|
647
|
+
/* @__PURE__ */ jsx11("span", { className: "font-normal", children: label }),
|
|
648
|
+
/* @__PURE__ */ jsx11("span", { className: "font-normal", children: ":" }),
|
|
649
|
+
/* @__PURE__ */ jsx11("span", { className: "font-medium", children: value })
|
|
650
|
+
] }) : /* @__PURE__ */ jsx11("span", { className: "font-normal", children: label })
|
|
586
651
|
}
|
|
587
652
|
);
|
|
588
653
|
}
|
|
@@ -590,9 +655,9 @@ var Badge = React8.forwardRef(
|
|
|
590
655
|
Badge.displayName = "Badge";
|
|
591
656
|
|
|
592
657
|
// src/components/Content/BadgeDigit.tsx
|
|
593
|
-
import * as
|
|
658
|
+
import * as React10 from "react";
|
|
594
659
|
import { cva as cva8 } from "class-variance-authority";
|
|
595
|
-
import { jsx as
|
|
660
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
596
661
|
var badgeDigitVariants = cva8(
|
|
597
662
|
"inline-flex items-center justify-center leading-none whitespace-nowrap text-(--color-b-white)",
|
|
598
663
|
{
|
|
@@ -617,7 +682,7 @@ var badgeDigitVariants = cva8(
|
|
|
617
682
|
}
|
|
618
683
|
}
|
|
619
684
|
);
|
|
620
|
-
var BadgeDigit =
|
|
685
|
+
var BadgeDigit = React10.forwardRef(
|
|
621
686
|
(props, ref) => {
|
|
622
687
|
const {
|
|
623
688
|
value,
|
|
@@ -626,7 +691,7 @@ var BadgeDigit = React9.forwardRef(
|
|
|
626
691
|
className,
|
|
627
692
|
...rest
|
|
628
693
|
} = props;
|
|
629
|
-
return /* @__PURE__ */
|
|
694
|
+
return /* @__PURE__ */ jsx12(
|
|
630
695
|
"div",
|
|
631
696
|
{
|
|
632
697
|
ref,
|
|
@@ -642,7 +707,7 @@ BadgeDigit.displayName = "BadgeDigit";
|
|
|
642
707
|
// src/components/Content/BadgeDot.tsx
|
|
643
708
|
import "react";
|
|
644
709
|
import { cva as cva9 } from "class-variance-authority";
|
|
645
|
-
import { jsx as
|
|
710
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
646
711
|
var badgeDotVariants = cva9("rounded-12 size-3", {
|
|
647
712
|
variants: {
|
|
648
713
|
status: {
|
|
@@ -658,14 +723,14 @@ var badgeDotVariants = cva9("rounded-12 size-3", {
|
|
|
658
723
|
}
|
|
659
724
|
});
|
|
660
725
|
var BadgeDot = ({ status, className }) => {
|
|
661
|
-
return /* @__PURE__ */
|
|
726
|
+
return /* @__PURE__ */ jsx13("div", { className: cn(badgeDotVariants({ status }), className) });
|
|
662
727
|
};
|
|
663
728
|
BadgeDot.displayName = "BadgeDot";
|
|
664
729
|
|
|
665
730
|
// src/components/Content/BadgeStatus.tsx
|
|
666
|
-
import * as
|
|
667
|
-
import { jsx as
|
|
668
|
-
var BadgeStatus =
|
|
731
|
+
import * as React12 from "react";
|
|
732
|
+
import { jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
733
|
+
var BadgeStatus = React12.forwardRef(
|
|
669
734
|
(props, ref) => {
|
|
670
735
|
const {
|
|
671
736
|
label,
|
|
@@ -676,14 +741,14 @@ var BadgeStatus = React11.forwardRef(
|
|
|
676
741
|
} = props;
|
|
677
742
|
const textClasses = active ? "caption-medium text-primary" : "caption-medium text-primary-disabled";
|
|
678
743
|
const dotClasses = active ? "bg-(--background-informal)" : "bg-(--background-primary)";
|
|
679
|
-
return /* @__PURE__ */
|
|
744
|
+
return /* @__PURE__ */ jsxs7(
|
|
680
745
|
"div",
|
|
681
746
|
{
|
|
682
747
|
ref,
|
|
683
748
|
className: cn("inline-flex items-center gap-2", className),
|
|
684
749
|
...rest,
|
|
685
750
|
children: [
|
|
686
|
-
/* @__PURE__ */
|
|
751
|
+
/* @__PURE__ */ jsx14(
|
|
687
752
|
"span",
|
|
688
753
|
{
|
|
689
754
|
className: cn(
|
|
@@ -693,7 +758,7 @@ var BadgeStatus = React11.forwardRef(
|
|
|
693
758
|
)
|
|
694
759
|
}
|
|
695
760
|
),
|
|
696
|
-
/* @__PURE__ */
|
|
761
|
+
/* @__PURE__ */ jsx14("span", { className: textClasses, children: label })
|
|
697
762
|
]
|
|
698
763
|
}
|
|
699
764
|
);
|
|
@@ -704,7 +769,7 @@ BadgeStatus.displayName = "BadgeStatus";
|
|
|
704
769
|
// src/components/Content/Divider.tsx
|
|
705
770
|
import "react";
|
|
706
771
|
import { TargetIcon } from "@bubo-squared/icons";
|
|
707
|
-
import { jsx as
|
|
772
|
+
import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
708
773
|
var gapBySize = {
|
|
709
774
|
sm: "gap-2",
|
|
710
775
|
md: "gap-3",
|
|
@@ -739,14 +804,14 @@ var Divider = (props) => {
|
|
|
739
804
|
className: _className,
|
|
740
805
|
...divProps
|
|
741
806
|
} = props;
|
|
742
|
-
return /* @__PURE__ */
|
|
807
|
+
return /* @__PURE__ */ jsx15(
|
|
743
808
|
"div",
|
|
744
809
|
{
|
|
745
810
|
className: wrapperClass,
|
|
746
811
|
role: "separator",
|
|
747
812
|
"aria-orientation": ariaOrientation,
|
|
748
813
|
...divProps,
|
|
749
|
-
children: /* @__PURE__ */
|
|
814
|
+
children: /* @__PURE__ */ jsx15("div", { className: lineClass })
|
|
750
815
|
}
|
|
751
816
|
);
|
|
752
817
|
}
|
|
@@ -760,7 +825,7 @@ var Divider = (props) => {
|
|
|
760
825
|
...divProps
|
|
761
826
|
} = props;
|
|
762
827
|
const textLabel = label ? label : "OR";
|
|
763
|
-
return /* @__PURE__ */
|
|
828
|
+
return /* @__PURE__ */ jsxs8(
|
|
764
829
|
"div",
|
|
765
830
|
{
|
|
766
831
|
className: wrapperClass,
|
|
@@ -768,8 +833,8 @@ var Divider = (props) => {
|
|
|
768
833
|
"aria-orientation": ariaOrientation,
|
|
769
834
|
...divProps,
|
|
770
835
|
children: [
|
|
771
|
-
/* @__PURE__ */
|
|
772
|
-
/* @__PURE__ */
|
|
836
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass }),
|
|
837
|
+
/* @__PURE__ */ jsx15(
|
|
773
838
|
"span",
|
|
774
839
|
{
|
|
775
840
|
className: cn(
|
|
@@ -779,7 +844,7 @@ var Divider = (props) => {
|
|
|
779
844
|
children: textLabel
|
|
780
845
|
}
|
|
781
846
|
),
|
|
782
|
-
/* @__PURE__ */
|
|
847
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass })
|
|
783
848
|
]
|
|
784
849
|
}
|
|
785
850
|
);
|
|
@@ -796,7 +861,7 @@ var Divider = (props) => {
|
|
|
796
861
|
className: _className,
|
|
797
862
|
...divProps
|
|
798
863
|
} = props;
|
|
799
|
-
return /* @__PURE__ */
|
|
864
|
+
return /* @__PURE__ */ jsxs8(
|
|
800
865
|
"div",
|
|
801
866
|
{
|
|
802
867
|
className: wrapperClass,
|
|
@@ -804,18 +869,18 @@ var Divider = (props) => {
|
|
|
804
869
|
"aria-orientation": ariaOrientation,
|
|
805
870
|
...divProps,
|
|
806
871
|
children: [
|
|
807
|
-
/* @__PURE__ */
|
|
808
|
-
/* @__PURE__ */
|
|
872
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass }),
|
|
873
|
+
/* @__PURE__ */ jsx15(
|
|
809
874
|
IconButton,
|
|
810
875
|
{
|
|
811
876
|
variant: iconButtonVariant ?? "secondary",
|
|
812
877
|
size: resolvedSize,
|
|
813
878
|
"aria-label": ariaLabel ?? "More options",
|
|
814
|
-
icon: icon ?? /* @__PURE__ */
|
|
879
|
+
icon: icon ?? /* @__PURE__ */ jsx15(TargetIcon, {}),
|
|
815
880
|
onClick: onIconClick
|
|
816
881
|
}
|
|
817
882
|
),
|
|
818
|
-
/* @__PURE__ */
|
|
883
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass })
|
|
819
884
|
]
|
|
820
885
|
}
|
|
821
886
|
);
|
|
@@ -829,7 +894,7 @@ var Divider = (props) => {
|
|
|
829
894
|
className: _className,
|
|
830
895
|
...divProps
|
|
831
896
|
} = props;
|
|
832
|
-
return /* @__PURE__ */
|
|
897
|
+
return /* @__PURE__ */ jsxs8(
|
|
833
898
|
"div",
|
|
834
899
|
{
|
|
835
900
|
className: wrapperClass,
|
|
@@ -837,8 +902,8 @@ var Divider = (props) => {
|
|
|
837
902
|
"aria-orientation": ariaOrientation,
|
|
838
903
|
...divProps,
|
|
839
904
|
children: [
|
|
840
|
-
/* @__PURE__ */
|
|
841
|
-
/* @__PURE__ */
|
|
905
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass }),
|
|
906
|
+
/* @__PURE__ */ jsx15(
|
|
842
907
|
IconButtonGroup,
|
|
843
908
|
{
|
|
844
909
|
className: resolvedOrientation === "vertical" ? "flex-col" : "flex-row",
|
|
@@ -846,7 +911,7 @@ var Divider = (props) => {
|
|
|
846
911
|
size: resolvedSize
|
|
847
912
|
}
|
|
848
913
|
),
|
|
849
|
-
/* @__PURE__ */
|
|
914
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass })
|
|
850
915
|
]
|
|
851
916
|
}
|
|
852
917
|
);
|
|
@@ -862,7 +927,7 @@ var Divider = (props) => {
|
|
|
862
927
|
className: _className,
|
|
863
928
|
...divProps
|
|
864
929
|
} = props;
|
|
865
|
-
return /* @__PURE__ */
|
|
930
|
+
return /* @__PURE__ */ jsxs8(
|
|
866
931
|
"div",
|
|
867
932
|
{
|
|
868
933
|
className: wrapperClass,
|
|
@@ -870,8 +935,8 @@ var Divider = (props) => {
|
|
|
870
935
|
"aria-orientation": ariaOrientation,
|
|
871
936
|
...divProps,
|
|
872
937
|
children: [
|
|
873
|
-
/* @__PURE__ */
|
|
874
|
-
/* @__PURE__ */
|
|
938
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass }),
|
|
939
|
+
/* @__PURE__ */ jsx15(
|
|
875
940
|
Button,
|
|
876
941
|
{
|
|
877
942
|
variant: buttonVariant ?? "secondary",
|
|
@@ -880,7 +945,7 @@ var Divider = (props) => {
|
|
|
880
945
|
children: buttonLabel
|
|
881
946
|
}
|
|
882
947
|
),
|
|
883
|
-
/* @__PURE__ */
|
|
948
|
+
/* @__PURE__ */ jsx15("div", { className: lineClass })
|
|
884
949
|
]
|
|
885
950
|
}
|
|
886
951
|
);
|
|
@@ -890,11 +955,11 @@ var Divider = (props) => {
|
|
|
890
955
|
Divider.displayName = "Divider";
|
|
891
956
|
|
|
892
957
|
// src/components/Content/Progress.tsx
|
|
893
|
-
import * as
|
|
958
|
+
import * as React15 from "react";
|
|
894
959
|
|
|
895
960
|
// src/components/Inputs/Field.tsx
|
|
896
|
-
import * as
|
|
897
|
-
import { jsx as
|
|
961
|
+
import * as React14 from "react";
|
|
962
|
+
import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
898
963
|
var fieldBase = "flex flex-col gap-2 items-start";
|
|
899
964
|
var Field = (props) => {
|
|
900
965
|
const {
|
|
@@ -907,18 +972,18 @@ var Field = (props) => {
|
|
|
907
972
|
className,
|
|
908
973
|
children
|
|
909
974
|
} = props;
|
|
910
|
-
const fieldId =
|
|
975
|
+
const fieldId = React14.useId();
|
|
911
976
|
const labelId = label ? `${fieldId}-label` : void 0;
|
|
912
977
|
const hintId = hint ? `${fieldId}-hint` : void 0;
|
|
913
978
|
const hintColorClass = disabled ? "text-primary-disabled" : status === "success" ? "text-(--color-success)" : status === "error" ? "text-(--color-error)" : "text-(--color-secondary)";
|
|
914
979
|
const labelColorClass = disabled ? "text-primary-disabled" : "text-primary";
|
|
915
|
-
return /* @__PURE__ */
|
|
916
|
-
label && /* @__PURE__ */
|
|
917
|
-
/* @__PURE__ */
|
|
980
|
+
return /* @__PURE__ */ jsxs9("div", { className: cn(fieldBase, className), children: [
|
|
981
|
+
label && /* @__PURE__ */ jsxs9("div", { className: "flex w-full items-center justify-between", children: [
|
|
982
|
+
/* @__PURE__ */ jsx16("label", { id: labelId, className: cn("paragraph-sm", labelColorClass), children: label }),
|
|
918
983
|
labelRight
|
|
919
984
|
] }),
|
|
920
|
-
/* @__PURE__ */
|
|
921
|
-
!hideHint && /* @__PURE__ */
|
|
985
|
+
/* @__PURE__ */ jsx16("div", { className: "relative w-full", children }),
|
|
986
|
+
!hideHint && /* @__PURE__ */ jsx16(
|
|
922
987
|
"p",
|
|
923
988
|
{
|
|
924
989
|
id: hint ? hintId : void 0,
|
|
@@ -931,13 +996,13 @@ var Field = (props) => {
|
|
|
931
996
|
Field.displayName = "Field";
|
|
932
997
|
|
|
933
998
|
// src/components/Content/Progress.tsx
|
|
934
|
-
import { jsx as
|
|
999
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
935
1000
|
var sizeToBarClasses = {
|
|
936
1001
|
lg: "h-4 rounded-16",
|
|
937
1002
|
md: "h-2 rounded-8",
|
|
938
1003
|
sm: "h-1 rounded-4"
|
|
939
1004
|
};
|
|
940
|
-
var Progress =
|
|
1005
|
+
var Progress = React15.forwardRef(
|
|
941
1006
|
(props, ref) => {
|
|
942
1007
|
const {
|
|
943
1008
|
value,
|
|
@@ -954,17 +1019,17 @@ var Progress = React14.forwardRef(
|
|
|
954
1019
|
const clamped = Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : 0;
|
|
955
1020
|
const percentageLabel = `${Math.round(clamped)}%`;
|
|
956
1021
|
const barHeightClasses = sizeToBarClasses[size];
|
|
957
|
-
return /* @__PURE__ */
|
|
1022
|
+
return /* @__PURE__ */ jsx17(
|
|
958
1023
|
Field,
|
|
959
1024
|
{
|
|
960
1025
|
label,
|
|
961
|
-
labelRight: showProgressLabel && label ? /* @__PURE__ */
|
|
1026
|
+
labelRight: showProgressLabel && label ? /* @__PURE__ */ jsx17("span", { className: "footnote text-(--color-secondary)", children: percentageLabel }) : void 0,
|
|
962
1027
|
hint,
|
|
963
1028
|
hideHint,
|
|
964
1029
|
status,
|
|
965
1030
|
disabled,
|
|
966
1031
|
className: cn("w-full", className),
|
|
967
|
-
children: /* @__PURE__ */
|
|
1032
|
+
children: /* @__PURE__ */ jsx17(
|
|
968
1033
|
"div",
|
|
969
1034
|
{
|
|
970
1035
|
ref,
|
|
@@ -974,7 +1039,7 @@ var Progress = React14.forwardRef(
|
|
|
974
1039
|
"aria-valuemax": 100,
|
|
975
1040
|
"aria-label": label,
|
|
976
1041
|
...rest,
|
|
977
|
-
children: /* @__PURE__ */
|
|
1042
|
+
children: /* @__PURE__ */ jsx17(
|
|
978
1043
|
"div",
|
|
979
1044
|
{
|
|
980
1045
|
className: cn(
|
|
@@ -982,7 +1047,7 @@ var Progress = React14.forwardRef(
|
|
|
982
1047
|
barHeightClasses,
|
|
983
1048
|
disabled && "opacity-50"
|
|
984
1049
|
),
|
|
985
|
-
children: /* @__PURE__ */
|
|
1050
|
+
children: /* @__PURE__ */ jsx17(
|
|
986
1051
|
"div",
|
|
987
1052
|
{
|
|
988
1053
|
className: cn(
|
|
@@ -1003,7 +1068,7 @@ var Progress = React14.forwardRef(
|
|
|
1003
1068
|
Progress.displayName = "Progress";
|
|
1004
1069
|
|
|
1005
1070
|
// src/components/Content/StatusAvatar.tsx
|
|
1006
|
-
import * as
|
|
1071
|
+
import * as React16 from "react";
|
|
1007
1072
|
import { cva as cva10 } from "class-variance-authority";
|
|
1008
1073
|
import {
|
|
1009
1074
|
BookmarkCheckIcon,
|
|
@@ -1012,7 +1077,7 @@ import {
|
|
|
1012
1077
|
PlusIcon,
|
|
1013
1078
|
StarIcon
|
|
1014
1079
|
} from "@bubo-squared/icons";
|
|
1015
|
-
import { jsx as
|
|
1080
|
+
import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1016
1081
|
var iconStatusVariants = cva10(
|
|
1017
1082
|
"inline-flex size-5 items-center justify-center rounded-full border-1 border-(--color-primary-inverse) p-1",
|
|
1018
1083
|
{
|
|
@@ -1037,11 +1102,11 @@ var presenceDotByVariant = {
|
|
|
1037
1102
|
away: "bg-(--background-warning) border-1 border-(--color-primary-inverse)",
|
|
1038
1103
|
busy: "bg-(--background-error) border-1 border-(--color-primary-inverse)"
|
|
1039
1104
|
};
|
|
1040
|
-
var StatusAvatar =
|
|
1105
|
+
var StatusAvatar = React16.forwardRef((props, ref) => {
|
|
1041
1106
|
const { variant = "verified", className, ...rest } = props;
|
|
1042
1107
|
if (variant === "offline" || variant === "online" || variant === "away" || variant === "busy") {
|
|
1043
1108
|
const dotClasses = presenceDotByVariant[variant];
|
|
1044
|
-
return /* @__PURE__ */
|
|
1109
|
+
return /* @__PURE__ */ jsx18(
|
|
1045
1110
|
"div",
|
|
1046
1111
|
{
|
|
1047
1112
|
ref,
|
|
@@ -1050,23 +1115,23 @@ var StatusAvatar = React15.forwardRef((props, ref) => {
|
|
|
1050
1115
|
className
|
|
1051
1116
|
),
|
|
1052
1117
|
...rest,
|
|
1053
|
-
children: /* @__PURE__ */
|
|
1118
|
+
children: /* @__PURE__ */ jsx18("div", { className: cn(dotClasses, "size-3.5 rounded-full") })
|
|
1054
1119
|
}
|
|
1055
1120
|
);
|
|
1056
1121
|
}
|
|
1057
1122
|
const iconVariant = variant;
|
|
1058
|
-
return /* @__PURE__ */
|
|
1123
|
+
return /* @__PURE__ */ jsxs10(
|
|
1059
1124
|
"div",
|
|
1060
1125
|
{
|
|
1061
1126
|
ref,
|
|
1062
1127
|
className: cn(iconStatusVariants({ variant: iconVariant }), className),
|
|
1063
1128
|
...rest,
|
|
1064
1129
|
children: [
|
|
1065
|
-
iconVariant === "verified" && /* @__PURE__ */
|
|
1066
|
-
iconVariant === "bookmark" && /* @__PURE__ */
|
|
1067
|
-
iconVariant === "favorite" && /* @__PURE__ */
|
|
1068
|
-
iconVariant === "add" && /* @__PURE__ */
|
|
1069
|
-
iconVariant === "remove" && /* @__PURE__ */
|
|
1130
|
+
iconVariant === "verified" && /* @__PURE__ */ jsx18(CheckIcon, { className: "size-3 text-button-white" }),
|
|
1131
|
+
iconVariant === "bookmark" && /* @__PURE__ */ jsx18(BookmarkCheckIcon, { className: "size-3 text-button-white" }),
|
|
1132
|
+
iconVariant === "favorite" && /* @__PURE__ */ jsx18(StarIcon, { className: "size-3 text-button-white" }),
|
|
1133
|
+
iconVariant === "add" && /* @__PURE__ */ jsx18(PlusIcon, { className: "size-3 text-button-white" }),
|
|
1134
|
+
iconVariant === "remove" && /* @__PURE__ */ jsx18(CrossIcon, { className: "size-3 text-button-white" })
|
|
1070
1135
|
]
|
|
1071
1136
|
}
|
|
1072
1137
|
);
|
|
@@ -1074,10 +1139,10 @@ var StatusAvatar = React15.forwardRef((props, ref) => {
|
|
|
1074
1139
|
StatusAvatar.displayName = "StatusAvatar";
|
|
1075
1140
|
|
|
1076
1141
|
// src/components/Content/Tag.tsx
|
|
1077
|
-
import * as
|
|
1142
|
+
import * as React17 from "react";
|
|
1078
1143
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
1079
1144
|
import { cva as cva11 } from "class-variance-authority";
|
|
1080
|
-
import { jsx as
|
|
1145
|
+
import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1081
1146
|
var tagVariants = cva11(
|
|
1082
1147
|
"inline-flex flex-row items-center justify-center rounded-6 gap-2 px-3 overflow-hidden border-1 border-(--border-secondary) bg-(--background-neutral) hover:border-(--border-secondary-hover) focus:border-(--border-brand) focus-ring-primary ",
|
|
1083
1148
|
{
|
|
@@ -1094,7 +1159,7 @@ var tagVariants = cva11(
|
|
|
1094
1159
|
);
|
|
1095
1160
|
var disabledTag = "pointer-events-none border-(--border-secondary-disabled) bg-(--background-neutral-disabled) text-primary-disabled";
|
|
1096
1161
|
var iconClasses = "flex items-center justify-center w-5 h-5 [&>*]:w-5 [&>*]:h-5 shrink-0 text-primary";
|
|
1097
|
-
var Tag =
|
|
1162
|
+
var Tag = React17.forwardRef(
|
|
1098
1163
|
(props, ref) => {
|
|
1099
1164
|
const {
|
|
1100
1165
|
size = "sm",
|
|
@@ -1106,69 +1171,678 @@ var Tag = React16.forwardRef(
|
|
|
1106
1171
|
...rest
|
|
1107
1172
|
} = props;
|
|
1108
1173
|
const Comp = asChild ? Slot6 : "div";
|
|
1109
|
-
const leading = props.leadingIcon &&
|
|
1110
|
-
const trailing = props.trailingIcon &&
|
|
1111
|
-
return /* @__PURE__ */
|
|
1174
|
+
const leading = props.leadingIcon && React17.isValidElement(props.leadingIcon) ? React17.cloneElement(props.leadingIcon, { disabled, ...props.leadingIcon.props }) : null;
|
|
1175
|
+
const trailing = props.trailingIcon && React17.isValidElement(props.trailingIcon) ? React17.cloneElement(props.trailingIcon, { disabled, ...props.trailingIcon.props }) : null;
|
|
1176
|
+
return /* @__PURE__ */ jsxs11(
|
|
1112
1177
|
Comp,
|
|
1113
1178
|
{
|
|
1114
1179
|
className: cn(tagVariants({ size }), disabled && disabledTag, className),
|
|
1115
1180
|
ref,
|
|
1116
1181
|
...rest,
|
|
1117
1182
|
children: [
|
|
1118
|
-
leading && /* @__PURE__ */
|
|
1119
|
-
value ? /* @__PURE__ */
|
|
1120
|
-
/* @__PURE__ */
|
|
1121
|
-
/* @__PURE__ */
|
|
1122
|
-
/* @__PURE__ */
|
|
1123
|
-
] }) : /* @__PURE__ */
|
|
1124
|
-
trailing && /* @__PURE__ */
|
|
1183
|
+
leading && /* @__PURE__ */ jsx19("div", { className: iconClasses, children: leading }),
|
|
1184
|
+
value ? /* @__PURE__ */ jsxs11("div", { className: "flex flex-row gap-1 items-center", children: [
|
|
1185
|
+
/* @__PURE__ */ jsx19("span", { className: "text-primary paragraph-lg mb-0! cursor-default font-normal", children: label }),
|
|
1186
|
+
/* @__PURE__ */ jsx19("span", { className: "text-primary paragraph-lg mb-0! cursor-default font-normal", children: ":" }),
|
|
1187
|
+
/* @__PURE__ */ jsx19("span", { className: "text-primary paragraph-lg-medium mb-0! cursor-default font-medium", children: value })
|
|
1188
|
+
] }) : /* @__PURE__ */ jsx19("span", { className: "text-primary paragraph-lg mb-0! cursor-default", children: label }),
|
|
1189
|
+
trailing && /* @__PURE__ */ jsx19("div", { className: iconClasses, children: trailing })
|
|
1190
|
+
]
|
|
1191
|
+
}
|
|
1192
|
+
);
|
|
1193
|
+
}
|
|
1194
|
+
);
|
|
1195
|
+
|
|
1196
|
+
// src/components/Content/Menu.tsx
|
|
1197
|
+
import "react";
|
|
1198
|
+
|
|
1199
|
+
// src/components/ui/dropdown-menu.tsx
|
|
1200
|
+
import * as React18 from "react";
|
|
1201
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1202
|
+
import { ChevronRightIcon } from "@bubo-squared/icons";
|
|
1203
|
+
|
|
1204
|
+
// src/components/ui/dropdown-styles.ts
|
|
1205
|
+
import { cva as cva12 } from "class-variance-authority";
|
|
1206
|
+
var dropdownSurfaceClass = "z-50 rounded-4 border border-(--border-secondary-hover) bg-(--background-neutral) shadow-card-md";
|
|
1207
|
+
var dropdownScrollClass = "max-h-79 overflow-y-auto dropdown-scrollbar";
|
|
1208
|
+
var dropdownRowVariants = cva12(
|
|
1209
|
+
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left text-primary cursor-pointer hover:bg-(--background-secondary)",
|
|
1210
|
+
{
|
|
1211
|
+
variants: {
|
|
1212
|
+
size: {
|
|
1213
|
+
sm: "paragraph-sm py-(--space-4)",
|
|
1214
|
+
md: "paragraph-md py-(--space-6)",
|
|
1215
|
+
lg: "paragraph-lg py-(--space-8)",
|
|
1216
|
+
xl: "subtitle py-(--space-10)"
|
|
1217
|
+
},
|
|
1218
|
+
inset: {
|
|
1219
|
+
true: "pl-(--space-16)"
|
|
1220
|
+
}
|
|
1221
|
+
},
|
|
1222
|
+
defaultVariants: {
|
|
1223
|
+
size: "lg"
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
);
|
|
1227
|
+
|
|
1228
|
+
// src/components/ui/dropdown-menu.tsx
|
|
1229
|
+
import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1230
|
+
var DropdownMenuSizeContext = React18.createContext("lg");
|
|
1231
|
+
function useDropdownMenuSize(explicitSize) {
|
|
1232
|
+
const contextSize = React18.useContext(DropdownMenuSizeContext);
|
|
1233
|
+
return explicitSize ?? contextSize;
|
|
1234
|
+
}
|
|
1235
|
+
function DropdownMenu({
|
|
1236
|
+
...props
|
|
1237
|
+
}) {
|
|
1238
|
+
return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
1239
|
+
}
|
|
1240
|
+
function DropdownMenuPortal({
|
|
1241
|
+
...props
|
|
1242
|
+
}) {
|
|
1243
|
+
return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
1244
|
+
}
|
|
1245
|
+
function DropdownMenuTrigger({
|
|
1246
|
+
...props
|
|
1247
|
+
}) {
|
|
1248
|
+
return /* @__PURE__ */ jsx20(
|
|
1249
|
+
DropdownMenuPrimitive.Trigger,
|
|
1250
|
+
{
|
|
1251
|
+
"data-slot": "dropdown-menu-trigger",
|
|
1252
|
+
...props
|
|
1253
|
+
}
|
|
1254
|
+
);
|
|
1255
|
+
}
|
|
1256
|
+
function DropdownMenuContent({
|
|
1257
|
+
className,
|
|
1258
|
+
sideOffset = 4,
|
|
1259
|
+
size = "lg",
|
|
1260
|
+
...props
|
|
1261
|
+
}) {
|
|
1262
|
+
return /* @__PURE__ */ jsx20(DropdownMenuSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx20(
|
|
1263
|
+
DropdownMenuPrimitive.Content,
|
|
1264
|
+
{
|
|
1265
|
+
"data-slot": "dropdown-menu-content",
|
|
1266
|
+
sideOffset,
|
|
1267
|
+
className: cn(
|
|
1268
|
+
dropdownSurfaceClass,
|
|
1269
|
+
dropdownScrollClass,
|
|
1270
|
+
"min-w-37.5 p-0",
|
|
1271
|
+
className
|
|
1272
|
+
),
|
|
1273
|
+
...props
|
|
1274
|
+
}
|
|
1275
|
+
) }) });
|
|
1276
|
+
}
|
|
1277
|
+
function DropdownMenuGroup({
|
|
1278
|
+
...props
|
|
1279
|
+
}) {
|
|
1280
|
+
return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
1281
|
+
}
|
|
1282
|
+
function DropdownMenuItem({
|
|
1283
|
+
className,
|
|
1284
|
+
inset,
|
|
1285
|
+
size,
|
|
1286
|
+
variant = "default",
|
|
1287
|
+
...props
|
|
1288
|
+
}) {
|
|
1289
|
+
const resolvedSize = useDropdownMenuSize(size);
|
|
1290
|
+
return /* @__PURE__ */ jsx20(
|
|
1291
|
+
DropdownMenuPrimitive.Item,
|
|
1292
|
+
{
|
|
1293
|
+
"data-slot": "dropdown-menu-item",
|
|
1294
|
+
"data-inset": inset,
|
|
1295
|
+
"data-variant": variant,
|
|
1296
|
+
className: cn(
|
|
1297
|
+
dropdownRowVariants({ size: resolvedSize, inset }),
|
|
1298
|
+
"data-highlighted:bg-(--background-secondary) data-highlighted:outline-none",
|
|
1299
|
+
"data-disabled:pointer-events-none data-disabled:opacity-50 data-disabled:text-primary-disabled",
|
|
1300
|
+
variant === "destructive" ? "text-(--color-error)" : null,
|
|
1301
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1302
|
+
className
|
|
1303
|
+
),
|
|
1304
|
+
...props
|
|
1305
|
+
}
|
|
1306
|
+
);
|
|
1307
|
+
}
|
|
1308
|
+
function DropdownMenuLabel({
|
|
1309
|
+
className,
|
|
1310
|
+
inset,
|
|
1311
|
+
size,
|
|
1312
|
+
...props
|
|
1313
|
+
}) {
|
|
1314
|
+
const resolvedSize = useDropdownMenuSize(size);
|
|
1315
|
+
return /* @__PURE__ */ jsx20(
|
|
1316
|
+
DropdownMenuPrimitive.Label,
|
|
1317
|
+
{
|
|
1318
|
+
"data-slot": "dropdown-menu-label",
|
|
1319
|
+
"data-inset": inset,
|
|
1320
|
+
className: cn(
|
|
1321
|
+
dropdownRowVariants({ size: resolvedSize, inset }),
|
|
1322
|
+
"text-secondary cursor-default hover:bg-transparent caption",
|
|
1323
|
+
className
|
|
1324
|
+
),
|
|
1325
|
+
...props
|
|
1326
|
+
}
|
|
1327
|
+
);
|
|
1328
|
+
}
|
|
1329
|
+
function DropdownMenuSeparator({
|
|
1330
|
+
className,
|
|
1331
|
+
...props
|
|
1332
|
+
}) {
|
|
1333
|
+
return /* @__PURE__ */ jsx20(
|
|
1334
|
+
DropdownMenuPrimitive.Separator,
|
|
1335
|
+
{
|
|
1336
|
+
"data-slot": "dropdown-menu-separator",
|
|
1337
|
+
className: cn("my-1 h-px bg-(--border-secondary)", className),
|
|
1338
|
+
...props
|
|
1339
|
+
}
|
|
1340
|
+
);
|
|
1341
|
+
}
|
|
1342
|
+
function DropdownMenuShortcut({
|
|
1343
|
+
className,
|
|
1344
|
+
...props
|
|
1345
|
+
}) {
|
|
1346
|
+
return /* @__PURE__ */ jsx20(
|
|
1347
|
+
"span",
|
|
1348
|
+
{
|
|
1349
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
1350
|
+
className: cn(
|
|
1351
|
+
"ml-auto paragraph-sm text-secondary",
|
|
1352
|
+
className
|
|
1353
|
+
),
|
|
1354
|
+
...props
|
|
1355
|
+
}
|
|
1356
|
+
);
|
|
1357
|
+
}
|
|
1358
|
+
function DropdownMenuSub({
|
|
1359
|
+
...props
|
|
1360
|
+
}) {
|
|
1361
|
+
return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
1362
|
+
}
|
|
1363
|
+
function DropdownMenuSubTrigger({
|
|
1364
|
+
className,
|
|
1365
|
+
inset,
|
|
1366
|
+
size,
|
|
1367
|
+
children,
|
|
1368
|
+
...props
|
|
1369
|
+
}) {
|
|
1370
|
+
const resolvedSize = useDropdownMenuSize(size);
|
|
1371
|
+
return /* @__PURE__ */ jsxs12(
|
|
1372
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
1373
|
+
{
|
|
1374
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
1375
|
+
"data-inset": inset,
|
|
1376
|
+
className: cn(
|
|
1377
|
+
dropdownRowVariants({ size: resolvedSize, inset }),
|
|
1378
|
+
"data-highlighted:bg-(--background-secondary) data-highlighted:outline-none",
|
|
1379
|
+
"data-[state=open]:bg-(--background-secondary)",
|
|
1380
|
+
"data-disabled:pointer-events-none data-disabled:opacity-50 data-disabled:text-primary-disabled",
|
|
1381
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1382
|
+
className
|
|
1383
|
+
),
|
|
1384
|
+
...props,
|
|
1385
|
+
children: [
|
|
1386
|
+
children,
|
|
1387
|
+
/* @__PURE__ */ jsx20(ChevronRightIcon, { className: "ml-auto size-4 text-(--icon-primary)" })
|
|
1388
|
+
]
|
|
1389
|
+
}
|
|
1390
|
+
);
|
|
1391
|
+
}
|
|
1392
|
+
function DropdownMenuSubContent({
|
|
1393
|
+
className,
|
|
1394
|
+
size,
|
|
1395
|
+
...props
|
|
1396
|
+
}) {
|
|
1397
|
+
const resolvedSize = useDropdownMenuSize(size);
|
|
1398
|
+
return /* @__PURE__ */ jsx20(DropdownMenuSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx20(
|
|
1399
|
+
DropdownMenuPrimitive.SubContent,
|
|
1400
|
+
{
|
|
1401
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
1402
|
+
className: cn(
|
|
1403
|
+
dropdownSurfaceClass,
|
|
1404
|
+
dropdownScrollClass,
|
|
1405
|
+
"min-w-37.5 p-0",
|
|
1406
|
+
className
|
|
1407
|
+
),
|
|
1408
|
+
...props
|
|
1409
|
+
}
|
|
1410
|
+
) });
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
// src/components/Content/Menu.tsx
|
|
1414
|
+
import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1415
|
+
var Menu = (props) => {
|
|
1416
|
+
const {
|
|
1417
|
+
trigger,
|
|
1418
|
+
children,
|
|
1419
|
+
size = "lg",
|
|
1420
|
+
align = "start",
|
|
1421
|
+
side,
|
|
1422
|
+
offset = 4,
|
|
1423
|
+
className,
|
|
1424
|
+
open,
|
|
1425
|
+
onOpenChange,
|
|
1426
|
+
modal
|
|
1427
|
+
} = props;
|
|
1428
|
+
return /* @__PURE__ */ jsxs13(DropdownMenu, { open, onOpenChange, modal, children: [
|
|
1429
|
+
/* @__PURE__ */ jsx21(DropdownMenuTrigger, { asChild: true, children: trigger }),
|
|
1430
|
+
/* @__PURE__ */ jsx21(
|
|
1431
|
+
DropdownMenuContent,
|
|
1432
|
+
{
|
|
1433
|
+
align,
|
|
1434
|
+
side,
|
|
1435
|
+
sideOffset: offset,
|
|
1436
|
+
size,
|
|
1437
|
+
className: cn(className),
|
|
1438
|
+
children
|
|
1439
|
+
}
|
|
1440
|
+
)
|
|
1441
|
+
] });
|
|
1442
|
+
};
|
|
1443
|
+
Menu.displayName = "Menu";
|
|
1444
|
+
var MenuGroup = DropdownMenuGroup;
|
|
1445
|
+
var MenuItem = DropdownMenuItem;
|
|
1446
|
+
var MenuLabel = DropdownMenuLabel;
|
|
1447
|
+
var MenuPortal = DropdownMenuPortal;
|
|
1448
|
+
var MenuSeparator = DropdownMenuSeparator;
|
|
1449
|
+
var MenuShortcut = DropdownMenuShortcut;
|
|
1450
|
+
var MenuSub = DropdownMenuSub;
|
|
1451
|
+
var MenuSubContent = DropdownMenuSubContent;
|
|
1452
|
+
var MenuSubTrigger = DropdownMenuSubTrigger;
|
|
1453
|
+
|
|
1454
|
+
// src/components/Inputs/Checkbox.tsx
|
|
1455
|
+
import "react";
|
|
1456
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1457
|
+
import { CheckIcon as CheckIcon2 } from "@bubo-squared/icons";
|
|
1458
|
+
import { MinusIcon } from "@bubo-squared/icons";
|
|
1459
|
+
import { jsx as jsx22, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1460
|
+
function Checkbox({ label, className, ...props }) {
|
|
1461
|
+
return /* @__PURE__ */ jsxs14("label", { className: "inline-flex items-center gap-(--space-12) cursor-pointer select-none", children: [
|
|
1462
|
+
/* @__PURE__ */ jsx22(
|
|
1463
|
+
CheckboxPrimitive.Root,
|
|
1464
|
+
{
|
|
1465
|
+
className: cn(
|
|
1466
|
+
"group flex h-5 w-5 items-center justify-center rounded-2 border border-(--border-secondary) bg-(--background-neutral) text-primary-inverse",
|
|
1467
|
+
"data-[state=checked]:bg-(--background-brand) data-[state=checked]:text-button-white data-[state=checked]:border-none",
|
|
1468
|
+
"data-[state=indeterminate]:bg-(--background-brand) data-[state=indeterminate]:text-button-white data-[state=indeterminate]:border-none",
|
|
1469
|
+
"data-[state=checked]:hover:bg-(--background-brand-hover) data-[state=indeterminate]:hover:bg-(--background-brand-hover)",
|
|
1470
|
+
"focus-visible:border-(--border-brand)",
|
|
1471
|
+
"disabled:bg-(--background-primary-disabled) disabled:border-none disabled:text-(--icon-primary-disabled)",
|
|
1472
|
+
"data-[state=checked]:disabled:bg-(--background-primary-disabled) data-[state=checked]:disabled:border-none data-[state=checked]:disabled:text-(--icon-primary-disabled)",
|
|
1473
|
+
"data-[state=indeterminate]:disabled:bg-(--background-primary-disabled) data-[state=indeterminate]:disabled:border-none data-[state=indeterminate]:disabled:text-(--icon-primary-disabled)",
|
|
1474
|
+
"focus-ring-primary hover:cursor-pointer hover:border-(--border-secondary-hover)",
|
|
1475
|
+
className
|
|
1476
|
+
),
|
|
1477
|
+
...props,
|
|
1478
|
+
children: /* @__PURE__ */ jsxs14(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
|
|
1479
|
+
/* @__PURE__ */ jsx22(CheckIcon2, { className: "h-5 w-5 hidden group-data-[state=checked]:block" }),
|
|
1480
|
+
/* @__PURE__ */ jsx22(MinusIcon, { className: "h-5 w-5 hidden group-data-[state=indeterminate]:block" })
|
|
1481
|
+
] })
|
|
1482
|
+
}
|
|
1483
|
+
),
|
|
1484
|
+
label && /* @__PURE__ */ jsx22("span", { className: "paragraph-md-medium text-primary", children: label })
|
|
1485
|
+
] });
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
// src/components/Inputs/Autocomplete.tsx
|
|
1489
|
+
import * as React23 from "react";
|
|
1490
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
1491
|
+
|
|
1492
|
+
// src/components/Inputs/InputShell.tsx
|
|
1493
|
+
import * as React21 from "react";
|
|
1494
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
1495
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1496
|
+
var inputShellVariants = cva13(
|
|
1497
|
+
"group flex w-full items-center rounded-4 border bg-(--background-primary) text-left cursor-text border-(--border-secondary)",
|
|
1498
|
+
{
|
|
1499
|
+
variants: {
|
|
1500
|
+
size: {
|
|
1501
|
+
sm: "gap-2 px-2 py-1 h-8",
|
|
1502
|
+
md: "gap-2 px-2 py-2 h-10",
|
|
1503
|
+
lg: "gap-2 px-2 py-2 h-11",
|
|
1504
|
+
xl: "gap-2 px-[10px] py-2 h-14"
|
|
1505
|
+
},
|
|
1506
|
+
status: {
|
|
1507
|
+
default: "input-default",
|
|
1508
|
+
success: "input-success",
|
|
1509
|
+
error: "input-error"
|
|
1510
|
+
},
|
|
1511
|
+
disabled: {
|
|
1512
|
+
true: "bg-(--background-primary-disabled) border-(--border-secondary-disabled) text-primary-disabled cursor-default"
|
|
1513
|
+
}
|
|
1514
|
+
},
|
|
1515
|
+
defaultVariants: {
|
|
1516
|
+
size: "lg",
|
|
1517
|
+
status: "default"
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
);
|
|
1521
|
+
var InputShell = React21.forwardRef(
|
|
1522
|
+
({ size, status, disabled, className, ...rest }, ref) => {
|
|
1523
|
+
return /* @__PURE__ */ jsx23(
|
|
1524
|
+
"div",
|
|
1525
|
+
{
|
|
1526
|
+
ref,
|
|
1527
|
+
"aria-disabled": disabled || void 0,
|
|
1528
|
+
className: cn(
|
|
1529
|
+
inputShellVariants({ size, status, disabled }),
|
|
1530
|
+
className
|
|
1531
|
+
),
|
|
1532
|
+
...rest
|
|
1533
|
+
}
|
|
1534
|
+
);
|
|
1535
|
+
}
|
|
1536
|
+
);
|
|
1537
|
+
InputShell.displayName = "InputShell";
|
|
1538
|
+
|
|
1539
|
+
// src/components/ui/input.tsx
|
|
1540
|
+
import * as React22 from "react";
|
|
1541
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1542
|
+
var Input = React22.forwardRef(
|
|
1543
|
+
({ className, type, variant = "default", ...props }, ref) => {
|
|
1544
|
+
const base = "text-primary placeholder:text-(--color-secondary) disabled:text-primary-disabled disabled:placeholder:text-primary-disabled selection:bg-primary selection:text-primary-foreground file:text-foreground";
|
|
1545
|
+
const defaultStyles = "dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 shadow-xs transition-[color,box-shadow] file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive";
|
|
1546
|
+
const bareStyles = "bg-transparent outline-none w-full";
|
|
1547
|
+
return /* @__PURE__ */ jsx24(
|
|
1548
|
+
"input",
|
|
1549
|
+
{
|
|
1550
|
+
ref,
|
|
1551
|
+
type,
|
|
1552
|
+
"data-slot": "input",
|
|
1553
|
+
className: cn(
|
|
1554
|
+
base,
|
|
1555
|
+
variant === "default" ? defaultStyles : bareStyles,
|
|
1556
|
+
className
|
|
1557
|
+
),
|
|
1558
|
+
...props
|
|
1559
|
+
}
|
|
1560
|
+
);
|
|
1561
|
+
}
|
|
1562
|
+
);
|
|
1563
|
+
Input.displayName = "Input";
|
|
1564
|
+
|
|
1565
|
+
// src/components/Inputs/Autocomplete.tsx
|
|
1566
|
+
import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1567
|
+
var inputTextVariants = cva14("truncate", {
|
|
1568
|
+
variants: {
|
|
1569
|
+
size: {
|
|
1570
|
+
sm: "paragraph-md",
|
|
1571
|
+
md: "paragraph-lg",
|
|
1572
|
+
lg: "subtitle",
|
|
1573
|
+
xl: "h6-title"
|
|
1574
|
+
}
|
|
1575
|
+
},
|
|
1576
|
+
defaultVariants: {
|
|
1577
|
+
size: "lg"
|
|
1578
|
+
}
|
|
1579
|
+
});
|
|
1580
|
+
var optionVariants = cva14(
|
|
1581
|
+
"w-full text-left hover:bg-(--background-secondary)",
|
|
1582
|
+
{
|
|
1583
|
+
variants: {
|
|
1584
|
+
size: {
|
|
1585
|
+
sm: "paragraph-sm py-(--space-4) ",
|
|
1586
|
+
md: "paragraph-md py-(--space-6) ",
|
|
1587
|
+
lg: "paragraph-lg py-(--space-8) ",
|
|
1588
|
+
xl: "subtitle py-(--space-10) "
|
|
1589
|
+
},
|
|
1590
|
+
active: {
|
|
1591
|
+
true: "bg-(--background-secondary)"
|
|
1592
|
+
}
|
|
1593
|
+
},
|
|
1594
|
+
defaultVariants: {
|
|
1595
|
+
size: "lg",
|
|
1596
|
+
active: false
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
);
|
|
1600
|
+
var iconWrapperVariants = cva14(
|
|
1601
|
+
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
1602
|
+
{
|
|
1603
|
+
variants: {
|
|
1604
|
+
size: {
|
|
1605
|
+
sm: "size-4 [&>svg]:size-4",
|
|
1606
|
+
md: "size-5 [&>svg]:size-5",
|
|
1607
|
+
lg: "size-5 [&>svg]:size-5",
|
|
1608
|
+
xl: "size-6 [&>svg]:size-6"
|
|
1609
|
+
},
|
|
1610
|
+
disabled: {
|
|
1611
|
+
true: "text-(--icon-primary-disabled)"
|
|
1612
|
+
}
|
|
1613
|
+
},
|
|
1614
|
+
defaultVariants: {
|
|
1615
|
+
size: "lg"
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
);
|
|
1619
|
+
var Autocomplete = (props) => {
|
|
1620
|
+
const {
|
|
1621
|
+
label,
|
|
1622
|
+
hint,
|
|
1623
|
+
hideHint,
|
|
1624
|
+
status = "default",
|
|
1625
|
+
size = "lg",
|
|
1626
|
+
disabled,
|
|
1627
|
+
className,
|
|
1628
|
+
leadingIcon,
|
|
1629
|
+
trailingIcon,
|
|
1630
|
+
options,
|
|
1631
|
+
loading = false,
|
|
1632
|
+
loadingText = "Loading\u2026",
|
|
1633
|
+
noOptionsText = "No matches",
|
|
1634
|
+
value,
|
|
1635
|
+
defaultValue,
|
|
1636
|
+
onChange,
|
|
1637
|
+
inputValue,
|
|
1638
|
+
defaultInputValue,
|
|
1639
|
+
onInputChange,
|
|
1640
|
+
placeholder = "Search\u2026",
|
|
1641
|
+
onKeyDown,
|
|
1642
|
+
onFocus,
|
|
1643
|
+
onBlur,
|
|
1644
|
+
id,
|
|
1645
|
+
...inputProps
|
|
1646
|
+
} = props;
|
|
1647
|
+
const isValueControlled = value !== void 0;
|
|
1648
|
+
const [internalValue, setInternalValue] = React23.useState(
|
|
1649
|
+
defaultValue ?? ""
|
|
1650
|
+
);
|
|
1651
|
+
const isInputControlled = inputValue !== void 0;
|
|
1652
|
+
const [internalInputValue, setInternalInputValue] = React23.useState(
|
|
1653
|
+
defaultInputValue ?? ""
|
|
1654
|
+
);
|
|
1655
|
+
const [isFocused, setIsFocused] = React23.useState(false);
|
|
1656
|
+
const [activeIndex, setActiveIndex] = React23.useState(-1);
|
|
1657
|
+
const inputRef = React23.useRef(null);
|
|
1658
|
+
const baseId = React23.useId();
|
|
1659
|
+
const inputId = id ?? baseId;
|
|
1660
|
+
const listboxId = `${inputId}-listbox`;
|
|
1661
|
+
const currentValue = (isValueControlled ? value : internalValue) ?? "";
|
|
1662
|
+
const currentInput = (isInputControlled ? inputValue : internalInputValue) ?? "";
|
|
1663
|
+
React23.useEffect(() => {
|
|
1664
|
+
if (isFocused) return;
|
|
1665
|
+
if (isInputControlled) return;
|
|
1666
|
+
if (!isValueControlled) return;
|
|
1667
|
+
setInternalInputValue(currentValue);
|
|
1668
|
+
}, [currentValue, isFocused, isInputControlled, isValueControlled]);
|
|
1669
|
+
const showDropdown = isFocused && (loading || options.length > 0 || currentInput.trim().length > 0);
|
|
1670
|
+
const setInputText = (next) => {
|
|
1671
|
+
if (!isInputControlled) {
|
|
1672
|
+
setInternalInputValue(next);
|
|
1673
|
+
}
|
|
1674
|
+
onInputChange?.(next);
|
|
1675
|
+
};
|
|
1676
|
+
const commitValue = (next) => {
|
|
1677
|
+
if (!isValueControlled) {
|
|
1678
|
+
setInternalValue(next);
|
|
1679
|
+
}
|
|
1680
|
+
onChange?.(next);
|
|
1681
|
+
setInputText(next);
|
|
1682
|
+
setActiveIndex(-1);
|
|
1683
|
+
};
|
|
1684
|
+
const handleContainerClick = () => {
|
|
1685
|
+
if (disabled) return;
|
|
1686
|
+
inputRef.current?.focus();
|
|
1687
|
+
};
|
|
1688
|
+
const handleInputChange = (event) => {
|
|
1689
|
+
const next = event.target.value;
|
|
1690
|
+
setInputText(next);
|
|
1691
|
+
setActiveIndex(-1);
|
|
1692
|
+
};
|
|
1693
|
+
const handleFocus = (event) => {
|
|
1694
|
+
setIsFocused(true);
|
|
1695
|
+
onFocus?.(event);
|
|
1696
|
+
};
|
|
1697
|
+
const handleBlur = (event) => {
|
|
1698
|
+
setIsFocused(false);
|
|
1699
|
+
setActiveIndex(-1);
|
|
1700
|
+
onBlur?.(event);
|
|
1701
|
+
};
|
|
1702
|
+
const handleKeyDown = (event) => {
|
|
1703
|
+
onKeyDown?.(event);
|
|
1704
|
+
if (event.defaultPrevented) return;
|
|
1705
|
+
if (!showDropdown && (event.key === "ArrowDown" || event.key === "ArrowUp")) {
|
|
1706
|
+
setIsFocused(true);
|
|
1707
|
+
return;
|
|
1708
|
+
}
|
|
1709
|
+
switch (event.key) {
|
|
1710
|
+
case "ArrowDown": {
|
|
1711
|
+
event.preventDefault();
|
|
1712
|
+
setActiveIndex((prev) => {
|
|
1713
|
+
if (options.length === 0) return -1;
|
|
1714
|
+
const next = prev < 0 ? 0 : Math.min(prev + 1, options.length - 1);
|
|
1715
|
+
return next;
|
|
1716
|
+
});
|
|
1717
|
+
break;
|
|
1718
|
+
}
|
|
1719
|
+
case "ArrowUp": {
|
|
1720
|
+
event.preventDefault();
|
|
1721
|
+
setActiveIndex((prev) => {
|
|
1722
|
+
if (options.length === 0) return -1;
|
|
1723
|
+
const next = prev <= 0 ? 0 : prev - 1;
|
|
1724
|
+
return next;
|
|
1725
|
+
});
|
|
1726
|
+
break;
|
|
1727
|
+
}
|
|
1728
|
+
case "Enter": {
|
|
1729
|
+
if (activeIndex >= 0 && activeIndex < options.length) {
|
|
1730
|
+
event.preventDefault();
|
|
1731
|
+
commitValue(options[activeIndex]);
|
|
1732
|
+
setIsFocused(false);
|
|
1733
|
+
}
|
|
1734
|
+
break;
|
|
1735
|
+
}
|
|
1736
|
+
case "Escape": {
|
|
1737
|
+
event.preventDefault();
|
|
1738
|
+
setIsFocused(false);
|
|
1739
|
+
setActiveIndex(-1);
|
|
1740
|
+
break;
|
|
1741
|
+
}
|
|
1742
|
+
default:
|
|
1743
|
+
break;
|
|
1744
|
+
}
|
|
1745
|
+
};
|
|
1746
|
+
const handleOptionMouseDown = (event) => {
|
|
1747
|
+
event.preventDefault();
|
|
1748
|
+
};
|
|
1749
|
+
const handleOptionClick = (option) => {
|
|
1750
|
+
commitValue(option);
|
|
1751
|
+
setIsFocused(false);
|
|
1752
|
+
};
|
|
1753
|
+
const activeDescendantId = activeIndex >= 0 ? `${inputId}-option-${activeIndex}` : void 0;
|
|
1754
|
+
const showLeadingIcon = !!leadingIcon;
|
|
1755
|
+
const showTrailingIcon = !!trailingIcon;
|
|
1756
|
+
return /* @__PURE__ */ jsx25(Field, { label, hint, hideHint, status, disabled, children: /* @__PURE__ */ jsxs15("div", { className: "relative w-full", children: [
|
|
1757
|
+
/* @__PURE__ */ jsxs15(
|
|
1758
|
+
InputShell,
|
|
1759
|
+
{
|
|
1760
|
+
size,
|
|
1761
|
+
status,
|
|
1762
|
+
disabled,
|
|
1763
|
+
className,
|
|
1764
|
+
onClick: handleContainerClick,
|
|
1765
|
+
children: [
|
|
1766
|
+
showLeadingIcon && /* @__PURE__ */ jsx25("span", { className: cn(iconWrapperVariants({ size, disabled: !!disabled })), children: leadingIcon }),
|
|
1767
|
+
/* @__PURE__ */ jsx25(
|
|
1768
|
+
Input,
|
|
1769
|
+
{
|
|
1770
|
+
ref: inputRef,
|
|
1771
|
+
id: inputId,
|
|
1772
|
+
type: "text",
|
|
1773
|
+
disabled: disabled ?? void 0,
|
|
1774
|
+
placeholder,
|
|
1775
|
+
value: currentInput,
|
|
1776
|
+
onChange: handleInputChange,
|
|
1777
|
+
onFocus: handleFocus,
|
|
1778
|
+
onBlur: handleBlur,
|
|
1779
|
+
onKeyDown: handleKeyDown,
|
|
1780
|
+
role: "combobox",
|
|
1781
|
+
"aria-autocomplete": "list",
|
|
1782
|
+
"aria-controls": listboxId,
|
|
1783
|
+
"aria-expanded": showDropdown,
|
|
1784
|
+
"aria-activedescendant": activeDescendantId,
|
|
1785
|
+
variant: "bare",
|
|
1786
|
+
className: cn(inputTextVariants({ size }), "bg-transparent outline-none w-full"),
|
|
1787
|
+
...inputProps
|
|
1788
|
+
}
|
|
1789
|
+
),
|
|
1790
|
+
showTrailingIcon && /* @__PURE__ */ jsx25("span", { className: cn(iconWrapperVariants({ size, disabled: !!disabled })), children: trailingIcon })
|
|
1125
1791
|
]
|
|
1126
1792
|
}
|
|
1127
|
-
)
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
// src/components/Inputs/Checkbox.tsx
|
|
1132
|
-
import "react";
|
|
1133
|
-
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1134
|
-
import { CheckIcon as CheckIcon2 } from "@bubo-squared/icons";
|
|
1135
|
-
import { MinusIcon } from "@bubo-squared/icons";
|
|
1136
|
-
import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1137
|
-
function Checkbox({ label, className, ...props }) {
|
|
1138
|
-
return /* @__PURE__ */ jsxs11("label", { className: "inline-flex items-center gap-(--space-12) cursor-pointer select-none", children: [
|
|
1139
|
-
/* @__PURE__ */ jsx19(
|
|
1140
|
-
CheckboxPrimitive.Root,
|
|
1793
|
+
),
|
|
1794
|
+
showDropdown && /* @__PURE__ */ jsx25(
|
|
1795
|
+
"div",
|
|
1141
1796
|
{
|
|
1142
1797
|
className: cn(
|
|
1143
|
-
"
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
"data-[state=checked]:hover:bg-(--background-brand-hover) data-[state=indeterminate]:hover:bg-(--background-brand-hover)",
|
|
1147
|
-
"focus-visible:border-(--border-brand)",
|
|
1148
|
-
"disabled:bg-(--background-primary-disabled) disabled:border-none disabled:text-(--icon-primary-disabled)",
|
|
1149
|
-
"data-[state=checked]:disabled:bg-(--background-primary-disabled) data-[state=checked]:disabled:border-none data-[state=checked]:disabled:text-(--icon-primary-disabled)",
|
|
1150
|
-
"data-[state=indeterminate]:disabled:bg-(--background-primary-disabled) data-[state=indeterminate]:disabled:border-none data-[state=indeterminate]:disabled:text-(--icon-primary-disabled)",
|
|
1151
|
-
"focus-ring-primary hover:cursor-pointer hover:border-(--border-secondary-hover)",
|
|
1152
|
-
className
|
|
1798
|
+
"absolute left-0 right-0 mt-1",
|
|
1799
|
+
dropdownSurfaceClass,
|
|
1800
|
+
dropdownScrollClass
|
|
1153
1801
|
),
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1802
|
+
children: loading ? /* @__PURE__ */ jsx25(
|
|
1803
|
+
"div",
|
|
1804
|
+
{
|
|
1805
|
+
className: cn(optionVariants({ size }), "px-(--space-8) pr-(--space-16) text-secondary"),
|
|
1806
|
+
"aria-live": "polite",
|
|
1807
|
+
children: loadingText
|
|
1808
|
+
}
|
|
1809
|
+
) : options.length === 0 ? /* @__PURE__ */ jsx25(
|
|
1810
|
+
"div",
|
|
1811
|
+
{
|
|
1812
|
+
className: cn(optionVariants({ size }), "px-(--space-8) pr-(--space-16) text-secondary"),
|
|
1813
|
+
"aria-live": "polite",
|
|
1814
|
+
children: noOptionsText
|
|
1815
|
+
}
|
|
1816
|
+
) : /* @__PURE__ */ jsx25("ul", { id: listboxId, role: "listbox", className: "flex flex-col", children: options.map((option, index) => /* @__PURE__ */ jsx25(
|
|
1817
|
+
"li",
|
|
1818
|
+
{
|
|
1819
|
+
id: `${inputId}-option-${index}`,
|
|
1820
|
+
role: "option",
|
|
1821
|
+
"aria-selected": index === activeIndex,
|
|
1822
|
+
className: cn(
|
|
1823
|
+
optionVariants({ size, active: index === activeIndex }),
|
|
1824
|
+
"px-(--space-8) pr-(--space-16) text-primary cursor-pointer"
|
|
1825
|
+
),
|
|
1826
|
+
onMouseDown: handleOptionMouseDown,
|
|
1827
|
+
onMouseEnter: () => setActiveIndex(index),
|
|
1828
|
+
onClick: () => handleOptionClick(option),
|
|
1829
|
+
children: option
|
|
1830
|
+
},
|
|
1831
|
+
`${option}-${index}`
|
|
1832
|
+
)) })
|
|
1159
1833
|
}
|
|
1160
|
-
)
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1834
|
+
)
|
|
1835
|
+
] }) });
|
|
1836
|
+
};
|
|
1837
|
+
Autocomplete.displayName = "Autocomplete";
|
|
1164
1838
|
|
|
1165
1839
|
// src/components/Inputs/Select.tsx
|
|
1166
|
-
import * as
|
|
1840
|
+
import * as React24 from "react";
|
|
1167
1841
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1168
|
-
import { cva as
|
|
1169
|
-
import { ChevronDownIcon } from "@bubo-squared/icons";
|
|
1170
|
-
import { jsx as
|
|
1171
|
-
var selectTriggerVariants =
|
|
1842
|
+
import { cva as cva15 } from "class-variance-authority";
|
|
1843
|
+
import { ChevronDownIcon as ChevronDownIcon2 } from "@bubo-squared/icons";
|
|
1844
|
+
import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1845
|
+
var selectTriggerVariants = cva15(
|
|
1172
1846
|
"group flex w-full items-center justify-between rounded-4 border bg-(--background-primary) p-2 text-left transition-colors cursor-pointer focus-ring-primary focus:border-(--border-brand) hover:bg-(--background-primary-hover) disabled:bg-(--background-primary) disabled:border-(--border-secondary-disabled) disabled:text-primary-disabled disabled:cursor-default",
|
|
1173
1847
|
{
|
|
1174
1848
|
variants: {
|
|
@@ -1190,7 +1864,7 @@ var selectTriggerVariants = cva12(
|
|
|
1190
1864
|
}
|
|
1191
1865
|
}
|
|
1192
1866
|
);
|
|
1193
|
-
var textVariants =
|
|
1867
|
+
var textVariants = cva15("truncate", {
|
|
1194
1868
|
variants: {
|
|
1195
1869
|
size: {
|
|
1196
1870
|
sm: "paragraph-md",
|
|
@@ -1211,7 +1885,7 @@ var textVariants = cva12("truncate", {
|
|
|
1211
1885
|
hasValue: false
|
|
1212
1886
|
}
|
|
1213
1887
|
});
|
|
1214
|
-
var selectIconVariants =
|
|
1888
|
+
var selectIconVariants = cva15("flex items-center justify-center shrink-0", {
|
|
1215
1889
|
variants: {
|
|
1216
1890
|
size: {
|
|
1217
1891
|
sm: "size-4",
|
|
@@ -1229,7 +1903,7 @@ var selectIconVariants = cva12("flex items-center justify-center shrink-0", {
|
|
|
1229
1903
|
disabled: false
|
|
1230
1904
|
}
|
|
1231
1905
|
});
|
|
1232
|
-
var selectButtonVariants =
|
|
1906
|
+
var selectButtonVariants = cva15(
|
|
1233
1907
|
"flex w-full items-center gap-2 pl-(--space-8) pr-(--space-16) text-left paragraph-lg text-primary hover:bg-(--background-secondary)",
|
|
1234
1908
|
{
|
|
1235
1909
|
variants: {
|
|
@@ -1263,10 +1937,10 @@ var Select = (props) => {
|
|
|
1263
1937
|
} = props;
|
|
1264
1938
|
const isControlled = value !== void 0;
|
|
1265
1939
|
const controlledValue = value ?? "";
|
|
1266
|
-
const [internalValue, setInternalValue] =
|
|
1940
|
+
const [internalValue, setInternalValue] = React24.useState(
|
|
1267
1941
|
defaultValue ?? ""
|
|
1268
1942
|
);
|
|
1269
|
-
const [open, setOpen] =
|
|
1943
|
+
const [open, setOpen] = React24.useState(false);
|
|
1270
1944
|
const rawValue = isControlled ? controlledValue : internalValue;
|
|
1271
1945
|
const selectedOption = options.find((opt) => opt.value === rawValue);
|
|
1272
1946
|
const currentValue = selectedOption ? selectedOption.value : "";
|
|
@@ -1295,7 +1969,7 @@ var Select = (props) => {
|
|
|
1295
1969
|
setOpen(false);
|
|
1296
1970
|
}
|
|
1297
1971
|
};
|
|
1298
|
-
return /* @__PURE__ */
|
|
1972
|
+
return /* @__PURE__ */ jsx26(
|
|
1299
1973
|
Field,
|
|
1300
1974
|
{
|
|
1301
1975
|
label,
|
|
@@ -1303,7 +1977,7 @@ var Select = (props) => {
|
|
|
1303
1977
|
hideHint,
|
|
1304
1978
|
status,
|
|
1305
1979
|
disabled,
|
|
1306
|
-
children: /* @__PURE__ */
|
|
1980
|
+
children: /* @__PURE__ */ jsxs16(
|
|
1307
1981
|
SelectPrimitive.Root,
|
|
1308
1982
|
{
|
|
1309
1983
|
value: currentValue,
|
|
@@ -1314,7 +1988,7 @@ var Select = (props) => {
|
|
|
1314
1988
|
name,
|
|
1315
1989
|
required,
|
|
1316
1990
|
children: [
|
|
1317
|
-
/* @__PURE__ */
|
|
1991
|
+
/* @__PURE__ */ jsx26(SelectPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs16(
|
|
1318
1992
|
"button",
|
|
1319
1993
|
{
|
|
1320
1994
|
type: "button",
|
|
@@ -1334,30 +2008,31 @@ var Select = (props) => {
|
|
|
1334
2008
|
"data-open": isOpen || void 0,
|
|
1335
2009
|
...buttonProps,
|
|
1336
2010
|
children: [
|
|
1337
|
-
/* @__PURE__ */
|
|
1338
|
-
/* @__PURE__ */
|
|
2011
|
+
/* @__PURE__ */ jsx26(SelectPrimitive.Value, { placeholder }),
|
|
2012
|
+
/* @__PURE__ */ jsx26(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx26(
|
|
1339
2013
|
"span",
|
|
1340
2014
|
{
|
|
1341
2015
|
className: cn(selectIconVariants({ size, disabled: !!disabled })),
|
|
1342
|
-
children: /* @__PURE__ */
|
|
2016
|
+
children: /* @__PURE__ */ jsx26(ChevronDownIcon2, {})
|
|
1343
2017
|
}
|
|
1344
2018
|
) })
|
|
1345
2019
|
]
|
|
1346
2020
|
}
|
|
1347
2021
|
) }),
|
|
1348
|
-
/* @__PURE__ */
|
|
2022
|
+
/* @__PURE__ */ jsx26(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx26(
|
|
1349
2023
|
SelectPrimitive.Content,
|
|
1350
2024
|
{
|
|
1351
2025
|
position: "popper",
|
|
1352
2026
|
align: "start",
|
|
1353
2027
|
sideOffset: 4,
|
|
1354
2028
|
className: cn(
|
|
1355
|
-
|
|
2029
|
+
dropdownSurfaceClass,
|
|
2030
|
+
dropdownScrollClass,
|
|
1356
2031
|
"min-w-343"
|
|
1357
2032
|
),
|
|
1358
2033
|
style: { minWidth: "var(--radix-select-trigger-width)" },
|
|
1359
|
-
children: /* @__PURE__ */
|
|
1360
|
-
hasValue && /* @__PURE__ */
|
|
2034
|
+
children: /* @__PURE__ */ jsx26(SelectPrimitive.Viewport, { children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-col", children: [
|
|
2035
|
+
hasValue && /* @__PURE__ */ jsx26("div", { className: cn("bg-(--background-neutral)"), children: /* @__PURE__ */ jsx26(
|
|
1361
2036
|
"button",
|
|
1362
2037
|
{
|
|
1363
2038
|
type: "button",
|
|
@@ -1369,16 +2044,16 @@ var Select = (props) => {
|
|
|
1369
2044
|
children: "Clear"
|
|
1370
2045
|
}
|
|
1371
2046
|
) }),
|
|
1372
|
-
options.map((opt) => /* @__PURE__ */
|
|
2047
|
+
options.map((opt) => /* @__PURE__ */ jsx26(
|
|
1373
2048
|
SelectPrimitive.Item,
|
|
1374
2049
|
{
|
|
1375
2050
|
value: opt.value,
|
|
1376
2051
|
className: cn(
|
|
1377
|
-
"bg-(--background-neutral)
|
|
1378
|
-
"data-highlighted:bg-(--background-secondary) data-highlighted:
|
|
2052
|
+
"bg-(--background-neutral)",
|
|
2053
|
+
"data-highlighted:bg-(--background-secondary) data-highlighted:outline-none",
|
|
1379
2054
|
"data-[state=checked]:bg-(--background-secondary)"
|
|
1380
2055
|
),
|
|
1381
|
-
children: /* @__PURE__ */
|
|
2056
|
+
children: /* @__PURE__ */ jsx26("div", { className: selectButtonVariants({ size }), children: /* @__PURE__ */ jsx26(SelectPrimitive.ItemText, { children: opt.label }) })
|
|
1382
2057
|
},
|
|
1383
2058
|
opt.value
|
|
1384
2059
|
))
|
|
@@ -1394,86 +2069,11 @@ var Select = (props) => {
|
|
|
1394
2069
|
Select.displayName = "Select";
|
|
1395
2070
|
|
|
1396
2071
|
// src/components/Inputs/PasswordInput.tsx
|
|
1397
|
-
import * as
|
|
1398
|
-
import { cva as
|
|
1399
|
-
|
|
1400
|
-
// src/components/ui/input.tsx
|
|
1401
|
-
import * as React19 from "react";
|
|
1402
|
-
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1403
|
-
var Input = React19.forwardRef(
|
|
1404
|
-
({ className, type, variant = "default", ...props }, ref) => {
|
|
1405
|
-
const base = "text-primary placeholder:text-(--color-secondary) disabled:text-primary-disabled disabled:placeholder:text-primary-disabled selection:bg-primary selection:text-primary-foreground file:text-foreground";
|
|
1406
|
-
const defaultStyles = "dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 shadow-xs transition-[color,box-shadow] file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive";
|
|
1407
|
-
const bareStyles = "bg-transparent outline-none w-full";
|
|
1408
|
-
return /* @__PURE__ */ jsx21(
|
|
1409
|
-
"input",
|
|
1410
|
-
{
|
|
1411
|
-
ref,
|
|
1412
|
-
type,
|
|
1413
|
-
"data-slot": "input",
|
|
1414
|
-
className: cn(
|
|
1415
|
-
base,
|
|
1416
|
-
variant === "default" ? defaultStyles : bareStyles,
|
|
1417
|
-
className
|
|
1418
|
-
),
|
|
1419
|
-
...props
|
|
1420
|
-
}
|
|
1421
|
-
);
|
|
1422
|
-
}
|
|
1423
|
-
);
|
|
1424
|
-
Input.displayName = "Input";
|
|
1425
|
-
|
|
1426
|
-
// src/components/Inputs/InputShell.tsx
|
|
1427
|
-
import * as React20 from "react";
|
|
1428
|
-
import { cva as cva13 } from "class-variance-authority";
|
|
1429
|
-
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1430
|
-
var inputShellVariants = cva13(
|
|
1431
|
-
"group flex w-full items-center rounded-4 border bg-(--background-primary) text-left cursor-text border-(--border-secondary)",
|
|
1432
|
-
{
|
|
1433
|
-
variants: {
|
|
1434
|
-
size: {
|
|
1435
|
-
sm: "gap-2 px-2 py-1 h-8",
|
|
1436
|
-
md: "gap-2 px-2 py-2 h-10",
|
|
1437
|
-
lg: "gap-2 px-2 py-2 h-11",
|
|
1438
|
-
xl: "gap-2 px-[10px] py-2 h-14"
|
|
1439
|
-
},
|
|
1440
|
-
status: {
|
|
1441
|
-
default: "input-default",
|
|
1442
|
-
success: "input-success",
|
|
1443
|
-
error: "input-error"
|
|
1444
|
-
},
|
|
1445
|
-
disabled: {
|
|
1446
|
-
true: "bg-(--background-primary-disabled) border-(--border-secondary-disabled) text-primary-disabled cursor-default"
|
|
1447
|
-
}
|
|
1448
|
-
},
|
|
1449
|
-
defaultVariants: {
|
|
1450
|
-
size: "lg",
|
|
1451
|
-
status: "default"
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
|
-
);
|
|
1455
|
-
var InputShell = React20.forwardRef(
|
|
1456
|
-
({ size, status, disabled, className, ...rest }, ref) => {
|
|
1457
|
-
return /* @__PURE__ */ jsx22(
|
|
1458
|
-
"div",
|
|
1459
|
-
{
|
|
1460
|
-
ref,
|
|
1461
|
-
"aria-disabled": disabled || void 0,
|
|
1462
|
-
className: cn(
|
|
1463
|
-
inputShellVariants({ size, status, disabled }),
|
|
1464
|
-
className
|
|
1465
|
-
),
|
|
1466
|
-
...rest
|
|
1467
|
-
}
|
|
1468
|
-
);
|
|
1469
|
-
}
|
|
1470
|
-
);
|
|
1471
|
-
InputShell.displayName = "InputShell";
|
|
1472
|
-
|
|
1473
|
-
// src/components/Inputs/PasswordInput.tsx
|
|
2072
|
+
import * as React25 from "react";
|
|
2073
|
+
import { cva as cva16 } from "class-variance-authority";
|
|
1474
2074
|
import { EyeIcon, EyeSlashIcon } from "@bubo-squared/icons";
|
|
1475
|
-
import { jsx as
|
|
1476
|
-
var passwordTextVariants =
|
|
2075
|
+
import { jsx as jsx27, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2076
|
+
var passwordTextVariants = cva16("truncate", {
|
|
1477
2077
|
variants: {
|
|
1478
2078
|
size: {
|
|
1479
2079
|
sm: "paragraph-md",
|
|
@@ -1491,7 +2091,7 @@ var passwordTextVariants = cva14("truncate", {
|
|
|
1491
2091
|
disabled: false
|
|
1492
2092
|
}
|
|
1493
2093
|
});
|
|
1494
|
-
var
|
|
2094
|
+
var iconWrapperVariants2 = cva16(
|
|
1495
2095
|
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
1496
2096
|
{
|
|
1497
2097
|
variants: {
|
|
@@ -1510,7 +2110,7 @@ var iconWrapperVariants = cva14(
|
|
|
1510
2110
|
}
|
|
1511
2111
|
}
|
|
1512
2112
|
);
|
|
1513
|
-
var actionButtonVariants =
|
|
2113
|
+
var actionButtonVariants = cva16(
|
|
1514
2114
|
"flex items-center justify-center shrink-0 cursor-pointer bg-transparent border-0 p-0 text-left paragraph-sm text-(--icon-primary) hover:text-(--icon-primary-hover) focus:outline-none ",
|
|
1515
2115
|
{
|
|
1516
2116
|
variants: {
|
|
@@ -1547,12 +2147,12 @@ var PasswordInput = (props) => {
|
|
|
1547
2147
|
...inputProps
|
|
1548
2148
|
} = props;
|
|
1549
2149
|
const isControlled = value !== void 0;
|
|
1550
|
-
const [internalValue, setInternalValue] =
|
|
2150
|
+
const [internalValue, setInternalValue] = React25.useState(
|
|
1551
2151
|
defaultValue ?? ""
|
|
1552
2152
|
);
|
|
1553
|
-
const [isRevealed, setIsRevealed] =
|
|
2153
|
+
const [isRevealed, setIsRevealed] = React25.useState(false);
|
|
1554
2154
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
1555
|
-
const inputRef =
|
|
2155
|
+
const inputRef = React25.useRef(null);
|
|
1556
2156
|
const showLeadingIcon = !!leadingIcon;
|
|
1557
2157
|
const handleContainerClick = () => {
|
|
1558
2158
|
if (disabled) return;
|
|
@@ -1564,7 +2164,7 @@ var PasswordInput = (props) => {
|
|
|
1564
2164
|
}
|
|
1565
2165
|
onChange?.(event);
|
|
1566
2166
|
};
|
|
1567
|
-
return /* @__PURE__ */
|
|
2167
|
+
return /* @__PURE__ */ jsx27(
|
|
1568
2168
|
Field,
|
|
1569
2169
|
{
|
|
1570
2170
|
label,
|
|
@@ -1572,7 +2172,7 @@ var PasswordInput = (props) => {
|
|
|
1572
2172
|
hideHint,
|
|
1573
2173
|
status,
|
|
1574
2174
|
disabled,
|
|
1575
|
-
children: /* @__PURE__ */
|
|
2175
|
+
children: /* @__PURE__ */ jsxs17(
|
|
1576
2176
|
InputShell,
|
|
1577
2177
|
{
|
|
1578
2178
|
size,
|
|
@@ -1581,16 +2181,16 @@ var PasswordInput = (props) => {
|
|
|
1581
2181
|
className,
|
|
1582
2182
|
onClick: handleContainerClick,
|
|
1583
2183
|
children: [
|
|
1584
|
-
showLeadingIcon && /* @__PURE__ */
|
|
2184
|
+
showLeadingIcon && /* @__PURE__ */ jsx27(
|
|
1585
2185
|
"span",
|
|
1586
2186
|
{
|
|
1587
2187
|
className: cn(
|
|
1588
|
-
|
|
2188
|
+
iconWrapperVariants2({ size, disabled: !!disabled })
|
|
1589
2189
|
),
|
|
1590
2190
|
children: leadingIcon
|
|
1591
2191
|
}
|
|
1592
2192
|
),
|
|
1593
|
-
/* @__PURE__ */
|
|
2193
|
+
/* @__PURE__ */ jsx27(
|
|
1594
2194
|
Input,
|
|
1595
2195
|
{
|
|
1596
2196
|
ref: inputRef,
|
|
@@ -1605,7 +2205,7 @@ var PasswordInput = (props) => {
|
|
|
1605
2205
|
...inputProps
|
|
1606
2206
|
}
|
|
1607
2207
|
),
|
|
1608
|
-
/* @__PURE__ */
|
|
2208
|
+
/* @__PURE__ */ jsx27(
|
|
1609
2209
|
"button",
|
|
1610
2210
|
{
|
|
1611
2211
|
type: "button",
|
|
@@ -1618,9 +2218,9 @@ var PasswordInput = (props) => {
|
|
|
1618
2218
|
"aria-label": isRevealed ? "Hide password" : "Show password",
|
|
1619
2219
|
className: cn(
|
|
1620
2220
|
"cursor-pointer",
|
|
1621
|
-
variant === "text" ? actionButtonVariants({ size, disabled: !!disabled }) :
|
|
2221
|
+
variant === "text" ? actionButtonVariants({ size, disabled: !!disabled }) : iconWrapperVariants2({ size, disabled: !!disabled })
|
|
1622
2222
|
),
|
|
1623
|
-
children: variant === "icon" ? isRevealed ? /* @__PURE__ */
|
|
2223
|
+
children: variant === "icon" ? isRevealed ? /* @__PURE__ */ jsx27(EyeSlashIcon, {}) : /* @__PURE__ */ jsx27(EyeIcon, {}) : isRevealed ? "Hide" : "Show"
|
|
1624
2224
|
}
|
|
1625
2225
|
)
|
|
1626
2226
|
]
|
|
@@ -1632,7 +2232,7 @@ var PasswordInput = (props) => {
|
|
|
1632
2232
|
PasswordInput.displayName = "PasswordInput";
|
|
1633
2233
|
|
|
1634
2234
|
// src/components/Inputs/PhoneInput.tsx
|
|
1635
|
-
import * as
|
|
2235
|
+
import * as React31 from "react";
|
|
1636
2236
|
import { CheckIcon as CheckIcon3, CodeIcon } from "@bubo-squared/icons";
|
|
1637
2237
|
import * as RPNInput from "react-phone-number-input";
|
|
1638
2238
|
import flags from "react-phone-number-input/flags";
|
|
@@ -1640,9 +2240,9 @@ import flags from "react-phone-number-input/flags";
|
|
|
1640
2240
|
// src/components/ui/button.tsx
|
|
1641
2241
|
import "react";
|
|
1642
2242
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
1643
|
-
import { cva as
|
|
1644
|
-
import { jsx as
|
|
1645
|
-
var buttonVariants2 =
|
|
2243
|
+
import { cva as cva17 } from "class-variance-authority";
|
|
2244
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2245
|
+
var buttonVariants2 = cva17(
|
|
1646
2246
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-0 focus-visible:shadow-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
1647
2247
|
{
|
|
1648
2248
|
variants: {
|
|
@@ -1677,7 +2277,7 @@ function Button2({
|
|
|
1677
2277
|
...props
|
|
1678
2278
|
}) {
|
|
1679
2279
|
const Comp = asChild ? Slot7 : "button";
|
|
1680
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsx28(
|
|
1681
2281
|
Comp,
|
|
1682
2282
|
{
|
|
1683
2283
|
"data-slot": "button",
|
|
@@ -1699,7 +2299,7 @@ import "react";
|
|
|
1699
2299
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
1700
2300
|
|
|
1701
2301
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1702
|
-
import { forwardRef as
|
|
2302
|
+
import { forwardRef as forwardRef15, createElement as createElement2 } from "react";
|
|
1703
2303
|
|
|
1704
2304
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
1705
2305
|
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
@@ -1723,7 +2323,7 @@ var hasA11yProp = (props) => {
|
|
|
1723
2323
|
};
|
|
1724
2324
|
|
|
1725
2325
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1726
|
-
import { forwardRef as
|
|
2326
|
+
import { forwardRef as forwardRef14, createElement } from "react";
|
|
1727
2327
|
|
|
1728
2328
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
1729
2329
|
var defaultAttributes = {
|
|
@@ -1739,7 +2339,7 @@ var defaultAttributes = {
|
|
|
1739
2339
|
};
|
|
1740
2340
|
|
|
1741
2341
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js
|
|
1742
|
-
var Icon2 =
|
|
2342
|
+
var Icon2 = forwardRef14(
|
|
1743
2343
|
({
|
|
1744
2344
|
color = "currentColor",
|
|
1745
2345
|
size = 24,
|
|
@@ -1771,7 +2371,7 @@ var Icon2 = forwardRef13(
|
|
|
1771
2371
|
|
|
1772
2372
|
// ../../node_modules/.pnpm/lucide-react@0.555.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
1773
2373
|
var createLucideIcon = (iconName, iconNode) => {
|
|
1774
|
-
const Component =
|
|
2374
|
+
const Component = forwardRef15(
|
|
1775
2375
|
({ className, ...props }, ref) => createElement2(Icon2, {
|
|
1776
2376
|
ref,
|
|
1777
2377
|
iconNode,
|
|
@@ -1800,15 +2400,15 @@ var __iconNode2 = [
|
|
|
1800
2400
|
var Ellipsis = createLucideIcon("ellipsis", __iconNode2);
|
|
1801
2401
|
|
|
1802
2402
|
// src/components/ui/dialog.tsx
|
|
1803
|
-
import { jsx as
|
|
2403
|
+
import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1804
2404
|
|
|
1805
2405
|
// src/components/ui/command.tsx
|
|
1806
|
-
import { jsx as
|
|
2406
|
+
import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1807
2407
|
function Command({
|
|
1808
2408
|
className,
|
|
1809
2409
|
...props
|
|
1810
2410
|
}) {
|
|
1811
|
-
return /* @__PURE__ */
|
|
2411
|
+
return /* @__PURE__ */ jsx30(
|
|
1812
2412
|
CommandPrimitive,
|
|
1813
2413
|
{
|
|
1814
2414
|
"data-slot": "command",
|
|
@@ -1824,14 +2424,14 @@ function CommandInput({
|
|
|
1824
2424
|
className,
|
|
1825
2425
|
...props
|
|
1826
2426
|
}) {
|
|
1827
|
-
return /* @__PURE__ */
|
|
2427
|
+
return /* @__PURE__ */ jsxs19(
|
|
1828
2428
|
"div",
|
|
1829
2429
|
{
|
|
1830
2430
|
"data-slot": "command-input-wrapper",
|
|
1831
2431
|
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
1832
2432
|
children: [
|
|
1833
|
-
/* @__PURE__ */
|
|
1834
|
-
/* @__PURE__ */
|
|
2433
|
+
/* @__PURE__ */ jsx30(SearchIcon, { className: "size-4 shrink-0 opacity-50 text-(--color-secondary)" }),
|
|
2434
|
+
/* @__PURE__ */ jsx30(
|
|
1835
2435
|
CommandPrimitive.Input,
|
|
1836
2436
|
{
|
|
1837
2437
|
"data-slot": "command-input",
|
|
@@ -1850,7 +2450,7 @@ function CommandList({
|
|
|
1850
2450
|
className,
|
|
1851
2451
|
...props
|
|
1852
2452
|
}) {
|
|
1853
|
-
return /* @__PURE__ */
|
|
2453
|
+
return /* @__PURE__ */ jsx30(
|
|
1854
2454
|
CommandPrimitive.List,
|
|
1855
2455
|
{
|
|
1856
2456
|
"data-slot": "command-list",
|
|
@@ -1865,7 +2465,7 @@ function CommandList({
|
|
|
1865
2465
|
function CommandEmpty({
|
|
1866
2466
|
...props
|
|
1867
2467
|
}) {
|
|
1868
|
-
return /* @__PURE__ */
|
|
2468
|
+
return /* @__PURE__ */ jsx30(
|
|
1869
2469
|
CommandPrimitive.Empty,
|
|
1870
2470
|
{
|
|
1871
2471
|
"data-slot": "command-empty",
|
|
@@ -1878,7 +2478,7 @@ function CommandGroup({
|
|
|
1878
2478
|
className,
|
|
1879
2479
|
...props
|
|
1880
2480
|
}) {
|
|
1881
|
-
return /* @__PURE__ */
|
|
2481
|
+
return /* @__PURE__ */ jsx30(
|
|
1882
2482
|
CommandPrimitive.Group,
|
|
1883
2483
|
{
|
|
1884
2484
|
"data-slot": "command-group",
|
|
@@ -1894,7 +2494,7 @@ function CommandItem({
|
|
|
1894
2494
|
className,
|
|
1895
2495
|
...props
|
|
1896
2496
|
}) {
|
|
1897
|
-
return /* @__PURE__ */
|
|
2497
|
+
return /* @__PURE__ */ jsx30(
|
|
1898
2498
|
CommandPrimitive.Item,
|
|
1899
2499
|
{
|
|
1900
2500
|
"data-slot": "command-item",
|
|
@@ -1910,16 +2510,16 @@ function CommandItem({
|
|
|
1910
2510
|
// src/components/ui/popover.tsx
|
|
1911
2511
|
import "react";
|
|
1912
2512
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1913
|
-
import { jsx as
|
|
2513
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1914
2514
|
function Popover({
|
|
1915
2515
|
...props
|
|
1916
2516
|
}) {
|
|
1917
|
-
return /* @__PURE__ */
|
|
2517
|
+
return /* @__PURE__ */ jsx31(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1918
2518
|
}
|
|
1919
2519
|
function PopoverTrigger({
|
|
1920
2520
|
...props
|
|
1921
2521
|
}) {
|
|
1922
|
-
return /* @__PURE__ */
|
|
2522
|
+
return /* @__PURE__ */ jsx31(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1923
2523
|
}
|
|
1924
2524
|
function PopoverContent({
|
|
1925
2525
|
className,
|
|
@@ -1927,7 +2527,7 @@ function PopoverContent({
|
|
|
1927
2527
|
sideOffset = 4,
|
|
1928
2528
|
...props
|
|
1929
2529
|
}) {
|
|
1930
|
-
return /* @__PURE__ */
|
|
2530
|
+
return /* @__PURE__ */ jsx31(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx31(
|
|
1931
2531
|
PopoverPrimitive.Content,
|
|
1932
2532
|
{
|
|
1933
2533
|
"data-slot": "popover-content",
|
|
@@ -1945,20 +2545,20 @@ function PopoverContent({
|
|
|
1945
2545
|
// src/components/ui/scroll-area.tsx
|
|
1946
2546
|
import "react";
|
|
1947
2547
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
1948
|
-
import { jsx as
|
|
2548
|
+
import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1949
2549
|
function ScrollArea({
|
|
1950
2550
|
className,
|
|
1951
2551
|
children,
|
|
1952
2552
|
...props
|
|
1953
2553
|
}) {
|
|
1954
|
-
return /* @__PURE__ */
|
|
2554
|
+
return /* @__PURE__ */ jsxs20(
|
|
1955
2555
|
ScrollAreaPrimitive.Root,
|
|
1956
2556
|
{
|
|
1957
2557
|
"data-slot": "scroll-area",
|
|
1958
2558
|
className: cn("relative", className),
|
|
1959
2559
|
...props,
|
|
1960
2560
|
children: [
|
|
1961
|
-
/* @__PURE__ */
|
|
2561
|
+
/* @__PURE__ */ jsx32(
|
|
1962
2562
|
ScrollAreaPrimitive.Viewport,
|
|
1963
2563
|
{
|
|
1964
2564
|
"data-slot": "scroll-area-viewport",
|
|
@@ -1966,8 +2566,8 @@ function ScrollArea({
|
|
|
1966
2566
|
children
|
|
1967
2567
|
}
|
|
1968
2568
|
),
|
|
1969
|
-
/* @__PURE__ */
|
|
1970
|
-
/* @__PURE__ */
|
|
2569
|
+
/* @__PURE__ */ jsx32(ScrollBar, {}),
|
|
2570
|
+
/* @__PURE__ */ jsx32(ScrollAreaPrimitive.Corner, {})
|
|
1971
2571
|
]
|
|
1972
2572
|
}
|
|
1973
2573
|
);
|
|
@@ -1977,7 +2577,7 @@ function ScrollBar({
|
|
|
1977
2577
|
orientation = "vertical",
|
|
1978
2578
|
...props
|
|
1979
2579
|
}) {
|
|
1980
|
-
return /* @__PURE__ */
|
|
2580
|
+
return /* @__PURE__ */ jsx32(
|
|
1981
2581
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1982
2582
|
{
|
|
1983
2583
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -1990,7 +2590,7 @@ function ScrollBar({
|
|
|
1990
2590
|
className
|
|
1991
2591
|
),
|
|
1992
2592
|
...props,
|
|
1993
|
-
children: /* @__PURE__ */
|
|
2593
|
+
children: /* @__PURE__ */ jsx32(
|
|
1994
2594
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
1995
2595
|
{
|
|
1996
2596
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2002,10 +2602,10 @@ function ScrollBar({
|
|
|
2002
2602
|
}
|
|
2003
2603
|
|
|
2004
2604
|
// src/components/Inputs/PhoneInput.tsx
|
|
2005
|
-
import { cva as
|
|
2006
|
-
import { jsx as
|
|
2605
|
+
import { cva as cva18 } from "class-variance-authority";
|
|
2606
|
+
import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2007
2607
|
var inputBase = "h-full rounded-4 border-(--border-secondary) bg-(--background-primary) hover:border-(--border-secondary-hover)";
|
|
2008
|
-
var sizeBase =
|
|
2608
|
+
var sizeBase = cva18(
|
|
2009
2609
|
"flex w-full",
|
|
2010
2610
|
{
|
|
2011
2611
|
variants: {
|
|
@@ -2018,7 +2618,7 @@ var sizeBase = cva16(
|
|
|
2018
2618
|
}
|
|
2019
2619
|
}
|
|
2020
2620
|
);
|
|
2021
|
-
var
|
|
2621
|
+
var inputTextVariants2 = cva18("", {
|
|
2022
2622
|
variants: {
|
|
2023
2623
|
size: {
|
|
2024
2624
|
sm: "paragraph-md",
|
|
@@ -2034,12 +2634,41 @@ var inputTextVariants = cva16("", {
|
|
|
2034
2634
|
size: "lg"
|
|
2035
2635
|
}
|
|
2036
2636
|
});
|
|
2637
|
+
var dropdownWidthVariants = cva18("", {
|
|
2638
|
+
variants: {
|
|
2639
|
+
size: {
|
|
2640
|
+
sm: "min-w-70",
|
|
2641
|
+
md: "min-w-72",
|
|
2642
|
+
lg: "min-w-80",
|
|
2643
|
+
xl: "min-w-96"
|
|
2644
|
+
}
|
|
2645
|
+
},
|
|
2646
|
+
defaultVariants: {
|
|
2647
|
+
size: "lg"
|
|
2648
|
+
}
|
|
2649
|
+
});
|
|
2037
2650
|
var wrapperStatusClass = {
|
|
2038
2651
|
default: "input-default-nested",
|
|
2039
2652
|
success: "input-success-nested",
|
|
2040
2653
|
error: "input-error-nested"
|
|
2041
2654
|
};
|
|
2042
|
-
var
|
|
2655
|
+
var countryOptionVariants = cva18(
|
|
2656
|
+
"gap-2 pl-(--space-8) pr-(--space-16) text-left text-primary cursor-pointer hover:bg-(--background-secondary) data-[selected=true]:bg-(--background-secondary) data-[selected=true]:text-primary",
|
|
2657
|
+
{
|
|
2658
|
+
variants: {
|
|
2659
|
+
size: {
|
|
2660
|
+
sm: "paragraph-sm py-(--space-4)",
|
|
2661
|
+
md: "paragraph-md py-(--space-6)",
|
|
2662
|
+
lg: "paragraph-lg py-(--space-8)",
|
|
2663
|
+
xl: "subtitle py-(--space-10)"
|
|
2664
|
+
}
|
|
2665
|
+
},
|
|
2666
|
+
defaultVariants: {
|
|
2667
|
+
size: "lg"
|
|
2668
|
+
}
|
|
2669
|
+
}
|
|
2670
|
+
);
|
|
2671
|
+
var PhoneInput = React31.forwardRef(
|
|
2043
2672
|
(props, ref) => {
|
|
2044
2673
|
const {
|
|
2045
2674
|
className,
|
|
@@ -2054,7 +2683,7 @@ var PhoneInput = React27.forwardRef(
|
|
|
2054
2683
|
status = "default",
|
|
2055
2684
|
...rest
|
|
2056
2685
|
} = props;
|
|
2057
|
-
return /* @__PURE__ */
|
|
2686
|
+
return /* @__PURE__ */ jsx33(
|
|
2058
2687
|
Field,
|
|
2059
2688
|
{
|
|
2060
2689
|
label,
|
|
@@ -2063,16 +2692,16 @@ var PhoneInput = React27.forwardRef(
|
|
|
2063
2692
|
status,
|
|
2064
2693
|
disabled,
|
|
2065
2694
|
className,
|
|
2066
|
-
children: /* @__PURE__ */
|
|
2695
|
+
children: /* @__PURE__ */ jsx33("div", { className: cn("w-full", wrapperStatusClass[status]), children: /* @__PURE__ */ jsx33(
|
|
2067
2696
|
RPNInput.default,
|
|
2068
2697
|
{
|
|
2069
2698
|
ref,
|
|
2070
2699
|
className: cn(
|
|
2071
2700
|
sizeBase({ size }),
|
|
2072
|
-
|
|
2701
|
+
inputTextVariants2({ size, disabled })
|
|
2073
2702
|
),
|
|
2074
2703
|
flagComponent: FlagComponent,
|
|
2075
|
-
countrySelectComponent: CountrySelect,
|
|
2704
|
+
countrySelectComponent: (countrySelectProps) => /* @__PURE__ */ jsx33(CountrySelect, { ...countrySelectProps, size }),
|
|
2076
2705
|
inputComponent: InputComponent,
|
|
2077
2706
|
smartCaret: false,
|
|
2078
2707
|
value: value || void 0,
|
|
@@ -2089,9 +2718,9 @@ var PhoneInput = React27.forwardRef(
|
|
|
2089
2718
|
}
|
|
2090
2719
|
);
|
|
2091
2720
|
PhoneInput.displayName = "PhoneInput";
|
|
2092
|
-
var InputComponent =
|
|
2721
|
+
var InputComponent = React31.forwardRef((props, ref) => {
|
|
2093
2722
|
const { className, ...rest } = props;
|
|
2094
|
-
return /* @__PURE__ */
|
|
2723
|
+
return /* @__PURE__ */ jsx33(
|
|
2095
2724
|
Input,
|
|
2096
2725
|
{
|
|
2097
2726
|
ref,
|
|
@@ -2106,12 +2735,13 @@ var CountrySelect = ({
|
|
|
2106
2735
|
disabled,
|
|
2107
2736
|
value: selectedCountry,
|
|
2108
2737
|
options: countryList,
|
|
2109
|
-
onChange
|
|
2738
|
+
onChange,
|
|
2739
|
+
size = "lg"
|
|
2110
2740
|
}) => {
|
|
2111
|
-
const scrollAreaRef =
|
|
2112
|
-
const [searchValue, setSearchValue] =
|
|
2113
|
-
const [isOpen, setIsOpen] =
|
|
2114
|
-
return /* @__PURE__ */
|
|
2741
|
+
const scrollAreaRef = React31.useRef(null);
|
|
2742
|
+
const [searchValue, setSearchValue] = React31.useState("");
|
|
2743
|
+
const [isOpen, setIsOpen] = React31.useState(false);
|
|
2744
|
+
return /* @__PURE__ */ jsxs21(
|
|
2115
2745
|
Popover,
|
|
2116
2746
|
{
|
|
2117
2747
|
open: isOpen,
|
|
@@ -2123,7 +2753,7 @@ var CountrySelect = ({
|
|
|
2123
2753
|
}
|
|
2124
2754
|
},
|
|
2125
2755
|
children: [
|
|
2126
|
-
/* @__PURE__ */
|
|
2756
|
+
/* @__PURE__ */ jsx33(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs21(
|
|
2127
2757
|
Button2,
|
|
2128
2758
|
{
|
|
2129
2759
|
type: "button",
|
|
@@ -2131,14 +2761,14 @@ var CountrySelect = ({
|
|
|
2131
2761
|
className: cn(inputBase, "flex gap-1 rounded-4 px-3 focus:z-10 mr-(--space-12) text-primary-disabled hover:text-(--color-primary-hover) focus:text-(--color-primary-focus)"),
|
|
2132
2762
|
disabled,
|
|
2133
2763
|
children: [
|
|
2134
|
-
/* @__PURE__ */
|
|
2764
|
+
/* @__PURE__ */ jsx33(
|
|
2135
2765
|
FlagComponent,
|
|
2136
2766
|
{
|
|
2137
2767
|
country: selectedCountry,
|
|
2138
2768
|
countryName: selectedCountry
|
|
2139
2769
|
}
|
|
2140
2770
|
),
|
|
2141
|
-
/* @__PURE__ */
|
|
2771
|
+
/* @__PURE__ */ jsx33(
|
|
2142
2772
|
CodeIcon,
|
|
2143
2773
|
{
|
|
2144
2774
|
className: cn(
|
|
@@ -2150,13 +2780,17 @@ var CountrySelect = ({
|
|
|
2150
2780
|
]
|
|
2151
2781
|
}
|
|
2152
2782
|
) }),
|
|
2153
|
-
/* @__PURE__ */
|
|
2783
|
+
/* @__PURE__ */ jsx33(
|
|
2154
2784
|
PopoverContent,
|
|
2155
2785
|
{
|
|
2156
2786
|
align: "start",
|
|
2157
|
-
className:
|
|
2158
|
-
|
|
2159
|
-
|
|
2787
|
+
className: cn(
|
|
2788
|
+
"p-0 **:data-[slot='command-input-wrapper']:border-b-(--border-secondary)",
|
|
2789
|
+
dropdownWidthVariants({ size }),
|
|
2790
|
+
dropdownSurfaceClass
|
|
2791
|
+
),
|
|
2792
|
+
children: /* @__PURE__ */ jsxs21(Command, { className: "bg-transparent", children: [
|
|
2793
|
+
/* @__PURE__ */ jsx33(
|
|
2160
2794
|
CommandInput,
|
|
2161
2795
|
{
|
|
2162
2796
|
value: searchValue,
|
|
@@ -2176,17 +2810,18 @@ var CountrySelect = ({
|
|
|
2176
2810
|
placeholder: "Search country..."
|
|
2177
2811
|
}
|
|
2178
2812
|
),
|
|
2179
|
-
/* @__PURE__ */
|
|
2180
|
-
/* @__PURE__ */
|
|
2181
|
-
/* @__PURE__ */
|
|
2182
|
-
({ value, label }) => value ? /* @__PURE__ */
|
|
2813
|
+
/* @__PURE__ */ jsx33(CommandList, { children: /* @__PURE__ */ jsxs21(ScrollArea, { ref: scrollAreaRef, className: "max-h-79", children: [
|
|
2814
|
+
/* @__PURE__ */ jsx33(CommandEmpty, { children: "No country found." }),
|
|
2815
|
+
/* @__PURE__ */ jsx33(CommandGroup, { className: "p-0", children: countryList.map(
|
|
2816
|
+
({ value, label }) => value ? /* @__PURE__ */ jsx33(
|
|
2183
2817
|
CountrySelectOption,
|
|
2184
2818
|
{
|
|
2185
2819
|
country: value,
|
|
2186
2820
|
countryName: label,
|
|
2187
2821
|
selectedCountry,
|
|
2188
2822
|
onChange,
|
|
2189
|
-
onSelectComplete: () => setIsOpen(false)
|
|
2823
|
+
onSelectComplete: () => setIsOpen(false),
|
|
2824
|
+
size
|
|
2190
2825
|
},
|
|
2191
2826
|
value
|
|
2192
2827
|
) : null
|
|
@@ -2205,22 +2840,23 @@ var CountrySelectOption = (props) => {
|
|
|
2205
2840
|
countryName,
|
|
2206
2841
|
selectedCountry,
|
|
2207
2842
|
onChange,
|
|
2208
|
-
onSelectComplete
|
|
2843
|
+
onSelectComplete,
|
|
2844
|
+
size = "lg"
|
|
2209
2845
|
} = props;
|
|
2210
2846
|
const handleSelect = () => {
|
|
2211
2847
|
onChange(country);
|
|
2212
2848
|
onSelectComplete();
|
|
2213
2849
|
};
|
|
2214
|
-
return /* @__PURE__ */
|
|
2850
|
+
return /* @__PURE__ */ jsxs21(
|
|
2215
2851
|
CommandItem,
|
|
2216
2852
|
{
|
|
2217
|
-
className:
|
|
2853
|
+
className: cn(countryOptionVariants({ size })),
|
|
2218
2854
|
onSelect: handleSelect,
|
|
2219
2855
|
children: [
|
|
2220
|
-
/* @__PURE__ */
|
|
2221
|
-
/* @__PURE__ */
|
|
2222
|
-
/* @__PURE__ */
|
|
2223
|
-
/* @__PURE__ */
|
|
2856
|
+
/* @__PURE__ */ jsx33(FlagComponent, { country, countryName }),
|
|
2857
|
+
/* @__PURE__ */ jsx33("span", { className: "flex-1", children: countryName }),
|
|
2858
|
+
/* @__PURE__ */ jsx33("span", { className: "text-foreground/50", children: `+${RPNInput.getCountryCallingCode(country)}` }),
|
|
2859
|
+
/* @__PURE__ */ jsx33(
|
|
2224
2860
|
CheckIcon3,
|
|
2225
2861
|
{
|
|
2226
2862
|
className: `ml-auto size-4 ${country === selectedCountry ? "opacity-100" : "opacity-0"}`
|
|
@@ -2232,13 +2868,13 @@ var CountrySelectOption = (props) => {
|
|
|
2232
2868
|
};
|
|
2233
2869
|
var FlagComponent = ({ country, countryName }) => {
|
|
2234
2870
|
const Flag = flags[country];
|
|
2235
|
-
return /* @__PURE__ */
|
|
2871
|
+
return /* @__PURE__ */ jsx33("span", { className: "flex h-4 w-6 overflow-hidden rounded-2 bg-foreground/20 [&_svg:not([class*='size-'])]:size-full", children: Flag && /* @__PURE__ */ jsx33(Flag, { title: countryName }) });
|
|
2236
2872
|
};
|
|
2237
2873
|
|
|
2238
2874
|
// src/components/Inputs/RadioGroup.tsx
|
|
2239
|
-
import * as
|
|
2875
|
+
import * as React32 from "react";
|
|
2240
2876
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2241
|
-
import { jsx as
|
|
2877
|
+
import { jsx as jsx34, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2242
2878
|
var RadioGroup = ({
|
|
2243
2879
|
label,
|
|
2244
2880
|
hint,
|
|
@@ -2252,20 +2888,20 @@ var RadioGroup = ({
|
|
|
2252
2888
|
className,
|
|
2253
2889
|
...rootProps
|
|
2254
2890
|
}) => {
|
|
2255
|
-
const groupId =
|
|
2891
|
+
const groupId = React32.useId();
|
|
2256
2892
|
const hintId = hint ? `${groupId}-hint` : void 0;
|
|
2257
2893
|
const handleValueChange = (next) => {
|
|
2258
2894
|
onValueChange?.(next);
|
|
2259
2895
|
};
|
|
2260
2896
|
const isHorizontal = orientation === "horizontal";
|
|
2261
|
-
return /* @__PURE__ */
|
|
2897
|
+
return /* @__PURE__ */ jsx34(
|
|
2262
2898
|
Field,
|
|
2263
2899
|
{
|
|
2264
2900
|
label,
|
|
2265
2901
|
hint,
|
|
2266
2902
|
hideHint,
|
|
2267
2903
|
disabled,
|
|
2268
|
-
children: /* @__PURE__ */
|
|
2904
|
+
children: /* @__PURE__ */ jsx34(
|
|
2269
2905
|
RadioGroupPrimitive.Root,
|
|
2270
2906
|
{
|
|
2271
2907
|
...rootProps,
|
|
@@ -2279,7 +2915,7 @@ var RadioGroup = ({
|
|
|
2279
2915
|
isHorizontal ? "flex-row gap-6" : "flex-col gap-2",
|
|
2280
2916
|
className
|
|
2281
2917
|
),
|
|
2282
|
-
children: options.map((option) => /* @__PURE__ */
|
|
2918
|
+
children: options.map((option) => /* @__PURE__ */ jsx34("div", { className: "relative inline-flex", children: /* @__PURE__ */ jsxs22(
|
|
2283
2919
|
RadioGroupPrimitive.Item,
|
|
2284
2920
|
{
|
|
2285
2921
|
value: option.value,
|
|
@@ -2290,7 +2926,7 @@ var RadioGroup = ({
|
|
|
2290
2926
|
disabled || option.disabled ? "cursor-default" : "cursor-pointer"
|
|
2291
2927
|
),
|
|
2292
2928
|
children: [
|
|
2293
|
-
/* @__PURE__ */
|
|
2929
|
+
/* @__PURE__ */ jsx34(
|
|
2294
2930
|
"span",
|
|
2295
2931
|
{
|
|
2296
2932
|
className: cn(
|
|
@@ -2316,7 +2952,7 @@ var RadioGroup = ({
|
|
|
2316
2952
|
"group-[&[data-disabled][data-state=checked]]:border-(--border-primary-disabled)",
|
|
2317
2953
|
"group-[&[data-disabled][data-state=checked]]:bg-(--background-primary-disabled)"
|
|
2318
2954
|
),
|
|
2319
|
-
children: /* @__PURE__ */
|
|
2955
|
+
children: /* @__PURE__ */ jsx34(
|
|
2320
2956
|
"span",
|
|
2321
2957
|
{
|
|
2322
2958
|
className: cn(
|
|
@@ -2331,7 +2967,7 @@ var RadioGroup = ({
|
|
|
2331
2967
|
)
|
|
2332
2968
|
}
|
|
2333
2969
|
),
|
|
2334
|
-
/* @__PURE__ */
|
|
2970
|
+
/* @__PURE__ */ jsx34(
|
|
2335
2971
|
"span",
|
|
2336
2972
|
{
|
|
2337
2973
|
className: cn(
|
|
@@ -2351,11 +2987,11 @@ var RadioGroup = ({
|
|
|
2351
2987
|
};
|
|
2352
2988
|
|
|
2353
2989
|
// src/components/Inputs/SearchInput.tsx
|
|
2354
|
-
import * as
|
|
2355
|
-
import { cva as
|
|
2990
|
+
import * as React33 from "react";
|
|
2991
|
+
import { cva as cva19 } from "class-variance-authority";
|
|
2356
2992
|
import { SearchIcon as SearchIcon2 } from "@bubo-squared/icons";
|
|
2357
|
-
import { jsx as
|
|
2358
|
-
var searchTextVariants =
|
|
2993
|
+
import { jsx as jsx35, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2994
|
+
var searchTextVariants = cva19("truncate", {
|
|
2359
2995
|
variants: {
|
|
2360
2996
|
size: {
|
|
2361
2997
|
sm: "paragraph-md",
|
|
@@ -2368,7 +3004,7 @@ var searchTextVariants = cva17("truncate", {
|
|
|
2368
3004
|
size: "lg"
|
|
2369
3005
|
}
|
|
2370
3006
|
});
|
|
2371
|
-
var
|
|
3007
|
+
var iconWrapperVariants3 = cva19("flex items-center justify-center shrink-0 text-(--icon-primary)", {
|
|
2372
3008
|
variants: {
|
|
2373
3009
|
size: {
|
|
2374
3010
|
sm: "size-4 [&>svg]:size-4",
|
|
@@ -2395,13 +3031,13 @@ var SearchInput = (props) => {
|
|
|
2395
3031
|
trailingIcon,
|
|
2396
3032
|
...inputProps
|
|
2397
3033
|
} = props;
|
|
2398
|
-
const inputRef =
|
|
3034
|
+
const inputRef = React33.useRef(null);
|
|
2399
3035
|
const handleContainerClick = () => {
|
|
2400
3036
|
if (disabled) return;
|
|
2401
3037
|
inputRef.current?.focus();
|
|
2402
3038
|
};
|
|
2403
3039
|
const showTrailingIcon = !!trailingIcon;
|
|
2404
|
-
return /* @__PURE__ */
|
|
3040
|
+
return /* @__PURE__ */ jsx35("div", { className: "flex flex-col gap-2 items-start w-full", children: /* @__PURE__ */ jsx35("div", { className: "relative w-full", children: /* @__PURE__ */ jsxs23(
|
|
2405
3041
|
InputShell,
|
|
2406
3042
|
{
|
|
2407
3043
|
size,
|
|
@@ -2410,8 +3046,8 @@ var SearchInput = (props) => {
|
|
|
2410
3046
|
className,
|
|
2411
3047
|
onClick: handleContainerClick,
|
|
2412
3048
|
children: [
|
|
2413
|
-
showLeadingIcon && /* @__PURE__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
3049
|
+
showLeadingIcon && /* @__PURE__ */ jsx35("span", { className: cn(iconWrapperVariants3({ size, disabled: !!disabled })), children: leadingIcon ?? /* @__PURE__ */ jsx35(SearchIcon2, {}) }),
|
|
3050
|
+
/* @__PURE__ */ jsx35(
|
|
2415
3051
|
Input,
|
|
2416
3052
|
{
|
|
2417
3053
|
ref: inputRef,
|
|
@@ -2425,7 +3061,7 @@ var SearchInput = (props) => {
|
|
|
2425
3061
|
...inputProps
|
|
2426
3062
|
}
|
|
2427
3063
|
),
|
|
2428
|
-
showTrailingIcon && /* @__PURE__ */
|
|
3064
|
+
showTrailingIcon && /* @__PURE__ */ jsx35("span", { className: cn("cursor-pointer", iconWrapperVariants3({ size, disabled: !!disabled })), children: trailingIcon })
|
|
2429
3065
|
]
|
|
2430
3066
|
}
|
|
2431
3067
|
) }) });
|
|
@@ -2433,8 +3069,8 @@ var SearchInput = (props) => {
|
|
|
2433
3069
|
SearchInput.displayName = "SearchInput";
|
|
2434
3070
|
|
|
2435
3071
|
// src/components/Inputs/Slider.tsx
|
|
2436
|
-
import * as
|
|
2437
|
-
import { Fragment as Fragment2, jsx as
|
|
3072
|
+
import * as React34 from "react";
|
|
3073
|
+
import { Fragment as Fragment2, jsx as jsx36, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2438
3074
|
var wrapperBase = "flex flex-col gap-2 items-start";
|
|
2439
3075
|
var isRangeProps = (props) => {
|
|
2440
3076
|
return Array.isArray(props.value) || Array.isArray(props.defaultValue);
|
|
@@ -2461,7 +3097,7 @@ var Slider = (props) => {
|
|
|
2461
3097
|
const isRange = isRangeProps(props);
|
|
2462
3098
|
const isControlled = value !== void 0;
|
|
2463
3099
|
const expectedLength = isRange ? 2 : 1;
|
|
2464
|
-
const normalizeArray =
|
|
3100
|
+
const normalizeArray = React34.useCallback(
|
|
2465
3101
|
(arr, fallback) => {
|
|
2466
3102
|
if (!arr || arr.length === 0) return fallback;
|
|
2467
3103
|
if (arr.length === expectedLength) return arr;
|
|
@@ -2473,16 +3109,16 @@ var Slider = (props) => {
|
|
|
2473
3109
|
},
|
|
2474
3110
|
[expectedLength, max]
|
|
2475
3111
|
);
|
|
2476
|
-
const defaultInternal =
|
|
3112
|
+
const defaultInternal = React34.useMemo(() => {
|
|
2477
3113
|
const defaultValueArray = toArray(defaultValue);
|
|
2478
3114
|
if (defaultValueArray) return normalizeArray(defaultValueArray, []);
|
|
2479
3115
|
if (isRange) return [min, Math.min(min + (max - min) / 4, max)];
|
|
2480
3116
|
return [min + (max - min) / 3];
|
|
2481
3117
|
}, [defaultValue, min, max, isRange, normalizeArray]);
|
|
2482
|
-
const [internalValue, setInternalValue] =
|
|
3118
|
+
const [internalValue, setInternalValue] = React34.useState(
|
|
2483
3119
|
() => normalizeArray(isControlled ? toArray(value) : defaultInternal, defaultInternal)
|
|
2484
3120
|
);
|
|
2485
|
-
|
|
3121
|
+
React34.useEffect(() => {
|
|
2486
3122
|
if (isControlled) {
|
|
2487
3123
|
setInternalValue(
|
|
2488
3124
|
(current2) => normalizeArray(toArray(value), current2.length ? current2 : defaultInternal)
|
|
@@ -2490,15 +3126,15 @@ var Slider = (props) => {
|
|
|
2490
3126
|
}
|
|
2491
3127
|
}, [isControlled, value, normalizeArray, defaultInternal]);
|
|
2492
3128
|
const current = internalValue;
|
|
2493
|
-
const trackRef =
|
|
2494
|
-
const [draggingThumbIndex, setDraggingThumbIndex] =
|
|
2495
|
-
const [hoveredThumbIndex, setHoveredThumbIndex] =
|
|
2496
|
-
const clamp =
|
|
3129
|
+
const trackRef = React34.useRef(null);
|
|
3130
|
+
const [draggingThumbIndex, setDraggingThumbIndex] = React34.useState(null);
|
|
3131
|
+
const [hoveredThumbIndex, setHoveredThumbIndex] = React34.useState(null);
|
|
3132
|
+
const clamp = React34.useCallback((val) => {
|
|
2497
3133
|
if (val < min) return min;
|
|
2498
3134
|
if (val > max) return max;
|
|
2499
3135
|
return val;
|
|
2500
3136
|
}, [min, max]);
|
|
2501
|
-
const enforceMinGap =
|
|
3137
|
+
const enforceMinGap = React34.useCallback((next, prev) => {
|
|
2502
3138
|
if (!isRange || next.length !== 2 || step <= 0) return next;
|
|
2503
3139
|
let [low, high] = next;
|
|
2504
3140
|
const [prevLow, prevHigh] = prev.length === 2 ? prev : next;
|
|
@@ -2522,7 +3158,7 @@ var Slider = (props) => {
|
|
|
2522
3158
|
}
|
|
2523
3159
|
return [low, high];
|
|
2524
3160
|
}, [isRange, step, clamp]);
|
|
2525
|
-
|
|
3161
|
+
React34.useEffect(() => {
|
|
2526
3162
|
if (!isControlled) {
|
|
2527
3163
|
setInternalValue((prev) => {
|
|
2528
3164
|
const clamped = prev.map((v) => clamp(v));
|
|
@@ -2691,7 +3327,7 @@ var Slider = (props) => {
|
|
|
2691
3327
|
const trackHeight = 32;
|
|
2692
3328
|
const thumbWidth = 18;
|
|
2693
3329
|
const thumbRadius = thumbWidth / 2;
|
|
2694
|
-
const renderTooltipBubble = (key, percent, labelText, isVisible) => /* @__PURE__ */
|
|
3330
|
+
const renderTooltipBubble = (key, percent, labelText, isVisible) => /* @__PURE__ */ jsx36(
|
|
2695
3331
|
"div",
|
|
2696
3332
|
{
|
|
2697
3333
|
className: cn(
|
|
@@ -2706,12 +3342,12 @@ var Slider = (props) => {
|
|
|
2706
3342
|
marginBottom: isTooltipAbove ? 8 : void 0,
|
|
2707
3343
|
marginTop: isTooltipAbove ? void 0 : 8
|
|
2708
3344
|
},
|
|
2709
|
-
children: /* @__PURE__ */
|
|
3345
|
+
children: /* @__PURE__ */ jsxs24(
|
|
2710
3346
|
"div",
|
|
2711
3347
|
{
|
|
2712
3348
|
className: cn("relative rounded-4 shadow-card-md px-(--space-8) py-(--space-4) bg-(--background-tooltip)"),
|
|
2713
3349
|
children: [
|
|
2714
|
-
/* @__PURE__ */
|
|
3350
|
+
/* @__PURE__ */ jsx36(
|
|
2715
3351
|
"p",
|
|
2716
3352
|
{
|
|
2717
3353
|
className: cn(
|
|
@@ -2721,7 +3357,7 @@ var Slider = (props) => {
|
|
|
2721
3357
|
children: labelText
|
|
2722
3358
|
}
|
|
2723
3359
|
),
|
|
2724
|
-
/* @__PURE__ */
|
|
3360
|
+
/* @__PURE__ */ jsx36(
|
|
2725
3361
|
"div",
|
|
2726
3362
|
{
|
|
2727
3363
|
className: cn(
|
|
@@ -2739,7 +3375,7 @@ var Slider = (props) => {
|
|
|
2739
3375
|
const renderHandle = (index, percent, ariaValueText) => {
|
|
2740
3376
|
const val = index === 0 ? primary : secondary;
|
|
2741
3377
|
const isDragging = draggingThumbIndex === index;
|
|
2742
|
-
return /* @__PURE__ */
|
|
3378
|
+
return /* @__PURE__ */ jsx36(
|
|
2743
3379
|
"button",
|
|
2744
3380
|
{
|
|
2745
3381
|
type: "button",
|
|
@@ -2779,14 +3415,14 @@ var Slider = (props) => {
|
|
|
2779
3415
|
index
|
|
2780
3416
|
);
|
|
2781
3417
|
};
|
|
2782
|
-
return /* @__PURE__ */
|
|
3418
|
+
return /* @__PURE__ */ jsxs24(
|
|
2783
3419
|
"div",
|
|
2784
3420
|
{
|
|
2785
3421
|
className: wrapperBase,
|
|
2786
3422
|
style: { marginInline: `${thumbRadius}px` },
|
|
2787
3423
|
children: [
|
|
2788
|
-
name && /* @__PURE__ */
|
|
2789
|
-
/* @__PURE__ */
|
|
3424
|
+
name && /* @__PURE__ */ jsxs24(Fragment2, { children: [
|
|
3425
|
+
/* @__PURE__ */ jsx36(
|
|
2790
3426
|
"input",
|
|
2791
3427
|
{
|
|
2792
3428
|
type: "hidden",
|
|
@@ -2795,7 +3431,7 @@ var Slider = (props) => {
|
|
|
2795
3431
|
disabled
|
|
2796
3432
|
}
|
|
2797
3433
|
),
|
|
2798
|
-
isRange && secondary !== void 0 && /* @__PURE__ */
|
|
3434
|
+
isRange && secondary !== void 0 && /* @__PURE__ */ jsx36(
|
|
2799
3435
|
"input",
|
|
2800
3436
|
{
|
|
2801
3437
|
type: "hidden",
|
|
@@ -2805,8 +3441,8 @@ var Slider = (props) => {
|
|
|
2805
3441
|
}
|
|
2806
3442
|
)
|
|
2807
3443
|
] }),
|
|
2808
|
-
/* @__PURE__ */
|
|
2809
|
-
/* @__PURE__ */
|
|
3444
|
+
/* @__PURE__ */ jsxs24("div", { className: cn("w-full flex flex-col gap-1", className), children: [
|
|
3445
|
+
/* @__PURE__ */ jsxs24("div", { className: "relative w-full", children: [
|
|
2810
3446
|
showTooltip && primary !== void 0 && renderTooltipBubble(
|
|
2811
3447
|
"primary",
|
|
2812
3448
|
primaryPercent,
|
|
@@ -2819,7 +3455,7 @@ var Slider = (props) => {
|
|
|
2819
3455
|
formatDisplayValue(secondary),
|
|
2820
3456
|
hoveredThumbIndex === 1 || draggingThumbIndex === 1
|
|
2821
3457
|
),
|
|
2822
|
-
/* @__PURE__ */
|
|
3458
|
+
/* @__PURE__ */ jsxs24(
|
|
2823
3459
|
"div",
|
|
2824
3460
|
{
|
|
2825
3461
|
className: cn(
|
|
@@ -2830,7 +3466,7 @@ var Slider = (props) => {
|
|
|
2830
3466
|
ref: trackRef,
|
|
2831
3467
|
onPointerDown: handleTrackPointerDown,
|
|
2832
3468
|
children: [
|
|
2833
|
-
/* @__PURE__ */
|
|
3469
|
+
/* @__PURE__ */ jsx36(
|
|
2834
3470
|
"div",
|
|
2835
3471
|
{
|
|
2836
3472
|
className: cn(
|
|
@@ -2849,7 +3485,7 @@ var Slider = (props) => {
|
|
|
2849
3485
|
}
|
|
2850
3486
|
)
|
|
2851
3487
|
] }),
|
|
2852
|
-
showNumeric && /* @__PURE__ */
|
|
3488
|
+
showNumeric && /* @__PURE__ */ jsx36(
|
|
2853
3489
|
"p",
|
|
2854
3490
|
{
|
|
2855
3491
|
className: cn(
|
|
@@ -2867,9 +3503,9 @@ var Slider = (props) => {
|
|
|
2867
3503
|
Slider.displayName = "Slider";
|
|
2868
3504
|
|
|
2869
3505
|
// src/components/Inputs/TextArea.tsx
|
|
2870
|
-
import * as
|
|
3506
|
+
import * as React35 from "react";
|
|
2871
3507
|
import { MaximizeIcon } from "@bubo-squared/icons";
|
|
2872
|
-
import { jsx as
|
|
3508
|
+
import { jsx as jsx37, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2873
3509
|
var TextArea = (props) => {
|
|
2874
3510
|
const {
|
|
2875
3511
|
label,
|
|
@@ -2889,7 +3525,7 @@ var TextArea = (props) => {
|
|
|
2889
3525
|
...textareaProps
|
|
2890
3526
|
} = props;
|
|
2891
3527
|
const isControlled = value !== void 0;
|
|
2892
|
-
const [internalValue, setInternalValue] =
|
|
3528
|
+
const [internalValue, setInternalValue] = React35.useState(
|
|
2893
3529
|
defaultValue ?? ""
|
|
2894
3530
|
);
|
|
2895
3531
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
@@ -2897,10 +3533,10 @@ var TextArea = (props) => {
|
|
|
2897
3533
|
const currentLength = currentValue.length;
|
|
2898
3534
|
const effectiveMaxLength = type === "character-limit" ? maxLength ?? 144 : void 0;
|
|
2899
3535
|
const showCharacterLimit = type === "character-limit" && typeof effectiveMaxLength === "number";
|
|
2900
|
-
const textareaRef =
|
|
2901
|
-
const containerRef =
|
|
2902
|
-
const [height, setHeight] =
|
|
2903
|
-
const [width, setWidth] =
|
|
3536
|
+
const textareaRef = React35.useRef(null);
|
|
3537
|
+
const containerRef = React35.useRef(null);
|
|
3538
|
+
const [height, setHeight] = React35.useState(void 0);
|
|
3539
|
+
const [width, setWidth] = React35.useState(void 0);
|
|
2904
3540
|
const minHeight = 80;
|
|
2905
3541
|
const minWidth = 240;
|
|
2906
3542
|
const handleContainerClick = () => {
|
|
@@ -2913,7 +3549,7 @@ var TextArea = (props) => {
|
|
|
2913
3549
|
}
|
|
2914
3550
|
onChange?.(event);
|
|
2915
3551
|
};
|
|
2916
|
-
const generatedId =
|
|
3552
|
+
const generatedId = React35.useId();
|
|
2917
3553
|
const textareaId = id ?? generatedId;
|
|
2918
3554
|
const statusBorderClass = {
|
|
2919
3555
|
default: "",
|
|
@@ -2950,7 +3586,7 @@ var TextArea = (props) => {
|
|
|
2950
3586
|
window.addEventListener("pointermove", handlePointerMove);
|
|
2951
3587
|
window.addEventListener("pointerup", handlePointerUp);
|
|
2952
3588
|
};
|
|
2953
|
-
return /* @__PURE__ */
|
|
3589
|
+
return /* @__PURE__ */ jsx37(
|
|
2954
3590
|
Field,
|
|
2955
3591
|
{
|
|
2956
3592
|
className: "w-full",
|
|
@@ -2959,7 +3595,7 @@ var TextArea = (props) => {
|
|
|
2959
3595
|
hideHint,
|
|
2960
3596
|
status,
|
|
2961
3597
|
disabled,
|
|
2962
|
-
children: /* @__PURE__ */
|
|
3598
|
+
children: /* @__PURE__ */ jsxs25(
|
|
2963
3599
|
"div",
|
|
2964
3600
|
{
|
|
2965
3601
|
className: cn(
|
|
@@ -2978,7 +3614,7 @@ var TextArea = (props) => {
|
|
|
2978
3614
|
onClick: handleContainerClick,
|
|
2979
3615
|
"aria-disabled": disabled || void 0,
|
|
2980
3616
|
children: [
|
|
2981
|
-
/* @__PURE__ */
|
|
3617
|
+
/* @__PURE__ */ jsx37(
|
|
2982
3618
|
"textarea",
|
|
2983
3619
|
{
|
|
2984
3620
|
id: textareaId,
|
|
@@ -2998,7 +3634,7 @@ var TextArea = (props) => {
|
|
|
2998
3634
|
...textareaProps
|
|
2999
3635
|
}
|
|
3000
3636
|
),
|
|
3001
|
-
showCharacterLimit && /* @__PURE__ */
|
|
3637
|
+
showCharacterLimit && /* @__PURE__ */ jsxs25(
|
|
3002
3638
|
"span",
|
|
3003
3639
|
{
|
|
3004
3640
|
className: cn(
|
|
@@ -3012,19 +3648,19 @@ var TextArea = (props) => {
|
|
|
3012
3648
|
]
|
|
3013
3649
|
}
|
|
3014
3650
|
),
|
|
3015
|
-
type === "responsive" && /* @__PURE__ */
|
|
3651
|
+
type === "responsive" && /* @__PURE__ */ jsx37(
|
|
3016
3652
|
"div",
|
|
3017
3653
|
{
|
|
3018
3654
|
className: "absolute bottom-1 right-1 h-3 w-3 " + (disabled ? "cursor-auto" : "cursor-nwse-resize"),
|
|
3019
3655
|
onPointerDown: disabled ? void 0 : handleResizePointerDown,
|
|
3020
|
-
children: /* @__PURE__ */
|
|
3656
|
+
children: /* @__PURE__ */ jsx37(
|
|
3021
3657
|
"span",
|
|
3022
3658
|
{
|
|
3023
3659
|
className: cn(
|
|
3024
3660
|
"absolute bottom-0 right-0 flex h-4 w-4 items-center justify-center text-(--icon-primary)",
|
|
3025
3661
|
disabled && "text-(--icon-primary-disabled)"
|
|
3026
3662
|
),
|
|
3027
|
-
children: /* @__PURE__ */
|
|
3663
|
+
children: /* @__PURE__ */ jsx37(MaximizeIcon, {})
|
|
3028
3664
|
}
|
|
3029
3665
|
)
|
|
3030
3666
|
}
|
|
@@ -3038,10 +3674,10 @@ var TextArea = (props) => {
|
|
|
3038
3674
|
TextArea.displayName = "TextArea";
|
|
3039
3675
|
|
|
3040
3676
|
// src/components/Inputs/TextInput.tsx
|
|
3041
|
-
import * as
|
|
3042
|
-
import { cva as
|
|
3043
|
-
import { jsx as
|
|
3044
|
-
var
|
|
3677
|
+
import * as React36 from "react";
|
|
3678
|
+
import { cva as cva20 } from "class-variance-authority";
|
|
3679
|
+
import { jsx as jsx38, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3680
|
+
var inputTextVariants3 = cva20("truncate", {
|
|
3045
3681
|
variants: {
|
|
3046
3682
|
size: {
|
|
3047
3683
|
sm: "paragraph-md",
|
|
@@ -3054,7 +3690,7 @@ var inputTextVariants2 = cva18("truncate", {
|
|
|
3054
3690
|
size: "lg"
|
|
3055
3691
|
}
|
|
3056
3692
|
});
|
|
3057
|
-
var
|
|
3693
|
+
var iconWrapperVariants4 = cva20(
|
|
3058
3694
|
"flex items-center justify-center shrink-0 text-(--icon-primary)",
|
|
3059
3695
|
{
|
|
3060
3696
|
variants: {
|
|
@@ -3091,11 +3727,11 @@ var TextInput = (props) => {
|
|
|
3091
3727
|
...inputProps
|
|
3092
3728
|
} = props;
|
|
3093
3729
|
const isControlled = value !== void 0;
|
|
3094
|
-
const [internalValue, setInternalValue] =
|
|
3730
|
+
const [internalValue, setInternalValue] = React36.useState(
|
|
3095
3731
|
defaultValue ?? ""
|
|
3096
3732
|
);
|
|
3097
3733
|
const currentValue = (isControlled ? value : internalValue) ?? "";
|
|
3098
|
-
const inputRef =
|
|
3734
|
+
const inputRef = React36.useRef(null);
|
|
3099
3735
|
const handleContainerClick = () => {
|
|
3100
3736
|
if (disabled) return;
|
|
3101
3737
|
inputRef.current?.focus();
|
|
@@ -3108,7 +3744,7 @@ var TextInput = (props) => {
|
|
|
3108
3744
|
};
|
|
3109
3745
|
const showLeadingIcon = !!leadingIcon;
|
|
3110
3746
|
const showTrailingIcon = !!trailingIcon;
|
|
3111
|
-
return /* @__PURE__ */
|
|
3747
|
+
return /* @__PURE__ */ jsx38(
|
|
3112
3748
|
Field,
|
|
3113
3749
|
{
|
|
3114
3750
|
label,
|
|
@@ -3116,7 +3752,7 @@ var TextInput = (props) => {
|
|
|
3116
3752
|
hideHint,
|
|
3117
3753
|
status,
|
|
3118
3754
|
disabled,
|
|
3119
|
-
children: /* @__PURE__ */
|
|
3755
|
+
children: /* @__PURE__ */ jsxs26(
|
|
3120
3756
|
InputShell,
|
|
3121
3757
|
{
|
|
3122
3758
|
size,
|
|
@@ -3125,16 +3761,16 @@ var TextInput = (props) => {
|
|
|
3125
3761
|
className,
|
|
3126
3762
|
onClick: handleContainerClick,
|
|
3127
3763
|
children: [
|
|
3128
|
-
showLeadingIcon && /* @__PURE__ */
|
|
3764
|
+
showLeadingIcon && /* @__PURE__ */ jsx38(
|
|
3129
3765
|
"span",
|
|
3130
3766
|
{
|
|
3131
3767
|
className: cn(
|
|
3132
|
-
|
|
3768
|
+
iconWrapperVariants4({ size, disabled })
|
|
3133
3769
|
),
|
|
3134
3770
|
children: leadingIcon
|
|
3135
3771
|
}
|
|
3136
3772
|
),
|
|
3137
|
-
/* @__PURE__ */
|
|
3773
|
+
/* @__PURE__ */ jsx38(
|
|
3138
3774
|
Input,
|
|
3139
3775
|
{
|
|
3140
3776
|
ref: inputRef,
|
|
@@ -3146,17 +3782,17 @@ var TextInput = (props) => {
|
|
|
3146
3782
|
onChange: handleChange,
|
|
3147
3783
|
variant: "bare",
|
|
3148
3784
|
className: cn(
|
|
3149
|
-
|
|
3785
|
+
inputTextVariants3({ size }),
|
|
3150
3786
|
"bg-transparent outline-none w-full"
|
|
3151
3787
|
),
|
|
3152
3788
|
...inputProps
|
|
3153
3789
|
}
|
|
3154
3790
|
),
|
|
3155
|
-
showTrailingIcon && /* @__PURE__ */
|
|
3791
|
+
showTrailingIcon && /* @__PURE__ */ jsx38(
|
|
3156
3792
|
"span",
|
|
3157
3793
|
{
|
|
3158
3794
|
className: cn(
|
|
3159
|
-
|
|
3795
|
+
iconWrapperVariants4({ size, disabled: !!disabled })
|
|
3160
3796
|
),
|
|
3161
3797
|
children: trailingIcon
|
|
3162
3798
|
}
|
|
@@ -3171,10 +3807,10 @@ TextInput.displayName = "TextInput";
|
|
|
3171
3807
|
|
|
3172
3808
|
// src/components/Inputs/Toggle.tsx
|
|
3173
3809
|
import "react";
|
|
3174
|
-
import { jsx as
|
|
3810
|
+
import { jsx as jsx39, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3175
3811
|
var Toggle = (props) => {
|
|
3176
3812
|
const { label, className, disabled, ...inputProps } = props;
|
|
3177
|
-
return /* @__PURE__ */
|
|
3813
|
+
return /* @__PURE__ */ jsxs27(
|
|
3178
3814
|
"label",
|
|
3179
3815
|
{
|
|
3180
3816
|
className: cn(
|
|
@@ -3182,8 +3818,8 @@ var Toggle = (props) => {
|
|
|
3182
3818
|
disabled ? "cursor-default" : "cursor-pointer"
|
|
3183
3819
|
),
|
|
3184
3820
|
children: [
|
|
3185
|
-
/* @__PURE__ */
|
|
3186
|
-
/* @__PURE__ */
|
|
3821
|
+
/* @__PURE__ */ jsxs27("span", { className: "relative inline-flex items-center", children: [
|
|
3822
|
+
/* @__PURE__ */ jsx39(
|
|
3187
3823
|
"input",
|
|
3188
3824
|
{
|
|
3189
3825
|
type: "checkbox",
|
|
@@ -3192,7 +3828,7 @@ var Toggle = (props) => {
|
|
|
3192
3828
|
...inputProps
|
|
3193
3829
|
}
|
|
3194
3830
|
),
|
|
3195
|
-
/* @__PURE__ */
|
|
3831
|
+
/* @__PURE__ */ jsx39(
|
|
3196
3832
|
"span",
|
|
3197
3833
|
{
|
|
3198
3834
|
className: cn(
|
|
@@ -3232,7 +3868,7 @@ var Toggle = (props) => {
|
|
|
3232
3868
|
"peer-disabled:[&>.knob]:peer-checked:bg-(--background-primary-hover)",
|
|
3233
3869
|
className
|
|
3234
3870
|
),
|
|
3235
|
-
children: /* @__PURE__ */
|
|
3871
|
+
children: /* @__PURE__ */ jsx39(
|
|
3236
3872
|
"span",
|
|
3237
3873
|
{
|
|
3238
3874
|
className: cn(
|
|
@@ -3244,7 +3880,7 @@ var Toggle = (props) => {
|
|
|
3244
3880
|
}
|
|
3245
3881
|
)
|
|
3246
3882
|
] }),
|
|
3247
|
-
label && /* @__PURE__ */
|
|
3883
|
+
label && /* @__PURE__ */ jsx39(
|
|
3248
3884
|
"span",
|
|
3249
3885
|
{
|
|
3250
3886
|
className: cn(
|
|
@@ -3262,7 +3898,7 @@ Toggle.displayName = "Toggle";
|
|
|
3262
3898
|
|
|
3263
3899
|
// src/components/Inputs/WebsiteInput.tsx
|
|
3264
3900
|
import "react";
|
|
3265
|
-
import { jsx as
|
|
3901
|
+
import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3266
3902
|
var WebsiteInput = (props) => {
|
|
3267
3903
|
const {
|
|
3268
3904
|
hierarchy = "leading",
|
|
@@ -3299,15 +3935,15 @@ var WebsiteInput = (props) => {
|
|
|
3299
3935
|
size === "xl" ? "[&>svg]:w-6 [&>svg]:h-6" : size === "sm" ? "[&>svg]:w-4 [&>svg]:h-4" : "[&>svg]:w-5 [&>svg]:h-5",
|
|
3300
3936
|
disabled ? "text-(--icon-primary-disabled)" : "text-(--icon-primary) group-hover:text-(--icon-primary-hover) group-focus-within:text-(--icon-primary-focus)"
|
|
3301
3937
|
);
|
|
3302
|
-
const leadingAddon = /* @__PURE__ */
|
|
3303
|
-
/* @__PURE__ */
|
|
3304
|
-
icon != null && /* @__PURE__ */
|
|
3938
|
+
const leadingAddon = /* @__PURE__ */ jsxs28("div", { className: baseAddonClass, children: [
|
|
3939
|
+
/* @__PURE__ */ jsx40("div", { className: addonTextClass, children: protocolLabel }),
|
|
3940
|
+
icon != null && /* @__PURE__ */ jsx40("span", { className: iconWrapperClass, children: icon })
|
|
3305
3941
|
] });
|
|
3306
|
-
const trailingAddon = /* @__PURE__ */
|
|
3307
|
-
icon != null && /* @__PURE__ */
|
|
3308
|
-
/* @__PURE__ */
|
|
3942
|
+
const trailingAddon = /* @__PURE__ */ jsxs28("div", { className: baseAddonClass, children: [
|
|
3943
|
+
icon != null && /* @__PURE__ */ jsx40("span", { className: iconWrapperClass, children: icon }),
|
|
3944
|
+
/* @__PURE__ */ jsx40("div", { className: addonTextClass, children: protocolLabel })
|
|
3309
3945
|
] });
|
|
3310
|
-
return /* @__PURE__ */
|
|
3946
|
+
return /* @__PURE__ */ jsx40(
|
|
3311
3947
|
TextInput,
|
|
3312
3948
|
{
|
|
3313
3949
|
...rest,
|
|
@@ -3322,9 +3958,9 @@ var WebsiteInput = (props) => {
|
|
|
3322
3958
|
WebsiteInput.displayName = "WebsiteInput";
|
|
3323
3959
|
|
|
3324
3960
|
// src/components/Feedback/Popover.tsx
|
|
3325
|
-
import * as
|
|
3961
|
+
import * as React39 from "react";
|
|
3326
3962
|
import * as PopoverPrimitive2 from "@radix-ui/react-popover";
|
|
3327
|
-
import { jsx as
|
|
3963
|
+
import { jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3328
3964
|
var PopoverArrow = PopoverPrimitive2.Arrow;
|
|
3329
3965
|
var Popover2 = (props) => {
|
|
3330
3966
|
const {
|
|
@@ -3341,7 +3977,7 @@ var Popover2 = (props) => {
|
|
|
3341
3977
|
offset = 10,
|
|
3342
3978
|
children
|
|
3343
3979
|
} = props;
|
|
3344
|
-
const [open, setOpen] =
|
|
3980
|
+
const [open, setOpen] = React39.useState(false);
|
|
3345
3981
|
const handleCancel = () => {
|
|
3346
3982
|
onCancel?.();
|
|
3347
3983
|
setOpen(false);
|
|
@@ -3383,9 +4019,9 @@ var Popover2 = (props) => {
|
|
|
3383
4019
|
}
|
|
3384
4020
|
};
|
|
3385
4021
|
const { side, align } = mapPlacementToSideAndAlign2(placement);
|
|
3386
|
-
return /* @__PURE__ */
|
|
3387
|
-
/* @__PURE__ */
|
|
3388
|
-
/* @__PURE__ */
|
|
4022
|
+
return /* @__PURE__ */ jsxs29(Popover, { open, onOpenChange: setOpen, children: [
|
|
4023
|
+
/* @__PURE__ */ jsx41(PopoverTrigger, { asChild: true, children }),
|
|
4024
|
+
/* @__PURE__ */ jsxs29(
|
|
3389
4025
|
PopoverContent,
|
|
3390
4026
|
{
|
|
3391
4027
|
side,
|
|
@@ -3393,16 +4029,16 @@ var Popover2 = (props) => {
|
|
|
3393
4029
|
sideOffset: offset,
|
|
3394
4030
|
className: cn(popoverClasses, className),
|
|
3395
4031
|
children: [
|
|
3396
|
-
showArrow && /* @__PURE__ */
|
|
3397
|
-
/* @__PURE__ */
|
|
3398
|
-
/* @__PURE__ */
|
|
3399
|
-
/* @__PURE__ */
|
|
3400
|
-
/* @__PURE__ */
|
|
3401
|
-
/* @__PURE__ */
|
|
4032
|
+
showArrow && /* @__PURE__ */ jsx41(PopoverArrow, { className: popoverArrowClasses }),
|
|
4033
|
+
/* @__PURE__ */ jsxs29("div", { className: "grid gap-4", children: [
|
|
4034
|
+
/* @__PURE__ */ jsxs29("div", { className: "space-y-2", children: [
|
|
4035
|
+
/* @__PURE__ */ jsx41("span", { className: "caption text-secondary", children: strapline }),
|
|
4036
|
+
/* @__PURE__ */ jsx41("h4", { className: "subtitle-medium text-primary", children: title }),
|
|
4037
|
+
/* @__PURE__ */ jsx41("p", { className: "paragraph-sm text-primary", children: description })
|
|
3402
4038
|
] }),
|
|
3403
|
-
/* @__PURE__ */
|
|
3404
|
-
/* @__PURE__ */
|
|
3405
|
-
/* @__PURE__ */
|
|
4039
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex justify-start items-center gap-4 flex-wrap", children: [
|
|
4040
|
+
/* @__PURE__ */ jsx41(Button, { size: "sm", variant: "secondary", onClick: handleCancel, children: cancelText || "Cancel" }),
|
|
4041
|
+
/* @__PURE__ */ jsx41(Button, { size: "sm", variant: "primary", onClick: handleOk, children: okText || "Ok" })
|
|
3406
4042
|
] })
|
|
3407
4043
|
] })
|
|
3408
4044
|
]
|
|
@@ -3415,7 +4051,7 @@ Popover2.displayName = "Popover";
|
|
|
3415
4051
|
// src/components/Feedback/Tooltip.tsx
|
|
3416
4052
|
import "react";
|
|
3417
4053
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
3418
|
-
import { jsx as
|
|
4054
|
+
import { jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3419
4055
|
var TooltipArrow = TooltipPrimitive.Arrow;
|
|
3420
4056
|
var mapPlacementToSideAndAlign = (placement) => {
|
|
3421
4057
|
switch (placement) {
|
|
@@ -3465,7 +4101,7 @@ var Tooltip = (props) => {
|
|
|
3465
4101
|
const { side, align } = mapPlacementToSideAndAlign(placement);
|
|
3466
4102
|
const tooltipClasses = "group bg-(--background-popover) max-w-[calc(100vw-2rem)] shadow-card-md border-none rounded-4 p-4 [&>span]:scale-200 data-[state=delayed-open]:animate-in data-[state=instant-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=instant-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-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";
|
|
3467
4103
|
const tooltipArrowClasses = "relative fill-(--background-popover) transition-[filter,transform] group-data-[side=top]:top-[-2px] group-data-[side=top]:drop-shadow-[0px_1px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=bottom]:drop-shadow-[0px_1px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=left]:drop-shadow-[0px_2px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)] group-data-[side=right]:drop-shadow-[0px_2px_1px_color-mix(in_srgb,_var(--color-b-black-10)_66%,_transparent)]";
|
|
3468
|
-
return /* @__PURE__ */
|
|
4104
|
+
return /* @__PURE__ */ jsxs30(
|
|
3469
4105
|
TooltipPrimitive.Root,
|
|
3470
4106
|
{
|
|
3471
4107
|
open,
|
|
@@ -3473,8 +4109,8 @@ var Tooltip = (props) => {
|
|
|
3473
4109
|
onOpenChange,
|
|
3474
4110
|
disableHoverableContent,
|
|
3475
4111
|
children: [
|
|
3476
|
-
/* @__PURE__ */
|
|
3477
|
-
/* @__PURE__ */
|
|
4112
|
+
/* @__PURE__ */ jsx42(TooltipPrimitive.Trigger, { asChild: true, children }),
|
|
4113
|
+
/* @__PURE__ */ jsx42(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs30(
|
|
3478
4114
|
TooltipPrimitive.Content,
|
|
3479
4115
|
{
|
|
3480
4116
|
side,
|
|
@@ -3482,11 +4118,11 @@ var Tooltip = (props) => {
|
|
|
3482
4118
|
sideOffset: offset,
|
|
3483
4119
|
className: cn(tooltipClasses, className),
|
|
3484
4120
|
children: [
|
|
3485
|
-
showArrow && /* @__PURE__ */
|
|
3486
|
-
/* @__PURE__ */
|
|
3487
|
-
(strapline ?? "") !== "" && /* @__PURE__ */
|
|
3488
|
-
/* @__PURE__ */
|
|
3489
|
-
(description ?? "") !== "" && /* @__PURE__ */
|
|
4121
|
+
showArrow && /* @__PURE__ */ jsx42(TooltipArrow, { className: tooltipArrowClasses }),
|
|
4122
|
+
/* @__PURE__ */ jsxs30("div", { className: "grid gap-2", children: [
|
|
4123
|
+
(strapline ?? "") !== "" && /* @__PURE__ */ jsx42("span", { className: "caption text-secondary", children: strapline }),
|
|
4124
|
+
/* @__PURE__ */ jsx42("h4", { className: "subtitle-medium text-primary", children: title }),
|
|
4125
|
+
(description ?? "") !== "" && /* @__PURE__ */ jsx42("p", { className: "paragraph-sm text-primary", children: description })
|
|
3490
4126
|
] })
|
|
3491
4127
|
]
|
|
3492
4128
|
}
|
|
@@ -3500,7 +4136,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
3500
4136
|
// src/components/Feedback/TooltipProvider.tsx
|
|
3501
4137
|
import "react";
|
|
3502
4138
|
import * as TooltipPrimitive2 from "@radix-ui/react-tooltip";
|
|
3503
|
-
import { jsx as
|
|
4139
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
3504
4140
|
var TooltipProvider = (props) => {
|
|
3505
4141
|
const {
|
|
3506
4142
|
children,
|
|
@@ -3508,7 +4144,7 @@ var TooltipProvider = (props) => {
|
|
|
3508
4144
|
skipDelayDuration = 300,
|
|
3509
4145
|
disableHoverableContent = false
|
|
3510
4146
|
} = props;
|
|
3511
|
-
return /* @__PURE__ */
|
|
4147
|
+
return /* @__PURE__ */ jsx43(
|
|
3512
4148
|
TooltipPrimitive2.Provider,
|
|
3513
4149
|
{
|
|
3514
4150
|
delayDuration,
|
|
@@ -3521,19 +4157,19 @@ var TooltipProvider = (props) => {
|
|
|
3521
4157
|
TooltipProvider.displayName = "TooltipProvider";
|
|
3522
4158
|
|
|
3523
4159
|
// src/components/Navigation/Breadcrumbs.tsx
|
|
3524
|
-
import * as
|
|
4160
|
+
import * as React43 from "react";
|
|
3525
4161
|
|
|
3526
4162
|
// src/components/ui/breadcrumb.tsx
|
|
3527
4163
|
import "react";
|
|
3528
4164
|
import { Slot as Slot8 } from "@radix-ui/react-slot";
|
|
3529
|
-
import { jsx as
|
|
4165
|
+
import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3530
4166
|
var breadcrumbItemClasses = "h6-title inline-flex items-center gap-1.5 text-(--color-secondary) hover:text-(--color-primary-hover) focus-within:text-(--color-secondary-focus) [&_[aria-current=page]]:font-medium [&_[aria-current=page]]:text-primary";
|
|
3531
4167
|
var disabledItemClasses = "text-primary-disabled cursor-default pointer-events-none";
|
|
3532
4168
|
function Breadcrumb({ ...props }) {
|
|
3533
|
-
return /* @__PURE__ */
|
|
4169
|
+
return /* @__PURE__ */ jsx44("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
3534
4170
|
}
|
|
3535
4171
|
function BreadcrumbList({ className, ...props }) {
|
|
3536
|
-
return /* @__PURE__ */
|
|
4172
|
+
return /* @__PURE__ */ jsx44(
|
|
3537
4173
|
"ol",
|
|
3538
4174
|
{
|
|
3539
4175
|
"data-slot": "breadcrumb-list",
|
|
@@ -3546,7 +4182,7 @@ function BreadcrumbList({ className, ...props }) {
|
|
|
3546
4182
|
);
|
|
3547
4183
|
}
|
|
3548
4184
|
function BreadcrumbItem({ className, disabled, ...props }) {
|
|
3549
|
-
return /* @__PURE__ */
|
|
4185
|
+
return /* @__PURE__ */ jsx44(
|
|
3550
4186
|
"li",
|
|
3551
4187
|
{
|
|
3552
4188
|
"data-slot": "breadcrumb-item",
|
|
@@ -3557,7 +4193,7 @@ function BreadcrumbItem({ className, disabled, ...props }) {
|
|
|
3557
4193
|
);
|
|
3558
4194
|
}
|
|
3559
4195
|
function BreadcrumbPage({ className, ...props }) {
|
|
3560
|
-
return /* @__PURE__ */
|
|
4196
|
+
return /* @__PURE__ */ jsx44(
|
|
3561
4197
|
"span",
|
|
3562
4198
|
{
|
|
3563
4199
|
"data-slot": "breadcrumb-page",
|
|
@@ -3574,7 +4210,7 @@ function BreadcrumbSeparator({
|
|
|
3574
4210
|
className,
|
|
3575
4211
|
...props
|
|
3576
4212
|
}) {
|
|
3577
|
-
return /* @__PURE__ */
|
|
4213
|
+
return /* @__PURE__ */ jsx44(
|
|
3578
4214
|
"li",
|
|
3579
4215
|
{
|
|
3580
4216
|
"data-slot": "breadcrumb-separator",
|
|
@@ -3582,7 +4218,7 @@ function BreadcrumbSeparator({
|
|
|
3582
4218
|
"aria-hidden": "true",
|
|
3583
4219
|
className: cn("[&>svg]:size-6 [&>svg]:text-(--color-secondary)", className),
|
|
3584
4220
|
...props,
|
|
3585
|
-
children: children ?? /* @__PURE__ */
|
|
4221
|
+
children: children ?? /* @__PURE__ */ jsx44(ChevronRight, {})
|
|
3586
4222
|
}
|
|
3587
4223
|
);
|
|
3588
4224
|
}
|
|
@@ -3590,7 +4226,7 @@ function BreadcrumbEllipsis({
|
|
|
3590
4226
|
className,
|
|
3591
4227
|
...props
|
|
3592
4228
|
}) {
|
|
3593
|
-
return /* @__PURE__ */
|
|
4229
|
+
return /* @__PURE__ */ jsxs31(
|
|
3594
4230
|
"span",
|
|
3595
4231
|
{
|
|
3596
4232
|
"data-slot": "breadcrumb-ellipsis",
|
|
@@ -3599,112 +4235,48 @@ function BreadcrumbEllipsis({
|
|
|
3599
4235
|
className: cn("flex size-9 items-center justify-center", className),
|
|
3600
4236
|
...props,
|
|
3601
4237
|
children: [
|
|
3602
|
-
/* @__PURE__ */
|
|
3603
|
-
/* @__PURE__ */
|
|
4238
|
+
/* @__PURE__ */ jsx44(Ellipsis, { className: "size-4" }),
|
|
4239
|
+
/* @__PURE__ */ jsx44("span", { className: "sr-only", children: "More" })
|
|
3604
4240
|
]
|
|
3605
4241
|
}
|
|
3606
4242
|
);
|
|
3607
4243
|
}
|
|
3608
4244
|
|
|
3609
|
-
// src/components/ui/dropdown-menu.tsx
|
|
3610
|
-
import "react";
|
|
3611
|
-
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
3612
|
-
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3613
|
-
function DropdownMenu({
|
|
3614
|
-
...props
|
|
3615
|
-
}) {
|
|
3616
|
-
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
3617
|
-
}
|
|
3618
|
-
function DropdownMenuTrigger({
|
|
3619
|
-
...props
|
|
3620
|
-
}) {
|
|
3621
|
-
return /* @__PURE__ */ jsx41(
|
|
3622
|
-
DropdownMenuPrimitive.Trigger,
|
|
3623
|
-
{
|
|
3624
|
-
"data-slot": "dropdown-menu-trigger",
|
|
3625
|
-
...props
|
|
3626
|
-
}
|
|
3627
|
-
);
|
|
3628
|
-
}
|
|
3629
|
-
function DropdownMenuContent({
|
|
3630
|
-
className,
|
|
3631
|
-
sideOffset = 4,
|
|
3632
|
-
...props
|
|
3633
|
-
}) {
|
|
3634
|
-
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
3635
|
-
DropdownMenuPrimitive.Content,
|
|
3636
|
-
{
|
|
3637
|
-
"data-slot": "dropdown-menu-content",
|
|
3638
|
-
sideOffset,
|
|
3639
|
-
className: cn(
|
|
3640
|
-
"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 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
3641
|
-
className
|
|
3642
|
-
),
|
|
3643
|
-
...props
|
|
3644
|
-
}
|
|
3645
|
-
) });
|
|
3646
|
-
}
|
|
3647
|
-
function DropdownMenuGroup({
|
|
3648
|
-
...props
|
|
3649
|
-
}) {
|
|
3650
|
-
return /* @__PURE__ */ jsx41(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
3651
|
-
}
|
|
3652
|
-
function DropdownMenuItem({
|
|
3653
|
-
className,
|
|
3654
|
-
inset,
|
|
3655
|
-
variant = "default",
|
|
3656
|
-
...props
|
|
3657
|
-
}) {
|
|
3658
|
-
return /* @__PURE__ */ jsx41(
|
|
3659
|
-
DropdownMenuPrimitive.Item,
|
|
3660
|
-
{
|
|
3661
|
-
"data-slot": "dropdown-menu-item",
|
|
3662
|
-
"data-inset": inset,
|
|
3663
|
-
"data-variant": variant,
|
|
3664
|
-
className: cn(
|
|
3665
|
-
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3666
|
-
className
|
|
3667
|
-
),
|
|
3668
|
-
...props
|
|
3669
|
-
}
|
|
3670
|
-
);
|
|
3671
|
-
}
|
|
3672
|
-
|
|
3673
4245
|
// src/components/Navigation/Breadcrumbs.tsx
|
|
3674
|
-
import { jsx as
|
|
4246
|
+
import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3675
4247
|
var breadcrumbSeparatorVariants = "size-5 relative bottom-1 [&>svg]:text-secondary group-disabled:text-secondary";
|
|
3676
4248
|
var breadcrumbItemBase = "h6-title text-secondary hover:text-primary-hover";
|
|
3677
|
-
var Breadcrumbs =
|
|
4249
|
+
var Breadcrumbs = React43.forwardRef(
|
|
3678
4250
|
(props, ref) => {
|
|
3679
4251
|
const { separator, ellipsis, children, className, ...rest } = props;
|
|
3680
|
-
const items =
|
|
4252
|
+
const items = React43.Children.toArray(children).filter(Boolean);
|
|
3681
4253
|
const shouldCollapse = Boolean(ellipsis) && items.length >= 5;
|
|
3682
4254
|
const hiddenItems = shouldCollapse ? items.slice(1, -2) : [];
|
|
3683
4255
|
const displayItems = shouldCollapse ? [items[0], "__ELLIPSIS__", items[items.length - 2], items[items.length - 1]] : items;
|
|
3684
|
-
return /* @__PURE__ */
|
|
4256
|
+
return /* @__PURE__ */ jsx45(Breadcrumb, { ref, className, ...rest, children: /* @__PURE__ */ jsx45(BreadcrumbList, { children: displayItems.map((child, index) => {
|
|
3685
4257
|
const isEllipsis = child === "__ELLIPSIS__";
|
|
3686
|
-
const key = isEllipsis ? "__ellipsis" :
|
|
4258
|
+
const key = isEllipsis ? "__ellipsis" : React43.isValidElement(child) && child.key != null ? String(child.key) : String(index);
|
|
3687
4259
|
const isLast = index === displayItems.length - 1;
|
|
3688
|
-
return /* @__PURE__ */
|
|
3689
|
-
isEllipsis ? /* @__PURE__ */
|
|
3690
|
-
/* @__PURE__ */
|
|
4260
|
+
return /* @__PURE__ */ jsxs32(React43.Fragment, { children: [
|
|
4261
|
+
isEllipsis ? /* @__PURE__ */ jsx45(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ jsxs32(DropdownMenu, { children: [
|
|
4262
|
+
/* @__PURE__ */ jsx45(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx45(
|
|
3691
4263
|
"button",
|
|
3692
4264
|
{
|
|
3693
4265
|
type: "button",
|
|
3694
4266
|
className: "inline-flex size-8 items-center justify-center rounded-4 hover:bg-(--background-secondary) focus-ring-primary text-secondary",
|
|
3695
4267
|
"aria-label": "Open breadcrumb menu",
|
|
3696
|
-
children: /* @__PURE__ */
|
|
4268
|
+
children: /* @__PURE__ */ jsx45(BreadcrumbEllipsis, {})
|
|
3697
4269
|
}
|
|
3698
4270
|
) }),
|
|
3699
|
-
/* @__PURE__ */
|
|
4271
|
+
/* @__PURE__ */ jsx45(
|
|
3700
4272
|
DropdownMenuContent,
|
|
3701
4273
|
{
|
|
3702
4274
|
align: "start",
|
|
3703
4275
|
className: "bg-(--background-neutral) border-(--border-secondary-hover) shadow-card-md rounded-4",
|
|
3704
|
-
children: /* @__PURE__ */
|
|
3705
|
-
const hiddenKey =
|
|
3706
|
-
if (
|
|
3707
|
-
return /* @__PURE__ */
|
|
4276
|
+
children: /* @__PURE__ */ jsx45(DropdownMenuGroup, { children: hiddenItems.map((hidden, hiddenIndex) => {
|
|
4277
|
+
const hiddenKey = React43.isValidElement(hidden) && hidden.key != null ? String(hidden.key) : `hidden-${hiddenIndex}`;
|
|
4278
|
+
if (React43.isValidElement(hidden)) {
|
|
4279
|
+
return /* @__PURE__ */ jsx45(
|
|
3708
4280
|
DropdownMenuItem,
|
|
3709
4281
|
{
|
|
3710
4282
|
asChild: true,
|
|
@@ -3714,7 +4286,7 @@ var Breadcrumbs = React40.forwardRef(
|
|
|
3714
4286
|
hiddenKey
|
|
3715
4287
|
);
|
|
3716
4288
|
}
|
|
3717
|
-
return /* @__PURE__ */
|
|
4289
|
+
return /* @__PURE__ */ jsx45(
|
|
3718
4290
|
DropdownMenuItem,
|
|
3719
4291
|
{
|
|
3720
4292
|
className: "cursor-pointer paragraph-md text-primary focus:bg-(--background-secondary)",
|
|
@@ -3725,14 +4297,14 @@ var Breadcrumbs = React40.forwardRef(
|
|
|
3725
4297
|
}) })
|
|
3726
4298
|
}
|
|
3727
4299
|
)
|
|
3728
|
-
] }) }) : isLast ? /* @__PURE__ */
|
|
4300
|
+
] }) }) : isLast ? /* @__PURE__ */ jsx45(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: /* @__PURE__ */ jsx45(
|
|
3729
4301
|
BreadcrumbPage,
|
|
3730
4302
|
{
|
|
3731
4303
|
className: cn("h6-title-medium cursor-pointer", props.breadcrumbPageClassName),
|
|
3732
4304
|
children: child
|
|
3733
4305
|
}
|
|
3734
|
-
) }) : /* @__PURE__ */
|
|
3735
|
-
!isLast && /* @__PURE__ */
|
|
4306
|
+
) }) : /* @__PURE__ */ jsx45(BreadcrumbItem, { className: cn(breadcrumbItemBase, props.breadcrumbItemClassName), children: child }),
|
|
4307
|
+
!isLast && /* @__PURE__ */ jsx45(BreadcrumbSeparator, { className: cn(breadcrumbSeparatorVariants, props.separatorClassName), children: separator })
|
|
3736
4308
|
] }, key);
|
|
3737
4309
|
}) }) });
|
|
3738
4310
|
}
|
|
@@ -3740,16 +4312,16 @@ var Breadcrumbs = React40.forwardRef(
|
|
|
3740
4312
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
3741
4313
|
|
|
3742
4314
|
// src/components/Logo/LogoIcon.tsx
|
|
3743
|
-
import { cva as
|
|
3744
|
-
import { jsx as
|
|
3745
|
-
var LogoIconSvg = (props) => /* @__PURE__ */
|
|
3746
|
-
/* @__PURE__ */
|
|
3747
|
-
/* @__PURE__ */
|
|
3748
|
-
/* @__PURE__ */
|
|
3749
|
-
/* @__PURE__ */
|
|
3750
|
-
/* @__PURE__ */
|
|
4315
|
+
import { cva as cva21 } from "class-variance-authority";
|
|
4316
|
+
import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4317
|
+
var LogoIconSvg = (props) => /* @__PURE__ */ jsxs33("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
4318
|
+
/* @__PURE__ */ jsx46("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M83.7156 3.88535C78.5352 -1.29512 70.136 -1.29512 64.9555 3.88535L43.9999 24.8409L43.9995 24.8405L62.3536 6.48637C52.2379 16.5949 35.8584 16.6179 25.7142 6.55523L23.4434 4.28438C18.2629 -0.896082 9.86373 -0.89608 4.68327 4.28438C-0.497191 9.46484 -0.49719 17.864 4.68327 23.0445L6.88526 25.2465C17.0191 35.3875 17.0168 51.8235 6.87859 61.9618L25.2395 43.6008L25.2398 43.601L3.88534 64.9555C-1.29512 70.136 -1.29511 78.5351 3.88535 83.7156C9.06581 88.8961 17.465 88.8961 22.6455 83.7156L25.6458 80.7151L25.6864 80.6747C35.7981 70.6137 52.1313 70.597 62.2636 80.6248L65.7534 84.1146C70.9339 89.2951 79.3331 89.2951 84.5135 84.1146C89.694 78.9342 89.694 70.535 84.5135 65.3545L62.76 43.601L62.7602 43.6009L81.1144 61.9552C70.9806 51.8142 70.9829 35.3782 81.1211 25.24L83.7156 22.6455C88.8961 17.465 88.8961 9.06581 83.7156 3.88535Z", fill: "#1685FF" }),
|
|
4319
|
+
/* @__PURE__ */ jsx46("path", { d: "M44.0667 50.4863C44.1213 50.4317 44.21 50.4317 44.2646 50.4863L48.6465 54.8682C48.6942 54.9158 48.7011 54.9907 48.663 55.0463L44.2812 61.4453C44.2256 61.5265 44.1057 61.5265 44.0501 61.4453L39.6683 55.0463C39.6302 54.9907 39.6371 54.9158 39.6848 54.8682L44.0667 50.4863Z", fill: "white" }),
|
|
4320
|
+
/* @__PURE__ */ jsx46("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M44.107 45.3938C44.0536 45.289 43.9013 45.289 43.8479 45.3938C41.8622 49.293 37.8104 51.9638 33.1347 51.9638C26.4991 51.9638 21.1199 46.5846 21.1199 39.9489C21.1199 33.3133 26.4991 27.9341 33.1347 27.9341C37.8104 27.9341 41.8622 30.6049 43.8479 34.5041C43.9013 34.6089 44.0536 34.6089 44.107 34.5041C46.0926 30.6049 50.1445 27.9341 54.8201 27.9341C61.4558 27.9341 66.835 33.3133 66.835 39.9489C66.835 46.5846 61.4558 51.9638 54.8201 51.9638C50.1445 51.9638 46.0926 49.293 44.107 45.3938Z", fill: "white" }),
|
|
4321
|
+
/* @__PURE__ */ jsx46("path", { d: "M60.1113 40.0006C60.1113 43.052 57.6377 45.5256 54.5863 45.5256C51.535 45.5256 49.0614 43.052 49.0614 40.0006C49.0614 36.9493 51.535 34.4757 54.5863 34.4757C57.6377 34.4757 60.1113 36.9493 60.1113 40.0006Z", fill: "#1685FF" }),
|
|
4322
|
+
/* @__PURE__ */ jsx46("path", { d: "M38.8954 40.0006C38.8954 43.052 36.4218 45.5256 33.3705 45.5256C30.3192 45.5256 27.8456 43.052 27.8456 40.0006C27.8456 36.9493 30.3192 34.4757 33.3705 34.4757C36.4218 34.4757 38.8954 36.9493 38.8954 40.0006Z", fill: "#1685FF" })
|
|
3751
4323
|
] });
|
|
3752
|
-
var logoIconVariants =
|
|
4324
|
+
var logoIconVariants = cva21(
|
|
3753
4325
|
"relative bg-linear-to-t from-gray-800 to-gray-950 overflow-hidden flex justify-center items-center",
|
|
3754
4326
|
{
|
|
3755
4327
|
variants: {
|
|
@@ -3774,28 +4346,28 @@ var logoIconSizeClass = {
|
|
|
3774
4346
|
xl: "size-96"
|
|
3775
4347
|
};
|
|
3776
4348
|
var LogoIcon = ({ className, size = "md" }) => {
|
|
3777
|
-
return /* @__PURE__ */
|
|
4349
|
+
return /* @__PURE__ */ jsx46("div", { className: cn(logoIconVariants({ size }), className), children: /* @__PURE__ */ jsx46(LogoIconSvg, { className: logoIconSizeClass[size] }) });
|
|
3778
4350
|
};
|
|
3779
4351
|
|
|
3780
4352
|
// src/components/Logo/Logo.tsx
|
|
3781
|
-
import { cva as
|
|
3782
|
-
import { jsx as
|
|
3783
|
-
var LogoIconSvg2 = (props) => /* @__PURE__ */
|
|
3784
|
-
/* @__PURE__ */
|
|
3785
|
-
/* @__PURE__ */
|
|
3786
|
-
/* @__PURE__ */
|
|
3787
|
-
/* @__PURE__ */
|
|
3788
|
-
/* @__PURE__ */
|
|
4353
|
+
import { cva as cva22 } from "class-variance-authority";
|
|
4354
|
+
import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
4355
|
+
var LogoIconSvg2 = (props) => /* @__PURE__ */ jsxs34("svg", { width: "89", height: "88", viewBox: "0 0 89 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
4356
|
+
/* @__PURE__ */ jsx47("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M83.7156 3.88535C78.5352 -1.29512 70.136 -1.29512 64.9555 3.88535L43.9999 24.8409L43.9995 24.8405L62.3536 6.48637C52.2379 16.5949 35.8584 16.6179 25.7142 6.55523L23.4434 4.28438C18.2629 -0.896082 9.86373 -0.89608 4.68327 4.28438C-0.497191 9.46484 -0.49719 17.864 4.68327 23.0445L6.88526 25.2465C17.0191 35.3875 17.0168 51.8235 6.87859 61.9618L25.2395 43.6008L25.2398 43.601L3.88534 64.9555C-1.29512 70.136 -1.29511 78.5351 3.88535 83.7156C9.06581 88.8961 17.465 88.8961 22.6455 83.7156L25.6458 80.7151L25.6864 80.6747C35.7981 70.6137 52.1313 70.597 62.2636 80.6248L65.7534 84.1146C70.9339 89.2951 79.3331 89.2951 84.5135 84.1146C89.694 78.9342 89.694 70.535 84.5135 65.3545L62.76 43.601L62.7602 43.6009L81.1144 61.9552C70.9806 51.8142 70.9829 35.3782 81.1211 25.24L83.7156 22.6455C88.8961 17.465 88.8961 9.06581 83.7156 3.88535Z", fill: "#1685FF" }),
|
|
4357
|
+
/* @__PURE__ */ jsx47("path", { d: "M44.0667 50.4863C44.1213 50.4317 44.21 50.4317 44.2646 50.4863L48.6465 54.8682C48.6942 54.9158 48.7011 54.9907 48.663 55.0463L44.2812 61.4453C44.2256 61.5265 44.1057 61.5265 44.0501 61.4453L39.6683 55.0463C39.6302 54.9907 39.6371 54.9158 39.6848 54.8682L44.0667 50.4863Z", fill: "white" }),
|
|
4358
|
+
/* @__PURE__ */ jsx47("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M44.107 45.3938C44.0536 45.289 43.9013 45.289 43.8479 45.3938C41.8622 49.293 37.8104 51.9638 33.1347 51.9638C26.4991 51.9638 21.1199 46.5846 21.1199 39.9489C21.1199 33.3133 26.4991 27.9341 33.1347 27.9341C37.8104 27.9341 41.8622 30.6049 43.8479 34.5041C43.9013 34.6089 44.0536 34.6089 44.107 34.5041C46.0926 30.6049 50.1445 27.9341 54.8201 27.9341C61.4558 27.9341 66.835 33.3133 66.835 39.9489C66.835 46.5846 61.4558 51.9638 54.8201 51.9638C50.1445 51.9638 46.0926 49.293 44.107 45.3938Z", fill: "white" }),
|
|
4359
|
+
/* @__PURE__ */ jsx47("path", { d: "M60.1113 40.0006C60.1113 43.052 57.6377 45.5256 54.5863 45.5256C51.535 45.5256 49.0614 43.052 49.0614 40.0006C49.0614 36.9493 51.535 34.4757 54.5863 34.4757C57.6377 34.4757 60.1113 36.9493 60.1113 40.0006Z", fill: "#1685FF" }),
|
|
4360
|
+
/* @__PURE__ */ jsx47("path", { d: "M38.8954 40.0006C38.8954 43.052 36.4218 45.5256 33.3705 45.5256C30.3192 45.5256 27.8456 43.052 27.8456 40.0006C27.8456 36.9493 30.3192 34.4757 33.3705 34.4757C36.4218 34.4757 38.8954 36.9493 38.8954 40.0006Z", fill: "#1685FF" })
|
|
3789
4361
|
] });
|
|
3790
|
-
var LogoTextSvg = (props) => /* @__PURE__ */
|
|
3791
|
-
/* @__PURE__ */
|
|
3792
|
-
/* @__PURE__ */
|
|
3793
|
-
/* @__PURE__ */
|
|
3794
|
-
/* @__PURE__ */
|
|
3795
|
-
/* @__PURE__ */
|
|
3796
|
-
/* @__PURE__ */
|
|
4362
|
+
var LogoTextSvg = (props) => /* @__PURE__ */ jsxs34("svg", { width: "111", height: "32", viewBox: "0 0 111 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
4363
|
+
/* @__PURE__ */ jsx47("path", { d: "M72.7324 20.9658C72.7324 14.4559 77.4246 9.9751 83.8922 9.9751C90.3598 9.9751 95.052 14.4559 95.052 20.9658C95.052 27.4757 90.3598 31.9565 83.8922 31.9565C77.4246 31.9565 72.7324 27.4757 72.7324 20.9658ZM77.8896 20.9658C77.8896 24.7703 80.3414 27.3489 83.8922 27.3489C87.4431 27.3489 89.8948 24.7703 89.8948 20.9658C89.8948 17.1613 87.4431 14.5827 83.8922 14.5827C80.3414 14.5827 77.8896 17.1613 77.8896 20.9658Z", fill: "currentColor" }),
|
|
4364
|
+
/* @__PURE__ */ jsx47("path", { d: "M53.4056 31.4503H48.6289V0H53.7861V13.6116C55.1388 11.2866 57.9287 9.89163 61.0991 9.89163C67.0595 9.89163 70.6949 14.5415 70.6949 21.136C70.6949 27.5613 66.7636 31.9998 60.761 31.9998C57.6328 31.9998 54.9697 30.6049 53.7438 28.1954L53.4056 31.4503ZM53.8284 20.9246C53.8284 24.6868 56.1533 27.2654 59.7042 27.2654C63.3395 27.2654 65.4954 24.6445 65.4954 20.9246C65.4954 17.2047 63.3395 14.5415 59.7042 14.5415C56.1533 14.5415 53.8284 17.1624 53.8284 20.9246Z", fill: "currentColor" }),
|
|
4365
|
+
/* @__PURE__ */ jsx47("path", { d: "M38.9929 10.5681H44.15V31.4504H39.3733L38.9929 28.6605C37.7247 30.6473 35.0193 32 32.2293 32C27.4103 32 24.5781 28.745 24.5781 23.6301V10.5681H29.7353V21.8124C29.7353 25.786 31.2994 27.3923 34.1739 27.3923C37.4288 27.3923 38.9929 25.4901 38.9929 21.5165V10.5681Z", fill: "currentColor" }),
|
|
4366
|
+
/* @__PURE__ */ jsx47("path", { d: "M4.77673 31.4503H0V0H5.15718V13.6116C6.50988 11.2866 9.29983 9.89163 12.4702 9.89163C18.4306 9.89163 22.066 14.5415 22.066 21.136C22.066 27.5613 18.1347 31.9998 12.132 31.9998C9.00392 31.9998 6.34079 30.6049 5.1149 28.1954L4.77673 31.4503ZM5.19945 20.9246C5.19945 24.6868 7.52441 27.2654 11.0752 27.2654C14.7106 27.2654 16.8665 24.6445 16.8665 20.9246C16.8665 17.2047 14.7106 14.5415 11.0752 14.5415C7.52441 14.5415 5.19945 17.1624 5.19945 20.9246Z", fill: "currentColor" }),
|
|
4367
|
+
/* @__PURE__ */ jsx47("path", { d: "M103.555 0.5C107.084 0.5 109.944 3.36029 109.944 6.88867C109.944 10.4172 107.084 13.2773 103.555 13.2773C100.027 13.2772 97.1667 10.4171 97.1667 6.88867C97.1669 3.36036 100.027 0.500118 103.555 0.5Z", stroke: "currentColor" }),
|
|
4368
|
+
/* @__PURE__ */ jsx47("path", { d: "M105.778 9.98355L101.687 10.0001V9.00978L103.578 7.33457C104.19 6.79817 104.445 6.41856 104.445 5.91517C104.445 5.29625 104.159 4.96616 103.647 4.96616C103.113 4.96616 102.803 5.35402 102.803 6.03896H101.556C101.556 4.66908 102.377 3.77783 103.64 3.77783C104.949 3.77783 105.731 4.52879 105.731 5.83265C105.731 6.66613 105.259 7.34282 104.546 7.97825L103.686 8.74571H105.778V9.98355Z", fill: "currentColor" })
|
|
3797
4369
|
] });
|
|
3798
|
-
var logoWrapperVariants =
|
|
4370
|
+
var logoWrapperVariants = cva22("inline-flex", {
|
|
3799
4371
|
variants: {
|
|
3800
4372
|
variant: {
|
|
3801
4373
|
inline: ["w-44", "h-12", "justify-start", "items-center", "gap-4"],
|
|
@@ -3807,7 +4379,7 @@ var logoWrapperVariants = cva20("inline-flex", {
|
|
|
3807
4379
|
variant: "inline"
|
|
3808
4380
|
}
|
|
3809
4381
|
});
|
|
3810
|
-
var logoIconSizeVariants =
|
|
4382
|
+
var logoIconSizeVariants = cva22("", {
|
|
3811
4383
|
variants: {
|
|
3812
4384
|
variant: {
|
|
3813
4385
|
inline: "size-12",
|
|
@@ -3819,7 +4391,7 @@ var logoIconSizeVariants = cva20("", {
|
|
|
3819
4391
|
variant: "inline"
|
|
3820
4392
|
}
|
|
3821
4393
|
});
|
|
3822
|
-
var logoTextSizeVariants =
|
|
4394
|
+
var logoTextSizeVariants = cva22("", {
|
|
3823
4395
|
variants: {
|
|
3824
4396
|
variant: {
|
|
3825
4397
|
inline: "h-8 w-27.5",
|
|
@@ -3833,12 +4405,14 @@ var logoTextSizeVariants = cva20("", {
|
|
|
3833
4405
|
});
|
|
3834
4406
|
var Logo = ({ className, textColor, variant = "inline" }) => {
|
|
3835
4407
|
const textColorClass = textColor === "light" ? "text-(--color-b-white)" : textColor === "dark" ? "text-(--color-b-black)" : "text-primary";
|
|
3836
|
-
return /* @__PURE__ */
|
|
3837
|
-
/* @__PURE__ */
|
|
3838
|
-
/* @__PURE__ */
|
|
4408
|
+
return /* @__PURE__ */ jsxs34("div", { className: cn(logoWrapperVariants({ variant }), className), children: [
|
|
4409
|
+
/* @__PURE__ */ jsx47(LogoIconSvg2, { className: logoIconSizeVariants({ variant }) }),
|
|
4410
|
+
/* @__PURE__ */ jsx47(LogoTextSvg, { className: cn(logoTextSizeVariants({ variant }), textColorClass) })
|
|
3839
4411
|
] });
|
|
3840
4412
|
};
|
|
3841
4413
|
export {
|
|
4414
|
+
Accordion,
|
|
4415
|
+
Autocomplete,
|
|
3842
4416
|
Avatar,
|
|
3843
4417
|
Badge,
|
|
3844
4418
|
BadgeDigit,
|
|
@@ -3855,6 +4429,16 @@ export {
|
|
|
3855
4429
|
LinkButton,
|
|
3856
4430
|
Logo,
|
|
3857
4431
|
LogoIcon,
|
|
4432
|
+
Menu,
|
|
4433
|
+
MenuGroup,
|
|
4434
|
+
MenuItem,
|
|
4435
|
+
MenuLabel,
|
|
4436
|
+
MenuPortal,
|
|
4437
|
+
MenuSeparator,
|
|
4438
|
+
MenuShortcut,
|
|
4439
|
+
MenuSub,
|
|
4440
|
+
MenuSubContent,
|
|
4441
|
+
MenuSubTrigger,
|
|
3858
4442
|
MessageButton,
|
|
3859
4443
|
PasswordInput,
|
|
3860
4444
|
PhoneInput,
|