@jenesei-software/jenesei-kit-react 1.0.0

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 (445) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/build/area-9NUxwBGc.cjs +2 -0
  4. package/build/area-9NUxwBGc.cjs.map +1 -0
  5. package/build/area-BnAddPtl.js +114 -0
  6. package/build/area-BnAddPtl.js.map +1 -0
  7. package/build/area-C2sWYH-e.js +47 -0
  8. package/build/area-C2sWYH-e.js.map +1 -0
  9. package/build/area-CD10k19W.cjs +27 -0
  10. package/build/area-CD10k19W.cjs.map +1 -0
  11. package/build/area-ClrrGVJG.cjs +40 -0
  12. package/build/area-ClrrGVJG.cjs.map +1 -0
  13. package/build/area-D7906bXA.cjs +2 -0
  14. package/build/area-D7906bXA.cjs.map +1 -0
  15. package/build/area-DRqAofd0.js +35 -0
  16. package/build/area-DRqAofd0.js.map +1 -0
  17. package/build/area-DfCAwCiZ.js +69 -0
  18. package/build/area-DfCAwCiZ.js.map +1 -0
  19. package/build/area-outside.cjs.js +2 -0
  20. package/build/area-outside.cjs.js.map +1 -0
  21. package/build/area-outside.d.ts +28 -0
  22. package/build/area-outside.es.js +5 -0
  23. package/build/area-outside.es.js.map +1 -0
  24. package/build/area-preview.cjs.js +2 -0
  25. package/build/area-preview.cjs.js.map +1 -0
  26. package/build/area-preview.d.ts +48 -0
  27. package/build/area-preview.es.js +7 -0
  28. package/build/area-preview.es.js.map +1 -0
  29. package/build/area-scroll.cjs.js +2 -0
  30. package/build/area-scroll.cjs.js.map +1 -0
  31. package/build/area-scroll.d.ts +58 -0
  32. package/build/area-scroll.es.js +6 -0
  33. package/build/area-scroll.es.js.map +1 -0
  34. package/build/area-skeleton.cjs.js +2 -0
  35. package/build/area-skeleton.cjs.js.map +1 -0
  36. package/build/area-skeleton.d.ts +64 -0
  37. package/build/area-skeleton.es.js +6 -0
  38. package/build/area-skeleton.es.js.map +1 -0
  39. package/build/area-smooth.cjs.js +2 -0
  40. package/build/area-smooth.cjs.js.map +1 -0
  41. package/build/area-smooth.d.ts +37 -0
  42. package/build/area-smooth.es.js +5 -0
  43. package/build/area-smooth.es.js.map +1 -0
  44. package/build/area.hooks-Bk04M7mk.js +26 -0
  45. package/build/area.hooks-Bk04M7mk.js.map +1 -0
  46. package/build/area.hooks-C_UKZzcb.cjs +2 -0
  47. package/build/area.hooks-C_UKZzcb.cjs.map +1 -0
  48. package/build/build-info.txt +3 -0
  49. package/build/component--Oo5_3xq.cjs +2 -0
  50. package/build/component--Oo5_3xq.cjs.map +1 -0
  51. package/build/component-BV_7tGiu.cjs +28 -0
  52. package/build/component-BV_7tGiu.cjs.map +1 -0
  53. package/build/component-BcHiCCC9.js +23 -0
  54. package/build/component-BcHiCCC9.js.map +1 -0
  55. package/build/component-BnI7BIp-.cjs +2 -0
  56. package/build/component-BnI7BIp-.cjs.map +1 -0
  57. package/build/component-ByY_9Ryc.js +65 -0
  58. package/build/component-ByY_9Ryc.js.map +1 -0
  59. package/build/component-C2JFFh-k.js +2372 -0
  60. package/build/component-C2JFFh-k.js.map +1 -0
  61. package/build/component-C52VCES6.cjs +247 -0
  62. package/build/component-C52VCES6.cjs.map +1 -0
  63. package/build/component-CBshLNEf.js +50 -0
  64. package/build/component-CBshLNEf.js.map +1 -0
  65. package/build/component-CFMlaYj1.js +66 -0
  66. package/build/component-CFMlaYj1.js.map +1 -0
  67. package/build/component-CuiUpH8H.js +207 -0
  68. package/build/component-CuiUpH8H.js.map +1 -0
  69. package/build/component-D1NPhRuV.cjs +90 -0
  70. package/build/component-D1NPhRuV.cjs.map +1 -0
  71. package/build/component-DZxbW_Jz.js +237 -0
  72. package/build/component-DZxbW_Jz.js.map +1 -0
  73. package/build/component-UW1VzyvB.cjs +52 -0
  74. package/build/component-UW1VzyvB.cjs.map +1 -0
  75. package/build/component-accordion.cjs.js +2 -0
  76. package/build/component-accordion.cjs.js.map +1 -0
  77. package/build/component-accordion.d.ts +94 -0
  78. package/build/component-accordion.es.js +10 -0
  79. package/build/component-accordion.es.js.map +1 -0
  80. package/build/component-button-group.cjs.js +2 -0
  81. package/build/component-button-group.cjs.js.map +1 -0
  82. package/build/component-button-group.d.ts +320 -0
  83. package/build/component-button-group.es.js +6 -0
  84. package/build/component-button-group.es.js.map +1 -0
  85. package/build/component-button.cjs.js +2 -0
  86. package/build/component-button.cjs.js.map +1 -0
  87. package/build/component-button.d.ts +347 -0
  88. package/build/component-button.es.js +9 -0
  89. package/build/component-button.es.js.map +1 -0
  90. package/build/component-checkbox-group.cjs.js +2 -0
  91. package/build/component-checkbox-group.cjs.js.map +1 -0
  92. package/build/component-checkbox-group.d.ts +337 -0
  93. package/build/component-checkbox-group.es.js +11 -0
  94. package/build/component-checkbox-group.es.js.map +1 -0
  95. package/build/component-checkbox.cjs.js +2 -0
  96. package/build/component-checkbox.cjs.js.map +1 -0
  97. package/build/component-checkbox.d.ts +342 -0
  98. package/build/component-checkbox.es.js +10 -0
  99. package/build/component-checkbox.es.js.map +1 -0
  100. package/build/component-date-picker.cjs.js +2 -0
  101. package/build/component-date-picker.cjs.js.map +1 -0
  102. package/build/component-date-picker.d.ts +415 -0
  103. package/build/component-date-picker.es.js +17 -0
  104. package/build/component-date-picker.es.js.map +1 -0
  105. package/build/component-icon.cjs.js +2 -0
  106. package/build/component-icon.cjs.js.map +1 -0
  107. package/build/component-icon.d.ts +198 -0
  108. package/build/component-icon.es.js +12 -0
  109. package/build/component-icon.es.js.map +1 -0
  110. package/build/component-image-button.cjs.js +2 -0
  111. package/build/component-image-button.cjs.js.map +1 -0
  112. package/build/component-image-button.d.ts +340 -0
  113. package/build/component-image-button.es.js +5 -0
  114. package/build/component-image-button.es.js.map +1 -0
  115. package/build/component-image-select.cjs.js +2 -0
  116. package/build/component-image-select.cjs.js.map +1 -0
  117. package/build/component-image-select.d.ts +436 -0
  118. package/build/component-image-select.es.js +11 -0
  119. package/build/component-image-select.es.js.map +1 -0
  120. package/build/component-image-slider.cjs.js +2 -0
  121. package/build/component-image-slider.cjs.js.map +1 -0
  122. package/build/component-image-slider.d.ts +108 -0
  123. package/build/component-image-slider.es.js +8 -0
  124. package/build/component-image-slider.es.js.map +1 -0
  125. package/build/component-image.cjs.js +2 -0
  126. package/build/component-image.cjs.js.map +1 -0
  127. package/build/component-image.d.ts +51 -0
  128. package/build/component-image.es.js +6 -0
  129. package/build/component-image.es.js.map +1 -0
  130. package/build/component-input-otp.cjs.js +2 -0
  131. package/build/component-input-otp.cjs.js.map +1 -0
  132. package/build/component-input-otp.d.ts +150 -0
  133. package/build/component-input-otp.es.js +8 -0
  134. package/build/component-input-otp.es.js.map +1 -0
  135. package/build/component-input.cjs.js +2 -0
  136. package/build/component-input.cjs.js.map +1 -0
  137. package/build/component-input.d.ts +226 -0
  138. package/build/component-input.es.js +20 -0
  139. package/build/component-input.es.js.map +1 -0
  140. package/build/component-jPZYT5iL.js +76 -0
  141. package/build/component-jPZYT5iL.js.map +1 -0
  142. package/build/component-map.cjs.js +2 -0
  143. package/build/component-map.cjs.js.map +1 -0
  144. package/build/component-map.d.ts +97 -0
  145. package/build/component-map.es.js +18 -0
  146. package/build/component-map.es.js.map +1 -0
  147. package/build/component-nFn_uOy_.cjs +2 -0
  148. package/build/component-nFn_uOy_.cjs.map +1 -0
  149. package/build/component-pagination.cjs.js +2 -0
  150. package/build/component-pagination.cjs.js.map +1 -0
  151. package/build/component-pagination.d.ts +321 -0
  152. package/build/component-pagination.es.js +6 -0
  153. package/build/component-pagination.es.js.map +1 -0
  154. package/build/component-range.cjs.js +2 -0
  155. package/build/component-range.cjs.js.map +1 -0
  156. package/build/component-range.d.ts +153 -0
  157. package/build/component-range.es.js +8 -0
  158. package/build/component-range.es.js.map +1 -0
  159. package/build/component-ripple.cjs.js +2 -0
  160. package/build/component-ripple.cjs.js.map +1 -0
  161. package/build/component-ripple.d.ts +45 -0
  162. package/build/component-ripple.es.js +12 -0
  163. package/build/component-ripple.es.js.map +1 -0
  164. package/build/component-select.cjs.js +2 -0
  165. package/build/component-select.cjs.js.map +1 -0
  166. package/build/component-select.d.ts +406 -0
  167. package/build/component-select.es.js +25 -0
  168. package/build/component-select.es.js.map +1 -0
  169. package/build/component-separator.cjs.js +2 -0
  170. package/build/component-separator.cjs.js.map +1 -0
  171. package/build/component-separator.d.ts +46 -0
  172. package/build/component-separator.es.js +6 -0
  173. package/build/component-separator.es.js.map +1 -0
  174. package/build/component-stack.cjs.js +2 -0
  175. package/build/component-stack.cjs.js.map +1 -0
  176. package/build/component-stack.d.ts +72 -0
  177. package/build/component-stack.es.js +8 -0
  178. package/build/component-stack.es.js.map +1 -0
  179. package/build/component-textarea.cjs.js +2 -0
  180. package/build/component-textarea.cjs.js.map +1 -0
  181. package/build/component-textarea.d.ts +131 -0
  182. package/build/component-textarea.es.js +12 -0
  183. package/build/component-textarea.es.js.map +1 -0
  184. package/build/component-toggle.cjs.js +2 -0
  185. package/build/component-toggle.cjs.js.map +1 -0
  186. package/build/component-toggle.d.ts +101 -0
  187. package/build/component-toggle.es.js +7 -0
  188. package/build/component-toggle.es.js.map +1 -0
  189. package/build/component-tooltip.cjs.js +2 -0
  190. package/build/component-tooltip.cjs.js.map +1 -0
  191. package/build/component-tooltip.d.ts +170 -0
  192. package/build/component-tooltip.es.js +12 -0
  193. package/build/component-tooltip.es.js.map +1 -0
  194. package/build/component-typography.cjs.js +2 -0
  195. package/build/component-typography.cjs.js.map +1 -0
  196. package/build/component-typography.d.ts +183 -0
  197. package/build/component-typography.es.js +10 -0
  198. package/build/component-typography.es.js.map +1 -0
  199. package/build/component-xnEaYd4a.cjs +2 -0
  200. package/build/component-xnEaYd4a.cjs.map +1 -0
  201. package/build/component.components-BAAT5GTH.js +363 -0
  202. package/build/component.components-BAAT5GTH.js.map +1 -0
  203. package/build/component.components-CaR5gfQW.cjs +16 -0
  204. package/build/component.components-CaR5gfQW.cjs.map +1 -0
  205. package/build/component.constants-BeWW8Ijx.cjs +2 -0
  206. package/build/component.constants-BeWW8Ijx.cjs.map +1 -0
  207. package/build/component.constants-D9wVZ3zy.cjs +22 -0
  208. package/build/component.constants-D9wVZ3zy.cjs.map +1 -0
  209. package/build/component.constants-DRvp5Bez.js +142 -0
  210. package/build/component.constants-DRvp5Bez.js.map +1 -0
  211. package/build/component.constants-DbNhxh0k.js +759 -0
  212. package/build/component.constants-DbNhxh0k.js.map +1 -0
  213. package/build/component.styles-B0L4jbOO.js +59 -0
  214. package/build/component.styles-B0L4jbOO.js.map +1 -0
  215. package/build/component.styles-B1DIataj.cjs +10 -0
  216. package/build/component.styles-B1DIataj.cjs.map +1 -0
  217. package/build/component.styles-BFwkFWkd.cjs +39 -0
  218. package/build/component.styles-BFwkFWkd.cjs.map +1 -0
  219. package/build/component.styles-BSEA2Dqn.cjs +8 -0
  220. package/build/component.styles-BSEA2Dqn.cjs.map +1 -0
  221. package/build/component.styles-BapdQNhL.js +2166 -0
  222. package/build/component.styles-BapdQNhL.js.map +1 -0
  223. package/build/component.styles-BfvB83xM.cjs +22 -0
  224. package/build/component.styles-BfvB83xM.cjs.map +1 -0
  225. package/build/component.styles-Bn6ylF83.js +859 -0
  226. package/build/component.styles-Bn6ylF83.js.map +1 -0
  227. package/build/component.styles-BsZIuwWJ.cjs +140 -0
  228. package/build/component.styles-BsZIuwWJ.cjs.map +1 -0
  229. package/build/component.styles-C6LohBfF.js +81 -0
  230. package/build/component.styles-C6LohBfF.js.map +1 -0
  231. package/build/component.styles-CEBh8X5q.js +20 -0
  232. package/build/component.styles-CEBh8X5q.js.map +1 -0
  233. package/build/component.styles-CPsxMKVK.cjs +73 -0
  234. package/build/component.styles-CPsxMKVK.cjs.map +1 -0
  235. package/build/component.styles-CTo5NC52.js +71 -0
  236. package/build/component.styles-CTo5NC52.js.map +1 -0
  237. package/build/component.styles-CV7jTFCg.js +758 -0
  238. package/build/component.styles-CV7jTFCg.js.map +1 -0
  239. package/build/component.styles-CVBpx4fw.js +474 -0
  240. package/build/component.styles-CVBpx4fw.js.map +1 -0
  241. package/build/component.styles-CZu2m0O4.cjs +21 -0
  242. package/build/component.styles-CZu2m0O4.cjs.map +1 -0
  243. package/build/component.styles-CmBcHREH.cjs +13 -0
  244. package/build/component.styles-CmBcHREH.cjs.map +1 -0
  245. package/build/component.styles-CmEFZfA5.js +120 -0
  246. package/build/component.styles-CmEFZfA5.js.map +1 -0
  247. package/build/component.styles-DHIw8p8e.cjs +158 -0
  248. package/build/component.styles-DHIw8p8e.cjs.map +1 -0
  249. package/build/component.styles-DOPCUXcr.js +158 -0
  250. package/build/component.styles-DOPCUXcr.js.map +1 -0
  251. package/build/component.styles-Dj3h7jd9.cjs +165 -0
  252. package/build/component.styles-Dj3h7jd9.cjs.map +1 -0
  253. package/build/component.styles-Do1NYZEO.js +86 -0
  254. package/build/component.styles-Do1NYZEO.js.map +1 -0
  255. package/build/component.styles-Dok17vPl.js +126 -0
  256. package/build/component.styles-Dok17vPl.js.map +1 -0
  257. package/build/component.styles-Dpg-__rn.cjs +43 -0
  258. package/build/component.styles-Dpg-__rn.cjs.map +1 -0
  259. package/build/component.styles-DpkFoWEh.cjs +81 -0
  260. package/build/component.styles-DpkFoWEh.cjs.map +1 -0
  261. package/build/component.styles-DqsBDAEo.js +202 -0
  262. package/build/component.styles-DqsBDAEo.js.map +1 -0
  263. package/build/component.styles-Du2y0R4W.js +177 -0
  264. package/build/component.styles-Du2y0R4W.js.map +1 -0
  265. package/build/component.styles-DxeG9Opm.cjs +47 -0
  266. package/build/component.styles-DxeG9Opm.cjs.map +1 -0
  267. package/build/component.styles-DyGfo9t0.cjs +32 -0
  268. package/build/component.styles-DyGfo9t0.cjs.map +1 -0
  269. package/build/component.styles-RkQwTlwG.js +170 -0
  270. package/build/component.styles-RkQwTlwG.js.map +1 -0
  271. package/build/component.styles-ZtwHuL4x.cjs +75 -0
  272. package/build/component.styles-ZtwHuL4x.cjs.map +1 -0
  273. package/build/component.types-D05KdxnZ.js +132 -0
  274. package/build/component.types-D05KdxnZ.js.map +1 -0
  275. package/build/component.types-gy5Q9qHX.cjs +2 -0
  276. package/build/component.types-gy5Q9qHX.cjs.map +1 -0
  277. package/build/consts.cjs.js +2 -0
  278. package/build/consts.cjs.js.map +1 -0
  279. package/build/consts.d.ts +86 -0
  280. package/build/consts.es.js +177 -0
  281. package/build/consts.es.js.map +1 -0
  282. package/build/context-app.cjs.js +2 -0
  283. package/build/context-app.cjs.js.map +1 -0
  284. package/build/context-app.d.ts +223 -0
  285. package/build/context-app.es.js +20 -0
  286. package/build/context-app.es.js.map +1 -0
  287. package/build/context-cookie.cjs.js +2 -0
  288. package/build/context-cookie.cjs.js.map +1 -0
  289. package/build/context-cookie.d.ts +67 -0
  290. package/build/context-cookie.es.js +9 -0
  291. package/build/context-cookie.es.js.map +1 -0
  292. package/build/context-dialog.cjs.js +2 -0
  293. package/build/context-dialog.cjs.js.map +1 -0
  294. package/build/context-dialog.d.ts +92 -0
  295. package/build/context-dialog.es.js +18 -0
  296. package/build/context-dialog.es.js.map +1 -0
  297. package/build/context-geolocation.cjs.js +2 -0
  298. package/build/context-geolocation.cjs.js.map +1 -0
  299. package/build/context-geolocation.d.ts +22 -0
  300. package/build/context-geolocation.es.js +7 -0
  301. package/build/context-geolocation.es.js.map +1 -0
  302. package/build/context-local-storage.cjs.js +2 -0
  303. package/build/context-local-storage.cjs.js.map +1 -0
  304. package/build/context-local-storage.d.ts +54 -0
  305. package/build/context-local-storage.es.js +9 -0
  306. package/build/context-local-storage.es.js.map +1 -0
  307. package/build/context-permission.cjs.js +2 -0
  308. package/build/context-permission.cjs.js.map +1 -0
  309. package/build/context-permission.d.ts +28 -0
  310. package/build/context-permission.es.js +9 -0
  311. package/build/context-permission.es.js.map +1 -0
  312. package/build/context-screen-width.cjs.js +2 -0
  313. package/build/context-screen-width.cjs.js.map +1 -0
  314. package/build/context-screen-width.d.ts +34 -0
  315. package/build/context-screen-width.es.js +7 -0
  316. package/build/context-screen-width.es.js.map +1 -0
  317. package/build/context-sonner.cjs.js +2 -0
  318. package/build/context-sonner.cjs.js.map +1 -0
  319. package/build/context-sonner.d.ts +449 -0
  320. package/build/context-sonner.es.js +21 -0
  321. package/build/context-sonner.es.js.map +1 -0
  322. package/build/context.constants-B29-_8v3.cjs +32 -0
  323. package/build/context.constants-B29-_8v3.cjs.map +1 -0
  324. package/build/context.constants-BaD7xj_m.cjs +100 -0
  325. package/build/context.constants-BaD7xj_m.cjs.map +1 -0
  326. package/build/context.constants-CsZRZ7gH.js +228 -0
  327. package/build/context.constants-CsZRZ7gH.js.map +1 -0
  328. package/build/context.constants-DqYjo5m4.js +375 -0
  329. package/build/context.constants-DqYjo5m4.js.map +1 -0
  330. package/build/context.functions-80N-5MqM.cjs +2 -0
  331. package/build/context.functions-80N-5MqM.cjs.map +1 -0
  332. package/build/context.functions-B8FDl7nJ.js +14 -0
  333. package/build/context.functions-B8FDl7nJ.js.map +1 -0
  334. package/build/context.functions-BD15C8_y.js +128 -0
  335. package/build/context.functions-BD15C8_y.js.map +1 -0
  336. package/build/context.functions-CQ9GerPb.js +147 -0
  337. package/build/context.functions-CQ9GerPb.js.map +1 -0
  338. package/build/context.functions-ar41xFVo.cjs +2 -0
  339. package/build/context.functions-ar41xFVo.cjs.map +1 -0
  340. package/build/context.functions-ohI9H54j.cjs +2 -0
  341. package/build/context.functions-ohI9H54j.cjs.map +1 -0
  342. package/build/context.hooks-7ydA7mGj.js +117 -0
  343. package/build/context.hooks-7ydA7mGj.js.map +1 -0
  344. package/build/context.hooks-BIsapq-0.cjs +2 -0
  345. package/build/context.hooks-BIsapq-0.cjs.map +1 -0
  346. package/build/context.hooks-BmwyZ1p3.js +68 -0
  347. package/build/context.hooks-BmwyZ1p3.js.map +1 -0
  348. package/build/context.hooks-BzMTkJNv.js +52 -0
  349. package/build/context.hooks-BzMTkJNv.js.map +1 -0
  350. package/build/context.hooks-CTi-CVKx.cjs +72 -0
  351. package/build/context.hooks-CTi-CVKx.cjs.map +1 -0
  352. package/build/context.hooks-D13tbrva.cjs +2 -0
  353. package/build/context.hooks-D13tbrva.cjs.map +1 -0
  354. package/build/context.hooks-gyzZSaVi.js +527 -0
  355. package/build/context.hooks-gyzZSaVi.js.map +1 -0
  356. package/build/context.hooks-u408Pxw8.cjs +2 -0
  357. package/build/context.hooks-u408Pxw8.cjs.map +1 -0
  358. package/build/functions.cjs.js +2 -0
  359. package/build/functions.cjs.js.map +1 -0
  360. package/build/functions.d.ts +22 -0
  361. package/build/functions.es.js +47 -0
  362. package/build/functions.es.js.map +1 -0
  363. package/build/hooks-use-debounced-callback.cjs.js +2 -0
  364. package/build/hooks-use-debounced-callback.cjs.js.map +1 -0
  365. package/build/hooks-use-debounced-callback.d.ts +3 -0
  366. package/build/hooks-use-debounced-callback.es.js +5 -0
  367. package/build/hooks-use-debounced-callback.es.js.map +1 -0
  368. package/build/hooks-use-deep-compare-memoize.cjs.js +2 -0
  369. package/build/hooks-use-deep-compare-memoize.cjs.js.map +1 -0
  370. package/build/hooks-use-deep-compare-memoize.d.ts +3 -0
  371. package/build/hooks-use-deep-compare-memoize.es.js +5 -0
  372. package/build/hooks-use-deep-compare-memoize.es.js.map +1 -0
  373. package/build/index.cjs.js +2 -0
  374. package/build/index.cjs.js.map +1 -0
  375. package/build/index.d.ts +2540 -0
  376. package/build/index.es.js +329 -0
  377. package/build/index.es.js.map +1 -0
  378. package/build/jsx-runtime-BcGej2Kr.cjs +11 -0
  379. package/build/jsx-runtime-BcGej2Kr.cjs.map +1 -0
  380. package/build/jsx-runtime-BrDlu8eK.js +320 -0
  381. package/build/jsx-runtime-BrDlu8eK.js.map +1 -0
  382. package/build/motion-CIQfrLky.js +85 -0
  383. package/build/motion-CIQfrLky.js.map +1 -0
  384. package/build/motion-DgB7M2Hn.cjs +2 -0
  385. package/build/motion-DgB7M2Hn.cjs.map +1 -0
  386. package/build/style-CEGJOjRW.js +107 -0
  387. package/build/style-CEGJOjRW.js.map +1 -0
  388. package/build/style-CtGd1JVB.cjs +32 -0
  389. package/build/style-CtGd1JVB.cjs.map +1 -0
  390. package/build/style-DeAgDHyI.js +52 -0
  391. package/build/style-DeAgDHyI.js.map +1 -0
  392. package/build/style-Dm74EPGE.cjs +87 -0
  393. package/build/style-Dm74EPGE.cjs.map +1 -0
  394. package/build/style-add.cjs.js +2 -0
  395. package/build/style-add.cjs.js.map +1 -0
  396. package/build/style-add.d.ts +21 -0
  397. package/build/style-add.es.js +13 -0
  398. package/build/style-add.es.js.map +1 -0
  399. package/build/style-error.cjs.js +2 -0
  400. package/build/style-error.cjs.js.map +1 -0
  401. package/build/style-error.d.ts +56 -0
  402. package/build/style-error.es.js +7 -0
  403. package/build/style-error.es.js.map +1 -0
  404. package/build/style-fRZ6xrVp.cjs +10 -0
  405. package/build/style-fRZ6xrVp.cjs.map +1 -0
  406. package/build/style-motion.cjs.js +2 -0
  407. package/build/style-motion.cjs.js.map +1 -0
  408. package/build/style-motion.d.ts +20 -0
  409. package/build/style-motion.es.js +8 -0
  410. package/build/style-motion.es.js.map +1 -0
  411. package/build/style-plT9Ah7t.js +33 -0
  412. package/build/style-plT9Ah7t.js.map +1 -0
  413. package/build/style-sx.cjs.js +2 -0
  414. package/build/style-sx.cjs.js.map +1 -0
  415. package/build/style-sx.d.ts +31 -0
  416. package/build/style-sx.es.js +5 -0
  417. package/build/style-sx.es.js.map +1 -0
  418. package/build/style-theme.cjs.js +2 -0
  419. package/build/style-theme.cjs.js.map +1 -0
  420. package/build/style-theme.d.ts +263 -0
  421. package/build/style-theme.es.js +10 -0
  422. package/build/style-theme.es.js.map +1 -0
  423. package/build/style.css +1 -0
  424. package/build/theme.global-D6XU05Et.cjs +169 -0
  425. package/build/theme.global-D6XU05Et.cjs.map +1 -0
  426. package/build/theme.global-bN9HlSWE.js +1080 -0
  427. package/build/theme.global-bN9HlSWE.js.map +1 -0
  428. package/build/types.cjs.js +2 -0
  429. package/build/types.cjs.js.map +1 -0
  430. package/build/types.d.ts +27 -0
  431. package/build/types.es.js +2 -0
  432. package/build/types.es.js.map +1 -0
  433. package/build/use-BVj4dgbW.js +1547 -0
  434. package/build/use-BVj4dgbW.js.map +1 -0
  435. package/build/use-BhofoOgk.cjs +16 -0
  436. package/build/use-BhofoOgk.cjs.map +1 -0
  437. package/build/use-Bp8UVw4Y.js +16 -0
  438. package/build/use-Bp8UVw4Y.js.map +1 -0
  439. package/build/use-C1l0O0Qo.cjs +2 -0
  440. package/build/use-C1l0O0Qo.cjs.map +1 -0
  441. package/build/use-DT0XgvJT.js +25 -0
  442. package/build/use-DT0XgvJT.js.map +1 -0
  443. package/build/use-IhzeVumv.cjs +2 -0
  444. package/build/use-IhzeVumv.cjs.map +1 -0
  445. package/package.json +360 -0
@@ -0,0 +1,21 @@
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),s=require("react"),i=require("./component.styles-ZtwHuL4x.cjs"),l=require("styled-components"),r=require("./component-C52VCES6.cjs"),o=require("./style-fRZ6xrVp.cjs"),n=require("./theme.global-D6XU05Et.cjs"),t=l.css`
2
+ ${e=>c(n.KEY_SIZE_DATA[e.$size])};
3
+ `,c=e=>l.css`
4
+ gap: ${e.padding-2}px;
5
+ ${s=>r.getFontSizeStyles(e.font,700,s.theme.font.family)};
6
+ `,d=l.div`
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: stretch;
10
+ ${t};
11
+ ${o.addSX};
12
+ `,x=l.div`
13
+ display: flex;
14
+ flex-direction: row;
15
+ align-items: center;
16
+ `,u=l.div`
17
+ user-select: none;
18
+ `,a=l.div`
19
+ user-select: none;
20
+ `;exports.CheckboxChildren=a,exports.CheckboxGroup=l=>{const r=s.useCallback(e=>{const s=l.value.some(s=>s[l.valueField]===e[l.valueField])?l.value.filter(s=>s[l.valueField]!==e[l.valueField]):l.multiple?[...l.value,e]:[e];l.onChange&&l.onChange(s)},[l]);return e.jsxRuntimeExports.jsx(d,{className:l.className,$sx:l.sx,$size:l.size,children:l.options.map((s,o)=>{const n=l.value.some(e=>e[l.valueField]===s[l.valueField]);return e.jsxRuntimeExports.jsxs(x,{onClick:()=>!l.isClickOnlyIcon&&r(s),children:[e.jsxRuntimeExports.jsx(i.Checkbox,{genre:l.checkboxGenre,isHiddenBorder:l.checkboxIsHiddenBorder,view:l.checkBoxView,sx:l.checkboxSX,size:l.size,checked:n,children:l.labelField&&void 0!==(null==s?void 0:s[l.labelField])&&e.jsxRuntimeExports.jsx(u,{dangerouslySetInnerHTML:(t=s[l.labelField],{__html:t})})}),l.childrenField&&void 0!==(null==s?void 0:s[l.childrenField])&&e.jsxRuntimeExports.jsx(a,{children:s[l.childrenField]})]},o);var t})})},exports.CheckboxGroupItem=x,exports.CheckboxGroupLabel=u,exports.CheckboxGroupSize=t,exports.CheckboxGroupSizeConstructor=c,exports.CheckboxGroupWrapper=d;
21
+ //# sourceMappingURL=component.styles-CZu2m0O4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-CZu2m0O4.cjs","sources":["../src/components/checkbox-group/component.styles.ts","../src/components/checkbox-group/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { CheckboxGroupWrapperProps } from '.'\n\n/****************************************** Size *************************************************/\nexport const CheckboxGroupSize = css<CheckboxGroupWrapperProps>`\n ${props => CheckboxGroupSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const CheckboxGroupSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n ${params => getFontSizeStyles(props.font, 700, params.theme.font.family)};\n`\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addSX};\n`\n\nexport const CheckboxGroupItem = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`\n\nexport const CheckboxGroupLabel = styled.div`\n user-select: none;\n`\n\nexport const CheckboxChildren = styled.div`\n user-select: none;\n`\n","import { ReactNode, useCallback } from 'react'\n\nimport { Checkbox } from '@local/components/checkbox'\n\nimport {\n CheckboxChildren,\n CheckboxGroupItem,\n CheckboxGroupLabel,\n CheckboxGroupProps,\n CheckboxGroupWrapper,\n ICheckboxValue\n} from '.'\n\nexport const CheckboxGroup = <T extends ICheckboxValue>(props: CheckboxGroupProps<T>) => {\n const createMarkup = (html: string) => ({ __html: html })\n\n const handleCheckboxChange = useCallback(\n (item: T) => {\n const isSelected = props.value.some(selectedItem => selectedItem[props.valueField] === item[props.valueField])\n\n const updatedSelectedItems = isSelected\n ? props.value.filter(selectedItem => selectedItem[props.valueField] !== item[props.valueField])\n : props.multiple\n ? [...props.value, item]\n : [item]\n if (props.onChange) props.onChange(updatedSelectedItems)\n },\n [props]\n )\n return (\n <CheckboxGroupWrapper className={props.className} $sx={props.sx} $size={props.size}>\n {props.options.map((e, index) => {\n const isChecked = props.value.some(selectedItem => selectedItem[props.valueField] === e[props.valueField])\n return (\n <CheckboxGroupItem key={index} onClick={() => !props.isClickOnlyIcon && handleCheckboxChange(e)}>\n <Checkbox\n genre={props.checkboxGenre}\n isHiddenBorder={props.checkboxIsHiddenBorder}\n view={props.checkBoxView}\n sx={props.checkboxSX}\n size={props.size}\n checked={isChecked}\n >\n {props.labelField && e?.[props.labelField] !== undefined && (\n <CheckboxGroupLabel dangerouslySetInnerHTML={createMarkup(e[props.labelField] as string)} />\n )}\n </Checkbox>\n {props.childrenField && e?.[props.childrenField] !== undefined && (\n <CheckboxChildren>{e[props.childrenField] as ReactNode}</CheckboxChildren>\n )}\n </CheckboxGroupItem>\n )\n })}\n </CheckboxGroupWrapper>\n )\n}\n"],"names":["CheckboxGroupSize","css","CheckboxGroupSizeConstructor","KEY_SIZE_DATA","props","$size","padding","params","getFontSizeStyles","font","theme","family","CheckboxGroupWrapper","styled","div","addSX","CheckboxGroupItem","CheckboxGroupLabel","CheckboxChildren","handleCheckboxChange","useCallback","item","updatedSelectedItems","value","some","selectedItem","valueField","filter","multiple","onChange","className","$sx","sx","size","children","options","map","e","index","isChecked","jsxs","onClick","isClickOnlyIcon","jsx","Checkbox","genre","checkboxGenre","isHiddenBorder","checkboxIsHiddenBorder","view","checkBoxView","checkboxSX","checked","labelField","dangerouslySetInnerHTML","html","__html","childrenField"],"mappings":"2QASaA,EAAoBC,EAAAA,GAAAA;OACpBC,EAA6BC,EAAAA,cAAcC,EAAMC;EAEjDH,EAAgCE,GAAqCH,EAAAA,GAAAA;SACzEG,EAAME,QAAU;IACrBC,GAAUC,oBAAkBJ,EAAMK,KAAM,IAAKF,EAAOG,MAAMD,KAAKE;EAItDC,EAAuBC,EAAOC,GAAA;;;;IAIvCd;IACAe;EAGSC,EAAoBH,EAAOC,GAAA;;;;EAM3BG,EAAqBJ,EAAOC,GAAA;;EAI5BI,EAAmBL,EAAOC,GAAA;;mDCvBiBV,IACtD,MAEMe,EAAuBC,EAAAA,YAC1BC,IACC,MAEMC,EAFalB,EAAMmB,MAAMC,KAAKC,GAAgBA,EAAarB,EAAMsB,cAAgBL,EAAKjB,EAAMsB,aAG9FtB,EAAMmB,MAAMI,UAAuBF,EAAarB,EAAMsB,cAAgBL,EAAKjB,EAAMsB,aACjFtB,EAAMwB,SACJ,IAAIxB,EAAMmB,MAAOF,GACjB,CAACA,GACHjB,EAAMyB,UAAUzB,EAAMyB,SAASP,IAErC,CAAClB,IAEH,+BACGQ,EAAA,CAAqBkB,UAAW1B,EAAM0B,UAAWC,IAAK3B,EAAM4B,GAAI3B,MAAOD,EAAM6B,KAC3EC,SAAA9B,EAAM+B,QAAQC,IAAI,CAACC,EAAGC,KACrB,MAAMC,EAAYnC,EAAMmB,MAAMC,KAAKC,GAAgBA,EAAarB,EAAMsB,cAAgBW,EAAEjC,EAAMsB,aAC9F,OACEc,yBAACxB,GAA8ByB,QAAS,KAAOrC,EAAMsC,iBAAmBvB,EAAqBkB,GAC3FH,SAAA,GAAAS,kBAAAA,IAACC,EAAAA,SAAA,CACCC,MAAOzC,EAAM0C,cACbC,eAAgB3C,EAAM4C,uBACtBC,KAAM7C,EAAM8C,aACZlB,GAAI5B,EAAM+C,WACVlB,KAAM7B,EAAM6B,KACZmB,QAASb,EAERL,SAAA9B,EAAMiD,iBAAwC,WAA1BhB,WAAIjC,EAAMiD,cAC7BV,EAAAA,kBAAAA,IAAC1B,EAAA,CAAmBqC,yBA9BZC,EA8BkDlB,EAAEjC,EAAMiD,YA9B1D,CAAoBG,OAAQD,QAiCvCnD,EAAMqD,oBAA8C,KAA7B,MAAApB,OAAA,EAAAA,EAAIjC,EAAMqD,iBAChCd,wBAACzB,EAAA,CAAkBgB,SAAAG,EAAEjC,EAAMqD,mBAdPnB,GApBX,IAACiB"}
@@ -0,0 +1,13 @@
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("react"),n=require("./style-CtGd1JVB.cjs"),r=require("./component-BnI7BIp-.cjs");require("./component.styles-BsZIuwWJ.cjs");const s=require("styled-components"),l=require("./style-fRZ6xrVp.cjs"),o=require("./theme.global-D6XU05Et.cjs"),u=s.css`
2
+ ${e=>i({...o.KEY_SIZE_DATA[e.$size],...e})};
3
+ `,i=e=>s.css`
4
+ gap: ${e.padding-2}px;
5
+ width: 100%;
6
+ `,c=s.div`
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: flex-start;
10
+ ${u};
11
+ ${l.addSX};
12
+ `;exports.InputOTP=s=>{const[l,o]=t.useState(new Array(s.length).fill("")),u=t.useRef([]),i=t.useRef(null),a=t.useCallback((e,t)=>{t.preventDefault();const n=t.clipboardData.getData("Text").replace(/\D/g,"").split("");n.length&&o(t=>{var r,l;const o=[...t];let i=e;for(let e=0;e<n.length&&i<o.length;e++)o[i]=n[e],i++;const c=o.join("");return null==(r=s.onChange)||r.call(s,c),o.every(e=>""!==e)&&(null==(l=s.onComplete)||l.call(s,c)),setTimeout(()=>{var e,t;const n=o.findIndex(e=>""===e);-1!==n?null==(e=u.current[n])||e.focus():i<o.length&&(null==(t=u.current[i])||t.focus())},0),o})},[s]),g=t.useCallback((e,t)=>{/^\d*$/.test(t)&&o(n=>{var r;const l=[...n];return l[e]=t.slice(-1),s.onChange&&s.onChange(l.join("")),l.every(e=>""!==e)&&(null==(r=s.onComplete)||r.call(s,l.join(""))),t&&e<n.length-1&&setTimeout(()=>{var t;null==(t=u.current[e+1])||t.focus()},0),l})},[s]),p=t.useCallback(e=>{setTimeout(()=>e.target.setSelectionRange(0,e.target.value.length),0)},[]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(c,{$error:s.error,$size:s.size,id:s.id,ref:i,onBlur:e=>{setTimeout(()=>{var t;i.current&&!i.current.contains(document.activeElement)&&(null==(t=s.onBlur)||t.call(s,e))},0)},$sx:s.sx,children:l.map((t,n)=>e.jsxRuntimeExports.jsx(r.Input,{isWidthAsHeight:!0,tabIndex:n+1,ref:e=>{u.current[n]=e},variety:"standard",type:"text",inputMode:"numeric",maxLength:1,value:t,onFocus:p,onPaste:e=>a(n,e),onChange:e=>g(n,e),onKeyDown:e=>((e,t)=>{const n=u.current[e];if(n){if("ArrowRight"===t.key){const t=e<l.length-1?e+1:0,n=u.current[t];n&&(n.focus(),setTimeout(()=>n.setSelectionRange(0,n.value.length),0))}if("ArrowLeft"===t.key){const t=e>0?e-1:l.length-1,n=u.current[t];n&&(n.focus(),setTimeout(()=>n.setSelectionRange(0,n.value.length),0))}"Backspace"===t.key&&(n.value?setTimeout(()=>n.setSelectionRange(0,n.value.length),0):e>0&&setTimeout(()=>{const t=u.current[e-1];t&&(t.focus(),t.setSelectionRange(0,t.value.length))},0))}})(n,e),genre:s.genre,size:s.size},n))}),(null==s?void 0:s.error)?e.jsxRuntimeExports.jsx(n.ErrorMessage,{...s.error,size:(null==s?void 0:s.error.size)??s.size}):null]})},exports.InputOTPSize=u,exports.InputOTPSizeConstructor=i,exports.InputOTPWrapper=c;
13
+ //# sourceMappingURL=component.styles-CmBcHREH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-CmBcHREH.cjs","sources":["../src/components/input-otp/component.styles.ts","../src/components/input-otp/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { InputOTPWrapperProps } from '.'\n\n/****************************************** Size *************************************************/\nexport const InputOTPSize = css<InputOTPWrapperProps>`\n ${props => InputOTPSizeConstructor({ ...KEY_SIZE_DATA[props.$size], ...props })};\n`\nexport const InputOTPSizeConstructor = (props: IThemeSizePropertyDefault & InputOTPWrapperProps) => css`\n gap: ${props.padding - 2}px;\n width: 100%;\n`\n\nexport const InputOTPWrapper = styled.div<InputOTPWrapperProps>`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n ${InputOTPSize};\n ${addSX};\n`\n","import { ClipboardEvent, FocusEvent, KeyboardEvent, useCallback, useRef, useState } from 'react'\n\nimport { ErrorMessage } from '@local/styles/error'\n\nimport { InputOTPProps, InputOTPWrapper } from '.'\nimport { Input } from '../input'\n\nexport const InputOTP = (props: InputOTPProps) => {\n const [otp, setOtp] = useState<string[]>(new Array(props.length).fill(''))\n const inputsRef = useRef<(HTMLInputElement | null)[]>([])\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n\n const handlePaste = useCallback(\n (index: number, e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault()\n\n const pasteData = e.clipboardData.getData('Text')\n const digits = pasteData.replace(/\\D/g, '').split('')\n\n if (!digits.length) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n let currentIndex = index\n\n for (let i = 0; i < digits.length && currentIndex < newOtp.length; i++) {\n newOtp[currentIndex] = digits[i]\n currentIndex++\n }\n\n const joined = newOtp.join('')\n\n props.onChange?.(joined)\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(joined)\n }\n\n setTimeout(() => {\n const firstEmpty = newOtp.findIndex(char => char === '')\n if (firstEmpty !== -1) {\n inputsRef.current[firstEmpty]?.focus()\n } else if (currentIndex < newOtp.length) {\n inputsRef.current[currentIndex]?.focus()\n }\n }, 0)\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleChange = useCallback(\n (index: number, value: string) => {\n if (!/^\\d*$/.test(value)) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n newOtp[index] = value.slice(-1)\n\n if (props.onChange) {\n props.onChange(newOtp.join(''))\n }\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(newOtp.join(''))\n }\n\n if (value && index < prevOtp.length - 1) {\n setTimeout(() => {\n inputsRef.current[index + 1]?.focus()\n }, 0)\n }\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleKeyDown = (index: number, e: KeyboardEvent<HTMLInputElement>) => {\n const input = inputsRef.current[index]\n\n if (!input) return\n\n if (e.key === 'ArrowRight') {\n const nextIndex = index < otp.length - 1 ? index + 1 : 0\n const nextInput = inputsRef.current[nextIndex]\n\n if (nextInput) {\n nextInput.focus()\n setTimeout(() => nextInput.setSelectionRange(0, nextInput.value.length), 0)\n }\n }\n\n if (e.key === 'ArrowLeft') {\n const prevIndex = index > 0 ? index - 1 : otp.length - 1\n const prevInput = inputsRef.current[prevIndex]\n\n if (prevInput) {\n prevInput.focus()\n setTimeout(() => prevInput.setSelectionRange(0, prevInput.value.length), 0)\n }\n }\n\n if (e.key === 'Backspace') {\n if (input.value) {\n setTimeout(() => input.setSelectionRange(0, input.value.length), 0)\n } else if (index > 0) {\n setTimeout(() => {\n const prevInput = inputsRef.current[index - 1]\n if (prevInput) {\n prevInput.focus()\n prevInput.setSelectionRange(0, prevInput.value.length)\n }\n }, 0)\n }\n }\n }\n\n const handleFocusInput = useCallback((e: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => e.target.setSelectionRange(0, e.target.value.length), 0)\n }, [])\n return (\n <>\n <InputOTPWrapper\n $error={props.error}\n $size={props.size}\n id={props.id}\n ref={wrapperRef}\n onBlur={e => {\n setTimeout(() => {\n if (wrapperRef.current && !wrapperRef.current.contains(document.activeElement)) {\n props.onBlur?.(e)\n }\n }, 0)\n }}\n $sx={props.sx}\n >\n {otp.map((digit, index) => (\n <Input\n isWidthAsHeight\n key={index}\n tabIndex={index + 1}\n ref={el => {\n inputsRef.current[index] = el\n }}\n variety=\"standard\"\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={1}\n value={digit}\n onFocus={handleFocusInput}\n onPaste={e => handlePaste(index, e)}\n onChange={value => handleChange(index, value)}\n onKeyDown={e => handleKeyDown(index, e)}\n genre={props.genre}\n size={props.size}\n />\n ))}\n </InputOTPWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n"],"names":["InputOTPSize","css","props","InputOTPSizeConstructor","KEY_SIZE_DATA","$size","padding","InputOTPWrapper","styled","div","addSX","otp","setOtp","useState","Array","length","fill","inputsRef","useRef","wrapperRef","handlePaste","useCallback","index","e","preventDefault","digits","clipboardData","getData","replace","split","prevOtp","newOtp","currentIndex","i","joined","join","_a","onChange","call","every","char","_b","onComplete","setTimeout","firstEmpty","findIndex","current","focus","handleChange","value","test","slice","handleFocusInput","target","setSelectionRange","jsxs","Fragment","children","jsx","$error","error","size","id","ref","onBlur","contains","document","activeElement","$sx","sx","map","digit","Input","isWidthAsHeight","tabIndex","el","variety","type","inputMode","maxLength","onFocus","onPaste","onKeyDown","input","key","nextIndex","nextInput","prevIndex","prevInput","handleKeyDown","genre","ErrorMessage"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
+ import { AnimatePresence, motion } from "framer-motion";
3
+ import styled, { css } from "styled-components";
4
+ import { b as addTransition } from "./style-CEGJOjRW.js";
5
+ import { a as addError } from "./style-DeAgDHyI.js";
6
+ import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-bN9HlSWE.js";
7
+ const Toggle = (props) => {
8
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
9
+ ToggleWrapper,
10
+ {
11
+ $genre: props.genre,
12
+ $isDisabled: props.isDisabled,
13
+ $value: props.value,
14
+ $size: props.size,
15
+ $error: props.error,
16
+ tabIndex: 0,
17
+ onClick: () => props.onChange && props.onChange(!props.value),
18
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
19
+ ToggleCenter,
20
+ {
21
+ layout: true,
22
+ transition: spring,
23
+ $genre: props.genre,
24
+ $isDisabled: props.isDisabled,
25
+ $value: props.value,
26
+ $size: props.size,
27
+ $error: props.error
28
+ }
29
+ )
30
+ }
31
+ ) });
32
+ };
33
+ const spring = {
34
+ type: "spring",
35
+ stiffness: 700,
36
+ damping: 30
37
+ };
38
+ const ToggleWrapperSize = css`
39
+ ${(props) => ToggleWrapperSizeConstructor(KEY_SIZE_DATA_TOGGLE[props.$size])};
40
+ `;
41
+ const ToggleWrapperSizeConstructor = (props) => css`
42
+ height: ${props.height}px;
43
+ width: ${props.width}px;
44
+ padding: ${props.padding}px;
45
+ border-radius: 100px;
46
+ `;
47
+ const ToggleCenterSize = css`
48
+ ${(props) => ToggleCenterSizeConstructor(KEY_SIZE_DATA_TOGGLE[props.$size])};
49
+ `;
50
+ const ToggleCenterSizeConstructor = (props) => css`
51
+ height: ${props.thumb}px;
52
+ width: ${props.thumb}px;
53
+ border-radius: 100px;
54
+ `;
55
+ const ToggleWrapper = styled(motion.div)`
56
+ ${ToggleWrapperSize};
57
+
58
+ cursor: pointer;
59
+ border: 1px solid transparent;
60
+
61
+ display: flex;
62
+ align-items: center;
63
+
64
+ ${addTransition};
65
+
66
+ &:focus-visible {
67
+ outline: 1px solid ${(props) => props.theme.states.focus};
68
+ }
69
+ ${(props) => props.$isDisabled ? css`
70
+ opacity: 0.5;
71
+ ` : css`
72
+ opacity: 1;
73
+ `};
74
+
75
+ ${(props) => props.$value ? css`
76
+ background: ${props.theme.colors.toggle[props.$genre].active.rest.track};
77
+ border-color: ${props.theme.colors.toggle[props.$genre].active.rest.border};
78
+ justify-content: flex-end;
79
+ &:hover {
80
+ background: ${props.theme.colors.toggle[props.$genre].active.hover.track};
81
+ border-color: ${props.theme.colors.toggle[props.$genre].active.hover.border};
82
+ }
83
+ ` : css`
84
+ background: ${props.theme.colors.toggle[props.$genre].unActive.rest.track};
85
+ border-color: ${props.theme.colors.toggle[props.$genre].unActive.rest.border};
86
+ justify-content: flex-start;
87
+ &:hover {
88
+ background: ${props.theme.colors.toggle[props.$genre].unActive.hover.track};
89
+ border-color: ${props.theme.colors.toggle[props.$genre].unActive.hover.border};
90
+ }
91
+ `};
92
+
93
+ ${addError};
94
+ `;
95
+ const ToggleCenter = styled(motion.div)`
96
+ ${ToggleCenterSize};
97
+ ${addTransition};
98
+
99
+ ${(props) => props.$value ? css`
100
+ background: ${props.theme.colors.toggle[props.$genre].active.rest.thumb};
101
+ box-shadow: ${props.theme.colors.toggle[props.$genre].active.rest.thumbBoxShadow};
102
+ &:hover {
103
+ background: ${props.theme.colors.toggle[props.$genre].active.hover.thumb};
104
+ box-shadow: ${props.theme.colors.toggle[props.$genre].active.hover.thumbBoxShadow};
105
+ }
106
+ ` : css`
107
+ background: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumb};
108
+ box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumbBoxShadow};
109
+ &:hover {
110
+ background: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumb};
111
+ box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumbBoxShadow};
112
+ }
113
+ `}
114
+ `;
115
+ export {
116
+ Toggle as T,
117
+ ToggleWrapper as a,
118
+ ToggleCenter as b
119
+ };
120
+ //# sourceMappingURL=component.styles-CmEFZfA5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-CmEFZfA5.js","sources":["../src/components/toggle/component.tsx","../src/components/toggle/component.styles.ts"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\n\nimport { ToggleCenter, ToggleProps, ToggleWrapper } from '.'\n\nexport const Toggle = (props: ToggleProps) => {\n return (\n <AnimatePresence>\n <ToggleWrapper\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n tabIndex={0}\n onClick={() => props.onChange && props.onChange(!props.value)}\n >\n <ToggleCenter\n layout\n transition={spring}\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n />\n </ToggleWrapper>\n </AnimatePresence>\n )\n}\nconst spring = {\n type: 'spring',\n stiffness: 700,\n damping: 30\n}\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addTransition } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { IThemeSizePropertyToggle, KEY_SIZE_DATA_TOGGLE } from '@local/theme'\n\nimport { StyledToggleProps } from '.'\n\n/****************************************** Size *************************************************/\nconst ToggleWrapperSize = css<StyledToggleProps>`\n ${props => ToggleWrapperSizeConstructor(KEY_SIZE_DATA_TOGGLE[props.$size])};\n`\nconst ToggleWrapperSizeConstructor = (props: IThemeSizePropertyToggle) => css`\n height: ${props.height}px;\n width: ${props.width}px;\n padding: ${props.padding}px;\n border-radius: 100px;\n`\n\nconst ToggleCenterSize = css<StyledToggleProps>`\n ${props => ToggleCenterSizeConstructor(KEY_SIZE_DATA_TOGGLE[props.$size])};\n`\nconst ToggleCenterSizeConstructor = (props: IThemeSizePropertyToggle) => css`\n height: ${props.thumb}px;\n width: ${props.thumb}px;\n border-radius: 100px;\n`\n\n/****************************************** Standard *************************************************/\nexport const ToggleWrapper = styled(motion.div)<StyledToggleProps>`\n ${ToggleWrapperSize};\n\n cursor: pointer;\n border: 1px solid transparent;\n\n display: flex;\n align-items: center;\n\n ${addTransition};\n\n &:focus-visible {\n outline: 1px solid ${props => props.theme.states.focus};\n }\n ${props =>\n props.$isDisabled\n ? css`\n opacity: 0.5;\n `\n : css`\n opacity: 1;\n `};\n\n ${props =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.rest.border};\n justify-content: flex-end;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.hover.border};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.rest.border};\n justify-content: flex-start;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.hover.border};\n }\n `};\n\n ${addError};\n`\n\nexport const ToggleCenter = styled(motion.div)<StyledToggleProps>`\n ${ToggleCenterSize};\n ${addTransition};\n\n ${props =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.hover.thumbBoxShadow};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumbBoxShadow};\n }\n `}\n`\n"],"names":["jsx"],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),o=require("@tanstack/react-virtual"),t=require("framer-motion"),n=require("moment"),i=require("react"),r=require("./component-D1NPhRuV.cjs"),l=require("./consts.cjs.js"),s=require("./style-CtGd1JVB.cjs"),a=require("./theme.global-D6XU05Et.cjs"),u=require("styled-components"),d=require("./component.styles-BsZIuwWJ.cjs"),c=require("./style-Dm74EPGE.cjs"),p=require("./style-fRZ6xrVp.cjs"),v=require("./component.styles-BfvB83xM.cjs"),h=n=>{var l,u,d,c,p,v,h,g,$,S,C,y,w,E,j,z,L;const[I,A]=i.useState(!1),[M,V]=i.useState(!1),[B,Y]=i.useState((null==(u=null==(l=null==n?void 0:n.footer)?void 0:l.selectAll)?void 0:u.defaultValue)??!1),N=i.useRef(null),q=i.useRef(null),H=i.useRef(null),T=i.useMemo(()=>n.maxView??5,[n.maxView]),_=i.useMemo(()=>n.minView??5,[n.minView]),F=i.useMemo(()=>n.option.length,[n.option.length]),K=i.useMemo(()=>!!(null==n?void 0:n.footer),[n.footer]),Z=i.useMemo(()=>{var e;return!!(null==(e=null==n?void 0:n.footer)?void 0:e.erase)},[n.footer]),X=i.useMemo(()=>{var e;return!!(null==(e=null==n?void 0:n.footer)?void 0:e.selectAll)},[n.footer]),J=i.useMemo(()=>a.KEY_SIZE_DATA[n.size].height,[n.size]),W=i.useMemo(()=>J*(F<T?F<_?_:F:T)+(K?J:0),[J,F,T,_,K]),G=i.useMemo(()=>a.KEY_SIZE_DATA[n.size].radius,[n.size]),Q=i.useCallback(e=>B||(n.value??[]).includes(e),[B,n.value]),U=i.useCallback(e=>{var o,t;e.preventDefault(),e.stopPropagation(),(null==(t=null==(o=n.footer)?void 0:o.erase)?void 0:t.onCLick)?n.footer.erase.onCLick():n.onChange([]),Y(!1)},[n]),ee=i.useCallback(e=>{var o,t,i,r,l;if(e.preventDefault(),e.stopPropagation(),""!==(null==(o=null==n?void 0:n.inputProps)?void 0:o.value))return n.onChange(n.option);B?(Y(!1),n.onChange(n.option)):(null==(i=null==(t=n.footer)?void 0:t.selectAll)?void 0:i.onCLick)?null==(l=null==(r=n.footer)?void 0:r.selectAll)||l.onCLick():Y(!0)},[B,n]),oe=i.useCallback(()=>{var e,o;A(!1),null==(e=null==H?void 0:H.current)||e.blur(),null==(o=null==N?void 0:N.current)||o.blur()},[]),te=i.useCallback(e=>{var o;(null==n?void 0:n.isDisabled)||e.relatedTarget&&(null==(o=q.current)?void 0:o.contains(e.relatedTarget))||(n.onBlur&&e&&n.onBlur(e),oe())},[oe,n]),ne=i.useCallback(e=>{if(n.isOnClickOptionClose&&oe(),n.isMulti)if(B){const o=n.option.findIndex(o=>o.value===e.value),t=[...n.option.slice(0,o),...n.option.slice(o+1)];n.onChange(t)}else{const o=n.value.findIndex(o=>o.value===e.value);if(-1===o&&(!n.maxView||n.value.length<n.maxView)){const o=[...n.value??[],e];if(n.onChange(o),o.length==n.option.length)return Y(!0)}else if(-1!==o){const e=[...n.value.slice(0,o),...n.value.slice(o+1)];n.onChange(e)}}else n.onChange([e]);return Y(!1)},[oe,B,n]),ie=i.useCallback(()=>{V(!1),A(!0)},[]),re=i.useCallback(()=>{V(!1),A(!0)},[]),le=i.useCallback(()=>{M||I||(V(!0),re())},[re,M,I]),se=i.useCallback(e=>{(null==n?void 0:n.isDisabled)||(n.onFocus&&n.onFocus(e),le())},[le,n]);i.useEffect(()=>{I&&re()},[W]);const ae=i.useCallback(e=>{q.current&&q.current.contains(e.target)&&e.preventDefault()},[]);i.useEffect(()=>(document.addEventListener("mousedown",ae),()=>{document.removeEventListener("mousedown",ae)}),[ae]),i.useEffect(()=>{const e=e=>{q.current&&N.current&&!q.current.contains(e.target)&&!N.current.contains(e.target)&&oe()};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[oe]),i.useEffect(()=>{I&&ie()},[ie,I,n.option]);const ue=o.useVirtualizer({count:F,estimateSize:n.getEstimateSize?n.getEstimateSize:()=>J,getScrollElement:()=>q.current,overscan:1,paddingEnd:K?J:0}),de=i.useCallback(e=>{if(e){const{scrollHeight:o,scrollTop:t,clientHeight:i}=e;o-t-i<W&&!n.isFetching&&n.fetchNextPage&&n.fetchNextPage()}},[W,n]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(x,{$size:n.size,$genre:n.genre,$sx:n.sx,$radius:G,$isDisabled:null==n?void 0:n.isDisabled,$parentListHeight:I?W:0,onFocus:se,onBlur:te,ref:H,animate:{zIndex:I?"10":"auto","--after-height":I?`${W+1}px`:"0px"},transition:{duration:.2},children:[e.jsxRuntimeExports.jsx(P,{tabIndex:0,id:n.id,name:n.name,$genre:n.genre,$size:n.size,placeholder:n.placeholder,$error:null==n?void 0:n.error,$isLoading:null==(d=null==n?void 0:n.inputProps)?void 0:d.isLoading,$isNiceNumber:null==(c=null==n?void 0:n.inputProps)?void 0:c.isNiceNumber,$postfixChildren:null==(p=null==n?void 0:n.inputProps)?void 0:p.postfixChildren,$prefixChildren:null==(v=n.inputProps)?void 0:v.prefixChildren,$isBold:null==(h=null==n?void 0:n.inputProps)?void 0:h.isBold,$isCenter:null==(g=null==n?void 0:n.inputProps)?void 0:g.isCenter,$sx:null==($=null==n?void 0:n.inputProps)?void 0:$.sx,disabled:null==n?void 0:n.isDisabled,$isDisabled:null==n?void 0:n.isDisabled,readOnly:null==(S=null==n?void 0:n.inputProps)?void 0:S.isReadOnly,required:null==(C=null==n?void 0:n.inputProps)?void 0:C.isRequired,defaultValue:null==(y=null==n?void 0:n.inputProps)?void 0:y.defaultValue,value:(null==(w=null==n?void 0:n.inputProps)?void 0:w.value)??"",type:null==(E=null==n?void 0:n.inputProps)?void 0:E.type,onChange:e=>{var o,t;return(null==(o=null==n?void 0:n.inputProps)?void 0:o.onChange)&&(null==(t=null==n?void 0:n.inputProps)?void 0:t.onChange(e.target.value))},onBlur:null==(j=null==n?void 0:n.inputProps)?void 0:j.onBlur,onFocus:null==(z=null==n?void 0:n.inputProps)?void 0:z.onFocus,onClick:le,animate:{borderBottomLeftRadius:I?"0px":`${G}px`,borderBottomRightRadius:I?"0px":`${G}px`},transition:{duration:.2},ref:N}),n.isShowSelectInputIcon&&e.jsxRuntimeExports.jsx(k,{size:n.size,type:"id",name:"Select",$genre:n.genre,$checked:I,$size:n.size,tabIndex:-1}),e.jsxRuntimeExports.jsx(t.AnimatePresence,{children:I?e.jsxRuntimeExports.jsx(f,{ref:q,$genre:n.genre,$isShowScroll:F>T,$isFooter:K,$size:n.size,onScroll:e=>de(e.target),initial:{opacity:0,height:0},animate:{height:`${W+1}px`,display:"flex",opacity:1,zIndex:"1"},exit:{height:"0px",display:"none",opacity:0,zIndex:"auto"},transition:{duration:.2},style:{maxHeight:`${W+1}px`},children:e.jsxRuntimeExports.jsxs(b,{style:{height:`${ue.getTotalSize()}px`,minHeight:`${W}px`},children:[n.isEmptyOption?e.jsxRuntimeExports.jsx(m,{isNotShowHoverStyle:!0,checked:!1,onClick:()=>{},virtualRowSize:(null==(L=null==n?void 0:n.getEstimateSize)?void 0:L.call(n,0))??J,virtualRowStart:0,label:n.labelEmptyOption??"No options",genre:n.genre,size:n.size,...n.optionProps,isShowDropdownOptionIcon:n.isShowDropdownOptionIcon},0):ue.getVirtualItems().map(o=>{const t=n.option[o.index],i=Q(t);return e.jsxRuntimeExports.jsx(m,{checked:i,onClick:()=>ne(t),virtualRowSize:o.size,virtualRowStart:o.start,label:t.label,genre:n.genre,size:n.size,isShowDropdownOptionIcon:n.isShowDropdownOptionIcon,...n.optionProps},o.index)}),K&&e.jsxRuntimeExports.jsxs(O,{$isErase:Z,$isSelectAll:X,$genre:n.genre,$size:n.size,children:[n.footer.selectAll&&e.jsxRuntimeExports.jsx(D,{children:e.jsxRuntimeExports.jsx(r.Button,{isFullSize:!0,genre:n.genre,onClick:ee,size:"medium",isHiddenBorder:!0,children:n.footer.selectAll.label})}),n.footer.erase&&e.jsxRuntimeExports.jsx(R,{children:e.jsxRuntimeExports.jsx(r.Button,{isFullSize:!0,genre:n.genre,onClick:U,size:"medium",isHiddenBorder:!0,children:n.footer.erase.label})})]})]})}):null})]}),(null==n?void 0:n.error)?e.jsxRuntimeExports.jsx(s.ErrorMessage,{...n.error,size:(null==n?void 0:n.error.size)??n.size}):null]})},m=i.memo(o=>e.jsxRuntimeExports.jsx(S,{tabIndex:0,onClick:o.onClick,onKeyDown:e=>{"Enter"===e.key&&o.onClick()},$error:o.error,$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$isLoading:o.isLoading,$postfixChildren:o.postfixChildren,$prefixChildren:o.prefixChildren,$genre:o.genre,$size:o.size,$isBold:o.isBold,$checked:o.checked,style:{height:`${o.virtualRowSize}px`,transform:`translateY(${o.virtualRowStart}px)`},children:e.jsxRuntimeExports.jsxs("div",{style:{position:"relative",display:"contents"},tabIndex:-1,"aria-hidden":"true","aria-readonly":"true",children:[o.label,o.isShowDropdownOptionIcon&&e.jsxRuntimeExports.jsx(z,{tabIndex:-1,size:o.size,type:"checkbox",name:"Arrow",$genre:o.genre,$checked:o.checked,$size:o.size}),e.jsxRuntimeExports.jsx(w,{$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$isBold:o.isBold,$checked:o.checked})]})})),x=u(t.motion.div)`
2
+ width: 100%;
3
+ position: relative;
4
+ height: fit-content;
5
+ ${e=>!e.$isDisabled&&u.css`
6
+ &:focus-within {
7
+ &:after {
8
+ content: '';
9
+ position: absolute;
10
+ top: -1px;
11
+ left: -1px;
12
+ bottom: -1px;
13
+ right: -1px;
14
+ outline: 2px ${e.theme.states.focus} solid;
15
+ outline-offset: 1px;
16
+ border-radius: ${`${e.$radius+1}px`};
17
+ pointer-events: none;
18
+ height: calc(100% + var(--after-height) + 2px);
19
+ }
20
+ }
21
+ `}
22
+
23
+ outline: none !important;
24
+
25
+ &:focus-visible {
26
+ outline: none !important;
27
+ }
28
+ ${p.addSX};
29
+ `,g=u.css`
30
+ ${e=>e.$size&&$(a.KEY_SIZE_DATA[e.$size])};
31
+ `,$=e=>u.css`
32
+ border-radius: 0px 0px ${e.radius}px ${e.radius}px;
33
+ `,f=u(t.motion.div)`
34
+ outline: none;
35
+ display: none;
36
+
37
+ height: 0px;
38
+ width: 100%;
39
+
40
+ position: absolute;
41
+
42
+ overflow: hidden;
43
+ overflow-y: auto;
44
+
45
+ margin: 0;
46
+ padding: 0;
47
+
48
+ background: ${e=>e.theme.colors.input[e.$genre].background.rest};
49
+ border: solid 1px ${e=>e.theme.colors.input[e.$genre].border.rest};
50
+ border-top: 0px !important;
51
+ ${g};
52
+ ${e=>!e.$isShowScroll&&c.addRemoveScrollbar};
53
+ `,b=u.ul`
54
+ list-style: none;
55
+
56
+ position: relative;
57
+
58
+ display: flex;
59
+ flex-direction: column;
60
+
61
+ width: 100%;
62
+
63
+ transform: translateZ(0);
64
+ `,S=u.li`
65
+ ${d.StyledInputCSS};
66
+ width: 100%;
67
+ border: 0px;
68
+ display: flex;
69
+ align-items: center;
70
+ border-radius: 0;
71
+ opacity: 1;
72
+ ${c.addRemoveOutline};
73
+ ${c.addBorder};
74
+ &:last-child {
75
+ border-radius: 0px 0px ${e=>a.KEY_SIZE_DATA[e.$size].radius}px
76
+ ${e=>a.KEY_SIZE_DATA[e.$size].radius}px;
77
+ }
78
+ cursor: pointer;
79
+ position: absolute;
80
+ top: 0;
81
+ left: 0;
82
+ `,C=u.css`
83
+ ${e=>y(a.KEY_SIZE_DATA[e.$size])};
84
+ `,y=e=>u.css`
85
+ width: calc(100% - ${e.padding-6}px);
86
+ height: calc(100% - ${e.padding-4}px);
87
+ border-radius: ${e.radius}px;
88
+ `,w=u.div`
89
+ position: absolute;
90
+ width: 100%;
91
+ height: 100%;
92
+ margin-left: auto;
93
+ margin-right: auto;
94
+ left: 0;
95
+ right: 0;
96
+ ${C};
97
+ border-style: solid;
98
+ border-width: 1px;
99
+ border-color: transparent;
100
+
101
+ ${c.addTransition};
102
+
103
+ ${e=>!e.$isNotShowHoverStyle&&u.css`
104
+ &:hover {
105
+ background: ${e.theme.colors.select[e.$genre].background.select};
106
+ color: ${e.theme.colors.select[e.$genre].color.select};
107
+ }
108
+ `}
109
+ ${e=>e.$checked&&u.css`
110
+ background: ${e.theme.colors.select[e.$genre].background.select};
111
+ border-color: ${e.theme.colors.select[e.$genre].border.select};
112
+ color: ${e.theme.colors.select[e.$genre].color.select};
113
+ `}
114
+ `,E=u.css`
115
+ ${e=>j(a.KEY_SIZE_DATA[e.$size])};
116
+ `,j=e=>u.css`
117
+ right: ${e.padding-6}px;
118
+ height: ${e.height}px;
119
+ `,z=u(v.Icon)`
120
+ position: absolute;
121
+ right: 0;
122
+ height: 100%;
123
+ align-items: center;
124
+ ${E};
125
+ color: ${e=>e.$checked?e.theme.colors.select[e.$genre].border.select:e.theme.colors.input[e.$genre].border.rest};
126
+ `,k=u(v.Icon)`
127
+ position: absolute;
128
+ user-select: none;
129
+ pointer-events: none;
130
+ right: 0;
131
+ top: 0;
132
+ align-items: center;
133
+ ${E};
134
+ color: ${e=>e.$checked?e.theme.colors.select[e.$genre].border.select:e.theme.colors.input[e.$genre].border.rest};
135
+ `,O=u.li`
136
+ ${d.StyledInputCSS};
137
+ display: flex;
138
+ align-items: center;
139
+ border-radius: 0;
140
+ opacity: 1;
141
+ border: 0px;
142
+ cursor: pointer;
143
+ position: sticky;
144
+ bottom: 0;
145
+ padding: 0px;
146
+ flex-shrink: 0;
147
+ margin-top: auto;
148
+ `,R=u.div`
149
+ margin-left: auto;
150
+ height: 100%;
151
+ `,D=u.div`
152
+ margin-right: auto;
153
+ height: 100%;
154
+ `,P=u(d.StyledMotionInput)`
155
+ ${c.addRemoveOutline};
156
+ ${p.addSX};
157
+ `;exports.ContainerDropdownOption=m,exports.DropdownErase=R,exports.DropdownFooter=O,exports.DropdownList=b,exports.DropdownListParent=f,exports.DropdownListParentSize=g,exports.DropdownListParentSizeConstructor=$,exports.DropdownOption=S,exports.DropdownOptionHoverAndCheckedSize=C,exports.DropdownOptionHoverAndCheckedSizeConstructor=y,exports.DropdownOptionIcon=z,exports.DropdownOptionLayout=w,exports.DropdownSelectAll=D,exports.Select=h,exports.SelectInputIcon=k,exports.SelectLanguage=o=>{const t=l.ListLanguage,[n,r]=i.useState(t),[s,a]=i.useState(""),[u,d]=i.useState(!1),c=i.useCallback(e=>{if(a(e),o.onChange(""),""===e)d(0===t.length),r(t);else{const o=t.filter(o=>Object.values(o).some(o=>null==o?void 0:o.toString().toLowerCase().includes(e.toLowerCase())));r(o),d(0===o.length)}},[t,o]),[p,v]=i.useState(t.find(e=>e.value===o.value));return i.useEffect(()=>{(null==p?void 0:p.value)!==o.value&&v(t.find(e=>e.value===o.value))},[t,o.value]),e.jsxRuntimeExports.jsx(h,{...o,option:n,isEmptyOption:u,minView:1,maxView:8,isOnClickOptionClose:!0,value:p?[p]:[],onChange:e=>{var t;o.onChange(null==(t=e[0])?void 0:t.value.toString()),a("")},inputProps:{...o.inputProps,variety:"standard",isReadOnly:!0,value:(null==p?void 0:p.placeholder)??s,onChange:c}})},exports.SelectMapTheme=o=>{const t=i.useMemo(()=>l.MapThemeList,[]),n=i.useMemo(()=>l.MapThemeList.map(e=>({label:e.name,value:e.name,placeholder:e.name})),[]),[r,s]=i.useState(n),[a,u]=i.useState(""),[d,c]=i.useState(!1),p=i.useCallback(e=>{if(u(e),o.onChange(null),""===e)c(0===n.length),s(n);else{const o=n.filter(o=>Object.values(o).some(o=>null==o?void 0:o.toString().toLowerCase().includes(e.toLowerCase())));s(o),c(0===o.length)}},[n,o]),[v,m]=i.useState(n.find(e=>e.value===o.value.name));return i.useEffect(()=>{(null==v?void 0:v.value)!==o.value.name&&m(n.find(e=>e.value===o.value.name))},[t,o.value]),e.jsxRuntimeExports.jsx(h,{...o,option:r,isEmptyOption:d,minView:1,maxView:8,isOnClickOptionClose:!0,value:v?[v]:[],onChange:e=>{const n=t.find(o=>o.name===e[0].value);n?o.onChange(n):o.onChange(null),u("")},inputProps:{...o.inputProps,variety:"standard",isReadOnly:!0,value:(null==v?void 0:v.placeholder)??a,onChange:p}})},exports.SelectMonth=o=>{const{value:t,onChange:r,startDate:l,endDate:s,monthsLocale:a,isShortLabel:u}=o,d=n(t).utc().year(),c=i.useMemo(()=>a.map(e=>{const o=n().month(e.value).month(),t=n.utc().year(d).month(o).startOf("month"),i=l&&t.isBefore(n.utc(l),"month")||s&&t.isAfter(n.utc(s),"month");return{value:t.valueOf(),label:u?e.localeShort:e.localeLong,placeholder:u?e.localeShort:e.localeLong,search:`${e.localeLong.toLowerCase()}, ${o+1}`,isDisabled:i,monthValue:e.value}}),[a,d,l,s,u]),p=i.useMemo(()=>c.find(e=>n(t).utc().isSameOrAfter(n(e.value).startOf("month"))&&n(t).utc().isBefore(n(e.value).endOf("month"))),[c,t]);return e.jsxRuntimeExports.jsx(h,{...o,option:c.filter(e=>!e.isDisabled),minView:1,maxView:5,isOnClickOptionClose:!0,value:p?[p]:[],onChange:e=>{var o,i;const l=Number(null==(o=e[0])?void 0:o.value),s=n(null==(i=e[0])?void 0:i.value).utc().month(),a=n(t).utc(),u=a.year(),d=a.date(),c=n().utc().year(u).month(s).date(d).startOf("day");c.isValid()?r(c.valueOf()):r(l)},inputProps:{...o.inputProps,isCenter:!0,variety:"standard",value:(null==p?void 0:p.placeholder)??o.placeholder,isReadOnly:!0}})},exports.SelectStyledInput=P,exports.SelectWrapper=x,exports.SelectYear=o=>{const{value:t,onChange:r,startDate:l,endDate:s,sortOrder:a="desc"}=o,u=n(l).utc().year(),d=n(s).utc().year(),c=i.useMemo(()=>{const e=Array.from({length:d-u+1},(e,o)=>{const t=u+o;return{value:n().year(t).utc().startOf("year").valueOf(),label:n().year(t).utc().format("YYYY"),placeholder:n().year(t).utc().format("YYYY"),search:`${n().year(t).utc().format("YYYY").toLowerCase()}`}});return"asc"===a?e.sort((e,o)=>e.value-o.value):e.sort((e,o)=>o.value-e.value)},[d,u,a]),p=i.useMemo(()=>c.find(e=>n(t).utc().isSameOrAfter(n(e.value))&&n(t).utc().isBefore(n(e.value).endOf("year"))),[c,t]);return e.jsxRuntimeExports.jsx(h,{...o,option:c,minView:1,maxView:5,isOnClickOptionClose:!0,value:p?[p]:[],onChange:e=>{var o,i;const l=Number(null==(o=e[0])?void 0:o.value),s=n(null==(i=e[0])?void 0:i.value).utc().year(),a=n(t).utc(),u=a.month(),d=a.date(),c=n().utc().year(s).month(u).date(d).startOf("day");c.isValid()?r(c.valueOf()):r(l)},optionProps:{isCenter:!0,variety:"standard",...o.optionProps},inputProps:{...o.inputProps,isCenter:!0,isNiceNumber:!0,variety:"standard",value:(null==p?void 0:p.placeholder)??o.placeholder,isReadOnly:!0}})};
158
+ //# sourceMappingURL=component.styles-DHIw8p8e.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-DHIw8p8e.cjs","sources":["../src/components/select/component.tsx","../src/components/select/component.styles.ts"],"sourcesContent":["import { useVirtualizer } from '@tanstack/react-virtual'\nimport { AnimatePresence } from 'framer-motion'\nimport moment from 'moment'\nimport React, { FC, FocusEventHandler, ReactNode, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { Button } from '@local/components/button'\nimport { InputChildrenProps } from '@local/components/input'\nimport { ListLanguage, MapThemeList } from '@local/consts'\nimport { ErrorMessage, addErrorProps } from '@local/styles/error'\nimport { IThemeGenreInput, IThemeSize, KEY_SIZE_DATA } from '@local/theme'\n\nimport {\n DropdownErase,\n DropdownFooter,\n DropdownList,\n DropdownListParent,\n DropdownOption,\n DropdownOptionIcon,\n DropdownOptionLayout,\n DropdownSelectAll,\n ISelectItem,\n ISelectLanguageOption,\n ISelectMapThemeOption,\n SelectDateProps,\n SelectInputIcon,\n SelectLanguageProps,\n SelectMapThemeProps,\n SelectProps,\n SelectStyledInput,\n SelectWrapper,\n SelectYearProps\n} from '.'\n\nconst DEFAULT_MAX_VIEW = 5\nconst DEFAULT_MIN_VIEW = 5\nconst DEFAULT_OVERSCAN = 1\nconst DEFAULT_LABEL_EMPTY_OPTION = 'No options'\n\nexport const Select = <T extends object & ISelectItem>(props: SelectProps<T>) => {\n const [isOpen, setIsOpen] = useState(false)\n const [isAnimating, setIsAnimating] = useState(false)\n const [isAll, setIsAll] = useState(props?.footer?.selectAll?.defaultValue ?? false)\n const refInput = useRef<HTMLInputElement>(null)\n const parentListRef = useRef<HTMLDivElement>(null)\n const wrapperRef = useRef<HTMLDivElement>(null)\n\n const maxViewLength = useMemo(() => props.maxView ?? DEFAULT_MAX_VIEW, [props.maxView])\n const minViewLength = useMemo(() => props.minView ?? DEFAULT_MIN_VIEW, [props.minView])\n const optionsLength = useMemo(() => props.option.length, [props.option.length])\n const isFooter: boolean = useMemo(() => !!props?.footer, [props.footer])\n const isErase: boolean = useMemo(() => !!props?.footer?.erase, [props.footer])\n const isSelectAll: boolean = useMemo(() => !!props?.footer?.selectAll, [props.footer])\n const sizeHeight = useMemo(() => KEY_SIZE_DATA[props.size].height, [props.size])\n const height = useMemo(\n () =>\n sizeHeight *\n (optionsLength < maxViewLength\n ? optionsLength < minViewLength\n ? minViewLength\n : optionsLength\n : maxViewLength) +\n (isFooter ? sizeHeight : 0),\n [sizeHeight, optionsLength, maxViewLength, minViewLength, isFooter]\n )\n\n const radius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size])\n\n const isSelectedItem = useCallback(\n (option: T): boolean => {\n return isAll || (props.value ?? []).includes(option)\n },\n [isAll, props.value]\n )\n\n const handleEraseOnClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n event.preventDefault()\n event.stopPropagation()\n if (props.footer?.erase?.onCLick) {\n props.footer.erase.onCLick()\n } else {\n props.onChange([])\n }\n setIsAll(false)\n },\n [props]\n )\n\n const handleSelectAllOnClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n event.preventDefault()\n event.stopPropagation()\n if (props?.inputProps?.value !== '') {\n return props.onChange(props.option)\n }\n if (isAll) {\n setIsAll(false)\n props.onChange(props.option)\n } else {\n if (props.footer?.selectAll?.onCLick) {\n props.footer?.selectAll?.onCLick()\n } else {\n setIsAll(true)\n }\n }\n },\n [isAll, props]\n )\n\n const handleOnBlurEasy = useCallback(() => {\n setIsOpen(false)\n wrapperRef?.current?.blur()\n refInput?.current?.blur()\n }, [])\n\n const handleOnBlur: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n if (props?.isDisabled) return\n if (event.relatedTarget && parentListRef.current?.contains(event.relatedTarget as Node)) return\n if (props.onBlur && event) props.onBlur(event)\n handleOnBlurEasy()\n },\n [handleOnBlurEasy, props]\n )\n\n const handleOptionOnClick = useCallback(\n (option: T) => {\n if (props.isOnClickOptionClose) {\n handleOnBlurEasy()\n }\n if (props.isMulti) {\n if (isAll) {\n const index = props.option.findIndex(selectedItems => selectedItems.value === option.value)\n const newValue = [...props.option.slice(0, index), ...props.option.slice(index + 1)]\n props.onChange(newValue)\n } else {\n const index = props.value.findIndex(selectedItems => selectedItems.value === option.value)\n\n if (index === -1 && (!props.maxView || props.value.length < props.maxView)) {\n const newValues = [...(props.value ?? []), option]\n props.onChange(newValues)\n\n if (newValues.length == props.option.length) {\n return setIsAll(true)\n }\n } else if (index !== -1) {\n const newValue = [...props.value.slice(0, index), ...props.value.slice(index + 1)]\n props.onChange(newValue)\n }\n }\n } else {\n props.onChange([option])\n }\n\n return setIsAll(false)\n },\n [handleOnBlurEasy, isAll, props]\n )\n\n const handleListOptionOpenEffect = useCallback(() => {\n setIsAnimating(false)\n setIsOpen(true)\n }, [])\n\n const handleOnOpen = useCallback(() => {\n setIsAnimating(false)\n setIsOpen(true)\n }, [])\n\n const handleOnFocusEasy = useCallback(() => {\n if (isAnimating) return\n if (isOpen) return\n\n setIsAnimating(true)\n\n handleOnOpen()\n }, [handleOnOpen, isAnimating, isOpen])\n\n const handleOnFocus: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n if (props?.isDisabled) return\n if (props.onFocus) props.onFocus(event)\n handleOnFocusEasy()\n },\n [handleOnFocusEasy, props]\n )\n\n useEffect(() => {\n if (isOpen) handleOnOpen()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [height])\n\n const handleMouseDown = useCallback((event: MouseEvent) => {\n if (parentListRef.current && parentListRef.current.contains(event.target as Node)) {\n event.preventDefault()\n }\n }, [])\n\n useEffect(() => {\n document.addEventListener('mousedown', handleMouseDown)\n return () => {\n document.removeEventListener('mousedown', handleMouseDown)\n }\n }, [handleMouseDown])\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n parentListRef.current &&\n refInput.current &&\n !parentListRef.current.contains(event.target as Node) &&\n !refInput.current.contains(event.target as Node)\n ) {\n handleOnBlurEasy()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [handleOnBlurEasy])\n\n useEffect(() => {\n if (isOpen) {\n handleListOptionOpenEffect()\n }\n }, [handleListOptionOpenEffect, isOpen, props.option])\n\n const listVirtualizer = useVirtualizer({\n count: optionsLength,\n estimateSize: props.getEstimateSize ? props.getEstimateSize : () => sizeHeight,\n getScrollElement: () => parentListRef.current,\n overscan: DEFAULT_OVERSCAN,\n paddingEnd: isFooter ? sizeHeight : 0\n })\n\n const handleFetchNextPage = useCallback(\n (containerRefElement?: HTMLDivElement | null) => {\n if (containerRefElement) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement\n if (scrollHeight - scrollTop - clientHeight < height && !props.isFetching && props.fetchNextPage) {\n props.fetchNextPage()\n }\n }\n },\n [height, props]\n )\n\n return (\n <>\n <SelectWrapper\n $size={props.size}\n $genre={props.genre}\n $sx={props.sx}\n // tabIndex={0}\n $radius={radius}\n $isDisabled={props?.isDisabled}\n $parentListHeight={isOpen ? height : 0}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n ref={wrapperRef}\n animate={{\n zIndex: isOpen ? '10' : 'auto',\n '--after-height': isOpen ? `${height + 1}px` : `0px`\n }}\n transition={{ duration: 0.2 }}\n >\n <SelectStyledInput\n tabIndex={0}\n id={props.id}\n name={props.name}\n $genre={props.genre}\n $size={props.size}\n placeholder={props.placeholder}\n $error={props?.error}\n $isLoading={props?.inputProps?.isLoading}\n $isNiceNumber={props?.inputProps?.isNiceNumber}\n $postfixChildren={props?.inputProps?.postfixChildren}\n $prefixChildren={props.inputProps?.prefixChildren}\n $isBold={props?.inputProps?.isBold}\n $isCenter={props?.inputProps?.isCenter}\n $sx={props?.inputProps?.sx}\n disabled={props?.isDisabled}\n $isDisabled={props?.isDisabled}\n readOnly={props?.inputProps?.isReadOnly}\n required={props?.inputProps?.isRequired}\n defaultValue={props?.inputProps?.defaultValue}\n value={props?.inputProps?.value ?? ''}\n type={props?.inputProps?.type}\n onChange={event => props?.inputProps?.onChange && props?.inputProps?.onChange(event.target.value)}\n onBlur={props?.inputProps?.onBlur}\n onFocus={props?.inputProps?.onFocus}\n onClick={handleOnFocusEasy}\n animate={{\n borderBottomLeftRadius: isOpen ? `0px` : `${radius}px`,\n borderBottomRightRadius: isOpen ? `0px` : `${radius}px`\n }}\n transition={{ duration: 0.2 }}\n ref={refInput}\n />\n {props.isShowSelectInputIcon && (\n <SelectInputIcon\n size={props.size}\n type=\"id\"\n name=\"Select\"\n $genre={props.genre}\n $checked={isOpen}\n $size={props.size}\n tabIndex={-1}\n />\n )}\n <AnimatePresence>\n {isOpen ? (\n <DropdownListParent\n ref={parentListRef}\n $genre={props.genre}\n $isShowScroll={optionsLength > maxViewLength}\n $isFooter={isFooter}\n $size={props.size}\n onScroll={e => handleFetchNextPage(e.target as HTMLDivElement)}\n initial={{ opacity: 0, height: 0 }}\n animate={{\n height: `${height + 1}px`,\n display: 'flex',\n opacity: 1,\n zIndex: '1'\n }}\n exit={{\n height: '0px',\n display: 'none',\n opacity: 0,\n zIndex: 'auto'\n }}\n transition={{ duration: 0.2 }}\n style={{\n maxHeight: `${height + 1}px`\n }}\n >\n <DropdownList\n style={{\n height: `${listVirtualizer.getTotalSize()}px`,\n minHeight: `${height}px`\n }}\n >\n {!props.isEmptyOption ? (\n listVirtualizer.getVirtualItems().map(virtualRow => {\n const item = props.option[virtualRow.index]\n const checked = isSelectedItem(item)\n return (\n <ContainerDropdownOption\n checked={checked}\n onClick={() => handleOptionOnClick(item)}\n key={virtualRow.index}\n virtualRowSize={virtualRow.size}\n virtualRowStart={virtualRow.start}\n label={item.label}\n genre={props.genre}\n size={props.size}\n isShowDropdownOptionIcon={props.isShowDropdownOptionIcon}\n {...props.optionProps}\n />\n )\n })\n ) : (\n <ContainerDropdownOption\n isNotShowHoverStyle\n checked={false}\n onClick={() => {}}\n key={0}\n virtualRowSize={props?.getEstimateSize?.(0) ?? sizeHeight}\n virtualRowStart={0}\n label={props.labelEmptyOption ?? DEFAULT_LABEL_EMPTY_OPTION}\n genre={props.genre}\n size={props.size}\n {...props.optionProps}\n isShowDropdownOptionIcon={props.isShowDropdownOptionIcon}\n />\n )}\n {isFooter && (\n <DropdownFooter $isErase={isErase} $isSelectAll={isSelectAll} $genre={props.genre} $size={props.size}>\n {props.footer!.selectAll && (\n <DropdownSelectAll>\n <Button\n isFullSize\n genre={props.genre}\n onClick={handleSelectAllOnClick}\n size={'medium'}\n isHiddenBorder\n >\n {props.footer!.selectAll.label}\n </Button>\n </DropdownSelectAll>\n )}\n {props.footer!.erase && (\n <DropdownErase>\n <Button\n isFullSize\n genre={props.genre}\n onClick={handleEraseOnClick}\n size={'medium'}\n isHiddenBorder\n >\n {props.footer!.erase.label}\n </Button>\n </DropdownErase>\n )}\n </DropdownFooter>\n )}\n </DropdownList>\n </DropdownListParent>\n ) : null}\n </AnimatePresence>\n </SelectWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n\nconst ContainerDropdownOptionComponent = (\n params: addErrorProps & {\n genre: keyof IThemeGenreInput\n size: IThemeSize\n onClick: () => void\n isLoading?: boolean\n isNotShowHoverStyle?: boolean\n isShowDropdownOptionIcon?: boolean\n isBold?: boolean\n isCenter?: boolean\n postfixChildren?: InputChildrenProps\n prefixChildren?: InputChildrenProps\n checked: boolean\n virtualRowSize: number\n virtualRowStart: number\n label: ReactNode\n }\n) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter') {\n params.onClick()\n }\n }\n return (\n <DropdownOption\n tabIndex={0}\n onClick={params.onClick}\n onKeyDown={handleKeyDown}\n $error={params.error}\n $isCenter={params.isCenter}\n $isNotShowHoverStyle={params.isNotShowHoverStyle}\n $isLoading={params.isLoading}\n $postfixChildren={params.postfixChildren}\n $prefixChildren={params.prefixChildren}\n $genre={params.genre}\n $size={params.size}\n $isBold={params.isBold}\n $checked={params.checked}\n style={{\n height: `${params.virtualRowSize}px`,\n transform: `translateY(${params.virtualRowStart}px)`\n }}\n >\n <div style={{ position: 'relative', display: 'contents' }} tabIndex={-1} aria-hidden=\"true\" aria-readonly=\"true\">\n {params.label}\n {params.isShowDropdownOptionIcon && (\n <DropdownOptionIcon\n tabIndex={-1}\n size={params.size}\n type=\"checkbox\"\n name=\"Arrow\"\n $genre={params.genre}\n $checked={params.checked}\n $size={params.size}\n />\n )}\n <DropdownOptionLayout\n $isNotShowHoverStyle={params.isNotShowHoverStyle}\n $genre={params.genre}\n $size={params.size}\n $isBold={params.isBold}\n $checked={params.checked}\n />\n </div>\n </DropdownOption>\n )\n}\n\nexport const ContainerDropdownOption = memo(ContainerDropdownOptionComponent)\n\nexport const SelectLanguage: FC<SelectLanguageProps> = props => {\n const option = ListLanguage\n\n const [viewOption, setViewOption] = useState<ISelectLanguageOption[]>(option)\n const [query, setQuery] = useState<string>('')\n const [isEmptyOption, setIsEmptyOption] = useState<boolean>(false)\n\n const handleSelectChange = (option: ISelectLanguageOption[]) => {\n props.onChange(option[0]?.value.toString())\n setQuery('')\n }\n const handleQueryChange = useCallback(\n (value: string) => {\n setQuery(value)\n props.onChange('')\n if (value === '') {\n setIsEmptyOption(option.length === 0)\n setViewOption(option)\n } else {\n const filteredOptions = option.filter(option =>\n Object.values(option).some(field => field?.toString().toLowerCase().includes(value.toLowerCase()))\n )\n setViewOption(filteredOptions)\n setIsEmptyOption(filteredOptions.length === 0)\n }\n },\n [option, props]\n )\n\n const [value, setValue] = useState<ISelectLanguageOption | undefined>(option.find(e => e.value === props.value))\n useEffect(() => {\n if (value?.value !== props.value) setValue(option.find(e => e.value === props.value))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [option, props.value])\n\n return (\n <Select<ISelectLanguageOption>\n {...props}\n option={viewOption}\n isEmptyOption={isEmptyOption}\n minView={1}\n maxView={8}\n isOnClickOptionClose\n value={value ? [value] : []}\n onChange={handleSelectChange}\n inputProps={{\n ...props.inputProps,\n variety: 'standard',\n isReadOnly: true,\n value: (value?.placeholder as string) ?? query,\n onChange: handleQueryChange\n }}\n />\n )\n}\n\nexport const SelectMonth: FC<SelectDateProps> = props => {\n const { value, onChange, startDate, endDate, monthsLocale, isShortLabel } = props\n\n const year = moment(value).utc().year()\n\n const months = useMemo(() => {\n return monthsLocale.map(monthItem => {\n const monthIndex = moment().month(monthItem.value).month()\n\n const monthMoment = moment.utc().year(year).month(monthIndex).startOf('month')\n const isDisabled =\n (startDate && monthMoment.isBefore(moment.utc(startDate), 'month')) ||\n (endDate && monthMoment.isAfter(moment.utc(endDate), 'month'))\n\n return {\n value: monthMoment.valueOf(),\n label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n placeholder: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n search: `${monthItem.localeLong.toLowerCase()}, ${monthIndex + 1}`,\n isDisabled,\n monthValue: monthItem.value\n }\n })\n }, [monthsLocale, year, startDate, endDate, isShortLabel])\n\n const handleSelectChange = (option: ISelectLanguageOption[]) => {\n const selectedValue = Number(option[0]?.value)\n\n const selectedMonthValue = moment(option[0]?.value).utc().month()\n\n const currentMoment = moment(value).utc()\n const currentYear = currentMoment.year()\n const currentDay = currentMoment.date()\n\n const newValue = moment().utc().year(currentYear).month(selectedMonthValue).date(currentDay).startOf('day')\n\n if (newValue.isValid()) {\n onChange(newValue.valueOf())\n } else {\n onChange(selectedValue)\n }\n }\n\n const selectedMonth = useMemo(() => {\n return months.find(\n month =>\n moment(value).utc().isSameOrAfter(moment(month.value).startOf('month')) &&\n moment(value).utc().isBefore(moment(month.value).endOf('month'))\n )\n }, [months, value])\n\n return (\n <Select<ISelectLanguageOption>\n {...props}\n option={months.filter(e => !e.isDisabled)}\n minView={1}\n maxView={5}\n isOnClickOptionClose\n value={selectedMonth ? [selectedMonth] : []}\n onChange={handleSelectChange}\n inputProps={{\n ...props.inputProps,\n isCenter: true,\n variety: 'standard',\n value: selectedMonth?.placeholder ?? props.placeholder,\n isReadOnly: true\n }}\n />\n )\n}\n\nexport const SelectYear: FC<SelectYearProps> = props => {\n const { value, onChange, startDate, endDate, sortOrder = 'desc' } = props\n\n const startYear = moment(startDate).utc().year()\n const endYear = moment(endDate).utc().year()\n\n const years = useMemo(() => {\n const yearArray = Array.from({ length: endYear - startYear + 1 }, (_, index) => {\n const year = startYear + index\n return {\n value: moment().year(year).utc().startOf('year').valueOf(),\n label: moment().year(year).utc().format('YYYY'),\n placeholder: moment().year(year).utc().format('YYYY'),\n search: `${moment().year(year).utc().format('YYYY').toLowerCase()}`\n }\n })\n\n return sortOrder === 'asc'\n ? yearArray.sort((a, b) => a.value - b.value)\n : yearArray.sort((a, b) => b.value - a.value)\n }, [endYear, startYear, sortOrder])\n\n const handleSelectChange = (option: ISelectLanguageOption[]) => {\n const selectedValue = Number(option[0]?.value)\n\n const selectedYearValue = moment(option[0]?.value).utc().year()\n\n const currentMoment = moment(value).utc()\n const currentMonth = currentMoment.month()\n const currentDay = currentMoment.date()\n\n const newValue = moment().utc().year(selectedYearValue).month(currentMonth).date(currentDay).startOf('day')\n\n if (newValue.isValid()) {\n onChange(newValue.valueOf())\n } else {\n onChange(selectedValue)\n }\n }\n\n const selectedYear = useMemo(() => {\n return years.find(\n year =>\n moment(value).utc().isSameOrAfter(moment(year.value)) &&\n moment(value).utc().isBefore(moment(year.value).endOf('year'))\n )\n }, [years, value])\n return (\n <Select<ISelectLanguageOption>\n {...props}\n option={years}\n minView={1}\n maxView={5}\n isOnClickOptionClose\n value={selectedYear ? [selectedYear] : []}\n onChange={handleSelectChange}\n optionProps={{\n isCenter: true,\n variety: 'standard',\n ...props.optionProps\n }}\n inputProps={{\n ...props.inputProps,\n isCenter: true,\n isNiceNumber: true,\n variety: 'standard',\n value: selectedYear?.placeholder ?? props.placeholder,\n isReadOnly: true\n }}\n />\n )\n}\n\nexport const SelectMapTheme: FC<SelectMapThemeProps> = props => {\n const options = useMemo(() => MapThemeList, [])\n const optionsNormalize = useMemo(\n () => MapThemeList.map(e => ({ label: e.name, value: e.name, placeholder: e.name })),\n []\n )\n\n const [viewOption, setViewOption] = useState<ISelectMapThemeOption[]>(optionsNormalize)\n const [query, setQuery] = useState<string>('')\n const [isEmptyOption, setIsEmptyOption] = useState<boolean>(false)\n\n const handleSelectChange = (option: ISelectMapThemeOption[]) => {\n const findOption = options.find(e => e.name === option[0].value)\n if (findOption) {\n props.onChange(findOption)\n } else {\n props.onChange(null)\n }\n setQuery('')\n }\n const handleQueryChange = useCallback(\n (value: string) => {\n setQuery(value)\n props.onChange(null)\n if (value === '') {\n setIsEmptyOption(optionsNormalize.length === 0)\n setViewOption(optionsNormalize)\n } else {\n const filteredOptions = optionsNormalize.filter(option =>\n Object.values(option).some(field => field?.toString().toLowerCase().includes(value.toLowerCase()))\n )\n setViewOption(filteredOptions)\n setIsEmptyOption(filteredOptions.length === 0)\n }\n },\n [optionsNormalize, props]\n )\n\n const [value, setValue] = useState<ISelectMapThemeOption | undefined>(\n optionsNormalize.find(e => e.value === props.value.name)\n )\n useEffect(() => {\n if (value?.value !== props.value.name) setValue(optionsNormalize.find(e => e.value === props.value.name))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, props.value])\n\n return (\n <Select<ISelectMapThemeOption>\n {...props}\n option={viewOption}\n isEmptyOption={isEmptyOption}\n minView={1}\n maxView={8}\n isOnClickOptionClose\n value={value ? [value] : []}\n onChange={handleSelectChange}\n inputProps={{\n ...props.inputProps,\n variety: 'standard',\n isReadOnly: true,\n value: (value?.placeholder as string) ?? query,\n onChange: handleQueryChange\n }}\n />\n )\n}\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { StyledInputCSS, StyledMotionInput } from '@local/components/input'\nimport { addBorder, addRemoveOutline, addRemoveScrollbar, addTransition } from '@local/styles/add'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault } from '@local/theme'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\n\nimport {\n DropdownOptionIconProps,\n SelectStyledFooterProps,\n SelectStyledInputProps,\n SelectStyledListProps,\n SelectStyledOptionProps,\n SelectWrapperProps\n} from '.'\nimport { Icon } from '../icon'\n\nexport const SelectWrapper = styled(motion.div)<SelectWrapperProps>`\n width: 100%;\n position: relative;\n height: fit-content;\n ${props =>\n !props.$isDisabled &&\n css`\n &:focus-within {\n &:after {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n bottom: -1px;\n right: -1px;\n outline: 2px ${props.theme.states.focus} solid;\n outline-offset: 1px;\n border-radius: ${`${props.$radius + 1}px`};\n pointer-events: none;\n height: calc(100% + var(--after-height) + 2px);\n }\n }\n `}\n\n outline: none !important;\n\n &:focus-visible {\n outline: none !important;\n }\n ${addSX};\n`\n\nexport const DropdownListParentSize = css<SelectStyledListProps>`\n ${props => props.$size && DropdownListParentSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const DropdownListParentSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n border-radius: 0px 0px ${props.radius}px ${props.radius}px;\n`\n\nexport const DropdownListParent = styled(motion.div)<SelectStyledListProps>`\n outline: none;\n display: none;\n\n height: 0px;\n width: 100%;\n\n position: absolute;\n\n overflow: hidden;\n overflow-y: auto;\n\n margin: 0;\n padding: 0;\n\n background: ${props => props.theme.colors.input[props.$genre].background.rest};\n border: solid 1px ${props => props.theme.colors.input[props.$genre].border.rest};\n border-top: 0px !important;\n ${DropdownListParentSize};\n ${props => !props.$isShowScroll && addRemoveScrollbar};\n`\n\nexport const DropdownList = styled.ul`\n list-style: none;\n\n position: relative;\n\n display: flex;\n flex-direction: column;\n\n width: 100%;\n\n transform: translateZ(0);\n`\n\nexport const DropdownOption = styled.li<SelectStyledOptionProps>`\n ${StyledInputCSS};\n width: 100%;\n border: 0px;\n display: flex;\n align-items: center;\n border-radius: 0;\n opacity: 1;\n ${addRemoveOutline};\n ${addBorder};\n &:last-child {\n border-radius: 0px 0px ${props => KEY_SIZE_DATA[props.$size].radius}px\n ${props => KEY_SIZE_DATA[props.$size].radius}px;\n }\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n`\n\nexport const DropdownOptionHoverAndCheckedSize = css<SelectStyledOptionProps>`\n ${props => DropdownOptionHoverAndCheckedSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const DropdownOptionHoverAndCheckedSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n width: calc(100% - ${props.padding - 6}px);\n height: calc(100% - ${props.padding - 4}px);\n border-radius: ${props.radius}px;\n`\n\nexport const DropdownOptionLayout = styled.div<SelectStyledOptionProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n ${DropdownOptionHoverAndCheckedSize};\n border-style: solid;\n border-width: 1px;\n border-color: transparent;\n\n ${addTransition};\n\n ${props =>\n !props.$isNotShowHoverStyle &&\n css`\n &:hover {\n background: ${props.theme.colors.select[props.$genre].background.select};\n color: ${props.theme.colors.select[props.$genre].color.select};\n }\n `}\n ${props =>\n props.$checked &&\n css`\n background: ${props.theme.colors.select[props.$genre].background.select};\n border-color: ${props.theme.colors.select[props.$genre].border.select};\n color: ${props.theme.colors.select[props.$genre].color.select};\n `}\n`\n\nconst DropdownOptionIconSize = css<DropdownOptionIconProps>`\n ${props => DropdownOptionIconSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nconst DropdownOptionIconSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n right: ${props.padding - 6}px;\n height: ${props.height}px;\n`\n\nexport const DropdownOptionIcon = styled(Icon)<DropdownOptionIconProps>`\n position: absolute;\n right: 0;\n height: 100%;\n align-items: center;\n ${DropdownOptionIconSize};\n color: ${props =>\n props.$checked\n ? props.theme.colors.select[props.$genre].border.select\n : props.theme.colors.input[props.$genre].border.rest};\n`\n\nexport const SelectInputIcon = styled(Icon)<DropdownOptionIconProps>`\n position: absolute;\n user-select: none;\n pointer-events: none;\n right: 0;\n top: 0;\n align-items: center;\n ${DropdownOptionIconSize};\n color: ${props =>\n props.$checked\n ? props.theme.colors.select[props.$genre].border.select\n : props.theme.colors.input[props.$genre].border.rest};\n`\nexport const DropdownFooter = styled.li<SelectStyledFooterProps>`\n ${StyledInputCSS};\n display: flex;\n align-items: center;\n border-radius: 0;\n opacity: 1;\n border: 0px;\n cursor: pointer;\n position: sticky;\n bottom: 0;\n padding: 0px;\n flex-shrink: 0;\n margin-top: auto;\n`\n\nexport const DropdownErase = styled.div`\n margin-left: auto;\n height: 100%;\n`\n\nexport const DropdownSelectAll = styled.div`\n margin-right: auto;\n height: 100%;\n`\n\nexport const SelectStyledInput = styled(StyledMotionInput)<SelectStyledInputProps>`\n ${addRemoveOutline};\n ${addSX};\n`\n"],"names":["Select","props","isOpen","setIsOpen","useState","isAnimating","setIsAnimating","isAll","setIsAll","_b","_a","footer","selectAll","defaultValue","refInput","useRef","parentListRef","wrapperRef","maxViewLength","useMemo","maxView","minViewLength","minView","optionsLength","option","length","isFooter","isErase","erase","isSelectAll","sizeHeight","KEY_SIZE_DATA","size","height","radius","isSelectedItem","useCallback","value","includes","handleEraseOnClick","event","preventDefault","stopPropagation","onCLick","onChange","handleSelectAllOnClick","inputProps","_c","_e","_d","handleOnBlurEasy","current","blur","handleOnBlur","isDisabled","relatedTarget","contains","onBlur","handleOptionOnClick","isOnClickOptionClose","isMulti","index","findIndex","selectedItems","newValue","slice","newValues","handleListOptionOpenEffect","handleOnOpen","handleOnFocusEasy","handleOnFocus","onFocus","useEffect","handleMouseDown","target","document","addEventListener","removeEventListener","handleClickOutside","listVirtualizer","useVirtualizer","count","estimateSize","getEstimateSize","getScrollElement","overscan","paddingEnd","handleFetchNextPage","containerRefElement","scrollHeight","scrollTop","clientHeight","isFetching","fetchNextPage","jsxs","Fragment","children","SelectWrapper","$size","$genre","genre","$sx","sx","$radius","$isDisabled","$parentListHeight","ref","animate","zIndex","transition","duration","jsx","SelectStyledInput","tabIndex","id","name","placeholder","$error","error","$isLoading","isLoading","$isNiceNumber","isNiceNumber","$postfixChildren","postfixChildren","$prefixChildren","_f","prefixChildren","$isBold","_g","isBold","$isCenter","_h","isCenter","_i","disabled","readOnly","_j","isReadOnly","required","_k","isRequired","_l","_m","type","_n","_o","_p","onClick","borderBottomLeftRadius","borderBottomRightRadius","isShowSelectInputIcon","SelectInputIcon","$checked","AnimatePresence","DropdownListParent","$isShowScroll","$isFooter","onScroll","e","initial","opacity","display","exit","style","maxHeight","DropdownList","getTotalSize","minHeight","isEmptyOption","ContainerDropdownOption","isNotShowHoverStyle","checked","virtualRowSize","_q","call","virtualRowStart","label","labelEmptyOption","optionProps","isShowDropdownOptionIcon","getVirtualItems","map","virtualRow","item","start","DropdownFooter","$isErase","$isSelectAll","DropdownSelectAll","Button","isFullSize","isHiddenBorder","DropdownErase","ErrorMessage","memo","params","DropdownOption","onKeyDown","key","$isNotShowHoverStyle","transform","position","DropdownOptionIcon","DropdownOptionLayout","styled","motion","div","css","theme","states","focus","addSX","DropdownListParentSize","DropdownListParentSizeConstructor","colors","input","background","rest","border","addRemoveScrollbar","ul","li","StyledInputCSS","addRemoveOutline","addBorder","DropdownOptionHoverAndCheckedSize","DropdownOptionHoverAndCheckedSizeConstructor","padding","addTransition","select","color","DropdownOptionIconSize","DropdownOptionIconSizeConstructor","Icon","StyledMotionInput","ListLanguage","viewOption","setViewOption","query","setQuery","setIsEmptyOption","handleQueryChange","filteredOptions","filter","Object","values","some","field","toString","toLowerCase","setValue","find","variety","options","MapThemeList","optionsNormalize","findOption","startDate","endDate","monthsLocale","isShortLabel","year","moment","utc","months","monthItem","monthIndex","month","monthMoment","startOf","isBefore","isAfter","valueOf","localeShort","localeLong","search","monthValue","selectedMonth","isSameOrAfter","endOf","selectedValue","Number","selectedMonthValue","currentMoment","currentYear","currentDay","date","isValid","sortOrder","startYear","endYear","years","yearArray","Array","from","_","format","sort","a","b","selectedYear","selectedYearValue","currentMonth"],"mappings":"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"}