@jenesei-software/jenesei-kit-react 2.1.0 → 2.2.1

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 (230) hide show
  1. package/build/{AnimatePresence-19yP-TCg.js → AnimatePresence-BWc2vFe-.js} +2 -2
  2. package/build/{AnimatePresence-19yP-TCg.js.map → AnimatePresence-BWc2vFe-.js.map} +1 -1
  3. package/build/{AnimatePresence-BdBJCJuf.cjs → AnimatePresence-DeKd4Eek.cjs} +2 -2
  4. package/build/{AnimatePresence-BdBJCJuf.cjs.map → AnimatePresence-DeKd4Eek.cjs.map} +1 -1
  5. package/build/area-outside.cjs.js +1 -1
  6. package/build/area-outside.es.js +1 -1
  7. package/build/area-preview.cjs.js +1 -1
  8. package/build/area-preview.es.js +1 -1
  9. package/build/area-skeleton.cjs.js +1 -1
  10. package/build/area-skeleton.es.js +1 -1
  11. package/build/build-info.txt +3 -3
  12. package/build/{button-BbGiFvok.js → button-C1w25-Hk.js} +4 -4
  13. package/build/{button-BbGiFvok.js.map → button-C1w25-Hk.js.map} +1 -1
  14. package/build/{button-BuPpgfL_.cjs → button-CHEeSypf.cjs} +2 -2
  15. package/build/{button-BuPpgfL_.cjs.map → button-CHEeSypf.cjs.map} +1 -1
  16. package/build/{checkbox-qgc_Ntc3.cjs → checkbox-Bxt8K0ZY.cjs} +2 -2
  17. package/build/{checkbox-qgc_Ntc3.cjs.map → checkbox-Bxt8K0ZY.cjs.map} +1 -1
  18. package/build/{checkbox-CXxWDklX.js → checkbox-DPkXe4_5.js} +5 -5
  19. package/build/{checkbox-CXxWDklX.js.map → checkbox-DPkXe4_5.js.map} +1 -1
  20. package/build/{component-jsn2T8Hu.cjs → component-CbJ_P8yq.cjs} +2 -2
  21. package/build/{component-jsn2T8Hu.cjs.map → component-CbJ_P8yq.cjs.map} +1 -1
  22. package/build/{component-BHyXT2-h.js → component-DGfyD5-u.js} +4 -4
  23. package/build/{component-BHyXT2-h.js.map → component-DGfyD5-u.js.map} +1 -1
  24. package/build/component-button.cjs.js +1 -1
  25. package/build/component-button.es.js +1 -1
  26. package/build/component-checkbox.cjs.js +1 -1
  27. package/build/component-checkbox.es.js +1 -1
  28. package/build/component-date-picker.cjs.js +1 -1
  29. package/build/component-date-picker.es.js +1 -1
  30. package/build/component-icon.cjs.js +1 -1
  31. package/build/component-icon.es.js +1 -1
  32. package/build/component-input-otp.cjs.js +1 -1
  33. package/build/component-input-otp.es.js +1 -1
  34. package/build/component-input.cjs.js +1 -1
  35. package/build/component-input.es.js +1 -1
  36. package/build/component-pagination.cjs.js +1 -1
  37. package/build/component-pagination.es.js +1 -1
  38. package/build/component-popover.cjs.js +1 -1
  39. package/build/component-popover.es.js +1 -1
  40. package/build/component-select.cjs.js +1 -1
  41. package/build/component-select.es.js +5 -6
  42. package/build/component-separator.cjs.js +1 -1
  43. package/build/component-separator.es.js +1 -1
  44. package/build/component-stack.cjs.js +1 -1
  45. package/build/component-stack.es.js +1 -1
  46. package/build/component-textarea.cjs.js +1 -1
  47. package/build/component-textarea.es.js +1 -1
  48. package/build/component-toggle.cjs.js +1 -1
  49. package/build/component-toggle.es.js +1 -1
  50. package/build/component-tooltip.cjs.js +1 -1
  51. package/build/component-tooltip.es.js +1 -1
  52. package/build/component-typography.cjs.js +1 -1
  53. package/build/component-typography.es.js +1 -1
  54. package/build/components/select/component.examples.d.ts +1 -2
  55. package/build/components/select/component.types.d.ts +1 -5
  56. package/build/components/select/index.d.ts +2 -2
  57. package/build/components-error.cjs.js +1 -1
  58. package/build/components-error.es.js +1 -1
  59. package/build/{context-app-CMK9g6MI.js → context-app-C9XoarPw.js} +6 -6
  60. package/build/{context-app-CMK9g6MI.js.map → context-app-C9XoarPw.js.map} +1 -1
  61. package/build/{context-app-HhFcx1wY.cjs → context-app-Dsa1tKlU.cjs} +2 -2
  62. package/build/{context-app-HhFcx1wY.cjs.map → context-app-Dsa1tKlU.cjs.map} +1 -1
  63. package/build/context-app.cjs.js +1 -1
  64. package/build/context-app.es.js +1 -1
  65. package/build/{context-browser-theme-Cb6siWO0.js → context-browser-theme-CRBCZ_y_.js} +2 -2
  66. package/build/{context-browser-theme-Cb6siWO0.js.map → context-browser-theme-CRBCZ_y_.js.map} +1 -1
  67. package/build/{context-browser-theme-Cso_rAT5.cjs → context-browser-theme-xixEbalV.cjs} +2 -2
  68. package/build/{context-browser-theme-Cso_rAT5.cjs.map → context-browser-theme-xixEbalV.cjs.map} +1 -1
  69. package/build/context-browser-theme.cjs.js +1 -1
  70. package/build/context-browser-theme.es.js +1 -1
  71. package/build/{context-cookie-Btkd2aXy.cjs → context-cookie-DFgWWGA9.cjs} +2 -2
  72. package/build/{context-cookie-Btkd2aXy.cjs.map → context-cookie-DFgWWGA9.cjs.map} +1 -1
  73. package/build/{context-cookie-5CBhf-gb.js → context-cookie-Daq2MZo3.js} +2 -2
  74. package/build/{context-cookie-5CBhf-gb.js.map → context-cookie-Daq2MZo3.js.map} +1 -1
  75. package/build/context-cookie.cjs.js +1 -1
  76. package/build/context-cookie.es.js +1 -1
  77. package/build/{context-dialog-B67-_jMH.cjs → context-dialog-B3khh4eN.cjs} +2 -2
  78. package/build/{context-dialog-B67-_jMH.cjs.map → context-dialog-B3khh4eN.cjs.map} +1 -1
  79. package/build/{context-dialog-CxGGmBqC.js → context-dialog-CeqpejDW.js} +13 -13
  80. package/build/{context-dialog-CxGGmBqC.js.map → context-dialog-CeqpejDW.js.map} +1 -1
  81. package/build/context-dialog.cjs.js +1 -1
  82. package/build/context-dialog.es.js +1 -1
  83. package/build/{context-geolocation-C7PYGQ2g.js → context-geolocation-B_KYGlfQ.js} +2 -2
  84. package/build/{context-geolocation-C7PYGQ2g.js.map → context-geolocation-B_KYGlfQ.js.map} +1 -1
  85. package/build/{context-geolocation-CV4hV0NX.cjs → context-geolocation-bP0_455H.cjs} +2 -2
  86. package/build/{context-geolocation-CV4hV0NX.cjs.map → context-geolocation-bP0_455H.cjs.map} +1 -1
  87. package/build/context-geolocation.cjs.js +1 -1
  88. package/build/context-geolocation.es.js +1 -1
  89. package/build/{context-local-storage-Bb_vktd8.js → context-local-storage-DA_whw_k.js} +2 -2
  90. package/build/{context-local-storage-Bb_vktd8.js.map → context-local-storage-DA_whw_k.js.map} +1 -1
  91. package/build/{context-local-storage-DUKHVPAA.cjs → context-local-storage-D_x8dwxM.cjs} +2 -2
  92. package/build/{context-local-storage-DUKHVPAA.cjs.map → context-local-storage-D_x8dwxM.cjs.map} +1 -1
  93. package/build/context-local-storage.cjs.js +1 -1
  94. package/build/context-local-storage.es.js +1 -1
  95. package/build/{context-permission-DrcIwK9y.cjs → context-permission-BP9hPUcR.cjs} +2 -2
  96. package/build/{context-permission-DrcIwK9y.cjs.map → context-permission-BP9hPUcR.cjs.map} +1 -1
  97. package/build/{context-permission-Co4BKDOu.js → context-permission-Cj70kL4A.js} +2 -2
  98. package/build/{context-permission-Co4BKDOu.js.map → context-permission-Cj70kL4A.js.map} +1 -1
  99. package/build/context-permission.cjs.js +1 -1
  100. package/build/context-permission.es.js +1 -1
  101. package/build/{context-screen-width-hcRkxzy7.cjs → context-screen-width-Cfe3atNC.cjs} +2 -2
  102. package/build/{context-screen-width-hcRkxzy7.cjs.map → context-screen-width-Cfe3atNC.cjs.map} +1 -1
  103. package/build/{context-screen-width-CFexCIzV.js → context-screen-width-Cq_B7IVp.js} +3 -3
  104. package/build/{context-screen-width-CFexCIzV.js.map → context-screen-width-Cq_B7IVp.js.map} +1 -1
  105. package/build/context-screen-width.cjs.js +1 -1
  106. package/build/context-screen-width.es.js +1 -1
  107. package/build/{context-sonner-4gBa1F7G.cjs → context-sonner-Dqw0jhwT.cjs} +2 -2
  108. package/build/{context-sonner-4gBa1F7G.cjs.map → context-sonner-Dqw0jhwT.cjs.map} +1 -1
  109. package/build/{context-sonner-qDPLFpD5.js → context-sonner-MO6uE8y0.js} +12 -12
  110. package/build/{context-sonner-qDPLFpD5.js.map → context-sonner-MO6uE8y0.js.map} +1 -1
  111. package/build/context-sonner.cjs.js +1 -1
  112. package/build/context-sonner.es.js +1 -1
  113. package/build/contexts/context-app/context.d.ts +2 -2
  114. package/build/cores/consts.d.ts +0 -24
  115. package/build/cores/types.d.ts +0 -14
  116. package/build/date-picker-ATktGA1c.cjs +3 -0
  117. package/build/date-picker-ATktGA1c.cjs.map +1 -0
  118. package/build/date-picker-D81n3KbO.js +813 -0
  119. package/build/date-picker-D81n3KbO.js.map +1 -0
  120. package/build/{dist-DswBAjW1.cjs → dist-SXTf0-_7.cjs} +1 -1
  121. package/build/{dist-DswBAjW1.cjs.map → dist-SXTf0-_7.cjs.map} +1 -1
  122. package/build/{dist-BV0C3tLK.js → dist-ck-7oUux.js} +1 -1
  123. package/build/{dist-BV0C3tLK.js.map → dist-ck-7oUux.js.map} +1 -1
  124. package/build/{error-L2fvWcNv.js → error-BFb2NCum.js} +7 -7
  125. package/build/{error-L2fvWcNv.js.map → error-BFb2NCum.js.map} +1 -1
  126. package/build/{error-DzkkNL2H.cjs → error-BdFba_yV.cjs} +2 -2
  127. package/build/{error-DzkkNL2H.cjs.map → error-BdFba_yV.cjs.map} +1 -1
  128. package/build/{functions-Dwo54amB.cjs → functions-CZrZU5U0.cjs} +1 -1
  129. package/build/{functions-Dwo54amB.cjs.map → functions-CZrZU5U0.cjs.map} +1 -1
  130. package/build/{functions-CLGf7hqw.js → functions-DzX-pTN8.js} +1 -1
  131. package/build/{functions-CLGf7hqw.js.map → functions-DzX-pTN8.js.map} +1 -1
  132. package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
  133. package/build/hooks-use-deep-compare-memoize.es.js +1 -1
  134. package/build/hooks-use-deep-memo.cjs.js +1 -1
  135. package/build/hooks-use-deep-memo.es.js +1 -1
  136. package/build/hooks-use-responsive-layout.cjs.js +1 -1
  137. package/build/hooks-use-responsive-layout.es.js +1 -1
  138. package/build/hooks-use-typography-styles.cjs.js +1 -1
  139. package/build/hooks-use-typography-styles.es.js +2 -2
  140. package/build/icon-D2w7GViT.js +245 -0
  141. package/build/icon-D2w7GViT.js.map +1 -0
  142. package/build/icon-Ddkbk3-m.cjs +3 -0
  143. package/build/icon-Ddkbk3-m.cjs.map +1 -0
  144. package/build/index.cjs.js +1 -1
  145. package/build/index.d.ts +5 -5
  146. package/build/index.es.js +97 -98
  147. package/build/{input-CV02F03L.js → input-B9ceeR9v.js} +4 -4
  148. package/build/{input-CV02F03L.js.map → input-B9ceeR9v.js.map} +1 -1
  149. package/build/{input-zXF5f99Z.cjs → input-CmdwwrV2.cjs} +2 -2
  150. package/build/{input-zXF5f99Z.cjs.map → input-CmdwwrV2.cjs.map} +1 -1
  151. package/build/{input-otp-BVRCfoRK.cjs → input-otp-CJfZoWd7.cjs} +2 -2
  152. package/build/{input-otp-BVRCfoRK.cjs.map → input-otp-CJfZoWd7.cjs.map} +1 -1
  153. package/build/{input-otp-B9cYxJ7X.js → input-otp-CeMGm5Xq.js} +4 -4
  154. package/build/{input-otp-B9cYxJ7X.js.map → input-otp-CeMGm5Xq.js.map} +1 -1
  155. package/build/{isEqual-Qb81B2zH.js → isEqual-0jZ23Bb6.js} +1 -1
  156. package/build/{isEqual-Qb81B2zH.js.map → isEqual-0jZ23Bb6.js.map} +1 -1
  157. package/build/{isEqual-DeC2HFe5.cjs → isEqual-BA0P9-C8.cjs} +1 -1
  158. package/build/{isEqual-DeC2HFe5.cjs.map → isEqual-BA0P9-C8.cjs.map} +1 -1
  159. package/build/{logger-DZFY33QY.cjs → logger-D3Xu5ef3.cjs} +1 -1
  160. package/build/{logger-DZFY33QY.cjs.map → logger-D3Xu5ef3.cjs.map} +1 -1
  161. package/build/{logger-BRWLzI5S.js → logger-QC3A33gh.js} +1 -1
  162. package/build/{logger-BRWLzI5S.js.map → logger-QC3A33gh.js.map} +1 -1
  163. package/build/{motion-CAPq8wSn.cjs → motion-BWBldnsY.cjs} +2 -2
  164. package/build/{motion-CAPq8wSn.cjs.map → motion-BWBldnsY.cjs.map} +1 -1
  165. package/build/{motion-Dt6TyEjN.js → motion-C1XU2d68.js} +3 -3
  166. package/build/{motion-Dt6TyEjN.js.map → motion-C1XU2d68.js.map} +1 -1
  167. package/build/{outside-B3nRnDGb.cjs → outside-CXyCk8h1.cjs} +2 -2
  168. package/build/{outside-B3nRnDGb.cjs.map → outside-CXyCk8h1.cjs.map} +1 -1
  169. package/build/{outside-DpK1pI8b.js → outside-DopxX0PZ.js} +2 -2
  170. package/build/{outside-DpK1pI8b.js.map → outside-DopxX0PZ.js.map} +1 -1
  171. package/build/{pagination-YXSjZsMZ.js → pagination-BluJtJl7.js} +5 -5
  172. package/build/{pagination-YXSjZsMZ.js.map → pagination-BluJtJl7.js.map} +1 -1
  173. package/build/pagination-VMAFNidU.cjs +3 -0
  174. package/build/{pagination-Dbs4Lrpt.cjs.map → pagination-VMAFNidU.cjs.map} +1 -1
  175. package/build/{popover-1k1MNFwv.js → popover-DHWcQVp1.js} +3 -3
  176. package/build/{popover-1k1MNFwv.js.map → popover-DHWcQVp1.js.map} +1 -1
  177. package/build/{popover-CgwGn-55.cjs → popover-DQkn4RWI.cjs} +2 -2
  178. package/build/{popover-CgwGn-55.cjs.map → popover-DQkn4RWI.cjs.map} +1 -1
  179. package/build/preview-BLu-NOv2.cjs +3 -0
  180. package/build/{preview-dT7fmxcc.cjs.map → preview-BLu-NOv2.cjs.map} +1 -1
  181. package/build/{preview-C_yFxoFH.js → preview-Bc2qdyd4.js} +5 -5
  182. package/build/{preview-C_yFxoFH.js.map → preview-Bc2qdyd4.js.map} +1 -1
  183. package/build/{proxy-_gZenxVU.cjs → proxy-BDese6Pb.cjs} +1 -1
  184. package/build/{proxy-_gZenxVU.cjs.map → proxy-BDese6Pb.cjs.map} +1 -1
  185. package/build/{proxy-wCWa57J3.js → proxy-BFHkqO7P.js} +1 -1
  186. package/build/{proxy-wCWa57J3.js.map → proxy-BFHkqO7P.js.map} +1 -1
  187. package/build/{select-D7EyxR2l.js → select-CCbtkj6f.js} +862 -876
  188. package/build/{select-D7EyxR2l.js.map → select-CCbtkj6f.js.map} +1 -1
  189. package/build/{select-B0adRX2_.cjs → select-CGXyVf57.cjs} +5 -5
  190. package/build/{select-B0adRX2_.cjs.map → select-CGXyVf57.cjs.map} +1 -1
  191. package/build/{separator-CbeH8Lug.cjs → separator-BGVU_LQb.cjs} +2 -2
  192. package/build/{separator-CbeH8Lug.cjs.map → separator-BGVU_LQb.cjs.map} +1 -1
  193. package/build/{separator-hWp-s54-.js → separator-DJEhOPUT.js} +3 -3
  194. package/build/{separator-hWp-s54-.js.map → separator-DJEhOPUT.js.map} +1 -1
  195. package/build/{skeleton-DNwTI6w0.js → skeleton-Bh6zA5iB.js} +4 -4
  196. package/build/{skeleton-DNwTI6w0.js.map → skeleton-Bh6zA5iB.js.map} +1 -1
  197. package/build/{skeleton-BoVFwt7y.cjs → skeleton-DmaXsm9C.cjs} +2 -2
  198. package/build/{skeleton-BoVFwt7y.cjs.map → skeleton-DmaXsm9C.cjs.map} +1 -1
  199. package/build/style-motion.cjs.js +1 -1
  200. package/build/style-motion.es.js +1 -1
  201. package/build/style-utils.cjs.js +1 -1
  202. package/build/style-utils.es.js +1 -1
  203. package/build/styles/utils/types.d.ts +1 -1
  204. package/build/{textarea-CbZSeqGR.cjs → textarea-DInJb6Lz.cjs} +2 -2
  205. package/build/{textarea-CbZSeqGR.cjs.map → textarea-DInJb6Lz.cjs.map} +1 -1
  206. package/build/{textarea-ChkjV_Ha.js → textarea-jIGZ0JdP.js} +4 -4
  207. package/build/{textarea-ChkjV_Ha.js.map → textarea-jIGZ0JdP.js.map} +1 -1
  208. package/build/{toggle-gYw5FUp-.cjs → toggle-BEmUm0of.cjs} +2 -2
  209. package/build/{toggle-gYw5FUp-.cjs.map → toggle-BEmUm0of.cjs.map} +1 -1
  210. package/build/{toggle-I6YvEX4w.js → toggle-D1nXs-LD.js} +4 -4
  211. package/build/{toggle-I6YvEX4w.js.map → toggle-D1nXs-LD.js.map} +1 -1
  212. package/build/{typography-B2KioMfq.js → typography-07KEDl9_.js} +4 -4
  213. package/build/{typography-B2KioMfq.js.map → typography-07KEDl9_.js.map} +1 -1
  214. package/build/{typography-DcxhX_9e.cjs → typography-BKp4OAQI.cjs} +2 -2
  215. package/build/{typography-DcxhX_9e.cjs.map → typography-BKp4OAQI.cjs.map} +1 -1
  216. package/build/{utils-Cona48dZ.js → utils-BRgi6734.js} +1 -1
  217. package/build/{utils-Cona48dZ.js.map → utils-BRgi6734.js.map} +1 -1
  218. package/build/{utils-DtinAjAU.cjs → utils-DCIq-5FL.cjs} +1 -1
  219. package/build/{utils-DtinAjAU.cjs.map → utils-DCIq-5FL.cjs.map} +1 -1
  220. package/package.json +3 -4
  221. package/build/date-picker-CPNNIEa-.cjs +0 -3
  222. package/build/date-picker-CPNNIEa-.cjs.map +0 -1
  223. package/build/date-picker-Uuce_InW.js +0 -689
  224. package/build/date-picker-Uuce_InW.js.map +0 -1
  225. package/build/icon-CoIQwke4.cjs +0 -3
  226. package/build/icon-CoIQwke4.cjs.map +0 -1
  227. package/build/icon-DzAWOQJg.js +0 -277
  228. package/build/icon-DzAWOQJg.js.map +0 -1
  229. package/build/pagination-Dbs4Lrpt.cjs +0 -3
  230. package/build/preview-dT7fmxcc.cjs +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-picker-Uuce_InW.js","names":[],"sources":["../src/components/date-picker/component.types.ts","../src/components/date-picker/component.tsx"],"sourcesContent":["import { IErrorMessage } from '@local/components/error';\nimport { ISelectMonth } from '@local/components/select';\nimport { ITypography } from '@local/styles/utils';\nimport { IThemeControl, IThemeGenreDatePicker, IThemeSize } from '@local/styles/utils/types';\n\nimport { CSSProperties, HTMLInputAutoCompleteAttribute } from 'react';\n\nexport type IDatePickerMode = DatePickerVariant[];\n\nexport enum DatePickerVariant {\n DD = 'DD',\n MM = 'MM',\n YYYY = 'YYYY',\n}\n\nexport type IDatePickerType = 'manual' | 'select' | 'manualAndSelect';\n\nexport type IDatePickerCommon = {\n className?: string;\n style?: CSSProperties;\n\n classNamePopover?: string;\n stylePopover?: CSSProperties;\n\n sxTypography?: ITypography;\n control?: IThemeControl;\n error?: IErrorMessage;\n\n genre: IThemeGenreDatePicker;\n\n id?: string;\n\n isNiceNumber?: boolean;\n isReadOnly?: boolean;\n isDisabled?: boolean;\n isBold?: boolean;\n isMinWidth?: boolean;\n isShowClearButton?: boolean;\n isOnClickClose?: boolean;\n\n labelPlaceholder?: string;\n\n locale: {\n months: ISelectMonth['monthsLocale'];\n weeks: IDatePickerTranslateWeek[];\n inputs: IDatePickerTranslateInput;\n };\n\n notValidDate?: Omit<IErrorMessage, 'size' | 'isError'>;\n\n mode?: IDatePickerMode;\n\n type?: IDatePickerType;\n\n name?: string;\n\n ariaLabel?: string;\n\n autoComplete?: HTMLInputAutoCompleteAttribute | 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 IDatePickerControlledValue = {\n value: number | null | undefined;\n\n defaultValue?: never;\n};\n\ntype IDatePickerUncontrolledValue = {\n defaultValue: number | null | undefined;\n\n value?: never;\n};\nexport type IDatePicker = IDatePickerCommon & (IDatePickerControlledValue | IDatePickerUncontrolledValue);\n\nexport interface IDatePickerDay {\n dayOfWeek: number;\n\n isCurrentMonth: boolean;\n\n isDisabled: boolean;\n\n isChoice: 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 IDatePickerTranslateMonth = {\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 IDatePickerTranslateWeek = {\n localeLong: string;\n\n localeShort: string;\n\n value: 'mo' | 'tu' | 'we' | 'th' | 'fr' | 'sa' | 'su';\n};\nexport type IDatePickerTranslateInput = {\n day: string;\n\n month: string;\n\n year: string;\n};\n","/** biome-ignore-all lint/a11y/useKeyWithClickEvents: <explanation> */\nimport { Button } from '@local/components/button';\nimport { ErrorMessage } from '@local/components/error';\nimport { Popover, usePopover } from '@local/components/popover';\nimport { SelectMonth, SelectYear } from '@local/components/select';\nimport { Stack } from '@local/components/stack';\nimport { Typography } from '@local/components/typography';\nimport { useTypographyStyles } from '@local/hooks/use-typography-styles';\nimport { CSS_CLASS, CSS_VARS, CSS_VARS_RAW, EXTRA_VALUE } from '@local/styles/utils';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport moment, { Moment } from 'moment';\nimport {\n ChangeEvent,\n Fragment,\n KeyboardEvent,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {\n DatePickerVariant,\n IDatePicker,\n IDatePickerDay,\n IDatePickerMode,\n IDatePickerTranslateWeek,\n IDatePickerType,\n} from './component.types';\n\nconst weekOrder: IDatePickerTranslateWeek['value'][] = ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su'];\n\nexport const DatePicker = (props: IDatePicker) => {\n const { onChange } = props;\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, string>>({\n [DatePickerVariant.DD]: '',\n [DatePickerVariant.MM]: '',\n [DatePickerVariant.YYYY]: '',\n });\n\n useEffect(() => {\n refInputValue.current = input;\n }, [input]);\n\n const isHasInput = useMemo(\n () =>\n input[DatePickerVariant.DD] !== '' || input[DatePickerVariant.MM] !== '' || input[DatePickerVariant.YYYY] !== '',\n [input],\n );\n\n const onClearInput = useCallback(() => {\n setInput({\n [DatePickerVariant.DD]: '',\n [DatePickerVariant.MM]: '',\n [DatePickerVariant.YYYY]: '',\n });\n }, []);\n\n const [activeSegment, setActiveSegment] = useState<DatePickerVariant | null>(null);\n const [isError, setIsError] = useState(false);\n\n const mode: IDatePickerMode = 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 type: IDatePickerType = useMemo(() => {\n if (!props.type) {\n return 'manualAndSelect';\n }\n\n return props.type;\n }, [props.type]);\n\n const dataDate = useMemo(() => {\n const segments = [DatePickerVariant.DD, DatePickerVariant.MM, DatePickerVariant.YYYY];\n\n const result = Object.fromEntries(\n segments.map((segment) => [\n segment,\n {\n type: segment,\n value: input[segment],\n placeholder:\n props.locale.inputs[\n segment === DatePickerVariant.DD ? 'day' : segment === DatePickerVariant.MM ? 'month' : 'year'\n ],\n isFirst: mode[0] === segment,\n isLast: mode[mode.length - 1] === segment,\n segmentNext: getNextSegment(segment, mode),\n segmentPrev: getPrevSegment(segment, mode),\n onNextSegment: () => setActiveSegment(getNextSegment(segment, mode)),\n onPrevSegment: () => setActiveSegment(getPrevSegment(segment, mode)),\n setValue: (value: string) => setInput((prev) => ({ ...prev, [segment]: value })),\n setActive: () => setActiveSegment(segment),\n },\n ]),\n ) as Record<\n DatePickerVariant,\n {\n type: DatePickerVariant;\n value: string;\n placeholder: string;\n isFirst: boolean;\n isLast: boolean;\n segmentNext: DatePickerVariant | null;\n segmentPrev: DatePickerVariant | null;\n onNextSegment: () => void;\n onPrevSegment: () => void;\n setValue: (value: string) => void;\n setActive: () => void;\n }\n >;\n\n const resultSort = mode.map((segment) => result[segment]).filter(Boolean);\n\n return { sort: resultSort, default: result };\n }, [props, mode, input]);\n\n const daysInWeek = useMemo(() => {\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\n const daysInMonth: IDatePickerDay[] = useMemo(() => {\n const dateToday = moment.utc();\n const dateValue = valueMoment ?? dateDefaultMoment;\n const dateStartOfMonth = dateValue.clone().startOf('month');\n const dateEndOfMonth = dateValue.clone().endOf('month');\n const dateMin = props.dateMin ? moment.utc(props.dateMin) : null;\n const dateMax = props.dateMax ? moment.utc(props.dateMax) : null;\n\n const dateVisibleDayFirst = dateStartOfMonth.clone().subtract(dateStartOfMonth.isoWeekday() - 1, 'days');\n const dateVisibleDayLast = dateEndOfMonth.clone().add(7 - dateEndOfMonth.isoWeekday(), 'days');\n\n const result: IDatePickerDay[] = [];\n const dateCurrent = dateVisibleDayFirst.clone();\n\n while (dateCurrent <= dateVisibleDayLast) {\n const isCurrentMonth = dateCurrent.isBetween(dateStartOfMonth, dateEndOfMonth, 'day', '[]');\n result.push({\n value: dateCurrent.valueOf(),\n labelString: dateCurrent.format('dd'),\n labelNumber: dateCurrent.date(),\n dayOfWeek: dateCurrent.isoWeekday(),\n isWeekend: [6, 7].includes(dateCurrent.isoWeekday()),\n weekOfMonth: Math.ceil((result.length + 1) / 7),\n isToday: dateCurrent.isSame(dateToday, 'day'),\n isCurrentMonth,\n isChoice: dateCurrent.valueOf() === valueMoment?.valueOf(),\n isDisabled: !!(\n (dateMin && dateCurrent.isBefore(dateMin, 'day')) ||\n (dateMax && dateCurrent.isAfter(dateMax, 'day'))\n ),\n });\n\n dateCurrent.add(1, 'day');\n }\n\n return result;\n }, [valueMoment, dateDefaultMoment, props.dateMax, props.dateMin]);\n\n const rows = useMemo(() => getCountSevens(daysInMonth.length) + 1, [daysInMonth]);\n\n const sizeRadius = useMemo(() => CSS_VARS.sizeValue[props.size].radius, [props.size]);\n const sizePadding = useMemo(() => CSS_VARS.sizeValue[props.size].padding, [props.size]);\n\n // const height = useMemo(() => 40 + rows * 28 + (rows - 1) * 6 + sizePadding * 2, [sizePadding, rows]);\n\n const isHasValue = useMemo(() => valueMoment !== null, [valueMoment]);\n\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\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 refInputValue = useRef(input);\n const refIsHasValueOnce = useRef(false);\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\n const { isOpen, refReference, refFloating, floatingStyles, close, toggle } = usePopover({\n isFocusTrap: true,\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 !!(\n !isInputFocused &&\n !isHasValue &&\n props.labelPlaceholder &&\n (type !== 'select' ? !isOpen : true) &&\n !isHasInput &&\n !activeSegment\n );\n }, [isInputFocused, isHasValue, isOpen, props.labelPlaceholder, isHasInput, activeSegment, type]);\n\n const onChangeDate = useCallback(\n (timestamp: number, isAddLeadingZeros: boolean, input?: Record<DatePickerVariant, string>) => {\n const momentNewDate = moment(timestamp).utc();\n\n const dd = momentNewDate.clone().date().toString();\n const mm = (momentNewDate.clone().month() + 1).toString();\n\n const ddWithZero = dd.padStart(2, '0');\n const mmWithZero = mm.padStart(2, '0');\n\n const yyyy = momentNewDate.clone().year().toString();\n const ddInput = input?.[DatePickerVariant.DD];\n const mmInput = input?.[DatePickerVariant.MM];\n const yyyyInput = input?.[DatePickerVariant.YYYY];\n\n const isSameInput = ddWithZero === ddInput && mmWithZero === mmInput && yyyyInput === yyyy;\n const isSameMoment = valueMoment?.isSame(momentNewDate, 'day');\n if (!isSameMoment) {\n setValueMoment(momentNewDate);\n onChange(momentNewDate.valueOf());\n }\n\n if (!isSameMoment || input ? !isSameInput : false) {\n setInput({\n [DatePickerVariant.DD]: isAddLeadingZeros ? ddWithZero : dd,\n [DatePickerVariant.MM]: isAddLeadingZeros ? mmWithZero : mm,\n [DatePickerVariant.YYYY]: yyyy,\n });\n }\n },\n [valueMoment, onChange],\n );\n\n const onKeyDown = 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 getDigitKey(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].onNextSegment();\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 !== '') {\n const current = input.DD;\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue('');\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(newValue);\n }\n } else {\n dataDate.default[activeSegment].onPrevSegment();\n }\n } else if (activeSegment === DatePickerVariant.MM) {\n if (input.MM !== '') {\n const current = input.MM;\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue('');\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(newValue);\n }\n } else {\n dataDate.default[activeSegment].onPrevSegment();\n }\n } else if (activeSegment === DatePickerVariant.YYYY) {\n if (input.YYYY !== '') {\n const current = input.YYYY;\n if (current.length === 1) {\n dataDate.default[activeSegment].setValue('');\n } else {\n const newValue = current.slice(0, -1);\n dataDate.default[activeSegment].setValue(newValue);\n }\n } else {\n dataDate.default[activeSegment].onPrevSegment();\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n e.preventDefault();\n dataDate.default[activeSegment].onPrevSegment();\n }\n if (key === 'ArrowRight' || key === 'ArrowUp') {\n e.preventDefault();\n dataDate.default[activeSegment].onNextSegment();\n }\n }\n },\n [activeSegment, input, dataDate.default, dataDate],\n );\n\n const onNextMonth = useCallback(() => {\n const newDate = (valueMoment ?? dateDefaultMoment).clone().add(1, 'month');\n onChangeDate(newDate.valueOf(), true);\n }, [valueMoment, onChangeDate, dateDefaultMoment]);\n\n const onPrevMonth = useCallback(() => {\n const newDate = (valueMoment ?? dateDefaultMoment).clone().subtract(1, 'month');\n onChangeDate(newDate.valueOf(), true);\n }, [valueMoment, onChangeDate, dateDefaultMoment]);\n\n const onFocusInput = useCallback(() => {\n if (type === 'select') return;\n setIsInputFocused(true);\n if (!activeSegment) setActiveSegment(DatePickerVariant.DD);\n }, [activeSegment, type]);\n\n const onBlurInput = useCallback(() => {\n setIsInputFocused(false);\n\n if (!isOpen) {\n props.onBlur?.();\n }\n }, [isOpen, props.onBlur]);\n\n const onChangeInput = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n\n const result = getParseDateString(value);\n\n if (result) {\n setInput({\n DD: String(result.day).padStart(2, '0'),\n MM: String(result.month).padStart(2, '0'),\n YYYY: String(result.year),\n });\n if (refHiddenInput.current) refHiddenInput.current.value = '';\n return;\n }\n\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 onKeyDown({\n key: newChar,\n preventDefault: () => {},\n stopPropagation: () => {},\n } as unknown as KeyboardEvent<HTMLInputElement>);\n }\n\n if (value.length < prevValue.length) {\n onKeyDown({\n key: 'Backspace',\n preventDefault: () => {},\n stopPropagation: () => {},\n } as unknown as KeyboardEvent<HTMLInputElement>);\n }\n if (refHiddenInput.current) refHiddenInput.current.value = '';\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (isHasValue && !refIsHasValueOnce.current) refIsHasValueOnce.current = true;\n }, [isHasValue]);\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 if (props.value) {\n // При инициализации также форматируем в строки с ведущими нулями\n const m = moment(props.value).utc();\n setInput({\n [DatePickerVariant.DD]: m.date().toString().padStart(2, '0'),\n [DatePickerVariant.MM]: (m.month() + 1).toString().padStart(2, '0'),\n [DatePickerVariant.YYYY]: m.year().toString(),\n });\n }\n }, [props.value, props.defaultValue]);\n\n useEffect(() => {\n if (!activeSegment)\n getValidateInput(\n input,\n (value) => {\n onChangeDate(value, true, input);\n setIsError(false);\n },\n () => {\n onChange(null);\n setIsError(true);\n },\n (isHasInput) => {\n if (!isHasInput) {\n if (refIsHasValueOnce.current) {\n onChange(null);\n refIsHasValueOnce.current = false;\n }\n setIsError(false);\n }\n },\n );\n }, [onChangeDate, onChange, input, activeSegment]);\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 }, [onClearInput, input, isOpen, isInputFocused, onChange, isHasInput, activeSegment]);\n\n useEffect(() => {\n if (!activeSegment) return;\n getValidateInput(\n refInputValue.current,\n (value) => {\n onChangeDate(value, true, refInputValue.current);\n setIsError(false);\n },\n () => {\n setIsError(true);\n },\n (isHasInput) => {\n if (!isHasInput) {\n setIsError(false);\n }\n },\n );\n }, [onChangeDate, activeSegment]);\n\n useEffect(() => {\n if (activeSegment) {\n close();\n refHiddenInput?.current?.focus();\n }\n }, [activeSegment, close]);\n\n const { className: classNameTypographyDay, style: styleTypographyDay } = useTypographyStyles({\n sx: {\n variant: EXTRA_VALUE.sizeToController.small,\n weight: '500',\n ...props?.sxTypography,\n },\n });\n\n const { className: classNameTypography, style: styleTypography } = useTypographyStyles({\n sx: {\n size: 16,\n weight: props.isBold ? '700' : '400',\n ...props?.sxTypography,\n },\n });\n\n const { className: classNameWrapper, style: styleWrapper } = useMemo(() => {\n const className = setClasses([CSS_CLASS.component.datePicker.wrapper, props.className]);\n\n const vars: Record<string, string> = {};\n\n vars[CSS_VARS_RAW.component.datePicker.padding] = CSS_VARS.size[props.size].padding;\n\n vars[CSS_VARS_RAW.component.datePicker.inputBackground] = CSS_VARS.genre.select[props.genre].background.index;\n vars[CSS_VARS_RAW.component.datePicker.inputBackgroundHover] = CSS_VARS.genre.input[props.genre].background;\n vars[CSS_VARS_RAW.component.datePicker.inputSegmentBackgroundActive] = CSS_VARS.palette.fillQuaternaryLight;\n\n vars[CSS_VARS_RAW.component.datePicker.inputBorderColor] = CSS_VARS.genre.input[props.genre].border;\n vars[CSS_VARS_RAW.component.datePicker.inputBorderColorHover] = CSS_VARS.genre.input[props.genre].border;\n\n vars[CSS_VARS_RAW.component.datePicker.inputColor] = CSS_VARS.genre.input[props.genre].color;\n vars[CSS_VARS_RAW.component.datePicker.inputColorHover] = CSS_VARS.genre.input[props.genre].color;\n\n vars[CSS_VARS_RAW.component.datePicker.inputPadding] = isShowPlaceholder\n ? `0px ${CSS_VARS.size[props.size].padding}`\n : `0px ${CSS_VARS.size[props.size].padding} 0px ${CSS_VARS.sizeValue[props.size].padding - 2}px`;\n vars[CSS_VARS_RAW.component.datePicker.inputHeight] = CSS_VARS.size[props.size].height;\n vars[CSS_VARS_RAW.component.datePicker.inputRadius] = CSS_VARS.size[props.size].radius;\n\n vars[CSS_VARS_RAW.component.datePicker.inputValueColor] = CSS_VARS.genre.input[props.genre].color;\n vars[CSS_VARS_RAW.component.datePicker.inputPlaceholderColor] = CSS_VARS.genre.input[props.genre].placeholder;\n vars[CSS_VARS_RAW.component.datePicker.buttonToggleRight] = `${CSS_VARS.size[props.size].padding}`;\n vars[CSS_VARS_RAW.component.datePicker.buttonClearRight] =\n `${CSS_VARS.sizeValue[props.size].padding * 2 + CSS_VARS.sizeValue[props.size].height}px`;\n\n const style = setStyles([Object.keys(vars).length ? vars : undefined, props.style]);\n\n return { className, style };\n }, [props.className, props.style, isShowPlaceholder, props.genre, props.size]);\n\n const { className: classNamePopover, style: stylePopover } = useMemo(() => {\n const className = setClasses([props.classNamePopover]);\n\n const vars: Record<string, string> = {};\n\n vars[CSS_VARS_RAW.component.datePicker.dayRadius] = `${sizeRadius}px`;\n\n vars[CSS_VARS_RAW.component.datePicker.dayBackgroundRest] = CSS_VARS.genre.datepicker[props.genre].background.index;\n vars[CSS_VARS_RAW.component.datePicker.dayBackgroundHover] =\n CSS_VARS.genre.datepicker[props.genre].background.hover;\n vars[CSS_VARS_RAW.component.datePicker.dayBackgroundWeekend] =\n CSS_VARS.genre.datepicker[props.genre].background.weekend;\n vars[CSS_VARS_RAW.component.datePicker.dayBackgroundToday] =\n CSS_VARS.genre.datepicker[props.genre].background.today;\n vars[CSS_VARS_RAW.component.datePicker.dayBackgroundChoice] =\n CSS_VARS.genre.datepicker[props.genre].background.choice;\n\n vars[CSS_VARS_RAW.component.datePicker.dayBorderRest] = CSS_VARS.genre.datepicker[props.genre].border.index;\n vars[CSS_VARS_RAW.component.datePicker.dayBorderWeekend] = CSS_VARS.genre.datepicker[props.genre].border.weekend;\n vars[CSS_VARS_RAW.component.datePicker.dayBorderToday] = CSS_VARS.genre.datepicker[props.genre].border.today;\n vars[CSS_VARS_RAW.component.datePicker.dayBorderChoice] = CSS_VARS.genre.datepicker[props.genre].border.choice;\n vars[CSS_VARS_RAW.component.datePicker.dayBorderHover] = CSS_VARS.genre.datepicker[props.genre].border.hover;\n\n vars[CSS_VARS_RAW.component.datePicker.dayColorRest] = CSS_VARS.genre.datepicker[props.genre].color.index;\n vars[CSS_VARS_RAW.component.datePicker.dayColorHover] = CSS_VARS.genre.datepicker[props.genre].color.hover;\n vars[CSS_VARS_RAW.component.datePicker.dayColorWeekend] = CSS_VARS.genre.datepicker[props.genre].color.weekend;\n vars[CSS_VARS_RAW.component.datePicker.dayColorToday] = CSS_VARS.genre.datepicker[props.genre].color.today;\n vars[CSS_VARS_RAW.component.datePicker.dayColorChoice] = CSS_VARS.genre.datepicker[props.genre].color.choice;\n\n const style = setStyles([\n Object.keys(vars).length ? vars : undefined,\n {\n background: CSS_VARS.genre.popover[props.genre].background,\n border: `solid 1px ${CSS_VARS.genre.input[props.genre].border}`,\n },\n props.stylePopover,\n ]);\n\n return { className, style };\n }, [props.classNamePopover, props.stylePopover, props.genre, sizeRadius]);\n\n const isShowButtonList = useMemo(() => {\n return (\n type !== 'manual' ||\n (props.isShowClearButton && (isHasValue || isHasInput) && !props?.isDisabled && !props?.isReadOnly)\n );\n }, [type, isHasInput, isHasValue, props.isShowClearButton, props?.isDisabled, props?.isReadOnly]);\n return (\n <>\n <div className={classNameWrapper} style={styleWrapper} tabIndex={-1}>\n <div\n ref={refReference as RefObject<HTMLDivElement | null>}\n tabIndex={-1}\n onClick={() => {\n if (type === 'select') {\n toggle();\n return;\n }\n if (!activeSegment && !props?.isReadOnly) setActiveSegment(DatePickerVariant.DD);\n }}\n className={setClasses([\n CSS_CLASS.component.datePicker.inputWrapper,\n CSS_CLASS.transition.color,\n CSS_CLASS.control[\n props.isDisabled\n ? 'none'\n : (props.control ?? (isOpen || activeSegment ? 'boxShadowSelect' : 'boxShadowOnlyHover'))\n ],\n ])}\n >\n {type !== 'select' ? (\n <input\n name={props.name}\n aria-label={props.ariaLabel ?? props.name}\n autoComplete={props.autoComplete}\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 left: '-100dvw',\n top: 0,\n width: '100%',\n height: '100%',\n opacity: 0,\n border: 'none',\n background: 'transparent',\n }}\n onKeyDown={onKeyDown}\n onChange={onChangeInput}\n onFocus={onFocusInput}\n onBlur={onBlurInput}\n />\n ) : null}\n {isShowPlaceholder ? (\n <Typography\n sx={{ size: 16, line: 1, isNoUserSelect: true }}\n style={{\n color: CSS_VARS.genre.input[props.genre].placeholder,\n }}\n >\n {props.labelPlaceholder}\n </Typography>\n ) : (\n dataDate.sort.map((date, index) => (\n <Fragment key={date.type}>\n <div\n className={setClasses([\n CSS_CLASS.component.datePicker.inputSegment,\n CSS_CLASS.transition.color,\n classNameTypography,\n !!date.value && CSS_CLASS.component.datePicker.inputSegmentHasValue,\n activeSegment === date.type && CSS_CLASS.component.datePicker.inputSegmentIsActive,\n ])}\n style={styleTypography}\n onClick={(e) => {\n if (type === 'select') return;\n e.preventDefault();\n e.stopPropagation();\n if (props?.isDisabled || props?.isReadOnly) return;\n date.setActive();\n }}\n >\n {date.value || date.placeholder || ''}\n </div>\n {index !== dataDate.sort.length - 1 && (\n <span style={{ width: '4px', pointerEvents: 'none', textAlign: 'center' }}>.</span>\n )}\n </Fragment>\n ))\n )}\n {isShowButtonList ? (\n <div className={setClasses([CSS_CLASS.component.datePicker.listButton])}>\n {props.isShowClearButton && (isHasValue || isHasInput) && !props?.isDisabled && !props?.isReadOnly ? (\n <Button\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullRadius\n isFullSize\n isHiddenBorder\n isOnlyIcon\n tabIndex={0}\n icons={[{ name: 'Close', 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 onChange(null);\n onClearInput();\n setIsError(false);\n }}\n />\n ) : null}\n {type !== 'manual' ? (\n <Button\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullRadius\n isFullSize\n isHiddenBorder\n isOnlyIcon\n icons={[{ name: 'Calendar', type: 'id' }]}\n isDisabled={props?.isDisabled || props?.isReadOnly}\n tabIndex={0}\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 ) : null}\n </div>\n ) : null}\n </div>\n </div>\n <Popover\n style={stylePopover}\n className={classNamePopover}\n size={props.size}\n genre={props.genre}\n isOpen={isOpen}\n floatingStyles={floatingStyles}\n ref={refFloating}\n control='boxShadowSelect'\n isDisabledBoxShadow\n >\n <div className={setClasses([CSS_CLASS.component.datePicker.dropdownList])}>\n <Stack\n style={{\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Button\n type='button'\n isFullRadius\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={() => onPrevMonth()}\n isHidden={isBlockPrevMonth}\n isDisabled={isBlockPrevMonth}\n />\n <Stack style={{ gap: '8px' }}>\n <SelectMonth\n isToggleWhenClickSelectListOption\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, true);\n }}\n dateMin={props.dateMin}\n dateMax={props.dateMax}\n style={{ width: '60px' }}\n />\n <SelectYear\n isToggleWhenClickSelectListOption\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, true);\n }}\n isOnClickOptionClose\n isStayValueAfterSelect\n isOnlyColorInSelectListOption\n isCenter\n dateMin={props.dateMin}\n dateMax={props.dateMax}\n style={{ width: '60px' }}\n />\n </Stack>\n <Button\n type='button'\n onClick={() => onNextMonth()}\n isWidthAsHeight\n isFullRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: -90,\n },\n ]}\n genre={props.genre}\n size={'small'}\n isDisabled={isBlockNextMonth}\n isHidden={isBlockNextMonth}\n />\n </Stack>\n <div\n className={setClasses([CSS_CLASS.component.datePicker.dropdownListDays])}\n style={setStyles([\n {\n [CSS_VARS_RAW.component.datePicker.rows]: rows,\n },\n ])}\n >\n {daysInWeek.map((e, index) => (\n <div\n className={setClasses([\n CSS_CLASS.component.datePicker.dayOfWeek,\n classNameTypographyDay,\n CSS_CLASS.transition.color,\n ])}\n style={setStyles([\n styleTypographyDay,\n {\n [CSS_VARS_RAW.component.datePicker.row]: daysInMonth[0]?.weekOfMonth - 1,\n [CSS_VARS_RAW.component.datePicker.column]: index + 1,\n },\n ])}\n tabIndex={-1}\n key={`${e.label}-${index}`}\n >\n {e.label}\n </div>\n ))}\n {daysInMonth.map((day) => (\n <div\n className={setClasses([\n CSS_CLASS.component.datePicker.day,\n classNameTypographyDay,\n CSS_CLASS.control[day.isDisabled || day.isChoice ? 'none' : 'boxShadow'],\n CSS_CLASS.transition.color,\n day.isDisabled && CSS_CLASS.component.datePicker.dayIsHidden,\n day.isToday && CSS_CLASS.component.datePicker.dayIsToday,\n day.isWeekend && CSS_CLASS.component.datePicker.dayIsWeekend,\n day.isChoice && CSS_CLASS.component.datePicker.dayIsChoice,\n !day.isCurrentMonth && CSS_CLASS.component.datePicker.dayIsNotCurrentMonth,\n ])}\n style={setStyles([\n styleTypographyDay,\n {\n [CSS_VARS_RAW.component.datePicker.row]: day?.weekOfMonth + 1,\n [CSS_VARS_RAW.component.datePicker.column]: day.dayOfWeek,\n },\n ])}\n key={day.value}\n onClick={() => {\n if (!day.isDisabled) {\n onChangeDate(day.value, true);\n if (props.isOnClickClose) {\n close();\n }\n }\n }}\n tabIndex={day.isDisabled ? -1 : 0}\n >\n {day.labelNumber}\n </div>\n ))}\n </div>\n </div>\n </Popover>\n {(props?.error?.isError || isError) && (\n <ErrorMessage\n size={props?.error?.size ?? props.size}\n sxTypography={{ size: 16, weight: '400', ...props?.error?.sxTypography }}\n {...props.error}\n />\n )}\n </>\n );\n};\n\nconst ISO_DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst SLASH_DATE_REGEX = /^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/;\n\nfunction getDigitKey(\n key: string,\n activeSegment: DatePickerVariant,\n input: Record<DatePickerVariant, string>,\n dataDate: { default: Record<DatePickerVariant, { setValue: (value: string) => void; onNextSegment: () => void }> },\n) {\n const digit = key; // '0'..'9'\n const seg = activeSegment;\n const current = input[seg] ?? ''; // Теперь это уже строка\n\n if (seg === DatePickerVariant.DD) {\n // Дни: максимум 31\n if (current.length >= 2) {\n // уже два символа — начинаем ввод заново\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n if (current === '') {\n // первый символ\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n // есть один символ, добавляем второй\n const potential = current + digit;\n const potentialNum = Number(potential);\n\n if (potentialNum > 31) {\n // если получается больше 31, заменяем на новую цифру\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n if (potentialNum === 0) {\n // если получается 00, заменяем на новую цифру\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n // нормальная комбинация\n dataDate.default[seg].setValue(potential);\n dataDate.default[seg].onNextSegment();\n // const newInput = { ...input, [seg]: potential };\n // onNextSegment?.(newInput);\n } else if (seg === DatePickerVariant.MM) {\n // Месяцы: максимум 12\n if (current.length >= 2) {\n // уже два символа — начинаем ввод заново\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n if (current === '') {\n // первый символ\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n // есть один символ, добавляем второй\n const potential = current + digit;\n const potentialNum = Number(potential);\n\n if (potentialNum > 12) {\n // если получается больше 12, заменяем на новую цифру\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n if (potentialNum === 0) {\n // если получается 00, заменяем на новую цифру\n // if (digit === '0') return; // нельзя начинать с 0\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n // нормальная комбинация\n dataDate.default[seg].setValue(potential);\n if (potential.length === 2 || (potential.length === 1 && Number(potential) > 1)) {\n dataDate.default[seg].onNextSegment();\n // const newInput = { ...input, [seg]: potential };\n // onNextSegment?.(newInput);\n }\n } else if (seg === DatePickerVariant.YYYY) {\n // Год: накапливаем до 4 цифр\n if (current.length >= 4) {\n // уже четыре символа — начинаем ввод заново\n dataDate.default[seg].setValue(digit);\n return;\n }\n\n // добавляем цифру\n const nextValue = current + digit;\n dataDate.default[seg].setValue(nextValue);\n }\n}\n\nfunction getParseDateString(value: string) {\n // 1. ISO формат (YYYY-MM-DD)\n if (ISO_DATE_REGEX.test(value)) {\n const [year, month, day] = value.split('-').map(Number);\n return getValidateDate(year, month, day);\n }\n\n // 2. Локализованный формат (M/D/YYYY или D/M/YYYY)\n const match = SLASH_DATE_REGEX.exec(value);\n if (match) {\n const [_, p1, p2, p3] = match;\n const num1 = Number(p1);\n const num2 = Number(p2);\n const year = Number(p3);\n\n // Определяем порядок\n // Если num1 > 12 → значит это день (D/M/YYYY)\n let month: number;\n let day: number;\n\n if (num1 > 12) {\n day = num1;\n month = num2;\n } else {\n // По умолчанию считаем M/D/YYYY\n month = num1;\n day = num2;\n }\n\n return getValidateDate(year, month, day);\n }\n\n return null;\n}\n\nfunction getValidateDate(year: number, month: number, day: number) {\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day) {\n return { year, month, day };\n }\n return null;\n}\n\nfunction getCountSevens(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\nfunction getNextSegment(currentSegment: DatePickerVariant, mode: IDatePickerMode): DatePickerVariant | null {\n const currentIndex = mode.indexOf(currentSegment);\n return currentIndex < mode.length - 1 ? mode[currentIndex + 1] : mode[0];\n}\n\nfunction getPrevSegment(currentSegment: DatePickerVariant, mode: IDatePickerMode): DatePickerVariant | null {\n const currentIndex = mode.indexOf(currentSegment);\n return currentIndex > 0 ? mode[currentIndex - 1] : mode[mode.length - 1];\n}\n\nfunction getValidateInput(\n input: Record<DatePickerVariant, string>,\n onSuccess?: (value: number) => void,\n onFailure?: () => void,\n onNan?: (isHasInput: boolean) => void,\n) {\n const dayStr = input.DD;\n const monthStr = input.MM;\n const yearStr = input.YYYY;\n\n const day = dayStr === '' ? NaN : Number(dayStr);\n const month = monthStr === '' ? NaN : Number(monthStr);\n const year = yearStr === '' ? NaN : Number(yearStr);\n\n const isHasInput = dayStr !== '' || monthStr !== '' || yearStr !== '';\n\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"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- const N=require("./chunk-Dd8m0Ver.cjs"),n=require("./utils-DtinAjAU.cjs"),m=require("./functions-Dwo54amB.cjs"),M=require("./skeleton-BoVFwt7y.cjs");require("./logger-DZFY33QY.cjs");let S=require("react/jsx-runtime"),l=require("react");function A(e){return Object.entries(e).map(([,t])=>({...t}))}function C(e){return Object.keys(e).reduce((t,r)=>(t[r]=r,t),{})}var h={eng:{value:"eng",label:"English",placeholder:"English",search:"English, eng"},rus:{value:"rus",label:"Русский",placeholder:"Русский",search:"Русский, rus"}},y={jenesei_id:{value:"jenesei_id",label:"Jenesei ID",placeholder:"Jenesei ID",search:"Jenesei ID"}},v=A(h),V=C(h),D=A(y),H=C(y),q=["image/*",".jpeg",".jpg",".png",".webp","avif"].join(","),I="1.3.0",s=new Map;function w(e){const[t,r]=(0,l.useState)(!1),[g,c]=(0,l.useState)(null);return(0,l.useEffect)(()=>{let u=!0;const i=s.get(e);if(i?.loaded){r(!0),c(i.error??null);return}let _;if(i)_=i.promise;else{const o=(async()=>{const a=await fetch(e);if(!a.ok)throw new Error(`Failed to load sprite: ${e}`);const f=await a.text(),d=document.createElement("div");d.style.display="none",d.innerHTML=f,document.body.prepend(d)})();s.set(e,{promise:o,loaded:!1}),o.then(()=>{const a=s.get(e);s.set(e,{...a,promise:o,loaded:!0})}).catch(a=>{const f=a instanceof Error?a:new Error(String(a)),d=s.get(e);s.set(e,{...d,promise:o,loaded:!0,error:f})}),_=o}return _.then(()=>{if(!u)return;const o=s.get(e);r(o?.loaded??!0),c(o?.error??null)}).catch(()=>{}),()=>{u=!1}},[e]),{loaded:t,error:g}}var E=e=>{const t=(0,l.useMemo)(()=>k({type:e.type,name:e.name}),[e.name,e.type]),{loaded:r,error:g}=w((0,l.useMemo)(()=>T({type:e.type}),[e.type])),c=(0,l.useMemo)(()=>({className:m.setClasses([n.CSS_CLASS.component.icon.skeleton,e.className]),style:m.setStyles([{[n.CSS_VARS_RAW.component.icon.skeletonHeightIcon]:e.size!=="100%"?n.CSS_VARS.size[e.size].heightIcon:"100%",[n.CSS_VARS_RAW.component.icon.skeletonOrder]:e.order?String(e.order):"initial"},e.style])}),[e.className,e.style,e.order,e.size]),u=(0,l.useMemo)(()=>({className:m.setClasses([n.CSS_CLASS.component.icon.root,n.CSS_CLASS.transition.icon,e.className]),style:m.setStyles([{[n.CSS_VARS_RAW.component.icon.color]:e.color?n.CSS_VARS.palette[e.color]:"inherit",[n.CSS_VARS_RAW.component.icon.heightIcon]:e.size!=="100%"?n.CSS_VARS.size[e.size].heightIcon:"100%",[n.CSS_VARS_RAW.component.icon.turn]:e.turn?`${e.turn}deg`:"0deg",[n.CSS_VARS_RAW.component.icon.order]:e.order?String(e.order):"initial"},e.style])}),[e.className,e.style,e.order,e.size,e.color,e.turn]);return!r||g?(0,S.jsx)(M.Skeleton,{color:e.color??void 0,className:c.className,style:c.style,visible:!1}):(0,S.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:u.className,style:u.style,onClick:e.onClick,onKeyDown:i=>{e.onClick&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),e.onClick(i))},tabIndex:e.tabIndex,role:e.onClick?"button":void 0,children:[(0,S.jsx)("title",{children:e.name}),(0,S.jsx)("use",{href:t})]})};function k(e){return`#${e.type}-${e.name}`}function T(e){return`https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${I}/icons/${e.type}.svg`}var P=["Close","Biometry","Qr","Search","Folder","Wallet","Graph","Bookmark","Browser","Category","Home","Notification","Chat","Heart","Paper","Plus","Minus","PaperPlus","PaperNegative","PaperFail","PaperDownload","PaperUpload","Send","Password","Swap","Work","Arrow1","Arrow2","Arrow3","Arrow4","ArrowMini1","ArrowMini2","Scan","Activity","Calendar","Message","PlusMini","ChartMini","Game","Bag1","Bag2","TicketStar","MoreCircle","MoreSquare","Discount","Buy","Web","InfoMini","DangerMini","CloseMini","TickMini","Video","Discovery","Location","Document","Setting","Time","VolumeUp","VolumeDown","VolumeOff","Star","Select","Ticket","Camera","Profile","AddUser","TwoUser","ThreeUser","Login","Logout","Download","Upload","Voice1","Voice2","Delete","Edit","PlayMini","ShieldDone","ShieldFail","Show","Hide","Filter1","Filter2","Image","Call","Calling","CallMissed","CallSilent","Lock","Unlock","Resources","Language"],R=["Radio-true","Radio-false","Square-true","Square-false","Heart-true","Heart-false","Arrow"],b=["Line","Blocks","Balls"],j=["Jenesei","BustMarket"],L={id:P,checkbox:R,loading:b,logo:j};function O(e){return(e.icons??[])?.filter(t=>!t.isHidden)?.map((t,r)=>(0,S.jsx)(E,{size:t?.size??e.size,...t},`${t.type}-${t.name}-${r}`))}Object.defineProperty(exports,"Icon",{enumerable:!0,get:function(){return E}});Object.defineProperty(exports,"LIST_LANGUAGE",{enumerable:!0,get:function(){return v}});Object.defineProperty(exports,"THEME_MAP",{enumerable:!0,get:function(){return L}});Object.defineProperty(exports,"getIconComponents",{enumerable:!0,get:function(){return O}});
2
-
3
- //# sourceMappingURL=icon-CoIQwke4.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-CoIQwke4.cjs","names":[],"sources":["../src/cores/functions.ts","../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["type EnumOption = {\n value: string;\n label: string;\n placeholder: string;\n search: string;\n};\n\nexport function transformEnumToOptions<T extends Record<string, string>>(enumObj: T): EnumOption[] {\n return Object.entries(enumObj).map(([key, value]) => ({\n value: key,\n label: value,\n placeholder: value,\n search: `${value}, ${key}`,\n }));\n}\n\ntype GenericObject<T> = {\n [key: string]: T;\n};\n\nexport function transformObjectToArray<T>(obj: GenericObject<T>): Array<T> {\n return Object.entries(obj).map(([, value]) => ({\n ...value,\n }));\n}\n\nexport function transformObjectValuesToKeys<T>(obj: GenericObject<T>): GenericObject<string> {\n return Object.keys(obj).reduce(\n (acc, key) => {\n acc[key] = key;\n return acc;\n },\n {} as GenericObject<string>,\n );\n}\n\nexport function getContrastYIQ(hexcolor: string) {\n hexcolor = hexcolor.replace('#', '');\n const r = parseInt(hexcolor.substr(0, 2), 16);\n const g = parseInt(hexcolor.substr(2, 2), 16);\n const b = parseInt(hexcolor.substr(4, 2), 16);\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? '#000000' : '#FFFFFF';\n}\n\nexport function getScrollbarWidth() {\n const div = document.createElement('div');\n div.style.visibility = 'hidden';\n div.style.overflow = 'scroll';\n div.style.width = '100px';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n document.body.appendChild(div);\n const scrollBarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n return scrollBarWidth;\n}\n\nexport function getHasVerticalScroll(): boolean {\n if (typeof window === 'undefined') return false;\n return document.documentElement.scrollHeight > window.innerHeight;\n}\n\n// export function getSxTypography(props: {\n// size: IThemeSize;\n// weight: number;\n// sx?: TypographySXProps;\n// theme: DefaultTheme;\n// }): TypographySXProps {\n// const sx = typeof props.sx === 'function' ? props.sx(props.theme) : props.sx;\n// return {\n// default: {\n// size: THEME_KEY_SIZE[props.size].font,\n// weight: 700,\n// ...sx?.default,\n// },\n// ...sx,\n// };\n// }\n\ntype AnyObject = Record<string, any>;\n\nexport function stringifyCssObject<T extends AnyObject>(obj?: T): AnyObject | undefined {\n if (!obj) return undefined;\n\n const result: AnyObject = {};\n\n for (const key in obj) {\n const value = obj[key];\n\n if (value == null) continue;\n\n if (typeof value === 'object' && !Array.isArray(value)) {\n const nested = stringifyCssObject(value);\n if (nested && Object.keys(nested).length > 0) {\n result[key] = nested;\n }\n } else {\n result[key] = String(value);\n }\n }\n\n return result;\n}\n","import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\nimport { transformObjectToArray, transformObjectValuesToKeys } from '@local/cores/functions';\nimport { IImageFormat, ILanguage, IService } from '@local/cores/types';\n\nexport const OBJECT_LANGUAGE: ILanguage = {\n eng: {\n value: 'eng',\n label: 'English',\n placeholder: 'English',\n search: 'English, eng',\n },\n rus: {\n value: 'rus',\n label: 'Русский',\n placeholder: 'Русский',\n search: 'Русский, rus',\n },\n};\n\nexport const OBJECT_SERVICE: IService = {\n jenesei_id: {\n value: 'jenesei_id',\n label: 'Jenesei ID',\n placeholder: 'Jenesei ID',\n search: 'Jenesei ID',\n },\n};\n\nexport const LIST_LANGUAGE = transformObjectToArray(OBJECT_LANGUAGE);\nexport const LIST_KEY_LANGUAGE = transformObjectValuesToKeys(OBJECT_LANGUAGE);\n\nexport const LIST_SERVICE = transformObjectToArray(OBJECT_SERVICE);\nexport const LIST_KEY_SERVICE = transformObjectValuesToKeys(OBJECT_SERVICE);\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIST_IMAGE_SUPPORTED_FORMAT: IImageFormat[] = [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/webp',\n 'image/avif',\n] as const;\nexport const LIST_IMAGE_SUPPORTED_FORMAT_FOR_INPUT = ['image/*', '.jpeg', '.jpg', '.png', '.webp', 'avif'].join(',');\n\nexport const LOREM_IPSUM_TEXT =\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\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 'Password',\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 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\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 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
@@ -1,277 +0,0 @@
1
- import { i as s, n as h, r as E } from "./utils-Cona48dZ.js";
2
- import { n as y, t as v } from "./functions-CLGf7hqw.js";
3
- import { t as A } from "./skeleton-DNwTI6w0.js";
4
- import "./logger-BRWLzI5S.js";
5
- import { jsx as u, jsxs as k } from "react/jsx-runtime";
6
- import { useEffect as T, useMemo as m, useState as I } from "react";
7
- function C(e) {
8
- return Object.entries(e).map(([, t]) => ({ ...t }));
9
- }
10
- function M(e) {
11
- return Object.keys(e).reduce((t, n) => (t[n] = n, t), {});
12
- }
13
- var w = {
14
- eng: {
15
- value: "eng",
16
- label: "English",
17
- placeholder: "English",
18
- search: "English, eng"
19
- },
20
- rus: {
21
- value: "rus",
22
- label: "Русский",
23
- placeholder: "Русский",
24
- search: "Русский, rus"
25
- }
26
- }, _ = { jenesei_id: {
27
- value: "jenesei_id",
28
- label: "Jenesei ID",
29
- placeholder: "Jenesei ID",
30
- search: "Jenesei ID"
31
- } }, $ = C(w), F = M(w), J = C(_), K = M(_), W = [
32
- "image/*",
33
- ".jpeg",
34
- ".jpg",
35
- ".png",
36
- ".webp",
37
- "avif"
38
- ].join(","), L = "1.3.0", a = /* @__PURE__ */ new Map();
39
- function P(e) {
40
- const [t, n] = I(!1), [g, l] = I(null);
41
- return T(() => {
42
- let c = !0;
43
- const r = a.get(e);
44
- if (r?.loaded) {
45
- n(!0), l(r.error ?? null);
46
- return;
47
- }
48
- let S;
49
- if (r)
50
- S = r.promise;
51
- else {
52
- const o = (async () => {
53
- const i = await fetch(e);
54
- if (!i.ok) throw new Error(`Failed to load sprite: ${e}`);
55
- const f = await i.text(), d = document.createElement("div");
56
- d.style.display = "none", d.innerHTML = f, document.body.prepend(d);
57
- })();
58
- a.set(e, {
59
- promise: o,
60
- loaded: !1
61
- }), o.then(() => {
62
- const i = a.get(e);
63
- a.set(e, {
64
- ...i,
65
- promise: o,
66
- loaded: !0
67
- });
68
- }).catch((i) => {
69
- const f = i instanceof Error ? i : new Error(String(i)), d = a.get(e);
70
- a.set(e, {
71
- ...d,
72
- promise: o,
73
- loaded: !0,
74
- error: f
75
- });
76
- }), S = o;
77
- }
78
- return S.then(() => {
79
- if (!c) return;
80
- const o = a.get(e);
81
- n(o?.loaded ?? !0), l(o?.error ?? null);
82
- }).catch(() => {
83
- }), () => {
84
- c = !1;
85
- };
86
- }, [e]), {
87
- loaded: t,
88
- error: g
89
- };
90
- }
91
- var N = (e) => {
92
- const t = m(() => O({
93
- type: e.type,
94
- name: e.name
95
- }), [e.name, e.type]), { loaded: n, error: g } = P(m(() => D({ type: e.type }), [e.type])), l = m(() => ({
96
- className: v([h.component.icon.skeleton, e.className]),
97
- style: y([{
98
- [s.component.icon.skeletonHeightIcon]: e.size !== "100%" ? E.size[e.size].heightIcon : "100%",
99
- [s.component.icon.skeletonOrder]: e.order ? String(e.order) : "initial"
100
- }, e.style])
101
- }), [
102
- e.className,
103
- e.style,
104
- e.order,
105
- e.size
106
- ]), c = m(() => ({
107
- className: v([
108
- h.component.icon.root,
109
- h.transition.icon,
110
- e.className
111
- ]),
112
- style: y([{
113
- [s.component.icon.color]: e.color ? E.palette[e.color] : "inherit",
114
- [s.component.icon.heightIcon]: e.size !== "100%" ? E.size[e.size].heightIcon : "100%",
115
- [s.component.icon.turn]: e.turn ? `${e.turn}deg` : "0deg",
116
- [s.component.icon.order]: e.order ? String(e.order) : "initial"
117
- }, e.style])
118
- }), [
119
- e.className,
120
- e.style,
121
- e.order,
122
- e.size,
123
- e.color,
124
- e.turn
125
- ]);
126
- return !n || g ? /* @__PURE__ */ u(A, {
127
- color: e.color ?? void 0,
128
- className: l.className,
129
- style: l.style,
130
- visible: !1
131
- }) : /* @__PURE__ */ k("svg", {
132
- width: "24",
133
- height: "24",
134
- viewBox: "0 0 24 24",
135
- xmlns: "http://www.w3.org/2000/svg",
136
- className: c.className,
137
- style: c.style,
138
- onClick: e.onClick,
139
- onKeyDown: (r) => {
140
- e.onClick && (r.key === "Enter" || r.key === " ") && (r.preventDefault(), e.onClick(r));
141
- },
142
- tabIndex: e.tabIndex,
143
- role: e.onClick ? "button" : void 0,
144
- children: [/* @__PURE__ */ u("title", { children: e.name }), /* @__PURE__ */ u("use", { href: t })]
145
- });
146
- };
147
- function O(e) {
148
- return `#${e.type}-${e.name}`;
149
- }
150
- function D(e) {
151
- return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${L}/icons/${e.type}.svg`;
152
- }
153
- var b = [
154
- "Close",
155
- "Biometry",
156
- "Qr",
157
- "Search",
158
- "Folder",
159
- "Wallet",
160
- "Graph",
161
- "Bookmark",
162
- "Browser",
163
- "Category",
164
- "Home",
165
- "Notification",
166
- "Chat",
167
- "Heart",
168
- "Paper",
169
- "Plus",
170
- "Minus",
171
- "PaperPlus",
172
- "PaperNegative",
173
- "PaperFail",
174
- "PaperDownload",
175
- "PaperUpload",
176
- "Send",
177
- "Password",
178
- "Swap",
179
- "Work",
180
- "Arrow1",
181
- "Arrow2",
182
- "Arrow3",
183
- "Arrow4",
184
- "ArrowMini1",
185
- "ArrowMini2",
186
- "Scan",
187
- "Activity",
188
- "Calendar",
189
- "Message",
190
- "PlusMini",
191
- "ChartMini",
192
- "Game",
193
- "Bag1",
194
- "Bag2",
195
- "TicketStar",
196
- "MoreCircle",
197
- "MoreSquare",
198
- "Discount",
199
- "Buy",
200
- "Web",
201
- "InfoMini",
202
- "DangerMini",
203
- "CloseMini",
204
- "TickMini",
205
- "Video",
206
- "Discovery",
207
- "Location",
208
- "Document",
209
- "Setting",
210
- "Time",
211
- "VolumeUp",
212
- "VolumeDown",
213
- "VolumeOff",
214
- "Star",
215
- "Select",
216
- "Ticket",
217
- "Camera",
218
- "Profile",
219
- "AddUser",
220
- "TwoUser",
221
- "ThreeUser",
222
- "Login",
223
- "Logout",
224
- "Download",
225
- "Upload",
226
- "Voice1",
227
- "Voice2",
228
- "Delete",
229
- "Edit",
230
- "PlayMini",
231
- "ShieldDone",
232
- "ShieldFail",
233
- "Show",
234
- "Hide",
235
- "Filter1",
236
- "Filter2",
237
- "Image",
238
- "Call",
239
- "Calling",
240
- "CallMissed",
241
- "CallSilent",
242
- "Lock",
243
- "Unlock",
244
- "Resources",
245
- "Language"
246
- ], j = [
247
- "Radio-true",
248
- "Radio-false",
249
- "Square-true",
250
- "Square-false",
251
- "Heart-true",
252
- "Heart-false",
253
- "Arrow"
254
- ], H = [
255
- "Line",
256
- "Blocks",
257
- "Balls"
258
- ], B = ["Jenesei", "BustMarket"], q = {
259
- id: b,
260
- checkbox: j,
261
- loading: H,
262
- logo: B
263
- };
264
- function Y(e) {
265
- return (e.icons ?? [])?.filter((t) => !t.isHidden)?.map((t, n) => /* @__PURE__ */ u(N, {
266
- size: t?.size ?? e.size,
267
- ...t
268
- }, `${t.type}-${t.name}-${n}`));
269
- }
270
- export {
271
- $ as i,
272
- q as n,
273
- N as r,
274
- Y as t
275
- };
276
-
277
- //# sourceMappingURL=icon-DzAWOQJg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-DzAWOQJg.js","names":[],"sources":["../src/cores/functions.ts","../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["type EnumOption = {\n value: string;\n label: string;\n placeholder: string;\n search: string;\n};\n\nexport function transformEnumToOptions<T extends Record<string, string>>(enumObj: T): EnumOption[] {\n return Object.entries(enumObj).map(([key, value]) => ({\n value: key,\n label: value,\n placeholder: value,\n search: `${value}, ${key}`,\n }));\n}\n\ntype GenericObject<T> = {\n [key: string]: T;\n};\n\nexport function transformObjectToArray<T>(obj: GenericObject<T>): Array<T> {\n return Object.entries(obj).map(([, value]) => ({\n ...value,\n }));\n}\n\nexport function transformObjectValuesToKeys<T>(obj: GenericObject<T>): GenericObject<string> {\n return Object.keys(obj).reduce(\n (acc, key) => {\n acc[key] = key;\n return acc;\n },\n {} as GenericObject<string>,\n );\n}\n\nexport function getContrastYIQ(hexcolor: string) {\n hexcolor = hexcolor.replace('#', '');\n const r = parseInt(hexcolor.substr(0, 2), 16);\n const g = parseInt(hexcolor.substr(2, 2), 16);\n const b = parseInt(hexcolor.substr(4, 2), 16);\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? '#000000' : '#FFFFFF';\n}\n\nexport function getScrollbarWidth() {\n const div = document.createElement('div');\n div.style.visibility = 'hidden';\n div.style.overflow = 'scroll';\n div.style.width = '100px';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n document.body.appendChild(div);\n const scrollBarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n return scrollBarWidth;\n}\n\nexport function getHasVerticalScroll(): boolean {\n if (typeof window === 'undefined') return false;\n return document.documentElement.scrollHeight > window.innerHeight;\n}\n\n// export function getSxTypography(props: {\n// size: IThemeSize;\n// weight: number;\n// sx?: TypographySXProps;\n// theme: DefaultTheme;\n// }): TypographySXProps {\n// const sx = typeof props.sx === 'function' ? props.sx(props.theme) : props.sx;\n// return {\n// default: {\n// size: THEME_KEY_SIZE[props.size].font,\n// weight: 700,\n// ...sx?.default,\n// },\n// ...sx,\n// };\n// }\n\ntype AnyObject = Record<string, any>;\n\nexport function stringifyCssObject<T extends AnyObject>(obj?: T): AnyObject | undefined {\n if (!obj) return undefined;\n\n const result: AnyObject = {};\n\n for (const key in obj) {\n const value = obj[key];\n\n if (value == null) continue;\n\n if (typeof value === 'object' && !Array.isArray(value)) {\n const nested = stringifyCssObject(value);\n if (nested && Object.keys(nested).length > 0) {\n result[key] = nested;\n }\n } else {\n result[key] = String(value);\n }\n }\n\n return result;\n}\n","import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\nimport { transformObjectToArray, transformObjectValuesToKeys } from '@local/cores/functions';\nimport { IImageFormat, ILanguage, IService } from '@local/cores/types';\n\nexport const OBJECT_LANGUAGE: ILanguage = {\n eng: {\n value: 'eng',\n label: 'English',\n placeholder: 'English',\n search: 'English, eng',\n },\n rus: {\n value: 'rus',\n label: 'Русский',\n placeholder: 'Русский',\n search: 'Русский, rus',\n },\n};\n\nexport const OBJECT_SERVICE: IService = {\n jenesei_id: {\n value: 'jenesei_id',\n label: 'Jenesei ID',\n placeholder: 'Jenesei ID',\n search: 'Jenesei ID',\n },\n};\n\nexport const LIST_LANGUAGE = transformObjectToArray(OBJECT_LANGUAGE);\nexport const LIST_KEY_LANGUAGE = transformObjectValuesToKeys(OBJECT_LANGUAGE);\n\nexport const LIST_SERVICE = transformObjectToArray(OBJECT_SERVICE);\nexport const LIST_KEY_SERVICE = transformObjectValuesToKeys(OBJECT_SERVICE);\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIST_IMAGE_SUPPORTED_FORMAT: IImageFormat[] = [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/webp',\n 'image/avif',\n] as const;\nexport const LIST_IMAGE_SUPPORTED_FORMAT_FOR_INPUT = ['image/*', '.jpeg', '.jpg', '.png', '.webp', 'avif'].join(',');\n\nexport const LOREM_IPSUM_TEXT =\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\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 'Password',\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 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\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 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- const I=require("./chunk-Dd8m0Ver.cjs"),m=require("./proxy-_gZenxVU.cjs"),f=require("./AnimatePresence-BdBJCJuf.cjs"),s=require("./component-jsn2T8Hu.cjs"),a=require("./button-BuPpgfL_.cjs");require("./component-stack.cjs.js");let n=require("react/jsx-runtime"),i=require("react");var b=e=>{const l=(0,i.useMemo)(()=>e.index===0&&!e.isInfinity,[e.index,e.isInfinity]),c=(0,i.useMemo)(()=>e.index===e.length-1&&!e.isInfinity,[e.index,e.isInfinity,e.length]),u=(0,i.useMemo)(()=>e.gap??12,[e.gap]),d=(0,i.useMemo)(()=>e.lengthData??{},[e.lengthData]),r=(0,i.useCallback)(()=>{e.index===0?e.isInfinity&&e.changeIndex(e.length-1):e.changeIndex(e.index-1)},[e]),g=(0,i.useCallback)(()=>{e.index===e.length-1?e.isInfinity&&e.changeIndex(0):e.changeIndex(e.index+1)},[e]),x=(0,i.useMemo)(()=>{const h=Math.floor(e.viewQuantity/2),t=Math.max(0,Math.min(e.index-h,e.length-e.viewQuantity)),o=Math.min(e.length,t+e.viewQuantity);return Array.from({length:o-t},(q,y)=>t+y)},[e.index,e.viewQuantity,e.length]);return(0,n.jsxs)(s.Stack,{className:e.className,style:{height:"fit-content",gap:`${u}px`,...e.style},children:[(0,n.jsx)(a.Button,{isDisabled:l,isHidden:l,onClick:r,...e.buttonControl,icons:[{type:"id",size:"large",name:"Arrow2",order:-1,turn:90}],children:!e.buttonControl.isWidthAsHeight&&e.locale.prev}),(0,n.jsx)(s.Stack,{sx:{width:"fit-content",height:"fit-content",display:"flex",gap:`${u}px`,alignItems:"center",justifyContent:"flex-start"},children:Array.from({length:e.length}).map((h,t)=>(0,n.jsx)(f.AnimatePresence,{mode:"popLayout",children:x.includes(t)&&(0,n.jsx)(m.motion.div,{layout:!0,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95,transition:{duration:.1,ease:"easeInOut"}},transition:{default:{duration:.1,ease:"easeOut"}},children:(0,n.jsx)(a.Button,{isWidthAsHeight:!0,...t===e.index?e.buttonCount.active:e.buttonCount.inactive,...d?.[t],onClick:()=>e.changeIndex(t),children:d?.[t]?.icons?.length?null:t+1})})},t))}),(0,n.jsx)(a.Button,{isDisabled:c,isHidden:c,onClick:g,...e.buttonControl,icons:[{type:"id",size:"large",name:"Arrow2",turn:-90}],children:!e.buttonControl.isWidthAsHeight&&e.locale.next})]})};Object.defineProperty(exports,"Pagination",{enumerable:!0,get:function(){return b}});
2
-
3
- //# sourceMappingURL=pagination-Dbs4Lrpt.cjs.map
@@ -1,3 +0,0 @@
1
- const v=require("./chunk-Dd8m0Ver.cjs"),u=require("./AnimatePresence-BdBJCJuf.cjs"),l=require("./utils-DtinAjAU.cjs"),c=require("./component-jsn2T8Hu.cjs"),d=require("./icon-CoIQwke4.cjs");require("./component-stack.cjs.js");let t=require("react/jsx-runtime"),n=require("react");var m=e=>{const[i,o]=(0,n.useState)(e.defaultVisible??!1),r=(0,n.useMemo)(()=>"visible"in e?e.visible:null,[e]),a=(0,n.useMemo)(()=>"time"in e?e.time:null,[e]);return(0,n.useEffect)(()=>{if(r!==null&&a===null)o(r);else if(r!==null&&a!==null)if(r===!1)o(!1);else{const s=setTimeout(()=>{o(!0)},a);return()=>{clearTimeout(s)}}},[r,a]),(0,t.jsxs)(u.AnimatePresence,{children:[i?null:(0,t.jsxs)(c.StackMotion,{sx:e?.sxLoader,className:l.CSS_CLASS.area.preview.root,transition:{duration:.3},exit:{opacity:0},animate:{opacity:1},children:[(0,t.jsx)(c.Stack,{className:l.CSS_CLASS.area.preview.containerIcon,children:(0,t.jsx)(d.Icon,{size:"100%",type:"loading",color:e.colorIcon??"inherit",name:"Line"})}),e.content&&(0,t.jsx)(c.Stack,{className:l.CSS_CLASS.area.preview.containerChildren,children:e.content})]},"loader"),i?(0,t.jsx)(c.StackMotion,{sx:e?.sxChildren,className:l.CSS_CLASS.area.preview.children,transition:{duration:.3},initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},children:e.children},"children"):null]})},S=()=>{(0,n.useEffect)(()=>{const e=document.querySelector(".preview-wrapper"),i=()=>{e&&(e.style.opacity="0",setTimeout(()=>{e.remove()},500))};return document.readyState==="complete"?i():window.addEventListener("load",i),()=>{window.removeEventListener("load",i)}},[])};Object.defineProperty(exports,"Preview",{enumerable:!0,get:function(){return m}});Object.defineProperty(exports,"useRemovePreviewLoader",{enumerable:!0,get:function(){return S}});
2
-
3
- //# sourceMappingURL=preview-dT7fmxcc.cjs.map