@jenesei-software/jenesei-kit-react 1.3.19 → 1.3.20

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 (343) hide show
  1. package/build/area-BLgNLu9A.js +19 -0
  2. package/build/area-BLgNLu9A.js.map +1 -0
  3. package/build/area-C5QUBcb-.js +26 -0
  4. package/build/area-C5QUBcb-.js.map +1 -0
  5. package/build/area-DAgP6K9K.cjs +2 -0
  6. package/build/area-DAgP6K9K.cjs.map +1 -0
  7. package/build/area-k8GR7Khj.cjs +2 -0
  8. package/build/area-k8GR7Khj.cjs.map +1 -0
  9. package/build/area-preview.cjs.js +1 -1
  10. package/build/area-preview.es.js +1 -1
  11. package/build/area-scroll.cjs.js +1 -1
  12. package/build/area-scroll.es.js +3 -2
  13. package/build/area-scroll.es.js.map +1 -1
  14. package/build/area-skeleton.cjs.js +1 -1
  15. package/build/area-skeleton.es.js +3 -2
  16. package/build/area-skeleton.es.js.map +1 -1
  17. package/build/{area-BDMDiVi1.js → area.styles-BJCDsTi3.js} +2 -24
  18. package/build/area.styles-BJCDsTi3.js.map +1 -0
  19. package/build/area.styles-CtrTLcAj.cjs +40 -0
  20. package/build/area.styles-CtrTLcAj.cjs.map +1 -0
  21. package/build/{area-CmCMHnRA.cjs → area.styles-DQBIvHdz.cjs} +3 -3
  22. package/build/area.styles-DQBIvHdz.cjs.map +1 -0
  23. package/build/{area-BWxBop5m.js → area.styles-DWqSyo49.js} +2 -17
  24. package/build/area.styles-DWqSyo49.js.map +1 -0
  25. package/build/build-info.txt +3 -3
  26. package/build/component-86oA9dYz.cjs +2 -0
  27. package/build/component-86oA9dYz.cjs.map +1 -0
  28. package/build/component-BLW4AlTi.cjs +2 -0
  29. package/build/component-BLW4AlTi.cjs.map +1 -0
  30. package/build/component-BLa80fGE.cjs +2 -0
  31. package/build/component-BLa80fGE.cjs.map +1 -0
  32. package/build/{component.styles-CwTYpBx_.js → component-BX7rFpno.js} +11 -63
  33. package/build/component-BX7rFpno.js.map +1 -0
  34. package/build/{component.styles-0apMzB81.js → component-BtgXUCiJ.js} +5 -75
  35. package/build/component-BtgXUCiJ.js.map +1 -0
  36. package/build/component-C-yqkm2n.cjs +2 -0
  37. package/build/component-C-yqkm2n.cjs.map +1 -0
  38. package/build/{component.styles-C4Bz4OTl.js → component-C56biWpi.js} +6 -16
  39. package/build/component-C56biWpi.js.map +1 -0
  40. package/build/component-CHmCK6Bc.js +10 -0
  41. package/build/component-CHmCK6Bc.js.map +1 -0
  42. package/build/component-Cp8VTqb2.js +21 -0
  43. package/build/component-Cp8VTqb2.js.map +1 -0
  44. package/build/component-Cr62wN62.js +64 -0
  45. package/build/component-Cr62wN62.js.map +1 -0
  46. package/build/component-D9Fz-_ZH.cjs +2 -0
  47. package/build/component-D9Fz-_ZH.cjs.map +1 -0
  48. package/build/{component.styles-euSUJAiA.js → component-DDVjxLvn.js} +5 -38
  49. package/build/component-DDVjxLvn.js.map +1 -0
  50. package/build/{component.styles-CHqowxsZ.js → component-DF8wYX_U.js} +3 -45
  51. package/build/component-DF8wYX_U.js.map +1 -0
  52. package/build/component-DP42Uzl2.cjs +2 -0
  53. package/build/{component-Bj7sLW9s.cjs.map → component-DP42Uzl2.cjs.map} +1 -1
  54. package/build/{component-B80It4vM.js → component-DQrnK2Bj.js} +5 -5
  55. package/build/component-DQrnK2Bj.js.map +1 -0
  56. package/build/component-DXSNBORy.cjs +2 -0
  57. package/build/component-DXSNBORy.cjs.map +1 -0
  58. package/build/component-DdSHuopV.cjs +2 -0
  59. package/build/component-DdSHuopV.cjs.map +1 -0
  60. package/build/{component.styles-KBaixm0o.js → component-DerXrx9p.js} +4 -56
  61. package/build/component-DerXrx9p.js.map +1 -0
  62. package/build/{component-CKBpm4U4.js → component-DhCe6E21.js} +2 -3
  63. package/build/{component-CKBpm4U4.js.map → component-DhCe6E21.js.map} +1 -1
  64. package/build/component-Ds6eJznV.cjs +2 -0
  65. package/build/component-Ds6eJznV.cjs.map +1 -0
  66. package/build/{component.styles-AEJ_tw7Y.js → component-DyEa0lzB.js} +4 -25
  67. package/build/component-DyEa0lzB.js.map +1 -0
  68. package/build/component-GqA6sCHI.cjs +2 -0
  69. package/build/component-GqA6sCHI.cjs.map +1 -0
  70. package/build/component-IlhRGJHX.cjs +2 -0
  71. package/build/component-IlhRGJHX.cjs.map +1 -0
  72. package/build/component-KwYlKatx.cjs +2 -0
  73. package/build/component-KwYlKatx.cjs.map +1 -0
  74. package/build/component-accordion.cjs.js +1 -1
  75. package/build/component-accordion.es.js +7 -6
  76. package/build/component-accordion.es.js.map +1 -1
  77. package/build/component-button-group.cjs.js +1 -1
  78. package/build/component-button-group.es.js +4 -3
  79. package/build/component-button-group.es.js.map +1 -1
  80. package/build/component-button.cjs.js +1 -1
  81. package/build/component-button.es.js +2 -2
  82. package/build/component-checkbox-group.cjs.js +1 -1
  83. package/build/component-checkbox-group.es.js +8 -7
  84. package/build/component-checkbox-group.es.js.map +1 -1
  85. package/build/component-checkbox.cjs.js +1 -1
  86. package/build/component-checkbox.es.js +6 -5
  87. package/build/component-checkbox.es.js.map +1 -1
  88. package/build/component-date-picker.cjs.js +1 -1
  89. package/build/component-date-picker.es.js +15 -14
  90. package/build/component-date-picker.es.js.map +1 -1
  91. package/build/component-icon.cjs.js +1 -1
  92. package/build/component-icon.es.js +5 -5
  93. package/build/component-image-button.cjs.js +1 -1
  94. package/build/component-image-button.es.js +1 -1
  95. package/build/component-image-select.cjs.js +1 -1
  96. package/build/component-image-select.es.js +8 -7
  97. package/build/component-image-select.es.js.map +1 -1
  98. package/build/component-image-slider.cjs.js +1 -1
  99. package/build/component-image-slider.es.js +5 -4
  100. package/build/component-image-slider.es.js.map +1 -1
  101. package/build/component-image.cjs.js +1 -1
  102. package/build/component-image.es.js +3 -2
  103. package/build/component-image.es.js.map +1 -1
  104. package/build/component-input-otp.cjs.js +1 -1
  105. package/build/component-input-otp.es.js +5 -4
  106. package/build/component-input-otp.es.js.map +1 -1
  107. package/build/component-input.cjs.js +1 -1
  108. package/build/component-input.es.js +15 -15
  109. package/build/component-map.cjs.js +1 -1
  110. package/build/component-map.es.js +13 -12
  111. package/build/component-map.es.js.map +1 -1
  112. package/build/component-pagination.cjs.js +1 -1
  113. package/build/component-pagination.es.js +1 -1
  114. package/build/component-range.cjs.js +1 -1
  115. package/build/component-range.es.js +5 -4
  116. package/build/component-range.es.js.map +1 -1
  117. package/build/component-select.cjs.js +1 -1
  118. package/build/component-select.es.js +18 -18
  119. package/build/component-separator.cjs.js +1 -1
  120. package/build/component-separator.es.js +3 -2
  121. package/build/component-separator.es.js.map +1 -1
  122. package/build/component-textarea.cjs.js +1 -1
  123. package/build/component-textarea.es.js +5 -5
  124. package/build/component-toggle.cjs.js +1 -1
  125. package/build/component-toggle.es.js +4 -3
  126. package/build/component-toggle.es.js.map +1 -1
  127. package/build/component-tooltip.cjs.js +1 -1
  128. package/build/component-tooltip.es.js +9 -9
  129. package/build/component-typography.cjs.js +1 -1
  130. package/build/component-typography.es.js +6 -6
  131. package/build/component.components-B6FC2-ox.cjs +2 -0
  132. package/build/component.components-B6FC2-ox.cjs.map +1 -0
  133. package/build/{component.components-C9TkSqTp.js → component.components-DlJ9rcRL.js} +8 -43
  134. package/build/component.components-DlJ9rcRL.js.map +1 -0
  135. package/build/{component.constants-C8li5_tq.js → component.constants-B-ZUZwuJ.js} +2 -2
  136. package/build/{component.constants-C8li5_tq.js.map → component.constants-B-ZUZwuJ.js.map} +1 -1
  137. package/build/component.constants-DiCmqOri.cjs +2 -0
  138. package/build/{component.constants-B-ZMDpFv.cjs.map → component.constants-DiCmqOri.cjs.map} +1 -1
  139. package/build/{component.constants-CnMky3Ym.js → component.constants-DwSQ9oe4.js} +9 -34
  140. package/build/component.constants-DwSQ9oe4.js.map +1 -0
  141. package/build/component.constants-hDTTnj7k.cjs +2 -0
  142. package/build/component.constants-hDTTnj7k.cjs.map +1 -0
  143. package/build/component.styles-CD6ZzRrk.cjs +14 -0
  144. package/build/component.styles-CD6ZzRrk.cjs.map +1 -0
  145. package/build/component.styles-CNn9SMc9.cjs +10 -0
  146. package/build/component.styles-CNn9SMc9.cjs.map +1 -0
  147. package/build/{component.styles-BnJjm_ES.js → component.styles-SZ5VuhNG.js} +2 -19
  148. package/build/component.styles-SZ5VuhNG.js.map +1 -0
  149. package/build/component.styles-eaocqYbA.js +16 -0
  150. package/build/component.styles-eaocqYbA.js.map +1 -0
  151. package/build/component.types-CYtUJDuN.cjs +2 -0
  152. package/build/component.types-CYtUJDuN.cjs.map +1 -0
  153. package/build/{component.types-BoTWSvjd.js → component.types-DFRLIpd6.js} +4 -213
  154. package/build/component.types-DFRLIpd6.js.map +1 -0
  155. package/build/consts.cjs.js +1 -1
  156. package/build/consts.cjs.js.map +1 -1
  157. package/build/consts.d.ts +18 -16
  158. package/build/consts.es.js +28 -26
  159. package/build/consts.es.js.map +1 -1
  160. package/build/{context.functions-CQ9GerPb.js → context-B1DS5U6M.js} +3 -33
  161. package/build/{context.functions-CQ9GerPb.js.map → context-B1DS5U6M.js.map} +1 -1
  162. package/build/{context.functions-BD15C8_y.js → context-BxU5kwVR.js} +3 -33
  163. package/build/context-BxU5kwVR.js.map +1 -0
  164. package/build/{context.hooks-BzMTkJNv.js → context-CU_dgoUl.js} +3 -11
  165. package/build/context-CU_dgoUl.js.map +1 -0
  166. package/build/context-Cr9zS5ai.cjs +2 -0
  167. package/build/context-Cr9zS5ai.cjs.map +1 -0
  168. package/build/context-_4lcMeym.cjs +2 -0
  169. package/build/context-_4lcMeym.cjs.map +1 -0
  170. package/build/context-app.cjs.js +1 -1
  171. package/build/context-app.es.js +18 -17
  172. package/build/context-app.es.js.map +1 -1
  173. package/build/context-cookie.cjs.js +1 -1
  174. package/build/context-cookie.es.js +2 -1
  175. package/build/context-cookie.es.js.map +1 -1
  176. package/build/context-dialog.cjs.js +1 -1
  177. package/build/context-dialog.es.js +13 -12
  178. package/build/context-dialog.es.js.map +1 -1
  179. package/build/context-geolocation.cjs.js +1 -1
  180. package/build/context-geolocation.es.js +2 -1
  181. package/build/context-geolocation.es.js.map +1 -1
  182. package/build/context-local-storage.cjs.js +1 -1
  183. package/build/context-local-storage.es.js +2 -1
  184. package/build/context-local-storage.es.js.map +1 -1
  185. package/build/context-q6vhN54o.cjs +2 -0
  186. package/build/{context.functions-ohI9H54j.cjs.map → context-q6vhN54o.cjs.map} +1 -1
  187. package/build/context-sonner.cjs.js +1 -1
  188. package/build/context-sonner.es.js +18 -17
  189. package/build/context-sonner.es.js.map +1 -1
  190. package/build/context.constants-C5Unln0I.js +8433 -0
  191. package/build/context.constants-C5Unln0I.js.map +1 -0
  192. package/build/context.constants-CRxCVRKK.cjs +32 -0
  193. package/build/context.constants-CRxCVRKK.cjs.map +1 -0
  194. package/build/{context.constants-BCpaUfFz.js → context.constants-CaDW-QGJ.js} +13 -51
  195. package/build/context.constants-CaDW-QGJ.js.map +1 -0
  196. package/build/context.constants-DSfxf3ST.cjs +1692 -0
  197. package/build/context.constants-DSfxf3ST.cjs.map +1 -0
  198. package/build/context.functions-54_96FIi.js +36 -0
  199. package/build/context.functions-54_96FIi.js.map +1 -0
  200. package/build/context.functions-Bk5xMi0w.cjs +2 -0
  201. package/build/context.functions-Bk5xMi0w.cjs.map +1 -0
  202. package/build/context.functions-BoRkDnCa.cjs +2 -0
  203. package/build/context.functions-BoRkDnCa.cjs.map +1 -0
  204. package/build/context.functions-X5gRRpKi.js +35 -0
  205. package/build/context.functions-X5gRRpKi.js.map +1 -0
  206. package/build/context.hooks-B2vWSael.js +13 -0
  207. package/build/context.hooks-B2vWSael.js.map +1 -0
  208. package/build/context.hooks-BfmhHvrX.cjs +2 -0
  209. package/build/context.hooks-BfmhHvrX.cjs.map +1 -0
  210. package/build/context.hooks-Bj9FlQEC.js +44 -0
  211. package/build/context.hooks-Bj9FlQEC.js.map +1 -0
  212. package/build/context.hooks-ByjHt-DO.cjs +2 -0
  213. package/build/context.hooks-ByjHt-DO.cjs.map +1 -0
  214. package/build/context.hooks-CKO6mDS-.js +13 -0
  215. package/build/context.hooks-CKO6mDS-.js.map +1 -0
  216. package/build/context.hooks-OTo7Znss.cjs +2 -0
  217. package/build/context.hooks-OTo7Znss.cjs.map +1 -0
  218. package/build/context.hooks-PU-CST61.cjs +2 -0
  219. package/build/context.hooks-PU-CST61.cjs.map +1 -0
  220. package/build/context.hooks-uRILnzQk.js +13 -0
  221. package/build/context.hooks-uRILnzQk.js.map +1 -0
  222. package/build/index.cjs.js +1 -1
  223. package/build/index.d.ts +19 -17
  224. package/build/index.es.js +290 -289
  225. package/build/style-error.cjs.js +1 -1
  226. package/build/style-error.es.js +4 -4
  227. package/build/style-theme.cjs.js +1 -1
  228. package/build/style-theme.es.js +13 -13
  229. package/build/types.d.ts +3 -3
  230. package/build/{use-CnGHh8iL.js → use-7TZR9yNq.js} +8 -9
  231. package/build/{use-CnGHh8iL.js.map → use-7TZR9yNq.js.map} +1 -1
  232. package/build/{use-BLwltPMc.cjs → use-DNJlP5ji.cjs} +3 -3
  233. package/build/{use-BLwltPMc.cjs.map → use-DNJlP5ji.cjs.map} +1 -1
  234. package/package.json +1 -1
  235. package/build/area-BDMDiVi1.js.map +0 -1
  236. package/build/area-BWxBop5m.js.map +0 -1
  237. package/build/area-Bopd6mWj.cjs +0 -2
  238. package/build/area-Bopd6mWj.cjs.map +0 -1
  239. package/build/area-CmCMHnRA.cjs.map +0 -1
  240. package/build/area-Cvp3eBBo.js +0 -114
  241. package/build/area-Cvp3eBBo.js.map +0 -1
  242. package/build/area-DqLK4RX5.cjs +0 -40
  243. package/build/area-DqLK4RX5.cjs.map +0 -1
  244. package/build/component-5o60aes-.cjs +0 -52
  245. package/build/component-5o60aes-.cjs.map +0 -1
  246. package/build/component-B80It4vM.js.map +0 -1
  247. package/build/component-BfppCwz9.cjs +0 -88
  248. package/build/component-BfppCwz9.cjs.map +0 -1
  249. package/build/component-Bj7sLW9s.cjs +0 -2
  250. package/build/component-BxetIWe6.cjs +0 -245
  251. package/build/component-BxetIWe6.cjs.map +0 -1
  252. package/build/component-ClnOIQaN.js +0 -66
  253. package/build/component-ClnOIQaN.js.map +0 -1
  254. package/build/component-b4tMFkpE.cjs +0 -2
  255. package/build/component-b4tMFkpE.cjs.map +0 -1
  256. package/build/component-eqTj4VVc.js +0 -728
  257. package/build/component-eqTj4VVc.js.map +0 -1
  258. package/build/component-jPLOz52P.js +0 -186
  259. package/build/component-jPLOz52P.js.map +0 -1
  260. package/build/component.components-BZX00SGG.cjs +0 -16
  261. package/build/component.components-BZX00SGG.cjs.map +0 -1
  262. package/build/component.components-C9TkSqTp.js.map +0 -1
  263. package/build/component.constants-B-ZMDpFv.cjs +0 -2
  264. package/build/component.constants-CnMky3Ym.js.map +0 -1
  265. package/build/component.constants-Dg6JcWmd.cjs +0 -22
  266. package/build/component.constants-Dg6JcWmd.cjs.map +0 -1
  267. package/build/component.styles-0apMzB81.js.map +0 -1
  268. package/build/component.styles-AEJ_tw7Y.js.map +0 -1
  269. package/build/component.styles-BO8xaSCQ.cjs +0 -65
  270. package/build/component.styles-BO8xaSCQ.cjs.map +0 -1
  271. package/build/component.styles-BVQQkX5c.cjs +0 -57
  272. package/build/component.styles-BVQQkX5c.cjs.map +0 -1
  273. package/build/component.styles-BYG4iVCR.cjs +0 -10
  274. package/build/component.styles-BYG4iVCR.cjs.map +0 -1
  275. package/build/component.styles-BZ9QLlOU.cjs +0 -39
  276. package/build/component.styles-BZ9QLlOU.cjs.map +0 -1
  277. package/build/component.styles-BnJjm_ES.js.map +0 -1
  278. package/build/component.styles-BviHtzJH.cjs +0 -22
  279. package/build/component.styles-BviHtzJH.cjs.map +0 -1
  280. package/build/component.styles-C4Bz4OTl.js.map +0 -1
  281. package/build/component.styles-C8ONgWei.cjs +0 -47
  282. package/build/component.styles-C8ONgWei.cjs.map +0 -1
  283. package/build/component.styles-CHqowxsZ.js.map +0 -1
  284. package/build/component.styles-CLn52hJD.cjs +0 -14
  285. package/build/component.styles-CLn52hJD.cjs.map +0 -1
  286. package/build/component.styles-CXyyc0xg.cjs +0 -32
  287. package/build/component.styles-CXyyc0xg.cjs.map +0 -1
  288. package/build/component.styles-CtZeOnGH.js +0 -120
  289. package/build/component.styles-CtZeOnGH.js.map +0 -1
  290. package/build/component.styles-CwTYpBx_.js.map +0 -1
  291. package/build/component.styles-CxlbZwr4.cjs +0 -225
  292. package/build/component.styles-CxlbZwr4.cjs.map +0 -1
  293. package/build/component.styles-CyCy2ymw.cjs +0 -21
  294. package/build/component.styles-CyCy2ymw.cjs.map +0 -1
  295. package/build/component.styles-DWDGLfbF.js +0 -137
  296. package/build/component.styles-DWDGLfbF.js.map +0 -1
  297. package/build/component.styles-DqJURuJl.js +0 -1370
  298. package/build/component.styles-DqJURuJl.js.map +0 -1
  299. package/build/component.styles-FMHm5NHm.cjs +0 -99
  300. package/build/component.styles-FMHm5NHm.cjs.map +0 -1
  301. package/build/component.styles-Hx-MJSWX.cjs +0 -137
  302. package/build/component.styles-Hx-MJSWX.cjs.map +0 -1
  303. package/build/component.styles-KBaixm0o.js.map +0 -1
  304. package/build/component.styles-SZTM0cRW.js +0 -1046
  305. package/build/component.styles-SZTM0cRW.js.map +0 -1
  306. package/build/component.styles-_keFf_Qj.cjs +0 -13
  307. package/build/component.styles-_keFf_Qj.cjs.map +0 -1
  308. package/build/component.styles-cMafDDpP.js +0 -233
  309. package/build/component.styles-cMafDDpP.js.map +0 -1
  310. package/build/component.styles-euSUJAiA.js.map +0 -1
  311. package/build/component.types-BoTWSvjd.js.map +0 -1
  312. package/build/component.types-WiRcl02d.cjs +0 -176
  313. package/build/component.types-WiRcl02d.cjs.map +0 -1
  314. package/build/context.constants-BCpaUfFz.js.map +0 -1
  315. package/build/context.constants-BLQ_1jZI.cjs +0 -32
  316. package/build/context.constants-BLQ_1jZI.cjs.map +0 -1
  317. package/build/context.constants-Cio0nsYA.js +0 -393
  318. package/build/context.constants-Cio0nsYA.js.map +0 -1
  319. package/build/context.constants-y9s5VGN2.cjs +0 -99
  320. package/build/context.constants-y9s5VGN2.cjs.map +0 -1
  321. package/build/context.functions-80N-5MqM.cjs +0 -2
  322. package/build/context.functions-80N-5MqM.cjs.map +0 -1
  323. package/build/context.functions-BD15C8_y.js.map +0 -1
  324. package/build/context.functions-ohI9H54j.cjs +0 -2
  325. package/build/context.hooks-BIIK-2HN.js +0 -527
  326. package/build/context.hooks-BIIK-2HN.js.map +0 -1
  327. package/build/context.hooks-BzMTkJNv.js.map +0 -1
  328. package/build/context.hooks-DNnrgKb0.cjs +0 -72
  329. package/build/context.hooks-DNnrgKb0.cjs.map +0 -1
  330. package/build/context.hooks-u408Pxw8.cjs +0 -2
  331. package/build/context.hooks-u408Pxw8.cjs.map +0 -1
  332. package/build/floating-ui.react-Byi6bLb1.js +0 -1818
  333. package/build/floating-ui.react-Byi6bLb1.js.map +0 -1
  334. package/build/floating-ui.react-DZzvtpim.cjs +0 -2
  335. package/build/floating-ui.react-DZzvtpim.cjs.map +0 -1
  336. package/build/style-BzxSHZDV.js +0 -61
  337. package/build/style-BzxSHZDV.js.map +0 -1
  338. package/build/style-D8DUzG0C.cjs +0 -32
  339. package/build/style-D8DUzG0C.cjs.map +0 -1
  340. package/build/theme.global-BzunMIsv.js +0 -1318
  341. package/build/theme.global-BzunMIsv.js.map +0 -1
  342. package/build/theme.global-D67h5YeA.cjs +0 -173
  343. package/build/theme.global-D67h5YeA.cjs.map +0 -1
@@ -1,1046 +0,0 @@
1
- import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
- import { ListLanguage, MapThemeList } from "./consts.es.js";
3
- import { b as ErrorMessage, a as addError } from "./style-BzxSHZDV.js";
4
- import { K as KEY_SIZE_DATA } from "./theme.global-BzunMIsv.js";
5
- import { u as useMergeRefs } from "./floating-ui.react-Byi6bLb1.js";
6
- import { useVirtualizer } from "@tanstack/react-virtual";
7
- import moment from "moment";
8
- import { memo, useMemo, useRef, useState, useCallback, useEffect } from "react";
9
- import styled, { useTheme, css } from "styled-components";
10
- import { B as Button } from "./component-jPLOz52P.js";
11
- import { I as Icon } from "./component.styles-CtZeOnGH.js";
12
- import { i as Typography, u as usePopover, P as Popover } from "./component-eqTj4VVc.js";
13
- import { c as addFont, j as addRemoveOutline } from "./style-RL73t3JD.js";
14
- import { a as addSX } from "./style-plT9Ah7t.js";
15
- import { motion } from "framer-motion";
16
- import { T as TextArea } from "./component.styles-cMafDDpP.js";
17
- const DEFAULT_LABEL_SELECT_ALL = "Select all option";
18
- const DEFAULT_LABEL_PLACEHOLDER = "Select an option";
19
- const DEFAULT_LABEL_EMPTY_OPTION = "No options available";
20
- const DEFAULT_LABEL_AND_MORE = (count) => `+${count} more`;
21
- const DEFAULT_LABEL_ADD_OPTION = (value) => `Add "${value}" option`;
22
- const DEFAULT_MAX_VIEW_SELECT = 2;
23
- const DEFAULT_MAX_VIEW_DROPDOWN = 5;
24
- const DEFAULT_MIN_VIEW_DROPDOWN = 1;
25
- const DEFAULT_OVERSCAN = 1;
26
- const Select = (props) => {
27
- var _a;
28
- const sizeHeight = useMemo(() => KEY_SIZE_DATA[props.size].height, [props.size]);
29
- const sizePadding = useMemo(() => KEY_SIZE_DATA[props.size].padding, [props.size]);
30
- const sizeRadius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size]);
31
- const {
32
- isOpen,
33
- close,
34
- open,
35
- refReference: refReferencePopover,
36
- refFloating: refFloatingPopover,
37
- floatingStyles,
38
- toggle
39
- } = usePopover({
40
- placement: "bottom-start",
41
- offset: sizePadding,
42
- mode: "independence",
43
- isClickOutside: true,
44
- isWidthAsContent: true,
45
- isDisabled: props == null ? void 0 : props.isDisabled,
46
- onBlur: props.onBlur,
47
- onFocus: props.onFocus
48
- });
49
- const refTextArea = useRef(null);
50
- const refDropdownList = useRef(null);
51
- const refReference = useMergeRefs([props.refReference, refReferencePopover]);
52
- const refFloating = useMergeRefs([props.refFloating, refFloatingPopover]);
53
- const labelSelectAll = useMemo(() => props.labelSelectAll ?? DEFAULT_LABEL_SELECT_ALL, [props.labelSelectAll]);
54
- const labelPlaceholder = useMemo(() => props.labelPlaceholder ?? DEFAULT_LABEL_PLACEHOLDER, [props.labelPlaceholder]);
55
- const labelEmptyOption = useMemo(
56
- () => props.labelEmptyOption ?? DEFAULT_LABEL_EMPTY_OPTION,
57
- [props.labelEmptyOption]
58
- );
59
- const labelAndMore = useMemo(() => props.labelAndMore ?? DEFAULT_LABEL_AND_MORE, [props.labelAndMore]);
60
- const labelAddOption = useMemo(() => props.labelAddOption ?? DEFAULT_LABEL_ADD_OPTION, [props.labelAddOption]);
61
- const maxViewSelect = useMemo(() => props.maxViewSelect ?? DEFAULT_MAX_VIEW_SELECT, [props.maxViewSelect]);
62
- const maxViewDropdown = useMemo(() => props.maxViewDropdown ?? DEFAULT_MAX_VIEW_DROPDOWN, [props.maxViewDropdown]);
63
- const minViewDropdown = useMemo(() => props.minViewDropdown ?? DEFAULT_MIN_VIEW_DROPDOWN, [props.minViewDropdown]);
64
- const isAll = useMemo(
65
- () => props.value.length === props.option.length || props.value.length === props.optionAllLength,
66
- [props.option.length, props.optionAllLength, props.value.length]
67
- );
68
- const isHaveOption = useMemo(() => !!props.option.length, [props.option.length]);
69
- const isHaveValue = useMemo(() => !!props.value.length, [props.value.length]);
70
- const isShowAddOption = useMemo(
71
- () => props.valueSearch && props.isShowAddOption,
72
- [props.valueSearch, props.isShowAddOption]
73
- );
74
- const [isShowSearch, setIsShowSearch] = useState(false);
75
- const optionsLength = useMemo(() => {
76
- if (props.isNotShowDisabledOptions) {
77
- return props.option.filter((option) => !option.isDisabled).length;
78
- } else {
79
- return props.option.length;
80
- }
81
- }, [props.option, props.isNotShowDisabledOptions]);
82
- const heightDropdownList = useMemo(
83
- () => sizeHeight * (optionsLength < maxViewDropdown ? optionsLength < minViewDropdown ? optionsLength : optionsLength : maxViewDropdown),
84
- [sizeHeight, optionsLength, maxViewDropdown, minViewDropdown]
85
- );
86
- const heightPopover = useMemo(() => {
87
- const selectAll = props.isShowSelectAll && isHaveOption ? sizeHeight : 0;
88
- const selectNoOption = !isHaveOption ? sizeHeight : 0;
89
- const selectList = isHaveOption ? heightDropdownList : 0;
90
- const selectAdd = isShowAddOption ? sizeHeight : 0;
91
- const sum = (selectAll !== 0 ? 1 : 0) + (selectNoOption !== 0 ? 1 : 0) + (selectList !== 0 ? 1 : 0) + (selectAdd !== 0 ? 1 : 0);
92
- const padding = sum <= 1 ? 0 : (sum - 1) * (sizePadding / 2.8);
93
- return selectAll + selectNoOption + selectList + selectAdd + padding;
94
- }, [props.isShowSelectAll, sizeHeight, isHaveOption, sizePadding, heightDropdownList, isShowAddOption]);
95
- const isValueMoreMaxViewSelect = useMemo(
96
- () => props.value.length > maxViewSelect,
97
- [maxViewSelect, props.value.length]
98
- );
99
- const isShowIconSearchClear = useMemo(
100
- () => props.isShowIconSearchClear && props.valueSearch,
101
- [props.isShowIconSearchClear, props.valueSearch]
102
- );
103
- const isShowButtonList = useMemo(
104
- () => isShowIconSearchClear || props.isShowIconToggle || props.isShowIconFetching && props.isFetching,
105
- [isShowIconSearchClear, props.isShowIconToggle, props.isShowIconFetching, props.isFetching]
106
- );
107
- const isShowScroll = useMemo(() => optionsLength > maxViewDropdown, [maxViewDropdown, optionsLength]);
108
- const isSelectedItem = useCallback(
109
- (option) => {
110
- return isAll || props.value.some((val) => val.value === option.value);
111
- },
112
- [isAll, props.value]
113
- );
114
- const isShowDropdownSettingsList = useMemo(
115
- () => isShowAddOption || props.isShowSelectAll && isHaveOption || !isHaveOption,
116
- [isHaveOption, isShowAddOption, props.isShowSelectAll]
117
- );
118
- const listVirtualizer = useVirtualizer({
119
- count: optionsLength,
120
- estimateSize: props.getEstimateSize ? props.getEstimateSize : () => sizeHeight,
121
- getScrollElement: () => refDropdownList.current,
122
- overscan: DEFAULT_OVERSCAN,
123
- paddingEnd: 0
124
- });
125
- const onChangeShowSearch = useCallback(
126
- (show) => {
127
- if (props.isSearch && !props.isDisabled) {
128
- setIsShowSearch(show);
129
- } else {
130
- setIsShowSearch(false);
131
- }
132
- },
133
- [props.isDisabled, props.isSearch]
134
- );
135
- const onClick = useCallback(
136
- (option) => {
137
- let newValues = [];
138
- const optionValue = option.value;
139
- const findIndex = (val) => val.value === optionValue;
140
- const index = props.value.findIndex(findIndex);
141
- const isFind = index !== -1;
142
- if (props.isMulti) {
143
- if (isFind) {
144
- newValues = [...props.value.slice(0, index), ...props.value.slice(index + 1)];
145
- } else {
146
- newValues = [...props.value, option];
147
- }
148
- } else {
149
- if (isFind && !props.isStayValueAfterSelect) {
150
- newValues = [...props.value.slice(0, index), ...props.value.slice(index + 1)];
151
- } else {
152
- newValues = [option];
153
- }
154
- }
155
- props.onChange(newValues);
156
- onChangeShowSearch(!!props.isStaySearchAfterSelect);
157
- if (props.isOnClickOptionClose) {
158
- close();
159
- }
160
- },
161
- [close, onChangeShowSearch, props]
162
- );
163
- const onClickAll = useCallback(() => {
164
- var _a2;
165
- (_a2 = props.onChangeAll) == null ? void 0 : _a2.call(props, isAll ? [] : props.option, !isAll);
166
- onChangeShowSearch(!!props.isStaySearchAfterSelect);
167
- if (props.isOnClickOptionClose) {
168
- close();
169
- }
170
- }, [close, isAll, onChangeShowSearch, props]);
171
- const onClearSearch = useCallback(() => {
172
- var _a2;
173
- (_a2 = props.onChangeSearch) == null ? void 0 : _a2.call(props, "");
174
- }, [props]);
175
- const onScroll = useCallback(
176
- (containerRefElement) => {
177
- if (containerRefElement) {
178
- const { scrollHeight, scrollTop, clientHeight } = containerRefElement;
179
- if (scrollHeight - scrollTop - clientHeight < heightDropdownList && !props.isFetching && props.fetchNextPage) {
180
- props.fetchNextPage();
181
- }
182
- }
183
- },
184
- [heightDropdownList, props]
185
- );
186
- const onAddOption = useCallback(
187
- (value) => {
188
- var _a2, _b;
189
- (_a2 = props.onAddOption) == null ? void 0 : _a2.call(props, value);
190
- (_b = props.onChangeSearch) == null ? void 0 : _b.call(props, "");
191
- },
192
- [props]
193
- );
194
- useEffect(() => {
195
- onChangeShowSearch(false);
196
- }, [onChangeShowSearch, props.isDisabled]);
197
- useEffect(() => {
198
- if (!isHaveValue) {
199
- onChangeShowSearch(true);
200
- }
201
- }, [isHaveValue, onChangeShowSearch]);
202
- useEffect(() => {
203
- if (!isOpen && isHaveValue) {
204
- onChangeShowSearch(false);
205
- }
206
- }, [isHaveValue, isOpen, onChangeShowSearch]);
207
- const theme = useTheme();
208
- const font = useMemo(() => {
209
- var _a2, _b, _c, _d;
210
- return {
211
- size: ((_a2 = props.font) == null ? void 0 : _a2.size) ?? 16,
212
- weight: ((_b = props.font) == null ? void 0 : _b.weight) ?? (props.isBold ? 500 : 400),
213
- family: ((_c = props.font) == null ? void 0 : _c.family) ?? theme.font.family,
214
- height: (_d = props.font) == null ? void 0 : _d.height
215
- };
216
- }, [props.font, theme.font.family, props.isBold]);
217
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
218
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
219
- SelectWrapper,
220
- {
221
- tabIndex: 0,
222
- $error: props == null ? void 0 : props.error,
223
- $isNotShowHoverStyle: props == null ? void 0 : props.isNotShowHoverStyle,
224
- $size: props.size,
225
- $genre: props.genre,
226
- $isCenter: props.isCenter,
227
- $sx: props.sx,
228
- $isOpen: isOpen,
229
- ref: refReference,
230
- onClick: () => {
231
- open();
232
- onChangeShowSearch(true);
233
- },
234
- onFocus: () => {
235
- open();
236
- },
237
- children: [
238
- isShowSearch && /* @__PURE__ */ jsxRuntimeExports.jsx(
239
- SelectTextArea,
240
- {
241
- ref: refTextArea,
242
- genre: props.genre,
243
- size: props.size,
244
- minRows: 1,
245
- maxRows: 5,
246
- isAutoHeight: true,
247
- onChange: (value) => {
248
- var _a2;
249
- (_a2 = props == null ? void 0 : props.onChangeSearch) == null ? void 0 : _a2.call(props, value);
250
- },
251
- value: props.valueSearch,
252
- placeholder: labelPlaceholder
253
- }
254
- ),
255
- isHaveValue && (props.isShowSelectAllLabel ? !isAll : true) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
256
- SelectList,
257
- {
258
- $size: props.size,
259
- tabIndex: -1,
260
- $isWrapSelectOption: props.isWrapSelectOption,
261
- onMouseDown: (e) => {
262
- e.preventDefault();
263
- },
264
- onClick: (e) => {
265
- e.preventDefault();
266
- },
267
- children: props.value.map((value, index) => {
268
- if (index >= maxViewSelect) return null;
269
- const isChecked = isSelectedItem(value);
270
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
271
- ContainerSelectListOption,
272
- {
273
- isChecked,
274
- onClick: () => props.isClearWhenClickSelectListOption && onClick(value),
275
- item: value,
276
- genre: props.genre,
277
- size: props.size,
278
- isBold: props.isBold,
279
- isOnlyColorInSelectListOption: props.isOnlyColorInSelectListOption,
280
- isClearWhenClickSelectListOption: props.isClearWhenClickSelectListOption,
281
- isWrapSelectOption: props.isWrapSelectOption,
282
- isNotShowHoverStyle: props.isNotShowHoverStyle,
283
- isCenter: props.isCenter
284
- },
285
- `${value.value}-${index}`
286
- );
287
- })
288
- }
289
- ) : null,
290
- isHaveValue && (props.isShowSelectAllLabel ? isAll : false) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
291
- Typography,
292
- {
293
- sxStandard: {
294
- default: { padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px` }
295
- },
296
- sx: { default: { size: 16, line: 1, isNoUserSelect: true } },
297
- children: labelSelectAll
298
- }
299
- ) : null,
300
- !isHaveValue && !props.isSearch ? /* @__PURE__ */ jsxRuntimeExports.jsx(
301
- Typography,
302
- {
303
- sxStandard: (theme2) => ({
304
- default: {
305
- color: theme2.colors.input[props.genre].color.placeholder,
306
- padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px`
307
- }
308
- }),
309
- sx: { default: { size: 16, line: 1, isNoUserSelect: true } },
310
- children: labelPlaceholder
311
- }
312
- ) : null,
313
- isValueMoreMaxViewSelect && isHaveValue && (props.isShowSelectAllLabel ? !isAll : true) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
314
- Typography,
315
- {
316
- sxStandard: {
317
- default: { padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px` }
318
- },
319
- sx: { default: { size: 16, line: 1, isNoUserSelect: true } },
320
- children: labelAndMore(props.value.length - maxViewSelect)
321
- }
322
- ) : null,
323
- isShowButtonList ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
324
- ButtonList,
325
- {
326
- $size: props.size,
327
- onMouseDown: (e) => {
328
- e.preventDefault();
329
- },
330
- children: [
331
- isShowIconSearchClear && /* @__PURE__ */ jsxRuntimeExports.jsx(
332
- Button,
333
- {
334
- genre: props.genre,
335
- size: "small",
336
- isWidthAsHeight: true,
337
- isFullSize: true,
338
- isRadius: true,
339
- isOnlyIcon: true,
340
- icons: [{ name: "Close", type: "id" }],
341
- onClick: (e) => {
342
- e.preventDefault();
343
- e.stopPropagation();
344
- onClearSearch();
345
- }
346
- }
347
- ),
348
- props.isShowIconToggle && /* @__PURE__ */ jsxRuntimeExports.jsx(
349
- Button,
350
- {
351
- genre: props.genre,
352
- size: "small",
353
- isWidthAsHeight: true,
354
- isFullSize: true,
355
- isRadius: true,
356
- isOnlyIcon: true,
357
- icons: [{ name: "Select", type: "id" }],
358
- onClick: (e) => {
359
- e.preventDefault();
360
- e.stopPropagation();
361
- toggle();
362
- }
363
- }
364
- ),
365
- props.isShowIconFetching && props.isFetching && /* @__PURE__ */ jsxRuntimeExports.jsx(
366
- Button,
367
- {
368
- tabIndex: -1,
369
- genre: props.genre,
370
- size: "small",
371
- isWidthAsHeight: true,
372
- isFullSize: true,
373
- isRadius: true,
374
- isHiddenBorder: true,
375
- isDisabledRipple: true,
376
- isNotHoverEffect: true,
377
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { type: "loading", name: "Circle", size: props.size })
378
- }
379
- )
380
- ]
381
- }
382
- ) : null
383
- ]
384
- }
385
- ),
386
- /* @__PURE__ */ jsxRuntimeExports.jsx(
387
- Popover,
388
- {
389
- sx: (theme2) => ({
390
- default: {
391
- background: theme2.colors.input[props.genre].background.rest,
392
- borderRadius: `${sizeRadius}px`,
393
- padding: "0px",
394
- maxHeight: `${heightPopover}px`
395
- }
396
- }),
397
- isShowAlwaysOutline: true,
398
- size: props.size,
399
- genre: props.genre,
400
- floatingStyles,
401
- ref: refFloating,
402
- isOpen,
403
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
404
- DropdownListParent,
405
- {
406
- tabIndex: -1,
407
- ref: refDropdownList,
408
- $size: props.size,
409
- onScroll: (e) => onScroll(e.target),
410
- children: [
411
- isShowDropdownSettingsList && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownList, { style: { position: "sticky", top: 0, zIndex: 1 }, children: [
412
- isShowAddOption ? /* @__PURE__ */ jsxRuntimeExports.jsx(
413
- DropdownListOption,
414
- {
415
- tabIndex: 0,
416
- onClick: () => props.valueSearch && onAddOption(props.valueSearch),
417
- onKeyDown: (e) => {
418
- if (e.key === "Enter" && props.valueSearch) onAddOption(props.valueSearch);
419
- },
420
- $isCenter: props.isCenter,
421
- $isNotShowHoverStyle: props.isNotShowHoverStyle,
422
- $genre: props.genre,
423
- $size: props.size,
424
- $font: font,
425
- $isBold: props.isBold,
426
- $isChecked: isAll,
427
- style: { position: "relative", minHeight: `${sizeHeight}px` },
428
- children: props.valueSearch && labelAddOption(props.valueSearch)
429
- }
430
- ) : null,
431
- props.isShowSelectAll && isHaveOption ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
432
- DropdownListOption,
433
- {
434
- tabIndex: 0,
435
- onClick: () => onClickAll(),
436
- onKeyDown: (e) => {
437
- if (e.key === "Enter") onClickAll();
438
- },
439
- $isCenter: props.isCenter,
440
- $isNotShowHoverStyle: props.isNotShowHoverStyle,
441
- $genre: props.genre,
442
- $size: props.size,
443
- $font: font,
444
- $isBold: props.isBold,
445
- $isChecked: isAll,
446
- $isShowScroll: isShowScroll,
447
- style: { position: "relative", minHeight: `${sizeHeight}px` },
448
- children: [
449
- labelSelectAll,
450
- props.isShowDropdownOptionIcon && /* @__PURE__ */ jsxRuntimeExports.jsx(
451
- DropdownListOptionIcon,
452
- {
453
- tabIndex: -1,
454
- size: props.size,
455
- type: "checkbox",
456
- name: "Arrow",
457
- $genre: props.genre,
458
- $checked: isAll,
459
- $size: props.size
460
- }
461
- )
462
- ]
463
- }
464
- ) : null,
465
- !isHaveOption ? /* @__PURE__ */ jsxRuntimeExports.jsx(
466
- DropdownListOption,
467
- {
468
- tabIndex: -1,
469
- $isCenter: props.isCenter,
470
- $isNotShowHoverStyle: props.isNotShowHoverStyle,
471
- $genre: props.genre,
472
- $size: props.size,
473
- $font: font,
474
- $isBold: props.isBold,
475
- $isChecked: isAll,
476
- $isShowScroll: isShowScroll,
477
- style: { position: "relative", minHeight: `${sizeHeight}px` },
478
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { sx: { default: { size: 16, line: 1 } }, children: labelEmptyOption })
479
- }
480
- ) : null
481
- ] }),
482
- isHaveOption ? /* @__PURE__ */ jsxRuntimeExports.jsx(
483
- DropdownList,
484
- {
485
- tabIndex: -1,
486
- style: { height: `${listVirtualizer.getTotalSize()}px`, minHeight: `${heightDropdownList}px` },
487
- children: listVirtualizer.getVirtualItems().map((virtualRow) => {
488
- const item = props.option[virtualRow.index];
489
- const isChecked = isSelectedItem(item);
490
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
491
- ContainerDropdownListOption,
492
- {
493
- virtualRowSize: virtualRow.size,
494
- virtualRowStart: virtualRow.start,
495
- isChecked,
496
- onClick: () => onClick(item),
497
- item,
498
- genre: props.genre,
499
- size: props.size,
500
- font,
501
- isBold: props.isBold,
502
- isNotShowHoverStyle: props.isNotShowHoverStyle,
503
- isCenter: props.isCenter,
504
- isShowScroll,
505
- isShowDropdownOptionIcon: props.isShowDropdownOptionIcon
506
- },
507
- virtualRow.index
508
- );
509
- })
510
- }
511
- ) : null
512
- ]
513
- }
514
- )
515
- }
516
- ),
517
- (props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
518
- ErrorMessage,
519
- {
520
- ...props.error,
521
- size: (props == null ? void 0 : props.error.size) ?? props.size,
522
- font: {
523
- size: 12,
524
- weight: 400,
525
- family: ((_a = props.font) == null ? void 0 : _a.family) ?? theme.font.family
526
- }
527
- }
528
- ) : null
529
- ] });
530
- };
531
- const ContainerDropdownListOptionComponent = (props) => {
532
- const handleKeyDown = (event) => {
533
- if (props.item.isDisabled) return;
534
- if (event.key === "Enter") {
535
- props.onClick();
536
- }
537
- };
538
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
539
- DropdownListOption,
540
- {
541
- tabIndex: 0,
542
- onClick: () => {
543
- !props.item.isDisabled && props.onClick();
544
- },
545
- onKeyDown: handleKeyDown,
546
- style: {
547
- position: "absolute",
548
- height: `${props.virtualRowSize}px`,
549
- transform: `translateY(${props.virtualRowStart}px)`
550
- },
551
- $isCenter: props.isCenter,
552
- $isNotShowHoverStyle: props.isNotShowHoverStyle,
553
- $item: props.item,
554
- $genre: props.genre,
555
- $size: props.size,
556
- $font: props.font,
557
- $isBold: props.isBold,
558
- $isChecked: props.isChecked,
559
- $isShowScroll: props.isShowScroll,
560
- children: [
561
- props.item.label,
562
- props.isShowDropdownOptionIcon && /* @__PURE__ */ jsxRuntimeExports.jsx(
563
- DropdownListOptionIcon,
564
- {
565
- tabIndex: -1,
566
- size: props.size,
567
- type: "checkbox",
568
- name: "Arrow",
569
- $genre: props.genre,
570
- $checked: props.isChecked,
571
- $size: props.size
572
- }
573
- )
574
- ]
575
- }
576
- );
577
- };
578
- const ContainerSelectListOptionComponent = (props) => {
579
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
580
- SelectListOption,
581
- {
582
- tabIndex: -1,
583
- onClick: props.onClick,
584
- $isOnlyColorInSelectListOption: props.isOnlyColorInSelectListOption,
585
- $isClearWhenClickSelectListOption: props.isClearWhenClickSelectListOption,
586
- $isWrapSelectOption: props.isWrapSelectOption,
587
- $isCenter: props.isCenter,
588
- $isNotShowHoverStyle: props.isNotShowHoverStyle,
589
- $item: props.item,
590
- $genre: props.genre,
591
- $size: props.size,
592
- $isBold: props.isBold,
593
- $isChecked: props.isChecked,
594
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { sx: { default: { size: 16, line: 1 } }, children: props.item.label })
595
- }
596
- );
597
- };
598
- const ContainerDropdownListOption = memo(ContainerDropdownListOptionComponent);
599
- const ContainerSelectListOption = memo(ContainerSelectListOptionComponent);
600
- const SelectLanguage = (props) => {
601
- const { value, onChange } = props;
602
- const option = ListLanguage;
603
- const [viewOption] = useState(option);
604
- const handleSelectChange = (value2) => {
605
- if (value2.length === 0) onChange(null);
606
- onChange(value2[0].value.toString());
607
- };
608
- const valueLocal = useMemo(() => {
609
- const findOption = option.find((e) => e.value === value);
610
- if (!findOption) return [];
611
- return [findOption];
612
- }, [option, value]);
613
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { ...props, option: viewOption, value: valueLocal, onChange: handleSelectChange });
614
- };
615
- const SelectMonth = (props) => {
616
- const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;
617
- const year = moment(value).utc().year();
618
- const option = useMemo(() => {
619
- return monthsLocale.map((monthItem) => {
620
- const monthIndex = moment().month(monthItem.value).month();
621
- const monthMoment = moment.utc().year(year).month(monthIndex).startOf("month");
622
- const isDisabled = dateMin && monthMoment.isBefore(moment.utc(dateMin), "month") || dateMax && monthMoment.isAfter(moment.utc(dateMax), "month");
623
- return {
624
- value: monthMoment.valueOf(),
625
- label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
626
- placeholder: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
627
- search: `${monthItem.localeLong.toLowerCase()}, ${monthIndex + 1}`,
628
- isDisabled: !!isDisabled,
629
- monthValue: monthItem.value
630
- };
631
- });
632
- }, [monthsLocale, year, dateMin, dateMax, isShortLabel]);
633
- const handleSelectChange = (value2) => {
634
- if (value2.length === 0) onChange(null);
635
- onChange(+value2[0].value);
636
- };
637
- const valueLocal = useMemo(() => {
638
- const findOption = option.find((e) => e.value === value);
639
- if (!findOption) return [];
640
- return [findOption];
641
- }, [value, option]);
642
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { ...props, option, value: valueLocal, onChange: handleSelectChange });
643
- };
644
- const SelectMonths = (props) => {
645
- const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;
646
- const year = moment(value).utc().year();
647
- const option = useMemo(() => {
648
- return monthsLocale.map((monthItem) => {
649
- const monthIndex = moment().month(monthItem.value).month();
650
- const monthMoment = moment.utc().year(year).month(monthIndex).startOf("month");
651
- const isDisabled = dateMin && monthMoment.isBefore(moment.utc(dateMin), "month") || dateMax && monthMoment.isAfter(moment.utc(dateMax), "month");
652
- return {
653
- value: monthMoment.valueOf(),
654
- label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
655
- placeholder: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
656
- search: `${monthItem.localeLong.toLowerCase()}, ${monthIndex + 1}`,
657
- isDisabled: !!isDisabled,
658
- monthValue: monthItem.value
659
- };
660
- });
661
- }, [monthsLocale, year, dateMin, dateMax, isShortLabel]);
662
- const [viewOption, setViewOption] = useState(option);
663
- useEffect(() => {
664
- setViewOption(option);
665
- }, [option]);
666
- const handleSelectChange = (value2) => {
667
- if (value2.length === 0) onChange([]);
668
- onChange(value2.map((e) => +e.value));
669
- };
670
- const valueLocal = useMemo(() => {
671
- if (!value || value.length === 0) return [];
672
- return value.map((val) => option.find((opt) => opt.value === val)).filter(Boolean);
673
- }, [value, option]);
674
- const [search, setSearch] = useState("");
675
- const handleSearchChange = useCallback(
676
- (value2) => {
677
- setSearch(value2);
678
- if (value2 === "") {
679
- setViewOption(option);
680
- } else {
681
- const filteredOptions = option.filter(
682
- (option2) => Object.values(option2).some((field) => field == null ? void 0 : field.toString().toLowerCase().includes(value2.toLowerCase()))
683
- );
684
- setViewOption(filteredOptions);
685
- }
686
- },
687
- [option]
688
- );
689
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
690
- Select,
691
- {
692
- ...props,
693
- valueSearch: search,
694
- onChangeSearch: handleSearchChange,
695
- optionAllLength: option.length,
696
- option: viewOption,
697
- minViewDropdown: 1,
698
- isMulti: true,
699
- value: valueLocal,
700
- onChange: handleSelectChange,
701
- onChangeAll: (_value, isAll) => {
702
- if (isAll) {
703
- onChange(viewOption.map((e) => +e.value));
704
- } else {
705
- onChange([]);
706
- }
707
- }
708
- }
709
- );
710
- };
711
- const SelectYear = (props) => {
712
- const { value, onChange, dateMin, dateMax, sortOrder = "desc" } = props;
713
- const startYear = moment(dateMin).utc().year();
714
- const endYear = moment(dateMax).utc().year();
715
- const option = useMemo(() => {
716
- const yearArray = Array.from({ length: endYear - startYear + 1 }, (_, index) => {
717
- const year = startYear + index;
718
- return {
719
- value: moment().year(year).utc().startOf("year").valueOf(),
720
- label: moment().year(year).utc().format("YYYY"),
721
- placeholder: moment().year(year).utc().format("YYYY"),
722
- search: `${moment().year(year).utc().format("YYYY").toLowerCase()}`
723
- };
724
- });
725
- return sortOrder === "asc" ? yearArray.sort((a, b) => a.value - b.value) : yearArray.sort((a, b) => b.value - a.value);
726
- }, [endYear, startYear, sortOrder]);
727
- const handleSelectChange = (value2) => {
728
- if (value2.length === 0) onChange(null);
729
- onChange(+value2[0].value);
730
- };
731
- const valueLocal = useMemo(() => {
732
- const findOption = option.find((e) => e.value === value);
733
- if (!findOption) return [];
734
- return [findOption];
735
- }, [value, option]);
736
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { ...props, option, value: valueLocal, onChange: handleSelectChange });
737
- };
738
- const SelectMapTheme = (props) => {
739
- const { value, onChange } = props;
740
- const option = useMemo(() => MapThemeList.map((e) => ({ label: e.name, value: e.name, placeholder: e.name })), []);
741
- const [viewOption, setViewOption] = useState(option);
742
- useEffect(() => {
743
- setViewOption(option);
744
- }, [option]);
745
- const handleSelectChange = (value2) => {
746
- if (value2.length === 0) onChange(null);
747
- const findOption = MapThemeList.find((e) => e.name === value2[0].value);
748
- onChange(findOption ?? null);
749
- };
750
- const valueLocal = useMemo(() => {
751
- const findOption = option.find((e) => e.value === value.name);
752
- if (!findOption) return [];
753
- return [findOption];
754
- }, [value, option]);
755
- const [search, setSearch] = useState("");
756
- const handleSearchChange = useCallback(
757
- (value2) => {
758
- setSearch(value2);
759
- if (value2 === "") {
760
- setViewOption(option);
761
- } else {
762
- const filteredOptions = option.filter(
763
- (option2) => Object.values(option2).some((field) => field == null ? void 0 : field.toString().toLowerCase().includes(value2.toLowerCase()))
764
- );
765
- setViewOption(filteredOptions);
766
- }
767
- },
768
- [option]
769
- );
770
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
771
- Select,
772
- {
773
- ...props,
774
- option: viewOption,
775
- value: valueLocal,
776
- onChange: handleSelectChange,
777
- valueSearch: search,
778
- onChangeSearch: handleSearchChange
779
- }
780
- );
781
- };
782
- const addSelectWrapperGenre = css`
783
- ${(props) => css`
784
- background: ${props.theme.colors.input[props.$genre].background.rest};
785
- border-color: ${props.theme.colors.input[props.$genre].border.rest};
786
- color: ${props.theme.colors.input[props.$genre].color.rest};
787
- ${!props.$isNotShowHoverStyle && css`
788
- &:hover {
789
- background: ${props.theme.colors.input[props.$genre].background.hover};
790
- border-color: ${props.theme.colors.input[props.$genre].border.hover};
791
- color: ${props.theme.colors.input[props.$genre].color.hover};
792
- }
793
- `}
794
- ${props.$isOpen && css`
795
- background: ${props.theme.colors.input[props.$genre].background.rest};
796
- border-color: ${props.theme.colors.input[props.$genre].border.rest};
797
- color: ${props.theme.colors.input[props.$genre].color.rest};
798
- `}
799
- `};
800
- `;
801
- const addSelectWrapperSize = css`
802
- border: 1px solid;
803
- width: 100%;
804
- padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 4}px
805
- ${(props) => KEY_SIZE_DATA[props.$size].padding - KEY_SIZE_DATA[props.$size].padding / 2.8}px;
806
- gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;
807
- height: fit-content;
808
- min-height: ${(props) => KEY_SIZE_DATA[props.$size].height}px;
809
- border-radius: ${(props) => KEY_SIZE_DATA[props.$size].radius}px;
810
- justify-content: ${(props) => props.$isCenter ? "center" : "flex-start"};
811
- ${(props) => props.$isOpen && css`
812
- outline: 2px ${(props2) => props2.theme.states.focus} solid;
813
- outline-offset: 1px;
814
- `}
815
- `;
816
- const SelectWrapper = styled(motion.div)`
817
- position: relative;
818
- display: flex;
819
- flex-direction: row;
820
- flex-wrap: wrap;
821
- align-items: center;
822
- align-content: center;
823
- flex-wrap: wrap;
824
- ${addSelectWrapperGenre};
825
- ${addSelectWrapperSize};
826
- ${addError};
827
- ${addSX};
828
- `;
829
- const addDropdownListParentSize = css`
830
- gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;
831
- `;
832
- const DropdownListParent = styled(motion.div)`
833
- height: 100%;
834
- width: 100%;
835
- overflow: hidden;
836
- overflow-y: auto;
837
- margin: 0;
838
- padding: 0;
839
- display: flex;
840
- flex-direction: column;
841
- ${addDropdownListParentSize};
842
- `;
843
- const DropdownList = styled.ul`
844
- list-style: none;
845
- position: relative;
846
- display: flex;
847
- flex-direction: column;
848
- width: 100%;
849
- transform: translateZ(0);
850
- flex-shrink: 0;
851
- `;
852
- const addDropdownListOptionGenre = css`
853
- ${(props) => css`
854
- background: ${props.theme.colors.select[props.$genre].background.rest};
855
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
856
- color: ${props.theme.colors.select[props.$genre].color.rest};
857
- &:active {
858
- background: ${props.theme.colors.select[props.$genre].background.rest};
859
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
860
- color: ${props.theme.colors.select[props.$genre].color.rest};
861
- }
862
- ${!props.$isNotShowHoverStyle && css`
863
- &:hover {
864
- background: ${props.theme.colors.select[props.$genre].background.hover};
865
- border-color: ${props.theme.colors.select[props.$genre].border.hover};
866
- color: ${props.theme.colors.select[props.$genre].color.hover};
867
- }
868
- `}
869
- &:focus-visible {
870
- background: ${props.theme.colors.select[props.$genre].background.rest};
871
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
872
- color: ${props.theme.colors.select[props.$genre].color.rest};
873
- }
874
- `};
875
- `;
876
- const addDropdownListOptionSize = css`
877
- padding: 0px ${(props) => KEY_SIZE_DATA[props.$size].padding}px;
878
- width: 100%;
879
- border: 1px solid;
880
- border-radius: 0;
881
- justify-content: ${(props) => props.$isCenter ? "center" : "flex-start"};
882
- &:first-child {
883
- ${(props) => props.$isShowScroll ? css`
884
- border-radius: ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px 0px;
885
- ` : css`
886
- border-radius: ${KEY_SIZE_DATA[props.$size].radius}px ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px;
887
- `}
888
- }
889
- &:last-child {
890
- ${(props) => props.$isShowScroll ? css`
891
- border-radius: 0px 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px;
892
- ` : css`
893
- border-radius: 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px ${KEY_SIZE_DATA[props.$size].radius}px;
894
- `}
895
- }
896
- &:not(:first-child):not(:last-child) {
897
- border-radius: 0px;
898
- }
899
- &:first-child:last-child {
900
- ${(props) => props.$isShowScroll ? css`
901
- border-radius: ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px;
902
- ` : css`
903
- border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;
904
- `}
905
- }
906
- `;
907
- const DropdownListOption = styled.li`
908
- display: flex;
909
- align-items: center;
910
- cursor: pointer;
911
- top: 0;
912
- left: 0;
913
- user-select: none;
914
- flex-shrink: 0;
915
- opacity: ${(props) => {
916
- var _a;
917
- return ((_a = props.$item) == null ? void 0 : _a.isDisabled) ? 0.5 : 1;
918
- }};
919
- ${addFont};
920
- ${addDropdownListOptionGenre};
921
- ${addDropdownListOptionSize};
922
- ${addRemoveOutline};
923
- `;
924
- const addDropdownOptionIconSize = css`
925
- right: ${(props) => KEY_SIZE_DATA[props.$size].padding - 6}px;
926
- height: ${(props) => KEY_SIZE_DATA[props.$size].height}px;
927
- `;
928
- const DropdownListOptionIcon = styled(Icon)`
929
- position: absolute;
930
- right: 0;
931
- height: 100%;
932
- align-items: center;
933
- ${addDropdownOptionIconSize};
934
- ${addRemoveOutline};
935
- color: ${(props) => props.$checked ? props.theme.colors.select[props.$genre].border.select : props.theme.colors.input[props.$genre].border.rest};
936
- `;
937
- const addSelectListSize = css`
938
- display: flex;
939
- flex-direction: row;
940
- flex-wrap: ${(props) => props.$isWrapSelectOption ? "wrap" : "nowrap"};
941
- gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;
942
- `;
943
- const SelectList = styled.ul`
944
- list-style: none;
945
- position: relative;
946
- overflow: hidden;
947
- ${addSelectListSize};
948
- `;
949
- const addButtonListSize = css`
950
- display: flex;
951
- flex-direction: row;
952
- gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;
953
- padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px ${(props) => KEY_SIZE_DATA[props.$size].padding}px;
954
- `;
955
- const ButtonList = styled.div`
956
- position: absolute;
957
- right: 0;
958
- ${addButtonListSize};
959
- `;
960
- const addSelectListOptionGenre = css`
961
- ${(props) => props.$isOnlyColorInSelectListOption ? css`
962
- border: 0px solid;
963
- border-color: transparent;
964
- background-color: transparent;
965
- color: ${props.theme.colors.select[props.$genre].color.rest};
966
- &:active {
967
- color: ${props.theme.colors.select[props.$genre].color.rest};
968
- }
969
- ${!props.$isNotShowHoverStyle && css`
970
- &:hover {
971
- color: ${props.theme.colors.select[props.$genre].color.hover};
972
- }
973
- `}
974
- &:focus-visible {
975
- color: ${props.theme.colors.select[props.$genre].color.rest};
976
- }
977
- ` : css`
978
- border: 1px solid;
979
- background: ${props.theme.colors.select[props.$genre].background.rest};
980
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
981
- color: ${props.theme.colors.select[props.$genre].color.rest};
982
- &:active {
983
- background: ${props.theme.colors.select[props.$genre].background.rest};
984
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
985
- color: ${props.theme.colors.select[props.$genre].color.rest};
986
- }
987
- ${!props.$isNotShowHoverStyle && css`
988
- &:hover {
989
- background: ${props.theme.colors.select[props.$genre].background.hover};
990
- border-color: ${props.theme.colors.select[props.$genre].border.hover};
991
- color: ${props.theme.colors.select[props.$genre].color.hover};
992
- }
993
- `}
994
- &:focus-visible {
995
- background: ${props.theme.colors.select[props.$genre].background.rest};
996
- border-color: ${props.theme.colors.select[props.$genre].border.rest};
997
- color: ${props.theme.colors.select[props.$genre].color.rest};
998
- }
999
- `}
1000
- `;
1001
- const addSelectListOptionSize = css`
1002
- padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;
1003
- border-radius: ${(props) => KEY_SIZE_DATA[props.$size].radius}px;
1004
- `;
1005
- const SelectListOption = styled(motion.li)`
1006
- display: flex;
1007
- align-items: center;
1008
- opacity: 1;
1009
- cursor: ${(props) => props.$isClearWhenClickSelectListOption ? "pointer" : "default"};
1010
- flex-shrink: 0;
1011
- overflow: hidden;
1012
- width: fit-content;
1013
- ${addSelectListOptionGenre};
1014
- ${addSelectListOptionSize};
1015
- ${addRemoveOutline};
1016
- `;
1017
- const SelectTextArea = styled(TextArea)`
1018
- border: 0 !important;
1019
- background-color: transparent !important;
1020
- min-height: initial !important;
1021
- width: 100%;
1022
- max-width: 100%;
1023
- flex-grow: 1;
1024
- padding: ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px 0px ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px;
1025
- ${addRemoveOutline};
1026
- `;
1027
- export {
1028
- ButtonList as B,
1029
- ContainerDropdownListOption as C,
1030
- DropdownListParent as D,
1031
- Select as S,
1032
- ContainerSelectListOption as a,
1033
- SelectLanguage as b,
1034
- SelectMonth as c,
1035
- SelectMonths as d,
1036
- SelectYear as e,
1037
- SelectMapTheme as f,
1038
- SelectWrapper as g,
1039
- DropdownList as h,
1040
- DropdownListOption as i,
1041
- DropdownListOptionIcon as j,
1042
- SelectList as k,
1043
- SelectListOption as l,
1044
- SelectTextArea as m
1045
- };
1046
- //# sourceMappingURL=component.styles-SZTM0cRW.js.map