@jenesei-software/jenesei-kit-react 1.3.8 → 1.3.10

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 (292) hide show
  1. package/README.md +0 -20
  2. package/build/{area-CH6c_n7-.js → area-BYuHpaUX.js} +2 -2
  3. package/build/{area-CH6c_n7-.js.map → area-BYuHpaUX.js.map} +1 -1
  4. package/build/{area-AbheP_ot.cjs → area-C6XuN6wk.cjs} +2 -2
  5. package/build/{area-AbheP_ot.cjs.map → area-C6XuN6wk.cjs.map} +1 -1
  6. package/build/{area-CFZW3T1g.js → area-CkM4ZN2F.js} +2 -2
  7. package/build/{area-CFZW3T1g.js.map → area-CkM4ZN2F.js.map} +1 -1
  8. package/build/{area-C3wR_pPr.cjs → area-oZm7ewxw.cjs} +2 -2
  9. package/build/{area-C3wR_pPr.cjs.map → area-oZm7ewxw.cjs.map} +1 -1
  10. package/build/area-preview.cjs.js +1 -1
  11. package/build/area-preview.es.js +1 -1
  12. package/build/area-skeleton.cjs.js +1 -1
  13. package/build/area-skeleton.es.js +1 -1
  14. package/build/build-info.txt +3 -3
  15. package/build/component--jGdo2yq.cjs +2 -0
  16. package/build/component--jGdo2yq.cjs.map +1 -0
  17. package/build/component-B1bvPlyB.cjs +90 -0
  18. package/build/component-B1bvPlyB.cjs.map +1 -0
  19. package/build/{component-DfqhPd0e.cjs → component-BYox4gmt.cjs} +2 -2
  20. package/build/{component-DfqhPd0e.cjs.map → component-BYox4gmt.cjs.map} +1 -1
  21. package/build/component-C67KboOB.cjs +245 -0
  22. package/build/component-C67KboOB.cjs.map +1 -0
  23. package/build/{component-D7A-4DNQ.cjs → component-CLqcB5mM.cjs} +2 -2
  24. package/build/component-CLqcB5mM.cjs.map +1 -0
  25. package/build/{component-BuxekWox.cjs → component-CY7lfJVv.cjs} +2 -2
  26. package/build/{component-BuxekWox.cjs.map → component-CY7lfJVv.cjs.map} +1 -1
  27. package/build/{component-BFhXrZ3a.js → component-CvW0MIM8.js} +3 -3
  28. package/build/{component-BFhXrZ3a.js.map → component-CvW0MIM8.js.map} +1 -1
  29. package/build/{component-vpCWcIhC.js → component-DHM9pbab.js} +3 -3
  30. package/build/component-DHM9pbab.js.map +1 -0
  31. package/build/{component-CmotrA_9.js → component-DJYgewYg.js} +32 -11
  32. package/build/component-DJYgewYg.js.map +1 -0
  33. package/build/component-DKMsOpqH.js +710 -0
  34. package/build/component-DKMsOpqH.js.map +1 -0
  35. package/build/{component-D8qbXvM4.js → component-DaXKDHnc.js} +48 -7
  36. package/build/component-DaXKDHnc.js.map +1 -0
  37. package/build/{component-BvLPfi2B.js → component-WUYE2soZ.js} +2 -2
  38. package/build/{component-BvLPfi2B.js.map → component-WUYE2soZ.js.map} +1 -1
  39. package/build/component-accordion.cjs.js +1 -1
  40. package/build/component-accordion.d.ts +1 -1
  41. package/build/component-accordion.es.js +1 -1
  42. package/build/component-button-group.cjs.js +1 -1
  43. package/build/component-button-group.d.ts +40 -7
  44. package/build/component-button-group.es.js +1 -1
  45. package/build/component-button.cjs.js +1 -1
  46. package/build/component-button.d.ts +43 -8
  47. package/build/component-button.es.js +1 -1
  48. package/build/component-checkbox-group.cjs.js +1 -1
  49. package/build/component-checkbox-group.d.ts +39 -9
  50. package/build/component-checkbox-group.es.js +1 -1
  51. package/build/component-checkbox.cjs.js +1 -1
  52. package/build/component-checkbox.d.ts +41 -9
  53. package/build/component-checkbox.es.js +1 -1
  54. package/build/component-date-picker.cjs.js +1 -1
  55. package/build/component-date-picker.d.ts +57 -43
  56. package/build/component-date-picker.es.js +1 -1
  57. package/build/component-icon.cjs.js +1 -1
  58. package/build/component-icon.d.ts +16 -3
  59. package/build/component-icon.es.js +3 -2
  60. package/build/component-image-button.cjs.js +1 -1
  61. package/build/component-image-button.d.ts +40 -7
  62. package/build/component-image-button.es.js +1 -1
  63. package/build/component-image-select.cjs.js +1 -1
  64. package/build/component-image-select.d.ts +40 -7
  65. package/build/component-image-select.es.js +1 -1
  66. package/build/component-image-slider.cjs.js +1 -1
  67. package/build/component-image-slider.d.ts +1 -1
  68. package/build/component-image-slider.es.js +1 -1
  69. package/build/component-image.cjs.js +1 -1
  70. package/build/component-image.es.js +1 -1
  71. package/build/component-input-otp.cjs.js +1 -1
  72. package/build/component-input-otp.d.ts +52 -6
  73. package/build/component-input-otp.es.js +1 -1
  74. package/build/component-input.cjs.js +1 -1
  75. package/build/component-input.d.ts +63 -15
  76. package/build/component-input.es.js +2 -2
  77. package/build/component-map.cjs.js +1 -1
  78. package/build/component-map.d.ts +11 -12
  79. package/build/component-map.es.js +2 -2
  80. package/build/component-pagination.cjs.js +1 -1
  81. package/build/component-pagination.d.ts +40 -7
  82. package/build/component-pagination.es.js +1 -1
  83. package/build/component-range.cjs.js +1 -1
  84. package/build/component-range.d.ts +51 -5
  85. package/build/component-range.es.js +1 -1
  86. package/build/component-ripple.cjs.js +1 -1
  87. package/build/component-ripple.es.js +1 -1
  88. package/build/component-select.cjs.js +1 -1
  89. package/build/component-select.d.ts +51 -10
  90. package/build/component-select.es.js +1 -1
  91. package/build/component-separator.d.ts +1 -1
  92. package/build/component-textarea.cjs.js +1 -1
  93. package/build/component-textarea.d.ts +51 -8
  94. package/build/component-textarea.es.js +1 -1
  95. package/build/component-toggle.cjs.js +1 -1
  96. package/build/component-toggle.d.ts +52 -3
  97. package/build/component-toggle.es.js +1 -1
  98. package/build/component-tooltip.cjs.js +1 -1
  99. package/build/component-tooltip.d.ts +18 -6
  100. package/build/component-tooltip.es.js +1 -1
  101. package/build/component-typography.cjs.js +1 -1
  102. package/build/component-typography.d.ts +31 -17
  103. package/build/component-typography.es.js +7 -6
  104. package/build/component-typography.es.js.map +1 -1
  105. package/build/{component.components-BWWKHxKD.cjs → component.components-CeKyOsDE.cjs} +3 -3
  106. package/build/component.components-CeKyOsDE.cjs.map +1 -0
  107. package/build/{component.components-BPIVZi-R.js → component.components-f-tFdB6f.js} +26 -18
  108. package/build/component.components-f-tFdB6f.js.map +1 -0
  109. package/build/{component.constants-DyKCJRH3.cjs → component.constants-B9xzGc3A.cjs} +2 -2
  110. package/build/{component.constants-DyKCJRH3.cjs.map → component.constants-B9xzGc3A.cjs.map} +1 -1
  111. package/build/{component.constants-CmQuESzl.js → component.constants-BrJrCmlA.js} +2 -2
  112. package/build/{component.constants-CmQuESzl.js.map → component.constants-BrJrCmlA.js.map} +1 -1
  113. package/build/{component.constants-D8QVKsqc.cjs → component.constants-DRPyaSU8.cjs} +3 -3
  114. package/build/{component.constants-D8QVKsqc.cjs.map → component.constants-DRPyaSU8.cjs.map} +1 -1
  115. package/build/{component.constants-Dtw4932G.js → component.constants-amkB3VHg.js} +7 -7
  116. package/build/{component.constants-Dtw4932G.js.map → component.constants-amkB3VHg.js.map} +1 -1
  117. package/build/component.functions-D9ffjEok.cjs +8 -0
  118. package/build/component.functions-D9ffjEok.cjs.map +1 -0
  119. package/build/component.functions-DNW6h8kk.js +12 -0
  120. package/build/component.functions-DNW6h8kk.js.map +1 -0
  121. package/build/{component.styles-CQbSHrL_.js → component.styles--PEjCgcA.js} +51 -23
  122. package/build/component.styles--PEjCgcA.js.map +1 -0
  123. package/build/{component.styles-DoUBnv1C.js → component.styles-B0FFHGeN.js} +26 -20
  124. package/build/component.styles-B0FFHGeN.js.map +1 -0
  125. package/build/{component.styles-ClU_KFe9.js → component.styles-BDKsgd6y.js} +32 -19
  126. package/build/component.styles-BDKsgd6y.js.map +1 -0
  127. package/build/{component.styles-BMJamWba.cjs → component.styles-BELwxHxh.cjs} +7 -7
  128. package/build/component.styles-BELwxHxh.cjs.map +1 -0
  129. package/build/{component.styles-usmYNSi8.js → component.styles-BGYbrzvh.js} +2 -2
  130. package/build/{component.styles-usmYNSi8.js.map → component.styles-BGYbrzvh.js.map} +1 -1
  131. package/build/component.styles-BKnUDWqO.cjs +22 -0
  132. package/build/component.styles-BKnUDWqO.cjs.map +1 -0
  133. package/build/{component.styles-DLU0S0KI.cjs → component.styles-BTsmbWT6.cjs} +2 -2
  134. package/build/{component.styles-DLU0S0KI.cjs.map → component.styles-BTsmbWT6.cjs.map} +1 -1
  135. package/build/{component.styles-CMXsg9Uj.js → component.styles-BbwS_Ekx.js} +9 -10
  136. package/build/{component.styles-CMXsg9Uj.js.map → component.styles-BbwS_Ekx.js.map} +1 -1
  137. package/build/component.styles-BeRVOt5T.cjs +137 -0
  138. package/build/{component.styles-DETkOSnM.cjs.map → component.styles-BeRVOt5T.cjs.map} +1 -1
  139. package/build/component.styles-BpvpyZax.cjs +73 -0
  140. package/build/component.styles-BpvpyZax.cjs.map +1 -0
  141. package/build/{component.styles-BirbSbuD.js → component.styles-CPWNnqqm.js} +3 -3
  142. package/build/{component.styles-BirbSbuD.js.map → component.styles-CPWNnqqm.js.map} +1 -1
  143. package/build/component.styles-CsB9986a.cjs +99 -0
  144. package/build/component.styles-CsB9986a.cjs.map +1 -0
  145. package/build/{component.styles-CKArb78Q.js → component.styles-DARNjy9P.js} +33 -12
  146. package/build/component.styles-DARNjy9P.js.map +1 -0
  147. package/build/{component.styles-BfzC8j7O.js → component.styles-DOnQEUrI.js} +20 -9
  148. package/build/{component.styles-BfzC8j7O.js.map → component.styles-DOnQEUrI.js.map} +1 -1
  149. package/build/{component.styles-DYAuT7U2.js → component.styles-DS0ofW1Y.js} +41 -14
  150. package/build/component.styles-DS0ofW1Y.js.map +1 -0
  151. package/build/component.styles-DWGUgUoF.cjs +21 -0
  152. package/build/component.styles-DWGUgUoF.cjs.map +1 -0
  153. package/build/{component.styles-DkL2qYQQ.js → component.styles-DjoG6jr2.js} +3 -3
  154. package/build/{component.styles-DkL2qYQQ.js.map → component.styles-DjoG6jr2.js.map} +1 -1
  155. package/build/{component.styles-R92hjRRA.cjs → component.styles-Dpo373cZ.cjs} +2 -2
  156. package/build/{component.styles-R92hjRRA.cjs.map → component.styles-Dpo373cZ.cjs.map} +1 -1
  157. package/build/{component.styles-BHBTNQ8p.js → component.styles-VrNFgg1_.js} +32 -12
  158. package/build/component.styles-VrNFgg1_.js.map +1 -0
  159. package/build/{component.styles-b_DLfQqU.cjs → component.styles-ZU_GyVub.cjs} +2 -2
  160. package/build/{component.styles-b_DLfQqU.cjs.map → component.styles-ZU_GyVub.cjs.map} +1 -1
  161. package/build/component.styles-gZHy-64x.cjs +13 -0
  162. package/build/component.styles-gZHy-64x.cjs.map +1 -0
  163. package/build/{component.styles-CKLd9UoP.cjs → component.styles-iHE8mmya.cjs} +7 -7
  164. package/build/{component.styles-CKLd9UoP.cjs.map → component.styles-iHE8mmya.cjs.map} +1 -1
  165. package/build/component.styles-mhkAuWyU.cjs +225 -0
  166. package/build/component.styles-mhkAuWyU.cjs.map +1 -0
  167. package/build/component.styles-nl99kkS3.js +94 -0
  168. package/build/component.styles-nl99kkS3.js.map +1 -0
  169. package/build/{component.types-D05KdxnZ.js → component.types-BBQ18Npa.js} +14 -3
  170. package/build/component.types-BBQ18Npa.js.map +1 -0
  171. package/build/{component.types-D2nk9HlK.js → component.types-CSnoBg2y.js} +95 -68
  172. package/build/component.types-CSnoBg2y.js.map +1 -0
  173. package/build/component.types-CWp0NPUN.cjs +171 -0
  174. package/build/component.types-CWp0NPUN.cjs.map +1 -0
  175. package/build/{component.types-gy5Q9qHX.cjs → component.types-DraGq1j_.cjs} +2 -2
  176. package/build/component.types-DraGq1j_.cjs.map +1 -0
  177. package/build/consts.cjs.js +1 -1
  178. package/build/consts.cjs.js.map +1 -1
  179. package/build/consts.d.ts +1 -1
  180. package/build/consts.es.js +1 -1
  181. package/build/consts.es.js.map +1 -1
  182. package/build/context-app.cjs.js +1 -1
  183. package/build/context-app.d.ts +1 -1
  184. package/build/context-app.es.js +1 -1
  185. package/build/context-dialog.cjs.js +1 -1
  186. package/build/context-dialog.d.ts +12 -5
  187. package/build/context-dialog.es.js +1 -1
  188. package/build/context-sonner.cjs.js +1 -1
  189. package/build/context-sonner.d.ts +47 -11
  190. package/build/context-sonner.es.js +1 -1
  191. package/build/context.constants-ByXsACU7.cjs +32 -0
  192. package/build/context.constants-ByXsACU7.cjs.map +1 -0
  193. package/build/context.constants-CTr1U0kI.cjs +98 -0
  194. package/build/context.constants-CTr1U0kI.cjs.map +1 -0
  195. package/build/{context.constants-B9Yk6CGe.js → context.constants-CvkvB0XC.js} +8 -5
  196. package/build/context.constants-CvkvB0XC.js.map +1 -0
  197. package/build/{context.constants-4kkNHBzR.js → context.constants-DRimaVcG.js} +26 -9
  198. package/build/context.constants-DRimaVcG.js.map +1 -0
  199. package/build/{context.hooks-DGmZRxkb.cjs → context.hooks-DOygH-Yj.cjs} +3 -3
  200. package/build/{context.hooks-DGmZRxkb.cjs.map → context.hooks-DOygH-Yj.cjs.map} +1 -1
  201. package/build/{context.hooks-Cfr2Mp8e.js → context.hooks-kga1DMrX.js} +4 -4
  202. package/build/{context.hooks-Cfr2Mp8e.js.map → context.hooks-kga1DMrX.js.map} +1 -1
  203. package/build/floating-ui.react--v70Xky9.cjs +2 -0
  204. package/build/floating-ui.react--v70Xky9.cjs.map +1 -0
  205. package/build/{component-Bwu-fBEh.js → floating-ui.react-Byi6bLb1.js} +17 -704
  206. package/build/floating-ui.react-Byi6bLb1.js.map +1 -0
  207. package/build/index.cjs.js +1 -1
  208. package/build/index.d.ts +120 -110
  209. package/build/index.es.js +67 -64
  210. package/build/index.es.js.map +1 -1
  211. package/build/style-D3Lbn1EL.cjs +32 -0
  212. package/build/style-D3Lbn1EL.cjs.map +1 -0
  213. package/build/{style-mc2ST5fY.cjs → style-Df37KnoJ.cjs} +47 -18
  214. package/build/style-Df37KnoJ.cjs.map +1 -0
  215. package/build/{style-BgcnmVAY.js → style-RL73t3JD.js} +63 -20
  216. package/build/style-RL73t3JD.js.map +1 -0
  217. package/build/style-add.cjs.js +1 -1
  218. package/build/style-add.d.ts +57 -5
  219. package/build/style-add.es.js +11 -10
  220. package/build/style-error.cjs.js +1 -1
  221. package/build/style-error.d.ts +42 -1
  222. package/build/style-error.es.js +1 -1
  223. package/build/style-fRZ6xrVp.cjs.map +1 -1
  224. package/build/style-plT9Ah7t.js.map +1 -1
  225. package/build/style-theme.cjs.js +1 -1
  226. package/build/style-theme.d.ts +7 -6
  227. package/build/style-theme.es.js +1 -1
  228. package/build/{style-CQOBaUTO.js → style-uVTmdhsH.js} +14 -5
  229. package/build/style-uVTmdhsH.js.map +1 -0
  230. package/build/{theme.global-DuEXPcSK.js → theme.global-BgERDJ4e.js} +105 -1
  231. package/build/theme.global-BgERDJ4e.js.map +1 -0
  232. package/build/theme.global-CcoD5bPP.cjs +173 -0
  233. package/build/theme.global-CcoD5bPP.cjs.map +1 -0
  234. package/build/{use-BsyZ6-h6.js → use-DLVWi2kS.js} +6 -6
  235. package/build/{use-BsyZ6-h6.js.map → use-DLVWi2kS.js.map} +1 -1
  236. package/build/{use-D0mgQexh.cjs → use-Dg449cuf.cjs} +2 -2
  237. package/build/{use-D0mgQexh.cjs.map → use-Dg449cuf.cjs.map} +1 -1
  238. package/package.json +2 -1
  239. package/build/component-Bwu-fBEh.js.map +0 -1
  240. package/build/component-CMkU2lIg.cjs +0 -90
  241. package/build/component-CMkU2lIg.cjs.map +0 -1
  242. package/build/component-CeWNemV1.cjs +0 -251
  243. package/build/component-CeWNemV1.cjs.map +0 -1
  244. package/build/component-CmotrA_9.js.map +0 -1
  245. package/build/component-D7A-4DNQ.cjs.map +0 -1
  246. package/build/component-D8qbXvM4.js.map +0 -1
  247. package/build/component-DUUxsxY6.cjs +0 -2
  248. package/build/component-DUUxsxY6.cjs.map +0 -1
  249. package/build/component-vpCWcIhC.js.map +0 -1
  250. package/build/component.components-BPIVZi-R.js.map +0 -1
  251. package/build/component.components-BWWKHxKD.cjs.map +0 -1
  252. package/build/component.styles-B294m7QY.cjs +0 -99
  253. package/build/component.styles-B294m7QY.cjs.map +0 -1
  254. package/build/component.styles-B5kjhqh4.cjs +0 -225
  255. package/build/component.styles-B5kjhqh4.cjs.map +0 -1
  256. package/build/component.styles-BHBTNQ8p.js.map +0 -1
  257. package/build/component.styles-BMJamWba.cjs.map +0 -1
  258. package/build/component.styles-C-mr1A0b.cjs +0 -73
  259. package/build/component.styles-C-mr1A0b.cjs.map +0 -1
  260. package/build/component.styles-CKArb78Q.js.map +0 -1
  261. package/build/component.styles-CQbSHrL_.js.map +0 -1
  262. package/build/component.styles-CS_lQRm0.cjs +0 -21
  263. package/build/component.styles-CS_lQRm0.cjs.map +0 -1
  264. package/build/component.styles-CbkvPvEl.cjs +0 -22
  265. package/build/component.styles-CbkvPvEl.cjs.map +0 -1
  266. package/build/component.styles-ClU_KFe9.js.map +0 -1
  267. package/build/component.styles-DETkOSnM.cjs +0 -137
  268. package/build/component.styles-DYAuT7U2.js.map +0 -1
  269. package/build/component.styles-DoUBnv1C.js.map +0 -1
  270. package/build/component.styles-DyTB01CW.js +0 -71
  271. package/build/component.styles-DyTB01CW.js.map +0 -1
  272. package/build/component.styles-l0Dr5zHf.cjs +0 -13
  273. package/build/component.styles-l0Dr5zHf.cjs.map +0 -1
  274. package/build/component.types-D05KdxnZ.js.map +0 -1
  275. package/build/component.types-D2nk9HlK.js.map +0 -1
  276. package/build/component.types-DoUkmzRs.cjs +0 -174
  277. package/build/component.types-DoUkmzRs.cjs.map +0 -1
  278. package/build/component.types-gy5Q9qHX.cjs.map +0 -1
  279. package/build/context.constants-4kkNHBzR.js.map +0 -1
  280. package/build/context.constants-B9Yk6CGe.js.map +0 -1
  281. package/build/context.constants-CTfUKury.cjs +0 -32
  282. package/build/context.constants-CTfUKury.cjs.map +0 -1
  283. package/build/context.constants-DKCD80Pp.cjs +0 -100
  284. package/build/context.constants-DKCD80Pp.cjs.map +0 -1
  285. package/build/style-BVejuajH.cjs +0 -32
  286. package/build/style-BVejuajH.cjs.map +0 -1
  287. package/build/style-BgcnmVAY.js.map +0 -1
  288. package/build/style-CQOBaUTO.js.map +0 -1
  289. package/build/style-mc2ST5fY.cjs.map +0 -1
  290. package/build/theme.global-B9wIU_rF.cjs +0 -173
  291. package/build/theme.global-B9wIU_rF.cjs.map +0 -1
  292. package/build/theme.global-DuEXPcSK.js.map +0 -1
@@ -1,174 +0,0 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("./component-CMkU2lIg.cjs");require("./component.styles-Dpg-__rn.cjs");const o=require("./component-D7A-4DNQ.cjs"),n=require("./component.styles-B5kjhqh4.cjs"),s=require("./component-BV_7tGiu.cjs"),r=require("./style-BVejuajH.cjs"),l=require("./theme.global-B9wIU_rF.cjs"),i=require("moment"),a=require("react"),u=require("styled-components"),d=require("./component-CeWNemV1.cjs"),c=require("./component.styles-DETkOSnM.cjs"),p=require("./style-mc2ST5fY.cjs"),f=require("./style-fRZ6xrVp.cjs"),h=require("framer-motion");const g=u.div`
2
- width: 100%;
3
- position: relative;
4
- height: fit-content;
5
- ${e=>e.$isMinWidth&&u.css`
6
- width: min-content;
7
- `}
8
- ${f.addSX};
9
- ${p.addNiceNumber};
10
- `,m=u(h.motion.div)`
11
- ${p.addRemoveScrollbar};
12
- `,$=u.div`
13
- position: relative;
14
- display: flex;
15
- flex-direction: column;
16
- width: 100%;
17
- padding-top: 6px;
18
- transform: translateZ(0);
19
- justify-content: flex-start;
20
- gap: 10px;
21
- ${c.addInputIsInputEffect};
22
- `,x=u.div`
23
- display: grid;
24
- column-gap: normal;
25
- row-gap: normal;
26
- gap: 6px;
27
- grid-template-columns: repeat(7, 28px);
28
- grid-template-rows: repeat(${e=>e.$rows}, 28px);
29
- justify-content: space-between;
30
- `,D=u.css`
31
- ${e=>e.$size&&u.css`
32
- border-radius: ${l.KEY_SIZE_DATA[e.$size].radius}px;
33
- ${e=>d.getFontSizeStyles(12,700,e.theme.font.family)};
34
- `};
35
- position: relative;
36
- overflow: hidden;
37
- isolation: isolate;
38
- user-select: none;
39
- background: ${e=>e.theme.colors.date[e.$genre].background.rest};
40
- border-color: ${e=>e.theme.colors.date[e.$genre].border.rest};
41
- color: ${e=>e.theme.colors.date[e.$genre].color.rest};
42
- border: 1px solid transparent;
43
- grid-row: ${e=>e.$row};
44
- grid-column: ${e=>e.$column};
45
- display: flex;
46
- align-items: center;
47
- justify-content: center;
48
- width: 100%;
49
- height: 100%;
50
- cursor: pointer;
51
- &:hover {
52
- ${e=>!e.$isDisabled&&u.css`
53
- background: ${e.theme.colors.date[e.$genre].background.hover};
54
- border-color: ${e.theme.colors.date[e.$genre].border.hover};
55
- color: ${e.theme.colors.date[e.$genre].color.hover};
56
- `}
57
- }
58
- ${p.addTransition};
59
-
60
- ${e=>e.$isWeekend&&u.css`
61
- background: ${e.theme.colors.date[e.$genre].background.weekend};
62
- border-color: ${e.theme.colors.date[e.$genre].border.weekend};
63
- color: ${e.theme.colors.date[e.$genre].color.weekend};
64
- `}
65
- ${e=>e.$isToday&&u.css`
66
- background: ${e.theme.colors.date[e.$genre].background.today};
67
- border-color: ${e.theme.colors.date[e.$genre].border.today};
68
- color: ${e.theme.colors.date[e.$genre].color.today};
69
- `}
70
- ${e=>e.$isChoice&&u.css`
71
- background: ${e.theme.colors.date[e.$genre].background.choice};
72
- border-color: ${e.theme.colors.date[e.$genre].border.choice};
73
- color: ${e.theme.colors.date[e.$genre].color.choice};
74
- `}
75
- ${e=>e.$isDisabled&&u.css`
76
- background: ${e.theme.colors.date[e.$genre].background.weekend};
77
- border-color: ${e.theme.colors.date[e.$genre].border.weekend};
78
- color: ${e.theme.colors.date[e.$genre].color.weekend};
79
- opacity: 0.5;
80
- `}
81
- ${e=>!e.$isCurrentMonth&&u.css`
82
- opacity: 0.5;
83
- `}
84
- ${e=>d.getFontSizeStyles(12,700,e.theme.font.family)};
85
-
86
- ${p.addOutline};
87
- `,b=u.button`
88
- ${D}
89
- `,Y=u.button`
90
- ${D}
91
- opacity: 1;
92
- background-color: transparent;
93
- `,v=u.css`
94
- background-color: ${e=>e.$isActive?e.theme.palette.black10:"transparent"};
95
-
96
- ${e=>d.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
97
- ${e=>e.$isHaveValue?u.css`
98
- color: ${e.theme.colors.input[e.$genre].color.rest};
99
- &:focus-visible {
100
- color: ${e.theme.colors.input[e.$genre].color.rest};
101
- }
102
- `:u.css`
103
- color: ${e.theme.colors.input[e.$genre].color.placeholder};
104
- `};
105
- `,y=u.css`
106
- border-radius: 4px;
107
- padding: 2px;
108
- min-width: 10px;
109
- `,M=u.div`
110
- text-align: center;
111
- resize: none;
112
- overflow: hidden;
113
- border: 0px solid;
114
- background: transparent;
115
- margin: 0px !important;
116
- white-space: nowrap;
117
- ${y};
118
- ${v};
119
- ${p.addRemoveOutline};
120
- `,k=u.css`
121
- ${e=>u.css`
122
- background: ${e.theme.colors.input[e.$genre].background.rest};
123
- border-color: ${e.theme.colors.input[e.$genre].border.rest};
124
- color: ${e.theme.colors.input[e.$genre].color.rest};
125
- outline: 2px solid transparent;
126
- outline-offset: 1px;
127
- &:hover {
128
- background: ${e.theme.colors.input[e.$genre].background.hover};
129
- border-color: ${e.theme.colors.input[e.$genre].border.hover};
130
- color: ${e.theme.colors.input[e.$genre].color.hover};
131
- }
132
- /* ${p.addOutlineChildren}; */
133
- ${e.$isOpen&&u.css`
134
- background: ${e.theme.colors.input[e.$genre].background.rest};
135
- border-color: ${e.theme.colors.input[e.$genre].border.rest};
136
- color: ${e.theme.colors.input[e.$genre].color.rest};
137
- outline: 2px solid ${e=>e.theme.states.focus};
138
- `}
139
- `};
140
- `,S=u.css`
141
- ${e=>u.css`
142
- padding: ${e.$isShowPlaceholder?`0px ${l.KEY_SIZE_DATA[e.$size].padding}px`:`0px ${l.KEY_SIZE_DATA[e.$size].padding}px 0px ${l.KEY_SIZE_DATA[e.$size].padding-2}px`};
143
- height: ${l.KEY_SIZE_DATA[e.$size].height}px;
144
- min-height: ${l.KEY_SIZE_DATA[e.$size].height}px;
145
- max-height: ${l.KEY_SIZE_DATA[e.$size].height}px;
146
- border-radius: ${l.KEY_SIZE_DATA[e.$size].radius}px;
147
- `}
148
- `,w=u.div`
149
- resize: none;
150
- overflow: hidden;
151
- width: 100%;
152
- border: 1px solid transparent;
153
-
154
- white-space: nowrap;
155
-
156
- display: flex;
157
- align-items: center;
158
- gap: 0px;
159
-
160
- ${p.addDisabled};
161
- ${S};
162
- ${k};
163
- ${p.addTransition};
164
- ${r.addError};
165
- `,E=u.css`
166
- ${e=>u.css`
167
- right:${l.KEY_SIZE_DATA[e.size].padding}px;
168
- `}
169
- `,j=u(t.Button)`
170
- position: absolute;
171
- height: max-content !important;
172
- ${E};
173
- `;var O=(e=>(e.DD="DD",e.MM="MM",e.YYYY="YYYY",e))(O||{});exports.DateDropdownDay=b,exports.DateDropdownDayOfWeek=Y,exports.DateDropdownDays=x,exports.DateDropdownList=$,exports.DateDropdownListParent=m,exports.DateInput=M,exports.DateInputButton=j,exports.DateInputWrapper=w,exports.DatePicker=c=>{var p,f,h;const{onChange:m}=c,D=u.useTheme(),[v,y]=a.useState(null),[k,S]=a.useState(i(c.dateDefault).utc()),[E,z]=a.useState({[O.DD]:null,[O.MM]:null,[O.YYYY]:null}),A=a.useMemo(()=>null!==E[O.DD]||null!==E[O.MM]||null!==E[O.YYYY],[E]),C=a.useCallback(()=>{z({[O.DD]:null,[O.MM]:null,[O.YYYY]:null})},[]),[R,N]=a.useState(null),[I,W]=a.useState(!1),V=a.useMemo(()=>{if(!c.mode||0===c.mode.length)return[O.DD,O.MM,O.YYYY];return new Set(c.mode).size!==c.mode.length?[O.DD,O.MM,O.YYYY]:c.mode},[c.mode]),P=a.useCallback(e=>{const t=V.indexOf(e);return t<V.length-1?V[t+1]:V[0]},[V]),T=a.useCallback(e=>{const t=V.indexOf(e);return t>0?V[t-1]:V[V.length-1]},[V]),_=a.useMemo(()=>{const e={MM:{nextSegment:P(O.MM),preSegment:T(O.MM),onNext:()=>N(P(O.MM)),onPrev:()=>N(T(O.MM)),isLast:V[V.length-1]===O.MM,isFirst:V[0]===O.MM,type:O.MM,value:E.MM,setValue:e=>z(t=>({...t,[O.MM]:e})),setActive:()=>N(O.MM),placeholder:c.locale.inputs.month},DD:{nextSegment:P(O.DD),preSegment:T(O.DD),isLast:V[V.length-1]===O.DD,isFirst:V[0]===O.DD,onNext:()=>N(P(O.DD)),onPrev:()=>N(T(O.DD)),type:O.DD,value:E.DD,setValue:e=>z(t=>({...t,[O.DD]:e})),setActive:()=>N(O.DD),placeholder:c.locale.inputs.day},YYYY:{nextSegment:P(O.YYYY),preSegment:T(O.YYYY),isLast:V[V.length-1]===O.YYYY,isFirst:V[0]===O.YYYY,onNext:()=>N(P(O.YYYY)),onPrev:()=>N(T(O.YYYY)),type:O.YYYY,value:E.YYYY,setValue:e=>z(t=>({...t,[O.YYYY]:e})),setActive:()=>N(O.YYYY),placeholder:c.locale.inputs.year}};return{sort:V.map(t=>t===O.DD?e.DD:t===O.MM?e.MM:t===O.YYYY?e.YYYY:null).filter(e=>null!==e),default:e}},[c.locale.inputs.day,c.locale.inputs.month,c.locale.inputs.year,P,T,V,E.DD,E.MM,E.YYYY]),B=a.useMemo(()=>["mo","tu","we","th","fr","sa","su"].map((e,t)=>{const o=c.locale.weeks.find(t=>t.value===e);return{index:t,label:(null==o?void 0:o.localeShort)??e.toUpperCase()}}),[c.locale.weeks]),q=a.useMemo(()=>{const e=i.utc(),t=(v??k).clone().startOf("month"),o=(v??k).clone().endOf("month"),n=[],s=c.dateMin?i.utc(c.dateMin):null,r=c.dateMax?i.utc(c.dateMax):null,l=t.isoWeekday()-1;if(l>0)for(let i=l;i>0;i--){const o=t.clone().subtract(i,"days");n.push({value:o.valueOf(),labelString:o.format("dd"),labelNumber:o.date(),dayOfWeek:o.isoWeekday(),isWeekend:6===o.isoWeekday()||7===o.isoWeekday(),weekOfMonth:Math.ceil((n.length+1)/7),isToday:o.isSame(e,"day"),isCurrentMonth:!1,isDisabled:o.isBefore(s,"day")||o.isAfter(r,"day")})}const a=t.clone();for(;a<=o;)n.push({value:a.valueOf(),labelString:a.format("dd"),labelNumber:a.date(),dayOfWeek:a.isoWeekday(),isWeekend:6===a.isoWeekday()||7===a.isoWeekday(),weekOfMonth:Math.ceil((n.length+1)/7),isToday:a.isSame(e,"day"),isCurrentMonth:!0,isDisabled:a.isBefore(s,"day")||a.isAfter(r,"day")}),a.add(1,"day");const u=7-o.isoWeekday();if(u>0)for(let i=1;i<=u;i++){const t=o.clone().add(i,"days").startOf("day");n.push({value:t.valueOf(),labelString:t.format("dd"),labelNumber:t.date(),dayOfWeek:t.isoWeekday(),isWeekend:6===t.isoWeekday()||7===t.isoWeekday(),weekOfMonth:Math.ceil((n.length+1)/7),isToday:t.isSame(e,"day"),isCurrentMonth:!1,isDisabled:t.isBefore(s,"day")||t.isAfter(r,"day")})}return n.sort((e,t)=>e.value-t.value),n},[v,k,c.dateMax,c.dateMin]),F=a.useMemo(()=>function(e){const t=Math.floor(e/7);return e%7>0?t+1:t}(q.length)+1,[q]),K=a.useMemo(()=>40+28*F+6*(F-1)+2*l.KEY_SIZE_DATA[c.size].padding,[c.size,F]),L=a.useMemo(()=>l.KEY_SIZE_DATA[c.size].radius,[c.size]),Z=a.useMemo(()=>l.KEY_SIZE_DATA[c.size].padding,[c.size]),H=a.useMemo(()=>null!==v,[v]),U=a.useMemo(()=>{const e=(v??k).clone().add(1,"month").startOf("month");return!!c.dateMax&&e.isAfter(i.utc(c.dateMax),"month")},[v,c.dateMax,k]),J=a.useMemo(()=>{const e=(v??k).clone().subtract(1,"month").startOf("month");return!!c.dateMin&&e.isBefore(i.utc(c.dateMin),"month")},[v,c.dateMin,k]),[X,G]=a.useState(!1),Q=a.useRef(""),ee=a.useRef(null),te=a.useRef(null),oe=a.useRef(null),ne=a.useCallback(()=>{var e;null==(e=c.onFocus)||e.call(c)},[c.onFocus]),se=a.useCallback(()=>{var e;null==(e=c.onBlur)||e.call(c)},[c.onBlur]),re=a.useCallback(()=>{N(null)},[]),{isOpen:le,refReference:ie,refFloating:ae,floatingStyles:ue,close:de,toggle:ce}=d.usePopover({placement:"bottom-start",offset:Z,mode:"independence",isClickOutside:!0,refsExcludeClickOutside:[ee,te],isDisabled:(null==c?void 0:c.isDisabled)||(null==c?void 0:c.isReadOnly),onFocus:ne,onBlur:se,onBlurReference:re}),pe=a.useMemo(()=>!(X||H||!c.labelPlaceholder||le||A||R),[X,H,le,c.labelPlaceholder,A,R]),fe=a.useCallback(e=>{const t=i(e).utc();(null==v?void 0:v.isSame(t,"day"))||(y(t),m(t.valueOf()),z({[O.DD]:t.clone().date(),[O.MM]:t.clone().month()+1,[O.YYYY]:t.clone().year()}))},[v,m]),he=a.useCallback(e=>{var t;const o=e.key,n=/^\d$/.test(o);if(n||["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Backspace","Delete","Tab","Enter"].includes(o)||e.ctrlKey||e.metaKey){if(R&&_.default[R]){if(n){!function(e,t,o,n){var s;const r=e,l=t,i=(null==(s=o[l])?void 0:s.toString())??"",a=e=>"0"===e,u=e=>Number(e);if(l===O.DD){if(i.length>=2){const e=u(r);if(0===e||e>31)return;return void n.default[l].setValue(e)}if(1===i.length&&a(i)){const e=u(r);if(0===e||e>31)return;return n.default[l].setValue(e),void n.default[l].onNext()}const e=i+r,t=u(e);if(t>31){const e=u(r);if(0===e||e>31)return;return n.default[l].setValue(e),void n.default[l].onNext()}const o=0===t?r:e,s=u(o);if(0===s||s>31)return;n.default[l].setValue(s),2===o.length&&n.default[l].onNext()}else if(l===O.MM){if(i.length>=2){const e=u(r);if(0===e||e>12)return;return void n.default[l].setValue(e)}if(1===i.length&&a(i)){const e=u(r);if(0===e||e>12)return;return n.default[l].setValue(e),void n.default[l].onNext()}const e=i+r,t=u(e),o=0===t||t>12?r:e,s=u(o);if(0===s||s>12)return;n.default[l].setValue(s),(2===o.length||1===o.length&&s>1)&&n.default[l].onNext()}else if(l===O.YYYY){if(i.length>=4){if("0"===r)return;return void n.default[l].setValue(u(r))}const e=(i+r).slice(-4);n.default[l].setValue(u(e))}}(o,R,E,_),e.preventDefault(),e.stopPropagation()}if("Tab"===o&&(_.default[R].isLast?null==(t=null==oe?void 0:oe.current)||t.blur():(e.preventDefault(),_.default[R].onNext())),"Enter"===o&&(e.preventDefault(),e.stopPropagation()),"Backspace"===o||"Delete"===o){if(R===O.DD)if(null!==E.DD){const e=E.DD.toString();if(1===e.length)_.default[R].setValue(null);else{const t=e.slice(0,-1);_.default[R].setValue(Number(t))}}else _.default[R].onPrev();else if(R===O.MM)if(null!==E.MM){const e=E.MM.toString();if(1===e.length)_.default[R].setValue(null);else{const t=e.slice(0,-1);_.default[R].setValue(Number(t))}}else _.default[R].onPrev();else if(R===O.YYYY)if(null!==E.YYYY){const e=E.YYYY.toString();if(1===e.length)_.default[R].setValue(null);else{const t=e.slice(0,-1);_.default[R].setValue(Number(t))}}else _.default[R].onPrev();e.preventDefault(),e.stopPropagation()}"ArrowLeft"!==o&&"ArrowDown"!==o||(e.preventDefault(),_.default[R].onPrev()),"ArrowRight"!==o&&"ArrowUp"!==o||(e.preventDefault(),_.default[R].onNext())}}else e.preventDefault()},[R,E,_.default,_]),ge=a.useCallback(()=>{const e=(v??k).clone().add(1,"month");fe(e.valueOf())},[v,fe,k]),me=a.useCallback(()=>{const e=(v??k).clone().subtract(1,"month");fe(e.valueOf())},[v,fe,k]);a.useEffect(()=>{S(i(c.dateDefault).utc())},[c.dateDefault]),a.useEffect(()=>{y(c.value||c.defaultValue?i(c.value??c.defaultValue).utc():null)},[c.value,c.defaultValue]);const $e=a.useCallback((e,t,o,n)=>{const s=e.DD??NaN,r=e.MM??NaN,l=e.YYYY??NaN,a=null!==e[O.DD]||null!==e[O.MM]||null!==e[O.YYYY];if(Number.isNaN(s)||Number.isNaN(r)||Number.isNaN(l))null==n||n(a);else{const e=i.utc(`${s}.${r}.${l}`,"D.M.YYYY",!0).startOf("day");e.isValid()?null==t||t(e.valueOf()):null==o||o()}},[]);return a.useEffect(()=>{$e(E,e=>{fe(e),W(!1)},()=>{m(null),W(!0)},e=>{e||W(!1)})},[$e,fe,m,E]),a.useEffect(()=>{le||X||!A||R||$e(E,()=>{},()=>{m(null),C(),W(!1)},()=>{m(null),C(),W(!1)})},[$e,C,E,le,X,m,A,R]),a.useEffect(()=>{var e;R&&(null==(e=null==oe?void 0:oe.current)||e.focus())},[R]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(g,{$size:c.size,$genre:c.genre,$sx:c.sx,$isDisabled:null==c?void 0:c.isDisabled,$isMinWidth:null==c?void 0:c.isMinWidth,$radius:L,$parentListHeight:K,tabIndex:-1,children:e.jsxRuntimeExports.jsxs(w,{ref:ie,$genre:c.genre,$size:c.size,$isShowPlaceholder:pe,$isDisabled:null==c?void 0:c.isDisabled,$isReadOnly:null==c?void 0:c.isReadOnly,tabIndex:-1,$error:I?{isError:!0,size:(null==(p=null==c?void 0:c.error)?void 0:p.size)??c.size,...c.notValidDate}:c.error,$isOpen:le||!!R,onClick:()=>{R||N(O.DD)},children:[e.jsxRuntimeExports.jsx("input",{name:c.name,id:c.id,ref:oe,type:"tel",inputMode:"numeric",tabIndex:0,disabled:(null==c?void 0:c.isDisabled)||(null==c?void 0:c.isReadOnly),style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",opacity:0,border:"none",background:"transparent"},onKeyDown:he,onChange:e=>{const t=e.target.value,o=Q.current,n=t.length>o.length?t.slice(-1):null;Q.current=t,n&&/^\d$/.test(n)&&he({key:n,preventDefault:()=>{},stopPropagation:()=>{}}),t.length<o.length&&he({key:"Backspace",preventDefault:()=>{},stopPropagation:()=>{}})},onFocus:()=>{G(!0),R||N(O.DD)},onBlur:()=>{var e;G(!1),le||null==(e=c.onBlur)||e.call(c)}}),pe?e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1,isNoUserSelect:!0}},sxStandard:e=>({default:{color:e.colors.input[c.genre].color.placeholder}}),children:c.labelPlaceholder}):_.sort.map((t,o)=>e.jsxRuntimeExports.jsxs(a.Fragment,{children:[e.jsxRuntimeExports.jsx(M,{$isHaveValue:!!t.value,$isActive:R===t.type,$genre:c.genre,$size:c.size,onClick:e=>{e.preventDefault(),e.stopPropagation(),(null==c?void 0:c.isDisabled)||(null==c?void 0:c.isReadOnly)||t.setActive()},children:null!=t.value?String(t.value).padStart(t.type===O.YYYY?1:2,"0"):t.placeholder||""}),o!==_.sort.length-1&&e.jsxRuntimeExports.jsx("span",{style:{width:"4px",pointerEvents:"none",textAlign:"center"},children:"."})]},t.type)),e.jsxRuntimeExports.jsx(j,{genre:c.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isOnlyIcon:!0,icons:[{name:"Calendar",type:"id"}],isDisabled:(null==c?void 0:c.isDisabled)||(null==c?void 0:c.isReadOnly),onFocus:e=>{e.preventDefault(),e.stopPropagation(),N(null)},onClick:e=>{e.preventDefault(),e.stopPropagation(),ce()}})]})}),e.jsxRuntimeExports.jsx(d.Popover,{sx:e=>({default:{background:e.colors.input[c.genre].background.rest,border:`solid 1px ${e.colors.input[c.genre].border.rest}`}}),size:c.size,genre:c.genre,isOpen:le,isShowAlwaysOutline:!0,floatingStyles:ue,ref:ae,children:e.jsxRuntimeExports.jsxs($,{$isInputEffect:c.isInputEffect,$genre:c.genre,$size:c.size,children:[e.jsxRuntimeExports.jsxs(s.Stack,{sx:{default:{justifyContent:"space-between",alignItems:"center"}},children:[e.jsxRuntimeExports.jsx(t.Button,{type:"button",isRadius:!0,icons:[{name:"Arrow2",type:"id",turn:90}],isWidthAsHeight:!0,genre:c.genre,size:"small",onClick:()=>!J&&me(),isHidden:J}),e.jsxRuntimeExports.jsxs(s.Stack,{sx:{default:{gap:"8px"}},children:[e.jsxRuntimeExports.jsx(n.SelectMonth,{monthsLocale:c.locale.months,genre:c.genre,size:"small",value:(v??k).clone().startOf("month").utc().valueOf(),isOnClickOptionClose:!0,isStayValueAfterSelect:!0,isOnlyColorInSelectListOption:!0,isCenter:!0,isShortLabel:!0,refFloating:ee,onChange:e=>{e&&fe(e)},dateMin:c.dateMin,dateMax:c.dateMax,sx:{default:{width:"60px"}}}),e.jsxRuntimeExports.jsx(n.SelectYear,{genre:c.genre,size:"small",refFloating:te,value:(v??k).clone().startOf("year").utc().valueOf(),onChange:e=>{e&&fe(e)},isOnClickOptionClose:!0,isStayValueAfterSelect:!0,isOnlyColorInSelectListOption:!0,isCenter:!0,dateMin:c.dateMin,dateMax:c.dateMax,sx:{default:{width:"60px"}}})]}),e.jsxRuntimeExports.jsx(t.Button,{type:"button",onClick:()=>!U&&ge(),isWidthAsHeight:!0,isRadius:!0,icons:[{name:"Arrow2",type:"id",turn:-90}],genre:c.genre,size:"small",isHidden:U})]}),e.jsxRuntimeExports.jsxs(x,{$rows:F,children:[B.map((t,o)=>{var n;return e.jsxRuntimeExports.jsx(Y,{tabIndex:-1,type:"button",$isToday:!1,$isWeekend:!1,$genre:c.genre,$size:c.size,$row:(null==(n=q[0])?void 0:n.weekOfMonth)-1,$column:o+1,children:t.label},`${t.label}-${o}`)}),q.map(t=>e.jsxRuntimeExports.jsxs(b,{type:"button",$isDisabled:t.isDisabled,$genre:c.genre,$size:c.size,$row:(null==t?void 0:t.weekOfMonth)+1,$column:t.dayOfWeek,onClick:()=>{t.isDisabled||(fe(t.value),c.isOnClickClose&&de())},tabIndex:t.isDisabled?-1:0,$isToday:t.isToday,$isWeekend:t.isWeekend,$isChoice:t.value===(null==v?void 0:v.valueOf()),$isCurrentMonth:t.isCurrentMonth,children:[!t.isDisabled&&e.jsxRuntimeExports.jsx(o.Ripple,{color:D.colors.date[c.genre].color.rest}),t.labelNumber]},t.value))]})]})}),I||(null==c?void 0:c.error)?e.jsxRuntimeExports.jsx(r.ErrorMessage,{...I?{isError:!0,size:(null==(f=null==c?void 0:c.error)?void 0:f.size)??c.size,...c.notValidDate}:c.error,size:(null==(h=null==c?void 0:c.error)?void 0:h.size)??c.size}):null]})},exports.DatePickerVariant=O,exports.DateWrapper=g,exports.addDateDropdownDaySize=D,exports.addDateInputButtonSize=E,exports.addDateInputWrapperSize=S;
174
- //# sourceMappingURL=component.types-DoUkmzRs.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.types-DoUkmzRs.cjs","sources":["../src/components/date-picker/component.styles.ts","../src/components/date-picker/component.types.ts","../src/components/date-picker/component.tsx"],"sourcesContent":["import { addInputIsInputEffect } from '@local/components/input';\nimport { getFontSizeStyles } from '@local/components/typography';\nimport {\n addDisabled,\n addNiceNumber,\n addOutline,\n addOutlineChildren,\n addRemoveOutline,\n addRemoveScrollbar,\n addTransition,\n} from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { KEY_SIZE_DATA } from '@local/theme/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { Button, ButtonProps } from '../button';\nimport { DateDropdownDayProps, DateDropdownListProps, DateInputProps, DateStyledListProps, DateWrapperProps } from '.';\n\nexport const DateWrapper = styled.div<DateWrapperProps>`\n width: 100%;\n position: relative;\n height: fit-content;\n ${(props) =>\n props.$isMinWidth &&\n css`\n width: min-content;\n `}\n ${addSX};\n ${addNiceNumber};\n`;\n\nexport const DateDropdownListParent = styled(motion.div)<DateStyledListProps>`\n ${addRemoveScrollbar};\n`;\n\nexport const DateDropdownList = styled.div<DateDropdownListProps>`\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n padding-top: 6px;\n transform: translateZ(0);\n justify-content: flex-start;\n gap: 10px;\n ${addInputIsInputEffect};\n`;\n\nexport const DateDropdownDays = styled.div<{ $rows: number }>`\n display: grid;\n column-gap: normal;\n row-gap: normal;\n gap: 6px;\n grid-template-columns: repeat(7, 28px);\n grid-template-rows: repeat(${(props) => props.$rows}, 28px);\n justify-content: space-between;\n`;\n\nexport const addDateDropdownDaySize = css<DateDropdownDayProps>`\n ${(props) =>\n props.$size &&\n css`\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;\n ${(params) => getFontSizeStyles(12, 700, params.theme.font.family)};\n `};\n position: relative;\n overflow: hidden;\n isolation: isolate;\n user-select: none;\n background: ${(props) => props.theme.colors.date[props.$genre].background.rest};\n border-color: ${(props) => props.theme.colors.date[props.$genre].border.rest};\n color: ${(props) => props.theme.colors.date[props.$genre].color.rest};\n border: 1px solid transparent;\n grid-row: ${(props) => props.$row};\n grid-column: ${(props) => props.$column};\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n &:hover {\n ${(props) =>\n !props.$isDisabled &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.hover};\n border-color: ${props.theme.colors.date[props.$genre].border.hover};\n color: ${props.theme.colors.date[props.$genre].color.hover};\n `}\n }\n ${addTransition};\n\n ${(props) =>\n props.$isWeekend &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.weekend};\n border-color: ${props.theme.colors.date[props.$genre].border.weekend};\n color: ${props.theme.colors.date[props.$genre].color.weekend};\n `}\n ${(props) =>\n props.$isToday &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.today};\n border-color: ${props.theme.colors.date[props.$genre].border.today};\n color: ${props.theme.colors.date[props.$genre].color.today};\n `}\n ${(props) =>\n props.$isChoice &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.choice};\n border-color: ${props.theme.colors.date[props.$genre].border.choice};\n color: ${props.theme.colors.date[props.$genre].color.choice};\n `}\n ${(props) =>\n props.$isDisabled &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.weekend};\n border-color: ${props.theme.colors.date[props.$genre].border.weekend};\n color: ${props.theme.colors.date[props.$genre].color.weekend};\n opacity: 0.5;\n `}\n ${(props) =>\n !props.$isCurrentMonth &&\n css`\n opacity: 0.5;\n `}\n ${(params) => getFontSizeStyles(12, 700, params.theme.font.family)};\n\n ${addOutline};\n`;\n\nexport const DateDropdownDay = styled.button<DateDropdownDayProps>`\n ${addDateDropdownDaySize}\n`;\nexport const DateDropdownDayOfWeek = styled.button<DateDropdownDayProps>`\n ${addDateDropdownDaySize}\n opacity: 1;\n background-color: transparent;\n`;\n\n/****************************************** Genre *************************************************/\nconst addDateInputGenre = css<DateInputProps>`\n background-color: ${(props) => (props.$isActive ? props.theme.palette.black10 : 'transparent')};\n\n ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n ${(props) =>\n props.$isHaveValue\n ? css`\n color: ${props.theme.colors.input[props.$genre].color.rest};\n &:focus-visible {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `\n : css`\n color: ${props.theme.colors.input[props.$genre].color.placeholder};\n `};\n`;\nconst addDateInputSize = css<DateInputProps>`\n border-radius: 4px;\n padding: 2px;\n min-width: 10px;\n`;\nexport const DateInput = styled.div<DateInputProps>`\n text-align: center;\n resize: none;\n overflow: hidden;\n border: 0px solid;\n background: transparent;\n margin: 0px !important;\n white-space: nowrap;\n ${addDateInputSize};\n ${addDateInputGenre};\n ${addRemoveOutline};\n`;\n\n/****************************************** Genre *************************************************/\nconst addDateInputWrapperGenre = css<DateInputProps>`\n ${(props) => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid transparent;\n outline-offset: 1px;\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n /* ${addOutlineChildren}; */\n ${\n props.$isOpen &&\n css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid ${(props) => props.theme.states.focus};\n `\n }\n `};\n`;\n\n/****************************************** Size *************************************************/\nexport const addDateInputWrapperSize = css<DateInputProps>`\n ${(props) => css`\n padding: ${props.$isShowPlaceholder ? `0px ${KEY_SIZE_DATA[props.$size].padding}px` : `0px ${KEY_SIZE_DATA[props.$size].padding}px 0px ${KEY_SIZE_DATA[props.$size].padding - 2}px`};\n height: ${KEY_SIZE_DATA[props.$size].height}px;\n min-height: ${KEY_SIZE_DATA[props.$size].height}px;\n max-height: ${KEY_SIZE_DATA[props.$size].height}px;\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;\n `}\n`;\n\nexport const DateInputWrapper = styled.div<DateInputProps>`\n resize: none;\n overflow: hidden;\n width: 100%;\n border: 1px solid transparent;\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: 0px;\n\n ${addDisabled};\n ${addDateInputWrapperSize};\n ${addDateInputWrapperGenre};\n ${addTransition};\n ${addError};\n`;\n\nexport const addDateInputButtonSize = css<ButtonProps>`\n ${(props) => css`\n right:${KEY_SIZE_DATA[props.size].padding}px;\n `}\n`;\nexport const DateInputButton = styled(Button)`\n position: absolute;\n height: max-content !important;\n ${addDateInputButtonSize};\n`;\n","import { InputStandardProps, StyledInputProps, StyledInputWrapperProps } from '@local/components/input';\nimport { addErrorProps, ErrorMessageProps } from '@local/styles/error';\nimport { addSXProps } from '@local/styles/sx';\nimport { IThemeGenreDate, IThemeSize } from '@local/theme';\nimport { AddDollarSign } from '@local/types';\n\nimport { SelectMonthProps } from '../select';\n\nexport type DatePickerMode = DatePickerVariant[];\nexport enum DatePickerVariant {\n DD = 'DD',\n MM = 'MM',\n YYYY = 'YYYY',\n}\n\nexport type CommonDatePickerProps = addErrorProps &\n addSXProps & {\n genre: TDateGenre;\n\n id?: string;\n\n isDisabled?: boolean;\n isBold?: boolean;\n isMinWidth?: boolean;\n isReadOnly?: boolean;\n\n isInputEffect?: InputStandardProps['isInputEffect'];\n\n isOnClickClose?: boolean;\n\n labelPlaceholder?: string;\n\n locale: {\n months: SelectMonthProps['monthsLocale'];\n weeks: WeekItem[];\n inputs: InputItem;\n };\n\n notValidDate?: Omit<ErrorMessageProps, 'size' | 'isError'>;\n\n mode?: DatePickerMode;\n\n name?: string;\n\n onBlur?: () => void;\n\n onChange: (timestamp: number | null) => void;\n\n onFocus?: () => void;\n\n size: IThemeSize;\n\n dateMax?: number;\n\n dateMin?: number;\n\n dateDefault: number;\n };\n\ntype ControlledValue = {\n value: number | null | undefined;\n\n defaultValue?: never;\n};\n\ntype UncontrolledValue = {\n defaultValue: number | null | undefined;\n\n value?: never;\n};\nexport type DatePickerProps = CommonDatePickerProps & (ControlledValue | UncontrolledValue);\n\nexport type TDateGenre = keyof IThemeGenreDate;\n\nexport interface DateDayProps {\n dayOfWeek: number;\n\n isCurrentMonth: boolean;\n\n isDisabled: boolean;\n\n isToday: boolean;\n\n isWeekend: boolean;\n\n labelNumber: number;\n\n labelString: string;\n\n value: number;\n\n weekOfMonth: number;\n}\n\nexport type DateWrapperProps = AddDollarSign<\n Pick<InputStandardProps, 'genre' | 'isDisabled'> & {\n parentListHeight: number;\n radius: number;\n isMinWidth?: boolean;\n }\n> &\n StyledInputWrapperProps;\n\nexport type DateInputProps = AddDollarSign<\n Pick<DatePickerProps, 'error' | 'genre' | 'size' | 'isBold' | 'isReadOnly' | 'isDisabled'> & {\n isOpen?: boolean;\n isActive?: boolean;\n isHaveValue?: boolean;\n isShowPlaceholder?: boolean;\n }\n>;\n\nexport type DateStyledOptionProps = AddDollarSign<{\n isSelectedItem?: boolean;\n isCheckboxProps?: boolean;\n}> &\n StyledInputProps;\n\nexport type DateStyledListProps = AddDollarSign<Pick<InputStandardProps, 'genre' | 'size'>>;\n\nexport type DateDropdownListProps = AddDollarSign<\n Pick<DatePickerProps, 'isInputEffect'> & Pick<DatePickerProps, 'genre' | 'size'>\n>;\n\nexport type DateDropdownDayProps = AddDollarSign<\n Pick<DatePickerProps, 'genre' | 'size'> &\n Pick<DateDayProps, 'isToday' | 'isWeekend'> & {\n row: number;\n column: number;\n isChoice?: boolean;\n isCurrentMonth?: boolean;\n isDisabled?: boolean;\n }\n>;\n\nexport type MonthItem = {\n localeLong: string;\n\n localeShort: string;\n\n value:\n | 'january'\n | 'february'\n | 'march'\n | 'april'\n | 'may'\n | 'june'\n | 'july'\n | 'august'\n | 'september'\n | 'october'\n | 'november'\n | 'december';\n};\nexport type WeekItem = {\n localeLong: string;\n\n localeShort: string;\n\n value: 'mo' | 'tu' | 'we' | 'th' | 'fr' | 'sa' | 'su';\n};\nexport type InputItem = {\n day: string;\n\n month: string;\n\n year: string;\n};\n","import { Button } from '@local/components/button';\nimport { Ripple } from '@local/components/ripple';\nimport { SelectMonth, SelectYear } from '@local/components/select';\nimport { Stack } from '@local/components/stack';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport moment, { Moment } from 'moment';\nimport { Fragment, KeyboardEvent, RefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Popover, usePopover } from '../popover';\nimport { Typography } from '../typography';\nimport {\n DateDayProps,\n DateDropdownDay,\n DateDropdownDayOfWeek,\n DateDropdownDays,\n DateDropdownList,\n DateInput,\n DateInputButton,\n DateInputWrapper,\n DatePickerMode,\n DatePickerProps,\n DatePickerVariant,\n DateWrapper,\n WeekItem,\n} from '.';\n\nfunction countSevens(number: number) {\n const divisor = 7;\n const count = Math.floor(number / divisor);\n const remainder = number % divisor;\n\n return remainder > 0 ? count + 1 : count;\n}\n\nexport const DatePicker = (props: DatePickerProps) => {\n const { onChange } = props;\n const theme = useTheme();\n\n const [valueMoment, setValueMoment] = useState<null | Moment>(null);\n const [dateDefaultMoment, setDateDefaultMoment] = useState<Moment>(moment(props.dateDefault).utc());\n\n const [input, setInput] = useState<Record<DatePickerVariant, number | null>>({\n [DatePickerVariant.DD]: null,\n [DatePickerVariant.MM]: null,\n [DatePickerVariant.YYYY]: null,\n });\n\n const isHasInput = useMemo(() => {\n return (\n input[DatePickerVariant.DD] !== null ||\n input[DatePickerVariant.MM] !== null ||\n input[DatePickerVariant.YYYY] !== null\n );\n }, [input]);\n const onClearInput = useCallback(() => {\n setInput({\n [DatePickerVariant.DD]: null,\n [DatePickerVariant.MM]: null,\n [DatePickerVariant.YYYY]: null,\n });\n }, []);\n const [activeSegment, setActiveSegment] = useState<DatePickerVariant | null>(null);\n const [isError, setIsError] = useState(false);\n\n const mode: DatePickerMode = useMemo(() => {\n if (!props.mode || props.mode.length === 0) {\n return [DatePickerVariant.DD, DatePickerVariant.MM, DatePickerVariant.YYYY]; // дефолт\n }\n\n const hasDuplicates = new Set(props.mode).size !== props.mode.length;\n\n if (hasDuplicates) {\n return [DatePickerVariant.DD, DatePickerVariant.MM, DatePickerVariant.YYYY]; // дефолт при дублировании\n }\n\n return props.mode;\n }, [props.mode]);\n\n const getNextSegment = useCallback(\n (currentSegment: DatePickerVariant): DatePickerVariant | null => {\n const currentIndex = mode.indexOf(currentSegment);\n return currentIndex < mode.length - 1 ? mode[currentIndex + 1] : mode[0];\n },\n [mode],\n );\n\n const getPrevSegment = useCallback(\n (currentSegment: DatePickerVariant): DatePickerVariant | null => {\n const currentIndex = mode.indexOf(currentSegment);\n return currentIndex > 0 ? mode[currentIndex - 1] : mode[mode.length - 1];\n },\n [mode],\n );\n\n const dataDate = useMemo(() => {\n const result = {\n MM: {\n nextSegment: getNextSegment(DatePickerVariant.MM),\n preSegment: getPrevSegment(DatePickerVariant.MM),\n onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.MM)),\n onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.MM)),\n isLast: mode[mode.length - 1] === DatePickerVariant.MM,\n isFirst: mode[0] === DatePickerVariant.MM,\n type: DatePickerVariant.MM,\n value: input.MM,\n setValue: (value: number | null) => setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.MM]: value })),\n setActive: () => setActiveSegment(DatePickerVariant.MM),\n placeholder: props.locale.inputs.month,\n },\n DD: {\n nextSegment: getNextSegment(DatePickerVariant.DD),\n preSegment: getPrevSegment(DatePickerVariant.DD),\n isLast: mode[mode.length - 1] === DatePickerVariant.DD,\n isFirst: mode[0] === DatePickerVariant.DD,\n onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.DD)),\n onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.DD)),\n type: DatePickerVariant.DD,\n value: input.DD,\n setValue: (value: number | null) => setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.DD]: value })),\n setActive: () => setActiveSegment(DatePickerVariant.DD),\n placeholder: props.locale.inputs.day,\n },\n YYYY: {\n nextSegment: getNextSegment(DatePickerVariant.YYYY),\n preSegment: getPrevSegment(DatePickerVariant.YYYY),\n isLast: mode[mode.length - 1] === DatePickerVariant.YYYY,\n isFirst: mode[0] === DatePickerVariant.YYYY,\n onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.YYYY)),\n onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.YYYY)),\n type: DatePickerVariant.YYYY,\n value: input.YYYY,\n setValue: (value: number | null) =>\n setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.YYYY]: value })),\n setActive: () => setActiveSegment(DatePickerVariant.YYYY),\n placeholder: props.locale.inputs.year,\n },\n };\n const resultSort = mode\n .map((e) => {\n if (e === DatePickerVariant.DD) return result.DD;\n if (e === DatePickerVariant.MM) return result.MM;\n if (e === DatePickerVariant.YYYY) return result.YYYY;\n return null;\n })\n .filter((e) => e !== null);\n return { sort: resultSort, default: result };\n }, [\n props.locale.inputs.day,\n props.locale.inputs.month,\n props.locale.inputs.year,\n getNextSegment,\n getPrevSegment,\n mode,\n input.DD,\n input.MM,\n input.YYYY,\n ]);\n const daysInWeek = useMemo(() => {\n const weekOrder: WeekItem['value'][] = ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su'];\n\n return weekOrder.map((key, index) => {\n const found = props.locale.weeks.find((w) => w.value === key);\n return {\n index,\n label: found?.localeShort ?? key.toUpperCase(),\n };\n });\n }, [props.locale.weeks]);\n const daysInMonth: DateDayProps[] = useMemo(() => {\n const today = moment.utc();\n const startOfMonth = (valueMoment ?? dateDefaultMoment).clone().startOf('month');\n const endOfMonth = (valueMoment ?? dateDefaultMoment).clone().endOf('month');\n const days = [];\n\n const dateMin = props.dateMin ? moment.utc(props.dateMin) : null;\n const dateMax = props.dateMax ? moment.utc(props.dateMax) : null;\n\n const daysToAddBefore = startOfMonth.isoWeekday() - 1;\n if (daysToAddBefore > 0) {\n for (let i = daysToAddBefore; i > 0; i--) {\n const day = startOfMonth.clone().subtract(i, 'days');\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(dateMin, 'day') || day.isAfter(dateMax, 'day'),\n });\n }\n }\n\n const currentDate = startOfMonth.clone();\n while (currentDate <= endOfMonth) {\n days.push({\n value: currentDate.valueOf(),\n labelString: currentDate.format('dd'),\n labelNumber: currentDate.date(),\n dayOfWeek: currentDate.isoWeekday(),\n isWeekend: currentDate.isoWeekday() === 6 || currentDate.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: currentDate.isSame(today, 'day'),\n isCurrentMonth: true,\n isDisabled: currentDate.isBefore(dateMin, 'day') || currentDate.isAfter(dateMax, 'day'),\n });\n currentDate.add(1, 'day');\n }\n\n const daysToAddAfter = 7 - endOfMonth.isoWeekday();\n if (daysToAddAfter > 0) {\n for (let i = 1; i <= daysToAddAfter; i++) {\n const day = endOfMonth.clone().add(i, 'days').startOf('day');\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(dateMin, 'day') || day.isAfter(dateMax, 'day'),\n });\n }\n }\n\n days.sort((a, b) => a.value - b.value);\n return days;\n }, [valueMoment, dateDefaultMoment, props.dateMax, props.dateMin]);\n\n const rows = useMemo(() => countSevens(daysInMonth.length) + 1, [daysInMonth]);\n const height = useMemo(\n () => 40 + rows * 28 + (rows - 1) * 6 + KEY_SIZE_DATA[props.size].padding * 2,\n [props.size, rows],\n );\n\n const sizeRadius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size]);\n const sizePadding = useMemo(() => KEY_SIZE_DATA[props.size].padding, [props.size]);\n\n const isHasValue = useMemo(() => {\n return valueMoment !== null;\n }, [valueMoment]);\n const isBlockNextMonth = useMemo(() => {\n const nextMonth = (valueMoment ?? dateDefaultMoment).clone().add(1, 'month').startOf('month');\n const isBeforeEndDate = props.dateMax ? nextMonth.isAfter(moment.utc(props.dateMax), 'month') : false;\n return isBeforeEndDate;\n }, [valueMoment, props.dateMax, dateDefaultMoment]);\n const isBlockPrevMonth = useMemo(() => {\n const prevMonth = (valueMoment ?? dateDefaultMoment).clone().subtract(1, 'month').startOf('month');\n const isAfterStartDate = props.dateMin ? prevMonth.isBefore(moment.utc(props.dateMin), 'month') : false;\n return isAfterStartDate;\n }, [valueMoment, props.dateMin, dateDefaultMoment]);\n\n const [isInputFocused, setIsInputFocused] = useState(false);\n\n const refPrevValue = useRef('');\n const refSelectMonth = useRef<HTMLElement>(null);\n const refSelectYear = useRef<HTMLElement>(null);\n const refHiddenInput = useRef<HTMLInputElement>(null);\n\n const onFocusPopover = useCallback(() => {\n props.onFocus?.();\n }, [props.onFocus]);\n const onBlurPopover = useCallback(() => {\n props.onBlur?.();\n }, [props.onBlur]);\n const onBlurReference = useCallback(() => {\n setActiveSegment(null);\n }, []);\n const { isOpen, refReference, refFloating, floatingStyles, close, toggle } = usePopover({\n placement: 'bottom-start',\n offset: sizePadding,\n mode: 'independence',\n isClickOutside: true,\n refsExcludeClickOutside: [refSelectMonth, refSelectYear],\n isDisabled: props?.isDisabled || props?.isReadOnly,\n onFocus: onFocusPopover,\n onBlur: onBlurPopover,\n onBlurReference: onBlurReference,\n });\n\n const isShowPlaceholder = useMemo(() => {\n return !!(!isInputFocused && !isHasValue && props.labelPlaceholder && !isOpen && !isHasInput && !activeSegment);\n }, [isInputFocused, isHasValue, isOpen, props.labelPlaceholder, isHasInput, activeSegment]);\n\n const onChangeDate = useCallback(\n (timestamp: number) => {\n const momentNewDate = moment(timestamp).utc();\n if (valueMoment?.isSame(momentNewDate, 'day')) return;\n setValueMoment(momentNewDate);\n onChange(momentNewDate.valueOf());\n\n setInput({\n [DatePickerVariant.DD]: momentNewDate.clone().date(),\n [DatePickerVariant.MM]: momentNewDate.clone().month() + 1,\n [DatePickerVariant.YYYY]: momentNewDate.clone().year(),\n });\n },\n [valueMoment, onChange],\n );\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n const key = e.key;\n\n const allowedKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Backspace', 'Delete', 'Tab', 'Enter'];\n\n const isDigit = /^\\d$/.test(key);\n const isAllowed = isDigit || allowedKeys.includes(key) || e.ctrlKey || e.metaKey;\n\n if (!isAllowed) {\n e.preventDefault();\n return;\n }\n\n if (activeSegment && dataDate.default[activeSegment]) {\n if (isDigit) {\n const digit = key;\n\n handleDigitKey(digit, activeSegment, input, dataDate);\n e.preventDefault();\n e.stopPropagation();\n }\n if (key === 'Tab') {\n if (!dataDate.default[activeSegment].isLast) {\n e.preventDefault();\n dataDate.default[activeSegment].onNext();\n } else {\n refHiddenInput?.current?.blur();\n }\n }\n if (key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n }\n if (key === 'Backspace' || key === 'Delete') {\n if (activeSegment === DatePickerVariant.DD) {\n if (input.DD !== null) {\n const current = input.DD.toString();\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue(null);\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(Number(newValue));\n }\n } else {\n dataDate.default[activeSegment].onPrev();\n }\n } else if (activeSegment === DatePickerVariant.MM) {\n if (input.MM !== null) {\n const current = input.MM.toString();\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue(null);\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(Number(newValue));\n }\n } else {\n dataDate.default[activeSegment].onPrev();\n }\n } else if (activeSegment === DatePickerVariant.YYYY) {\n if (input.YYYY !== null) {\n const current = input.YYYY.toString();\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue(null);\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(Number(newValue));\n }\n } else {\n dataDate.default[activeSegment].onPrev();\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n e.preventDefault();\n dataDate.default[activeSegment].onPrev();\n }\n if (key === 'ArrowRight' || key === 'ArrowUp') {\n e.preventDefault();\n dataDate.default[activeSegment].onNext();\n }\n }\n },\n [activeSegment, input, dataDate.default, dataDate],\n );\n const onNextMonth = useCallback(() => {\n const newDate = (valueMoment ?? dateDefaultMoment).clone().add(1, 'month');\n onChangeDate(newDate.valueOf());\n }, [valueMoment, onChangeDate, dateDefaultMoment]);\n\n const onPrevMonth = useCallback(() => {\n const newDate = (valueMoment ?? dateDefaultMoment).clone().subtract(1, 'month');\n onChangeDate(newDate.valueOf());\n }, [valueMoment, onChangeDate, dateDefaultMoment]);\n\n useEffect(() => {\n setDateDefaultMoment(moment(props.dateDefault).utc());\n }, [props.dateDefault]);\n\n useEffect(() => {\n setValueMoment(props.value || props.defaultValue ? moment(props.value ?? props.defaultValue).utc() : null);\n }, [props.value, props.defaultValue]);\n\n const getValidateInput = useCallback(\n (\n input: Record<DatePickerVariant, number | null>,\n onSuccess?: (value: number) => void,\n onFailure?: () => void,\n onNan?: (isHasInput: boolean) => void,\n ) => {\n const day = input.DD ?? NaN;\n const month = input.MM ?? NaN;\n const year = input.YYYY ?? NaN;\n const isHasInput = input[DatePickerVariant.DD] !== null ||\n input[DatePickerVariant.MM] !== null ||\n input[DatePickerVariant.YYYY] !== null\n if (!Number.isNaN(day) && !Number.isNaN(month) && !Number.isNaN(year)) {\n const m = moment.utc(`${day}.${month}.${year}`, 'D.M.YYYY', true).startOf('day');\n if (m.isValid()) {\n onSuccess?.(m.valueOf());\n } else {\n onFailure?.();\n }\n } else {\n onNan?.(isHasInput);\n }\n },\n [],\n );\n\n useEffect(() => {\n getValidateInput(\n input,\n (value) => {\n onChangeDate(value);\n setIsError(false);\n },\n () => {\n onChange(null);\n setIsError(true);\n },\n (isHasInput) => {\n if (!isHasInput) {\n setIsError(false);\n }\n }\n );\n }, [getValidateInput, onChangeDate, onChange, input]);\n\n useEffect(() => {\n if (!isOpen && !isInputFocused && isHasInput && !activeSegment)\n getValidateInput(\n input,\n () => { },\n () => {\n onChange(null);\n onClearInput();\n setIsError(false);\n },\n () => {\n onChange(null);\n onClearInput();\n setIsError(false);\n },\n );\n }, [getValidateInput, onClearInput, input, isOpen, isInputFocused, onChange, isHasInput, activeSegment]);\n\n useEffect(() => {\n if (activeSegment) {\n refHiddenInput?.current?.focus();\n }\n }, [activeSegment]);\n return (\n <>\n <DateWrapper\n $size={props.size}\n $genre={props.genre}\n $sx={props.sx}\n $isDisabled={props?.isDisabled}\n $isMinWidth={props?.isMinWidth}\n $radius={sizeRadius}\n $parentListHeight={height}\n tabIndex={-1}\n >\n <DateInputWrapper\n ref={refReference as RefObject<HTMLDivElement | null>}\n $genre={props.genre}\n $size={props.size}\n $isShowPlaceholder={isShowPlaceholder}\n $isDisabled={props?.isDisabled}\n $isReadOnly={props?.isReadOnly}\n tabIndex={-1}\n $error={\n isError\n ? {\n isError: true,\n size: props?.error?.size ?? props.size,\n ...props.notValidDate,\n }\n : props.error\n }\n $isOpen={isOpen || !!activeSegment}\n onClick={() => {\n if (!activeSegment) setActiveSegment(DatePickerVariant.DD);\n }}\n >\n <input\n name={props.name}\n id={props.id}\n ref={refHiddenInput}\n type='tel'\n inputMode='numeric'\n tabIndex={0}\n disabled={props?.isDisabled || props?.isReadOnly}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n opacity: 0,\n border: 'none',\n background: 'transparent'\n }}\n onKeyDown={handleKeyDown}\n onChange={(e) => {\n const value = e.target.value;\n const prevValue = refPrevValue.current;\n\n const newChar = value.length > prevValue.length ? value.slice(-1) : null;\n\n refPrevValue.current = value;\n\n if (newChar && /^\\d$/.test(newChar)) {\n handleKeyDown({\n key: newChar,\n preventDefault: () => { },\n stopPropagation: () => { },\n } as unknown as KeyboardEvent<HTMLInputElement>);\n }\n\n if (value.length < prevValue.length) {\n handleKeyDown({\n key: 'Backspace',\n preventDefault: () => { },\n stopPropagation: () => { },\n } as unknown as KeyboardEvent<HTMLInputElement>);\n }\n\n // if (newChar === '\\n') {\n // close();\n // }\n }}\n onFocus={() => {\n setIsInputFocused(true);\n if (!activeSegment) setActiveSegment(DatePickerVariant.DD);\n }}\n onBlur={() => {\n setIsInputFocused(false);\n\n if (!isOpen) {\n props.onBlur?.();\n }\n }}\n />\n {isShowPlaceholder ? (\n <Typography\n sx={{ default: { size: 16, line: 1, isNoUserSelect: true } }}\n sxStandard={(theme) => ({\n default: {\n color: theme.colors.input[props.genre].color.placeholder,\n },\n })}\n >\n {props.labelPlaceholder}\n </Typography>\n ) : (\n dataDate.sort.map((date, index) => (\n <Fragment key={date.type}>\n <DateInput\n $isHaveValue={!!date.value}\n $isActive={activeSegment === date.type}\n $genre={props.genre}\n $size={props.size}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n if (props?.isDisabled || props?.isReadOnly) return;\n date.setActive();\n }}\n >\n {date.value != null\n ? String(date.value).padStart(date.type === DatePickerVariant.YYYY ? 1 : 2, '0')\n : date.placeholder || ''}\n </DateInput>\n {index !== dataDate.sort.length - 1 && (\n <span style={{ width: '4px', pointerEvents: 'none', textAlign: 'center' }}>.</span>\n )}\n </Fragment>\n ))\n )}\n <DateInputButton\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullSize\n isRadius\n isOnlyIcon\n icons={[{ name: 'Calendar', type: 'id' }]}\n isDisabled={props?.isDisabled || props?.isReadOnly}\n onFocus={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setActiveSegment(null);\n }}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n toggle();\n }}\n />\n </DateInputWrapper>\n </DateWrapper>\n <Popover\n sx={(theme) => ({\n default: {\n background: theme.colors.input[props.genre].background.rest,\n border: `solid 1px ${theme.colors.input[props.genre].border.rest}`,\n },\n })}\n size={props.size}\n genre={props.genre}\n isOpen={isOpen}\n isShowAlwaysOutline\n floatingStyles={floatingStyles}\n ref={refFloating}\n >\n <DateDropdownList $isInputEffect={props.isInputEffect} $genre={props.genre} $size={props.size}>\n <Stack\n sx={{\n default: {\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n }}\n >\n <Button\n type='button'\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: 90,\n },\n ]}\n isWidthAsHeight\n genre={props.genre}\n size={'small'}\n onClick={() => !isBlockPrevMonth && onPrevMonth()}\n isHidden={isBlockPrevMonth}\n />\n <Stack sx={{ default: { gap: '8px' } }}>\n <SelectMonth\n monthsLocale={props.locale.months}\n genre={props.genre}\n size={'small'}\n value={(valueMoment ?? dateDefaultMoment).clone().startOf('month').utc().valueOf()}\n isOnClickOptionClose\n isStayValueAfterSelect\n isOnlyColorInSelectListOption\n isCenter\n isShortLabel\n refFloating={refSelectMonth}\n onChange={(timestamp: number | null) => {\n if (timestamp) onChangeDate(timestamp);\n }}\n dateMin={props.dateMin}\n dateMax={props.dateMax}\n sx={{ default: { width: '60px' } }}\n />\n <SelectYear\n genre={props.genre}\n size={'small'}\n refFloating={refSelectYear}\n value={(valueMoment ?? dateDefaultMoment).clone().startOf('year').utc().valueOf()}\n onChange={(timestamp: number | null) => {\n if (timestamp) onChangeDate(timestamp);\n }}\n isOnClickOptionClose\n isStayValueAfterSelect\n isOnlyColorInSelectListOption\n isCenter\n dateMin={props.dateMin}\n dateMax={props.dateMax}\n sx={{ default: { width: '60px' } }}\n />\n </Stack>\n <Button\n type='button'\n onClick={() => !isBlockNextMonth && onNextMonth()}\n isWidthAsHeight\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: -90,\n },\n ]}\n genre={props.genre}\n size={'small'}\n isHidden={isBlockNextMonth}\n />\n </Stack>\n <DateDropdownDays $rows={rows}>\n {daysInWeek.map((e, index) => (\n <DateDropdownDayOfWeek\n tabIndex={-1}\n type='button'\n $isToday={false}\n $isWeekend={false}\n $genre={props.genre}\n $size={props.size}\n $row={daysInMonth[0]?.weekOfMonth - 1}\n $column={index + 1}\n key={`${e.label}-${index}`}\n >\n {e.label}\n </DateDropdownDayOfWeek>\n ))}\n {daysInMonth.map((day) => (\n <DateDropdownDay\n type='button'\n $isDisabled={day.isDisabled}\n $genre={props.genre}\n $size={props.size}\n $row={day?.weekOfMonth + 1}\n $column={day.dayOfWeek}\n key={day.value}\n onClick={() => {\n if (!day.isDisabled) {\n onChangeDate(day.value);\n if (props.isOnClickClose) {\n close();\n }\n }\n }}\n tabIndex={day.isDisabled ? -1 : 0}\n $isToday={day.isToday}\n $isWeekend={day.isWeekend}\n $isChoice={day.value === valueMoment?.valueOf()}\n $isCurrentMonth={day.isCurrentMonth}\n >\n {!day.isDisabled && <Ripple color={theme.colors.date[props.genre].color.rest} />}\n {day.labelNumber}\n </DateDropdownDay>\n ))}\n </DateDropdownDays>\n </DateDropdownList>\n </Popover>\n {isError || props?.error ? (\n <ErrorMessage\n {...(isError\n ? {\n isError: true,\n size: props?.error?.size ?? props.size,\n ...props.notValidDate,\n }\n : props.error)}\n size={props?.error?.size ?? props.size}\n />\n ) : null}\n </>\n );\n};\nfunction handleDigitKey(\n key: string,\n activeSegment: DatePickerVariant,\n input: Record<DatePickerVariant, number | null>,\n dataDate: { default: Record<DatePickerVariant, { setValue: (value: number) => void; onNext: () => void }> },\n) {\n const digit = key; // '0'..'9'\n const seg = activeSegment;\n const current = input[seg]?.toString() ?? ''; // Преобразуем number в string для работы\n\n // Вспомогательная проверка\n const isZero = (s: string) => s === '0';\n const toNum = (s: string) => Number(s);\n\n if (seg === DatePickerVariant.DD) {\n // Дни: максимум 31, ноль недопустим как самостоятельное значение\n if (current.length >= 2) {\n // уже два символа — начинаем ввод заново\n const parsed = toNum(digit);\n if (parsed === 0 || parsed > 31) return;\n dataDate.default[seg].setValue(parsed);\n return;\n }\n\n // special-case: если было '0' и пользователь ввёл не '0' — НЕ подставляем '0' перед цифрой,\n // сохраняем single-digit и считаем ввод завершённым (переходим).\n if (current.length === 1 && isZero(current)) {\n const parsed = toNum(digit);\n if (parsed === 0 || parsed > 31) return;\n dataDate.default[seg].setValue(parsed); // сохраняем число, а не строку\n dataDate.default[seg].onNext();\n return;\n }\n\n // обычный путь: добавляем цифру и решаем — перезаписать или дополнить\n const potential = current + digit;\n const potentialParsed = toNum(potential);\n\n // ИСПРАВЛЕНИЕ: если потенциальное значение больше 31, используем только новую цифру и переходим дальше\n if (potentialParsed > 31) {\n const parsed = toNum(digit);\n if (parsed === 0 || parsed > 31) return;\n dataDate.default[seg].setValue(parsed);\n dataDate.default[seg].onNext(); // Переходим к следующему сегменту\n return;\n }\n\n // Если потенциальное значение равно 0, используем только новую цифру\n const nextValue = potentialParsed === 0 ? digit : potential;\n const parsed = toNum(nextValue);\n if (parsed === 0 || parsed > 31) return;\n dataDate.default[seg].setValue(parsed);\n if (nextValue.length === 2) dataDate.default[seg].onNext();\n\n } else if (seg === DatePickerVariant.MM) {\n // Месяцы: максимум 12, ноль недопустим как самостоятельное значение\n if (current.length >= 2) {\n const parsed = toNum(digit);\n if (parsed === 0 || parsed > 12) return;\n dataDate.default[seg].setValue(parsed);\n return;\n }\n\n if (current.length === 1 && isZero(current)) {\n const parsed = toNum(digit);\n if (parsed === 0 || parsed > 12) return;\n dataDate.default[seg].setValue(parsed); // сохраняем число, а не строку\n dataDate.default[seg].onNext();\n return;\n }\n\n const potential = current + digit;\n const potentialParsed = toNum(potential);\n const nextValue = potentialParsed === 0 || potentialParsed > 12 ? digit : potential;\n\n const parsed = toNum(nextValue);\n if (parsed === 0 || parsed > 12) return;\n dataDate.default[seg].setValue(parsed);\n if (nextValue.length === 2 || (nextValue.length === 1 && parsed > 1)) {\n dataDate.default[seg].onNext();\n }\n\n } else if (seg === DatePickerVariant.YYYY) {\n // Год: накапливаем до 4 цифр. Если уже 4 — начинаем заново (как раньше)\n if (current.length >= 4) {\n if (digit === '0') return;\n dataDate.default[seg].setValue(toNum(digit));\n return;\n }\n\n const nextValue = (current + digit).slice(-4);\n dataDate.default[seg].setValue(toNum(nextValue));\n }\n}"],"names":["DateWrapper","styled","div","props","$isMinWidth","css","addSX","addNiceNumber","DateDropdownListParent","motion","addRemoveScrollbar","DateDropdownList","addInputIsInputEffect","DateDropdownDays","$rows","addDateDropdownDaySize","$size","KEY_SIZE_DATA","radius","params","getFontSizeStyles","theme","font","family","colors","date","$genre","background","rest","border","color","$row","$column","$isDisabled","hover","addTransition","$isWeekend","weekend","$isToday","today","$isChoice","choice","$isCurrentMonth","addOutline","DateDropdownDay","button","DateDropdownDayOfWeek","addDateInputGenre","$isActive","palette","black10","$isBold","lineHeight","$isHaveValue","input","placeholder","addDateInputSize","DateInput","addRemoveOutline","addDateInputWrapperGenre","addOutlineChildren","$isOpen","states","focus","addDateInputWrapperSize","$isShowPlaceholder","padding","height","DateInputWrapper","addDisabled","addError","addDateInputButtonSize","size","DateInputButton","Button","DatePickerVariant","onChange","useTheme","valueMoment","setValueMoment","useState","dateDefaultMoment","setDateDefaultMoment","moment","dateDefault","utc","setInput","DD","MM","YYYY","isHasInput","useMemo","onClearInput","useCallback","activeSegment","setActiveSegment","isError","setIsError","mode","length","Set","getNextSegment","currentSegment","currentIndex","indexOf","getPrevSegment","dataDate","result","nextSegment","preSegment","onNext","onPrev","isLast","isFirst","type","value","setValue","prevValue","setActive","locale","inputs","month","day","year","sort","map","e","filter","default","daysInWeek","key","index","found","weeks","find","w","label","localeShort","toUpperCase","daysInMonth","startOfMonth","clone","startOf","endOfMonth","endOf","days","dateMin","dateMax","daysToAddBefore","isoWeekday","i","subtract","push","valueOf","labelString","format","labelNumber","dayOfWeek","isWeekend","weekOfMonth","Math","ceil","isToday","isSame","isCurrentMonth","isDisabled","isBefore","isAfter","currentDate","add","daysToAddAfter","a","b","rows","number","count","floor","countSevens","sizeRadius","sizePadding","isHasValue","isBlockNextMonth","nextMonth","isBlockPrevMonth","prevMonth","isInputFocused","setIsInputFocused","refPrevValue","useRef","refSelectMonth","refSelectYear","refHiddenInput","onFocusPopover","_a","onFocus","call","onBlurPopover","onBlur","onBlurReference","isOpen","refReference","refFloating","floatingStyles","close","toggle","usePopover","placement","offset","isClickOutside","refsExcludeClickOutside","isReadOnly","isShowPlaceholder","labelPlaceholder","onChangeDate","timestamp","momentNewDate","handleKeyDown","isDigit","test","includes","ctrlKey","metaKey","digit","seg","current","toString","isZero","s","toNum","Number","parsed","potential","potentialParsed","nextValue","slice","handleDigitKey","preventDefault","stopPropagation","blur","newValue","onNextMonth","newDate","onPrevMonth","useEffect","defaultValue","getValidateInput","onSuccess","onFailure","onNan","NaN","isNaN","m","isValid","jsxs","Fragment","children","jsx","genre","$sx","sx","isMinWidth","$radius","$parentListHeight","tabIndex","ref","$isReadOnly","$error","error","notValidDate","onClick","name","id","inputMode","disabled","style","position","top","left","width","opacity","onKeyDown","target","newChar","Typography","line","isNoUserSelect","sxStandard","String","padStart","pointerEvents","textAlign","isWidthAsHeight","isFullSize","isRadius","isOnlyIcon","icons","Popover","isShowAlwaysOutline","$isInputEffect","isInputEffect","Stack","justifyContent","alignItems","turn","isHidden","gap","SelectMonth","monthsLocale","months","isOnClickOptionClose","isStayValueAfterSelect","isOnlyColorInSelectListOption","isCenter","isShortLabel","SelectYear","isOnClickClose","Ripple","ErrorMessage","_b","_c"],"mappings":"8kBAqBO,MAAMA,EAAcC,EAAOC,GAAA;;;;IAI7BC,GACDA,EAAMC,aACNC,EAAAA,GAAAA;;;IAGAC;IACAC;EAGSC,EAAyBP,EAAOQ,EAAAA,OAAOP,IAAG;IACnDQ;EAGSC,EAAmBV,EAAOC,GAAA;;;;;;;;;IASnCU;EAGSC,EAAmBZ,EAAOC,GAAA;;;;;;+BAMPC,GAAUA,EAAMW;;EAInCC,EAAyBV,EAAAA,GAAAA;IACjCF,GACDA,EAAMa,OACNX,EAAAA,GAAAA;uBACmBY,gBAAcd,EAAMa,OAAOE;QACzCC,GAAWC,EAAAA,kBAAkB,GAAI,IAAKD,EAAOE,MAAMC,KAAKC;;;;;;gBAMhDpB,GAAUA,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWC;kBACzDzB,GAAUA,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOD;WAC9DzB,GAAUA,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMF;;cAEnDzB,GAAUA,EAAM4B;iBACb5B,GAAUA,EAAM6B;;;;;;;;MAQ3B7B,IACAA,EAAM8B,aACP5B,EAAAA,GAAAA;oBACcF,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWO;sBAC/C/B,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOK;eACpD/B,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMI;;;IAGvDC;;IAEChC,GACDA,EAAMiC,YACN/B,EAAAA,GAAAA;oBACgBF,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWU;sBAC/ClC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOQ;eACpDlC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMO;;IAEtDlC,GACDA,EAAMmC,UACNjC,EAAAA,GAAAA;oBACgBF,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWY;sBAC/CpC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOU;eACpDpC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMS;;MAEpDpC,GACDA,EAAMqC,WACNnC,EAAAA,GAAAA;oBACcF,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWc;sBAC/CtC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOY;eACpDtC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMW;;MAEpDtC,GACDA,EAAM8B,aACN5B,EAAAA,GAAAA;sBACgBF,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQC,WAAWU;sBACjDlC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQG,OAAOQ;eACpDlC,EAAMkB,MAAMG,OAAOC,KAAKtB,EAAMuB,QAAQI,MAAMO;;;MAGpDlC,IACAA,EAAMuC,iBACPrC,EAAAA,GAAAA;;;IAGDc,GAAWC,EAAAA,kBAAkB,GAAI,IAAKD,EAAOE,MAAMC,KAAKC;;IAEzDoB;EAGSC,EAAkB3C,EAAO4C,MAAA;IAClC9B;EAES+B,EAAwB7C,EAAO4C,MAAA;IACxC9B;;;EAMEgC,EAAoB1C,EAAAA,GAAAA;0BACCF,GAAWA,EAAM6C,UAAY7C,EAAMkB,MAAM4B,QAAQC,QAAU;;UAE3E/C,GAAUiB,oBAAkB,GAAIjB,EAAMgD,QAAU,IAAM,IAAKhD,EAAMkB,MAAMC,KAAKC,OAAQpB,EAAMkB,MAAMC,KAAK8B;IAC3GjD,GACDA,EAAMkD,aACFhD,EAAAA,GAAAA;iBACSF,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMF;;mBAE3CzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMF;;MAGxDvB,EAAAA,GAAAA;yBACiBF,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMyB;;EAGhEC,EAAmBnD,EAAAA,GAAAA;;;;EAKZoD,EAAYxD,EAAOC,GAAA;;;;;;;;IAQ5BsD;IACAT;IACAW;EAIEC,EAA2BtD,EAAAA,GAAAA;IAC5BF,GAAUE,EAAAA,GAAAA;kBACGF,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQC,WAAWC;oBAChDzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQG,OAAOD;aACrDzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMF;;;;oBAItCzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQC,WAAWO;sBAChD/B,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQG,OAAOK;eACrD/B,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMI;;SAEnD0B;MAEHzD,EAAM0D,SACNxD,EAAAA,GAAAA;oBACcF,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQC,WAAWC;sBAChDzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQG,OAAOD;eACrDzB,EAAMkB,MAAMG,OAAO8B,MAAMnD,EAAMuB,QAAQI,MAAMF;2BAChCzB,GAAUA,EAAMkB,MAAMyC,OAAOC;;;EAO5CC,EAA0B3D,EAAAA,GAAAA;IAClCF,GAAUE,EAAAA,GAAAA;eACAF,EAAM8D,mBAAqB,OAAOhD,EAAAA,cAAcd,EAAMa,OAAOkD,YAAc,OAAOjD,gBAAcd,EAAMa,OAAOkD,iBAAiBjD,EAAAA,cAAcd,EAAMa,OAAOkD,QAAU;cACpKjD,gBAAcd,EAAMa,OAAOmD;kBACvBlD,gBAAcd,EAAMa,OAAOmD;kBAC3BlD,gBAAcd,EAAMa,OAAOmD;qBACxBlD,gBAAcd,EAAMa,OAAOE;;EAInCkD,EAAmBnE,EAAOC,GAAA;;;;;;;;;;;;IAYnCmE;IACAL;IACAL;IACAxB;IACAmC;EAGSC,EAAyBlE,EAAAA,GAAAA;IACjCF,GAAUE,EAAAA,GAAAA;YACHY,gBAAcd,EAAMqE,MAAMN;;EAGzBO,EAAkBxE,EAAOyE,SAAM;;;MAGtCH;ECxOC,IAAKI,GAAAA,IACVA,EAAA,GAAK,KACLA,EAAA,GAAK,KACLA,EAAA,KAAO,OAHGA,IAAAA,GAAA,CAAA,gPC4BexE,cACzB,MAAMyE,SAAEA,GAAazE,EACfkB,EAAQwD,EAAAA,YAEPC,EAAaC,GAAkBC,EAAAA,SAAwB,OACvDC,EAAmBC,GAAwBF,EAAAA,SAAiBG,EAAOhF,EAAMiF,aAAaC,QAEtF/B,EAAOgC,GAAYN,WAAmD,CAC3E,CAACL,EAAkBY,IAAK,KACxB,CAACZ,EAAkBa,IAAK,KACxB,CAACb,EAAkBc,MAAO,OAGtBC,EAAaC,EAAAA,QAAQ,IAES,OAAhCrC,EAAMqB,EAAkBY,KACQ,OAAhCjC,EAAMqB,EAAkBa,KACU,OAAlClC,EAAMqB,EAAkBc,MAEzB,CAACnC,IACEsC,EAAeC,EAAAA,YAAY,KAC/BP,EAAS,CACP,CAACX,EAAkBY,IAAK,KACxB,CAACZ,EAAkBa,IAAK,KACxB,CAACb,EAAkBc,MAAO,QAE3B,KACIK,EAAeC,GAAoBf,EAAAA,SAAmC,OACtEgB,EAASC,GAAcjB,EAAAA,UAAS,GAEjCkB,EAAuBP,EAAAA,QAAQ,KACnC,IAAKxF,EAAM+F,MAA8B,IAAtB/F,EAAM+F,KAAKC,OAC5B,MAAO,CAACxB,EAAkBY,GAAIZ,EAAkBa,GAAIb,EAAkBc,MAKxE,OAFsB,IAAIW,IAAIjG,EAAM+F,MAAM1B,OAASrE,EAAM+F,KAAKC,OAGrD,CAACxB,EAAkBY,GAAIZ,EAAkBa,GAAIb,EAAkBc,MAGjEtF,EAAM+F,MACZ,CAAC/F,EAAM+F,OAEJG,EAAiBR,EAAAA,YACpBS,IACC,MAAMC,EAAeL,EAAKM,QAAQF,GAClC,OAAOC,EAAeL,EAAKC,OAAS,EAAID,EAAKK,EAAe,GAAKL,EAAK,IAExE,CAACA,IAGGO,EAAiBZ,EAAAA,YACpBS,IACC,MAAMC,EAAeL,EAAKM,QAAQF,GAClC,OAAOC,EAAe,EAAIL,EAAKK,EAAe,GAAKL,EAAKA,EAAKC,OAAS,IAExE,CAACD,IAGGQ,EAAWf,EAAAA,QAAQ,KACvB,MAAMgB,EAAS,CACbnB,GAAI,CACFoB,YAAaP,EAAe1B,EAAkBa,IAC9CqB,WAAYJ,EAAe9B,EAAkBa,IAC7CsB,OAAQ,IAAMf,EAAiBM,EAAe1B,EAAkBa,KAChEuB,OAAQ,IAAMhB,EAAiBU,EAAe9B,EAAkBa,KAChEwB,OAAQd,EAAKA,EAAKC,OAAS,KAAOxB,EAAkBa,GACpDyB,QAASf,EAAK,KAAOvB,EAAkBa,GACvC0B,KAAMvC,EAAkBa,GACxB2B,MAAO7D,EAAMkC,GACb4B,SAAWD,GAAyB7B,EAAU+B,IAAA,IAAoBA,EAAW,CAAC1C,EAAkBa,IAAK2B,KACrGG,UAAW,IAAMvB,EAAiBpB,EAAkBa,IACpDjC,YAAapD,EAAMoH,OAAOC,OAAOC,OAEnClC,GAAI,CACFqB,YAAaP,EAAe1B,EAAkBY,IAC9CsB,WAAYJ,EAAe9B,EAAkBY,IAC7CyB,OAAQd,EAAKA,EAAKC,OAAS,KAAOxB,EAAkBY,GACpD0B,QAASf,EAAK,KAAOvB,EAAkBY,GACvCuB,OAAQ,IAAMf,EAAiBM,EAAe1B,EAAkBY,KAChEwB,OAAQ,IAAMhB,EAAiBU,EAAe9B,EAAkBY,KAChE2B,KAAMvC,EAAkBY,GACxB4B,MAAO7D,EAAMiC,GACb6B,SAAWD,GAAyB7B,EAAU+B,IAAA,IAAoBA,EAAW,CAAC1C,EAAkBY,IAAK4B,KACrGG,UAAW,IAAMvB,EAAiBpB,EAAkBY,IACpDhC,YAAapD,EAAMoH,OAAOC,OAAOE,KAEnCjC,KAAM,CACJmB,YAAaP,EAAe1B,EAAkBc,MAC9CoB,WAAYJ,EAAe9B,EAAkBc,MAC7CuB,OAAQd,EAAKA,EAAKC,OAAS,KAAOxB,EAAkBc,KACpDwB,QAASf,EAAK,KAAOvB,EAAkBc,KACvCqB,OAAQ,IAAMf,EAAiBM,EAAe1B,EAAkBc,OAChEsB,OAAQ,IAAMhB,EAAiBU,EAAe9B,EAAkBc,OAChEyB,KAAMvC,EAAkBc,KACxB0B,MAAO7D,EAAMmC,KACb2B,SAAWD,GACT7B,EAAU+B,IAAA,IAAoBA,EAAW,CAAC1C,EAAkBc,MAAO0B,KACrEG,UAAW,IAAMvB,EAAiBpB,EAAkBc,MACpDlC,YAAapD,EAAMoH,OAAOC,OAAOG,OAWrC,MAAO,CAAEC,KARU1B,EAChB2B,IAAKC,GACAA,IAAMnD,EAAkBY,GAAWoB,EAAOpB,GAC1CuC,IAAMnD,EAAkBa,GAAWmB,EAAOnB,GAC1CsC,IAAMnD,EAAkBc,KAAakB,EAAOlB,KACzC,MAERsC,OAAQD,GAAY,OAANA,GACUE,QAASrB,IACnC,CACDxG,EAAMoH,OAAOC,OAAOE,IACpBvH,EAAMoH,OAAOC,OAAOC,MACpBtH,EAAMoH,OAAOC,OAAOG,KACpBtB,EACAI,EACAP,EACA5C,EAAMiC,GACNjC,EAAMkC,GACNlC,EAAMmC,OAEFwC,EAAatC,EAAAA,QAAQ,IACc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAE3DkC,IAAI,CAACK,EAAKC,KACzB,MAAMC,EAAQjI,EAAMoH,OAAOc,MAAMC,KAAMC,GAAMA,EAAEpB,QAAUe,GACzD,MAAO,CACLC,QACAK,OAAO,MAAAJ,OAAA,EAAAA,EAAOK,cAAeP,EAAIQ,iBAGpC,CAACvI,EAAMoH,OAAOc,QACXM,EAA8BhD,EAAAA,QAAQ,KAC1C,MAAMpD,EAAQ4C,EAAOE,MACfuD,GAAgB9D,GAAeG,GAAmB4D,QAAQC,QAAQ,SAClEC,GAAcjE,GAAeG,GAAmB4D,QAAQG,MAAM,SAC9DC,EAAO,GAEPC,EAAU/I,EAAM+I,QAAU/D,EAAOE,IAAIlF,EAAM+I,SAAW,KACtDC,EAAUhJ,EAAMgJ,QAAUhE,EAAOE,IAAIlF,EAAMgJ,SAAW,KAEtDC,EAAkBR,EAAaS,aAAe,EACpD,GAAID,EAAkB,EACpB,IAAA,IAASE,EAAIF,EAAiBE,EAAI,EAAGA,IAAK,CACxC,MAAM5B,EAAMkB,EAAaC,QAAQU,SAASD,EAAG,QAC7CL,EAAKO,KAAK,CACRrC,MAAOO,EAAI+B,UACXC,YAAahC,EAAIiC,OAAO,MACxBC,YAAalC,EAAIjG,OACjBoI,UAAWnC,EAAI2B,aACfS,UAAgC,IAArBpC,EAAI2B,cAA2C,IAArB3B,EAAI2B,aACzCU,YAAaC,KAAKC,MAAMhB,EAAK9C,OAAS,GAAK,GAC3C+D,QAASxC,EAAIyC,OAAO5H,EAAO,OAC3B6H,gBAAgB,EAChBC,WAAY3C,EAAI4C,SAASpB,EAAS,QAAUxB,EAAI6C,QAAQpB,EAAS,QAClE,CAIL,MAAMqB,EAAc5B,EAAaC,QACjC,KAAO2B,GAAezB,GACpBE,EAAKO,KAAK,CACRrC,MAAOqD,EAAYf,UACnBC,YAAac,EAAYb,OAAO,MAChCC,YAAaY,EAAY/I,OACzBoI,UAAWW,EAAYnB,aACvBS,UAAwC,IAA7BU,EAAYnB,cAAmD,IAA7BmB,EAAYnB,aACzDU,YAAaC,KAAKC,MAAMhB,EAAK9C,OAAS,GAAK,GAC3C+D,QAASM,EAAYL,OAAO5H,EAAO,OACnC6H,gBAAgB,EAChBC,WAAYG,EAAYF,SAASpB,EAAS,QAAUsB,EAAYD,QAAQpB,EAAS,SAEnFqB,EAAYC,IAAI,EAAG,OAGrB,MAAMC,EAAiB,EAAI3B,EAAWM,aACtC,GAAIqB,EAAiB,EACnB,IAAA,IAASpB,EAAI,EAAGA,GAAKoB,EAAgBpB,IAAK,CACxC,MAAM5B,EAAMqB,EAAWF,QAAQ4B,IAAInB,EAAG,QAAQR,QAAQ,OACtDG,EAAKO,KAAK,CACRrC,MAAOO,EAAI+B,UACXC,YAAahC,EAAIiC,OAAO,MACxBC,YAAalC,EAAIjG,OACjBoI,UAAWnC,EAAI2B,aACfS,UAAgC,IAArBpC,EAAI2B,cAA2C,IAArB3B,EAAI2B,aACzCU,YAAaC,KAAKC,MAAMhB,EAAK9C,OAAS,GAAK,GAC3C+D,QAASxC,EAAIyC,OAAO5H,EAAO,OAC3B6H,gBAAgB,EAChBC,WAAY3C,EAAI4C,SAASpB,EAAS,QAAUxB,EAAI6C,QAAQpB,EAAS,QAClE,CAKL,OADAF,EAAKrB,KAAK,CAAC+C,EAAGC,IAAMD,EAAExD,MAAQyD,EAAEzD,OACzB8B,GACN,CAACnE,EAAaG,EAAmB9E,EAAMgJ,QAAShJ,EAAM+I,UAEnD2B,EAAOlF,UAAQ,IA/MvB,SAAqBmF,GACnB,MACMC,EAAQf,KAAKgB,MAAMF,EADT,GAIhB,OAFkBA,EAFF,EAIG,EAAIC,EAAQ,EAAIA,CACrC,CAyM6BE,CAAYtC,EAAYxC,QAAU,EAAG,CAACwC,IAC3DxE,EAASwB,EAAAA,QACb,IAAM,GAAY,GAAPkF,EAAyB,GAAZA,EAAO,GAA6C,EAApC5J,EAAAA,cAAcd,EAAMqE,MAAMN,QAClE,CAAC/D,EAAMqE,KAAMqG,IAGTK,EAAavF,EAAAA,QAAQ,IAAM1E,EAAAA,cAAcd,EAAMqE,MAAMtD,OAAQ,CAACf,EAAMqE,OACpE2G,EAAcxF,EAAAA,QAAQ,IAAM1E,EAAAA,cAAcd,EAAMqE,MAAMN,QAAS,CAAC/D,EAAMqE,OAEtE4G,EAAazF,EAAAA,QAAQ,IACF,OAAhBb,EACN,CAACA,IACEuG,EAAmB1F,EAAAA,QAAQ,KAC/B,MAAM2F,GAAaxG,GAAeG,GAAmB4D,QAAQ4B,IAAI,EAAG,SAAS3B,QAAQ,SAErF,QADwB3I,EAAMgJ,SAAUmC,EAAUf,QAAQpF,EAAOE,IAAIlF,EAAMgJ,SAAU,UAEpF,CAACrE,EAAa3E,EAAMgJ,QAASlE,IAC1BsG,EAAmB5F,EAAAA,QAAQ,KAC/B,MAAM6F,GAAa1G,GAAeG,GAAmB4D,QAAQU,SAAS,EAAG,SAAST,QAAQ,SAE1F,QADyB3I,EAAM+I,SAAUsC,EAAUlB,SAASnF,EAAOE,IAAIlF,EAAM+I,SAAU,UAEtF,CAACpE,EAAa3E,EAAM+I,QAASjE,KAEzBwG,EAAgBC,GAAqB1G,EAAAA,UAAS,GAE/C2G,EAAeC,EAAAA,OAAO,IACtBC,GAAiBD,EAAAA,OAAoB,MACrCE,GAAgBF,EAAAA,OAAoB,MACpCG,GAAiBH,EAAAA,OAAyB,MAE1CI,GAAiBnG,EAAAA,YAAY,WACjC,OAAAoG,EAAA9L,EAAM+L,UAAND,EAAAE,KAAAhM,IACC,CAACA,EAAM+L,UACJE,GAAgBvG,EAAAA,YAAY,WAChC,OAAAoG,EAAA9L,EAAMkM,SAANJ,EAAAE,KAAAhM,IACC,CAACA,EAAMkM,SACJC,GAAkBzG,EAAAA,YAAY,KAClCE,EAAiB,OAChB,KACGwG,OAAEA,gBAAQC,GAAAC,YAAcA,GAAAC,eAAaA,SAAgBC,GAAAC,OAAOA,IAAWC,aAAW,CACtFC,UAAW,eACXC,OAAQ5B,EACRjF,KAAM,eACN8G,gBAAgB,EAChBC,wBAAyB,CAACpB,GAAgBC,IAC1CzB,YAAY,MAAAlK,OAAA,EAAAA,EAAOkK,cAAc,MAAAlK,OAAA,EAAAA,EAAO+M,YACxChB,QAASF,GACTK,OAAQD,GACRE,qBAGIa,GAAoBxH,EAAAA,QAAQ,MACrB8F,GAAmBL,IAAcjL,EAAMiN,kBAAqBb,IAAW7G,GAAeI,GAChG,CAAC2F,EAAgBL,EAAYmB,GAAQpM,EAAMiN,iBAAkB1H,EAAYI,IAEtEuH,GAAexH,EAAAA,YAClByH,IACC,MAAMC,EAAgBpI,EAAOmI,GAAWjI,OACpC,MAAAP,OAAA,EAAAA,EAAaqF,OAAOoD,EAAe,UACvCxI,EAAewI,GACf3I,EAAS2I,EAAc9D,WAEvBnE,EAAS,CACP,CAACX,EAAkBY,IAAKgI,EAAc1E,QAAQpH,OAC9C,CAACkD,EAAkBa,IAAK+H,EAAc1E,QAAQpB,QAAU,EACxD,CAAC9C,EAAkBc,MAAO8H,EAAc1E,QAAQlB,WAGpD,CAAC7C,EAAaF,IAEV4I,GAAgB3H,EAAAA,YACnBiC,UACC,MAAMI,EAAMJ,EAAEI,IAIRuF,EAAU,OAAOC,KAAKxF,GAG5B,GAFkBuF,GAHE,CAAC,YAAa,aAAc,UAAW,YAAa,YAAa,SAAU,MAAO,SAG7DE,SAASzF,IAAQJ,EAAE8F,SAAW9F,EAAE+F,SAOzE,GAAI/H,GAAiBY,EAASsB,QAAQlC,GAAgB,CACpD,GAAI2H,EAAS,EAgdrB,SACEvF,EACApC,EACAxC,EACAoD,SAEA,MAAMoH,EAAQ5F,EACR6F,EAAMjI,EACNkI,GAAU,OAAA/B,EAAA3I,EAAMyK,aAAME,aAAc,GAGpCC,EAAUC,GAAoB,MAANA,EACxBC,EAASD,GAAcE,OAAOF,GAEpC,GAAIJ,IAAQpJ,EAAkBY,GAAI,CAEhC,GAAIyI,EAAQ7H,QAAU,EAAG,CAEvB,MAAMmI,EAASF,EAAMN,GACrB,GAAe,IAAXQ,GAAgBA,EAAS,GAAI,OAEjC,YADA5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,EAC/B,CAKF,GAAuB,IAAnBN,EAAQ7H,QAAgB+H,EAAOF,GAAU,CAC3C,MAAMM,EAASF,EAAMN,GACrB,GAAe,IAAXQ,GAAgBA,EAAS,GAAI,OAGjC,OAFA5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,QAC/B5H,EAASsB,QAAQ+F,GAAKjH,QACtB,CAIF,MAAMyH,EAAYP,EAAUF,EACtBU,EAAkBJ,EAAMG,GAG9B,GAAIC,EAAkB,GAAI,CACxB,MAAMF,EAASF,EAAMN,GACrB,GAAe,IAAXQ,GAAgBA,EAAS,GAAI,OAGjC,OAFA5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,QAC/B5H,EAASsB,QAAQ+F,GAAKjH,QACtB,CAIF,MAAM2H,EAAgC,IAApBD,EAAwBV,EAAQS,EAC5CD,EAASF,EAAMK,GACrB,GAAe,IAAXH,GAAgBA,EAAS,GAAI,OACjC5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,GACN,IAArBG,EAAUtI,UAAuB6B,QAAQ+F,GAAKjH,QAAO,MAAA,GAEhDiH,IAAQpJ,EAAkBa,GAAI,CAEvC,GAAIwI,EAAQ7H,QAAU,EAAG,CACvB,MAAMmI,EAASF,EAAMN,GACrB,GAAe,IAAXQ,GAAgBA,EAAS,GAAI,OAEjC,YADA5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,EAC/B,CAGF,GAAuB,IAAnBN,EAAQ7H,QAAgB+H,EAAOF,GAAU,CAC3C,MAAMM,EAASF,EAAMN,GACrB,GAAe,IAAXQ,GAAgBA,EAAS,GAAI,OAGjC,OAFA5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,QAC/B5H,EAASsB,QAAQ+F,GAAKjH,QACtB,CAGF,MAAMyH,EAAYP,EAAUF,EACtBU,EAAkBJ,EAAMG,GACxBE,EAAgC,IAApBD,GAAyBA,EAAkB,GAAKV,EAAQS,EAEpED,EAASF,EAAMK,GACrB,GAAe,IAAXH,GAAgBA,EAAS,GAAI,OACjC5H,EAASsB,QAAQ+F,GAAK3G,SAASkH,IACN,IAArBG,EAAUtI,QAAsC,IAArBsI,EAAUtI,QAAgBmI,EAAS,IAChE5H,EAASsB,QAAQ+F,GAAKjH,QACxB,MAAA,GAESiH,IAAQpJ,EAAkBc,KAAM,CAEzC,GAAIuI,EAAQ7H,QAAU,EAAG,CACvB,GAAc,MAAV2H,EAAe,OAEnB,YADApH,EAASsB,QAAQ+F,GAAK3G,SAASgH,EAAMN,GACrC,CAGF,MAAMW,GAAaT,EAAUF,GAAOY,OAAM,GAC1ChI,EAASsB,QAAQ+F,GAAK3G,SAASgH,EAAMK,GAAU,CAEnD,CA1iBUE,CAFczG,EAEQpC,EAAexC,EAAOoD,GAC5CoB,EAAE8G,iBACF9G,EAAE+G,iBAAgB,CAcpB,GAZY,QAAR3G,IACGxB,EAASsB,QAAQlC,GAAekB,OAInC,OAAAiF,EAAA,MAAAF,QAAA,EAAAA,GAAgBiC,UAAhB/B,EAAyB6C,QAHzBhH,EAAE8G,iBACFlI,EAASsB,QAAQlC,GAAegB,WAKxB,UAARoB,IACFJ,EAAE8G,iBACF9G,EAAE+G,mBAEQ,cAAR3G,GAA+B,WAARA,EAAkB,CAC3C,GAAIpC,IAAkBnB,EAAkBY,GACtC,GAAiB,OAAbjC,EAAMiC,GAAa,CACrB,MAAMyI,EAAU1K,EAAMiC,GAAG0I,WACzB,GAAuB,IAAnBD,EAAQ7H,OACVO,EAASsB,QAAQlC,GAAesB,SAAS,UACpC,CACL,MAAM2H,EAAWf,EAAQU,MAAM,GAAG,GAClChI,EAASsB,QAAQlC,GAAesB,SAASiH,OAAOU,GAAS,CAC3D,MAEArI,EAASsB,QAAQlC,GAAeiB,cAClC,GACSjB,IAAkBnB,EAAkBa,GAC7C,GAAiB,OAAblC,EAAMkC,GAAa,CACrB,MAAMwI,EAAU1K,EAAMkC,GAAGyI,WACzB,GAAuB,IAAnBD,EAAQ7H,OACVO,EAASsB,QAAQlC,GAAesB,SAAS,UACpC,CACL,MAAM2H,EAAWf,EAAQU,MAAM,GAAG,GAClChI,EAASsB,QAAQlC,GAAesB,SAASiH,OAAOU,GAAS,CAC3D,MAEArI,EAASsB,QAAQlC,GAAeiB,cAClC,GACSjB,IAAkBnB,EAAkBc,KAC7C,GAAmB,OAAfnC,EAAMmC,KAAe,CACvB,MAAMuI,EAAU1K,EAAMmC,KAAKwI,WAC3B,GAAuB,IAAnBD,EAAQ7H,OACVO,EAASsB,QAAQlC,GAAesB,SAAS,UACpC,CACL,MAAM2H,EAAWf,EAAQU,MAAM,GAAG,GAClChI,EAASsB,QAAQlC,GAAesB,SAASiH,OAAOU,GAAS,CAC3D,MAEArI,EAASsB,QAAQlC,GAAeiB,SAIpCe,EAAE8G,iBACF9G,EAAE+G,iBAAgB,CAER,cAAR3G,GAA+B,cAARA,IACzBJ,EAAE8G,iBACFlI,EAASsB,QAAQlC,GAAeiB,UAEtB,eAARmB,GAAgC,YAARA,IAC1BJ,EAAE8G,iBACFlI,EAASsB,QAAQlC,GAAegB,SAClC,OAzEAgB,EAAE8G,kBA4EN,CAAC9I,EAAexC,EAAOoD,EAASsB,QAAStB,IAErCsI,GAAcnJ,EAAAA,YAAY,KAC9B,MAAMoJ,GAAWnK,GAAeG,GAAmB4D,QAAQ4B,IAAI,EAAG,SAClE4C,GAAa4B,EAAQxF,YACpB,CAAC3E,EAAauI,GAAcpI,IAEzBiK,GAAcrJ,EAAAA,YAAY,KAC9B,MAAMoJ,GAAWnK,GAAeG,GAAmB4D,QAAQU,SAAS,EAAG,SACvE8D,GAAa4B,EAAQxF,YACpB,CAAC3E,EAAauI,GAAcpI,IAE/BkK,EAAAA,UAAU,KACRjK,EAAqBC,EAAOhF,EAAMiF,aAAaC,QAC9C,CAAClF,EAAMiF,cAEV+J,EAAAA,UAAU,KACRpK,EAAe5E,EAAMgH,OAAShH,EAAMiP,aAAejK,EAAOhF,EAAMgH,OAAShH,EAAMiP,cAAc/J,MAAQ,OACpG,CAAClF,EAAMgH,MAAOhH,EAAMiP,eAEvB,MAAMC,GAAmBxJ,EAAAA,YACvB,CACEvC,EACAgM,EACAC,EACAC,KAEA,MAAM9H,EAAMpE,EAAMiC,IAAMkK,IAClBhI,EAAQnE,EAAMkC,IAAMiK,IACpB9H,EAAOrE,EAAMmC,MAAQgK,IACrB/J,EAA6C,OAAhCpC,EAAMqB,EAAkBY,KACT,OAAhCjC,EAAMqB,EAAkBa,KACU,OAAlClC,EAAMqB,EAAkBc,MAC1B,GAAK4I,OAAOqB,MAAMhI,IAAS2G,OAAOqB,MAAMjI,IAAW4G,OAAOqB,MAAM/H,GAQ9D,MAAA6H,GAAAA,EAAQ9J,OAR6D,CACrE,MAAMiK,EAAIxK,EAAOE,IAAI,GAAGqC,KAAOD,KAASE,IAAQ,YAAY,GAAMmB,QAAQ,OACtE6G,EAAEC,UACJ,MAAAN,GAAAA,EAAYK,EAAElG,WAEd,MAAA8F,GAAAA,GACF,GAKJ,IA6CF,OA1CAJ,EAAAA,UAAU,KACRE,GACE/L,EACC6D,IACCkG,GAAalG,GACblB,GAAW,IAEb,KACErB,EAAS,MACTqB,GAAW,IAEZP,IACMA,GACHO,GAAW,MAIhB,CAACoJ,GAAkBhC,GAAczI,EAAUtB,IAE9C6L,EAAAA,UAAU,KACH5C,IAAWd,IAAkB/F,GAAeI,GAC/CuJ,GACE/L,EACA,OACA,KACEsB,EAAS,MACTgB,IACAK,GAAW,IAEb,KACErB,EAAS,MACTgB,IACAK,GAAW,MAGhB,CAACoJ,GAAkBzJ,EAActC,EAAOiJ,GAAQd,EAAgB7G,EAAUc,EAAYI,IAEzFqJ,EAAAA,UAAU,WACJrJ,IACF,OAAAmG,EAAA,MAAAF,QAAA,EAAAA,GAAgBiC,UAAhB/B,EAAyBlI,UAE1B,CAAC+B,MAEF+J,kBAAAA,KAAAC,6BAAA,CACEC,SAAA,GAAAC,kBAAAA,IAAChQ,EAAA,CACCgB,MAAOb,EAAMqE,KACb9C,OAAQvB,EAAM8P,MACdC,IAAK/P,EAAMgQ,GACXlO,YAAa,MAAA9B,OAAA,EAAAA,EAAOkK,WACpBjK,YAAa,MAAAD,OAAA,EAAAA,EAAOiQ,WACpBC,QAASnF,EACToF,kBAAmBnM,EACnBoM,UAAU,EAEVR,WAAAF,kBAAAA,KAACzL,EAAA,CACCoM,IAAKhE,GACL9K,OAAQvB,EAAM8P,MACdjP,MAAOb,EAAMqE,KACbP,mBAAoBkJ,GACpBlL,YAAa,MAAA9B,OAAA,EAAAA,EAAOkK,WACpBoG,YAAa,MAAAtQ,OAAA,EAAAA,EAAO+M,WACpBqD,UAAU,EACVG,OACE1K,EACI,CACAA,SAAS,EACTxB,MAAM,OAAAyH,EAAA,MAAA9L,OAAA,EAAAA,EAAOwQ,YAAP,EAAA1E,EAAczH,OAAQrE,EAAMqE,QAC/BrE,EAAMyQ,cAETzQ,EAAMwQ,MAEZ9M,QAAS0I,MAAYzG,EACrB+K,QAAS,KACF/K,GAAeC,EAAiBpB,EAAkBY,KAGzDwK,SAAA,GAAAC,kBAAAA,IAAC,QAAA,CACCc,KAAM3Q,EAAM2Q,KACZC,GAAI5Q,EAAM4Q,GACVP,IAAKzE,GACL7E,KAAK,MACL8J,UAAU,UACVT,SAAU,EACVU,UAAU,MAAA9Q,OAAA,EAAAA,EAAOkK,cAAc,MAAAlK,OAAA,EAAAA,EAAO+M,YACtCgE,MAAO,CACLC,SAAU,WACVC,IAAK,EACLC,KAAM,EACNC,MAAO,OACPnN,OAAQ,OACRoN,QAAS,EACT1P,OAAQ,OACRF,WAAY,eAEd6P,UAAWhE,GACX5I,SAAWkD,IACT,MAAMX,EAAQW,EAAE2J,OAAOtK,MACjBE,EAAYsE,EAAaqC,QAEzB0D,EAAUvK,EAAMhB,OAASkB,EAAUlB,OAASgB,EAAMuH,UAAY,KAEpE/C,EAAaqC,QAAU7G,EAEnBuK,GAAW,OAAOhE,KAAKgE,IACzBlE,GAAc,CACZtF,IAAKwJ,EACL9C,eAAgB,OAChBC,gBAAiB,SAIjB1H,EAAMhB,OAASkB,EAAUlB,QAC3BqH,GAAc,CACZtF,IAAK,YACL0G,eAAgB,OAChBC,gBAAiB,UAQvB3C,QAAS,KACPR,GAAkB,GACb5F,GAAeC,EAAiBpB,EAAkBY,KAEzD8G,OAAQ,WACNX,GAAkB,GAEba,IACH,OAAAN,EAAA9L,EAAMkM,SAANJ,EAAAE,KAAAhM,MAILgN,KACC6C,kBAAAA,IAAC2B,EAAAA,WAAA,CACCxB,GAAI,CAAEnI,QAAS,CAAExD,KAAM,GAAIoN,KAAM,EAAGC,gBAAgB,IACpDC,WAAazQ,IAAAA,CACX2G,QAAS,CACPlG,MAAOT,EAAMG,OAAO8B,MAAMnD,EAAM8P,OAAOnO,MAAMyB,eAIhDwM,SAAA5P,EAAMiN,mBAGT1G,EAASkB,KAAKC,IAAI,CAACpG,EAAM0G,IACvB0H,EAAAA,kBAAAA,KAACC,WAAA,CACCC,SAAA,GAAAC,kBAAAA,IAACvM,EAAA,CACCJ,eAAgB5B,EAAK0F,MACrBnE,UAAW8C,IAAkBrE,EAAKyF,KAClCxF,OAAQvB,EAAM8P,MACdjP,MAAOb,EAAMqE,KACbqM,QAAU/I,IACRA,EAAE8G,iBACF9G,EAAE+G,mBACE,MAAA1O,OAAA,EAAAA,EAAOkK,cAAc,MAAAlK,OAAA,EAAAA,EAAO+M,aAChCzL,EAAK6F,aAGNyI,SAAc,QAAT5I,MACF4K,OAAOtQ,EAAK0F,OAAO6K,SAASvQ,EAAKyF,OAASvC,EAAkBc,KAAO,EAAI,EAAG,KAC1EhE,EAAK8B,aAAe,KAEzB4E,IAAUzB,EAASkB,KAAKzB,OAAS,2BAC/B,OAAA,CAAK+K,MAAO,CAAEI,MAAO,MAAOW,cAAe,OAAQC,UAAW,UAAYnC,SAAA,QAlBhEtO,EAAKyF,SAuBxB8I,kBAAAA,IAACvL,EAAA,CACCwL,MAAO9P,EAAM8P,MACbzL,KAAK,QACL2N,iBAAe,EACfC,YAAU,EACVC,UAAQ,EACRC,YAAU,EACVC,MAAO,CAAC,CAAEzB,KAAM,WAAY5J,KAAM,OAClCmD,YAAY,MAAAlK,OAAA,EAAAA,EAAOkK,cAAc,MAAAlK,OAAA,EAAAA,EAAO+M,YACxChB,QAAUpE,IACRA,EAAE8G,iBACF9G,EAAE+G,kBACF9I,EAAiB,OAEnB8K,QAAU/I,IACRA,EAAE8G,iBACF9G,EAAE+G,kBACFjC,eAKRoD,kBAAAA,IAACwC,EAAAA,QAAA,CACCrC,GAAK9O,IAAAA,CACH2G,QAAS,CACPrG,WAAYN,EAAMG,OAAO8B,MAAMnD,EAAM8P,OAAOtO,WAAWC,KACvDC,OAAQ,aAAaR,EAAMG,OAAO8B,MAAMnD,EAAM8P,OAAOpO,OAAOD,UAGhE4C,KAAMrE,EAAMqE,KACZyL,MAAO9P,EAAM8P,MACb1D,UACAkG,qBAAmB,EACnB/F,kBACA8D,IAAK/D,GAELsD,SAAAF,EAAAA,kBAAAA,KAAClP,EAAA,CAAiB+R,eAAgBvS,EAAMwS,cAAejR,OAAQvB,EAAM8P,MAAOjP,MAAOb,EAAMqE,KACvFuL,SAAA,GAAAF,kBAAAA,KAAC+C,EAAAA,MAAA,CACCzC,GAAI,CACFnI,QAAS,CACP6K,eAAgB,gBAChBC,WAAY,WAIhB/C,SAAA,GAAAC,kBAAAA,IAACtL,EAAAA,OAAA,CACCwC,KAAK,SACLmL,UAAQ,EACRE,MAAO,CACL,CACEzB,KAAM,SACN5J,KAAM,KACN6L,KAAM,KAGVZ,iBAAe,EACflC,MAAO9P,EAAM8P,MACbzL,KAAM,QACNqM,QAAS,KAAOtF,GAAoB2D,KACpC8D,SAAUzH,IAEZsE,yBAAC+C,EAAAA,OAAMzC,GAAI,CAAEnI,QAAS,CAAEiL,IAAK,QAC3BlD,SAAA,GAAAC,kBAAAA,IAACkD,EAAAA,YAAA,CACCC,aAAchT,EAAMoH,OAAO6L,OAC3BnD,MAAO9P,EAAM8P,MACbzL,KAAM,QACN2C,OAAQrC,GAAeG,GAAmB4D,QAAQC,QAAQ,SAASzD,MAAMoE,UACzE4J,sBAAoB,EACpBC,wBAAsB,EACtBC,+BAA6B,EAC7BC,UAAQ,EACRC,cAAY,EACZhH,YAAaZ,GACbjH,SAAW0I,IACLA,MAAwBA,IAE9BpE,QAAS/I,EAAM+I,QACfC,QAAShJ,EAAMgJ,QACfgH,GAAI,CAAEnI,QAAS,CAAEsJ,MAAO,aAE1BtB,kBAAAA,IAAC0D,EAAAA,WAAA,CACCzD,MAAO9P,EAAM8P,MACbzL,KAAM,QACNiI,YAAaX,GACb3E,OAAQrC,GAAeG,GAAmB4D,QAAQC,QAAQ,QAAQzD,MAAMoE,UACxE7E,SAAW0I,IACLA,MAAwBA,IAE9B+F,sBAAoB,EACpBC,wBAAsB,EACtBC,+BAA6B,EAC7BC,UAAQ,EACRtK,QAAS/I,EAAM+I,QACfC,QAAShJ,EAAMgJ,QACfgH,GAAI,CAAEnI,QAAS,CAAEsJ,MAAO,gBAG5BtB,kBAAAA,IAACtL,EAAAA,OAAA,CACCwC,KAAK,SACL2J,QAAS,KAAOxF,GAAoB2D,KACpCmD,iBAAe,EACfE,UAAQ,EACRE,MAAO,CACL,CACEzB,KAAM,SACN5J,KAAM,KACN6L,MAAM,KAGV9C,MAAO9P,EAAM8P,MACbzL,KAAM,QACNwO,SAAU3H,SAGdwE,kBAAAA,KAAChP,EAAA,CAAiBC,MAAO+J,EACtBkF,SAAA,CAAA9H,EAAWJ,IAAI,CAACC,EAAGK,WAClB6H,OAAAA,EAAAA,kBAAAA,IAAClN,EAAA,CACCyN,UAAU,EACVrJ,KAAK,SACL5E,UAAU,EACVF,YAAY,EACZV,OAAQvB,EAAM8P,MACdjP,MAAOb,EAAMqE,KACbzC,MAAM,OAAAkK,EAAAtD,EAAY,SAAZ,EAAAsD,EAAgBlC,aAAc,EACpC/H,QAASmG,EAAQ,EAGhB4H,SAAAjI,EAAEU,OAFE,GAAGV,EAAEU,SAASL,OAKtBQ,EAAYd,IAAKH,KAChBmI,kBAAAA,KAACjN,EAAA,CACCsE,KAAK,SACLjF,YAAayF,EAAI2C,WACjB3I,OAAQvB,EAAM8P,MACdjP,MAAOb,EAAMqE,KACbzC,YAAM2F,WAAKqC,aAAc,EACzB/H,QAAS0F,EAAImC,UAEbgH,QAAS,KACFnJ,EAAI2C,aACPgD,GAAa3F,EAAIP,OACbhH,EAAMwT,gBACRhH,OAIN4D,SAAU7I,EAAI2C,YAAa,EAAK,EAChC/H,SAAUoF,EAAIwC,QACd9H,WAAYsF,EAAIoC,UAChBtH,UAAWkF,EAAIP,SAAU,MAAArC,OAAA,EAAAA,EAAa2E,WACtC/G,gBAAiBgF,EAAI0C,eAEpB2F,SAAA,EAACrI,EAAI2C,cAAc2F,kBAAAA,IAAC4D,EAAAA,OAAA,CAAO9R,MAAOT,EAAMG,OAAOC,KAAKtB,EAAM8P,OAAOnO,MAAMF,OACvE8F,EAAIkC,cAhBAlC,EAAIP,gBAsBlBnB,IAAW,MAAA7F,OAAA,EAAAA,EAAOwQ,OACjBX,EAAAA,kBAAAA,IAAC6D,EAAAA,aAAA,IACM7N,EACD,CACAA,SAAS,EACTxB,MAAM,OAAAsP,EAAA,MAAA3T,OAAA,EAAAA,EAAOwQ,YAAP,EAAAmD,EAActP,OAAQrE,EAAMqE,QAC/BrE,EAAMyQ,cAETzQ,EAAMwQ,MACVnM,MAAM,OAAAuP,EAAA,MAAA5T,OAAA,EAAAA,EAAOwQ,YAAP,EAAAoD,EAAcvP,OAAQrE,EAAMqE,OAElC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.types-gy5Q9qHX.cjs","sources":["../src/components/icon/component.types.tsx"],"sourcesContent":["import React from 'react'\n\nimport { addSXProps, addSXStyleProps } from '@local/styles/sx'\nimport { IThemePaletteKeys, IThemeSize } from '@local/theme'\nimport { AddDollarSign } from '@local/types'\n\nexport type IconItemProps<T extends keyof IconTypeMap> = {\n type: T\n name: IconTypeMap[T]\n className?: string\n onClick?: (event: React.MouseEvent<SVGSVGElement>) => void\n size: IThemeSize | '100%'\n primaryColor?: IThemePaletteKeys\n secondColor?: IThemePaletteKeys\n turn?: number\n order?: number\n tabIndex?: number\n} & addSXProps\n\nexport type StyledIconIdItemProps = AddDollarSign<\n Pick<IconItemProps<'id'>, 'size' | 'turn' | 'order'> & { color?: IThemePaletteKeys }\n> &\n addSXStyleProps\n\nexport enum ENUM_ICON_ID {\n Close,\n Biometry,\n QR,\n Search,\n Folder,\n Wallet,\n Graph,\n Bookmark,\n Category,\n Home,\n Notification,\n Chat,\n Heart,\n Paper,\n Plus,\n Minus,\n PaperPlus,\n PaperNegative,\n PaperFail,\n PaperDownload,\n PaperUpload,\n Send,\n PasswordMini,\n Swap,\n Work,\n Arrow1,\n Arrow2,\n Arrow3,\n Arrow4,\n ArrowMini1,\n ArrowMini2,\n Scan,\n Activity,\n Calendar,\n Message,\n PlusMini,\n ChartMini,\n Game,\n Bag1,\n Bag2,\n TicketStar,\n MoreCircle,\n MoreSquare,\n Discount,\n Buy,\n Web,\n InfoMini,\n DangerMini,\n DangerTriangle,\n CloseMini,\n TickMini,\n Video,\n Discovery,\n Location,\n Document,\n Setting,\n TimeSquare,\n TimeCircle,\n VolumeUp,\n VolumeDown,\n VolumeOff,\n Star,\n Select,\n Ticket,\n Camera,\n Profile,\n AddUser,\n TwoUser,\n ThreeUser,\n Login,\n Logout,\n Download,\n Upload,\n Voice,\n Voice2,\n Delete,\n Edit,\n EditSquare,\n PlayMini,\n ShieldDone,\n ShieldFail,\n Show,\n Hide,\n Filter,\n Filter2,\n Image,\n Image2,\n Call,\n Calling,\n CallMissed,\n CallSilent,\n Lock,\n Unlock,\n Resources,\n Language\n}\nexport enum ENUM_ICON_CHECKBOX {\n Radio,\n Square,\n Arrow,\n Heart\n}\nexport enum ENUM_ICON_LOADING {\n Line,\n Circle,\n Blocks,\n Balls\n}\nexport enum ENUM_ICON_REALEBAIL {\n Map,\n HomeLikes,\n HomeManagement,\n UserSettings,\n User\n}\nexport enum ENUM_ICON_LOGO {\n Jenesei\n}\nexport type TIconIdNameString = keyof typeof ENUM_ICON_ID\nexport type TIconCheckboxNameString = keyof typeof ENUM_ICON_CHECKBOX\nexport type TIconLoadingNameString = keyof typeof ENUM_ICON_LOADING\nexport type TIconRealEbailNameString = keyof typeof ENUM_ICON_REALEBAIL\nexport type TIconLogoNameString = keyof typeof ENUM_ICON_LOGO\n\nexport type IconTypeMap = {\n id: TIconIdNameString\n checkbox: TIconCheckboxNameString\n loading: TIconLoadingNameString\n realebail: TIconRealEbailNameString\n logo: TIconLogoNameString\n}\n"],"names":["ENUM_ICON_ID","ENUM_ICON_CHECKBOX","ENUM_ICON_LOADING","ENUM_ICON_REALEBAIL","ENUM_ICON_LOGO"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.constants-4kkNHBzR.js","sources":["../src/contexts/context-sonner/context.tsx","../src/contexts/context-sonner/context.hooks.ts","../src/contexts/context-sonner/context.styles.tsx","../src/contexts/context-sonner/context.constants.ts"],"sourcesContent":["import { AnimatePresence, motion } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '@local/components/button'\nimport { Icon } from '@local/components/icon'\n\nimport {\n DEFAULT_PROVIDER_SONNER_BUTTON,\n DEFAULT_PROVIDER_SONNER_DURATION,\n DEFAULT_PROVIDER_SONNER_GENRE,\n DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM,\n DEFAULT_PROVIDER_SONNER_SCALE,\n DEFAULT_PROVIDER_SONNER_Y,\n DEFAULT_PROVIDER_SONNER_Z_INDEX,\n ProviderSonnerProps,\n SonnerButtonWrapper,\n SonnerContent,\n SonnerContentDescription,\n SonnerContentProps,\n SonnerContentStandardProps,\n SonnerContentTitle,\n SonnerContextProps,\n SonnerElementProps,\n SonnerElementWrapper,\n SonnerIcon,\n SonnerLayout\n} from '.'\n\nexport const SonnerContext = createContext<SonnerContextProps | null>(null)\n\nexport const ProviderSonner: FC<ProviderSonnerProps> = props => {\n const memoVisibleToasts: ProviderSonnerProps['visibleToasts'] = useMemo(\n () => props.visibleToasts,\n [props.visibleToasts]\n )\n const memoDefaultDescription: ProviderSonnerProps['default']['description'] = useMemo(\n () => props?.default?.description,\n [props?.default?.description]\n )\n const memoDefaultTitle: ProviderSonnerProps['default']['title'] = useMemo(\n () => props?.default?.title,\n [props?.default?.title]\n )\n const memoDefaultButton: ProviderSonnerProps['default']['button'] = useMemo(\n () => props?.default?.button,\n [props?.default?.button]\n )\n const memoDefaultHidingTime: ProviderSonnerProps['default']['hidingTime'] = useMemo(\n () => props?.default?.hidingTime,\n [props?.default?.hidingTime]\n )\n const memoDefaultHidingMode: ProviderSonnerProps['default']['hidingMode'] = useMemo(\n () => props?.default?.hidingMode ?? 'clickOnButton',\n [props?.default?.hidingMode]\n )\n const memoDefaultGenre = useMemo(\n () => props?.default?.genre ?? DEFAULT_PROVIDER_SONNER_GENRE,\n [props?.default?.genre]\n )\n\n const isTop = useMemo(() => props.position.includes('top'), [props.position])\n\n const [contentHistory, setContentHistory] = useState<SonnerContentProps[]>([])\n\n const [isHovered, setIsHovered] = useState(false)\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true)\n }, [])\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false)\n }, [])\n\n const remove: SonnerContextProps['remove'] = useCallback(\n id => {\n setContentHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index > indexToRemove ? item.index - 1 : item.index\n }))\n\n if (updatedHistory.length === 0) handleMouseLeave()\n\n return updatedHistory\n })\n },\n [handleMouseLeave]\n )\n\n const toast: SonnerContextProps['toast'] = useCallback(\n content => {\n const id = content.id ?? uuidv4()\n\n const hidingTime = content.hidingTime ?? memoDefaultHidingTime\n\n setContentHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n // Replace existing item\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index }\n } else {\n // Add new item\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index + 1\n }))\n const newContent = { ...content, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n\n if (hidingTime !== undefined) {\n setTimeout(() => {\n remove(id)\n }, hidingTime)\n }\n },\n [memoDefaultHidingTime, remove]\n )\n const promise: SonnerContextProps['promise'] = useCallback(\n <T,>(\n promise: Promise<T>,\n expectation: Omit<SonnerContentProps, 'index'>,\n localToast: (success: T | undefined, error: unknown | undefined) => Omit<SonnerContentProps, 'index'>\n ) => {\n const id = uuidv4()\n toast({ ...expectation, id, isLoading: true })\n\n return promise\n .then(result => {\n toast({ ...localToast(result, undefined), id })\n })\n .catch(error => {\n toast({ ...localToast(undefined, error), id })\n })\n },\n [toast]\n )\n const handleOnClick = useCallback(\n (id: SonnerContentStandardProps['id']) => {\n remove(id)\n },\n [remove]\n )\n const theme = useTheme()\n return (\n <SonnerContext.Provider value={{ toast, promise, remove, contentHistory }}>\n <SonnerLayout\n $zIndex={props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX}\n $position={props.position}\n $gap={props.gap}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <AnimatePresence>\n {contentHistory.map(content => {\n const index = content.index\n const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false\n const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false\n const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false\n const localGenre = content.genre ?? memoDefaultGenre\n const buttonGenre = theme.colors.sonner[localGenre].button.genre\n const hidingMode = content.hidingMode ?? memoDefaultHidingMode\n\n const localContent = 'content' in content ? content.content : false\n const localTitle = 'title' in content ? content.title : false\n const localDescription = 'description' in content ? content.description : false\n return (\n <MemoizedSonnerElement\n isMoreThanLastViewIndexPlusOne={isMoreThanLastViewIndexPlusOne}\n isMoreThanLastViewIndex={isMoreThanLastViewIndex}\n isLastViewIndex={isLastViewIndex}\n isTop={isTop}\n key={content.id}\n id={content.id}\n icon={content.icon}\n isLoading={content.isLoading}\n index={index}\n buttonGenre={buttonGenre}\n hidingMode={hidingMode}\n isHovered={isHovered}\n genre={localGenre}\n content={localContent}\n title={localTitle || memoDefaultTitle}\n description={localDescription || memoDefaultDescription}\n button={content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON}\n handleOnClick={handleOnClick}\n />\n )\n })}\n </AnimatePresence>\n </SonnerLayout>\n {props.children}\n </SonnerContext.Provider>\n )\n}\n\nconst SonnerElement = (props: SonnerElementProps) => {\n return (\n <motion.div\n key={props.id}\n layout\n initial={{\n opacity: 0,\n scale: 1,\n y: props.isLastViewIndex\n ? !props.isTop\n ? -DEFAULT_PROVIDER_SONNER_Y\n : DEFAULT_PROVIDER_SONNER_Y\n : !props.isTop\n ? DEFAULT_PROVIDER_SONNER_Y\n : -DEFAULT_PROVIDER_SONNER_Y\n }}\n animate={{\n y: 0,\n opacity: props.isMoreThanLastViewIndex ? 0 : 1,\n pointerEvents: props.isMoreThanLastViewIndex ? 'none' : 'auto',\n display: props.isMoreThanLastViewIndex ? 'none' : 'flex',\n scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,\n marginTop: props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n marginBottom: !props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px'\n }}\n style={{\n zIndex: -props.index\n }}\n whileInView={{ opacity: props.isMoreThanLastViewIndex ? 0 : 1 }}\n exit={{ opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_SONNER_DURATION }}\n >\n <SonnerElementWrapper\n $genre={props.genre}\n onClick={() => props.hidingMode === 'clickOnSonner' && props.handleOnClick(props.id, 'clickOnSonner')}\n >\n {(props.isLoading || props.icon) && (\n <SonnerIcon>\n {props.isLoading ? (\n <Icon size=\"medium\" type=\"loading\" name=\"Line\" />\n ) : (\n props.icon && <Icon name={props.icon} type=\"id\" size={'medium'} />\n )}\n </SonnerIcon>\n )}\n <SonnerContent>\n {props.content ? (\n props.content\n ) : (\n <>\n {props.title && <SonnerContentTitle $genre={props.genre}>{props.title}</SonnerContentTitle>}\n {props.description && (\n <SonnerContentDescription $genre={props.genre}>{props.description}</SonnerContentDescription>\n )}\n </>\n )}\n </SonnerContent>\n\n {props.button && props.button.content && (\n <SonnerButtonWrapper>\n <Button\n genre={props.buttonGenre}\n size=\"small\"\n onClick={() => props.hidingMode === 'clickOnButton' && props.handleOnClick(props.id, 'clickOnButton')}\n >\n {props.button.content}\n </Button>\n </SonnerButtonWrapper>\n )}\n </SonnerElementWrapper>\n </motion.div>\n )\n}\nconst MemoizedSonnerElement = memo(SonnerElement)\n","import { useContext } from 'react'\n\nimport { SonnerContext, SonnerContextProps } from '.'\n\nexport const useSonner = (): SonnerContextProps => {\n const context = useContext(SonnerContext)\n if (!context) {\n throw new Error('useSonner must be used within an ProviderSonner')\n }\n return context\n}\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addRemoveScrollbar, addTransition } from '@local/styles/add'\n\nimport { SonnerContentDescriptionProps, SonnerContentTitleProps, SonnerElementWrapperProps, SonnerLayoutProps } from '.'\n\nexport const SonnerLayout = styled.div<SonnerLayoutProps>`\n position: fixed;\n z-index: ${props => props.$zIndex};\n max-height: calc(100dvh - 20px);\n width: 320px;\n display: flex;\n margin: 10px;\n gap: ${props => props.$gap}px;\n box-sizing: content-box;\n overflow-y: visible;\n overflow-x: visible;\n ${addRemoveScrollbar}\n ${props =>\n props.$position === 'bottom-center'\n ? css`\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-left'\n ? css`\n left: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-right'\n ? css`\n right: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'top-right'\n ? css`\n top: 0;\n right: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-left'\n ? css`\n top: 0;\n left: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-center'\n ? css`\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-end;\n flex-direction: column;\n `\n : css``}\n`\n\nexport const SonnerElementWrapper = styled.div<SonnerElementWrapperProps>`\n background: ${props => props.theme.colors.sonner[props.$genre].wrapper.background};\n color: ${props => props.theme.colors.sonner[props.$genre].icon.color};\n border-radius: 12px;\n border-style: solid;\n border-color: ${props => props.theme.colors.sonner[props.$genre].wrapper.borderColor};\n border-width: 1px;\n padding: 16px 20px 16px 20px;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex-shrink: 1;\n min-width: 320px;\n min-height: 64px;\n transform-origin: center center;\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};\n overflow: visible;\n &:hover {\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};\n }\n ${addTransition};\n`\nexport const SonnerContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: flex-start;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex: 1;\n position: relative;\n overflow: hidden;\n`\nexport const SonnerIcon = styled.div`\n display: contents;\n`\nexport const SonnerContentTitle = styled.div<SonnerContentTitleProps>`\n ${props => getFontSizeStyles(14, 700, props.theme.font.family)}\n color: ${props => props.theme.colors.sonner[props.$genre].title.color};\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerContentDescription = styled.div<SonnerContentDescriptionProps>`\n ${props => getFontSizeStyles(12, 400, props.theme.font.family)}\n color:${props => props.theme.colors.sonner[props.$genre].description.color};\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerButtonWrapper = styled.div``\n","import { ITheme } from '@local/theme'\n\nimport { ProviderSonnerProps } from '.'\n\nexport const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100\nexport const DEFAULT_PROVIDER_SONNER_SCALE = 0.04\nexport const DEFAULT_PROVIDER_SONNER_Y = 100\nexport const DEFAULT_PROVIDER_SONNER_DURATION = 0.3\nexport const DEFAULT_PROVIDER_SONNER_GENRE: keyof ITheme['colors']['sonner'] = 'black'\nexport const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60\nexport const DEFAULT_PROVIDER_SONNER_BUTTON: ProviderSonnerProps['default']['button'] = {\n content: 'Undo',\n onClick: () => {}\n}\n"],"names":["_a","uuidv4","promise","jsxs","jsx","Fragment"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.constants-B9Yk6CGe.js","sources":["../src/contexts/context-dialog/context.tsx","../src/contexts/context-dialog/context.hooks.ts","../src/contexts/context-dialog/context.styles.tsx","../src/contexts/context-dialog/context.constants.ts"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\n\nimport { Outside } from '@local/areas/outside'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT,\n DialogContentProps,\n DialogContextProps,\n DialogElementProps,\n DialogElementWrapper,\n DialogLayout,\n ProviderDialogProps\n} from '.'\n\nexport const DialogContext = createContext<DialogContextProps<object> | null>(null)\n\nexport const ProviderDialog: FC<ProviderDialogProps> = props => {\n const [dialogHistory, setDialogHistory] = useState<DialogContentProps<object>[]>([])\n\n const remove: DialogContextProps<object>['remove'] = useCallback(id => {\n setDialogHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index!\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index! > indexToRemove ? item.index! - 1 : item.index\n }))\n\n return updatedHistory\n })\n }, [])\n\n const update: DialogContextProps<object>['update'] = useCallback(dialog => {\n setDialogHistory(prev => {\n return prev.map(item => {\n if (item.id === dialog.id) {\n return { ...item, ...dialog }\n }\n return item\n })\n })\n }, [])\n\n const add: DialogContextProps<object>['add'] = useCallback(dialog => {\n const id = dialog.id\n\n setDialogHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index }\n } else {\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index! + 1\n }))\n const newContent = { ...dialog, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n }, [])\n\n const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length])\n const zIndex = useMemo(() => props.zIndex, [props.zIndex])\n\n return (\n <DialogContext.Provider value={{ add, remove, update, dialogHistory }}>\n <AnimatePresence>\n {dialogHistoryLength && (\n <DialogLayout\n $zIndex={zIndex}\n initial={{\n opacity: 0\n }}\n exit={{\n opacity: 0\n }}\n animate={{\n opacity: 1\n }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT }}\n >\n {dialogHistory.map(dialog => {\n const index = dialog.index\n const content = dialog.content\n const id = dialog.id\n const props = dialog.props\n\n return (\n <MemoizedDialogElement\n index={index}\n content={content}\n props={props}\n key={id}\n id={id}\n remove={() => remove(id)}\n />\n )\n })}\n </DialogLayout>\n )}\n </AnimatePresence>\n\n {props.children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogElement = (props: DialogElementProps) => {\n const [isAnimating, setIsAnimating] = useState(true)\n return (\n <Outside onOutsideClick={() => props.remove()}>\n <DialogElementWrapper\n key={props.id}\n initial={{\n opacity: 0,\n scale: 0.8\n }}\n animate={{\n opacity: 1,\n scale: 1\n }}\n onAnimationComplete={() => setIsAnimating(false)}\n transition={{\n type: 'spring',\n duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT\n }}\n style={{\n zIndex: -props.index!\n }}\n $propsDialog={props.props?.propsDialog}\n >\n {props.content?.(props.props, props.remove, isAnimating)}\n </DialogElementWrapper>\n </Outside>\n )\n}\nconst MemoizedDialogElement = memo(DialogElement)\n","import { useCallback, useContext, useEffect, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize'\n\nimport { DialogContext, DialogContextItemProps, DialogContextProps, useDialogProps } from '.'\n\nexport const useDialogs = (): DialogContextProps<object> => {\n const context = useContext(DialogContext)\n if (!context) {\n throw new Error('useDialogs must be used within an ProviderDialog')\n }\n return context\n}\n\nexport const useDialog = <T extends object>(props?: useDialogProps<T>): DialogContextItemProps<T> => {\n const { add, remove, update, dialogHistory } = useDialogs()\n const [id, setId] = useState<string | null>(null)\n\n const localAdd: DialogContextItemProps<T>['add'] = useCallback(\n dialog => {\n const find = dialogHistory.find(item => item.id === dialog.id)\n if (!id || !find) {\n const id = dialog.id || uuidv4()\n setId(id)\n add({ ...(dialog as T), props: props, id })\n }\n },\n [add, dialogHistory, id, props]\n )\n const localRemove = useCallback(() => {\n if (id) {\n remove(id)\n setId(null)\n }\n }, [id, remove])\n\n const propsMemo = useDeepCompareMemoize(props)\n\n useEffect(() => {\n if (id) {\n update({ id, props: propsMemo })\n }\n }, [id, propsMemo, update])\n\n return { add: localAdd, remove: localRemove, id }\n}\n","import { motion } from 'framer-motion'\nimport styled from 'styled-components'\n\nimport { addOutline } from '@local/styles/add'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n DialogElementWrapperProps,\n DialogLayoutProps\n} from '.'\n\nexport const DialogLayout = styled(motion.div)<DialogLayoutProps>`\n position: fixed;\n flex: 1;\n width: 100%;\n height: 100%;\n background-color: ${props => props.theme.palette.black50};\n z-index: ${props => props.$zIndex};\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n`\n\nexport const DialogElementWrapper = styled(motion.dialog)<DialogElementWrapperProps>`\n ${addOutline};\n max-width: ${props => props.$propsDialog?.maxWidth || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH};\n max-height: ${props => props.$propsDialog?.maxHeight || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT};\n border-radius: ${props => props.$propsDialog?.borderRadius || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS};\n background: ${props =>\n props.$propsDialog?.background\n ? props.theme.palette[props.$propsDialog.background]\n : props.theme.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND]};\n padding: ${props => props.$propsDialog?.padding || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING};\n width: max-content;\n height: max-content;\n border: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n align-items: flex-start;\n justify-content: flex-start;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n`\nexport const DialogContent = styled(motion.div)``\n","// export const DEFAULT_PROVIDER_Dialog_SCALE = 0.04\nimport { IThemePaletteKeys } from '@local/theme'\n\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS: string = '12px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING: string = '20px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND: IThemePaletteKeys = 'whiteStandard'\n"],"names":["jsxs","jsx","props","id","uuidv4"],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- "use strict";const e=require("react"),t=require("uuid"),i=require("./use-C1l0O0Qo.cjs"),o=require("framer-motion"),r=require("styled-components"),n=require("./style-mc2ST5fY.cjs"),s=require("./jsx-runtime-BcGej2Kr.cjs"),a=require("./area-D7906bXA.cjs"),d=e.createContext(null),l=e.memo(t=>{var i,o;const[r,n]=e.useState(!0);return s.jsxRuntimeExports.jsx(a.Outside,{onOutsideClick:()=>t.remove(),children:s.jsxRuntimeExports.jsx(u,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},onAnimationComplete:()=>n(!1),transition:{type:"spring",duration:m,delay:D},style:{zIndex:-t.index},$propsDialog:null==(i=t.props)?void 0:i.propsDialog,children:null==(o=t.content)?void 0:o.call(t,t.props,t.remove,r)},t.id)})}),p=()=>{const t=e.useContext(d);if(!t)throw new Error("useDialogs must be used within an ProviderDialog");return t},x=r(o.motion.div)`
2
- position: fixed;
3
- flex: 1;
4
- width: 100%;
5
- height: 100%;
6
- background-color: ${e=>e.theme.palette.black50};
7
- z-index: ${e=>e.$zIndex};
8
- display: flex;
9
- align-items: center;
10
- justify-content: center;
11
- overflow: hidden;
12
- `,u=r(o.motion.dialog)`
13
- ${n.addOutline};
14
- max-width: ${e=>{var t;return(null==(t=e.$propsDialog)?void 0:t.maxWidth)||g}};
15
- max-height: ${e=>{var t;return(null==(t=e.$propsDialog)?void 0:t.maxHeight)||E}};
16
- border-radius: ${e=>{var t;return(null==(t=e.$propsDialog)?void 0:t.borderRadius)||_}};
17
- background: ${e=>{var t;return(null==(t=e.$propsDialog)?void 0:t.background)?e.theme.palette[e.$propsDialog.background]:e.theme.palette[v]}};
18
- padding: ${e=>{var t;return(null==(t=e.$propsDialog)?void 0:t.padding)||h}};
19
- width: max-content;
20
- height: max-content;
21
- border: 0;
22
- display: flex;
23
- flex-direction: column;
24
- gap: 10px;
25
- align-items: flex-start;
26
- justify-content: flex-start;
27
- flex-shrink: 0;
28
- position: relative;
29
- box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2);
30
- overflow: hidden;
31
- `,c=r(o.motion.div)``,m=.3,D=.4,E="max-content",g="max-content",_="12px",h="20px",v="whiteStandard";exports.DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT=m,exports.DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT=D,exports.DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND=v,exports.DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS=_,exports.DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT=E,exports.DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH=g,exports.DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING=h,exports.DialogContent=c,exports.DialogContext=d,exports.DialogElementWrapper=u,exports.DialogLayout=x,exports.ProviderDialog=t=>{const[i,r]=e.useState([]),n=e.useCallback(e=>{r(t=>{const i=t.find(t=>t.id===e);if(!i)return t;const o=i.index;return t.filter(t=>t.id!==e).map(e=>({...e,index:e.index>o?e.index-1:e.index}))})},[]),a=e.useCallback(e=>{r(t=>t.map(t=>t.id===e.id?{...t,...e}:t))},[]),p=e.useCallback(e=>{const t=e.id;r(i=>{const o=i.findIndex(e=>e.id===t);let r;if(-1!==o)r=[...i],r[o]={...e,id:t,index:i[o].index};else{r=i.map(e=>({...e,index:e.index+1}));const o={...e,id:t,index:0};r.unshift(o)}return r})},[]),u=e.useMemo(()=>i.length,[i.length]),c=e.useMemo(()=>t.zIndex,[t.zIndex]);return s.jsxRuntimeExports.jsxs(d.Provider,{value:{add:p,remove:n,update:a,dialogHistory:i},children:[s.jsxRuntimeExports.jsx(o.AnimatePresence,{children:u&&s.jsxRuntimeExports.jsx(x,{$zIndex:c,initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},transition:{type:"spring",duration:D},children:i.map(e=>{const t=e.index,i=e.content,o=e.id,r=e.props;return s.jsxRuntimeExports.jsx(l,{index:t,content:i,props:r,id:o,remove:()=>n(o)},o)})})}),t.children]})},exports.useDialog=o=>{const{add:r,remove:n,update:s,dialogHistory:a}=p(),[d,l]=e.useState(null),x=e.useCallback(e=>{const i=a.find(t=>t.id===e.id);if(!d||!i){const i=e.id||t.v4();l(i),r({...e,props:o,id:i})}},[r,a,d,o]),u=e.useCallback(()=>{d&&(n(d),l(null))},[d,n]),c=i.useDeepCompareMemoize(o);return e.useEffect(()=>{d&&s({id:d,props:c})},[d,c,s]),{add:x,remove:u,id:d}},exports.useDialogs=p;
32
- //# sourceMappingURL=context.constants-CTfUKury.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.constants-CTfUKury.cjs","sources":["../src/contexts/context-dialog/context.tsx","../src/contexts/context-dialog/context.hooks.ts","../src/contexts/context-dialog/context.styles.tsx","../src/contexts/context-dialog/context.constants.ts"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\n\nimport { Outside } from '@local/areas/outside'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT,\n DialogContentProps,\n DialogContextProps,\n DialogElementProps,\n DialogElementWrapper,\n DialogLayout,\n ProviderDialogProps\n} from '.'\n\nexport const DialogContext = createContext<DialogContextProps<object> | null>(null)\n\nexport const ProviderDialog: FC<ProviderDialogProps> = props => {\n const [dialogHistory, setDialogHistory] = useState<DialogContentProps<object>[]>([])\n\n const remove: DialogContextProps<object>['remove'] = useCallback(id => {\n setDialogHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index!\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index! > indexToRemove ? item.index! - 1 : item.index\n }))\n\n return updatedHistory\n })\n }, [])\n\n const update: DialogContextProps<object>['update'] = useCallback(dialog => {\n setDialogHistory(prev => {\n return prev.map(item => {\n if (item.id === dialog.id) {\n return { ...item, ...dialog }\n }\n return item\n })\n })\n }, [])\n\n const add: DialogContextProps<object>['add'] = useCallback(dialog => {\n const id = dialog.id\n\n setDialogHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index }\n } else {\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index! + 1\n }))\n const newContent = { ...dialog, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n }, [])\n\n const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length])\n const zIndex = useMemo(() => props.zIndex, [props.zIndex])\n\n return (\n <DialogContext.Provider value={{ add, remove, update, dialogHistory }}>\n <AnimatePresence>\n {dialogHistoryLength && (\n <DialogLayout\n $zIndex={zIndex}\n initial={{\n opacity: 0\n }}\n exit={{\n opacity: 0\n }}\n animate={{\n opacity: 1\n }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT }}\n >\n {dialogHistory.map(dialog => {\n const index = dialog.index\n const content = dialog.content\n const id = dialog.id\n const props = dialog.props\n\n return (\n <MemoizedDialogElement\n index={index}\n content={content}\n props={props}\n key={id}\n id={id}\n remove={() => remove(id)}\n />\n )\n })}\n </DialogLayout>\n )}\n </AnimatePresence>\n\n {props.children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogElement = (props: DialogElementProps) => {\n const [isAnimating, setIsAnimating] = useState(true)\n return (\n <Outside onOutsideClick={() => props.remove()}>\n <DialogElementWrapper\n key={props.id}\n initial={{\n opacity: 0,\n scale: 0.8\n }}\n animate={{\n opacity: 1,\n scale: 1\n }}\n onAnimationComplete={() => setIsAnimating(false)}\n transition={{\n type: 'spring',\n duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT\n }}\n style={{\n zIndex: -props.index!\n }}\n $propsDialog={props.props?.propsDialog}\n >\n {props.content?.(props.props, props.remove, isAnimating)}\n </DialogElementWrapper>\n </Outside>\n )\n}\nconst MemoizedDialogElement = memo(DialogElement)\n","import { useCallback, useContext, useEffect, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize'\n\nimport { DialogContext, DialogContextItemProps, DialogContextProps, useDialogProps } from '.'\n\nexport const useDialogs = (): DialogContextProps<object> => {\n const context = useContext(DialogContext)\n if (!context) {\n throw new Error('useDialogs must be used within an ProviderDialog')\n }\n return context\n}\n\nexport const useDialog = <T extends object>(props?: useDialogProps<T>): DialogContextItemProps<T> => {\n const { add, remove, update, dialogHistory } = useDialogs()\n const [id, setId] = useState<string | null>(null)\n\n const localAdd: DialogContextItemProps<T>['add'] = useCallback(\n dialog => {\n const find = dialogHistory.find(item => item.id === dialog.id)\n if (!id || !find) {\n const id = dialog.id || uuidv4()\n setId(id)\n add({ ...(dialog as T), props: props, id })\n }\n },\n [add, dialogHistory, id, props]\n )\n const localRemove = useCallback(() => {\n if (id) {\n remove(id)\n setId(null)\n }\n }, [id, remove])\n\n const propsMemo = useDeepCompareMemoize(props)\n\n useEffect(() => {\n if (id) {\n update({ id, props: propsMemo })\n }\n }, [id, propsMemo, update])\n\n return { add: localAdd, remove: localRemove, id }\n}\n","import { motion } from 'framer-motion'\nimport styled from 'styled-components'\n\nimport { addOutline } from '@local/styles/add'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n DialogElementWrapperProps,\n DialogLayoutProps\n} from '.'\n\nexport const DialogLayout = styled(motion.div)<DialogLayoutProps>`\n position: fixed;\n flex: 1;\n width: 100%;\n height: 100%;\n background-color: ${props => props.theme.palette.black50};\n z-index: ${props => props.$zIndex};\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n`\n\nexport const DialogElementWrapper = styled(motion.dialog)<DialogElementWrapperProps>`\n ${addOutline};\n max-width: ${props => props.$propsDialog?.maxWidth || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH};\n max-height: ${props => props.$propsDialog?.maxHeight || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT};\n border-radius: ${props => props.$propsDialog?.borderRadius || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS};\n background: ${props =>\n props.$propsDialog?.background\n ? props.theme.palette[props.$propsDialog.background]\n : props.theme.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND]};\n padding: ${props => props.$propsDialog?.padding || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING};\n width: max-content;\n height: max-content;\n border: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n align-items: flex-start;\n justify-content: flex-start;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n`\nexport const DialogContent = styled(motion.div)``\n","// export const DEFAULT_PROVIDER_Dialog_SCALE = 0.04\nimport { IThemePaletteKeys } from '@local/theme'\n\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS: string = '12px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING: string = '20px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND: IThemePaletteKeys = 'whiteStandard'\n"],"names":["DialogContext","createContext","MemoizedDialogElement","memo","props","isAnimating","setIsAnimating","useState","Outside","onOutsideClick","remove","children","jsx","DialogElementWrapper","initial","opacity","scale","animate","onAnimationComplete","transition","type","duration","DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT","delay","DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT","style","zIndex","index","$propsDialog","_a","propsDialog","content","id","useDialogs","context","useContext","Error","DialogLayout","styled","motion","div","theme","palette","black50","$zIndex","dialog","addOutline","maxWidth","DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH","maxHeight","DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT","borderRadius","DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS","background","DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND","padding","DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING","DialogContent","dialogHistory","setDialogHistory","useCallback","prev","itemToRemove","find","item","indexToRemove","filter","map","update","add","existingIndex","findIndex","updatedHistory","newContent","unshift","dialogHistoryLength","useMemo","length","jsxs","Provider","value","AnimatePresence","exit","setId","localAdd","uuidv4","localRemove","propsMemo","useDeepCompareMemoize","useEffect"],"mappings":"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"}