@itilite/lumina-ui 1.1.5 → 1.1.6

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.
Files changed (152) hide show
  1. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
  2. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
  3. package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
  4. package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
  5. package/dist/atom/RangePicker/RangePicker.js +265 -136
  6. package/dist/atom/RangePicker/RangePicker.mjs +4 -2
  7. package/dist/atom/Select/Select.d.mts +6 -3
  8. package/dist/atom/Select/Select.d.ts +6 -3
  9. package/dist/atom/Select/Select.js +213 -91
  10. package/dist/atom/Select/Select.mjs +3 -1
  11. package/dist/chunk-22VF7AVT.mjs +618 -0
  12. package/dist/chunk-2BNAAOBU.mjs +670 -0
  13. package/dist/chunk-2IMRLK6M.mjs +44 -0
  14. package/dist/chunk-2JIINZEK.mjs +618 -0
  15. package/dist/chunk-2LBFKQDZ.mjs +660 -0
  16. package/dist/chunk-2ZJBF5C4.mjs +618 -0
  17. package/dist/chunk-3IMCN4K3.mjs +670 -0
  18. package/dist/chunk-3KBQQCET.mjs +674 -0
  19. package/dist/chunk-3KUHXNFH.mjs +678 -0
  20. package/dist/chunk-3PPNOIXN.mjs +618 -0
  21. package/dist/chunk-3XFY3TXJ.mjs +611 -0
  22. package/dist/chunk-3XW7HS5W.mjs +618 -0
  23. package/dist/chunk-447HZYZ4.mjs +612 -0
  24. package/dist/chunk-46F3B4U6.mjs +618 -0
  25. package/dist/chunk-4K5RZHL4.mjs +618 -0
  26. package/dist/chunk-4QHFP4YD.mjs +666 -0
  27. package/dist/chunk-4TFX4DHY.mjs +702 -0
  28. package/dist/chunk-4TWO6JES.mjs +666 -0
  29. package/dist/chunk-4UQVJ3ZU.mjs +666 -0
  30. package/dist/chunk-5247J65D.mjs +670 -0
  31. package/dist/chunk-66H5WSEJ.mjs +618 -0
  32. package/dist/chunk-6OGEXG5U.mjs +618 -0
  33. package/dist/chunk-6ROQXYVN.mjs +672 -0
  34. package/dist/chunk-6WNI6X5Q.mjs +618 -0
  35. package/dist/chunk-72PPCN6D.mjs +675 -0
  36. package/dist/chunk-74EGXFNN.mjs +618 -0
  37. package/dist/chunk-77NCDGJA.mjs +707 -0
  38. package/dist/chunk-7NGBIPZT.mjs +618 -0
  39. package/dist/chunk-7NM4FNMQ.mjs +666 -0
  40. package/dist/chunk-7YBBSVUA.mjs +672 -0
  41. package/dist/chunk-7Z52UP7P.mjs +618 -0
  42. package/dist/chunk-B3LDL3KD.mjs +670 -0
  43. package/dist/chunk-B65LGQ47.mjs +666 -0
  44. package/dist/chunk-B6MTRO54.mjs +618 -0
  45. package/dist/chunk-BJBP5XYB.mjs +618 -0
  46. package/dist/chunk-BLLSWPCC.mjs +618 -0
  47. package/dist/chunk-BOYB7REJ.mjs +670 -0
  48. package/dist/chunk-BP2D64XI.mjs +618 -0
  49. package/dist/chunk-BRT5IPGQ.mjs +618 -0
  50. package/dist/chunk-C2J3VBFZ.mjs +670 -0
  51. package/dist/chunk-CDOR7GQP.mjs +618 -0
  52. package/dist/chunk-CI2RMA4V.mjs +612 -0
  53. package/dist/chunk-CNUIZOQJ.mjs +669 -0
  54. package/dist/chunk-CPBXPEST.mjs +672 -0
  55. package/dist/chunk-CVOLXLMU.mjs +618 -0
  56. package/dist/chunk-CWUCNC36.mjs +666 -0
  57. package/dist/chunk-CZBGN6GS.mjs +612 -0
  58. package/dist/chunk-D3APB62N.mjs +618 -0
  59. package/dist/chunk-D7TWXVL2.mjs +674 -0
  60. package/dist/chunk-DAZ53AD7.mjs +671 -0
  61. package/dist/chunk-DBY5U6IU.mjs +618 -0
  62. package/dist/chunk-DXTVU4M5.mjs +618 -0
  63. package/dist/chunk-DZBTD6QK.mjs +666 -0
  64. package/dist/chunk-EAK2IMM4.mjs +37 -0
  65. package/dist/chunk-EQT2Q2LW.mjs +610 -0
  66. package/dist/chunk-EWMCELQV.mjs +670 -0
  67. package/dist/chunk-EYKWBEHX.mjs +612 -0
  68. package/dist/chunk-FHLCFUP6.mjs +666 -0
  69. package/dist/chunk-FMPFLQZV.mjs +670 -0
  70. package/dist/chunk-G25YXZ74.mjs +618 -0
  71. package/dist/chunk-GSG6ZC3R.mjs +37 -0
  72. package/dist/chunk-H3MQUFTJ.mjs +618 -0
  73. package/dist/chunk-HKZRLVBX.mjs +618 -0
  74. package/dist/chunk-HQALJGVT.mjs +618 -0
  75. package/dist/chunk-I5GBZ3UX.mjs +676 -0
  76. package/dist/chunk-IV4V55OA.mjs +672 -0
  77. package/dist/chunk-J2RAFKAD.mjs +618 -0
  78. package/dist/chunk-JL34UFI7.mjs +670 -0
  79. package/dist/chunk-JTKSGGQM.mjs +611 -0
  80. package/dist/chunk-JZC2RRDH.mjs +618 -0
  81. package/dist/chunk-K3Y7VKT6.mjs +670 -0
  82. package/dist/chunk-KEVXNUFG.mjs +672 -0
  83. package/dist/chunk-KRYAP7NG.mjs +670 -0
  84. package/dist/chunk-KU655POK.mjs +657 -0
  85. package/dist/chunk-L55SLVNX.mjs +618 -0
  86. package/dist/chunk-LCRYOZEV.mjs +618 -0
  87. package/dist/chunk-LH7PP6V2.mjs +618 -0
  88. package/dist/chunk-LJMMYKE2.mjs +618 -0
  89. package/dist/chunk-LK5TROLL.mjs +666 -0
  90. package/dist/chunk-MDR7DAKM.mjs +618 -0
  91. package/dist/chunk-MJZLCWZ5.mjs +666 -0
  92. package/dist/chunk-MKZTEJLS.mjs +612 -0
  93. package/dist/chunk-MQCOQHHP.mjs +618 -0
  94. package/dist/chunk-MSM4KUBM.mjs +618 -0
  95. package/dist/chunk-MTIUER63.mjs +676 -0
  96. package/dist/chunk-NBLV3UX5.mjs +618 -0
  97. package/dist/chunk-NLADSOJS.mjs +618 -0
  98. package/dist/chunk-NPMTWR3Y.mjs +618 -0
  99. package/dist/chunk-NQ6GKEO7.mjs +670 -0
  100. package/dist/chunk-NZSFYNUK.mjs +618 -0
  101. package/dist/chunk-OCNF4O5U.mjs +612 -0
  102. package/dist/chunk-OCW5QSWA.mjs +618 -0
  103. package/dist/chunk-OQF7JZFS.mjs +670 -0
  104. package/dist/chunk-OT675HGC.mjs +670 -0
  105. package/dist/chunk-P47TCYKN.mjs +618 -0
  106. package/dist/chunk-P7TOGXPI.mjs +672 -0
  107. package/dist/chunk-PCAXXEEQ.mjs +618 -0
  108. package/dist/chunk-PDHMG7OZ.mjs +672 -0
  109. package/dist/chunk-PFGVOZGM.mjs +618 -0
  110. package/dist/chunk-PQSSDK3E.mjs +618 -0
  111. package/dist/chunk-PST7W3NG.mjs +618 -0
  112. package/dist/chunk-QGPBZ2YV.mjs +664 -0
  113. package/dist/chunk-QKTMWS4J.mjs +43 -0
  114. package/dist/chunk-QOPCJITC.mjs +618 -0
  115. package/dist/chunk-QSE52CRC.mjs +618 -0
  116. package/dist/chunk-QTP2QMPL.mjs +669 -0
  117. package/dist/chunk-R47XX6IW.mjs +611 -0
  118. package/dist/chunk-RL6AEU6E.mjs +612 -0
  119. package/dist/chunk-T7T4HCHH.mjs +618 -0
  120. package/dist/chunk-TED2WCDG.mjs +618 -0
  121. package/dist/chunk-TJLIMMMB.mjs +612 -0
  122. package/dist/chunk-TNOJDLON.mjs +611 -0
  123. package/dist/chunk-TOR67IHH.mjs +672 -0
  124. package/dist/chunk-TOV7NVKM.mjs +618 -0
  125. package/dist/chunk-TSYMIRRN.mjs +618 -0
  126. package/dist/chunk-TTSRI4V7.mjs +708 -0
  127. package/dist/chunk-UBS3DTE5.mjs +672 -0
  128. package/dist/chunk-UBW6RYVF.mjs +670 -0
  129. package/dist/chunk-UJNUFKR5.mjs +43 -0
  130. package/dist/chunk-VAZZJOSJ.mjs +618 -0
  131. package/dist/chunk-VCWXOX2B.mjs +618 -0
  132. package/dist/chunk-VHCLEOHZ.mjs +618 -0
  133. package/dist/chunk-VTZSCGME.mjs +666 -0
  134. package/dist/chunk-W33KZ2XR.mjs +618 -0
  135. package/dist/chunk-WOVMTYDV.mjs +612 -0
  136. package/dist/chunk-WR3USBWK.mjs +672 -0
  137. package/dist/chunk-WXYQARQ6.mjs +618 -0
  138. package/dist/chunk-Y6XKW4NG.mjs +618 -0
  139. package/dist/chunk-YQSNJFZE.mjs +618 -0
  140. package/dist/chunk-Z6VG6AG7.mjs +678 -0
  141. package/dist/chunk-ZAPKQ4C3.mjs +678 -0
  142. package/dist/chunk-ZCWDQNHL.mjs +618 -0
  143. package/dist/chunk-ZF5JBNCI.mjs +618 -0
  144. package/dist/chunk-ZN7BHWOF.mjs +672 -0
  145. package/dist/chunk-ZUQJKA5J.mjs +666 -0
  146. package/dist/chunk-ZWHWIGYQ.mjs +618 -0
  147. package/dist/index.d.mts +2 -0
  148. package/dist/index.d.ts +2 -0
  149. package/dist/index.js +227 -136
  150. package/dist/index.mjs +18 -14
  151. package/dist/styles.css +128 -87
  152. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -62,6 +62,7 @@ __export(index_exports, {
62
62
  Avatar: () => Avatar_default,
63
63
  Button: () => Button_default,
64
64
  Checkbox: () => Checkbox_default,
65
+ LoadingSpinner: () => LoadingSpinner_default,
65
66
  Modal: () => Modal_default,
66
67
  Radio: () => Radio_default,
67
68
  RangePicker: () => RangePicker_default,
@@ -587,7 +588,7 @@ Tag.displayName = "Tag";
587
588
  var Tag_default = Tag;
588
589
 
589
590
  // src/atom/RangePicker/RangePicker.tsx
590
- var import_react2 = require("react");
591
+ var import_react3 = require("react");
591
592
  var import_clsx9 = __toESM(require("clsx"));
592
593
  var import_dayjs = __toESM(require("dayjs"));
593
594
 
@@ -639,7 +640,7 @@ var Chevron = React.memo(
639
640
  var RangePicker_module_default = { "range_start": "RangePicker-module__range_start___hGQp-", "range_end": "RangePicker-module__range_end___JJNib" };
640
641
 
641
642
  // src/atom/Select/Select.tsx
642
- var import_react = require("react");
643
+ var import_react2 = require("react");
643
644
  var import_clsx8 = __toESM(require("clsx"));
644
645
 
645
646
  // src/icons/Chevron.tsx
@@ -684,16 +685,13 @@ var CrossV2 = React3.memo(
684
685
  width: size,
685
686
  height: size,
686
687
  fill: "none",
687
- viewBox: "0 0 16 16",
688
- className
688
+ viewBox: "0 0 20 20"
689
689
  }, rest), {
690
690
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
691
691
  "path",
692
692
  {
693
693
  fill: color,
694
- fillRule: "evenodd",
695
- d: "M4.293 4.293a1 1 0 011.414 0L8 6.586l2.293-2.293a1 1 0 111.414 1.414L9.414 8l2.293 2.293a1 1 0 01-1.414 1.414L8 9.414l-2.293 2.293a1 1 0 01-1.414-1.414L6.586 8 4.293 5.707a1 1 0 010-1.414z",
696
- clipRule: "evenodd"
694
+ d: "M4.411 4.41a.833.833 0 0 1 1.179 0L10 8.822l4.411-4.41a.833.833 0 1 1 1.179 1.178L11.179 10l4.41 4.41a.833.833 0 0 1-1.178 1.18l-4.41-4.411-4.411 4.41a.833.833 0 1 1-1.179-1.178L8.821 10l-4.41-4.41a.833.833 0 0 1 0-1.18"
697
695
  }
698
696
  )
699
697
  })
@@ -702,8 +700,66 @@ var CrossV2 = React3.memo(
702
700
  );
703
701
  CrossV2.displayName = "CrossV2";
704
702
 
705
- // src/atom/Select/Select.tsx
703
+ // src/icons/Lock.tsx
704
+ var import_react = __toESM(require("react"));
706
705
  var import_jsx_runtime12 = require("react/jsx-runtime");
706
+ var Lock = import_react.default.memo((_a) => {
707
+ var _b = _a, { size = 16, color = "#000" } = _b, rest = __objRest(_b, ["size", "color"]);
708
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
709
+ "svg",
710
+ __spreadProps(__spreadValues({
711
+ xmlns: "http://www.w3.org/2000/svg",
712
+ width: size,
713
+ height: size,
714
+ fill: "none",
715
+ viewBox: "0 0 16 16"
716
+ }, rest), {
717
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
718
+ "path",
719
+ {
720
+ fill: color,
721
+ d: "M9 9a1 1 0 11-2 0 1 1 0 012 0zM5 4h-.5A2.5 2.5 0 002 6.5v5A2.5 2.5 0 004.5 14h7a2.5 2.5 0 002.5-2.5v-5A2.5 2.5 0 0011.5 4H11v-.5a3 3 0 00-6 0V4zm1-.5a2 2 0 114 0V4H6v-.5zM11.5 5A1.5 1.5 0 0113 6.5v5a1.5 1.5 0 01-1.5 1.5h-7A1.5 1.5 0 013 11.5v-5A1.5 1.5 0 014.5 5h7z"
722
+ }
723
+ )
724
+ })
725
+ );
726
+ });
727
+
728
+ // src/atom/LoadingSpinner/LoadingSpinner.tsx
729
+ var import_icons = require("@ant-design/icons");
730
+ var import_antd8 = require("antd");
731
+
732
+ // src/atom/LoadingSpinner/LoadingSpinner.module.scss
733
+ var LoadingSpinner_module_default = { "spinnerContainer": "LoadingSpinner-module__spinnerContainer___DiPLf" };
734
+
735
+ // src/atom/LoadingSpinner/LoadingSpinner.tsx
736
+ var import_jsx_runtime13 = require("react/jsx-runtime");
737
+ var sizeMapping = {
738
+ xs: 16,
739
+ small: 24,
740
+ medium: 36,
741
+ large: 48
742
+ };
743
+ var LoadingSpinner = (_a) => {
744
+ var _b = _a, { size = "small", color = "#ec5d25" } = _b, rest = __objRest(_b, ["size", "color"]);
745
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", __spreadProps(__spreadValues({ className: LoadingSpinner_module_default.spinnerContainer }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
746
+ import_antd8.Spin,
747
+ {
748
+ indicator: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
749
+ import_icons.LoadingOutlined,
750
+ {
751
+ style: { fontSize: sizeMapping[size], color },
752
+ spin: true
753
+ }
754
+ )
755
+ }
756
+ ) }));
757
+ };
758
+ LoadingSpinner.displayName = "LoadingSpinner";
759
+ var LoadingSpinner_default = LoadingSpinner;
760
+
761
+ // src/atom/Select/Select.tsx
762
+ var import_jsx_runtime14 = require("react/jsx-runtime");
707
763
  var Select = ({
708
764
  label,
709
765
  mandatory = false,
@@ -714,6 +770,10 @@ var Select = ({
714
770
  value: _valueProp,
715
771
  // Rename to avoid potential conflicts with native value attribute
716
772
  onChange,
773
+ onSearch,
774
+ isLoading = false,
775
+ disabled = false,
776
+ disabledTooltip = "",
717
777
  className = "",
718
778
  dropdownClassName = "",
719
779
  optionClassName = "",
@@ -722,7 +782,6 @@ var Select = ({
722
782
  // New prop to show displayValue instead of label
723
783
  allowClear = true,
724
784
  enableSearch = true,
725
- // New prop to control search functionality, default true
726
785
  doubleCharSearch = false,
727
786
  id,
728
787
  name,
@@ -742,45 +801,45 @@ var Select = ({
742
801
  // Custom height
743
802
  experience = "business"
744
803
  }) => {
745
- const normalizeValue = (0, import_react.useCallback)(
804
+ const normalizeValue = (0, import_react2.useCallback)(
746
805
  (val) => {
747
806
  if (val === null || val === void 0) return "";
748
807
  return String(val);
749
808
  },
750
809
  []
751
810
  );
752
- const validatedOptions = (0, import_react.useMemo)(() => {
811
+ const validatedOptions = (0, import_react2.useMemo)(() => {
753
812
  if (!Array.isArray(options)) return [];
754
813
  return options.filter(
755
814
  (opt) => opt && typeof opt === "object" && opt.value !== void 0 && opt.value !== null && opt.label !== void 0
756
815
  );
757
816
  }, [options]);
758
- const [isOpen, setIsOpen] = (0, import_react.useState)(false);
759
- const [isFocused, setIsFocused] = (0, import_react.useState)(false);
760
- const [searchTerm, setSearchTerm] = (0, import_react.useState)("");
761
- const [isHovering, setIsHovering] = (0, import_react.useState)(false);
762
- const [highlightedIndex, setHighlightedIndex] = (0, import_react.useState)(-1);
763
- const [selectedValue, setSelectedValue] = (0, import_react.useState)(() => {
817
+ const [isOpen, setIsOpen] = (0, import_react2.useState)(false);
818
+ const [isFocused, setIsFocused] = (0, import_react2.useState)(false);
819
+ const [searchTerm, setSearchTerm] = (0, import_react2.useState)("");
820
+ const [isHovering, setIsHovering] = (0, import_react2.useState)(false);
821
+ const [highlightedIndex, setHighlightedIndex] = (0, import_react2.useState)(-1);
822
+ const [selectedValue, setSelectedValue] = (0, import_react2.useState)(() => {
764
823
  const initialValue = valueSelected;
765
824
  if (initialValue === null || initialValue === void 0) return "";
766
825
  return String(initialValue);
767
826
  });
768
- const inputRef = (0, import_react.useRef)(null);
769
- const inputValueRef = (0, import_react.useRef)("");
770
- const dropdownRef = (0, import_react.useRef)(null);
771
- const optionRefs = (0, import_react.useRef)([]);
772
- const optionListRef = (0, import_react.useRef)(null);
773
- const blurTimeoutRef = (0, import_react.useRef)(null);
774
- const hoverTimeoutRef = (0, import_react.useRef)(null);
827
+ const inputRef = (0, import_react2.useRef)(null);
828
+ const inputValueRef = (0, import_react2.useRef)("");
829
+ const dropdownRef = (0, import_react2.useRef)(null);
830
+ const optionRefs = (0, import_react2.useRef)([]);
831
+ const optionListRef = (0, import_react2.useRef)(null);
832
+ const blurTimeoutRef = (0, import_react2.useRef)(null);
833
+ const hoverTimeoutRef = (0, import_react2.useRef)(null);
775
834
  const isActive = isFocused || Boolean(selectedValue) || Boolean(valueSelected) || Boolean(searchTerm);
776
- const sizeClasses = (0, import_react.useMemo)(() => {
835
+ const sizeClasses = (0, import_react2.useMemo)(() => {
777
836
  switch (size) {
778
837
  case "small":
779
838
  return {
780
- input: "tw-h-8 tw-px-3 tw-typography-body2",
781
- padding: label ? "tw-pt-4 tw-pb-1" : "tw-py-2",
782
- labelActive: "tw-top-0 tw-typography-caption4",
783
- labelInactive: "tw-top-2 tw-typography-caption3"
839
+ input: "tw-h-6 tw-px-3 tw-typography-caption1Bold !tw-rounded-lg",
840
+ padding: "tw-px-2 tw-py-1",
841
+ labelActive: "tw-top-0.5 tw-typography-caption2",
842
+ labelInactive: "tw-top-1.5 tw-typography-caption3"
784
843
  };
785
844
  case "medium":
786
845
  return {
@@ -805,7 +864,7 @@ var Select = ({
805
864
  };
806
865
  }
807
866
  }, [size, label, height]);
808
- const variantClasses = (0, import_react.useMemo)(() => {
867
+ const variantClasses = (0, import_react2.useMemo)(() => {
809
868
  switch (variant) {
810
869
  case "filled":
811
870
  return "tw-bg-gray-50 tw-border-transparent";
@@ -815,7 +874,7 @@ var Select = ({
815
874
  return " tw-border";
816
875
  }
817
876
  }, [variant]);
818
- const handleBlur = (0, import_react.useCallback)(() => {
877
+ const handleBlur = (0, import_react2.useCallback)(() => {
819
878
  blurTimeoutRef.current = setTimeout(() => {
820
879
  setIsOpen(false);
821
880
  setSearchTerm("");
@@ -824,24 +883,28 @@ var Select = ({
824
883
  setIsFocused(false);
825
884
  }, 150);
826
885
  }, []);
827
- const handleSearchChange = (0, import_react.useCallback)(
886
+ const handleSearchChange = (0, import_react2.useCallback)(
828
887
  (e) => {
829
888
  var _a;
889
+ const searchValue = doubleCharSearch ? e.target.value.slice(0, 2) || "" : e.target.value;
830
890
  if (doubleCharSearch) {
831
- setSearchTerm(e.target.value.slice(0, 2) || "");
891
+ setSearchTerm(searchValue);
832
892
  } else {
833
- setSearchTerm(e.target.value);
893
+ setSearchTerm(searchValue);
834
894
  }
835
895
  setIsOpen(true);
836
896
  setHighlightedIndex(-1);
897
+ if (onSearch && typeof onSearch === "function") {
898
+ onSearch(searchValue);
899
+ }
837
900
  (_a = optionListRef == null ? void 0 : optionListRef.current) == null ? void 0 : _a.scrollTo({
838
901
  top: 0,
839
902
  behavior: "smooth"
840
903
  });
841
904
  },
842
- [doubleCharSearch]
905
+ [doubleCharSearch, onSearch]
843
906
  );
844
- const handleOptionSelect = (0, import_react.useCallback)(
907
+ const handleOptionSelect = (0, import_react2.useCallback)(
845
908
  (option) => {
846
909
  var _a;
847
910
  if (blurTimeoutRef.current) {
@@ -862,7 +925,7 @@ var Select = ({
862
925
  },
863
926
  [normalizeValue, onChange, enableSearch]
864
927
  );
865
- const handleClear = (0, import_react.useCallback)(
928
+ const handleClear = (0, import_react2.useCallback)(
866
929
  (e) => {
867
930
  var _a;
868
931
  inputValueRef.current = "";
@@ -882,21 +945,22 @@ var Select = ({
882
945
  },
883
946
  [onChange, enableSearch]
884
947
  );
885
- (0, import_react.useEffect)(() => {
948
+ (0, import_react2.useEffect)(() => {
886
949
  if (!validatedOptions.length) {
887
950
  setSelectedValue("");
888
951
  setSearchTerm("");
889
952
  inputValueRef.current = "";
890
953
  }
891
954
  }, [validatedOptions.length]);
892
- (0, import_react.useEffect)(() => {
893
- const newValue = normalizeValue(valueSelected);
955
+ (0, import_react2.useEffect)(() => {
956
+ const externalValue = _valueProp !== void 0 ? _valueProp : valueSelected;
957
+ const newValue = normalizeValue(externalValue);
894
958
  setSelectedValue((prevValue) => {
895
959
  const prevNormalized = normalizeValue(prevValue);
896
960
  return prevNormalized !== newValue ? newValue : prevValue;
897
961
  });
898
- }, [valueSelected, normalizeValue]);
899
- (0, import_react.useEffect)(() => {
962
+ }, [valueSelected, _valueProp, normalizeValue]);
963
+ (0, import_react2.useEffect)(() => {
900
964
  const handleClickOutside = (event) => {
901
965
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
902
966
  if (blurTimeoutRef.current) {
@@ -920,7 +984,7 @@ var Select = ({
920
984
  }
921
985
  };
922
986
  }, []);
923
- const getDisplayValue = (0, import_react.useCallback)(() => {
987
+ const getDisplayValue = (0, import_react2.useCallback)(() => {
924
988
  if (selectedValue && (validatedOptions == null ? void 0 : validatedOptions.length) > 0) {
925
989
  const selected = validatedOptions.find(
926
990
  (opt) => normalizeValue(opt.value) === normalizeValue(selectedValue)
@@ -934,7 +998,7 @@ var Select = ({
934
998
  }
935
999
  return "";
936
1000
  }, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
937
- const filteredOptions = (0, import_react.useMemo)(() => {
1001
+ const filteredOptions = (0, import_react2.useMemo)(() => {
938
1002
  var _a;
939
1003
  if (!enableSearch) {
940
1004
  return validatedOptions;
@@ -946,7 +1010,7 @@ var Select = ({
946
1010
  });
947
1011
  return updatedFilteredOptions;
948
1012
  }, [validatedOptions, searchTerm, enableSearch]);
949
- const getSelectedOptionIndex = (0, import_react.useCallback)(() => {
1013
+ const getSelectedOptionIndex = (0, import_react2.useCallback)(() => {
950
1014
  if (!selectedValue || !filteredOptions.length) {
951
1015
  return 0;
952
1016
  }
@@ -955,7 +1019,7 @@ var Select = ({
955
1019
  );
956
1020
  return index >= 0 ? index : 0;
957
1021
  }, [selectedValue, filteredOptions, normalizeValue]);
958
- const handleInputInteraction = (0, import_react.useCallback)(
1022
+ const handleInputInteraction = (0, import_react2.useCallback)(
959
1023
  (_e) => {
960
1024
  var _a;
961
1025
  if (blurTimeoutRef.current) {
@@ -979,7 +1043,7 @@ var Select = ({
979
1043
  },
980
1044
  [isOpen, getSelectedOptionIndex]
981
1045
  );
982
- const handleKeyDown = (0, import_react.useCallback)(
1046
+ const handleKeyDown = (0, import_react2.useCallback)(
983
1047
  (e) => {
984
1048
  var _a;
985
1049
  if (!isOpen) return;
@@ -1018,7 +1082,7 @@ var Select = ({
1018
1082
  },
1019
1083
  [isOpen, highlightedIndex, filteredOptions, handleOptionSelect]
1020
1084
  );
1021
- (0, import_react.useEffect)(() => {
1085
+ (0, import_react2.useEffect)(() => {
1022
1086
  if (highlightedIndex >= 0 && optionRefs.current[highlightedIndex]) {
1023
1087
  optionRefs.current[highlightedIndex].scrollIntoView({
1024
1088
  block: "nearest",
@@ -1026,10 +1090,10 @@ var Select = ({
1026
1090
  });
1027
1091
  }
1028
1092
  }, [highlightedIndex]);
1029
- (0, import_react.useEffect)(() => {
1093
+ (0, import_react2.useEffect)(() => {
1030
1094
  optionRefs.current = [];
1031
1095
  }, [filteredOptions]);
1032
- const handleMouseEnter = (0, import_react.useCallback)(() => {
1096
+ const handleMouseEnter = (0, import_react2.useCallback)(() => {
1033
1097
  if (hoverTimeoutRef.current) {
1034
1098
  clearTimeout(hoverTimeoutRef.current);
1035
1099
  }
@@ -1037,12 +1101,12 @@ var Select = ({
1037
1101
  setIsHovering(true);
1038
1102
  }
1039
1103
  }, [isHovering]);
1040
- const handleMouseLeave = (0, import_react.useCallback)(() => {
1104
+ const handleMouseLeave = (0, import_react2.useCallback)(() => {
1041
1105
  hoverTimeoutRef.current = setTimeout(() => {
1042
1106
  setIsHovering(false);
1043
1107
  }, 50);
1044
1108
  }, []);
1045
- const handleChevronClick = (0, import_react.useCallback)(
1109
+ const handleChevronClick = (0, import_react2.useCallback)(
1046
1110
  (e) => {
1047
1111
  var _a;
1048
1112
  e.preventDefault();
@@ -1065,17 +1129,23 @@ var Select = ({
1065
1129
  },
1066
1130
  [isOpen, handleInputInteraction]
1067
1131
  );
1068
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1132
+ const InputWrapper = ({ children }) => {
1133
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Tooltip_default, { title: disabledTooltip, children });
1134
+ return children;
1135
+ };
1136
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(InputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1069
1137
  "div",
1070
1138
  {
1071
1139
  style,
1072
- className: (0, import_clsx8.default)("tw-relative tw-w-full", wrapperClassName),
1140
+ className: (0, import_clsx8.default)("tw-relative tw-w-full", wrapperClassName, {
1141
+ "tw-cursor-not-allowed": disabled
1142
+ }),
1073
1143
  ref: dropdownRef,
1074
1144
  onMouseEnter: handleMouseEnter,
1075
1145
  onMouseLeave: handleMouseLeave,
1076
1146
  children: [
1077
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "tw-relative", children: [
1078
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1147
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "tw-relative", children: [
1148
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1079
1149
  "input",
1080
1150
  {
1081
1151
  ref: inputRef,
@@ -1098,7 +1168,8 @@ var Select = ({
1098
1168
  variantClasses,
1099
1169
  {
1100
1170
  "tw-bg-white": valueSelected || getDisplayValue() || isFocused,
1101
- "tw-bg-color-gray-5": !valueSelected || !getDisplayValue()
1171
+ "tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
1172
+ "!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
1102
1173
  },
1103
1174
  // Conditional padding based on label presence
1104
1175
  !label && "tw-flex tw-items-center",
@@ -1118,7 +1189,7 @@ var Select = ({
1118
1189
  readOnly: !isFocused || !enableSearch
1119
1190
  }
1120
1191
  ),
1121
- label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1192
+ label && size !== "small" && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1122
1193
  "label",
1123
1194
  {
1124
1195
  htmlFor: id,
@@ -1130,47 +1201,59 @@ var Select = ({
1130
1201
  ),
1131
1202
  children: [
1132
1203
  label,
1133
- mandatory && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "tw-text-color-text-critical tw-ml-1", children: "*" })
1204
+ mandatory && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "tw-text-color-text-critical tw-ml-1", children: "*" })
1134
1205
  ]
1135
1206
  }
1136
1207
  ),
1137
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1208
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1138
1209
  "div",
1139
1210
  {
1140
1211
  className: (0, import_clsx8.default)(
1141
- "tw-absolute tw-right-3 tw-top-1/2 tw--translate-y-1/2 tw-flex tw-items-center",
1212
+ "tw-absolute tw-right-3 tw--translate-y-1/2 tw-flex tw-items-center",
1142
1213
  {
1143
- "!tw-right-[5px]": doubleCharSearch && !(isHovering && selectedValue && allowClear)
1214
+ "!tw-right-[5px]": doubleCharSearch && !(isHovering && selectedValue && allowClear),
1215
+ "tw-top-3.5 !tw-right-2": size === "small",
1216
+ "tw-top-1/2": size !== "small"
1144
1217
  }
1145
1218
  ),
1146
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1147
- "div",
1148
- {
1149
- className: (0, import_clsx8.default)(
1150
- "tw-transition-all tw-duration-200 tw-cursor-pointer tw-flex tw-items-center",
1151
- // Only rotate chevron when open and not showing clear icon
1152
- isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
1153
- ),
1154
- onMouseDown: (e) => {
1155
- if (isHovering && selectedValue && allowClear) {
1156
- handleClear(e);
1157
- } else {
1158
- handleChevronClick(e);
1159
- }
1160
- },
1161
- children: isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CrossV2, { color: "#111827", className: "tw-mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1162
- Chevron2,
1163
- {
1164
- className: (0, import_clsx8.default)("tw-text-gray-400"),
1165
- color: "#6B7280"
1166
- }
1167
- )
1168
- }
1169
- )
1219
+ children: [
1220
+ disabled && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "tw-absolute tw-right-0 -tw-top-2", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Lock, { size: 16 }) }),
1221
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LoadingSpinner_default, { size: "xs" }) }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1222
+ "div",
1223
+ {
1224
+ className: (0, import_clsx8.default)(
1225
+ "tw-transition-all tw-duration-200 tw-cursor-pointer tw-flex tw-items-center",
1226
+ // Only rotate chevron when open and not showing clear icon
1227
+ isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
1228
+ ),
1229
+ onMouseDown: (e) => {
1230
+ if (isHovering && selectedValue && allowClear) {
1231
+ handleClear(e);
1232
+ } else {
1233
+ handleChevronClick(e);
1234
+ }
1235
+ },
1236
+ children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1237
+ CrossV2,
1238
+ {
1239
+ color: "#111827",
1240
+ className: (0, import_clsx8.default)({ "tw-mr-1": size !== "small" }),
1241
+ size: size === "small" ? 12 : 16
1242
+ }
1243
+ ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1244
+ Chevron2,
1245
+ {
1246
+ className: (0, import_clsx8.default)("tw-text-gray-400"),
1247
+ color: "#6B7280"
1248
+ }
1249
+ )
1250
+ }
1251
+ )
1252
+ ]
1170
1253
  }
1171
1254
  )
1172
1255
  ] }),
1173
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1256
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1174
1257
  "div",
1175
1258
  {
1176
1259
  className: (0, import_clsx8.default)(
@@ -1180,7 +1263,7 @@ var Select = ({
1180
1263
  dropdownClassName
1181
1264
  ),
1182
1265
  ref: optionListRef,
1183
- children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1266
+ children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1184
1267
  "div",
1185
1268
  {
1186
1269
  ref: (el) => optionRefs.current[index] = el,
@@ -1191,7 +1274,7 @@ var Select = ({
1191
1274
  // Selected option styling
1192
1275
  optionClassName
1193
1276
  ),
1194
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1277
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1195
1278
  "div",
1196
1279
  {
1197
1280
  className: (0, import_clsx8.default)(
@@ -1209,12 +1292,12 @@ var Select = ({
1209
1292
  )
1210
1293
  },
1211
1294
  doubleCharSearch ? option.label : option.value
1212
- )) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
1295
+ )) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
1213
1296
  }
1214
1297
  )
1215
1298
  ]
1216
1299
  }
1217
- );
1300
+ ) });
1218
1301
  };
1219
1302
  var arePropsEqual = (prevProps, nextProps) => {
1220
1303
  var _a, _b;
@@ -1247,10 +1330,10 @@ var arePropsEqual = (prevProps, nextProps) => {
1247
1330
  return true;
1248
1331
  };
1249
1332
  Select.displayName = "Select";
1250
- var Select_default = (0, import_react.memo)(Select, arePropsEqual);
1333
+ var Select_default = (0, import_react2.memo)(Select, arePropsEqual);
1251
1334
 
1252
1335
  // src/atom/RangePicker/RangePicker.tsx
1253
- var import_jsx_runtime13 = require("react/jsx-runtime");
1336
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1254
1337
  function CustomRangePicker(props) {
1255
1338
  var _a, _b;
1256
1339
  const {
@@ -1277,8 +1360,8 @@ function CustomRangePicker(props) {
1277
1360
  showToastError = () => {
1278
1361
  }
1279
1362
  } = props;
1280
- const onChangeRef = (0, import_react2.useRef)(onChange);
1281
- (0, import_react2.useEffect)(() => {
1363
+ const onChangeRef = (0, import_react3.useRef)(onChange);
1364
+ (0, import_react3.useEffect)(() => {
1282
1365
  onChangeRef.current = onChange;
1283
1366
  }, [onChange]);
1284
1367
  const getInitialDate = () => {
@@ -1309,18 +1392,18 @@ function CustomRangePicker(props) {
1309
1392
  }
1310
1393
  return /* @__PURE__ */ new Date();
1311
1394
  };
1312
- const [currentDate, setCurrentDate] = (0, import_react2.useState)(() => getInitialDate());
1313
- const [startDate, setStartDate] = (0, import_react2.useState)(
1395
+ const [currentDate, setCurrentDate] = (0, import_react3.useState)(() => getInitialDate());
1396
+ const [startDate, setStartDate] = (0, import_react3.useState)(
1314
1397
  dateRange[0] ? new Date(dateRange[0]) : null
1315
1398
  );
1316
- const [endDate, setEndDate] = (0, import_react2.useState)(
1399
+ const [endDate, setEndDate] = (0, import_react3.useState)(
1317
1400
  dateRange[0] && dateRange[1] ? new Date(dateRange[1]) : null
1318
1401
  );
1319
- const [hoverDate, setHoverDate] = (0, import_react2.useState)(null);
1320
- const [isSelectingEnd, setIsSelectingEnd] = (0, import_react2.useState)(
1402
+ const [hoverDate, setHoverDate] = (0, import_react3.useState)(null);
1403
+ const [isSelectingEnd, setIsSelectingEnd] = (0, import_react3.useState)(
1321
1404
  dateRange[0] && !dateRange[1] ? true : false
1322
1405
  );
1323
- const [selectedDate, setSelectedDate] = (0, import_react2.useState)(
1406
+ const [selectedDate, setSelectedDate] = (0, import_react3.useState)(
1324
1407
  !isRange && dateRange[0] ? new Date(dateRange[0]) : null
1325
1408
  );
1326
1409
  const getDaysBetween = (start, end) => {
@@ -1491,7 +1574,7 @@ function CustomRangePicker(props) {
1491
1574
  setHoverDate(null);
1492
1575
  }
1493
1576
  };
1494
- (0, import_react2.useEffect)(() => {
1577
+ (0, import_react3.useEffect)(() => {
1495
1578
  if (isRange) {
1496
1579
  sessionStorage.removeItem("rangePickerStartDate");
1497
1580
  onChangeRef.current(null, [
@@ -1506,7 +1589,7 @@ function CustomRangePicker(props) {
1506
1589
  );
1507
1590
  }
1508
1591
  }, [startDate, endDate, isRange]);
1509
- (0, import_react2.useEffect)(() => {
1592
+ (0, import_react3.useEffect)(() => {
1510
1593
  if (!isRange && selectedDate) {
1511
1594
  onChangeRef.current(null, (0, import_dayjs.default)(selectedDate).format("D MMM, YYYY"));
1512
1595
  }
@@ -1571,8 +1654,8 @@ function CustomRangePicker(props) {
1571
1654
  };
1572
1655
  const isSameDay = ((_a = (0, import_dayjs.default)(startDate)) == null ? void 0 : _a.format("D MMM, YYYY")) === ((_b = (0, import_dayjs.default)(endDate)) == null ? void 0 : _b.format("D MMM, YYYY"));
1573
1656
  const NightCountTooltip = () => {
1574
- const TooltipArrow = (0, import_react2.memo)(() => {
1575
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-w-3 tw-h-3 tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-transparent tw-rotate-90", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1657
+ const TooltipArrow = (0, import_react3.memo)(() => {
1658
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-w-3 tw-h-3 tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-transparent tw-rotate-90", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1576
1659
  "div",
1577
1660
  {
1578
1661
  style: {
@@ -1583,16 +1666,16 @@ function CustomRangePicker(props) {
1583
1666
  }
1584
1667
  ) });
1585
1668
  });
1586
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "tw-absolute tw-bottom-11 tw-py-2 tw-bg-black tw-text-white tw-px-2 tw-rounded-lg tw-z-50 tw-text-xs tw-whitespace-nowrap tw-opacity-0 tw-pointer-events-none group-hover:tw-opacity-100 tw-transition-opacity tw-duration-200", children: [
1669
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "tw-absolute tw-bottom-11 tw-py-2 tw-bg-black tw-text-white tw-px-2 tw-rounded-lg tw-z-50 tw-text-xs tw-whitespace-nowrap tw-opacity-0 tw-pointer-events-none group-hover:tw-opacity-100 tw-transition-opacity tw-duration-200", children: [
1587
1670
  nightCountText,
1588
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-absolute tw-right-[42%] tw-bottom-[-7px]", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(TooltipArrow, {}) })
1671
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-absolute tw-right-[42%] tw-bottom-[-7px]", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(TooltipArrow, {}) })
1589
1672
  ] });
1590
1673
  };
1591
1674
  const renderCalendar = (monthDate, isSecondCalendar = false) => {
1592
1675
  const days = generateCalendarDays(monthDate);
1593
1676
  const monthName = monthNames[monthDate.getMonth()];
1594
1677
  const year = monthDate.getFullYear();
1595
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1678
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1596
1679
  "div",
1597
1680
  {
1598
1681
  className: (0, import_clsx9.default)("tw-flex-1 tw-max-w-[83vw] tw-mb-2", {
@@ -1600,13 +1683,13 @@ function CustomRangePicker(props) {
1600
1683
  "tw-h-[290px]": !showYearDropdown || days.length <= 35
1601
1684
  }),
1602
1685
  children: [
1603
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-text-center tw-mb-4 sm:tw-mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: " tw-flex tw-justify-center tw-items-center tw-gap-4 ", children: [
1604
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("h3", { className: "tw-typography-footNoteBold tw-text-color-text-default tw-m-0", children: [
1686
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-text-center tw-mb-4 sm:tw-mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: " tw-flex tw-justify-center tw-items-center tw-gap-4 ", children: [
1687
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("h3", { className: "tw-typography-footNoteBold tw-text-color-text-default tw-m-0", children: [
1605
1688
  monthName,
1606
1689
  " ",
1607
1690
  !showYearDropdown && ` ${year}`
1608
1691
  ] }),
1609
- showYearDropdown && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1692
+ showYearDropdown && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1610
1693
  Select_default,
1611
1694
  {
1612
1695
  options: yearOptions,
@@ -1628,7 +1711,7 @@ function CustomRangePicker(props) {
1628
1711
  }
1629
1712
  )
1630
1713
  ] }) }),
1631
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-grid tw-grid-cols-7 tw-mb-2", children: dayNames.map((day) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1714
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-grid tw-grid-cols-7 tw-mb-2", children: dayNames.map((day) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1632
1715
  "div",
1633
1716
  {
1634
1717
  className: "tw-py-2 tw-px-0 tw-text-center tw-typography-caption2 tw-text-[#6B7280]",
@@ -1636,9 +1719,9 @@ function CustomRangePicker(props) {
1636
1719
  },
1637
1720
  day
1638
1721
  )) }),
1639
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-grid tw-grid-cols-7", children: days.map((date, index) => {
1722
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-grid tw-grid-cols-7", children: days.map((date, index) => {
1640
1723
  if (!date) {
1641
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-h-10" }, index);
1724
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-h-10" }, index);
1642
1725
  }
1643
1726
  const isStart = isRange ? isSameDate(date, startDate) : false;
1644
1727
  const isEnd = isRange ? isSameDate(date, endDate) : false;
@@ -1688,8 +1771,8 @@ function CustomRangePicker(props) {
1688
1771
  (0, import_dayjs.default)(startDate),
1689
1772
  "day"
1690
1773
  );
1691
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "tw-relative", children: [
1692
- (isStart || isEnd) && startDate && endDate && !isSameDay && isRange && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1774
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "tw-relative", children: [
1775
+ (isStart || isEnd) && startDate && endDate && !isSameDay && isRange && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1693
1776
  "div",
1694
1777
  {
1695
1778
  className: (0, import_clsx9.default)(
@@ -1702,8 +1785,8 @@ function CustomRangePicker(props) {
1702
1785
  )
1703
1786
  }
1704
1787
  ),
1705
- isHoveringDate && isHovering && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1706
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1788
+ isHoveringDate && isHovering && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
1789
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1707
1790
  "div",
1708
1791
  {
1709
1792
  className: (0, import_clsx9.default)(
@@ -1716,7 +1799,7 @@ function CustomRangePicker(props) {
1716
1799
  )
1717
1800
  }
1718
1801
  ),
1719
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1802
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1720
1803
  "div",
1721
1804
  {
1722
1805
  className: (0, import_clsx9.default)(
@@ -1729,8 +1812,8 @@ function CustomRangePicker(props) {
1729
1812
  }
1730
1813
  )
1731
1814
  ] }),
1732
- isStart && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1733
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1815
+ isStart && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
1816
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1734
1817
  "div",
1735
1818
  {
1736
1819
  className: (0, import_clsx9.default)(
@@ -1743,7 +1826,7 @@ function CustomRangePicker(props) {
1743
1826
  )
1744
1827
  }
1745
1828
  ),
1746
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1829
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1747
1830
  "div",
1748
1831
  {
1749
1832
  className: (0, import_clsx9.default)(
@@ -1756,7 +1839,7 @@ function CustomRangePicker(props) {
1756
1839
  }
1757
1840
  )
1758
1841
  ] }),
1759
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1842
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1760
1843
  "div",
1761
1844
  {
1762
1845
  className: (0, import_clsx9.default)(className, pseudoClass, "tw-group", {
@@ -1766,7 +1849,7 @@ function CustomRangePicker(props) {
1766
1849
  onMouseEnter: () => handleDateHover(date),
1767
1850
  "data-date": titleDate,
1768
1851
  children: [
1769
- showNightCount && isRange && isHovering && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(NightCountTooltip, {}),
1852
+ showNightCount && isRange && isHovering && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(NightCountTooltip, {}),
1770
1853
  date.getDate()
1771
1854
  ]
1772
1855
  }
@@ -1777,7 +1860,8 @@ function CustomRangePicker(props) {
1777
1860
  }
1778
1861
  );
1779
1862
  };
1780
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1863
+ const arrowClasses = "tw-relative tw-top-3 sm:tw-top-0 tw-cursor-pointer tw-rounded-full tw-w-10 tw-h-10 tw-flex tw-justify-center hover:tw-bg-gray-100 tw-items-center";
1864
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1781
1865
  "div",
1782
1866
  {
1783
1867
  className: (0, import_clsx9.default)(
@@ -1788,36 +1872,42 @@ function CustomRangePicker(props) {
1788
1872
  }
1789
1873
  ),
1790
1874
  children: [
1791
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "tw-flex tw-items-center tw-px-4 tw-justify-between tw-mb-4 tw-absolute tw-right-0 tw-left-0 tw-top-0.5 sm:tw-top-4 tw-w-auto", children: [
1792
- !isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1875
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "tw-flex tw-items-center tw-px-4 tw-justify-between tw-mb-4 tw-absolute tw-right-0 tw-left-0 tw-top-0.5 sm:tw-top-4 tw-w-auto", children: [
1876
+ !isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1793
1877
  "div",
1794
1878
  {
1795
- className: "tw-relative tw-top-3 sm:tw-top-0 tw-cursor-pointer tw-rounded-full tw-w-10 tw-h-10 tw-flex tw-justify-center hover:tw-bg-gray-100 tw-items-center",
1879
+ className: (0, import_clsx9.default)(arrowClasses, "tw-left-1"),
1796
1880
  onClick: () => navigateMonth(-1),
1797
1881
  id: "calendar-previous-month-button",
1798
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Chevron, { size: "medium" })
1882
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1883
+ Chevron,
1884
+ {
1885
+ size: "medium",
1886
+ className: "tw-relative -tw-top-0.5 tw-right-0.5"
1887
+ }
1888
+ )
1799
1889
  }
1800
1890
  ),
1801
- isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-w-10 tw-h-10" }),
1802
- !isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1891
+ isPreviousMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-w-10 tw-h-10" }),
1892
+ !isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1803
1893
  "div",
1804
1894
  {
1805
- className: "tw-relative tw-top-3 sm:tw-top-0 tw-cursor-pointer tw-rounded-full tw-w-10 tw-h-10 tw-flex tw-justify-center hover:tw-bg-gray-100 tw-items-center",
1895
+ className: (0, import_clsx9.default)(arrowClasses, "tw-mt-[1px] tw-right-1"),
1806
1896
  onClick: () => navigateMonth(1),
1807
1897
  id: "calendar-next-month-button",
1808
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1898
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1809
1899
  Chevron,
1810
1900
  {
1811
1901
  size: "medium",
1812
1902
  onClick: () => navigateMonth(1),
1813
- className: "tw-rotate-180"
1903
+ className: "tw-rotate-180 tw-relative tw-top-0.5 tw-left-0.5"
1814
1904
  }
1815
1905
  )
1816
1906
  }
1817
1907
  ),
1818
- isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-w-10 tw-h-10" })
1908
+ isNextMonthDisabled() && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-w-10 tw-h-10" })
1819
1909
  ] }),
1820
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "tw-flex tw-items-center tw-justify-between tw-px-6 tw-border-solid tw-border-color-gray-100 tw-border-b tw-border-t-0 tw-border-l-0 tw-border-r-0 tw-w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1910
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "tw-flex tw-items-center tw-justify-between tw-px-6 tw-border-solid tw-border-color-gray-100 tw-border-b tw-border-t-0 tw-border-l-0 tw-border-r-0 tw-w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1821
1911
  "div",
1822
1912
  {
1823
1913
  className: (0, import_clsx9.default)("tw-flex tw-w-full", {
@@ -1845,6 +1935,7 @@ var RangePicker_default = CustomRangePicker;
1845
1935
  Avatar,
1846
1936
  Button,
1847
1937
  Checkbox,
1938
+ LoadingSpinner,
1848
1939
  Modal,
1849
1940
  Radio,
1850
1941
  RangePicker,