@itilite/lumina-ui 1.1.12 → 1.1.13

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 (238) hide show
  1. package/dist/Avatar-DX2JwvAs.d.mts +17 -0
  2. package/dist/Avatar-DX2JwvAs.d.ts +17 -0
  3. package/dist/Tag-l7I5oeyk.d.mts +13 -0
  4. package/dist/Tag-l7I5oeyk.d.ts +13 -0
  5. package/dist/atom/Avatar/Avatar.d.mts +1 -9
  6. package/dist/atom/Avatar/Avatar.d.ts +1 -9
  7. package/dist/atom/RangePicker/RangePicker.js +102 -105
  8. package/dist/atom/RangePicker/RangePicker.mjs +3 -3
  9. package/dist/atom/Select/Select.d.mts +4 -1
  10. package/dist/atom/Select/Select.d.ts +4 -1
  11. package/dist/atom/Select/Select.js +102 -105
  12. package/dist/atom/Select/Select.mjs +1 -1
  13. package/dist/atom/Tag/Tag.d.mts +3 -10
  14. package/dist/atom/Tag/Tag.d.ts +3 -10
  15. package/dist/chunk-3S4X3YO2.mjs +64 -0
  16. package/dist/chunk-DLLT6V65.mjs +141 -0
  17. package/dist/chunk-I5VHKSQR.mjs +64 -0
  18. package/dist/chunk-N2WTNCQU.mjs +66 -0
  19. package/dist/chunk-N3YFQDW7.mjs +77 -0
  20. package/dist/chunk-QWK3MYDM.mjs +64 -0
  21. package/dist/chunk-SWRFCTJW.mjs +77 -0
  22. package/dist/chunk-UUEPD2FH.mjs +141 -0
  23. package/dist/index.d.mts +2 -0
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.js +158 -107
  26. package/dist/index.mjs +23 -19
  27. package/dist/molecules/UserProfile/UserProfile.d.mts +23 -0
  28. package/dist/molecules/UserProfile/UserProfile.d.ts +23 -0
  29. package/dist/molecules/UserProfile/UserProfile.js +243 -0
  30. package/dist/molecules/UserProfile/UserProfile.mjs +11 -0
  31. package/dist/styles.css +252 -236
  32. package/dist/types-D4MD2w3_.d.mts +9 -0
  33. package/dist/types-D4MD2w3_.d.ts +9 -0
  34. package/dist/types-mhQmqhsR.d.mts +10 -0
  35. package/dist/types-mhQmqhsR.d.ts +10 -0
  36. package/package.json +1 -1
  37. package/dist/chunk-22VF7AVT.mjs +0 -618
  38. package/dist/chunk-2BNAAOBU.mjs +0 -670
  39. package/dist/chunk-2IMRLK6M.mjs +0 -44
  40. package/dist/chunk-2JIINZEK.mjs +0 -618
  41. package/dist/chunk-2LBFKQDZ.mjs +0 -660
  42. package/dist/chunk-2QQU6BYR.mjs +0 -678
  43. package/dist/chunk-2ZJBF5C4.mjs +0 -618
  44. package/dist/chunk-33JITG5Y.mjs +0 -621
  45. package/dist/chunk-3AWYHB3A.mjs +0 -618
  46. package/dist/chunk-3IMCN4K3.mjs +0 -670
  47. package/dist/chunk-3K2RTVMH.mjs +0 -584
  48. package/dist/chunk-3KBQQCET.mjs +0 -674
  49. package/dist/chunk-3KUHXNFH.mjs +0 -678
  50. package/dist/chunk-3PPNOIXN.mjs +0 -618
  51. package/dist/chunk-3WWAOBS6.mjs +0 -633
  52. package/dist/chunk-3XFY3TXJ.mjs +0 -611
  53. package/dist/chunk-3XW7HS5W.mjs +0 -618
  54. package/dist/chunk-3YDCRJYV.mjs +0 -618
  55. package/dist/chunk-447HZYZ4.mjs +0 -612
  56. package/dist/chunk-46F3B4U6.mjs +0 -618
  57. package/dist/chunk-4K5RZHL4.mjs +0 -618
  58. package/dist/chunk-4QHFP4YD.mjs +0 -666
  59. package/dist/chunk-4TFX4DHY.mjs +0 -702
  60. package/dist/chunk-4TWO6JES.mjs +0 -666
  61. package/dist/chunk-4UQVJ3ZU.mjs +0 -666
  62. package/dist/chunk-5247J65D.mjs +0 -670
  63. package/dist/chunk-57YKBWEI.mjs +0 -673
  64. package/dist/chunk-5BBLW4MR.mjs +0 -670
  65. package/dist/chunk-5PFI6XBL.mjs +0 -618
  66. package/dist/chunk-66H5WSEJ.mjs +0 -618
  67. package/dist/chunk-6NZEDJ2M.mjs +0 -582
  68. package/dist/chunk-6OC6URNL.mjs +0 -73
  69. package/dist/chunk-6OGEXG5U.mjs +0 -618
  70. package/dist/chunk-6ROQXYVN.mjs +0 -672
  71. package/dist/chunk-6WNI6X5Q.mjs +0 -618
  72. package/dist/chunk-6XGVIU52.mjs +0 -679
  73. package/dist/chunk-72PPCN6D.mjs +0 -675
  74. package/dist/chunk-74EGXFNN.mjs +0 -618
  75. package/dist/chunk-77NCDGJA.mjs +0 -707
  76. package/dist/chunk-7L3WTWF3.mjs +0 -677
  77. package/dist/chunk-7NGBIPZT.mjs +0 -618
  78. package/dist/chunk-7NM4FNMQ.mjs +0 -666
  79. package/dist/chunk-7YBBSVUA.mjs +0 -672
  80. package/dist/chunk-7Z52UP7P.mjs +0 -618
  81. package/dist/chunk-AC6WC7OO.mjs +0 -618
  82. package/dist/chunk-B3LDL3KD.mjs +0 -670
  83. package/dist/chunk-B63IXC6M.mjs +0 -618
  84. package/dist/chunk-B65LGQ47.mjs +0 -666
  85. package/dist/chunk-B6MTRO54.mjs +0 -618
  86. package/dist/chunk-BJBP5XYB.mjs +0 -618
  87. package/dist/chunk-BKPTZNXK.mjs +0 -618
  88. package/dist/chunk-BLLSWPCC.mjs +0 -618
  89. package/dist/chunk-BOYB7REJ.mjs +0 -670
  90. package/dist/chunk-BP2D64XI.mjs +0 -618
  91. package/dist/chunk-BP4XS2GF.mjs +0 -585
  92. package/dist/chunk-BRT5IPGQ.mjs +0 -618
  93. package/dist/chunk-BTIIO2CP.mjs +0 -582
  94. package/dist/chunk-C2J3VBFZ.mjs +0 -670
  95. package/dist/chunk-CDOR7GQP.mjs +0 -618
  96. package/dist/chunk-CI2RMA4V.mjs +0 -612
  97. package/dist/chunk-CNN74G3M.mjs +0 -666
  98. package/dist/chunk-CNUIZOQJ.mjs +0 -669
  99. package/dist/chunk-CPBXPEST.mjs +0 -672
  100. package/dist/chunk-CPOZJCLV.mjs +0 -681
  101. package/dist/chunk-CVOLXLMU.mjs +0 -618
  102. package/dist/chunk-CWUCNC36.mjs +0 -666
  103. package/dist/chunk-CZBGN6GS.mjs +0 -612
  104. package/dist/chunk-D3APB62N.mjs +0 -618
  105. package/dist/chunk-D5B2TUSL.mjs +0 -591
  106. package/dist/chunk-D7TWXVL2.mjs +0 -674
  107. package/dist/chunk-DAZ53AD7.mjs +0 -671
  108. package/dist/chunk-DBY5U6IU.mjs +0 -618
  109. package/dist/chunk-DRNY4L7J.mjs +0 -618
  110. package/dist/chunk-DXTVU4M5.mjs +0 -618
  111. package/dist/chunk-DZBTD6QK.mjs +0 -666
  112. package/dist/chunk-E6UPDTDY.mjs +0 -611
  113. package/dist/chunk-EAK2IMM4.mjs +0 -37
  114. package/dist/chunk-EQT2Q2LW.mjs +0 -610
  115. package/dist/chunk-EWMCELQV.mjs +0 -670
  116. package/dist/chunk-EYKWBEHX.mjs +0 -612
  117. package/dist/chunk-FHLCFUP6.mjs +0 -666
  118. package/dist/chunk-FMPFLQZV.mjs +0 -670
  119. package/dist/chunk-G25YXZ74.mjs +0 -618
  120. package/dist/chunk-G6P5MKL3.mjs +0 -582
  121. package/dist/chunk-G7I4NT42.mjs +0 -720
  122. package/dist/chunk-GSG6ZC3R.mjs +0 -37
  123. package/dist/chunk-GU5F7Z7I.mjs +0 -681
  124. package/dist/chunk-H3MQUFTJ.mjs +0 -618
  125. package/dist/chunk-HKZRLVBX.mjs +0 -618
  126. package/dist/chunk-HPDJYQXM.mjs +0 -663
  127. package/dist/chunk-HQALJGVT.mjs +0 -618
  128. package/dist/chunk-HTYOI6JT.mjs +0 -618
  129. package/dist/chunk-I5GBZ3UX.mjs +0 -676
  130. package/dist/chunk-IIJUGDEJ.mjs +0 -618
  131. package/dist/chunk-IQHBVGA4.mjs +0 -677
  132. package/dist/chunk-IUTUCRDD.mjs +0 -611
  133. package/dist/chunk-IV4V55OA.mjs +0 -672
  134. package/dist/chunk-J2RAFKAD.mjs +0 -618
  135. package/dist/chunk-J327EMX2.mjs +0 -663
  136. package/dist/chunk-J3ZBXBJ2.mjs +0 -689
  137. package/dist/chunk-JCMSG75Q.mjs +0 -51
  138. package/dist/chunk-JEAZCSST.mjs +0 -676
  139. package/dist/chunk-JL34UFI7.mjs +0 -670
  140. package/dist/chunk-JTKSGGQM.mjs +0 -611
  141. package/dist/chunk-JZC2RRDH.mjs +0 -618
  142. package/dist/chunk-JZCHXA6R.mjs +0 -585
  143. package/dist/chunk-K3Y7VKT6.mjs +0 -670
  144. package/dist/chunk-KDR6M52K.mjs +0 -723
  145. package/dist/chunk-KEVXNUFG.mjs +0 -672
  146. package/dist/chunk-KH7D4ESJ.mjs +0 -584
  147. package/dist/chunk-KQBCWIIM.mjs +0 -618
  148. package/dist/chunk-KRYAP7NG.mjs +0 -670
  149. package/dist/chunk-KU655POK.mjs +0 -657
  150. package/dist/chunk-L55SLVNX.mjs +0 -618
  151. package/dist/chunk-LCRYOZEV.mjs +0 -618
  152. package/dist/chunk-LEPDKBT2.mjs +0 -709
  153. package/dist/chunk-LH55S6HJ.mjs +0 -618
  154. package/dist/chunk-LH7PP6V2.mjs +0 -618
  155. package/dist/chunk-LJMMYKE2.mjs +0 -618
  156. package/dist/chunk-LK5TROLL.mjs +0 -666
  157. package/dist/chunk-MDR7DAKM.mjs +0 -618
  158. package/dist/chunk-MJZLCWZ5.mjs +0 -666
  159. package/dist/chunk-MKZTEJLS.mjs +0 -612
  160. package/dist/chunk-MO7JTKPH.mjs +0 -618
  161. package/dist/chunk-MOD7MLCD.mjs +0 -64
  162. package/dist/chunk-MQCOQHHP.mjs +0 -618
  163. package/dist/chunk-MSM4KUBM.mjs +0 -618
  164. package/dist/chunk-MTIUER63.mjs +0 -676
  165. package/dist/chunk-MWC57EU6.mjs +0 -666
  166. package/dist/chunk-NBLV3UX5.mjs +0 -618
  167. package/dist/chunk-NLADSOJS.mjs +0 -618
  168. package/dist/chunk-NPMTWR3Y.mjs +0 -618
  169. package/dist/chunk-NQ6GKEO7.mjs +0 -670
  170. package/dist/chunk-NZSFYNUK.mjs +0 -618
  171. package/dist/chunk-OANBDTKG.mjs +0 -73
  172. package/dist/chunk-OCNF4O5U.mjs +0 -612
  173. package/dist/chunk-OCW5QSWA.mjs +0 -618
  174. package/dist/chunk-OMXQ6VML.mjs +0 -618
  175. package/dist/chunk-OQF7JZFS.mjs +0 -670
  176. package/dist/chunk-OT675HGC.mjs +0 -670
  177. package/dist/chunk-P47TCYKN.mjs +0 -618
  178. package/dist/chunk-P7TOGXPI.mjs +0 -672
  179. package/dist/chunk-PCAXXEEQ.mjs +0 -618
  180. package/dist/chunk-PDHMG7OZ.mjs +0 -672
  181. package/dist/chunk-PFGVOZGM.mjs +0 -618
  182. package/dist/chunk-PGAAFJOG.mjs +0 -576
  183. package/dist/chunk-PQSSDK3E.mjs +0 -618
  184. package/dist/chunk-PSESRID3.mjs +0 -681
  185. package/dist/chunk-PST7W3NG.mjs +0 -618
  186. package/dist/chunk-QGPBZ2YV.mjs +0 -664
  187. package/dist/chunk-QOPCJITC.mjs +0 -618
  188. package/dist/chunk-QSE52CRC.mjs +0 -618
  189. package/dist/chunk-QTP2QMPL.mjs +0 -669
  190. package/dist/chunk-QUZAACW5.mjs +0 -585
  191. package/dist/chunk-R47XX6IW.mjs +0 -611
  192. package/dist/chunk-RAWVG2MM.mjs +0 -618
  193. package/dist/chunk-RL6AEU6E.mjs +0 -612
  194. package/dist/chunk-RZ7V2KQZ.mjs +0 -621
  195. package/dist/chunk-S3CUYIE3.mjs +0 -585
  196. package/dist/chunk-T2Y6AXM5.mjs +0 -618
  197. package/dist/chunk-T7T4HCHH.mjs +0 -618
  198. package/dist/chunk-TED2WCDG.mjs +0 -618
  199. package/dist/chunk-TENXL4LK.mjs +0 -107
  200. package/dist/chunk-THT4ALWQ.mjs +0 -618
  201. package/dist/chunk-TJLIMMMB.mjs +0 -612
  202. package/dist/chunk-TNOJDLON.mjs +0 -611
  203. package/dist/chunk-TOR67IHH.mjs +0 -672
  204. package/dist/chunk-TOV7NVKM.mjs +0 -618
  205. package/dist/chunk-TSYMIRRN.mjs +0 -618
  206. package/dist/chunk-TTSRI4V7.mjs +0 -708
  207. package/dist/chunk-TWV2Z27S.mjs +0 -618
  208. package/dist/chunk-UBS3DTE5.mjs +0 -672
  209. package/dist/chunk-UBW6RYVF.mjs +0 -670
  210. package/dist/chunk-UFAFA6RV.mjs +0 -585
  211. package/dist/chunk-UJNUFKR5.mjs +0 -43
  212. package/dist/chunk-UPUD2FQL.mjs +0 -618
  213. package/dist/chunk-UUTSL2NM.mjs +0 -618
  214. package/dist/chunk-VAZZJOSJ.mjs +0 -618
  215. package/dist/chunk-VCWXOX2B.mjs +0 -618
  216. package/dist/chunk-VHCLEOHZ.mjs +0 -618
  217. package/dist/chunk-VTZSCGME.mjs +0 -666
  218. package/dist/chunk-W33KZ2XR.mjs +0 -618
  219. package/dist/chunk-W7J4GMPI.mjs +0 -618
  220. package/dist/chunk-WCYB5OTY.mjs +0 -618
  221. package/dist/chunk-WOVMTYDV.mjs +0 -612
  222. package/dist/chunk-WR3USBWK.mjs +0 -672
  223. package/dist/chunk-WXYQARQ6.mjs +0 -618
  224. package/dist/chunk-XE4LPYOW.mjs +0 -581
  225. package/dist/chunk-XSDANHCE.mjs +0 -618
  226. package/dist/chunk-Y6XKW4NG.mjs +0 -618
  227. package/dist/chunk-YCAOWGDP.mjs +0 -618
  228. package/dist/chunk-YO5EDEA6.mjs +0 -618
  229. package/dist/chunk-YQSNJFZE.mjs +0 -618
  230. package/dist/chunk-Z6VG6AG7.mjs +0 -678
  231. package/dist/chunk-ZAPKQ4C3.mjs +0 -678
  232. package/dist/chunk-ZCWDQNHL.mjs +0 -618
  233. package/dist/chunk-ZF5JBNCI.mjs +0 -618
  234. package/dist/chunk-ZN7BHWOF.mjs +0 -672
  235. package/dist/chunk-ZUMHWVMV.mjs +0 -585
  236. package/dist/chunk-ZUQJKA5J.mjs +0 -666
  237. package/dist/chunk-ZUUAXTPM.mjs +0 -618
  238. package/dist/chunk-ZWHWIGYQ.mjs +0 -618
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+
3
+ interface AvatarProps {
4
+ img?: string;
5
+ className?: string;
6
+ name: string;
7
+ height?: number;
8
+ width?: number;
9
+ size?: "small" | "normal";
10
+ }
11
+
12
+ declare function Avatar({ img, className, name, height, width, size, }: AvatarProps): React.JSX.Element;
13
+ declare namespace Avatar {
14
+ var displayName: string;
15
+ }
16
+
17
+ export { type AvatarProps as A, Avatar as a };
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+
3
+ interface AvatarProps {
4
+ img?: string;
5
+ className?: string;
6
+ name: string;
7
+ height?: number;
8
+ width?: number;
9
+ size?: "small" | "normal";
10
+ }
11
+
12
+ declare function Avatar({ img, className, name, height, width, size, }: AvatarProps): React.JSX.Element;
13
+ declare namespace Avatar {
14
+ var displayName: string;
15
+ }
16
+
17
+ export { type AvatarProps as A, Avatar as a };
@@ -0,0 +1,13 @@
1
+ import * as React$1 from 'react';
2
+
3
+ interface TagProps {
4
+ type?: "success" | "warning" | "blue" | "processing" | "failed";
5
+ className?: string;
6
+ title?: string;
7
+ icon?: React.ReactElement;
8
+ size?: string;
9
+ }
10
+
11
+ declare const Tag: React$1.FC<TagProps>;
12
+
13
+ export { type TagProps as T, Tag as a };
@@ -0,0 +1,13 @@
1
+ import * as React$1 from 'react';
2
+
3
+ interface TagProps {
4
+ type?: "success" | "warning" | "blue" | "processing" | "failed";
5
+ className?: string;
6
+ title?: string;
7
+ icon?: React.ReactElement;
8
+ size?: string;
9
+ }
10
+
11
+ declare const Tag: React$1.FC<TagProps>;
12
+
13
+ export { type TagProps as T, Tag as a };
@@ -1,13 +1,5 @@
1
1
  import * as React from 'react';
2
-
3
- interface AvatarProps {
4
- img?: string;
5
- className?: string;
6
- name: string;
7
- height?: number;
8
- width?: number;
9
- size?: "small" | "normal";
10
- }
2
+ import { A as AvatarProps } from '../../types-mhQmqhsR.mjs';
11
3
 
12
4
  declare function Avatar({ img, className, name, height, width, size, }: AvatarProps): React.JSX.Element;
13
5
  declare namespace Avatar {
@@ -1,13 +1,5 @@
1
1
  import * as React from 'react';
2
-
3
- interface AvatarProps {
4
- img?: string;
5
- className?: string;
6
- name: string;
7
- height?: number;
8
- width?: number;
9
- size?: "small" | "normal";
10
- }
2
+ import { A as AvatarProps } from '../../types-mhQmqhsR.js';
11
3
 
12
4
  declare function Avatar({ img, className, name, height, width, size, }: AvatarProps): React.JSX.Element;
13
5
  declare namespace Avatar {
@@ -275,46 +275,6 @@ var LoadingSpinner_default = LoadingSpinner;
275
275
 
276
276
  // src/atom/Select/Select.tsx
277
277
  var import_jsx_runtime7 = require("react/jsx-runtime");
278
- var InputWrapper = (0, import_react2.memo)(({ children, disabled, disabledTooltip }) => {
279
- if (disabled && disabledTooltip)
280
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tooltip_default, { title: disabledTooltip, children });
281
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
282
- });
283
- var OptionItem = (0, import_react2.memo)(({
284
- option,
285
- index,
286
- isSelected,
287
- isHighlighted,
288
- experience,
289
- size,
290
- optionClassName,
291
- onSelectHandler,
292
- onMouseEnterHandler
293
- }) => {
294
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
295
- "div",
296
- {
297
- onClick: () => onSelectHandler(option),
298
- onMouseEnter: () => onMouseEnterHandler(index),
299
- className: (0, import_clsx.default)(
300
- "tw-transition-all tw-duration-150",
301
- { "tw-typography-body2": size !== "small" },
302
- { "tw-typography-caption1": size === "small" },
303
- optionClassName
304
- ),
305
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
306
- "div",
307
- {
308
- className: (0, import_clsx.default)(
309
- "tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
310
- isSelected ? experience === "personal" ? "tw-bg-[#f1e8fa]" : "tw-bg-[#fff1e1]" : isHighlighted ? "tw-bg-[#f3f4f6] tw-text-gray-900" : "tw-text-gray-900 hover:tw-bg-[#1118270a]"
311
- ),
312
- children: option.label
313
- }
314
- )
315
- }
316
- );
317
- });
318
278
  var Select = ({
319
279
  label,
320
280
  mandatory = false,
@@ -553,31 +513,6 @@ var Select = ({
553
513
  }
554
514
  return "";
555
515
  }, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
556
- const displayValue = (0, import_react2.useMemo)(() => getDisplayValue(), [getDisplayValue]);
557
- const inputClasses = (0, import_react2.useMemo)(() => {
558
- return (0, import_clsx.default)(
559
- "tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
560
- sizeClasses.input,
561
- sizeClasses.padding,
562
- variantClasses,
563
- {
564
- "tw-bg-white": valueSelected || displayValue || isFocused,
565
- "tw-bg-color-gray-5": !valueSelected || !displayValue,
566
- "!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
567
- },
568
- !label && "tw-flex tw-items-center",
569
- {
570
- "!tw-border-color-primary": isFocused && experience === "business"
571
- },
572
- {
573
- "!tw-border-[#804D7B]": isFocused && experience === "personal"
574
- },
575
- error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
576
- "focus:tw-shadow-sm focus:tw-ring-offset-1",
577
- className,
578
- inputClassName
579
- );
580
- }, [sizeClasses, variantClasses, valueSelected, displayValue, isFocused, disabled, label, experience, error, className, inputClassName]);
581
516
  const filteredOptions = (0, import_react2.useMemo)(() => {
582
517
  var _a;
583
518
  if (!enableSearch) {
@@ -672,7 +607,7 @@ var Select = ({
672
607
  }, [highlightedIndex]);
673
608
  (0, import_react2.useEffect)(() => {
674
609
  optionRefs.current = [];
675
- }, [filteredOptions.length]);
610
+ }, [filteredOptions]);
676
611
  const handleMouseEnter = (0, import_react2.useCallback)(() => {
677
612
  if (hoverTimeoutRef.current) {
678
613
  clearTimeout(hoverTimeoutRef.current);
@@ -709,23 +644,12 @@ var Select = ({
709
644
  },
710
645
  [isOpen, handleInputInteraction]
711
646
  );
712
- const handleChevronMouseDown = (0, import_react2.useCallback)(
713
- (e) => {
714
- if (isHovering && selectedValue && allowClear) {
715
- handleClear(e);
716
- } else {
717
- handleChevronClick(e);
718
- }
719
- },
720
- [isHovering, selectedValue, allowClear, handleClear, handleChevronClick]
721
- );
722
- const handleOptionClick = (0, import_react2.useCallback)((option) => {
723
- handleOptionSelect(option);
724
- }, [handleOptionSelect]);
725
- const handleOptionMouseEnter = (0, import_react2.useCallback)((index) => {
726
- setHighlightedIndex(index);
727
- }, []);
728
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(InputWrapper, { disabled, disabledTooltip, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
647
+ const InputWrapper = ({ children }) => {
648
+ if (disabled && disabledTooltip)
649
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tooltip_default, { title: disabledTooltip, children });
650
+ return children;
651
+ };
652
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(InputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
729
653
  "div",
730
654
  {
731
655
  style,
@@ -749,11 +673,35 @@ var Select = ({
749
673
  autoCorrect: "off",
750
674
  autoCapitalize: "off",
751
675
  spellCheck: "false",
752
- value: isFocused && enableSearch ? searchTerm : displayValue,
676
+ value: isFocused && enableSearch ? searchTerm : getDisplayValue(),
753
677
  onChange: enableSearch ? handleSearchChange : void 0,
754
678
  onClick: handleInputInteraction,
755
679
  onKeyDown: handleKeyDown,
756
- className: inputClasses,
680
+ className: (0, import_clsx.default)(
681
+ "tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
682
+ sizeClasses.input,
683
+ sizeClasses.padding,
684
+ variantClasses,
685
+ {
686
+ "tw-bg-white": valueSelected || getDisplayValue() || isFocused,
687
+ "tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
688
+ "!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
689
+ },
690
+ // Conditional padding based on label presence
691
+ !label && "tw-flex tw-items-center",
692
+ {
693
+ "!tw-border-color-primary": isFocused && experience === "business"
694
+ },
695
+ {
696
+ "!tw-border-[#804D7B]": isFocused && experience === "personal"
697
+ },
698
+ error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
699
+ // Add focus state styling
700
+ "focus:tw-shadow-sm focus:tw-ring-offset-1",
701
+ className,
702
+ inputClassName
703
+ // Put inputClassName last so it can override default classes
704
+ ),
757
705
  readOnly: !isFocused || !enableSearch
758
706
  }
759
707
  ),
@@ -794,7 +742,13 @@ var Select = ({
794
742
  // Only rotate chevron when open and not showing clear icon
795
743
  isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
796
744
  ),
797
- onMouseDown: handleChevronMouseDown,
745
+ onMouseDown: (e) => {
746
+ if (isHovering && selectedValue && allowClear) {
747
+ handleClear(e);
748
+ } else {
749
+ handleChevronClick(e);
750
+ }
751
+ },
798
752
  children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
799
753
  CrossV2,
800
754
  {
@@ -825,32 +779,75 @@ var Select = ({
825
779
  dropdownClassName
826
780
  ),
827
781
  ref: optionListRef,
828
- children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => {
829
- const isSelected = normalizeValue(selectedValue) === normalizeValue(option.value);
830
- const isHighlighted = index === highlightedIndex;
831
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { ref: (el) => optionRefs.current[index] = el, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
832
- OptionItem,
833
- {
834
- option,
835
- index,
836
- isSelected,
837
- isHighlighted,
838
- experience,
839
- size,
840
- optionClassName,
841
- onSelectHandler: handleOptionClick,
842
- onMouseEnterHandler: handleOptionMouseEnter
843
- }
844
- ) }, doubleCharSearch ? option.label : option.value);
845
- }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
782
+ children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
783
+ "div",
784
+ {
785
+ ref: (el) => optionRefs.current[index] = el,
786
+ onClick: () => handleOptionSelect(option),
787
+ onMouseEnter: () => setHighlightedIndex(index),
788
+ className: (0, import_clsx.default)(
789
+ "tw-transition-all tw-duration-150",
790
+ { "tw-typography-body2": size !== "small" },
791
+ { "tw-typography-caption1": size === "small" },
792
+ optionClassName
793
+ ),
794
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
795
+ "div",
796
+ {
797
+ className: (0, import_clsx.default)(
798
+ "tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
799
+ normalizeValue(selectedValue) === normalizeValue(option.value) ? experience === "personal" ? "tw-bg-[#f1e8fa]" : "tw-bg-[#fff1e1]" : (
800
+ // Highlighted option styling (keyboard navigation)
801
+ index === highlightedIndex ? "tw-bg-[#f3f4f6] tw-text-gray-900" : (
802
+ // Default option styling
803
+ "tw-text-gray-900 hover:tw-bg-[#1118270a]"
804
+ )
805
+ )
806
+ ),
807
+ children: option.label
808
+ }
809
+ )
810
+ },
811
+ doubleCharSearch ? option.label : option.value
812
+ )) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
846
813
  }
847
814
  )
848
815
  ]
849
816
  }
850
817
  ) });
851
818
  };
819
+ var arePropsEqual = (prevProps, nextProps) => {
820
+ var _a, _b;
821
+ const criticalProps = [
822
+ "value",
823
+ "valueSelected",
824
+ "options",
825
+ "error",
826
+ "disabled",
827
+ "label",
828
+ "mandatory"
829
+ ];
830
+ for (const prop of criticalProps) {
831
+ if (prevProps[prop] !== nextProps[prop]) {
832
+ return false;
833
+ }
834
+ }
835
+ if (((_a = prevProps.options) == null ? void 0 : _a.length) !== ((_b = nextProps.options) == null ? void 0 : _b.length)) {
836
+ return false;
837
+ }
838
+ if (prevProps.options && nextProps.options) {
839
+ for (let i = 0; i < prevProps.options.length; i++) {
840
+ const prevOpt = prevProps.options[i];
841
+ const nextOpt = nextProps.options[i];
842
+ if ((prevOpt == null ? void 0 : prevOpt.value) !== (nextOpt == null ? void 0 : nextOpt.value) || (prevOpt == null ? void 0 : prevOpt.label) !== (nextOpt == null ? void 0 : nextOpt.label)) {
843
+ return false;
844
+ }
845
+ }
846
+ }
847
+ return true;
848
+ };
852
849
  Select.displayName = "Select";
853
- var Select_default = Select;
850
+ var Select_default = (0, import_react2.memo)(Select, arePropsEqual);
854
851
 
855
852
  // src/atom/RangePicker/RangePicker.tsx
856
853
  var import_jsx_runtime8 = require("react/jsx-runtime");
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  CustomRangePicker,
3
3
  RangePicker_default
4
- } from "../../chunk-IIJUGDEJ.mjs";
5
- import "../../chunk-ZTRM4HZJ.mjs";
6
- import "../../chunk-GU5F7Z7I.mjs";
4
+ } from "../../chunk-35KDS27M.mjs";
5
+ import "../../chunk-E4FCLHYA.mjs";
7
6
  import "../../chunk-MLCMZRUC.mjs";
8
7
  import "../../chunk-QKTMWS4J.mjs";
8
+ import "../../chunk-ZTRM4HZJ.mjs";
9
9
  import "../../chunk-FWCSY2DS.mjs";
10
10
  export {
11
11
  CustomRangePicker as RangePicker,
@@ -1,3 +1,5 @@
1
+ import * as React$1 from 'react';
2
+
1
3
  interface SelectOption {
2
4
  value: string | number;
3
5
  label: string;
@@ -36,5 +38,6 @@ interface SelectProps {
36
38
  }
37
39
 
38
40
  declare const Select: React.FC<SelectProps>;
41
+ declare const _default: React$1.NamedExoticComponent<SelectProps>;
39
42
 
40
- export { Select, Select as default };
43
+ export { Select, _default as default };
@@ -1,3 +1,5 @@
1
+ import * as React$1 from 'react';
2
+
1
3
  interface SelectOption {
2
4
  value: string | number;
3
5
  label: string;
@@ -36,5 +38,6 @@ interface SelectProps {
36
38
  }
37
39
 
38
40
  declare const Select: React.FC<SelectProps>;
41
+ declare const _default: React$1.NamedExoticComponent<SelectProps>;
39
42
 
40
- export { Select, Select as default };
43
+ export { Select, _default as default };
@@ -223,46 +223,6 @@ var LoadingSpinner_default = LoadingSpinner;
223
223
 
224
224
  // src/atom/Select/Select.tsx
225
225
  var import_jsx_runtime6 = require("react/jsx-runtime");
226
- var InputWrapper = (0, import_react2.memo)(({ children, disabled, disabledTooltip }) => {
227
- if (disabled && disabledTooltip)
228
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Tooltip_default, { title: disabledTooltip, children });
229
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children });
230
- });
231
- var OptionItem = (0, import_react2.memo)(({
232
- option,
233
- index,
234
- isSelected,
235
- isHighlighted,
236
- experience,
237
- size,
238
- optionClassName,
239
- onSelectHandler,
240
- onMouseEnterHandler
241
- }) => {
242
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
243
- "div",
244
- {
245
- onClick: () => onSelectHandler(option),
246
- onMouseEnter: () => onMouseEnterHandler(index),
247
- className: (0, import_clsx.default)(
248
- "tw-transition-all tw-duration-150",
249
- { "tw-typography-body2": size !== "small" },
250
- { "tw-typography-caption1": size === "small" },
251
- optionClassName
252
- ),
253
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
254
- "div",
255
- {
256
- className: (0, import_clsx.default)(
257
- "tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
258
- isSelected ? experience === "personal" ? "tw-bg-[#f1e8fa]" : "tw-bg-[#fff1e1]" : isHighlighted ? "tw-bg-[#f3f4f6] tw-text-gray-900" : "tw-text-gray-900 hover:tw-bg-[#1118270a]"
259
- ),
260
- children: option.label
261
- }
262
- )
263
- }
264
- );
265
- });
266
226
  var Select = ({
267
227
  label,
268
228
  mandatory = false,
@@ -501,31 +461,6 @@ var Select = ({
501
461
  }
502
462
  return "";
503
463
  }, [selectedValue, validatedOptions, showDisplayValue, normalizeValue]);
504
- const displayValue = (0, import_react2.useMemo)(() => getDisplayValue(), [getDisplayValue]);
505
- const inputClasses = (0, import_react2.useMemo)(() => {
506
- return (0, import_clsx.default)(
507
- "tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
508
- sizeClasses.input,
509
- sizeClasses.padding,
510
- variantClasses,
511
- {
512
- "tw-bg-white": valueSelected || displayValue || isFocused,
513
- "tw-bg-color-gray-5": !valueSelected || !displayValue,
514
- "!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
515
- },
516
- !label && "tw-flex tw-items-center",
517
- {
518
- "!tw-border-color-primary": isFocused && experience === "business"
519
- },
520
- {
521
- "!tw-border-[#804D7B]": isFocused && experience === "personal"
522
- },
523
- error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
524
- "focus:tw-shadow-sm focus:tw-ring-offset-1",
525
- className,
526
- inputClassName
527
- );
528
- }, [sizeClasses, variantClasses, valueSelected, displayValue, isFocused, disabled, label, experience, error, className, inputClassName]);
529
464
  const filteredOptions = (0, import_react2.useMemo)(() => {
530
465
  var _a;
531
466
  if (!enableSearch) {
@@ -620,7 +555,7 @@ var Select = ({
620
555
  }, [highlightedIndex]);
621
556
  (0, import_react2.useEffect)(() => {
622
557
  optionRefs.current = [];
623
- }, [filteredOptions.length]);
558
+ }, [filteredOptions]);
624
559
  const handleMouseEnter = (0, import_react2.useCallback)(() => {
625
560
  if (hoverTimeoutRef.current) {
626
561
  clearTimeout(hoverTimeoutRef.current);
@@ -657,23 +592,12 @@ var Select = ({
657
592
  },
658
593
  [isOpen, handleInputInteraction]
659
594
  );
660
- const handleChevronMouseDown = (0, import_react2.useCallback)(
661
- (e) => {
662
- if (isHovering && selectedValue && allowClear) {
663
- handleClear(e);
664
- } else {
665
- handleChevronClick(e);
666
- }
667
- },
668
- [isHovering, selectedValue, allowClear, handleClear, handleChevronClick]
669
- );
670
- const handleOptionClick = (0, import_react2.useCallback)((option) => {
671
- handleOptionSelect(option);
672
- }, [handleOptionSelect]);
673
- const handleOptionMouseEnter = (0, import_react2.useCallback)((index) => {
674
- setHighlightedIndex(index);
675
- }, []);
676
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(InputWrapper, { disabled, disabledTooltip, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
595
+ const InputWrapper = ({ children }) => {
596
+ if (disabled && disabledTooltip)
597
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Tooltip_default, { title: disabledTooltip, children });
598
+ return children;
599
+ };
600
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(InputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
677
601
  "div",
678
602
  {
679
603
  style,
@@ -697,11 +621,35 @@ var Select = ({
697
621
  autoCorrect: "off",
698
622
  autoCapitalize: "off",
699
623
  spellCheck: "false",
700
- value: isFocused && enableSearch ? searchTerm : displayValue,
624
+ value: isFocused && enableSearch ? searchTerm : getDisplayValue(),
701
625
  onChange: enableSearch ? handleSearchChange : void 0,
702
626
  onClick: handleInputInteraction,
703
627
  onKeyDown: handleKeyDown,
704
- className: inputClasses,
628
+ className: (0, import_clsx.default)(
629
+ "tw-w-full tw-rounded-xl tw-outline-none tw-transition-all tw-duration-200 tw-cursor-pointer tw-border-solid tw-text-color-text-default",
630
+ sizeClasses.input,
631
+ sizeClasses.padding,
632
+ variantClasses,
633
+ {
634
+ "tw-bg-white": valueSelected || getDisplayValue() || isFocused,
635
+ "tw-bg-color-gray-5": !valueSelected || !getDisplayValue(),
636
+ "!tw-bg-[#F8F7F6] tw-cursor-not-allowed tw-pointer-events-none": disabled
637
+ },
638
+ // Conditional padding based on label presence
639
+ !label && "tw-flex tw-items-center",
640
+ {
641
+ "!tw-border-color-primary": isFocused && experience === "business"
642
+ },
643
+ {
644
+ "!tw-border-[#804D7B]": isFocused && experience === "personal"
645
+ },
646
+ error ? "!tw-border-color-text-critical " : "tw-border-[#EBE3DD] hover:tw-border-[#C5B7AC]",
647
+ // Add focus state styling
648
+ "focus:tw-shadow-sm focus:tw-ring-offset-1",
649
+ className,
650
+ inputClassName
651
+ // Put inputClassName last so it can override default classes
652
+ ),
705
653
  readOnly: !isFocused || !enableSearch
706
654
  }
707
655
  ),
@@ -742,7 +690,13 @@ var Select = ({
742
690
  // Only rotate chevron when open and not showing clear icon
743
691
  isOpen && !(isHovering && selectedValue && allowClear) && "-tw-rotate-180"
744
692
  ),
745
- onMouseDown: handleChevronMouseDown,
693
+ onMouseDown: (e) => {
694
+ if (isHovering && selectedValue && allowClear) {
695
+ handleClear(e);
696
+ } else {
697
+ handleChevronClick(e);
698
+ }
699
+ },
746
700
  children: disabled ? null : isHovering && selectedValue && allowClear ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
747
701
  CrossV2,
748
702
  {
@@ -773,32 +727,75 @@ var Select = ({
773
727
  dropdownClassName
774
728
  ),
775
729
  ref: optionListRef,
776
- children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => {
777
- const isSelected = normalizeValue(selectedValue) === normalizeValue(option.value);
778
- const isHighlighted = index === highlightedIndex;
779
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref: (el) => optionRefs.current[index] = el, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
780
- OptionItem,
781
- {
782
- option,
783
- index,
784
- isSelected,
785
- isHighlighted,
786
- experience,
787
- size,
788
- optionClassName,
789
- onSelectHandler: handleOptionClick,
790
- onMouseEnterHandler: handleOptionMouseEnter
791
- }
792
- ) }, doubleCharSearch ? option.label : option.value);
793
- }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
730
+ children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
731
+ "div",
732
+ {
733
+ ref: (el) => optionRefs.current[index] = el,
734
+ onClick: () => handleOptionSelect(option),
735
+ onMouseEnter: () => setHighlightedIndex(index),
736
+ className: (0, import_clsx.default)(
737
+ "tw-transition-all tw-duration-150",
738
+ { "tw-typography-body2": size !== "small" },
739
+ { "tw-typography-caption1": size === "small" },
740
+ optionClassName
741
+ ),
742
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
743
+ "div",
744
+ {
745
+ className: (0, import_clsx.default)(
746
+ "tw-px-4 tw-cursor-pointer tw-py-2 tw-mx-0.5 tw-rounded-xl",
747
+ normalizeValue(selectedValue) === normalizeValue(option.value) ? experience === "personal" ? "tw-bg-[#f1e8fa]" : "tw-bg-[#fff1e1]" : (
748
+ // Highlighted option styling (keyboard navigation)
749
+ index === highlightedIndex ? "tw-bg-[#f3f4f6] tw-text-gray-900" : (
750
+ // Default option styling
751
+ "tw-text-gray-900 hover:tw-bg-[#1118270a]"
752
+ )
753
+ )
754
+ ),
755
+ children: option.label
756
+ }
757
+ )
758
+ },
759
+ doubleCharSearch ? option.label : option.value
760
+ )) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "tw-px-4 tw-py-3 tw-text-gray-500 tw-text-sm", children: "No options found" })
794
761
  }
795
762
  )
796
763
  ]
797
764
  }
798
765
  ) });
799
766
  };
767
+ var arePropsEqual = (prevProps, nextProps) => {
768
+ var _a, _b;
769
+ const criticalProps = [
770
+ "value",
771
+ "valueSelected",
772
+ "options",
773
+ "error",
774
+ "disabled",
775
+ "label",
776
+ "mandatory"
777
+ ];
778
+ for (const prop of criticalProps) {
779
+ if (prevProps[prop] !== nextProps[prop]) {
780
+ return false;
781
+ }
782
+ }
783
+ if (((_a = prevProps.options) == null ? void 0 : _a.length) !== ((_b = nextProps.options) == null ? void 0 : _b.length)) {
784
+ return false;
785
+ }
786
+ if (prevProps.options && nextProps.options) {
787
+ for (let i = 0; i < prevProps.options.length; i++) {
788
+ const prevOpt = prevProps.options[i];
789
+ const nextOpt = nextProps.options[i];
790
+ if ((prevOpt == null ? void 0 : prevOpt.value) !== (nextOpt == null ? void 0 : nextOpt.value) || (prevOpt == null ? void 0 : prevOpt.label) !== (nextOpt == null ? void 0 : nextOpt.label)) {
791
+ return false;
792
+ }
793
+ }
794
+ }
795
+ return true;
796
+ };
800
797
  Select.displayName = "Select";
801
- var Select_default = Select;
798
+ var Select_default = (0, import_react2.memo)(Select, arePropsEqual);
802
799
  // Annotate the CommonJS export names for ESM import in node:
803
800
  0 && (module.exports = {
804
801
  Select