@refinn/core-ui 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -465,78 +465,216 @@ var Badge = forwardRef4(
465
465
  );
466
466
  Badge.displayName = "Badge";
467
467
 
468
- // src/components/Button/Button.tsx
469
- import { forwardRef as forwardRef5 } from "react";
468
+ // src/components/Branding/Branding.tsx
469
+ import {
470
+ forwardRef as forwardRef5
471
+ } from "react";
470
472
  import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
473
+ var Branding = forwardRef5(
474
+ (_a, ref) => {
475
+ var _b = _a, { type = "brand", className = "" } = _b, rest = __objRest(_b, ["type", "className"]);
476
+ return /* @__PURE__ */ jsx5(
477
+ "div",
478
+ __spreadProps(__spreadValues({
479
+ ref,
480
+ className: `${type === "black" ? "text-gray-900" : type === "white" ? "text-white-100" : "text-blue-600"} ${className}`
481
+ }, rest), {
482
+ children: /* @__PURE__ */ jsxs5(
483
+ "svg",
484
+ {
485
+ xmlns: "http://www.w3.org/2000/svg",
486
+ width: "89",
487
+ height: "20",
488
+ viewBox: "0 0 89 20",
489
+ fill: "currentColor",
490
+ children: [
491
+ /* @__PURE__ */ jsxs5("g", { "clip-path": "url(#clip0_828_998)", children: [
492
+ /* @__PURE__ */ jsx5(
493
+ "path",
494
+ {
495
+ "fill-rule": "evenodd",
496
+ "clip-rule": "evenodd",
497
+ d: "M16.7368 16.8241H16.7425L12.5943 11.7367C14.2529 11.1183 16.1138 9.64704 16.1138 6.12635C16.1138 -0.239164 10.023 0.0275032 10.0092 0.0275032H1.92874C1.91035 0.0275032 1.89311 0.0275032 1.87587 0.0275032C1.37851 0.0275032 0.901524 0.225077 0.549839 0.576762C0.198155 0.928447 0.000580351 1.40543 0.000580351 1.90279C0.000580351 2.40015 0.198155 2.87713 0.549839 3.22882C0.901524 3.5805 1.37851 3.77808 1.87587 3.77808C1.89426 3.77808 1.9115 3.77808 1.92874 3.77808H10.1149C10.7376 3.79195 11.3292 4.0526 11.7597 4.50268C12.1902 4.95277 12.4242 5.55543 12.4103 6.17808C12.3965 6.80073 12.1358 7.39236 11.6857 7.82284C11.2357 8.25331 10.633 8.48735 10.0103 8.47348H1.88621H1.87472C1.62814 8.47348 1.38398 8.52212 1.15623 8.61662C0.928482 8.71112 0.721611 8.84963 0.547468 9.0242C0.373325 9.19877 0.23533 9.40598 0.141388 9.63396C0.0474455 9.86194 -0.00059909 10.1062 5.6384e-06 10.3528C5.6384e-06 10.3528 5.6384e-06 10.3631 5.6384e-06 10.3677V17.9746C0.0121171 18.4636 0.214886 18.9286 0.565035 19.2701C0.915184 19.6117 1.38498 19.8029 1.87414 19.8029C2.36331 19.8029 2.8331 19.6117 3.18325 19.2701C3.5334 18.9286 3.73617 18.4636 3.74828 17.9746V12.1631H8.14943L13.8149 19.1643L13.8218 19.1585C14.1314 19.5449 14.5818 19.7925 15.0739 19.8468C15.566 19.9012 16.0596 19.7578 16.446 19.4482C16.8324 19.1386 17.08 18.6882 17.1343 18.1961C17.1886 17.704 17.0452 17.2104 16.7356 16.8241H16.7368Z",
498
+ fill: "currentColor"
499
+ }
500
+ ),
501
+ /* @__PURE__ */ jsx5(
502
+ "path",
503
+ {
504
+ d: "M30.3851 15.1575C31.5816 13.5 34.0989 15.2805 32.9023 16.9379C31.9828 18.1966 30.3241 19.854 27.2241 19.823C23.6241 19.823 20.5575 16.7195 20.4736 12.6379C20.4671 12.5169 20.4671 12.3957 20.4736 12.2747C20.5621 8.18966 23.6241 5.08966 27.1931 5.08966H27.2241C30.815 5.08966 33.977 8.28162 33.977 12.4563C33.979 12.6584 33.9407 12.8588 33.8643 13.0459C33.7879 13.233 33.6749 13.4029 33.532 13.5458C33.3891 13.6887 33.2192 13.8017 33.0321 13.8781C32.845 13.9545 32.6446 13.9928 32.4425 13.9908H23.7851C24.3046 15.5667 25.6023 16.7494 27.223 16.7494H27.254C28.9736 16.7816 29.8943 15.8621 30.3851 15.1575ZM23.7851 10.9195H30.9115C30.9115 10.1828 29.346 8.16093 27.2333 8.16093C25.6023 8.16093 24.3046 9.34598 23.7851 10.9195Z",
505
+ fill: "currentColor"
506
+ }
507
+ ),
508
+ /* @__PURE__ */ jsx5(
509
+ "path",
510
+ {
511
+ "fill-rule": "evenodd",
512
+ "clip-rule": "evenodd",
513
+ d: "M44.1379 5.09414H41.4805V4.56196C41.4808 4.16209 41.6398 3.77869 41.9225 3.49595C42.2052 3.2132 42.5886 3.05422 42.9885 3.05391H43.9977C44.398 3.05391 44.7818 2.89491 45.0649 2.61188C45.3479 2.32885 45.5069 1.94498 45.5069 1.54472C45.5069 1.14445 45.3479 0.760585 45.0649 0.477556C44.7818 0.194527 44.398 0.0355225 43.9977 0.0355225H41.9713V0.0435684C41.0274 0.0827094 40.1351 0.485118 39.4809 1.1667C38.8268 1.84829 38.4613 2.75632 38.4609 3.70104V5.08955H37.7402C37.3897 5.08955 37.0534 5.22881 36.8056 5.4767C36.5577 5.7246 36.4184 6.06081 36.4184 6.41138C36.4184 6.76196 36.5577 7.09817 36.8056 7.34607C37.0534 7.59396 37.3897 7.73322 37.7402 7.73322H38.4609V18.4229H38.4713C38.4925 18.806 38.6597 19.1665 38.9384 19.4303C39.2172 19.694 39.5864 19.841 39.9701 19.841C40.3539 19.841 40.7231 19.694 41.0018 19.4303C41.2806 19.1665 41.4477 18.806 41.469 18.4229H41.4793V7.73322H44.1379C44.4885 7.73322 44.8247 7.59396 45.0726 7.34607C45.3205 7.09817 45.4598 6.76196 45.4598 6.41138C45.4598 6.06081 45.3205 5.7246 45.0726 5.4767C44.8247 5.22881 44.4885 5.08955 44.1379 5.08955V5.09414Z",
514
+ fill: "currentColor"
515
+ }
516
+ ),
517
+ /* @__PURE__ */ jsx5(
518
+ "path",
519
+ {
520
+ "fill-rule": "evenodd",
521
+ "clip-rule": "evenodd",
522
+ d: "M72.2724 10.154C72.2414 7.48161 70.0678 5.04368 67.3885 5.04368C66.4874 5.04385 65.6039 5.29338 64.8358 5.76464C64.0678 6.2359 63.4451 6.91052 63.0368 7.7138C63.0368 7.7138 63.0368 6.56437 63.0368 6.53334C63.0368 6.13307 62.8778 5.7492 62.5947 5.46617C62.3117 5.18314 61.9278 5.02414 61.5276 5.02414C61.1273 5.02414 60.7434 5.18314 60.4604 5.46617C60.1774 5.7492 60.0184 6.13307 60.0184 6.53334V18.4356H60.0287C60.0499 18.8188 60.2171 19.1793 60.4959 19.443C60.7746 19.7068 61.1438 19.8537 61.5276 19.8537C61.9113 19.8537 62.2805 19.7068 62.5593 19.443C62.838 19.1793 63.0052 18.8188 63.0264 18.4356H63.0368V11.1805L63.0483 11.1989C63.0483 9.47472 64.4414 7.80575 66.1598 7.80575C67.7758 7.80575 69.1046 9.32069 69.2563 10.8977V18.4368H69.2666C69.2879 18.82 69.455 19.1804 69.7338 19.4442C70.0126 19.7079 70.3817 19.8549 70.7655 19.8549C71.1493 19.8549 71.5184 19.7079 71.7972 19.4442C72.076 19.1804 72.2431 18.82 72.2644 18.4368H72.2747V10.154H72.2724Z",
523
+ fill: "currentColor"
524
+ }
525
+ ),
526
+ /* @__PURE__ */ jsx5(
527
+ "path",
528
+ {
529
+ "fill-rule": "evenodd",
530
+ "clip-rule": "evenodd",
531
+ d: "M55.4322 2.2V1.96897H55.4126C55.2287 0.904602 53.7586 0.0758667 51.9724 0.0758667C50.1862 0.0758667 48.7161 0.905751 48.5322 1.96897H48.5126V4.4046H48.5241C48.6391 5.51035 50.1333 6.38621 51.9724 6.38621C53.8115 6.38621 55.3057 5.51035 55.4207 4.4046H55.431V4.27242L55.4322 2.2ZM54.1678 4.40575C54.1678 4.80115 53.1851 5.12184 51.9724 5.12184C50.7598 5.12184 49.777 4.80115 49.777 4.40575V3.53564C49.777 3.93104 50.7598 4.25173 51.9724 4.25173C53.1851 4.25173 54.1678 3.93104 54.1678 3.53564V4.40575ZM51.9724 3.09426C50.7598 3.09426 49.777 2.69196 49.777 2.19541C49.777 1.69885 50.7598 1.29541 51.9724 1.29541C53.1851 1.29541 54.1678 1.69771 54.1678 2.19541C54.1678 2.69311 53.1839 3.09426 51.9724 3.09426Z",
532
+ fill: "currentColor"
533
+ }
534
+ ),
535
+ /* @__PURE__ */ jsx5(
536
+ "path",
537
+ {
538
+ "fill-rule": "evenodd",
539
+ "clip-rule": "evenodd",
540
+ d: "M55.4321 17.708V9.16092V9.08046C55.3689 7.94483 53.8482 7.03448 51.9781 7.03448C50.108 7.03448 48.5804 7.94598 48.5172 9.08046H48.5115V17.7012C48.5115 17.7012 48.5115 17.7115 48.5115 17.7161C48.5115 18.8862 50.0609 19.8356 51.9724 19.8356C53.8839 19.8356 55.4333 18.8874 55.4333 17.7161C55.4333 17.7161 55.4333 17.7058 55.4333 17.7012L55.4321 17.708ZM54.1678 17.8954C54.1678 18.2908 53.185 18.6115 51.9724 18.6115C50.7597 18.6115 49.777 18.2908 49.777 17.8954V17.0264C49.777 17.4218 50.7597 17.7425 51.9724 17.7425C53.185 17.7425 54.1678 17.4218 54.1678 17.0264V17.8954ZM54.1678 15.792C54.1678 16.1874 53.185 16.508 51.9724 16.508C50.7597 16.508 49.777 16.1874 49.777 15.792V14.923C49.777 15.3184 50.7597 15.6391 51.9724 15.6391C53.185 15.6391 54.1678 15.3184 54.1678 14.923V15.792ZM54.1678 13.6885C54.1678 14.0839 53.185 14.4046 51.9724 14.4046C50.7597 14.4046 49.777 14.0839 49.777 13.6885V12.8195C49.777 13.2149 50.7597 13.5356 51.9724 13.5356C53.185 13.5356 54.1678 13.2149 54.1678 12.8195V13.6885ZM54.1678 11.5161C54.1678 11.9115 53.185 12.2322 51.9724 12.2322C50.7597 12.2322 49.777 11.9115 49.777 11.5161V10.646C49.777 11.0414 50.7597 11.3621 51.9724 11.3621C53.185 11.3621 54.1678 11.0414 54.1678 10.646V11.5161ZM51.9724 10.0678C50.7597 10.0678 49.777 9.66552 49.777 9.16897C49.777 8.67242 50.7597 8.27012 51.9724 8.27012C53.185 8.27012 54.1678 8.67242 54.1678 9.16897C54.1678 9.66552 53.1839 10.0667 51.9724 10.0667V10.0678Z",
541
+ fill: "currentColor"
542
+ }
543
+ ),
544
+ /* @__PURE__ */ jsx5(
545
+ "path",
546
+ {
547
+ "fill-rule": "evenodd",
548
+ "clip-rule": "evenodd",
549
+ d: "M88.8885 10.154C88.8574 7.48161 86.6839 5.04368 84.0046 5.04368C83.1039 5.04427 82.2209 5.294 81.4532 5.76524C80.6856 6.23648 80.0633 6.91086 79.6552 7.71379C79.6552 7.71379 79.6552 6.56437 79.6552 6.53333C79.6552 6.13307 79.4962 5.7492 79.2131 5.46617C78.9301 5.18314 78.5462 5.02414 78.146 5.02414C77.7457 5.02414 77.3618 5.18314 77.0788 5.46617C76.7958 5.7492 76.6368 6.13307 76.6368 6.53333V18.4356H76.6471C76.6684 18.8188 76.8355 19.1793 77.1143 19.443C77.393 19.7068 77.7622 19.8537 78.146 19.8537C78.5297 19.8537 78.8989 19.7068 79.1777 19.443C79.4564 19.1793 79.6236 18.8188 79.6448 18.4356H79.6552V11.1805L79.6667 11.1989C79.6667 9.47471 81.0598 7.80575 82.7781 7.80575C84.3942 7.80575 85.723 9.32069 85.8747 10.8977V18.4368H85.885C85.9063 18.8199 86.0734 19.1804 86.3522 19.4442C86.6309 19.7079 87.0001 19.8549 87.3839 19.8549C87.7676 19.8549 88.1368 19.7079 88.4156 19.4442C88.6943 19.1804 88.8615 18.8199 88.8827 18.4368H88.8931V10.154H88.8885Z",
550
+ fill: "currentColor"
551
+ }
552
+ )
553
+ ] }),
554
+ /* @__PURE__ */ jsx5("defs", { children: /* @__PURE__ */ jsx5("clipPath", { id: "clip0_828_998", children: /* @__PURE__ */ jsx5("rect", { width: "88.892", height: "20", fill: "currentColor" }) }) })
555
+ ]
556
+ }
557
+ )
558
+ })
559
+ );
560
+ }
561
+ );
562
+ Branding.displayName = "Branding";
563
+
564
+ // src/components/Button/Button.tsx
565
+ import { forwardRef as forwardRef7 } from "react";
566
+
567
+ // src/components/Loading/Loading.tsx
568
+ import { forwardRef as forwardRef6 } from "react";
569
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
570
+ var Loading = forwardRef6(
571
+ (_a, ref) => {
572
+ var _b = _a, { size = "sm", isDark = false, className = "" } = _b, rest = __objRest(_b, ["size", "isDark", "className"]);
573
+ const containerClasses = [
574
+ isDark ? "text-white-100" : "text-blue-600",
575
+ className
576
+ ].filter(Boolean).join(" ");
577
+ return size === "sm" && !isDark ? /* @__PURE__ */ jsx6("div", __spreadProps(__spreadValues({ ref, className: containerClasses }, rest), { children: /* @__PURE__ */ jsxs6(
578
+ "svg",
579
+ {
580
+ className: "animate-spin",
581
+ xmlns: "http://www.w3.org/2000/svg",
582
+ width: "18",
583
+ height: "18",
584
+ viewBox: "0 0 18 18",
585
+ fill: "none",
586
+ children: [
587
+ /* @__PURE__ */ jsx6(
588
+ "path",
589
+ {
590
+ d: "M1 9C1 6.87827 1.84286 4.84344 3.34315 3.34315C4.84344 1.84285 6.87827 1 9 1C11.1217 1 13.1566 1.84286 14.6569 3.34315C16.1571 4.84344 17 6.87827 17 9C17 11.1217 16.1571 13.1566 14.6569 14.6569C13.1566 16.1571 11.1217 17 9 17C6.87827 17 4.84344 16.1571 3.34315 14.6569C1.84285 13.1566 1 11.1217 1 9L1 9Z",
591
+ stroke: "#F3F4F6",
592
+ "stroke-width": "2"
593
+ }
594
+ ),
595
+ /* @__PURE__ */ jsx6(
596
+ "path",
597
+ {
598
+ d: "M1 9C1 7.31057 1.53484 5.6645 2.52786 4.29772C3.52089 2.93094 4.92112 1.91361 6.52787 1.39155C8.13461 0.869484 9.86539 0.869484 11.4721 1.39155C13.0789 1.91361 14.4791 2.93094 15.4721 4.29772",
599
+ stroke: "#0193D7",
600
+ "stroke-width": "2"
601
+ }
602
+ )
603
+ ]
604
+ }
605
+ ) })) : /* @__PURE__ */ jsx6("div", __spreadProps(__spreadValues({ ref, className: containerClasses }, rest), { children: /* @__PURE__ */ jsx6(
606
+ "svg",
607
+ {
608
+ className: "animate-spin",
609
+ width: size === "sm" ? 18 : 88,
610
+ height: size === "sm" ? 18 : 88,
611
+ viewBox: "0 0 20 20",
612
+ fill: "none",
613
+ children: /* @__PURE__ */ jsx6(
614
+ "path",
615
+ {
616
+ d: "M10 2.5a7.5 7.5 0 1 0 7.5 7.5",
617
+ stroke: "currentColor",
618
+ strokeWidth: size === "sm" ? 2 : 1,
619
+ strokeLinecap: "round"
620
+ }
621
+ )
622
+ }
623
+ ) }));
624
+ }
625
+ );
626
+ Loading.displayName = "Loading";
627
+
628
+ // src/components/Button/Button.tsx
629
+ import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
471
630
  var variantClasses = {
472
631
  primary: [
473
- "bg-btn-primary text-btn-primary-text",
474
- "hover:bg-btn-primary-hover",
475
- "active:bg-btn-primary-active",
476
- "focus-visible:ring-2 focus-visible:ring-btn-primary-ring focus-visible:ring-offset-2",
477
- "disabled:bg-btn-primary-disabled disabled:text-btn-primary-text-disabled"
632
+ "bg-blue-600 text-white-100",
633
+ "hover:bg-blue-700",
634
+ "active:bg-blue-800",
635
+ "focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
636
+ "disabled:bg-gray-100 disabled:text-gray-400"
478
637
  ].join(" "),
479
638
  secondary: [
480
- "bg-btn-secondary text-btn-secondary-text",
481
- "hover:bg-btn-secondary-hover",
482
- "active:bg-btn-secondary-active",
483
- "focus-visible:ring-2 focus-visible:ring-btn-secondary-ring focus-visible:ring-offset-2",
484
- "disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-text-disabled"
639
+ "bg-gray-100 text-gray-900",
640
+ "hover:bg-gray-200",
641
+ "active:bg-gray-300",
642
+ "focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
643
+ "disabled:bg-gray-100 disabled:text-gray-400"
485
644
  ].join(" "),
486
645
  tertiary: [
487
- "bg-btn-tertiary text-btn-tertiary-text",
488
- "hover:bg-btn-tertiary-hover",
489
- "active:bg-btn-tertiary-active",
490
- "focus-visible:ring-2 focus-visible:ring-btn-tertiary-ring focus-visible:ring-offset-2",
491
- "disabled:bg-btn-tertiary-disabled disabled:text-btn-tertiary-text-disabled"
646
+ "bg-black-0 text-gray-900",
647
+ "hover:bg-gray-200",
648
+ "active:bg-gray-300",
649
+ "focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
650
+ "disabled:bg-gray-100 disabled:text-gray-400"
492
651
  ].join(" "),
493
652
  contrast: [
494
- "bg-btn-contrast text-btn-contrast-text",
495
- "hover:bg-btn-contrast-hover",
496
- "active:bg-btn-contrast-active",
497
- "focus-visible:ring-2 focus-visible:ring-btn-contrast-ring focus-visible:ring-offset-2",
498
- "disabled:bg-btn-contrast-disabled disabled:text-btn-contrast-text-disabled"
653
+ "bg-white-100 text-blue-600",
654
+ "hover:bg-white-90",
655
+ "active:bg-white-80",
656
+ "focus-visible:ring-2 focus-visible:ring-white-100 focus-visible:ring-offset-2",
657
+ "disabled:bg-gray-50 disabled:text-gray-400"
499
658
  ].join(" "),
500
659
  transparent: [
501
- "bg-btn-transparent text-btn-transparent-text",
502
- "hover:bg-btn-transparent-hover",
503
- "active:bg-btn-transparent-active",
504
- "focus-visible:ring-2 focus-visible:ring-btn-transparent-ring focus-visible:ring-offset-2",
505
- "disabled:bg-btn-transparent-disabled disabled:text-btn-transparent-text-disabled"
660
+ "bg-black-0 text-white-100",
661
+ "hover:bg-white-20",
662
+ "active:bg-white-30",
663
+ "focus-visible:ring-2 focus-visible:ring-white-100 focus-visible:bg-black-0 focus-visible:ring-offset-2",
664
+ "disabled:bg-black-0 disabled:text-white-40"
506
665
  ].join(" ")
507
666
  };
508
667
  var sizeClasses3 = {
509
- small: "h-32 px-12 text-sm gap-4",
510
- medium: "h-40 px-16 text-sm gap-6",
511
- large: "h-48 px-20 text-base gap-8",
512
- "extra-large": "h-56 px-24 text-lg gap-8"
668
+ sm: "px-16 py-6 text-label-medium",
669
+ md: "px-20 py-8 text-label-large",
670
+ lg: "px-24 py-12 text-label-large",
671
+ xl: "px-32 py-16 text-label-large"
513
672
  };
514
- function Spinner({ className }) {
515
- return /* @__PURE__ */ jsx5(
516
- "svg",
517
- {
518
- className,
519
- width: "1em",
520
- height: "1em",
521
- viewBox: "0 0 20 20",
522
- fill: "none",
523
- children: /* @__PURE__ */ jsx5(
524
- "path",
525
- {
526
- d: "M10 2.5a7.5 7.5 0 1 0 7.5 7.5",
527
- stroke: "currentColor",
528
- strokeWidth: "2",
529
- strokeLinecap: "round"
530
- }
531
- )
532
- }
533
- );
534
- }
535
- var Button = forwardRef5(
673
+ var Button = forwardRef7(
536
674
  (_a, ref) => {
537
675
  var _b = _a, {
538
676
  variant = "primary",
539
- size = "medium",
677
+ size = "md",
540
678
  rounded = false,
541
679
  loading = false,
542
680
  disabled = false,
@@ -555,40 +693,32 @@ var Button = forwardRef5(
555
693
  "children",
556
694
  "className"
557
695
  ]);
558
- const isDisabled = disabled || loading;
696
+ const isDisabled = disabled;
559
697
  const classes = [
560
- "inline-flex items-center justify-center font-medium font-sans",
698
+ "inline-flex items-center justify-center gap-8",
561
699
  "transition-colors duration-150",
562
700
  "outline-none",
563
701
  "disabled:cursor-not-allowed",
702
+ loading ? "pointer-events-none" : "cursor-pointer",
564
703
  sizeClasses3[size],
565
704
  variantClasses[variant],
566
- rounded ? "rounded-full" : "rounded-lg",
705
+ rounded ? "rounded-full" : size === "sm" ? "rounded-6" : size === "xl" ? "rounded-12" : "rounded-8",
567
706
  className
568
707
  ].filter(Boolean).join(" ");
569
- return /* @__PURE__ */ jsxs5(
570
- "button",
571
- __spreadProps(__spreadValues({
572
- ref,
573
- disabled: isDisabled,
574
- className: classes
575
- }, rest), {
576
- children: [
577
- loading ? /* @__PURE__ */ jsx5(Spinner, { className: "animate-spin" }) : startIcon,
578
- children,
579
- !loading && endIcon
580
- ]
581
- })
582
- );
708
+ return /* @__PURE__ */ jsxs7("button", __spreadProps(__spreadValues({ ref, disabled: isDisabled, className: classes }, rest), { children: [
709
+ loading ? /* @__PURE__ */ jsx7(Loading, { size: "sm", isDark: variant === "primary" || variant === "transparent" }) : startIcon,
710
+ children,
711
+ !loading && endIcon
712
+ ] }));
583
713
  }
584
714
  );
585
715
  Button.displayName = "Button";
586
716
 
587
717
  // src/components/BottomSheet/BottomSheet.tsx
588
- import React, { useEffect, useState as useState2, useCallback as useCallback2, forwardRef as forwardRef6 } from "react";
718
+ import React, { useEffect, useState as useState2, useCallback as useCallback2, forwardRef as forwardRef8 } from "react";
589
719
  import { createPortal } from "react-dom";
590
- import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
591
- var BottomSheet = forwardRef6(
720
+ import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
721
+ var BottomSheet = forwardRef8(
592
722
  (_a, ref) => {
593
723
  var _b = _a, {
594
724
  isForceOpen = false,
@@ -657,19 +787,19 @@ var BottomSheet = forwardRef6(
657
787
  setIsForceOpen == null ? void 0 : setIsForceOpen(false);
658
788
  setIsOpen(false);
659
789
  };
660
- return /* @__PURE__ */ jsxs6("span", { ref, style: { display: "contents" }, children: [
790
+ return /* @__PURE__ */ jsxs8("span", { ref, style: { display: "contents" }, children: [
661
791
  startModalBtn && React.cloneElement(startModalBtn, {
662
792
  onClick: handleStartClick
663
793
  }),
664
794
  shouldRender && createPortal(
665
- /* @__PURE__ */ jsxs6(
795
+ /* @__PURE__ */ jsxs8(
666
796
  "div",
667
797
  {
668
798
  className: `fixed inset-0 z-50 flex items-end justify-center transition-opacity duration-300 ${animate ? "opacity-100" : "opacity-0"}`,
669
799
  "aria-modal": "true",
670
800
  role: "dialog",
671
801
  children: [
672
- /* @__PURE__ */ jsx6(
802
+ /* @__PURE__ */ jsx8(
673
803
  "div",
674
804
  {
675
805
  className: "absolute inset-0 bg-black/40",
@@ -677,26 +807,26 @@ var BottomSheet = forwardRef6(
677
807
  "aria-label": "Close modal"
678
808
  }
679
809
  ),
680
- /* @__PURE__ */ jsxs6(
810
+ /* @__PURE__ */ jsxs8(
681
811
  "div",
682
812
  {
683
813
  className: `flex flex-col z-10 w-full rounded-t-xl bg-white pt-8 pb-16 px-16 shadow-lg transform transition-all duration-300
684
814
  ${size === "sm" ? "h-auto max-h-auto" : size === "md" ? "h-full max-h-[85vh]" : "h-full max-h-screen rounded-t-none!"}
685
815
  ${animate ? "scale-100 translate-y-0" : "scale-95 translate-y-full"}`,
686
816
  children: [
687
- /* @__PURE__ */ jsxs6("div", { className: "w-full flex flex-row relative items-center pt-8 pb-16", children: [
688
- /* @__PURE__ */ jsxs6("div", { className: "flex flex-col px-8 max-w-225", children: [
689
- /* @__PURE__ */ jsx6("p", { className: "text-heading-3 text-button-sheet-text-primary", children: modalTitle }),
690
- /* @__PURE__ */ jsx6("p", { className: "text-body-small text-button-sheet-text-secondary", children: modalDesc })
817
+ /* @__PURE__ */ jsxs8("div", { className: "w-full flex flex-row relative items-center pt-8 pb-16", children: [
818
+ /* @__PURE__ */ jsxs8("div", { className: "flex flex-col px-8 max-w-225", children: [
819
+ /* @__PURE__ */ jsx8("p", { className: "text-heading-3 text-button-sheet-text-primary", children: modalTitle }),
820
+ /* @__PURE__ */ jsx8("p", { className: "text-body-small text-button-sheet-text-secondary", children: modalDesc })
691
821
  ] }),
692
- /* @__PURE__ */ jsx6(
822
+ /* @__PURE__ */ jsx8(
693
823
  "i",
694
824
  {
695
825
  className: "fi fi-br-cross-small flex text-xl text-gray-600 w-44 h-44 absolute top-0 right-0 p-12",
696
826
  onClick: () => handleCloseClick()
697
827
  }
698
828
  ),
699
- /* @__PURE__ */ jsx6(
829
+ /* @__PURE__ */ jsx8(
700
830
  "div",
701
831
  {
702
832
  className: "text-gray-600 text-xl absolute top-0 right-0 p-12",
@@ -705,7 +835,7 @@ var BottomSheet = forwardRef6(
705
835
  }
706
836
  )
707
837
  ] }),
708
- /* @__PURE__ */ jsxs6("div", { className: "w-full h-full grow overflow-y-auto overflow-x-visible", children: [
838
+ /* @__PURE__ */ jsxs8("div", { className: "w-full h-full grow overflow-y-auto overflow-x-visible", children: [
709
839
  children,
710
840
  stopModalBtn && React.cloneElement(stopModalBtn, {
711
841
  onClick: handleStopClick
@@ -727,20 +857,20 @@ BottomSheet.displayName = "BottomSheet";
727
857
 
728
858
  // src/components/Checkbox/Checkbox.tsx
729
859
  import {
730
- forwardRef as forwardRef7,
860
+ forwardRef as forwardRef9,
731
861
  useId as useId2,
732
862
  useState as useState3
733
863
  } from "react";
734
- import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
864
+ import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
735
865
  function CheckIcon({ className }) {
736
- return /* @__PURE__ */ jsx7(
866
+ return /* @__PURE__ */ jsx9(
737
867
  "svg",
738
868
  {
739
869
  className,
740
870
  viewBox: "0 0 16 16",
741
871
  fill: "none",
742
872
  "aria-hidden": "true",
743
- children: /* @__PURE__ */ jsx7(
873
+ children: /* @__PURE__ */ jsx9(
744
874
  "path",
745
875
  {
746
876
  d: "M13.333 4.667 6 12l-3.333-3.333",
@@ -754,14 +884,14 @@ function CheckIcon({ className }) {
754
884
  );
755
885
  }
756
886
  function IndeterminateIcon({ className }) {
757
- return /* @__PURE__ */ jsx7(
887
+ return /* @__PURE__ */ jsx9(
758
888
  "svg",
759
889
  {
760
890
  className,
761
891
  viewBox: "0 0 16 16",
762
892
  fill: "none",
763
893
  "aria-hidden": "true",
764
- children: /* @__PURE__ */ jsx7(
894
+ children: /* @__PURE__ */ jsx9(
765
895
  "path",
766
896
  {
767
897
  d: "M3.333 8h9.334",
@@ -773,7 +903,7 @@ function IndeterminateIcon({ className }) {
773
903
  }
774
904
  );
775
905
  }
776
- var Checkbox = forwardRef7(
906
+ var Checkbox = forwardRef9(
777
907
  (_a, ref) => {
778
908
  var _b = _a, {
779
909
  label,
@@ -799,14 +929,14 @@ var Checkbox = forwardRef7(
799
929
  const reactId = useId2();
800
930
  const inputId = id != null ? id : reactId;
801
931
  const [isChecked, setIsChecked] = useState3(defaultChecked != null ? defaultChecked : false);
802
- return /* @__PURE__ */ jsxs7(
932
+ return /* @__PURE__ */ jsxs9(
803
933
  "label",
804
934
  {
805
935
  htmlFor: inputId,
806
936
  className: `flex select-none font-sans ${disabled ? "cursor-not-allowed" : "cursor-pointer"} ${className}`,
807
937
  children: [
808
- /* @__PURE__ */ jsxs7("div", { className: "relative mr-16", children: [
809
- /* @__PURE__ */ jsx7(
938
+ /* @__PURE__ */ jsxs9("div", { className: "relative mr-16", children: [
939
+ /* @__PURE__ */ jsx9(
810
940
  "input",
811
941
  __spreadValues({
812
942
  ref,
@@ -823,16 +953,16 @@ var Checkbox = forwardRef7(
823
953
  className: "sr-only"
824
954
  }, rest)
825
955
  ),
826
- /* @__PURE__ */ jsx7(
956
+ /* @__PURE__ */ jsx9(
827
957
  "div",
828
958
  {
829
959
  className: `box m-6 flex h-20 w-20 rounded-md items-center justify-center border ${contrast ? isChecked || indeterminate ? "border-white bg-white" : "border-white" : isChecked || indeterminate ? "bg-static-icon-brand border-static-icon-brand" : "border-static-icon-primary"}`,
830
- children: isChecked ? /* @__PURE__ */ jsx7(
960
+ children: isChecked ? /* @__PURE__ */ jsx9(
831
961
  CheckIcon,
832
962
  {
833
963
  className: `h-20 ${contrast ? "text-static-icon-brand" : "text-white"}`
834
964
  }
835
- ) : indeterminate ? /* @__PURE__ */ jsx7(
965
+ ) : indeterminate ? /* @__PURE__ */ jsx9(
836
966
  IndeterminateIcon,
837
967
  {
838
968
  className: `h-20 ${contrast ? "text-static-icon-brand" : "text-white"}`
@@ -841,15 +971,15 @@ var Checkbox = forwardRef7(
841
971
  }
842
972
  )
843
973
  ] }),
844
- (label || description) && /* @__PURE__ */ jsxs7("span", { className: "flex flex-col", children: [
845
- label && /* @__PURE__ */ jsx7(
974
+ (label || description) && /* @__PURE__ */ jsxs9("span", { className: "flex flex-col", children: [
975
+ label && /* @__PURE__ */ jsx9(
846
976
  "span",
847
977
  {
848
978
  className: `text-label-large ${disabled ? "text-checkbox-text-disabled" : contrast ? "text-checkbox-text-primary-inverse" : "text-checkbox-text-primary"}`,
849
979
  children: label
850
980
  }
851
981
  ),
852
- description && /* @__PURE__ */ jsx7(
982
+ description && /* @__PURE__ */ jsx9(
853
983
  "span",
854
984
  {
855
985
  className: `text-body-small ${error ? "text-checkbox-text-danger" : disabled ? "text-checkbox-text-disabled" : contrast ? "text-checkbox-text-primary-inverse" : "text-checkbox-text-secondary"}`,
@@ -864,36 +994,116 @@ var Checkbox = forwardRef7(
864
994
  );
865
995
  Checkbox.displayName = "Checkbox";
866
996
 
997
+ // src/components/Chip/Chip.tsx
998
+ import {
999
+ forwardRef as forwardRef10,
1000
+ useState as useState4
1001
+ } from "react";
1002
+ import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
1003
+ var sizeClasses4 = {
1004
+ sm: "h-32 text-label-medium px-12 py-6",
1005
+ md: "h-40 text-label-large px-16 py-10",
1006
+ lg: "h-48 text-label-large px-24 py-14"
1007
+ };
1008
+ var marginImgClasses = {
1009
+ sm: "-ml-10 -my-4 h-28 w-28",
1010
+ md: "-ml-12 -my-6 h-32 w-32",
1011
+ lg: "-ml-18 -my-8 h-32 w-32"
1012
+ };
1013
+ var isOutlinedClasses = {
1014
+ true: "border border-chip-border-enabled bg-chip-background-inverse",
1015
+ false: "border-0 bg-chip-background-enabled"
1016
+ };
1017
+ var isDarkClasses = {
1018
+ true: "!bg-chip-background-black-active !text-chip-text-inverse",
1019
+ false: "!bg-chip-background-active !text-chip-text-inverse"
1020
+ };
1021
+ var Chip = forwardRef10(
1022
+ (_a, ref) => {
1023
+ var _b = _a, {
1024
+ size = "md",
1025
+ src,
1026
+ alt = "",
1027
+ label,
1028
+ icon,
1029
+ isOutlined = false,
1030
+ isDark = false,
1031
+ defaultSelected = false,
1032
+ disabled = false,
1033
+ className = ""
1034
+ } = _b, rest = __objRest(_b, [
1035
+ "size",
1036
+ "src",
1037
+ "alt",
1038
+ "label",
1039
+ "icon",
1040
+ "isOutlined",
1041
+ "isDark",
1042
+ "defaultSelected",
1043
+ "disabled",
1044
+ "className"
1045
+ ]);
1046
+ const [selected, setSelected] = useState4(defaultSelected);
1047
+ const sz = sizeClasses4[size];
1048
+ const outlinedClass = isOutlinedClasses[String(isOutlined)];
1049
+ const darkClass = isDarkClasses[String(isDark)];
1050
+ const containerClasses = [
1051
+ "w-fit rounded-full flex flex-row gap-8 items-center justify-center text-chip-text-enabled",
1052
+ disabled ? "cursor-not-allowed" : "cursor-pointer",
1053
+ outlinedClass,
1054
+ sz,
1055
+ className,
1056
+ selected ? darkClass : ""
1057
+ ].filter(Boolean).join(" ");
1058
+ return /* @__PURE__ */ jsxs10(
1059
+ "div",
1060
+ __spreadProps(__spreadValues({
1061
+ ref,
1062
+ className: containerClasses
1063
+ }, rest), {
1064
+ onClick: () => !disabled && setSelected(!selected),
1065
+ children: [
1066
+ icon ? icon : src && /* @__PURE__ */ jsx10("img", { src, alt, className: `${marginImgClasses[size]} rounded-full` }),
1067
+ label
1068
+ ]
1069
+ })
1070
+ );
1071
+ }
1072
+ );
1073
+ Chip.displayName = "Chip";
1074
+
867
1075
  // src/components/Dialog/Dialog.tsx
868
1076
  import React2, {
869
1077
  useEffect as useEffect2,
870
- useState as useState4,
1078
+ useState as useState5,
871
1079
  useCallback as useCallback3,
872
- forwardRef as forwardRef8
1080
+ forwardRef as forwardRef11
873
1081
  } from "react";
874
1082
  import { createPortal as createPortal2 } from "react-dom";
875
- import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
876
- var Dialog = forwardRef8(
1083
+ import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
1084
+ var Dialog = forwardRef11(
877
1085
  ({
878
1086
  isForceOpen = false,
879
1087
  setIsForceOpen,
880
1088
  isClosedAble = true,
1089
+ isCloseIcon = true,
881
1090
  children,
882
1091
  startModalBtn,
883
1092
  stopModalBtn,
884
1093
  afterStopBtn,
885
- p = "20"
1094
+ p = "20",
1095
+ maxW = "md"
886
1096
  }, ref) => {
887
- const [isOpen, setIsOpen] = useState4(false);
888
- const [shouldRender, setShouldRender] = useState4(false);
889
- const [animate, setAnimate] = useState4(false);
1097
+ const [isOpen, setIsOpen] = useState5(false);
1098
+ const [isRender, setIsRender] = useState5(false);
1099
+ const [animate, setAnimate] = useState5(false);
890
1100
  useEffect2(() => {
891
1101
  if (isOpen) {
892
- setShouldRender(true);
1102
+ setIsRender(true);
893
1103
  setTimeout(() => setAnimate(true), 10);
894
1104
  } else {
895
1105
  setAnimate(false);
896
- const timer = setTimeout(() => setShouldRender(false), 300);
1106
+ const timer = setTimeout(() => setIsRender(false), 300);
897
1107
  return () => clearTimeout(timer);
898
1108
  }
899
1109
  }, [isOpen]);
@@ -926,19 +1136,19 @@ var Dialog = forwardRef8(
926
1136
  setIsForceOpen == null ? void 0 : setIsForceOpen(false);
927
1137
  setIsOpen(false);
928
1138
  };
929
- return /* @__PURE__ */ jsxs8("span", { ref, style: { display: "contents" }, children: [
1139
+ return /* @__PURE__ */ jsxs11("span", { ref, style: { display: "contents" }, children: [
930
1140
  startModalBtn && React2.cloneElement(startModalBtn, {
931
1141
  onClick: handleStartClick
932
1142
  }),
933
- shouldRender && createPortal2(
934
- /* @__PURE__ */ jsxs8(
1143
+ isRender && createPortal2(
1144
+ /* @__PURE__ */ jsxs11(
935
1145
  "div",
936
1146
  {
937
1147
  className: `fixed inset-0 z-50 flex items-center justify-center transition-opacity duration-300 ${animate ? "opacity-100" : "opacity-0"}`,
938
1148
  "aria-modal": "true",
939
1149
  role: "dialog",
940
1150
  children: [
941
- /* @__PURE__ */ jsx8(
1151
+ /* @__PURE__ */ jsx11(
942
1152
  "div",
943
1153
  {
944
1154
  className: "absolute inset-0 bg-black/40",
@@ -946,11 +1156,33 @@ var Dialog = forwardRef8(
946
1156
  "aria-label": "Close modal"
947
1157
  }
948
1158
  ),
949
- /* @__PURE__ */ jsxs8(
1159
+ /* @__PURE__ */ jsxs11(
950
1160
  "div",
951
1161
  {
952
- className: `relative z-10 w-[calc(100%-40px)] max-w-md rounded-xl bg-white p-${p || "20"} shadow-lg transform transition-all duration-300 ${animate ? "scale-100 opacity-100" : "scale-95 opacity-0"}`,
1162
+ className: `relative z-10 w-[calc(100%-40px)] max-w-${maxW} rounded-xl bg-white p-${p || "20"} shadow-lg transform transition-all duration-300 ${animate ? "scale-100 opacity-100" : "scale-95 opacity-0"}`,
953
1163
  children: [
1164
+ isCloseIcon && /* @__PURE__ */ jsx11(
1165
+ "svg",
1166
+ {
1167
+ xmlns: "http://www.w3.org/2000/svg",
1168
+ width: "20",
1169
+ height: "20",
1170
+ viewBox: "0 0 20 20",
1171
+ fill: "none",
1172
+ className: "text-gray-900 flex h-20 w-20 items-center justify-center absolute right-16 top-16 cursor-pointer",
1173
+ onMouseDown: (e) => {
1174
+ e.preventDefault();
1175
+ handleCloseClick();
1176
+ },
1177
+ children: /* @__PURE__ */ jsx11(
1178
+ "path",
1179
+ {
1180
+ d: "M14.7119 6.0625L10.7744 10L14.7119 13.9375L13.9375 14.7119L10 10.7744L6.0625 14.7119L5.28809 13.9375L9.22559 10L5.28809 6.0625L6.0625 5.28809L10 9.22559L13.9375 5.28809L14.7119 6.0625Z",
1181
+ fill: "#111827"
1182
+ }
1183
+ )
1184
+ }
1185
+ ),
954
1186
  children,
955
1187
  stopModalBtn && React2.cloneElement(stopModalBtn, {
956
1188
  onClick: handleStopClick
@@ -969,185 +1201,606 @@ var Dialog = forwardRef8(
969
1201
  );
970
1202
  Dialog.displayName = "Dialog";
971
1203
 
972
- // src/components/Icon/Icon.tsx
973
- import { forwardRef as forwardRef9 } from "react";
974
- import { jsx as jsx9 } from "react/jsx-runtime";
975
- var Icon = forwardRef9(
976
- (_a, ref) => {
977
- var _b = _a, {
978
- name,
979
- size = 20,
980
- weight = 300,
981
- fill = false,
982
- grade = 0,
983
- opticalSize,
984
- className = "",
985
- style,
986
- "aria-label": ariaLabel
987
- } = _b, rest = __objRest(_b, [
988
- "name",
989
- "size",
990
- "weight",
991
- "fill",
992
- "grade",
993
- "opticalSize",
994
- "className",
995
- "style",
996
- "aria-label"
997
- ]);
998
- const opsz = opticalSize != null ? opticalSize : size === 16 ? 20 : size === 20 ? 20 : 24;
999
- const classes = [
1000
- "material-symbols-outlined select-none shrink-0 inline-block leading-none",
1001
- className
1002
- ].filter(Boolean).join(" ");
1003
- return /* @__PURE__ */ jsx9(
1004
- "span",
1005
- __spreadProps(__spreadValues({
1006
- ref,
1007
- className: classes,
1008
- "aria-hidden": ariaLabel ? void 0 : true,
1009
- "aria-label": ariaLabel,
1010
- role: ariaLabel ? "img" : void 0,
1011
- style: __spreadValues({
1012
- fontSize: `${size}px`,
1013
- width: `${size}px`,
1014
- height: `${size}px`,
1015
- fontVariationSettings: `'FILL' ${fill ? 1 : 0}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' ${opsz}`
1016
- }, style)
1017
- }, rest), {
1018
- children: name
1019
- })
1020
- );
1204
+ // src/components/Dropdown/Dropdown.tsx
1205
+ import { useState as useState6, useRef, useEffect as useEffect3 } from "react";
1206
+ import { Fragment as Fragment2, jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
1207
+ var IconDanger = () => /* @__PURE__ */ jsx12(
1208
+ "svg",
1209
+ {
1210
+ xmlns: "http://www.w3.org/2000/svg",
1211
+ width: "20",
1212
+ height: "20",
1213
+ viewBox: "0 0 20 20",
1214
+ fill: "none",
1215
+ children: /* @__PURE__ */ jsx12(
1216
+ "path",
1217
+ {
1218
+ d: "M10.0078 2.41699C11.0548 2.41699 12.0363 2.61407 12.9512 3.00879C13.8657 3.40341 14.6687 3.94646 15.3604 4.6377C16.0522 5.32922 16.5962 6.13426 16.9912 7.05176C17.386 7.96936 17.583 8.95002 17.583 9.99316C17.583 11.0363 17.3859 12.0187 16.9912 12.9404C16.5966 13.862 16.0536 14.6687 15.3623 15.3604C14.6708 16.0522 13.8657 16.5962 12.9482 16.9912C12.0306 17.386 11.05 17.583 10.0068 17.583C8.96373 17.583 7.9813 17.3859 7.05957 16.9912C6.13798 16.5966 5.33135 16.0536 4.63965 15.3623C3.94784 14.6708 3.40379 13.8642 3.00879 12.9434C2.61398 12.0228 2.41703 11.039 2.41699 9.99219C2.41699 8.94524 2.61407 7.96369 3.00879 7.04883C3.40341 6.13429 3.94646 5.33128 4.6377 4.63965C5.32922 3.94784 6.13581 3.40379 7.05664 3.00879C7.97723 2.61398 8.961 2.41703 10.0078 2.41699ZM10.0039 12.5967C9.83828 12.5968 9.69804 12.6527 9.58301 12.7646C9.46793 12.8769 9.41016 13.0159 9.41016 13.1816C9.4102 13.3472 9.46621 13.4875 9.57812 13.6025C9.69035 13.7177 9.83026 13.7754 9.99609 13.7754C10.1617 13.7753 10.302 13.7195 10.417 13.6074C10.5321 13.4952 10.5898 13.3562 10.5898 13.1904C10.5898 13.0246 10.534 12.8837 10.4219 12.7686C10.3097 12.6536 10.1697 12.5967 10.0039 12.5967ZM9.45801 11.0645H10.542V6.06445H9.45801V11.0645Z",
1219
+ fill: "#EF4444"
1220
+ }
1221
+ )
1021
1222
  }
1022
1223
  );
1023
- Icon.displayName = "Icon";
1024
-
1025
- // src/components/Radio/Radio.tsx
1026
- import {
1027
- forwardRef as forwardRef10,
1028
- useId as useId3
1029
- } from "react";
1030
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
1031
- var sizeClasses4 = {
1032
- small: {
1033
- box: "h-4 w-4",
1034
- dot: "h-1.5 w-1.5",
1035
- label: "text-sm leading-5",
1036
- description: "text-xs leading-4",
1037
- gap: "gap-2"
1038
- },
1039
- medium: {
1040
- box: "h-5 w-5",
1041
- dot: "h-2 w-2",
1042
- label: "text-base leading-6",
1043
- description: "text-sm leading-5",
1044
- gap: "gap-2.5"
1045
- }
1046
- };
1047
- var Radio = forwardRef10(
1048
- (_a, ref) => {
1049
- var _b = _a, {
1050
- size = "medium",
1051
- label,
1052
- description,
1053
- error = false,
1054
- contrast = false,
1055
- checked,
1056
- defaultChecked,
1057
- disabled = false,
1058
- className = "",
1059
- id
1060
- } = _b, rest = __objRest(_b, [
1061
- "size",
1062
- "label",
1063
- "description",
1064
- "error",
1065
- "contrast",
1066
- "checked",
1067
- "defaultChecked",
1068
- "disabled",
1069
- "className",
1070
- "id"
1071
- ]);
1072
- const reactId = useId3();
1073
- const inputId = id != null ? id : reactId;
1074
- const sz = sizeClasses4[size];
1075
- const circleBase = [
1076
- "relative inline-flex items-center justify-center shrink-0",
1077
- "rounded-full",
1078
- "border",
1079
- "transition-colors duration-150",
1080
- sz.box
1081
- ].join(" ");
1082
- let circleState;
1083
- if (disabled) {
1084
- circleState = checked ? "bg-radio-disabled-selected-bg border-radio-disabled-border" : "bg-radio-disabled-bg border-radio-disabled-border";
1085
- } else if (contrast) {
1086
- circleState = checked ? "bg-radio-contrast-selected-bg border-radio-contrast-selected-bg" : "bg-radio-contrast-bg border-radio-contrast-border";
1087
- } else if (error) {
1088
- circleState = checked ? "bg-radio-selected-bg border-radio-error-border" : "bg-radio-error-bg border-radio-error-border";
1089
- } else if (checked) {
1090
- circleState = "bg-radio-selected-bg border-radio-selected-border";
1091
- } else {
1092
- circleState = "bg-radio-bg border-radio-border hover:border-radio-hover-border";
1093
- }
1094
- const ringColor = error ? "peer-focus-visible:ring-radio-error-ring" : contrast ? "peer-focus-visible:ring-radio-contrast-ring" : "peer-focus-visible:ring-radio-ring";
1095
- const ringClasses = `peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 ${ringColor}`;
1096
- let dotColor;
1097
- if (disabled) {
1098
- dotColor = "bg-radio-disabled-dot";
1099
- } else if (contrast) {
1100
- dotColor = "bg-radio-contrast-selected-dot";
1101
- } else {
1102
- dotColor = "bg-radio-selected-dot";
1224
+ function IconCheck({ className }) {
1225
+ return /* @__PURE__ */ jsx12(
1226
+ "svg",
1227
+ {
1228
+ xmlns: "http://www.w3.org/2000/svg",
1229
+ width: "20",
1230
+ height: "20",
1231
+ viewBox: "0 0 20 20",
1232
+ fill: "none",
1233
+ className,
1234
+ children: /* @__PURE__ */ jsx12(
1235
+ "path",
1236
+ {
1237
+ d: "M15.6328 6.64062L8.10449 14.1494L4.36719 10.4326L5.13281 9.64551L8.10449 12.6172L14.8672 5.875L15.6328 6.64062Z",
1238
+ fill: "#111827"
1239
+ }
1240
+ )
1103
1241
  }
1104
- const labelColor = disabled ? "text-radio-label-disabled" : contrast ? "text-radio-contrast-label" : error ? "text-radio-label-error" : "text-radio-label";
1105
- const descriptionColor = disabled ? "text-radio-label-disabled" : contrast ? "text-radio-contrast-description" : "text-radio-description";
1106
- return /* @__PURE__ */ jsxs9(
1107
- "label",
1108
- {
1109
- htmlFor: inputId,
1110
- className: [
1111
- "inline-flex items-start font-sans",
1112
- sz.gap,
1113
- disabled ? "cursor-not-allowed" : "cursor-pointer",
1114
- className
1115
- ].filter(Boolean).join(" "),
1116
- children: [
1117
- /* @__PURE__ */ jsxs9("span", { className: "relative inline-flex", children: [
1118
- /* @__PURE__ */ jsx10(
1119
- "input",
1120
- __spreadValues({
1121
- ref,
1122
- id: inputId,
1123
- type: "radio",
1124
- checked,
1125
- defaultChecked,
1126
- disabled,
1127
- className: "peer absolute inset-0 h-full w-full cursor-[inherit] opacity-0"
1128
- }, rest)
1129
- ),
1130
- /* @__PURE__ */ jsx10("span", { className: [circleBase, circleState, ringClasses].join(" "), children: checked && /* @__PURE__ */ jsx10("span", { className: `rounded-full ${sz.dot} ${dotColor}` }) })
1131
- ] }),
1132
- (label || description) && /* @__PURE__ */ jsxs9("span", { className: "flex flex-col", children: [
1133
- label && /* @__PURE__ */ jsx10("span", { className: `${sz.label} font-medium ${labelColor}`, children: label }),
1134
- description && /* @__PURE__ */ jsx10("span", { className: `${sz.description} ${descriptionColor}`, children: description })
1135
- ] })
1136
- ]
1242
+ );
1243
+ }
1244
+ function ChevronDown({ className }) {
1245
+ return /* @__PURE__ */ jsx12(
1246
+ "svg",
1247
+ {
1248
+ xmlns: "http://www.w3.org/2000/svg",
1249
+ width: "20",
1250
+ height: "20",
1251
+ viewBox: "0 0 20 20",
1252
+ fill: "none",
1253
+ className,
1254
+ children: /* @__PURE__ */ jsx12(
1255
+ "path",
1256
+ {
1257
+ d: "M14.7119 8.0625L10 12.7744L5.28809 8.0625L6.0625 7.28809L10 11.2256L13.9375 7.28809L14.7119 8.0625Z",
1258
+ fill: "#111827"
1259
+ }
1260
+ )
1261
+ }
1262
+ );
1263
+ }
1264
+ var Dropdown = ({
1265
+ error,
1266
+ label,
1267
+ placeholder,
1268
+ isDisabled = false,
1269
+ isSearchable = false,
1270
+ isTextCenter = false,
1271
+ value,
1272
+ setValue,
1273
+ dropDownItems = [
1274
+ { label: "Bonnie Green", value: "Bonnie Green" },
1275
+ { label: "Jese Leos", value: "Jese Leos" },
1276
+ { label: "Joseph Mcfall", value: "Joseph Mcfall" },
1277
+ { label: "John Smith", value: "John Smith" },
1278
+ { label: "Maria Garcia", value: "Maria Garcia" }
1279
+ ]
1280
+ }) => {
1281
+ const [isOpen, setIsOpen] = useState6(false);
1282
+ const [search, setSearch] = useState6("");
1283
+ const dropdownRef = useRef(null);
1284
+ const filteredItems = dropDownItems.filter(
1285
+ (item) => item.label.toLowerCase().includes(search.toLowerCase())
1286
+ );
1287
+ useEffect3(() => {
1288
+ function handleClickOutside(event) {
1289
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
1290
+ setIsOpen(false);
1291
+ }
1292
+ }
1293
+ document.addEventListener("mousedown", handleClickOutside);
1294
+ return () => {
1295
+ document.removeEventListener("mousedown", handleClickOutside);
1296
+ };
1297
+ }, []);
1298
+ return /* @__PURE__ */ jsxs12("div", { className: "w-full", children: [
1299
+ label ? /* @__PURE__ */ jsx12(
1300
+ "p",
1301
+ {
1302
+ className: `text-label-medium text-left items-left font-medium mb-4 ${isDisabled ? "text-dropdown-text-disabled" : "text-dropdown-text-primary"}`,
1303
+ children: label
1304
+ }
1305
+ ) : /* @__PURE__ */ jsx12(Fragment2, {}),
1306
+ /* @__PURE__ */ jsxs12("div", { className: "w-full flex flex-col relative", ref: dropdownRef, children: [
1307
+ /* @__PURE__ */ jsxs12(
1308
+ "button",
1309
+ {
1310
+ onClick: () => !isDisabled && setIsOpen(!isOpen),
1311
+ className: `w-full rounded-md text-body-small px-16 py-10 text-center inline-flex gap-8 items-center border **:focus:outline-none focus:border-2 focus:px-15 focus:py-9
1312
+ ${isDisabled ? "pointer-events-none bg-dropdown-background-disabled text-dropdown-text-disabled border-dropdown-border-disabled" : error ? "border-red-600 bg-dropdown-background-enabled focus:border-red-600" : value ? "text-dropdown-text-primary bg-dropdown-background-enabled border-dropdown-border-enabled focus:border-dropdown-border-active " : "text-dropdown-text-secondary bg-dropdown-background-enabled border-dropdown-border-enabled focus:border-dropdown-border-active "} `,
1313
+ type: "button",
1314
+ children: [
1315
+ /* @__PURE__ */ jsx12("p", { className: `grow ${isTextCenter ? "text-center" : "text-start"}`, children: value.label || placeholder }),
1316
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-8", children: [
1317
+ isDisabled ? /* @__PURE__ */ jsx12(Fragment2, {}) : error ? /* @__PURE__ */ jsx12(IconDanger, {}) : /* @__PURE__ */ jsx12(Fragment2, {}),
1318
+ /* @__PURE__ */ jsx12(
1319
+ ChevronDown,
1320
+ {
1321
+ className: `h-20 w-20 duration-300 ${isOpen ? "rotate-180" : ""}`
1322
+ }
1323
+ )
1324
+ ] })
1325
+ ]
1326
+ }
1327
+ ),
1328
+ /* @__PURE__ */ jsxs12(
1329
+ "div",
1330
+ {
1331
+ id: "dropdownSearch",
1332
+ className: `${isOpen ? "flex" : "hidden"} top-[calc(100%+4px)] left-8 absolute z-10000 bg-white-100 rounded-lg shadow-base w-9/10 min-w-fit flex-col`,
1333
+ children: [
1334
+ isSearchable ? /* @__PURE__ */ jsxs12("div", { className: "p-3", children: [
1335
+ /* @__PURE__ */ jsx12("label", { htmlFor: "input-group-search", className: "sr-only", children: "Search" }),
1336
+ /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
1337
+ /* @__PURE__ */ jsx12("div", { className: "absolute inset-y-0 rtl:inset-r-0 inset-s-0 flex items-center ps-12 pointer-events-none", children: /* @__PURE__ */ jsxs12(
1338
+ "svg",
1339
+ {
1340
+ xmlns: "http://www.w3.org/2000/svg",
1341
+ width: "20",
1342
+ height: "20",
1343
+ viewBox: "0 0 20 20",
1344
+ fill: "none",
1345
+ children: [
1346
+ /* @__PURE__ */ jsx12(
1347
+ "mask",
1348
+ {
1349
+ id: "mask0_3218_5077",
1350
+ style: { maskType: "alpha" },
1351
+ maskUnits: "userSpaceOnUse",
1352
+ x: "0",
1353
+ y: "0",
1354
+ width: "20",
1355
+ height: "20",
1356
+ children: /* @__PURE__ */ jsx12("rect", { width: "20", height: "20", fill: "#D9D9D9" })
1357
+ }
1358
+ ),
1359
+ /* @__PURE__ */ jsx12("g", { mask: "url(#mask0_3218_5077)", children: /* @__PURE__ */ jsx12(
1360
+ "path",
1361
+ {
1362
+ d: "M15.8894 16.6476L10.9263 11.6842C10.5096 12.0005 10.0527 12.2454 9.55563 12.419C9.05855 12.5926 8.54556 12.6794 8.01667 12.6794C6.7182 12.6794 5.61354 12.2241 4.70271 11.3134C3.79202 10.4026 3.33667 9.29811 3.33667 8.00005C3.33667 6.702 3.79202 5.59755 4.70271 4.68672C5.61354 3.77603 6.71799 3.32068 8.01604 3.32068C9.3141 3.32068 10.4185 3.77603 11.3294 4.68672C12.2401 5.59755 12.6954 6.70221 12.6954 8.00068C12.6954 8.54554 12.606 9.06651 12.4271 9.56359C12.2481 10.0608 12.0058 10.5097 11.7002 10.9103L16.6633 15.8734L15.8894 16.6476ZM8.01604 11.5963C9.02035 11.5963 9.87077 11.248 10.5673 10.5513C11.264 9.85478 11.6123 9.00436 11.6123 8.00005C11.6123 6.99575 11.264 6.14533 10.5673 5.4488C9.87077 4.75214 9.02035 4.4038 8.01604 4.4038C7.01174 4.4038 6.16132 4.75214 5.46479 5.4488C4.76813 6.14533 4.41979 6.99575 4.41979 8.00005C4.41979 9.00436 4.76813 9.85478 5.46479 10.5513C6.16132 11.248 7.01174 11.5963 8.01604 11.5963Z",
1363
+ fill: "#111827"
1364
+ }
1365
+ ) })
1366
+ ]
1367
+ }
1368
+ ) }),
1369
+ /* @__PURE__ */ jsx12(
1370
+ "input",
1371
+ {
1372
+ type: "text",
1373
+ className: "block w-full p-8 ps-40 text-body-small text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-bubblegum focus:border-bubblegum",
1374
+ placeholder: "Search...",
1375
+ value: search,
1376
+ onChange: (e) => setSearch(e.target.value)
1377
+ }
1378
+ )
1379
+ ] })
1380
+ ] }) : /* @__PURE__ */ jsx12(Fragment2, {}),
1381
+ /* @__PURE__ */ jsx12(
1382
+ "ul",
1383
+ {
1384
+ className: "h-auto max-h-392 overflow-y-auto cursor-pointer",
1385
+ "aria-labelledby": "dropdownSearchButton",
1386
+ children: filteredItems.length > 0 ? filteredItems.map((item, idx) => /* @__PURE__ */ jsx12("li", { children: /* @__PURE__ */ jsxs12(
1387
+ "div",
1388
+ {
1389
+ onClick: () => {
1390
+ setValue(item);
1391
+ setSearch("");
1392
+ setIsOpen(false);
1393
+ },
1394
+ className: "relative text-gray-900 py-12 px-16 rounded-sm text-label-medium hover:bg-gray-100",
1395
+ children: [
1396
+ item.label,
1397
+ value.value === item.value && /* @__PURE__ */ jsx12(IconCheck, { className: "absolute h-20 w-20 right-24 top-2 translate-y-1/2" })
1398
+ ]
1399
+ }
1400
+ ) }, idx)) : /* @__PURE__ */ jsx12("li", { className: "px-8 py-8 text-label-medium text-gray-900", children: "No results found" })
1401
+ }
1402
+ )
1403
+ ]
1404
+ }
1405
+ )
1406
+ ] }),
1407
+ error ? /* @__PURE__ */ jsx12(
1408
+ "p",
1409
+ {
1410
+ className: `text-caption-caption text-left items-left text-dropdown-text-danger mt-4 ${isDisabled ? "hidden" : ""}`,
1411
+ children: error
1412
+ }
1413
+ ) : /* @__PURE__ */ jsx12(Fragment2, {})
1414
+ ] });
1415
+ };
1416
+ Dropdown.displayName = "Dropdown";
1417
+
1418
+ // src/components/FinancialLogo/FinancialLogo.tsx
1419
+ import { forwardRef as forwardRef12 } from "react";
1420
+ import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
1421
+ var inlineClasses2 = {
1422
+ info: "bg-alert-inline-info-bg border-alert-inline-info-border text-alert-text-primary",
1423
+ success: "bg-alert-inline-success-bg border-alert-inline-success-border text-alert-text-primary",
1424
+ warning: "bg-alert-inline-warning-bg border-alert-inline-warning-border text-alert-text-primary",
1425
+ danger: "bg-alert-inline-danger-bg border-alert-inline-danger-border text-alert-text-primary",
1426
+ common: "bg-alert-inline-common-bg border-alert-inline-common-border text-alert-text-primary"
1427
+ };
1428
+ var pageClasses2 = {
1429
+ info: "bg-alert-page-info-bg text-alert-text-primary-inverse",
1430
+ success: "bg-alert-page-success-bg text-alert-text-primary-inverse",
1431
+ warning: "bg-alert-page-warning-bg text-alert-text-primary-inverse",
1432
+ danger: "bg-alert-page-danger-bg text-alert-text-primary-inverse",
1433
+ common: "bg-alert-page-common-bg text-alert-text-primary-inverse"
1434
+ };
1435
+ var actionsPageClasses2 = {
1436
+ info: "text-enabled-inverse",
1437
+ success: "text-enabled-inverse",
1438
+ warning: "text-enabled-dark",
1439
+ danger: "text-enabled-inverse",
1440
+ common: "text-enabled-inverse"
1441
+ };
1442
+ var inlineIconClasses2 = {
1443
+ info: "text-alert-inline-info-icon",
1444
+ success: "text-alert-inline-success-icon",
1445
+ warning: "text-alert-inline-warning-icon",
1446
+ danger: "text-alert-inline-danger-icon",
1447
+ common: "text-alert-inline-common-icon"
1448
+ };
1449
+ function InfoIcon2({ className }) {
1450
+ return /* @__PURE__ */ jsx13("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM10 6h.01M9 10h1v4h1", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1451
+ }
1452
+ function SuccessIcon2({ className }) {
1453
+ return /* @__PURE__ */ jsxs13("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
1454
+ /* @__PURE__ */ jsx13("path", { d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z", stroke: "currentColor", strokeWidth: "1.5" }),
1455
+ /* @__PURE__ */ jsx13("path", { d: "m7 10 2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
1456
+ ] });
1457
+ }
1458
+ function WarningIcon2({ className }) {
1459
+ return /* @__PURE__ */ jsx13("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M8.57 3.22 1.53 15.5a1.67 1.67 0 0 0 1.43 2.5h14.08a1.67 1.67 0 0 0 1.43-2.5L11.43 3.22a1.67 1.67 0 0 0-2.86 0ZM10 7.5v3.33M10 14.17h.01", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1460
+ }
1461
+ function DangerIcon2({ className }) {
1462
+ return /* @__PURE__ */ jsx13("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM12.5 7.5l-5 5M7.5 7.5l5 5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1463
+ }
1464
+ function CommonIcon({ className }) {
1465
+ return /* @__PURE__ */ jsx13("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM10 6v4M10 14h.01", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1466
+ }
1467
+ function CloseIcon2({ className }) {
1468
+ return /* @__PURE__ */ jsx13("svg", { className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M12 4 4 12M4 4l8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1469
+ }
1470
+ var defaultIcons2 = {
1471
+ info: InfoIcon2,
1472
+ success: SuccessIcon2,
1473
+ warning: WarningIcon2,
1474
+ danger: DangerIcon2,
1475
+ common: CommonIcon
1476
+ };
1477
+ var FinancialLogo = forwardRef12(
1478
+ (_a, ref) => {
1479
+ var _b = _a, {
1480
+ variant = "info",
1481
+ mode = "inline",
1482
+ title,
1483
+ description,
1484
+ action,
1485
+ icon,
1486
+ onClose,
1487
+ className = "",
1488
+ children
1489
+ } = _b, rest = __objRest(_b, [
1490
+ "variant",
1491
+ "mode",
1492
+ "title",
1493
+ "description",
1494
+ "action",
1495
+ "icon",
1496
+ "onClose",
1497
+ "className",
1498
+ "children"
1499
+ ]);
1500
+ const isPage = mode === "page";
1501
+ const variantClass = isPage ? pageClasses2[variant] : inlineClasses2[variant];
1502
+ const actionClass = isPage ? actionsPageClasses2[variant] : "text-enabled";
1503
+ const DefaultIcon = defaultIcons2[variant];
1504
+ const iconColorClass = isPage ? "" : inlineIconClasses2[variant];
1505
+ const descColorClass = isPage ? "text-alert-text-secondary-inverse" : "text-alert-text-secondary";
1506
+ const closeColorClass = isPage ? "text-alert-close-inverse hover:text-alert-close-inverse-hover" : "text-alert-close hover:text-alert-close-hover";
1507
+ const classes = [
1508
+ "flex items-start gap-12 font-sans",
1509
+ isPage ? "px-16 py-12" : "px-16 py-12 border-l-4 rounded-lg",
1510
+ variantClass,
1511
+ className
1512
+ ].filter(Boolean).join(" ");
1513
+ return /* @__PURE__ */ jsxs13("div", __spreadProps(__spreadValues({ ref, role: "alert", className: classes }, rest), { children: [
1514
+ /* @__PURE__ */ jsx13("span", { className: `shrink-0 mt-2 ${iconColorClass}`, children: icon != null ? icon : /* @__PURE__ */ jsx13(DefaultIcon, { className: "h-20 w-20" }) }),
1515
+ /* @__PURE__ */ jsxs13("div", { className: "flex-1 min-w-0", children: [
1516
+ title && /* @__PURE__ */ jsx13("p", { className: "text-sm font-medium leading-20", children: title }),
1517
+ description && /* @__PURE__ */ jsx13("p", { className: `text-sm leading-20 ${descColorClass} ${title ? "mt-4" : ""}`, children: description }),
1518
+ children
1519
+ ] }),
1520
+ action && /* @__PURE__ */ jsx13("div", { className: `${actionClass} underline text-sm font-medium`, children: action }),
1521
+ onClose && /* @__PURE__ */ jsx13(
1522
+ "button",
1523
+ {
1524
+ type: "button",
1525
+ onClick: onClose,
1526
+ className: `shrink-0 p-2 rounded transition-colors ${closeColorClass}`,
1527
+ "aria-label": "Close",
1528
+ children: /* @__PURE__ */ jsx13(CloseIcon2, { className: "h-16 w-16" })
1529
+ }
1530
+ )
1531
+ ] }));
1532
+ }
1533
+ );
1534
+ FinancialLogo.displayName = "FinancialLogo";
1535
+
1536
+ // src/components/Icon/Icon.tsx
1537
+ import { forwardRef as forwardRef13 } from "react";
1538
+ import { jsx as jsx14 } from "react/jsx-runtime";
1539
+ var Icon = forwardRef13(
1540
+ (_a, ref) => {
1541
+ var _b = _a, {
1542
+ name,
1543
+ size = 20,
1544
+ weight = 300,
1545
+ fill = false,
1546
+ grade = 0,
1547
+ opticalSize,
1548
+ className = "",
1549
+ style,
1550
+ "aria-label": ariaLabel
1551
+ } = _b, rest = __objRest(_b, [
1552
+ "name",
1553
+ "size",
1554
+ "weight",
1555
+ "fill",
1556
+ "grade",
1557
+ "opticalSize",
1558
+ "className",
1559
+ "style",
1560
+ "aria-label"
1561
+ ]);
1562
+ const opsz = opticalSize != null ? opticalSize : size === 16 ? 20 : size === 20 ? 20 : 24;
1563
+ const classes = [
1564
+ "material-symbols-outlined select-none shrink-0 inline-block leading-none",
1565
+ className
1566
+ ].filter(Boolean).join(" ");
1567
+ return /* @__PURE__ */ jsx14(
1568
+ "span",
1569
+ __spreadProps(__spreadValues({
1570
+ ref,
1571
+ className: classes,
1572
+ "aria-hidden": ariaLabel ? void 0 : true,
1573
+ "aria-label": ariaLabel,
1574
+ role: ariaLabel ? "img" : void 0,
1575
+ style: __spreadValues({
1576
+ fontSize: `${size}px`,
1577
+ width: `${size}px`,
1578
+ height: `${size}px`,
1579
+ fontVariationSettings: `'FILL' ${fill ? 1 : 0}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' ${opsz}`
1580
+ }, style)
1581
+ }, rest), {
1582
+ children: name
1583
+ })
1584
+ );
1585
+ }
1586
+ );
1587
+ Icon.displayName = "Icon";
1588
+
1589
+ // src/components/Link/Link.tsx
1590
+ import { forwardRef as forwardRef14 } from "react";
1591
+ import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
1592
+ var linkStyleClasses = {
1593
+ brand: "font-sans text-link-text-enabled",
1594
+ white: "font-sans text-link-text-enabled-inverse",
1595
+ black: "font-sans text-link-text-enabled-dark",
1596
+ brandLooped: "font-looped text-link-text-enabled",
1597
+ whiteLooped: "font-looped text-link-text-enabled-inverse",
1598
+ blackLooped: "font-looped text-link-text-enabled-dark"
1599
+ };
1600
+ var linkVariantClasses = {
1601
+ xs: "text-link-extra-small gap-2",
1602
+ sm: "text-link-small gap-2",
1603
+ md: "text-link-medium gap-2",
1604
+ lg: "text-link-large gap-4"
1605
+ };
1606
+ var iconVariantClasses = {
1607
+ xs: "w-20 h-20",
1608
+ sm: "w-20 h-20",
1609
+ md: "w-20 h-20",
1610
+ lg: "w-24 h-24"
1611
+ };
1612
+ function SuccessIcon3({ className }) {
1613
+ return /* @__PURE__ */ jsxs14("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
1614
+ /* @__PURE__ */ jsx15("path", { d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z", stroke: "currentColor", strokeWidth: "1.5" }),
1615
+ /* @__PURE__ */ jsx15("path", { d: "m7 10 2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
1616
+ ] });
1617
+ }
1618
+ var Link = forwardRef14(
1619
+ (_a, ref) => {
1620
+ var _b = _a, {
1621
+ variant = "sm",
1622
+ isInline = false,
1623
+ linkStyle = "brand",
1624
+ text,
1625
+ href,
1626
+ icon = true,
1627
+ className = "",
1628
+ children
1629
+ } = _b, rest = __objRest(_b, [
1630
+ "variant",
1631
+ "isInline",
1632
+ "linkStyle",
1633
+ "text",
1634
+ "href",
1635
+ "icon",
1636
+ "className",
1637
+ "children"
1638
+ ]);
1639
+ const styleClass = linkStyleClasses[linkStyle];
1640
+ const variantClass = linkVariantClasses[variant];
1641
+ const iconClass = iconVariantClasses[variant];
1642
+ const classes = [
1643
+ "flex items-center",
1644
+ isInline ? "underline" : "",
1645
+ styleClass,
1646
+ variantClass,
1647
+ className
1648
+ ].filter(Boolean).join(" ");
1649
+ return /* @__PURE__ */ jsxs14("div", __spreadProps(__spreadValues({ ref, role: "link", className: classes }, rest), { children: [
1650
+ /* @__PURE__ */ jsx15("a", { className: "", href, children: text }),
1651
+ icon && !isInline ? /* @__PURE__ */ jsx15(SuccessIcon3, { className: iconClass }) : null
1652
+ ] }));
1653
+ }
1654
+ );
1655
+ Link.displayName = "Link";
1656
+
1657
+ // src/components/Radio/Radio.tsx
1658
+ import {
1659
+ forwardRef as forwardRef15,
1660
+ useId as useId3
1661
+ } from "react";
1662
+ import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
1663
+ var Radio = forwardRef15(
1664
+ (_a, ref) => {
1665
+ var _b = _a, {
1666
+ size = "sm",
1667
+ label,
1668
+ description,
1669
+ error = false,
1670
+ checked,
1671
+ defaultChecked,
1672
+ disabled = false,
1673
+ className = "",
1674
+ id,
1675
+ name
1676
+ } = _b, rest = __objRest(_b, [
1677
+ "size",
1678
+ "label",
1679
+ "description",
1680
+ "error",
1681
+ "checked",
1682
+ "defaultChecked",
1683
+ "disabled",
1684
+ "className",
1685
+ "id",
1686
+ "name"
1687
+ ]);
1688
+ const reactId = useId3();
1689
+ const inputId = id != null ? id : reactId;
1690
+ return /* @__PURE__ */ jsx16(
1691
+ "div",
1692
+ {
1693
+ className: `${disabled ? "cursor-not-allowed" : "cursor-pointer"} ${className}`,
1694
+ children: /* @__PURE__ */ jsxs15(
1695
+ "label",
1696
+ {
1697
+ htmlFor: inputId,
1698
+ className: `flex gap-4 ${disabled ? "pointer-events-none text-gray-400" : "text-gray-900 cursor-pointer"}`,
1699
+ children: [
1700
+ /* @__PURE__ */ jsxs15("div", { children: [
1701
+ /* @__PURE__ */ jsx16(
1702
+ "input",
1703
+ __spreadValues({
1704
+ ref,
1705
+ id: inputId,
1706
+ type: "radio",
1707
+ className: "sr-only peer",
1708
+ checked,
1709
+ defaultChecked,
1710
+ disabled,
1711
+ name
1712
+ }, rest)
1713
+ ),
1714
+ /* @__PURE__ */ jsx16(
1715
+ "div",
1716
+ {
1717
+ className: `relative box flex items-center justify-center rounded-full border-2 group bg-white
1718
+ ${size === "sm" ? "h-16 w-16 my-4 ml-3 mr-3" : "m-3 h-20 w-20 text-label-large"}
1719
+ ${error ? "border-red-500" : "border-gray-600 peer-checked:border-blue-600 peer-disabled:border-gray-400!"}
1720
+ `,
1721
+ children: /* @__PURE__ */ jsx16(
1722
+ "span",
1723
+ {
1724
+ className: `absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2
1725
+ ${size === "sm" ? "h-8 w-8" : "h-10 w-10"}
1726
+ rounded-full bg-white group-peer-checked:bg-blue-600 group-peer-disabled:bg-white`
1727
+ }
1728
+ )
1729
+ }
1730
+ )
1731
+ ] }),
1732
+ /* @__PURE__ */ jsxs15(
1733
+ "div",
1734
+ {
1735
+ className: `flex flex-col gap-1 ${size === "sm" ? "mt-2" : "mt-4"}`,
1736
+ children: [
1737
+ /* @__PURE__ */ jsx16(
1738
+ "p",
1739
+ {
1740
+ className: `
1741
+ ${size === "sm" ? "text-label-medium" : "text-label-large"}
1742
+ ${disabled ? "text-gray-400" : "text-gray-900"}
1743
+ `,
1744
+ children: label
1745
+ }
1746
+ ),
1747
+ /* @__PURE__ */ jsx16(
1748
+ "p",
1749
+ {
1750
+ className: `text-caption-caption ${disabled ? "text-gray-400" : error ? "text-red-600" : "text-gray-600"}`,
1751
+ children: description
1752
+ }
1753
+ )
1754
+ ]
1755
+ }
1756
+ )
1757
+ ]
1758
+ }
1759
+ )
1137
1760
  }
1138
1761
  );
1139
1762
  }
1140
1763
  );
1141
1764
  Radio.displayName = "Radio";
1142
1765
 
1766
+ // src/components/SegmentControl/SegmentControl.tsx
1767
+ import {
1768
+ forwardRef as forwardRef16
1769
+ } from "react";
1770
+ import { jsx as jsx17 } from "react/jsx-runtime";
1771
+ var SegmentControl = forwardRef16(
1772
+ (_a, ref) => {
1773
+ var _b = _a, { size = "md", items, selected, setSelected, className = "" } = _b, rest = __objRest(_b, ["size", "items", "selected", "setSelected", "className"]);
1774
+ return /* @__PURE__ */ jsx17(
1775
+ "div",
1776
+ __spreadProps(__spreadValues({
1777
+ ref,
1778
+ className: `bg-background-tertiary rounded-full flex flex-row items-center justify-center p-4 gap-4 ${className}`
1779
+ }, rest), {
1780
+ children: items.map((item) => /* @__PURE__ */ jsx17(
1781
+ "div",
1782
+ {
1783
+ onClick: () => setSelected == null ? void 0 : setSelected(item.value),
1784
+ className: `cursor-pointer rounded-full text-center grow
1785
+ ${size === "sm" ? "px-8 py-6 text-label-medium" : size === "md" ? "px-12 py-10 text-label-large" : "px-16 py-14 text-label-large"} ${selected === item.value ? "bg-segmented-control-background-active shadow-base text-segmented-control-text-primary hover:bg-segmented-control-background-active-hover" : "bg-segmented-control-background-enabled text-segmented-control-text-primary hover:bg-segmented-control-background-hover"} `,
1786
+ children: item.label
1787
+ },
1788
+ item.value
1789
+ ))
1790
+ })
1791
+ );
1792
+ }
1793
+ );
1794
+ SegmentControl.displayName = "SegmentControl";
1795
+
1143
1796
  // src/components/Slider/Slider.tsx
1144
1797
  import {
1145
- forwardRef as forwardRef11,
1798
+ forwardRef as forwardRef17,
1146
1799
  useCallback as useCallback4,
1147
1800
  useId as useId4,
1148
- useState as useState5
1801
+ useState as useState8
1149
1802
  } from "react";
1150
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
1803
+ import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
1151
1804
  var sizeConfig = {
1152
1805
  small: {
1153
1806
  trackH: "h-4",
@@ -1178,7 +1831,7 @@ var sizeConfig = {
1178
1831
  }
1179
1832
  };
1180
1833
  function ChevronGlyphs({ size, color }) {
1181
- return /* @__PURE__ */ jsxs10(
1834
+ return /* @__PURE__ */ jsxs16(
1182
1835
  "svg",
1183
1836
  {
1184
1837
  width: size,
@@ -1188,7 +1841,7 @@ function ChevronGlyphs({ size, color }) {
1188
1841
  xmlns: "http://www.w3.org/2000/svg",
1189
1842
  "aria-hidden": "true",
1190
1843
  children: [
1191
- /* @__PURE__ */ jsx11(
1844
+ /* @__PURE__ */ jsx18(
1192
1845
  "path",
1193
1846
  {
1194
1847
  d: "M4.75 3.25L2.25 6L4.75 8.75",
@@ -1198,7 +1851,7 @@ function ChevronGlyphs({ size, color }) {
1198
1851
  strokeLinejoin: "round"
1199
1852
  }
1200
1853
  ),
1201
- /* @__PURE__ */ jsx11(
1854
+ /* @__PURE__ */ jsx18(
1202
1855
  "path",
1203
1856
  {
1204
1857
  d: "M7.25 3.25L9.75 6L7.25 8.75",
@@ -1212,7 +1865,7 @@ function ChevronGlyphs({ size, color }) {
1212
1865
  }
1213
1866
  );
1214
1867
  }
1215
- var Slider = forwardRef11(
1868
+ var Slider = forwardRef17(
1216
1869
  (_a, ref) => {
1217
1870
  var _b = _a, {
1218
1871
  size = "medium",
@@ -1253,7 +1906,7 @@ var Slider = forwardRef11(
1253
1906
  const ariaLabel = ariaLabelProp != null ? ariaLabelProp : typeof label === "string" ? void 0 : "Slider";
1254
1907
  const ariaDescriptionId = description ? `${inputId}-description` : void 0;
1255
1908
  const isControlled = controlledValue !== void 0;
1256
- const [internalValue, setInternalValue] = useState5(defaultValue != null ? defaultValue : min);
1909
+ const [internalValue, setInternalValue] = useState8(defaultValue != null ? defaultValue : min);
1257
1910
  const currentValue = isControlled ? controlledValue : internalValue;
1258
1911
  const handleChange = useCallback4(
1259
1912
  (e) => {
@@ -1275,13 +1928,13 @@ var Slider = forwardRef11(
1275
1928
  const descriptionColor = disabled ? "text-slider-label-disabled" : "text-slider-description";
1276
1929
  const thumbOffset = percent * sz.thumbPx / 100;
1277
1930
  const fillOffset = sz.thumbPx / 2 - thumbOffset;
1278
- return /* @__PURE__ */ jsxs10(
1931
+ return /* @__PURE__ */ jsxs16(
1279
1932
  "div",
1280
1933
  {
1281
1934
  className: ["flex w-full flex-col gap-8 font-sans", className].filter(Boolean).join(" "),
1282
1935
  children: [
1283
- (label || showValue && !disabled) && /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between", children: [
1284
- label && /* @__PURE__ */ jsx11(
1936
+ (label || showValue && !disabled) && /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between", children: [
1937
+ label && /* @__PURE__ */ jsx18(
1285
1938
  "label",
1286
1939
  {
1287
1940
  htmlFor: inputId,
@@ -1294,7 +1947,7 @@ var Slider = forwardRef11(
1294
1947
  children: label
1295
1948
  }
1296
1949
  ),
1297
- showValue && /* @__PURE__ */ jsx11(
1950
+ showValue && /* @__PURE__ */ jsx18(
1298
1951
  "span",
1299
1952
  {
1300
1953
  className: [sz.description, "tabular-nums", labelColor].join(" "),
@@ -1302,7 +1955,7 @@ var Slider = forwardRef11(
1302
1955
  }
1303
1956
  )
1304
1957
  ] }),
1305
- /* @__PURE__ */ jsxs10(
1958
+ /* @__PURE__ */ jsxs16(
1306
1959
  "div",
1307
1960
  {
1308
1961
  className: [
@@ -1311,7 +1964,7 @@ var Slider = forwardRef11(
1311
1964
  disabled ? "cursor-not-allowed" : "cursor-pointer"
1312
1965
  ].join(" "),
1313
1966
  children: [
1314
- /* @__PURE__ */ jsx11(
1967
+ /* @__PURE__ */ jsx18(
1315
1968
  "div",
1316
1969
  {
1317
1970
  className: [
@@ -1321,14 +1974,14 @@ var Slider = forwardRef11(
1321
1974
  ].join(" ")
1322
1975
  }
1323
1976
  ),
1324
- /* @__PURE__ */ jsx11(
1977
+ /* @__PURE__ */ jsx18(
1325
1978
  "div",
1326
1979
  {
1327
1980
  className: ["absolute left-0 rounded-full", sz.trackH, fillBg].join(" "),
1328
1981
  style: { width: `calc(${percent}% + ${fillOffset}px)` }
1329
1982
  }
1330
1983
  ),
1331
- /* @__PURE__ */ jsx11(
1984
+ /* @__PURE__ */ jsx18(
1332
1985
  "input",
1333
1986
  __spreadValues({
1334
1987
  ref,
@@ -1349,7 +2002,7 @@ var Slider = forwardRef11(
1349
2002
  ].join(" ")
1350
2003
  }, rest)
1351
2004
  ),
1352
- /* @__PURE__ */ jsx11(
2005
+ /* @__PURE__ */ jsx18(
1353
2006
  "div",
1354
2007
  {
1355
2008
  className: [
@@ -1362,13 +2015,13 @@ var Slider = forwardRef11(
1362
2015
  !disabled && "peer-hover:shadow-medium"
1363
2016
  ].filter(Boolean).join(" "),
1364
2017
  style: { left: `calc(${percent}% - ${thumbOffset}px)` },
1365
- children: /* @__PURE__ */ jsx11(ChevronGlyphs, { size: sz.iconPx, color: iconColor })
2018
+ children: /* @__PURE__ */ jsx18(ChevronGlyphs, { size: sz.iconPx, color: iconColor })
1366
2019
  }
1367
2020
  )
1368
2021
  ]
1369
2022
  }
1370
2023
  ),
1371
- description && /* @__PURE__ */ jsx11(
2024
+ description && /* @__PURE__ */ jsx18(
1372
2025
  "span",
1373
2026
  {
1374
2027
  id: ariaDescriptionId,
@@ -1383,31 +2036,351 @@ var Slider = forwardRef11(
1383
2036
  );
1384
2037
  Slider.displayName = "Slider";
1385
2038
 
2039
+ // src/components/Tab/Tab.tsx
2040
+ import { forwardRef as forwardRef18 } from "react";
2041
+ import { jsx as jsx19 } from "react/jsx-runtime";
2042
+ var Tab = forwardRef18(
2043
+ (_a, ref) => {
2044
+ var _b = _a, {
2045
+ size = "md",
2046
+ label,
2047
+ value,
2048
+ isDisabled = false,
2049
+ selected,
2050
+ setSelected,
2051
+ className = ""
2052
+ } = _b, rest = __objRest(_b, [
2053
+ "size",
2054
+ "label",
2055
+ "value",
2056
+ "isDisabled",
2057
+ "selected",
2058
+ "setSelected",
2059
+ "className"
2060
+ ]);
2061
+ return /* @__PURE__ */ jsx19(
2062
+ "div",
2063
+ __spreadProps(__spreadValues({
2064
+ ref,
2065
+ className: `flex items-center justify-center
2066
+ ${size === "md" ? "text-label-medium px-16 pt-12 pb-8" : "text-label-large p-16"}
2067
+ ${value === selected ? isDisabled ? "cursor-not-allowed text-gray-400 border-gray-100 border-b-2" : "text-blue-600 border-blue-600 border-b-2 cursor-pointer" : isDisabled ? "cursor-not-allowed text-gray-400" : "text-gray-600 hover:border-b-2 hover:border-gray-200 cursor-pointer"}
2068
+ ${className}`,
2069
+ onClick: () => !isDisabled && (setSelected == null ? void 0 : setSelected(value))
2070
+ }, rest), {
2071
+ children: label
2072
+ })
2073
+ );
2074
+ }
2075
+ );
2076
+ Tab.displayName = "Tab";
2077
+
2078
+ // src/components/TextArea/TextArea.tsx
2079
+ import {
2080
+ useState as useState9,
2081
+ forwardRef as forwardRef19
2082
+ } from "react";
2083
+ import { Fragment as Fragment3, jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
2084
+ var TextArea = forwardRef19(
2085
+ (_a, ref) => {
2086
+ var _b = _a, {
2087
+ maxText = 500,
2088
+ height = 100,
2089
+ error,
2090
+ label,
2091
+ placeholder,
2092
+ description,
2093
+ icon,
2094
+ isDisabled = false,
2095
+ isLoading = false,
2096
+ isVertify = false,
2097
+ isClearable = true,
2098
+ disabled,
2099
+ value,
2100
+ onChange
2101
+ } = _b, props = __objRest(_b, [
2102
+ "maxText",
2103
+ "height",
2104
+ "error",
2105
+ "label",
2106
+ "placeholder",
2107
+ "description",
2108
+ "icon",
2109
+ "isDisabled",
2110
+ "isLoading",
2111
+ "isVertify",
2112
+ "isClearable",
2113
+ "disabled",
2114
+ "value",
2115
+ "onChange"
2116
+ ]);
2117
+ const [isFocused, setIsFocused] = useState9(false);
2118
+ return /* @__PURE__ */ jsxs17("div", { className: "w-full flex flex-col gap-4", children: [
2119
+ /* @__PURE__ */ jsxs17("div", { className: "w-full flex justify-between items-center ", children: [
2120
+ label ? /* @__PURE__ */ jsx20(
2121
+ "p",
2122
+ {
2123
+ className: `text-label-medium text-left items-left ${isDisabled || disabled ? "text-gray-400" : "text-gray-900"}`,
2124
+ children: label
2125
+ }
2126
+ ) : /* @__PURE__ */ jsx20(Fragment3, {}),
2127
+ maxText ? /* @__PURE__ */ jsxs17("p", { className: "text-gray-400 text-caption-caption", children: [
2128
+ " ",
2129
+ (value == null ? void 0 : value.length) || 0,
2130
+ " / ",
2131
+ maxText
2132
+ ] }) : /* @__PURE__ */ jsx20(Fragment3, {})
2133
+ ] }),
2134
+ /* @__PURE__ */ jsxs17("div", { className: "relative w-full", children: [
2135
+ /* @__PURE__ */ jsx20(
2136
+ "textarea",
2137
+ __spreadValues({
2138
+ ref,
2139
+ name: "text-input",
2140
+ placeholder,
2141
+ disabled: isDisabled || disabled || isLoading,
2142
+ onFocus: () => setIsFocused(true),
2143
+ onBlur: () => setIsFocused(false),
2144
+ value,
2145
+ onChange,
2146
+ className: `w-full min-h-${height} focus:min-h-${height - 2} pt-12 pb-8 pr-44 pl-16 focus:pt-11 focus:pb-7 focus:pr-43 focus:pl-15 border border-gray-300 text-base rounded-md focus:outline-none focus:ring-1 focus:m-1 focus:w-[calc(100%-2px)] ${isDisabled || disabled ? "bg-gray-50 text-gray-400" : error ? "bg-white text-gray-900 border-red-500 focus:border-red-500 focus:ring-red-500" : "bg-white text-gray-900 focus:border-blue-600 focus:ring-blue-600"}`
2147
+ }, props)
2148
+ ),
2149
+ isLoading ? /* @__PURE__ */ jsx20(
2150
+ Loading,
2151
+ {
2152
+ size: "sm",
2153
+ className: `absolute right-12 top-12`
2154
+ }
2155
+ ) : isClearable && isFocused && value ? /* @__PURE__ */ jsx20(
2156
+ "svg",
2157
+ {
2158
+ xmlns: "http://www.w3.org/2000/svg",
2159
+ width: "20",
2160
+ height: "20",
2161
+ viewBox: "0 0 20 20",
2162
+ fill: "none",
2163
+ className: "text-gray-900 flex h-20 w-20 items-center justify-center absolute right-12 top-12",
2164
+ onMouseDown: (e) => {
2165
+ e.preventDefault();
2166
+ onChange == null ? void 0 : onChange({ target: { value: "" } });
2167
+ },
2168
+ children: /* @__PURE__ */ jsx20(
2169
+ "path",
2170
+ {
2171
+ d: "M14.7119 6.0625L10.7744 10L14.7119 13.9375L13.9375 14.7119L10 10.7744L6.0625 14.7119L5.28809 13.9375L9.22559 10L5.28809 6.0625L6.0625 5.28809L10 9.22559L13.9375 5.28809L14.7119 6.0625Z",
2172
+ fill: "#111827"
2173
+ }
2174
+ )
2175
+ }
2176
+ ) : isVertify ? /* @__PURE__ */ jsx20(
2177
+ "svg",
2178
+ {
2179
+ xmlns: "http://www.w3.org/2000/svg",
2180
+ width: "20",
2181
+ height: "20",
2182
+ viewBox: "0 0 20 20",
2183
+ fill: "none",
2184
+ className: "text-green-600 flex h-20 w-20 items-center justify-center absolute right-12 top-12",
2185
+ children: /* @__PURE__ */ jsx20(
2186
+ "path",
2187
+ {
2188
+ "fill-rule": "evenodd",
2189
+ "clip-rule": "evenodd",
2190
+ d: "M15.6328 6.64062L8.10449 14.1494L4.36719 10.4326L5.13281 9.64551L8.10449 12.6172L14.8672 5.875L15.6328 6.64062Z",
2191
+ fill: "#16A34A"
2192
+ }
2193
+ )
2194
+ }
2195
+ ) : error ? /* @__PURE__ */ jsx20(
2196
+ "svg",
2197
+ {
2198
+ xmlns: "http://www.w3.org/2000/svg",
2199
+ width: "20",
2200
+ height: "20",
2201
+ viewBox: "0 0 20 20",
2202
+ fill: "none",
2203
+ className: "text-red-500 flex h-20 w-20 items-center justify-center absolute right-12 top-12",
2204
+ children: /* @__PURE__ */ jsx20(
2205
+ "path",
2206
+ {
2207
+ d: "M10.0078 2.41699C11.0548 2.41699 12.0363 2.61407 12.9512 3.00879C13.8657 3.40341 14.6687 3.94646 15.3604 4.6377C16.0522 5.32922 16.5962 6.13426 16.9912 7.05176C17.386 7.96936 17.583 8.95002 17.583 9.99316C17.583 11.0363 17.3859 12.0187 16.9912 12.9404C16.5966 13.862 16.0536 14.6687 15.3623 15.3604C14.6708 16.0522 13.8657 16.5962 12.9482 16.9912C12.0306 17.386 11.05 17.583 10.0068 17.583C8.96373 17.583 7.9813 17.3859 7.05957 16.9912C6.13798 16.5966 5.33135 16.0536 4.63965 15.3623C3.94784 14.6708 3.40379 13.8642 3.00879 12.9434C2.61398 12.0228 2.41703 11.039 2.41699 9.99219C2.41699 8.94524 2.61407 7.96369 3.00879 7.04883C3.40341 6.13429 3.94646 5.33128 4.6377 4.63965C5.32922 3.94784 6.13581 3.40379 7.05664 3.00879C7.97723 2.61398 8.961 2.41703 10.0078 2.41699ZM10.0039 12.5967C9.83828 12.5968 9.69804 12.6527 9.58301 12.7646C9.46793 12.8769 9.41016 13.0159 9.41016 13.1816C9.4102 13.3472 9.46621 13.4875 9.57812 13.6025C9.69035 13.7177 9.83026 13.7754 9.99609 13.7754C10.1617 13.7753 10.302 13.7195 10.417 13.6074C10.5321 13.4952 10.5898 13.3562 10.5898 13.1904C10.5898 13.0246 10.534 12.8837 10.4219 12.7686C10.3097 12.6536 10.1697 12.5967 10.0039 12.5967ZM9.45801 11.0645H10.542V6.06445H9.45801V11.0645Z",
2208
+ fill: "#EF4444"
2209
+ }
2210
+ )
2211
+ }
2212
+ ) : /* @__PURE__ */ jsx20(Fragment3, {})
2213
+ ] }),
2214
+ error ? /* @__PURE__ */ jsx20("p", { className: "text-caption-caption text-left items-left text-red-600", children: error }) : description ? /* @__PURE__ */ jsx20("p", { className: "text-caption-caption text-left items-left text-gray-600", children: description }) : /* @__PURE__ */ jsx20(Fragment3, {})
2215
+ ] });
2216
+ }
2217
+ );
2218
+ TextArea.displayName = "TextArea";
2219
+
2220
+ // src/components/TextField/TextField.tsx
2221
+ import {
2222
+ useState as useState10,
2223
+ forwardRef as forwardRef20
2224
+ } from "react";
2225
+ import { Fragment as Fragment4, jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
2226
+ var TextField = forwardRef20(
2227
+ (_a, ref) => {
2228
+ var _b = _a, {
2229
+ inputSize,
2230
+ error,
2231
+ label,
2232
+ placeholder,
2233
+ description,
2234
+ icon,
2235
+ isDisabled = false,
2236
+ isLoading = false,
2237
+ isVertify = false,
2238
+ isUnrequired = false,
2239
+ isClearable = true,
2240
+ disabled,
2241
+ value,
2242
+ onChange
2243
+ } = _b, props = __objRest(_b, [
2244
+ "inputSize",
2245
+ "error",
2246
+ "label",
2247
+ "placeholder",
2248
+ "description",
2249
+ "icon",
2250
+ "isDisabled",
2251
+ "isLoading",
2252
+ "isVertify",
2253
+ "isUnrequired",
2254
+ "isClearable",
2255
+ "disabled",
2256
+ "value",
2257
+ "onChange"
2258
+ ]);
2259
+ const [isFocused, setIsFocused] = useState10(false);
2260
+ return /* @__PURE__ */ jsxs18("div", { className: "w-full flex flex-col gap-4", children: [
2261
+ label ? /* @__PURE__ */ jsxs18(
2262
+ "p",
2263
+ {
2264
+ className: `text-label-medium text-left items-left ${isDisabled || disabled ? "text-gray-400" : "text-gray-900"}`,
2265
+ children: [
2266
+ label,
2267
+ " ",
2268
+ isUnrequired && /* @__PURE__ */ jsx21("span", { className: "text-gray-400", children: `(\u0E44\u0E21\u0E48\u0E1A\u0E31\u0E07\u0E04\u0E31\u0E1A)` })
2269
+ ]
2270
+ }
2271
+ ) : /* @__PURE__ */ jsx21(Fragment4, {}),
2272
+ /* @__PURE__ */ jsxs18("div", { className: "relative w-full", children: [
2273
+ /* @__PURE__ */ jsx21(
2274
+ "input",
2275
+ __spreadValues({
2276
+ ref,
2277
+ name: "text-input",
2278
+ type: "text",
2279
+ placeholder,
2280
+ disabled: isDisabled || disabled || isLoading,
2281
+ onFocus: () => setIsFocused(true),
2282
+ onBlur: () => setIsFocused(false),
2283
+ value,
2284
+ onChange,
2285
+ className: `w-full ${inputSize === "md" ? "px-16 py-12 focus:px-15 focus:py-11" : "p-16 focus:p-15"} border border-gray-300 text-base rounded-md focus:outline-none focus:ring-1 focus:m-1 focus:w-[calc(100%-2px)] ${isDisabled || disabled ? "bg-gray-50 text-gray-400" : error ? "bg-white text-gray-900 border-red-500 focus:border-red-500 focus:ring-red-500" : "bg-white text-gray-900 focus:border-blue-600 focus:ring-blue-600"}`
2286
+ }, props)
2287
+ ),
2288
+ isLoading ? /* @__PURE__ */ jsx21(
2289
+ Loading,
2290
+ {
2291
+ size: "sm",
2292
+ className: `absolute right-16 top-1/2 -translate-y-1/2`
2293
+ }
2294
+ ) : isClearable && isFocused && value ? /* @__PURE__ */ jsx21(
2295
+ "svg",
2296
+ {
2297
+ xmlns: "http://www.w3.org/2000/svg",
2298
+ width: "20",
2299
+ height: "20",
2300
+ viewBox: "0 0 20 20",
2301
+ fill: "none",
2302
+ className: "text-gray-900 flex h-20 w-20 items-center justify-center absolute right-16 top-1/2 -translate-y-1/2",
2303
+ onMouseDown: (e) => {
2304
+ e.preventDefault();
2305
+ onChange == null ? void 0 : onChange({ target: { value: "" } });
2306
+ },
2307
+ children: /* @__PURE__ */ jsx21(
2308
+ "path",
2309
+ {
2310
+ d: "M14.7119 6.0625L10.7744 10L14.7119 13.9375L13.9375 14.7119L10 10.7744L6.0625 14.7119L5.28809 13.9375L9.22559 10L5.28809 6.0625L6.0625 5.28809L10 9.22559L13.9375 5.28809L14.7119 6.0625Z",
2311
+ fill: "#111827"
2312
+ }
2313
+ )
2314
+ }
2315
+ ) : isVertify ? /* @__PURE__ */ jsx21(
2316
+ "svg",
2317
+ {
2318
+ xmlns: "http://www.w3.org/2000/svg",
2319
+ width: "20",
2320
+ height: "20",
2321
+ viewBox: "0 0 20 20",
2322
+ fill: "none",
2323
+ className: "text-green-600 flex h-20 w-20 items-center justify-center absolute right-16 top-1/2 -translate-y-1/2",
2324
+ children: /* @__PURE__ */ jsx21(
2325
+ "path",
2326
+ {
2327
+ "fill-rule": "evenodd",
2328
+ "clip-rule": "evenodd",
2329
+ d: "M15.6328 6.64062L8.10449 14.1494L4.36719 10.4326L5.13281 9.64551L8.10449 12.6172L14.8672 5.875L15.6328 6.64062Z",
2330
+ fill: "#16A34A"
2331
+ }
2332
+ )
2333
+ }
2334
+ ) : error ? /* @__PURE__ */ jsx21(
2335
+ "svg",
2336
+ {
2337
+ xmlns: "http://www.w3.org/2000/svg",
2338
+ width: "20",
2339
+ height: "20",
2340
+ viewBox: "0 0 20 20",
2341
+ fill: "none",
2342
+ className: "text-red-500 flex h-20 w-20 items-center justify-center absolute right-16 top-1/2 -translate-y-1/2",
2343
+ children: /* @__PURE__ */ jsx21(
2344
+ "path",
2345
+ {
2346
+ d: "M10.0078 2.41699C11.0548 2.41699 12.0363 2.61407 12.9512 3.00879C13.8657 3.40341 14.6687 3.94646 15.3604 4.6377C16.0522 5.32922 16.5962 6.13426 16.9912 7.05176C17.386 7.96936 17.583 8.95002 17.583 9.99316C17.583 11.0363 17.3859 12.0187 16.9912 12.9404C16.5966 13.862 16.0536 14.6687 15.3623 15.3604C14.6708 16.0522 13.8657 16.5962 12.9482 16.9912C12.0306 17.386 11.05 17.583 10.0068 17.583C8.96373 17.583 7.9813 17.3859 7.05957 16.9912C6.13798 16.5966 5.33135 16.0536 4.63965 15.3623C3.94784 14.6708 3.40379 13.8642 3.00879 12.9434C2.61398 12.0228 2.41703 11.039 2.41699 9.99219C2.41699 8.94524 2.61407 7.96369 3.00879 7.04883C3.40341 6.13429 3.94646 5.33128 4.6377 4.63965C5.32922 3.94784 6.13581 3.40379 7.05664 3.00879C7.97723 2.61398 8.961 2.41703 10.0078 2.41699ZM10.0039 12.5967C9.83828 12.5968 9.69804 12.6527 9.58301 12.7646C9.46793 12.8769 9.41016 13.0159 9.41016 13.1816C9.4102 13.3472 9.46621 13.4875 9.57812 13.6025C9.69035 13.7177 9.83026 13.7754 9.99609 13.7754C10.1617 13.7753 10.302 13.7195 10.417 13.6074C10.5321 13.4952 10.5898 13.3562 10.5898 13.1904C10.5898 13.0246 10.534 12.8837 10.4219 12.7686C10.3097 12.6536 10.1697 12.5967 10.0039 12.5967ZM9.45801 11.0645H10.542V6.06445H9.45801V11.0645Z",
2347
+ fill: "#EF4444"
2348
+ }
2349
+ )
2350
+ }
2351
+ ) : /* @__PURE__ */ jsx21(Fragment4, {})
2352
+ ] }),
2353
+ error ? /* @__PURE__ */ jsx21("p", { className: "text-caption-caption text-left items-left text-red-600", children: error }) : description ? /* @__PURE__ */ jsx21("p", { className: "text-caption-caption text-left items-left text-gray-600", children: description }) : /* @__PURE__ */ jsx21(Fragment4, {})
2354
+ ] });
2355
+ }
2356
+ );
2357
+ TextField.displayName = "TextField";
2358
+
1386
2359
  // src/components/Toast/Toast.tsx
1387
- import { forwardRef as forwardRef12 } from "react";
1388
- import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
2360
+ import { forwardRef as forwardRef21 } from "react";
2361
+ import { jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
1389
2362
  function CheckCircleIcon({ className }) {
1390
- return /* @__PURE__ */ jsxs11("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
1391
- /* @__PURE__ */ jsx12("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5" }),
1392
- /* @__PURE__ */ jsx12("path", { d: "m7 10 2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
2363
+ return /* @__PURE__ */ jsxs19("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
2364
+ /* @__PURE__ */ jsx22("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5" }),
2365
+ /* @__PURE__ */ jsx22("path", { d: "m7 10 2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
1393
2366
  ] });
1394
2367
  }
1395
2368
  function ProgressIcon({ className }) {
1396
- return /* @__PURE__ */ jsxs11("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
1397
- /* @__PURE__ */ jsx12("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5", opacity: "0.3" }),
1398
- /* @__PURE__ */ jsx12("path", { d: "M10 2a8 8 0 0 1 8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", children: /* @__PURE__ */ jsx12("animateTransform", { attributeName: "transform", type: "rotate", from: "0 10 10", to: "360 10 10", dur: "1s", repeatCount: "indefinite" }) })
2369
+ return /* @__PURE__ */ jsxs19("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
2370
+ /* @__PURE__ */ jsx22("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5", opacity: "0.3" }),
2371
+ /* @__PURE__ */ jsx22("path", { d: "M10 2a8 8 0 0 1 8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", children: /* @__PURE__ */ jsx22("animateTransform", { attributeName: "transform", type: "rotate", from: "0 10 10", to: "360 10 10", dur: "1s", repeatCount: "indefinite" }) })
1399
2372
  ] });
1400
2373
  }
1401
2374
  function ErrorIcon({ className }) {
1402
- return /* @__PURE__ */ jsxs11("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
1403
- /* @__PURE__ */ jsx12("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5" }),
1404
- /* @__PURE__ */ jsx12("path", { d: "M10 6.5v4M10 13.5h.01", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
2375
+ return /* @__PURE__ */ jsxs19("svg", { className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
2376
+ /* @__PURE__ */ jsx22("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "1.5" }),
2377
+ /* @__PURE__ */ jsx22("path", { d: "M10 6.5v4M10 13.5h.01", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
1405
2378
  ] });
1406
2379
  }
1407
- function CloseIcon2({ className }) {
1408
- return /* @__PURE__ */ jsx12("svg", { className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx12("path", { d: "M12 4 4 12M4 4l8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
2380
+ function CloseIcon3({ className }) {
2381
+ return /* @__PURE__ */ jsx22("svg", { className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx22("path", { d: "M12 4 4 12M4 4l8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
1409
2382
  }
1410
- var defaultIcons2 = {
2383
+ var defaultIcons3 = {
1411
2384
  default: CheckCircleIcon,
1412
2385
  progress: ProgressIcon,
1413
2386
  error: ErrorIcon
@@ -1422,7 +2395,7 @@ var iconColorClasses = {
1422
2395
  progress: "text-toast-progress-icon",
1423
2396
  error: "text-toast-error-icon"
1424
2397
  };
1425
- var Toast = forwardRef12(
2398
+ var Toast = forwardRef21(
1426
2399
  (_a, ref) => {
1427
2400
  var _b = _a, {
1428
2401
  type = "default",
@@ -1441,7 +2414,7 @@ var Toast = forwardRef12(
1441
2414
  "children",
1442
2415
  "className"
1443
2416
  ]);
1444
- const DefaultIcon = defaultIcons2[type];
2417
+ const DefaultIcon = defaultIcons3[type];
1445
2418
  const classes = [
1446
2419
  "inline-flex items-center gap-12 font-sans",
1447
2420
  "rounded-xl px-16 py-12",
@@ -1450,10 +2423,10 @@ var Toast = forwardRef12(
1450
2423
  typeClasses[type],
1451
2424
  className
1452
2425
  ].filter(Boolean).join(" ");
1453
- return /* @__PURE__ */ jsxs11("div", __spreadProps(__spreadValues({ ref, role: "alert", className: classes }, rest), { children: [
1454
- icon && /* @__PURE__ */ jsx12("span", { className: `shrink-0 ${iconColorClasses[type]}`, children: /* @__PURE__ */ jsx12(DefaultIcon, { className: "h-20 w-20" }) }),
1455
- /* @__PURE__ */ jsx12("span", { className: "flex-1 text-sm font-medium leading-20 truncate", children }),
1456
- actionLabel && onAction && /* @__PURE__ */ jsx12(
2426
+ return /* @__PURE__ */ jsxs19("div", __spreadProps(__spreadValues({ ref, role: "alert", className: classes }, rest), { children: [
2427
+ icon && /* @__PURE__ */ jsx22("span", { className: `shrink-0 ${iconColorClasses[type]}`, children: /* @__PURE__ */ jsx22(DefaultIcon, { className: "h-20 w-20" }) }),
2428
+ /* @__PURE__ */ jsx22("span", { className: "flex-1 text-sm font-medium leading-20 truncate", children }),
2429
+ actionLabel && onAction && /* @__PURE__ */ jsx22(
1457
2430
  "button",
1458
2431
  {
1459
2432
  type: "button",
@@ -1462,31 +2435,184 @@ var Toast = forwardRef12(
1462
2435
  children: actionLabel
1463
2436
  }
1464
2437
  ),
1465
- onDismiss && /* @__PURE__ */ jsx12(
2438
+ onDismiss && /* @__PURE__ */ jsx22(
1466
2439
  "button",
1467
2440
  {
1468
2441
  type: "button",
1469
2442
  onClick: onDismiss,
1470
2443
  className: "shrink-0 p-4 rounded-md text-toast-dismiss hover:text-toast-dismiss-hover transition-colors",
1471
2444
  "aria-label": "Dismiss",
1472
- children: /* @__PURE__ */ jsx12(CloseIcon2, { className: "h-16 w-16" })
2445
+ children: /* @__PURE__ */ jsx22(CloseIcon3, { className: "h-16 w-16" })
1473
2446
  }
1474
2447
  )
1475
2448
  ] }));
1476
2449
  }
1477
2450
  );
1478
2451
  Toast.displayName = "Toast";
2452
+
2453
+ // src/components/ToggleSwitch/ToggleSwitch.tsx
2454
+ import { forwardRef as forwardRef22 } from "react";
2455
+ import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
2456
+ var ToggleSwitch = forwardRef22(
2457
+ (_a, ref) => {
2458
+ var _b = _a, {
2459
+ value,
2460
+ isDisabled = false,
2461
+ isSelected,
2462
+ setIsSelected,
2463
+ className = ""
2464
+ } = _b, rest = __objRest(_b, [
2465
+ "value",
2466
+ "isDisabled",
2467
+ "isSelected",
2468
+ "setIsSelected",
2469
+ "className"
2470
+ ]);
2471
+ return /* @__PURE__ */ jsxs20(
2472
+ "label",
2473
+ __spreadProps(__spreadValues({
2474
+ ref,
2475
+ className: `inline-flex items-center ${className}`
2476
+ }, rest), {
2477
+ children: [
2478
+ /* @__PURE__ */ jsx23(
2479
+ "input",
2480
+ {
2481
+ type: "checkbox",
2482
+ value,
2483
+ className: "sr-only peer",
2484
+ checked: isSelected,
2485
+ onChange: () => !isDisabled && (setIsSelected == null ? void 0 : setIsSelected(!isSelected))
2486
+ }
2487
+ ),
2488
+ /* @__PURE__ */ jsx23(
2489
+ "div",
2490
+ {
2491
+ className: `${isDisabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-gray-300 hover:peer-checked:bg-green-700"} relative w-48 h-26 bg-gray-200 rounded-full peer-checked:after:translate-x-22 rtl:peer-checked:after:-translate-x-22 peer-checked:after:border-white after:content-[''] after:absolute after:top-4 after:left-4 after:bg-white after:border-gray-300 after:border after:rounded-full after:h-18 after:w-18 after:transition-all peer-checked:bg-green-600 `
2492
+ }
2493
+ )
2494
+ ]
2495
+ })
2496
+ );
2497
+ }
2498
+ );
2499
+ ToggleSwitch.displayName = "ToggleSwitch";
2500
+
2501
+ // src/components/Tooltip/Tooltip.tsx
2502
+ import {
2503
+ useState as useState11,
2504
+ useEffect as useEffect6,
2505
+ useRef as useRef4,
2506
+ forwardRef as forwardRef23
2507
+ } from "react";
2508
+ import { Fragment as Fragment5, jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
2509
+ var Tooltip = forwardRef23(
2510
+ (_a, ref) => {
2511
+ var _b = _a, {
2512
+ size = "md",
2513
+ children,
2514
+ headText,
2515
+ text,
2516
+ position = "top",
2517
+ className = ""
2518
+ } = _b, rest = __objRest(_b, [
2519
+ "size",
2520
+ "children",
2521
+ "headText",
2522
+ "text",
2523
+ "position",
2524
+ "className"
2525
+ ]);
2526
+ const wrapperRef = useRef4(null);
2527
+ const [isVisible, setIsVisible] = useState11(false);
2528
+ const [isHovered, setIsHovered] = useState11(false);
2529
+ useEffect6(() => {
2530
+ const handleClickOutside = (event) => {
2531
+ if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {
2532
+ setIsVisible(false);
2533
+ setIsHovered(false);
2534
+ }
2535
+ };
2536
+ document.addEventListener("mousedown", handleClickOutside);
2537
+ return () => {
2538
+ document.removeEventListener("mousedown", handleClickOutside);
2539
+ };
2540
+ }, []);
2541
+ return /* @__PURE__ */ jsxs21(
2542
+ "div",
2543
+ __spreadProps(__spreadValues({
2544
+ className: `group relative inline-block ${className}`,
2545
+ ref
2546
+ }, rest), {
2547
+ children: [
2548
+ /* @__PURE__ */ jsx24(
2549
+ "div",
2550
+ {
2551
+ ref: wrapperRef,
2552
+ onClick: () => {
2553
+ if (isVisible) {
2554
+ setIsVisible(false);
2555
+ setIsHovered(false);
2556
+ } else {
2557
+ setIsVisible(true);
2558
+ }
2559
+ },
2560
+ onMouseEnter: () => setIsHovered(true),
2561
+ onMouseLeave: () => setIsHovered(false),
2562
+ children
2563
+ }
2564
+ ),
2565
+ /* @__PURE__ */ jsxs21(
2566
+ "div",
2567
+ {
2568
+ className: `min-w-100 max-w-300 whitespace-nowrap rounded bg-gray-900 text-white ${size === "lg" ? "text-body-regular py-12 px-16" : size === "md" ? "text-body-small px-12 pt-10 pb-8" : "text-body-small px-8 pt-6 pb-4"} ${position === "right" && `absolute left-full top-1/2 z-20 ml-8 -translate-y-1/2 ${isVisible || isHovered ? "opacity-100" : "opacity-0"}` || position === "top" && `absolute bottom-full left-1/2 z-20 mb-8 -translate-x-1/2 ${isVisible || isHovered ? "opacity-100" : "opacity-0"}` || position === "left" && `absolute right-full top-1/2 z-20 mr-8 -translate-y-1/2 ${isVisible || isHovered ? "opacity-100" : "opacity-0"}` || position === "bottom" && `absolute left-1/2 top-full z-20 mt-8 -translate-x-1/2 ${isVisible || isHovered ? "opacity-100" : "opacity-0"}`}`,
2569
+ children: [
2570
+ /* @__PURE__ */ jsx24(
2571
+ "span",
2572
+ {
2573
+ className: ` ${position === "right" && `absolute -left-3 top-1/2 -z-10 h-8 w-8 -translate-y-1/2 rotate-45 rounded-xs bg-black` || position === "top" && `absolute -bottom-3 left-1/2 -z-10 h-8 w-8 -translate-x-1/2 rotate-45 rounded-xs bg-black` || position === "left" && `absolute -right-3 top-1/2 -z-10 h-8 w-8 -translate-y-1/2 rotate-45 rounded-xs bg-black` || position === "bottom" && `absolute left-1/2 -top-3 -z-10 h-8 w-8 -translate-x-1/2 rotate-45 rounded-xs bg-black`} `
2574
+ }
2575
+ ),
2576
+ headText ? /* @__PURE__ */ jsx24(
2577
+ "p",
2578
+ {
2579
+ className: `text-sm text-white font-semibold text-center ${text ? "mb-5" : ""}`,
2580
+ children: headText
2581
+ }
2582
+ ) : /* @__PURE__ */ jsx24(Fragment5, {}),
2583
+ text ? /* @__PURE__ */ jsx24("p", { className: "text-xs text-white font-normal text-center text-wrap", children: text }) : /* @__PURE__ */ jsx24(Fragment5, {})
2584
+ ]
2585
+ }
2586
+ )
2587
+ ]
2588
+ })
2589
+ );
2590
+ }
2591
+ );
2592
+ Tooltip.displayName = "Tooltip";
1479
2593
  export {
1480
2594
  Accordion,
1481
2595
  AlertBanner,
1482
2596
  Avatar,
1483
2597
  Badge,
1484
2598
  BottomSheet,
2599
+ Branding,
1485
2600
  Button,
1486
2601
  Checkbox,
2602
+ Chip,
1487
2603
  Dialog,
2604
+ Dropdown,
2605
+ FinancialLogo,
1488
2606
  Icon,
2607
+ Link,
2608
+ Loading,
1489
2609
  Radio,
2610
+ SegmentControl,
1490
2611
  Slider,
1491
- Toast
2612
+ Tab,
2613
+ TextArea,
2614
+ TextField,
2615
+ Toast,
2616
+ ToggleSwitch,
2617
+ Tooltip
1492
2618
  };