@jenesei-software/jenesei-kit-react 2.2.0 → 2.2.2

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 (236) 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/{button-BbGiFvok.js → button-C1w25-Hk.js} +4 -4
  12. package/build/{button-BbGiFvok.js.map → button-C1w25-Hk.js.map} +1 -1
  13. package/build/{button-BuPpgfL_.cjs → button-CHEeSypf.cjs} +2 -2
  14. package/build/{button-BuPpgfL_.cjs.map → button-CHEeSypf.cjs.map} +1 -1
  15. package/build/{checkbox-qgc_Ntc3.cjs → checkbox-Bxt8K0ZY.cjs} +2 -2
  16. package/build/{checkbox-qgc_Ntc3.cjs.map → checkbox-Bxt8K0ZY.cjs.map} +1 -1
  17. package/build/{checkbox-CXxWDklX.js → checkbox-DPkXe4_5.js} +5 -5
  18. package/build/{checkbox-CXxWDklX.js.map → checkbox-DPkXe4_5.js.map} +1 -1
  19. package/build/{component-jsn2T8Hu.cjs → component-CbJ_P8yq.cjs} +2 -2
  20. package/build/{component-jsn2T8Hu.cjs.map → component-CbJ_P8yq.cjs.map} +1 -1
  21. package/build/{component-BHyXT2-h.js → component-DGfyD5-u.js} +4 -4
  22. package/build/{component-BHyXT2-h.js.map → component-DGfyD5-u.js.map} +1 -1
  23. package/build/component-button.cjs.js +1 -1
  24. package/build/component-button.es.js +1 -1
  25. package/build/component-checkbox.cjs.js +1 -1
  26. package/build/component-checkbox.es.js +1 -1
  27. package/build/component-date-picker.cjs.js +1 -1
  28. package/build/component-date-picker.es.js +1 -1
  29. package/build/component-icon.cjs.js +1 -1
  30. package/build/component-icon.es.js +1 -1
  31. package/build/component-input-otp.cjs.js +1 -1
  32. package/build/component-input-otp.es.js +1 -1
  33. package/build/component-input.cjs.js +1 -1
  34. package/build/component-input.es.js +1 -1
  35. package/build/component-pagination.cjs.js +1 -1
  36. package/build/component-pagination.es.js +1 -1
  37. package/build/component-popover.cjs.js +1 -1
  38. package/build/component-popover.es.js +1 -1
  39. package/build/component-select.cjs.js +1 -1
  40. package/build/component-select.es.js +5 -6
  41. package/build/component-separator.cjs.js +1 -1
  42. package/build/component-separator.es.js +1 -1
  43. package/build/component-stack.cjs.js +1 -1
  44. package/build/component-stack.es.js +1 -1
  45. package/build/component-textarea.cjs.js +1 -1
  46. package/build/component-textarea.es.js +1 -1
  47. package/build/component-toggle.cjs.js +1 -1
  48. package/build/component-toggle.es.js +1 -1
  49. package/build/component-tooltip.cjs.js +1 -1
  50. package/build/component-tooltip.es.js +1 -1
  51. package/build/component-typography.cjs.js +1 -1
  52. package/build/component-typography.es.js +1 -1
  53. package/build/components/select/component.examples.d.ts +1 -2
  54. package/build/components/select/component.types.d.ts +1 -5
  55. package/build/components/select/index.d.ts +2 -2
  56. package/build/components-error.cjs.js +1 -1
  57. package/build/components-error.es.js +1 -1
  58. package/build/{context-app-CMK9g6MI.js → context-app-C9XoarPw.js} +6 -6
  59. package/build/{context-app-CMK9g6MI.js.map → context-app-C9XoarPw.js.map} +1 -1
  60. package/build/{context-app-HhFcx1wY.cjs → context-app-Dsa1tKlU.cjs} +2 -2
  61. package/build/{context-app-HhFcx1wY.cjs.map → context-app-Dsa1tKlU.cjs.map} +1 -1
  62. package/build/context-app.cjs.js +1 -1
  63. package/build/context-app.es.js +1 -1
  64. package/build/{context-browser-theme-Cb6siWO0.js → context-browser-theme-CRBCZ_y_.js} +2 -2
  65. package/build/{context-browser-theme-Cb6siWO0.js.map → context-browser-theme-CRBCZ_y_.js.map} +1 -1
  66. package/build/{context-browser-theme-Cso_rAT5.cjs → context-browser-theme-xixEbalV.cjs} +2 -2
  67. package/build/{context-browser-theme-Cso_rAT5.cjs.map → context-browser-theme-xixEbalV.cjs.map} +1 -1
  68. package/build/context-browser-theme.cjs.js +1 -1
  69. package/build/context-browser-theme.es.js +1 -1
  70. package/build/{context-cookie-Btkd2aXy.cjs → context-cookie-DFgWWGA9.cjs} +2 -2
  71. package/build/{context-cookie-Btkd2aXy.cjs.map → context-cookie-DFgWWGA9.cjs.map} +1 -1
  72. package/build/{context-cookie-5CBhf-gb.js → context-cookie-Daq2MZo3.js} +2 -2
  73. package/build/{context-cookie-5CBhf-gb.js.map → context-cookie-Daq2MZo3.js.map} +1 -1
  74. package/build/context-cookie.cjs.js +1 -1
  75. package/build/context-cookie.es.js +1 -1
  76. package/build/context-dialog-DctdSBC8.cjs +3 -0
  77. package/build/context-dialog-DctdSBC8.cjs.map +1 -0
  78. package/build/context-dialog-DzwL2ElF.js +191 -0
  79. package/build/context-dialog-DzwL2ElF.js.map +1 -0
  80. package/build/context-dialog.cjs.js +1 -1
  81. package/build/context-dialog.es.js +1 -1
  82. package/build/{context-geolocation-C7PYGQ2g.js → context-geolocation-B_KYGlfQ.js} +2 -2
  83. package/build/{context-geolocation-C7PYGQ2g.js.map → context-geolocation-B_KYGlfQ.js.map} +1 -1
  84. package/build/{context-geolocation-CV4hV0NX.cjs → context-geolocation-bP0_455H.cjs} +2 -2
  85. package/build/{context-geolocation-CV4hV0NX.cjs.map → context-geolocation-bP0_455H.cjs.map} +1 -1
  86. package/build/context-geolocation.cjs.js +1 -1
  87. package/build/context-geolocation.es.js +1 -1
  88. package/build/{context-local-storage-Bb_vktd8.js → context-local-storage-DA_whw_k.js} +2 -2
  89. package/build/{context-local-storage-Bb_vktd8.js.map → context-local-storage-DA_whw_k.js.map} +1 -1
  90. package/build/{context-local-storage-DUKHVPAA.cjs → context-local-storage-D_x8dwxM.cjs} +2 -2
  91. package/build/{context-local-storage-DUKHVPAA.cjs.map → context-local-storage-D_x8dwxM.cjs.map} +1 -1
  92. package/build/context-local-storage.cjs.js +1 -1
  93. package/build/context-local-storage.es.js +1 -1
  94. package/build/{context-permission-DrcIwK9y.cjs → context-permission-BP9hPUcR.cjs} +2 -2
  95. package/build/{context-permission-DrcIwK9y.cjs.map → context-permission-BP9hPUcR.cjs.map} +1 -1
  96. package/build/{context-permission-Co4BKDOu.js → context-permission-Cj70kL4A.js} +2 -2
  97. package/build/{context-permission-Co4BKDOu.js.map → context-permission-Cj70kL4A.js.map} +1 -1
  98. package/build/context-permission.cjs.js +1 -1
  99. package/build/context-permission.es.js +1 -1
  100. package/build/{context-screen-width-hcRkxzy7.cjs → context-screen-width-Cfe3atNC.cjs} +2 -2
  101. package/build/{context-screen-width-hcRkxzy7.cjs.map → context-screen-width-Cfe3atNC.cjs.map} +1 -1
  102. package/build/{context-screen-width-CFexCIzV.js → context-screen-width-Cq_B7IVp.js} +3 -3
  103. package/build/{context-screen-width-CFexCIzV.js.map → context-screen-width-Cq_B7IVp.js.map} +1 -1
  104. package/build/context-screen-width.cjs.js +1 -1
  105. package/build/context-screen-width.es.js +1 -1
  106. package/build/{context-sonner-4gBa1F7G.cjs → context-sonner-Dqw0jhwT.cjs} +2 -2
  107. package/build/{context-sonner-4gBa1F7G.cjs.map → context-sonner-Dqw0jhwT.cjs.map} +1 -1
  108. package/build/{context-sonner-qDPLFpD5.js → context-sonner-MO6uE8y0.js} +12 -12
  109. package/build/{context-sonner-qDPLFpD5.js.map → context-sonner-MO6uE8y0.js.map} +1 -1
  110. package/build/context-sonner.cjs.js +1 -1
  111. package/build/context-sonner.es.js +1 -1
  112. package/build/contexts/context-app/context.d.ts +2 -2
  113. package/build/contexts/context-dialog/context.types.d.ts +3 -1
  114. package/build/contexts/context-dialog/index.d.ts +1 -1
  115. package/build/cores/consts.d.ts +0 -24
  116. package/build/cores/types.d.ts +0 -14
  117. package/build/date-picker-ATktGA1c.cjs +3 -0
  118. package/build/date-picker-ATktGA1c.cjs.map +1 -0
  119. package/build/date-picker-D81n3KbO.js +813 -0
  120. package/build/date-picker-D81n3KbO.js.map +1 -0
  121. package/build/{dist-DswBAjW1.cjs → dist-SXTf0-_7.cjs} +1 -1
  122. package/build/{dist-DswBAjW1.cjs.map → dist-SXTf0-_7.cjs.map} +1 -1
  123. package/build/{dist-BV0C3tLK.js → dist-ck-7oUux.js} +1 -1
  124. package/build/{dist-BV0C3tLK.js.map → dist-ck-7oUux.js.map} +1 -1
  125. package/build/{error-L2fvWcNv.js → error-BFb2NCum.js} +7 -7
  126. package/build/{error-L2fvWcNv.js.map → error-BFb2NCum.js.map} +1 -1
  127. package/build/{error-DzkkNL2H.cjs → error-BdFba_yV.cjs} +2 -2
  128. package/build/{error-DzkkNL2H.cjs.map → error-BdFba_yV.cjs.map} +1 -1
  129. package/build/{functions-Dwo54amB.cjs → functions-CZrZU5U0.cjs} +1 -1
  130. package/build/{functions-Dwo54amB.cjs.map → functions-CZrZU5U0.cjs.map} +1 -1
  131. package/build/{functions-CLGf7hqw.js → functions-DzX-pTN8.js} +1 -1
  132. package/build/{functions-CLGf7hqw.js.map → functions-DzX-pTN8.js.map} +1 -1
  133. package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
  134. package/build/hooks-use-deep-compare-memoize.es.js +1 -1
  135. package/build/hooks-use-deep-memo.cjs.js +1 -1
  136. package/build/hooks-use-deep-memo.es.js +1 -1
  137. package/build/hooks-use-responsive-layout.cjs.js +1 -1
  138. package/build/hooks-use-responsive-layout.es.js +1 -1
  139. package/build/hooks-use-typography-styles.cjs.js +1 -1
  140. package/build/hooks-use-typography-styles.es.js +2 -2
  141. package/build/icon-D2w7GViT.js +245 -0
  142. package/build/icon-D2w7GViT.js.map +1 -0
  143. package/build/icon-Ddkbk3-m.cjs +3 -0
  144. package/build/icon-Ddkbk3-m.cjs.map +1 -0
  145. package/build/index.cjs.js +1 -1
  146. package/build/index.d.ts +5 -5
  147. package/build/index.es.js +97 -98
  148. package/build/{input-CV02F03L.js → input-B9ceeR9v.js} +4 -4
  149. package/build/{input-CV02F03L.js.map → input-B9ceeR9v.js.map} +1 -1
  150. package/build/{input-zXF5f99Z.cjs → input-CmdwwrV2.cjs} +2 -2
  151. package/build/{input-zXF5f99Z.cjs.map → input-CmdwwrV2.cjs.map} +1 -1
  152. package/build/{input-otp-BVRCfoRK.cjs → input-otp-CJfZoWd7.cjs} +2 -2
  153. package/build/{input-otp-BVRCfoRK.cjs.map → input-otp-CJfZoWd7.cjs.map} +1 -1
  154. package/build/{input-otp-B9cYxJ7X.js → input-otp-CeMGm5Xq.js} +4 -4
  155. package/build/{input-otp-B9cYxJ7X.js.map → input-otp-CeMGm5Xq.js.map} +1 -1
  156. package/build/{isEqual-Qb81B2zH.js → isEqual-0jZ23Bb6.js} +1 -1
  157. package/build/{isEqual-Qb81B2zH.js.map → isEqual-0jZ23Bb6.js.map} +1 -1
  158. package/build/{isEqual-DeC2HFe5.cjs → isEqual-BA0P9-C8.cjs} +1 -1
  159. package/build/{isEqual-DeC2HFe5.cjs.map → isEqual-BA0P9-C8.cjs.map} +1 -1
  160. package/build/{logger-DZFY33QY.cjs → logger-D3Xu5ef3.cjs} +1 -1
  161. package/build/{logger-DZFY33QY.cjs.map → logger-D3Xu5ef3.cjs.map} +1 -1
  162. package/build/{logger-BRWLzI5S.js → logger-QC3A33gh.js} +1 -1
  163. package/build/{logger-BRWLzI5S.js.map → logger-QC3A33gh.js.map} +1 -1
  164. package/build/{motion-CAPq8wSn.cjs → motion-BWBldnsY.cjs} +2 -2
  165. package/build/{motion-CAPq8wSn.cjs.map → motion-BWBldnsY.cjs.map} +1 -1
  166. package/build/{motion-Dt6TyEjN.js → motion-C1XU2d68.js} +3 -3
  167. package/build/{motion-Dt6TyEjN.js.map → motion-C1XU2d68.js.map} +1 -1
  168. package/build/{outside-B3nRnDGb.cjs → outside-CXyCk8h1.cjs} +2 -2
  169. package/build/{outside-B3nRnDGb.cjs.map → outside-CXyCk8h1.cjs.map} +1 -1
  170. package/build/{outside-DpK1pI8b.js → outside-DopxX0PZ.js} +2 -2
  171. package/build/{outside-DpK1pI8b.js.map → outside-DopxX0PZ.js.map} +1 -1
  172. package/build/{pagination-YXSjZsMZ.js → pagination-BluJtJl7.js} +5 -5
  173. package/build/{pagination-YXSjZsMZ.js.map → pagination-BluJtJl7.js.map} +1 -1
  174. package/build/pagination-VMAFNidU.cjs +3 -0
  175. package/build/{pagination-Dbs4Lrpt.cjs.map → pagination-VMAFNidU.cjs.map} +1 -1
  176. package/build/{popover-1k1MNFwv.js → popover-DHWcQVp1.js} +3 -3
  177. package/build/{popover-1k1MNFwv.js.map → popover-DHWcQVp1.js.map} +1 -1
  178. package/build/{popover-CgwGn-55.cjs → popover-DQkn4RWI.cjs} +2 -2
  179. package/build/{popover-CgwGn-55.cjs.map → popover-DQkn4RWI.cjs.map} +1 -1
  180. package/build/preview-BLu-NOv2.cjs +3 -0
  181. package/build/{preview-dT7fmxcc.cjs.map → preview-BLu-NOv2.cjs.map} +1 -1
  182. package/build/{preview-C_yFxoFH.js → preview-Bc2qdyd4.js} +5 -5
  183. package/build/{preview-C_yFxoFH.js.map → preview-Bc2qdyd4.js.map} +1 -1
  184. package/build/{proxy-_gZenxVU.cjs → proxy-BDese6Pb.cjs} +1 -1
  185. package/build/{proxy-_gZenxVU.cjs.map → proxy-BDese6Pb.cjs.map} +1 -1
  186. package/build/{proxy-wCWa57J3.js → proxy-BFHkqO7P.js} +1 -1
  187. package/build/{proxy-wCWa57J3.js.map → proxy-BFHkqO7P.js.map} +1 -1
  188. package/build/{select-D7EyxR2l.js → select-CCbtkj6f.js} +862 -876
  189. package/build/{select-D7EyxR2l.js.map → select-CCbtkj6f.js.map} +1 -1
  190. package/build/{select-B0adRX2_.cjs → select-CGXyVf57.cjs} +5 -5
  191. package/build/{select-B0adRX2_.cjs.map → select-CGXyVf57.cjs.map} +1 -1
  192. package/build/{separator-CbeH8Lug.cjs → separator-BGVU_LQb.cjs} +2 -2
  193. package/build/{separator-CbeH8Lug.cjs.map → separator-BGVU_LQb.cjs.map} +1 -1
  194. package/build/{separator-hWp-s54-.js → separator-DJEhOPUT.js} +3 -3
  195. package/build/{separator-hWp-s54-.js.map → separator-DJEhOPUT.js.map} +1 -1
  196. package/build/{skeleton-DNwTI6w0.js → skeleton-Bh6zA5iB.js} +4 -4
  197. package/build/{skeleton-DNwTI6w0.js.map → skeleton-Bh6zA5iB.js.map} +1 -1
  198. package/build/{skeleton-BoVFwt7y.cjs → skeleton-DmaXsm9C.cjs} +2 -2
  199. package/build/{skeleton-BoVFwt7y.cjs.map → skeleton-DmaXsm9C.cjs.map} +1 -1
  200. package/build/style-motion.cjs.js +1 -1
  201. package/build/style-motion.es.js +1 -1
  202. package/build/style-utils.cjs.js +1 -1
  203. package/build/style-utils.es.js +1 -1
  204. package/build/styles/utils/types.d.ts +1 -1
  205. package/build/{textarea-CbZSeqGR.cjs → textarea-DInJb6Lz.cjs} +2 -2
  206. package/build/{textarea-CbZSeqGR.cjs.map → textarea-DInJb6Lz.cjs.map} +1 -1
  207. package/build/{textarea-ChkjV_Ha.js → textarea-jIGZ0JdP.js} +4 -4
  208. package/build/{textarea-ChkjV_Ha.js.map → textarea-jIGZ0JdP.js.map} +1 -1
  209. package/build/{toggle-gYw5FUp-.cjs → toggle-BEmUm0of.cjs} +2 -2
  210. package/build/{toggle-gYw5FUp-.cjs.map → toggle-BEmUm0of.cjs.map} +1 -1
  211. package/build/{toggle-I6YvEX4w.js → toggle-D1nXs-LD.js} +4 -4
  212. package/build/{toggle-I6YvEX4w.js.map → toggle-D1nXs-LD.js.map} +1 -1
  213. package/build/{typography-B2KioMfq.js → typography-07KEDl9_.js} +4 -4
  214. package/build/{typography-B2KioMfq.js.map → typography-07KEDl9_.js.map} +1 -1
  215. package/build/{typography-DcxhX_9e.cjs → typography-BKp4OAQI.cjs} +2 -2
  216. package/build/{typography-DcxhX_9e.cjs.map → typography-BKp4OAQI.cjs.map} +1 -1
  217. package/build/{utils-Cona48dZ.js → utils-BRgi6734.js} +1 -1
  218. package/build/{utils-Cona48dZ.js.map → utils-BRgi6734.js.map} +1 -1
  219. package/build/{utils-DtinAjAU.cjs → utils-DCIq-5FL.cjs} +1 -1
  220. package/build/{utils-DtinAjAU.cjs.map → utils-DCIq-5FL.cjs.map} +1 -1
  221. package/package.json +1 -1
  222. package/build/build-info.txt +0 -3
  223. package/build/context-dialog-B67-_jMH.cjs +0 -3
  224. package/build/context-dialog-B67-_jMH.cjs.map +0 -1
  225. package/build/context-dialog-CxGGmBqC.js +0 -176
  226. package/build/context-dialog-CxGGmBqC.js.map +0 -1
  227. package/build/date-picker-CPNNIEa-.cjs +0 -3
  228. package/build/date-picker-CPNNIEa-.cjs.map +0 -1
  229. package/build/date-picker-Uuce_InW.js +0 -689
  230. package/build/date-picker-Uuce_InW.js.map +0 -1
  231. package/build/icon-CoIQwke4.cjs +0 -3
  232. package/build/icon-CoIQwke4.cjs.map +0 -1
  233. package/build/icon-DzAWOQJg.js +0 -277
  234. package/build/icon-DzAWOQJg.js.map +0 -1
  235. package/build/pagination-Dbs4Lrpt.cjs +0 -3
  236. package/build/preview-dT7fmxcc.cjs +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"context-browser-theme-Cb6siWO0.js","names":[],"sources":["../src/contexts/context-browser-theme/context.tsx","../src/contexts/context-browser-theme/context.hooks.ts"],"sourcesContent":["import { FC, useCallback, useEffect, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { IBrowserTheme, IBrowserThemeContext, IBrowserThemeMode, IBrowserThemeProvider } from './context.types';\n\nexport const BrowserThemeContext = createContext<IBrowserThemeContext | null>(null);\n\nexport const ProviderBrowserTheme: FC<IBrowserThemeProvider> = (props) => {\n const [mode, setMode] = useState<IBrowserThemeMode>(props.defaultMode || 'auto');\n const [theme, setTheme] = useState<IBrowserTheme>(() => {\n if (props.defaultMode === 'auto') {\n return matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return props.defaultMode || 'light';\n });\n\n const handleMediaChange = useCallback(\n (e: MediaQueryListEvent) => {\n if (mode === 'auto') {\n setTheme(e.matches ? 'dark' : 'light');\n }\n },\n [mode],\n );\n\n useEffect(() => {\n if (mode === 'auto') {\n const media = matchMedia('(prefers-color-scheme: dark)');\n setTheme(media.matches ? 'dark' : 'light');\n media.addEventListener('change', handleMediaChange);\n return () => media.removeEventListener('change', handleMediaChange);\n } else {\n setTheme(mode);\n }\n }, [mode, handleMediaChange]);\n\n useEffect(() => {\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n\n useEffect(() => {\n if (props.defaultMode) setMode(props.defaultMode);\n }, [props.defaultMode]);\n\n return <BrowserThemeContext.Provider value={{ theme, mode, setMode }}>{props.children}</BrowserThemeContext.Provider>;\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { BrowserThemeContext } from './context';\nimport { IBrowserThemeContext, IUseBrowserThemeDependencies } from './context.types';\n\nexport const useIBrowserTheme = (props: IUseBrowserThemeDependencies): IBrowserThemeContext => {\n const context = useContextSelector(BrowserThemeContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useIBrowserTheme must be used within an ProviderBrowserTheme');\n }\n return context;\n};\n"],"mappings":";;;AAKA,IAAa,IAAsB,EAA2C,IAAA,GAEjE,IAAA,CAAmD,MAAU;AACxE,QAAM,CAAC,GAAM,CAAA,IAAW,EAA4B,EAAM,eAAe,MAAA,GACnE,CAAC,GAAO,CAAA,IAAY,EAAA,MACpB,EAAM,gBAAgB,SACjB,WAAW,8BAAA,EAAgC,UAAU,SAAS,UAEhE,EAAM,eAAe,UAGxB,IAAoB,EAAA,CACvB,MAA2B;AAC1B,IAAI,MAAS,UACX,EAAS,EAAE,UAAU,SAAS,OAAA;AAAA,KAGlC,CAAC,CAAA,CAAK;AAGR,SAAA,EAAA,MAAgB;AACd,QAAI,MAAS,QAAQ;AACnB,YAAM,IAAQ,WAAW,8BAAA;AACzB,aAAA,EAAS,EAAM,UAAU,SAAS,OAAA,GAClC,EAAM,iBAAiB,UAAU,CAAA,GACjC,MAAa,EAAM,oBAAoB,UAAU,CAAA;AAAA,UAEjD,CAAA,EAAS,CAAA;AAAA,KAEV,CAAC,GAAM,CAAA,CAAkB,GAE5B,EAAA,MAAgB;AACd,aAAS,gBAAgB,aAAa,cAAc,CAAA;AAAA,KACnD,CAAC,CAAA,CAAM,GAEV,EAAA,MAAgB;AACd,IAAI,EAAM,eAAa,EAAQ,EAAM,WAAA;AAAA,KACpC,CAAC,EAAM,WAAA,CAAY,GAEf,gBAAA,EAAC,EAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,MAAE,OAAA;AAAA,MAAO,MAAA;AAAA,MAAM,SAAA;AAAA;cAAY,EAAM;AAAA,GAAwC;GCvC1G,IAAA,CAAoB,MAA8D;AAC7F,QAAM,IAAU,EAAmB,GAAA,CAAsB,MAChD,IACH,EAAM,OAAA,CAAQ,GAAK,OACjB,EAAI,CAAA,IAAQ,EAAE,CAAA,GACP,IACN,CAAA,CAAE,IACL;AAEN,MAAI,CAAC,EACH,OAAM,IAAI,MAAM,8DAAA;AAElB,SAAO"}
1
+ {"version":3,"file":"context-browser-theme-CRBCZ_y_.js","names":[],"sources":["../src/contexts/context-browser-theme/context.tsx","../src/contexts/context-browser-theme/context.hooks.ts"],"sourcesContent":["import { FC, useCallback, useEffect, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { IBrowserTheme, IBrowserThemeContext, IBrowserThemeMode, IBrowserThemeProvider } from './context.types';\n\nexport const BrowserThemeContext = createContext<IBrowserThemeContext | null>(null);\n\nexport const ProviderBrowserTheme: FC<IBrowserThemeProvider> = (props) => {\n const [mode, setMode] = useState<IBrowserThemeMode>(props.defaultMode || 'auto');\n const [theme, setTheme] = useState<IBrowserTheme>(() => {\n if (props.defaultMode === 'auto') {\n return matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return props.defaultMode || 'light';\n });\n\n const handleMediaChange = useCallback(\n (e: MediaQueryListEvent) => {\n if (mode === 'auto') {\n setTheme(e.matches ? 'dark' : 'light');\n }\n },\n [mode],\n );\n\n useEffect(() => {\n if (mode === 'auto') {\n const media = matchMedia('(prefers-color-scheme: dark)');\n setTheme(media.matches ? 'dark' : 'light');\n media.addEventListener('change', handleMediaChange);\n return () => media.removeEventListener('change', handleMediaChange);\n } else {\n setTheme(mode);\n }\n }, [mode, handleMediaChange]);\n\n useEffect(() => {\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n\n useEffect(() => {\n if (props.defaultMode) setMode(props.defaultMode);\n }, [props.defaultMode]);\n\n return <BrowserThemeContext.Provider value={{ theme, mode, setMode }}>{props.children}</BrowserThemeContext.Provider>;\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { BrowserThemeContext } from './context';\nimport { IBrowserThemeContext, IUseBrowserThemeDependencies } from './context.types';\n\nexport const useIBrowserTheme = (props: IUseBrowserThemeDependencies): IBrowserThemeContext => {\n const context = useContextSelector(BrowserThemeContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useIBrowserTheme must be used within an ProviderBrowserTheme');\n }\n return context;\n};\n"],"mappings":";;;AAKA,IAAa,IAAsB,EAA2C,IAAA,GAEjE,IAAA,CAAmD,MAAU;AACxE,QAAM,CAAC,GAAM,CAAA,IAAW,EAA4B,EAAM,eAAe,MAAA,GACnE,CAAC,GAAO,CAAA,IAAY,EAAA,MACpB,EAAM,gBAAgB,SACjB,WAAW,8BAAA,EAAgC,UAAU,SAAS,UAEhE,EAAM,eAAe,UAGxB,IAAoB,EAAA,CACvB,MAA2B;AAC1B,IAAI,MAAS,UACX,EAAS,EAAE,UAAU,SAAS,OAAA;AAAA,KAGlC,CAAC,CAAA,CAAK;AAGR,SAAA,EAAA,MAAgB;AACd,QAAI,MAAS,QAAQ;AACnB,YAAM,IAAQ,WAAW,8BAAA;AACzB,aAAA,EAAS,EAAM,UAAU,SAAS,OAAA,GAClC,EAAM,iBAAiB,UAAU,CAAA,GACjC,MAAa,EAAM,oBAAoB,UAAU,CAAA;AAAA,UAEjD,CAAA,EAAS,CAAA;AAAA,KAEV,CAAC,GAAM,CAAA,CAAkB,GAE5B,EAAA,MAAgB;AACd,aAAS,gBAAgB,aAAa,cAAc,CAAA;AAAA,KACnD,CAAC,CAAA,CAAM,GAEV,EAAA,MAAgB;AACd,IAAI,EAAM,eAAa,EAAQ,EAAM,WAAA;AAAA,KACpC,CAAC,EAAM,WAAA,CAAY,GAEf,gBAAA,EAAC,EAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,MAAE,OAAA;AAAA,MAAO,MAAA;AAAA,MAAM,SAAA;AAAA;cAAY,EAAM;AAAA,GAAwC;GCvC1G,IAAA,CAAoB,MAA8D;AAC7F,QAAM,IAAU,EAAmB,GAAA,CAAsB,MAChD,IACH,EAAM,OAAA,CAAQ,GAAK,OACjB,EAAI,CAAA,IAAQ,EAAE,CAAA,GACP,IACN,CAAA,CAAE,IACL;AAEN,MAAI,CAAC,EACH,OAAM,IAAI,MAAM,8DAAA;AAElB,SAAO"}
@@ -1,3 +1,3 @@
1
- const m=require("./chunk-Dd8m0Ver.cjs"),i=require("./dist-DswBAjW1.cjs");let c=require("react/jsx-runtime"),n=require("react");var s=i.createContext(null),h=e=>{const[t,a]=(0,n.useState)(e.defaultMode||"auto"),[r,u]=(0,n.useState)(()=>e.defaultMode==="auto"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.defaultMode||"light"),d=(0,n.useCallback)(o=>{t==="auto"&&u(o.matches?"dark":"light")},[t]);return(0,n.useEffect)(()=>{if(t==="auto"){const o=matchMedia("(prefers-color-scheme: dark)");return u(o.matches?"dark":"light"),o.addEventListener("change",d),()=>o.removeEventListener("change",d)}else u(t)},[t,d]),(0,n.useEffect)(()=>{document.documentElement.setAttribute("data-theme",r)},[r]),(0,n.useEffect)(()=>{e.defaultMode&&a(e.defaultMode)},[e.defaultMode]),(0,c.jsx)(s.Provider,{value:{theme:r,mode:t,setMode:a},children:e.children})},l=e=>{const t=i.useContextSelector(s,a=>a?e.reduce((r,u)=>(r[u]=a[u],r),{}):null);if(!t)throw new Error("useIBrowserTheme must be used within an ProviderBrowserTheme");return t};Object.defineProperty(exports,"ProviderBrowserTheme",{enumerable:!0,get:function(){return h}});Object.defineProperty(exports,"useIBrowserTheme",{enumerable:!0,get:function(){return l}});
1
+ const m=require("./chunk-Dd8m0Ver.cjs"),i=require("./dist-SXTf0-_7.cjs");let c=require("react/jsx-runtime"),n=require("react");var s=i.createContext(null),h=e=>{const[t,a]=(0,n.useState)(e.defaultMode||"auto"),[r,u]=(0,n.useState)(()=>e.defaultMode==="auto"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.defaultMode||"light"),d=(0,n.useCallback)(o=>{t==="auto"&&u(o.matches?"dark":"light")},[t]);return(0,n.useEffect)(()=>{if(t==="auto"){const o=matchMedia("(prefers-color-scheme: dark)");return u(o.matches?"dark":"light"),o.addEventListener("change",d),()=>o.removeEventListener("change",d)}else u(t)},[t,d]),(0,n.useEffect)(()=>{document.documentElement.setAttribute("data-theme",r)},[r]),(0,n.useEffect)(()=>{e.defaultMode&&a(e.defaultMode)},[e.defaultMode]),(0,c.jsx)(s.Provider,{value:{theme:r,mode:t,setMode:a},children:e.children})},l=e=>{const t=i.useContextSelector(s,a=>a?e.reduce((r,u)=>(r[u]=a[u],r),{}):null);if(!t)throw new Error("useIBrowserTheme must be used within an ProviderBrowserTheme");return t};Object.defineProperty(exports,"ProviderBrowserTheme",{enumerable:!0,get:function(){return h}});Object.defineProperty(exports,"useIBrowserTheme",{enumerable:!0,get:function(){return l}});
2
2
 
3
- //# sourceMappingURL=context-browser-theme-Cso_rAT5.cjs.map
3
+ //# sourceMappingURL=context-browser-theme-xixEbalV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-browser-theme-Cso_rAT5.cjs","names":[],"sources":["../src/contexts/context-browser-theme/context.tsx","../src/contexts/context-browser-theme/context.hooks.ts"],"sourcesContent":["import { FC, useCallback, useEffect, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { IBrowserTheme, IBrowserThemeContext, IBrowserThemeMode, IBrowserThemeProvider } from './context.types';\n\nexport const BrowserThemeContext = createContext<IBrowserThemeContext | null>(null);\n\nexport const ProviderBrowserTheme: FC<IBrowserThemeProvider> = (props) => {\n const [mode, setMode] = useState<IBrowserThemeMode>(props.defaultMode || 'auto');\n const [theme, setTheme] = useState<IBrowserTheme>(() => {\n if (props.defaultMode === 'auto') {\n return matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return props.defaultMode || 'light';\n });\n\n const handleMediaChange = useCallback(\n (e: MediaQueryListEvent) => {\n if (mode === 'auto') {\n setTheme(e.matches ? 'dark' : 'light');\n }\n },\n [mode],\n );\n\n useEffect(() => {\n if (mode === 'auto') {\n const media = matchMedia('(prefers-color-scheme: dark)');\n setTheme(media.matches ? 'dark' : 'light');\n media.addEventListener('change', handleMediaChange);\n return () => media.removeEventListener('change', handleMediaChange);\n } else {\n setTheme(mode);\n }\n }, [mode, handleMediaChange]);\n\n useEffect(() => {\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n\n useEffect(() => {\n if (props.defaultMode) setMode(props.defaultMode);\n }, [props.defaultMode]);\n\n return <BrowserThemeContext.Provider value={{ theme, mode, setMode }}>{props.children}</BrowserThemeContext.Provider>;\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { BrowserThemeContext } from './context';\nimport { IBrowserThemeContext, IUseBrowserThemeDependencies } from './context.types';\n\nexport const useIBrowserTheme = (props: IUseBrowserThemeDependencies): IBrowserThemeContext => {\n const context = useContextSelector(BrowserThemeContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useIBrowserTheme must be used within an ProviderBrowserTheme');\n }\n return context;\n};\n"],"mappings":"+HAKA,IAAa,EAAsB,EAAA,cAA2C,IAAA,EAEjE,EAAmD,GAAU,CACxE,KAAM,CAAC,EAAM,CAAA,KAAA,EAAA,UAAuC,EAAM,aAAe,MAAA,EACnE,CAAC,EAAO,CAAA,KAAA,EAAA,UAAA,IACR,EAAM,cAAgB,OACjB,WAAW,8BAAA,EAAgC,QAAU,OAAS,QAEhE,EAAM,aAAe,SAGxB,KAAA,EAAA,aACH,GAA2B,CACtB,IAAS,QACX,EAAS,EAAE,QAAU,OAAS,OAAA,GAGlC,CAAC,CAAA,CAAK,EAGR,SAAA,EAAA,WAAA,IAAgB,CACd,GAAI,IAAS,OAAQ,CACnB,MAAM,EAAQ,WAAW,8BAAA,EACzB,OAAA,EAAS,EAAM,QAAU,OAAS,OAAA,EAClC,EAAM,iBAAiB,SAAU,CAAA,EACjC,IAAa,EAAM,oBAAoB,SAAU,CAAA,OAEjD,EAAS,CAAA,GAEV,CAAC,EAAM,CAAA,CAAkB,KAE5B,EAAA,WAAA,IAAgB,CACd,SAAS,gBAAgB,aAAa,aAAc,CAAA,GACnD,CAAC,CAAA,CAAM,KAEV,EAAA,WAAA,IAAgB,CACV,EAAM,aAAa,EAAQ,EAAM,WAAA,GACpC,CAAC,EAAM,WAAA,CAAY,KAEf,EAAA,KAAC,EAAoB,SAArB,CAA8B,MAAO,CAAE,MAAA,EAAO,KAAA,EAAM,QAAA,YAAY,EAAM,SAAwC,GCvC1G,EAAoB,GAA8D,CAC7F,MAAM,EAAU,EAAA,mBAAmB,EAAsB,GAChD,EACH,EAAM,OAAA,CAAQ,EAAK,KACjB,EAAI,CAAA,EAAQ,EAAE,CAAA,EACP,GACN,CAAA,CAAE,EACL,MAEN,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,8DAAA,EAElB,OAAO"}
1
+ {"version":3,"file":"context-browser-theme-xixEbalV.cjs","names":[],"sources":["../src/contexts/context-browser-theme/context.tsx","../src/contexts/context-browser-theme/context.hooks.ts"],"sourcesContent":["import { FC, useCallback, useEffect, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { IBrowserTheme, IBrowserThemeContext, IBrowserThemeMode, IBrowserThemeProvider } from './context.types';\n\nexport const BrowserThemeContext = createContext<IBrowserThemeContext | null>(null);\n\nexport const ProviderBrowserTheme: FC<IBrowserThemeProvider> = (props) => {\n const [mode, setMode] = useState<IBrowserThemeMode>(props.defaultMode || 'auto');\n const [theme, setTheme] = useState<IBrowserTheme>(() => {\n if (props.defaultMode === 'auto') {\n return matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return props.defaultMode || 'light';\n });\n\n const handleMediaChange = useCallback(\n (e: MediaQueryListEvent) => {\n if (mode === 'auto') {\n setTheme(e.matches ? 'dark' : 'light');\n }\n },\n [mode],\n );\n\n useEffect(() => {\n if (mode === 'auto') {\n const media = matchMedia('(prefers-color-scheme: dark)');\n setTheme(media.matches ? 'dark' : 'light');\n media.addEventListener('change', handleMediaChange);\n return () => media.removeEventListener('change', handleMediaChange);\n } else {\n setTheme(mode);\n }\n }, [mode, handleMediaChange]);\n\n useEffect(() => {\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n\n useEffect(() => {\n if (props.defaultMode) setMode(props.defaultMode);\n }, [props.defaultMode]);\n\n return <BrowserThemeContext.Provider value={{ theme, mode, setMode }}>{props.children}</BrowserThemeContext.Provider>;\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { BrowserThemeContext } from './context';\nimport { IBrowserThemeContext, IUseBrowserThemeDependencies } from './context.types';\n\nexport const useIBrowserTheme = (props: IUseBrowserThemeDependencies): IBrowserThemeContext => {\n const context = useContextSelector(BrowserThemeContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useIBrowserTheme must be used within an ProviderBrowserTheme');\n }\n return context;\n};\n"],"mappings":"+HAKA,IAAa,EAAsB,EAAA,cAA2C,IAAA,EAEjE,EAAmD,GAAU,CACxE,KAAM,CAAC,EAAM,CAAA,KAAA,EAAA,UAAuC,EAAM,aAAe,MAAA,EACnE,CAAC,EAAO,CAAA,KAAA,EAAA,UAAA,IACR,EAAM,cAAgB,OACjB,WAAW,8BAAA,EAAgC,QAAU,OAAS,QAEhE,EAAM,aAAe,SAGxB,KAAA,EAAA,aACH,GAA2B,CACtB,IAAS,QACX,EAAS,EAAE,QAAU,OAAS,OAAA,GAGlC,CAAC,CAAA,CAAK,EAGR,SAAA,EAAA,WAAA,IAAgB,CACd,GAAI,IAAS,OAAQ,CACnB,MAAM,EAAQ,WAAW,8BAAA,EACzB,OAAA,EAAS,EAAM,QAAU,OAAS,OAAA,EAClC,EAAM,iBAAiB,SAAU,CAAA,EACjC,IAAa,EAAM,oBAAoB,SAAU,CAAA,OAEjD,EAAS,CAAA,GAEV,CAAC,EAAM,CAAA,CAAkB,KAE5B,EAAA,WAAA,IAAgB,CACd,SAAS,gBAAgB,aAAa,aAAc,CAAA,GACnD,CAAC,CAAA,CAAM,KAEV,EAAA,WAAA,IAAgB,CACV,EAAM,aAAa,EAAQ,EAAM,WAAA,GACpC,CAAC,EAAM,WAAA,CAAY,KAEf,EAAA,KAAC,EAAoB,SAArB,CAA8B,MAAO,CAAE,MAAA,EAAO,KAAA,EAAM,QAAA,YAAY,EAAM,SAAwC,GCvC1G,EAAoB,GAA8D,CAC7F,MAAM,EAAU,EAAA,mBAAmB,EAAsB,GAChD,EACH,EAAM,OAAA,CAAQ,EAAK,KACjB,EAAI,CAAA,EAAQ,EAAE,CAAA,EACP,GACN,CAAA,CAAE,EACL,MAEN,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,8DAAA,EAElB,OAAO"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-browser-theme-Cso_rAT5.cjs");exports.ProviderBrowserTheme=e.ProviderBrowserTheme;exports.useIBrowserTheme=e.useIBrowserTheme;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-browser-theme-xixEbalV.cjs");exports.ProviderBrowserTheme=e.ProviderBrowserTheme;exports.useIBrowserTheme=e.useIBrowserTheme;
@@ -1,4 +1,4 @@
1
- import { n as r, t as o } from "./context-browser-theme-Cb6siWO0.js";
1
+ import { n as r, t as o } from "./context-browser-theme-CRBCZ_y_.js";
2
2
  export {
3
3
  r as ProviderBrowserTheme,
4
4
  o as useIBrowserTheme
@@ -1,3 +1,3 @@
1
- const P=require("./chunk-Dd8m0Ver.cjs"),f=require("./logger-DZFY33QY.cjs");let V=require("react/jsx-runtime"),s=require("react");function C(e){for(var l=1;l<arguments.length;l++){var c=arguments[l];for(var d in c)e[d]=c[d]}return e}var p={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function k(e,l){function c(i,t,r){if(!(typeof document>"u")){r=C({},l,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var o in r)r[o]&&(u+="; "+o,r[o]!==!0&&(u+="="+r[o].split(";")[0]));return document.cookie=i+"="+e.write(t,i)+u}}function d(i){if(!(typeof document>"u"||arguments.length&&!i)){for(var t=document.cookie?document.cookie.split("; "):[],r={},u=0;u<t.length;u++){var o=t[u].split("="),n=o.slice(1).join("=");try{var a=decodeURIComponent(o[0]);if(r[a]=e.read(n,a),i===a)break}catch{}}return i?r[i]:r}}return Object.create({set:c,get:d,remove:function(i,t){c(i,"",C({},t,{expires:-1}))},withAttributes:function(i){return k(this.converter,C({},this.attributes,i))},withConverter:function(i){return k(C({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(l)},converter:{value:Object.freeze(e)}})}var g=k(p,{path:"/"}),h=(0,s.createContext)(null),S=e=>{const{getCookie:l,setCookie:c,removeCookieValue:d,removeCookieValues:i,checkCookie:t,cookieValues:r}=x(e);return(0,V.jsx)(h.Provider,{value:{getCookie:l,setCookie:c,removeCookieValue:d,removeCookieValues:i,checkCookie:t,cookieValues:r},children:e.children})},x=e=>{const[l,c]=(0,s.useState)(),d=(0,s.useCallback)(o=>{const n=g.get(String(o));return c(a=>({...a,[o]:n?JSON.parse(n):void 0})),n?JSON.parse(n):void 0},[]),i=(0,s.useCallback)((o,n,a)=>{try{g.set(String(o),JSON.stringify(n),a),c(v=>({...v,[o]:n}))}catch{f.logger.info(`Provider Cookie. ChangeCookie error - key:${o}, value:${n}.`)}},[]),t=(0,s.useCallback)((o,n)=>{try{g.remove(String(o),n),c(a=>({...a,[o]:void 0}))}catch{f.logger.info(`Provider Cookie. RemoveCookieValue error - key:${o}.`)}},[]),r=(0,s.useCallback)(()=>{e.validate?.validateKeys?e.validate?.validateKeys.forEach(o=>{t(String(o))}):f.logger.info("Provider Cookie. Validate is not defined.")},[e.validate,t]),u=(0,s.useCallback)(()=>{e.validate?.validateKeys&&e.validate.getValidateCookieValue?e.validate?.validateKeys.forEach(o=>{const n=g.get(String(o));if(n)try{const a=JSON.parse(n);e.validate?.getValidateCookieValue(String(o),a)?c(v=>({...v,[o]:a})):t(String(o))}catch{t(String(o))}else t(String(o))}):f.logger.info("Provider Cookie. Validate is not defined.")},[e.validate,t]);return(0,s.useEffect)(()=>{u()},[u]),(0,s.useEffect)(()=>()=>{c(void 0)},[]),{getCookie:d,setCookie:i,removeCookieValue:t,removeCookieValues:r,checkCookie:u,cookieValues:l}},m=()=>{const e=(0,s.useContext)(h);if(!e)throw new Error("useCookie must be used within an ProviderCookie");return e};Object.defineProperty(exports,"ProviderCookie",{enumerable:!0,get:function(){return S}});Object.defineProperty(exports,"useCookie",{enumerable:!0,get:function(){return m}});
1
+ const P=require("./chunk-Dd8m0Ver.cjs"),f=require("./logger-D3Xu5ef3.cjs");let V=require("react/jsx-runtime"),s=require("react");function C(e){for(var l=1;l<arguments.length;l++){var c=arguments[l];for(var d in c)e[d]=c[d]}return e}var p={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function k(e,l){function c(i,t,r){if(!(typeof document>"u")){r=C({},l,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var o in r)r[o]&&(u+="; "+o,r[o]!==!0&&(u+="="+r[o].split(";")[0]));return document.cookie=i+"="+e.write(t,i)+u}}function d(i){if(!(typeof document>"u"||arguments.length&&!i)){for(var t=document.cookie?document.cookie.split("; "):[],r={},u=0;u<t.length;u++){var o=t[u].split("="),n=o.slice(1).join("=");try{var a=decodeURIComponent(o[0]);if(r[a]=e.read(n,a),i===a)break}catch{}}return i?r[i]:r}}return Object.create({set:c,get:d,remove:function(i,t){c(i,"",C({},t,{expires:-1}))},withAttributes:function(i){return k(this.converter,C({},this.attributes,i))},withConverter:function(i){return k(C({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(l)},converter:{value:Object.freeze(e)}})}var g=k(p,{path:"/"}),h=(0,s.createContext)(null),S=e=>{const{getCookie:l,setCookie:c,removeCookieValue:d,removeCookieValues:i,checkCookie:t,cookieValues:r}=x(e);return(0,V.jsx)(h.Provider,{value:{getCookie:l,setCookie:c,removeCookieValue:d,removeCookieValues:i,checkCookie:t,cookieValues:r},children:e.children})},x=e=>{const[l,c]=(0,s.useState)(),d=(0,s.useCallback)(o=>{const n=g.get(String(o));return c(a=>({...a,[o]:n?JSON.parse(n):void 0})),n?JSON.parse(n):void 0},[]),i=(0,s.useCallback)((o,n,a)=>{try{g.set(String(o),JSON.stringify(n),a),c(v=>({...v,[o]:n}))}catch{f.logger.info(`Provider Cookie. ChangeCookie error - key:${o}, value:${n}.`)}},[]),t=(0,s.useCallback)((o,n)=>{try{g.remove(String(o),n),c(a=>({...a,[o]:void 0}))}catch{f.logger.info(`Provider Cookie. RemoveCookieValue error - key:${o}.`)}},[]),r=(0,s.useCallback)(()=>{e.validate?.validateKeys?e.validate?.validateKeys.forEach(o=>{t(String(o))}):f.logger.info("Provider Cookie. Validate is not defined.")},[e.validate,t]),u=(0,s.useCallback)(()=>{e.validate?.validateKeys&&e.validate.getValidateCookieValue?e.validate?.validateKeys.forEach(o=>{const n=g.get(String(o));if(n)try{const a=JSON.parse(n);e.validate?.getValidateCookieValue(String(o),a)?c(v=>({...v,[o]:a})):t(String(o))}catch{t(String(o))}else t(String(o))}):f.logger.info("Provider Cookie. Validate is not defined.")},[e.validate,t]);return(0,s.useEffect)(()=>{u()},[u]),(0,s.useEffect)(()=>()=>{c(void 0)},[]),{getCookie:d,setCookie:i,removeCookieValue:t,removeCookieValues:r,checkCookie:u,cookieValues:l}},m=()=>{const e=(0,s.useContext)(h);if(!e)throw new Error("useCookie must be used within an ProviderCookie");return e};Object.defineProperty(exports,"ProviderCookie",{enumerable:!0,get:function(){return S}});Object.defineProperty(exports,"useCookie",{enumerable:!0,get:function(){return m}});
2
2
 
3
- //# sourceMappingURL=context-cookie-Btkd2aXy.cjs.map
3
+ //# sourceMappingURL=context-cookie-DFgWWGA9.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-cookie-Btkd2aXy.cjs","names":[],"sources":["../node_modules/js-cookie/dist/js.cookie.mjs","../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import { logger } from '@local/cores/logger';\n\nimport Cookies from 'js-cookie';\nimport { createContext, FC, useCallback, useEffect, useState } from 'react';\n\nimport { ICookieAttributes, ICookieContext, ICookieProvider, IValidCookieObject } from './context.types';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<ICookieContext | null>(null);\n\n/**\n * Provider component for managing cookies.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n * @remarks\n * The local storage is typed using the `jenesei-kit-react.d.ts` file:\n *\n * ```typescript\n * import '@jenesei-software/jenesei-kit-react'\n *\n * declare module '@jenesei-software/jenesei-kit-react' {\n * export interface IValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ICookieProvider> = (props) => {\n const { getCookie, setCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues } =\n useProviderCookie(props);\n\n return (\n <CookieContext.Provider\n value={{\n getCookie,\n setCookie,\n removeCookieValue,\n removeCookieValues,\n checkCookie,\n cookieValues,\n }}\n >\n {props.children}\n </CookieContext.Provider>\n );\n};\n\nconst useProviderCookie = (props: ICookieProvider) => {\n const [cookieValues, setCookieValues] = useState<IValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof IValidCookieObject>(name: K): IValidCookieObject[K] | undefined => {\n const cookie = Cookies.get(String(name));\n setCookieValues((prevState) => ({\n ...prevState,\n [name]: cookie ? JSON.parse(cookie) : undefined,\n }));\n return cookie ? JSON.parse(cookie) : undefined;\n }, []);\n\n const changeCookie = useCallback(\n <K extends keyof IValidCookieObject>(name: K, value: IValidCookieObject[K], options?: ICookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n logger.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof IValidCookieObject>(name: K, options?: ICookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n logger.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate?.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate?.validateKeys && props.validate.getValidateCookieValue) {\n props.validate?.validateKeys.forEach((key) => {\n const cookieValue = Cookies.get(String(key));\n if (cookieValue) {\n try {\n const parsedValue = JSON.parse(cookieValue);\n if (!props.validate?.getValidateCookieValue(String(key) as never, parsedValue as never)) {\n removeCookieValue(String(key) as never);\n } else {\n setCookieValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeCookieValue(String(key) as never);\n }\n } else {\n removeCookieValue(String(key) as never);\n }\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n useEffect(() => {\n return () => {\n setCookieValues(undefined);\n };\n }, []);\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import { useContext } from 'react';\n\nimport { CookieContext } from './context';\nimport { ICookieContext } from './context.types';\n\n/**\n * Custom hook to access the CookieContext.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n */\nexport const useCookie = (): ICookieContext => {\n const context = useContext(CookieContext);\n if (!context) {\n throw new Error('useCookie must be used within an ProviderCookie');\n }\n return context;\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"context-cookie-DFgWWGA9.cjs","names":[],"sources":["../node_modules/js-cookie/dist/js.cookie.mjs","../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import { logger } from '@local/cores/logger';\n\nimport Cookies from 'js-cookie';\nimport { createContext, FC, useCallback, useEffect, useState } from 'react';\n\nimport { ICookieAttributes, ICookieContext, ICookieProvider, IValidCookieObject } from './context.types';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<ICookieContext | null>(null);\n\n/**\n * Provider component for managing cookies.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n * @remarks\n * The local storage is typed using the `jenesei-kit-react.d.ts` file:\n *\n * ```typescript\n * import '@jenesei-software/jenesei-kit-react'\n *\n * declare module '@jenesei-software/jenesei-kit-react' {\n * export interface IValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ICookieProvider> = (props) => {\n const { getCookie, setCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues } =\n useProviderCookie(props);\n\n return (\n <CookieContext.Provider\n value={{\n getCookie,\n setCookie,\n removeCookieValue,\n removeCookieValues,\n checkCookie,\n cookieValues,\n }}\n >\n {props.children}\n </CookieContext.Provider>\n );\n};\n\nconst useProviderCookie = (props: ICookieProvider) => {\n const [cookieValues, setCookieValues] = useState<IValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof IValidCookieObject>(name: K): IValidCookieObject[K] | undefined => {\n const cookie = Cookies.get(String(name));\n setCookieValues((prevState) => ({\n ...prevState,\n [name]: cookie ? JSON.parse(cookie) : undefined,\n }));\n return cookie ? JSON.parse(cookie) : undefined;\n }, []);\n\n const changeCookie = useCallback(\n <K extends keyof IValidCookieObject>(name: K, value: IValidCookieObject[K], options?: ICookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n logger.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof IValidCookieObject>(name: K, options?: ICookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n logger.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate?.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate?.validateKeys && props.validate.getValidateCookieValue) {\n props.validate?.validateKeys.forEach((key) => {\n const cookieValue = Cookies.get(String(key));\n if (cookieValue) {\n try {\n const parsedValue = JSON.parse(cookieValue);\n if (!props.validate?.getValidateCookieValue(String(key) as never, parsedValue as never)) {\n removeCookieValue(String(key) as never);\n } else {\n setCookieValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeCookieValue(String(key) as never);\n }\n } else {\n removeCookieValue(String(key) as never);\n }\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n useEffect(() => {\n return () => {\n setCookieValues(undefined);\n };\n }, []);\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import { useContext } from 'react';\n\nimport { CookieContext } from './context';\nimport { ICookieContext } from './context.types';\n\n/**\n * Custom hook to access the CookieContext.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n */\nexport const useCookie = (): ICookieContext => {\n const context = useContext(CookieContext);\n if (!context) {\n throw new Error('useCookie must be used within an ProviderCookie');\n }\n return context;\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as u } from "./logger-BRWLzI5S.js";
1
+ import { t as u } from "./logger-QC3A33gh.js";
2
2
  import { jsx as V } from "react/jsx-runtime";
3
3
  import { createContext as m, useCallback as v, useContext as S, useEffect as h, useState as x } from "react";
4
4
  function C(e) {
@@ -135,4 +135,4 @@ export {
135
135
  j as t
136
136
  };
137
137
 
138
- //# sourceMappingURL=context-cookie-5CBhf-gb.js.map
138
+ //# sourceMappingURL=context-cookie-Daq2MZo3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-cookie-5CBhf-gb.js","names":[],"sources":["../node_modules/js-cookie/dist/js.cookie.mjs","../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import { logger } from '@local/cores/logger';\n\nimport Cookies from 'js-cookie';\nimport { createContext, FC, useCallback, useEffect, useState } from 'react';\n\nimport { ICookieAttributes, ICookieContext, ICookieProvider, IValidCookieObject } from './context.types';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<ICookieContext | null>(null);\n\n/**\n * Provider component for managing cookies.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n * @remarks\n * The local storage is typed using the `jenesei-kit-react.d.ts` file:\n *\n * ```typescript\n * import '@jenesei-software/jenesei-kit-react'\n *\n * declare module '@jenesei-software/jenesei-kit-react' {\n * export interface IValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ICookieProvider> = (props) => {\n const { getCookie, setCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues } =\n useProviderCookie(props);\n\n return (\n <CookieContext.Provider\n value={{\n getCookie,\n setCookie,\n removeCookieValue,\n removeCookieValues,\n checkCookie,\n cookieValues,\n }}\n >\n {props.children}\n </CookieContext.Provider>\n );\n};\n\nconst useProviderCookie = (props: ICookieProvider) => {\n const [cookieValues, setCookieValues] = useState<IValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof IValidCookieObject>(name: K): IValidCookieObject[K] | undefined => {\n const cookie = Cookies.get(String(name));\n setCookieValues((prevState) => ({\n ...prevState,\n [name]: cookie ? JSON.parse(cookie) : undefined,\n }));\n return cookie ? JSON.parse(cookie) : undefined;\n }, []);\n\n const changeCookie = useCallback(\n <K extends keyof IValidCookieObject>(name: K, value: IValidCookieObject[K], options?: ICookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n logger.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof IValidCookieObject>(name: K, options?: ICookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n logger.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate?.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate?.validateKeys && props.validate.getValidateCookieValue) {\n props.validate?.validateKeys.forEach((key) => {\n const cookieValue = Cookies.get(String(key));\n if (cookieValue) {\n try {\n const parsedValue = JSON.parse(cookieValue);\n if (!props.validate?.getValidateCookieValue(String(key) as never, parsedValue as never)) {\n removeCookieValue(String(key) as never);\n } else {\n setCookieValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeCookieValue(String(key) as never);\n }\n } else {\n removeCookieValue(String(key) as never);\n }\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n useEffect(() => {\n return () => {\n setCookieValues(undefined);\n };\n }, []);\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import { useContext } from 'react';\n\nimport { CookieContext } from './context';\nimport { ICookieContext } from './context.types';\n\n/**\n * Custom hook to access the CookieContext.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n */\nexport const useCookie = (): ICookieContext => {\n const context = useContext(CookieContext);\n if (!context) {\n throw new Error('useCookie must be used within an ProviderCookie');\n }\n return context;\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"context-cookie-Daq2MZo3.js","names":[],"sources":["../node_modules/js-cookie/dist/js.cookie.mjs","../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import { logger } from '@local/cores/logger';\n\nimport Cookies from 'js-cookie';\nimport { createContext, FC, useCallback, useEffect, useState } from 'react';\n\nimport { ICookieAttributes, ICookieContext, ICookieProvider, IValidCookieObject } from './context.types';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<ICookieContext | null>(null);\n\n/**\n * Provider component for managing cookies.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n * @remarks\n * The local storage is typed using the `jenesei-kit-react.d.ts` file:\n *\n * ```typescript\n * import '@jenesei-software/jenesei-kit-react'\n *\n * declare module '@jenesei-software/jenesei-kit-react' {\n * export interface IValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ICookieProvider> = (props) => {\n const { getCookie, setCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues } =\n useProviderCookie(props);\n\n return (\n <CookieContext.Provider\n value={{\n getCookie,\n setCookie,\n removeCookieValue,\n removeCookieValues,\n checkCookie,\n cookieValues,\n }}\n >\n {props.children}\n </CookieContext.Provider>\n );\n};\n\nconst useProviderCookie = (props: ICookieProvider) => {\n const [cookieValues, setCookieValues] = useState<IValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof IValidCookieObject>(name: K): IValidCookieObject[K] | undefined => {\n const cookie = Cookies.get(String(name));\n setCookieValues((prevState) => ({\n ...prevState,\n [name]: cookie ? JSON.parse(cookie) : undefined,\n }));\n return cookie ? JSON.parse(cookie) : undefined;\n }, []);\n\n const changeCookie = useCallback(\n <K extends keyof IValidCookieObject>(name: K, value: IValidCookieObject[K], options?: ICookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n logger.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof IValidCookieObject>(name: K, options?: ICookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n logger.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate?.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate?.validateKeys && props.validate.getValidateCookieValue) {\n props.validate?.validateKeys.forEach((key) => {\n const cookieValue = Cookies.get(String(key));\n if (cookieValue) {\n try {\n const parsedValue = JSON.parse(cookieValue);\n if (!props.validate?.getValidateCookieValue(String(key) as never, parsedValue as never)) {\n removeCookieValue(String(key) as never);\n } else {\n setCookieValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeCookieValue(String(key) as never);\n }\n } else {\n removeCookieValue(String(key) as never);\n }\n });\n } else {\n logger.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n useEffect(() => {\n return () => {\n setCookieValues(undefined);\n };\n }, []);\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import { useContext } from 'react';\n\nimport { CookieContext } from './context';\nimport { ICookieContext } from './context.types';\n\n/**\n * Custom hook to access the CookieContext.\n *\n * @remarks\n * You should understand which cookies you are changing and whether you have access to them.\n *\n */\nexport const useCookie = (): ICookieContext => {\n const context = useContext(CookieContext);\n if (!context) {\n throw new Error('useCookie must be used within an ProviderCookie');\n }\n return context;\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-cookie-Btkd2aXy.cjs");exports.ProviderCookie=e.ProviderCookie;exports.useCookie=e.useCookie;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-cookie-DFgWWGA9.cjs");exports.ProviderCookie=e.ProviderCookie;exports.useCookie=e.useCookie;
@@ -1,4 +1,4 @@
1
- import { n as e, t as r } from "./context-cookie-5CBhf-gb.js";
1
+ import { n as e, t as r } from "./context-cookie-Daq2MZo3.js";
2
2
  export {
3
3
  e as ProviderCookie,
4
4
  r as useCookie
@@ -0,0 +1,3 @@
1
+ const U=require("./chunk-Dd8m0Ver.cjs"),v=require("./utils-DCIq-5FL.cjs"),C=require("./functions-CZrZU5U0.cjs"),f=require("./proxy-BDese6Pb.cjs"),O=require("./AnimatePresence-DeKd4Eek.cjs"),L=require("./outside-CXyCk8h1.cjs"),S=require("./hooks-use-deep-compare-memoize.cjs.js"),p=require("./dist-SXTf0-_7.cjs"),b=require("./v4-BDi_Luux.cjs");let x=require("react/jsx-runtime"),t=require("react");var h="fillDarkStable",I=v.CSS_CLASS.context.dialog,q=()=>I.layout,T=e=>({backgroundColor:v.CSS_VARS.palette.fillSecondaryLightStable,zIndex:e.zIndex}),M=e=>({maxWidth:e.propsDialog?.maxWidth||"max-content",maxHeight:e.propsDialog?.maxHeight||"max-content",borderRadius:e.propsDialog?.borderRadius||"12px",background:e.propsDialog?.background?v.CSS_VARS.palette[e.propsDialog.background]:v.CSS_VARS.palette[h],padding:e.propsDialog?.padding||"20px"}),y=p.createContext(null),k=e=>{const[a,l]=(0,t.useState)([]),c=q(),d=(0,t.useCallback)(i=>{l(s=>{const u=s.find(o=>o.id===i);if(u===void 0)return s;const n=u.index;return n===void 0?s:s.filter(o=>o.id!==i).map(o=>{const _=o.index;return _===void 0?o:{...o,index:_>n?_-1:o.index}})})},[]),g=(0,t.useCallback)(i=>{l(s=>s.map(u=>u.id===i.id?{...u,...i}:u))},[]),m=(0,t.useCallback)(i=>{const s=i.id;l(u=>{const n=u.findIndex(_=>_.id===s);let o;if(n!==-1)o=[...u],o[n]={...i,id:s,index:u[n].index};else{o=u.map(E=>{const R=E.index;return R===void 0?E:{...E,index:R+1}});const _={...i,id:s,index:0};o.unshift(_)}return o})},[]),r=(0,t.useMemo)(()=>a.length,[a.length]),D=(0,t.useMemo)(()=>e.zIndex,[e.zIndex]);return(0,t.useEffect)(()=>()=>{l([])},[]),(0,x.jsxs)(y.Provider,{value:{add:m,remove:d,update:g,dialogHistory:a},children:[(0,x.jsx)(O.AnimatePresence,{children:r&&(0,x.jsx)(f.motion.div,{className:c,style:T({zIndex:D}),initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},transition:{type:"spring",duration:.4},children:[...a].reverse().map(i=>(0,x.jsx)(N,{index:i.index,props:i.props,id:i.id,onRemove:i.onRemove},i.id))})}),e.children]})},P=e=>{const[a,l]=(0,t.useState)(!0),c=(0,t.useMemo)(()=>({...M({propsDialog:e.props?.propsDialog})}),[e.props?.propsDialog]),d=(0,t.useMemo)(()=>({position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:e.index===0?"auto":"none"}),[e.index]),g=(0,t.useMemo)(()=>e.props?.propsDialog?.isRemoveOnOutsideClick??!0,[e.props?.propsDialog?.isRemoveOnOutsideClick]),m=(0,t.useCallback)(()=>{e.props?.onRemove?.(),e.onRemove?.()},[e.onRemove,e.props?.onRemove]),r=e.props?.content,D=(0,t.useMemo)(()=>e.id===void 0||r===void 0?null:(0,x.jsx)(r,{remove:m,isAnimating:a,propsCustom:e.props?.propsCustom,id:e.id}),[r,a,e.props?.propsCustom,m,e.id]);return e.index!==void 0&&(0,x.jsx)("div",{style:d,children:(0,x.jsx)(L.Outside,{onOutsideClick:()=>e.index===0&&g&&m?.(),children:(0,x.jsx)(f.motion.dialog,{className:C.setClasses([I.element]),initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},onAnimationComplete:()=>l(!1),transition:{type:"spring",duration:.3,delay:.4},style:c,children:D},e.id)})})},N=(0,t.memo)(P),A=e=>{const a=p.useContextSelector(y,l=>l?e.reduce((c,d)=>(c[d]=l[d],c),{}):null);if(!a)throw new Error("useDialogs must be used within an DialogContext");return a},j=e=>{const{add:a,remove:l,update:c,dialogHistory:d}=A(["add","remove","update","dialogHistory"]),[g,m]=(0,t.useState)(null),r=(0,t.useRef)(null),D=S.useDeepCompareMemoize(e),i=(0,t.useMemo)(()=>g!==null&&d.some(n=>n.id===g),[d,g]),s=(0,t.useCallback)(()=>{const n=r.current;n&&(m(null),r.current=null,l(n))},[l]),u=(0,t.useCallback)(()=>{if(r.current)return;const n=b.v4();m(n),r.current=n,a({id:n,props:D,onRemove:()=>{s(),D?.onRemove?.()}})},[a,D,s]);return(0,t.useEffect)(()=>{const n=r.current;n&&(d.some(o=>o.id===n)||(m(null),r.current=null))},[d]),(0,t.useEffect)(()=>{r.current&&c({id:r.current,props:D})},[D,c]),{add:u,remove:s,id:g,isOpen:i}};Object.defineProperty(exports,"ProviderDialog",{enumerable:!0,get:function(){return k}});Object.defineProperty(exports,"useDialog",{enumerable:!0,get:function(){return j}});Object.defineProperty(exports,"useDialogs",{enumerable:!0,get:function(){return A}});
2
+
3
+ //# sourceMappingURL=context-dialog-DctdSBC8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-dialog-DctdSBC8.cjs","names":[],"sources":["../src/contexts/context-dialog/context.constants.ts","../src/contexts/context-dialog/context.styles.tsx","../src/contexts/context-dialog/context.tsx","../src/contexts/context-dialog/context.hooks.ts"],"sourcesContent":["import { IThemePalette } from '@local/styles/utils';\n\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3;\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4;\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT: string = 'max-content';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH: string = 'max-content';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS: string = '12px';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING: string = '20px';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND: IThemePalette = 'fillDarkStable';\n","import { CSS_CLASS, CSS_VARS } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport {\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n} from './context.constants';\nimport { IDialogElementStyle, IDialogLayoutStyle } from './context.types';\n\nexport const DialogClass = CSS_CLASS.context.dialog;\n\nexport const getDialogLayoutClassName = () => DialogClass.layout;\n\nexport const getDialogLayoutStyle = (props: IDialogLayoutStyle): CSSProperties => ({\n backgroundColor: CSS_VARS.palette.fillSecondaryLightStable,\n zIndex: props.zIndex,\n});\n\nexport const getDialogElementStyle = (props: IDialogElementStyle): CSSProperties => ({\n maxWidth: props.propsDialog?.maxWidth || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n maxHeight: props.propsDialog?.maxHeight || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n borderRadius: props.propsDialog?.borderRadius || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n background: props.propsDialog?.background\n ? CSS_VARS.palette[props.propsDialog.background]\n : CSS_VARS.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND],\n padding: props.propsDialog?.padding || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n});\n","import { Outside } from '@local/areas/outside';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { CSSProperties, FC, memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT, DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT } from './context.constants';\nimport { DialogClass, getDialogElementStyle, getDialogLayoutClassName, getDialogLayoutStyle } from './context.styles';\nimport { IDialogContent, IDialogContext, IDialogElement, IDialogProvider } from './context.types';\n\nexport const DialogContext = createContext<IDialogContext | null>(null);\n\nexport const ProviderDialog: FC<IDialogProvider> = (props) => {\n const [dialogHistory, setDialogHistory] = useState<IDialogContent[]>([]);\n const classNameDialogLayout = getDialogLayoutClassName();\n\n const remove: IDialogContext['remove'] = useCallback((id) => {\n setDialogHistory((prev) => {\n const itemToRemove = prev.find((item) => item.id === id);\n\n if (itemToRemove === undefined) return prev;\n\n const indexToRemove = itemToRemove.index;\n\n if (indexToRemove === undefined) return prev;\n\n const updatedHistory = prev\n .filter((item) => item.id !== id)\n .map((item) => {\n const index = item.index;\n if (index === undefined) return item;\n\n return {\n ...item,\n index: index > indexToRemove ? index - 1 : item.index,\n };\n });\n\n return updatedHistory;\n });\n }, []);\n\n const update: IDialogContext['update'] = useCallback((dialog) => {\n setDialogHistory((prev) => {\n return prev.map((item) => {\n if (item.id === dialog.id) {\n return { ...item, ...dialog };\n }\n return item;\n });\n });\n }, []);\n\n const add: IDialogContext['add'] = useCallback((dialog) => {\n const id = dialog.id;\n\n setDialogHistory((prev) => {\n const existingIndex = prev.findIndex((item) => item.id === id);\n\n let updatedHistory: IDialogContent[];\n\n if (existingIndex !== -1) {\n updatedHistory = [...prev];\n updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index };\n } else {\n updatedHistory = prev.map((item) => {\n const index = item.index;\n if (index === undefined) return item;\n\n return {\n ...item,\n index: index + 1,\n };\n });\n const newContent = { ...dialog, id, index: 0 };\n updatedHistory.unshift(newContent);\n }\n\n return updatedHistory;\n });\n }, []);\n\n const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length]);\n const zIndex = useMemo(() => props.zIndex, [props.zIndex]);\n\n useEffect(() => {\n return () => {\n setDialogHistory([]);\n };\n }, []);\n return (\n <DialogContext.Provider value={{ add, remove, update, dialogHistory }}>\n <AnimatePresence>\n {dialogHistoryLength && (\n <motion.div\n className={classNameDialogLayout}\n style={getDialogLayoutStyle({ zIndex })}\n initial={{\n opacity: 0,\n }}\n exit={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT }}\n >\n {[...dialogHistory].reverse().map((dialog) => {\n return (\n <MemoizedDialogElement\n key={dialog.id}\n index={dialog.index}\n props={dialog.props}\n id={dialog.id}\n onRemove={dialog.onRemove}\n />\n );\n })}\n </motion.div>\n )}\n </AnimatePresence>\n\n {props.children}\n </DialogContext.Provider>\n );\n};\n\nconst DialogElement = (props: IDialogElement<Record<string, unknown>>) => {\n const [isAnimating, setIsAnimating] = useState(true);\n const styleDialogElement = useMemo(() => {\n return {\n ...getDialogElementStyle({\n propsDialog: props.props?.propsDialog,\n }),\n };\n }, [props.props?.propsDialog]);\n const styleDialogLayer = useMemo<CSSProperties>(() => {\n return {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: props.index === 0 ? 'auto' : 'none',\n };\n }, [props.index]);\n\n const isRemoveOnOutsideClick = useMemo(\n () => props.props?.propsDialog?.isRemoveOnOutsideClick ?? true,\n [props.props?.propsDialog?.isRemoveOnOutsideClick],\n );\n const onRemove = useCallback(() => {\n props.props?.onRemove?.();\n props.onRemove?.();\n }, [props.onRemove, props.props?.onRemove]);\n\n const Content = props.props?.content;\n const children = useMemo(() => {\n if (props.id === undefined || Content === undefined) return null;\n\n return <Content remove={onRemove} isAnimating={isAnimating} propsCustom={props.props?.propsCustom} id={props.id} />;\n }, [Content, isAnimating, props.props?.propsCustom, onRemove, props.id]);\n return (\n props.index !== undefined && (\n <div style={styleDialogLayer}>\n <Outside onOutsideClick={() => props.index === 0 && isRemoveOnOutsideClick && onRemove?.()}>\n <motion.dialog\n key={props.id}\n className={setClasses([DialogClass.element])}\n initial={{\n opacity: 0,\n scale: 0.8,\n }}\n animate={{\n opacity: 1,\n scale: 1,\n }}\n onAnimationComplete={() => setIsAnimating(false)}\n transition={{\n type: 'spring',\n duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT,\n }}\n style={styleDialogElement}\n >\n {children}\n </motion.dialog>\n </Outside>\n </div>\n )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useContextSelector } from 'use-context-selector';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { DialogContext } from './context';\nimport { IDialogContext, IDialogItem, IUseDialog, IUseDialogDependencies } from './context.types';\n\nexport const useDialogs = (props: IUseDialogDependencies): IDialogContext => {\n const context = useContextSelector(DialogContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useDialogs must be used within an DialogContext');\n }\n return context;\n};\n\nexport const useDialog = <T extends object = Record<string, unknown>>(props?: IUseDialog<T>): IDialogItem => {\n const { add, remove, update, dialogHistory } = useDialogs(['add', 'remove', 'update', 'dialogHistory']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n const isOpen = useMemo(() => {\n return id !== null && dialogHistory.some((dialog) => dialog.id === id);\n }, [dialogHistory, id]);\n\n const localRemove = useCallback(() => {\n const dialogId = refId.current;\n\n if (!dialogId) return;\n\n setId(null);\n refId.current = null;\n remove(dialogId);\n }, [remove]);\n\n const localAdd: IDialogItem['add'] = useCallback(() => {\n if (refId.current) return;\n const dialogId = uuidv4();\n setId(dialogId);\n refId.current = dialogId;\n add({\n id: dialogId,\n props: propsMemo as IUseDialog<Record<string, unknown>>,\n onRemove: () => {\n localRemove();\n propsMemo?.onRemove?.();\n },\n });\n }, [add, propsMemo, localRemove]);\n\n useEffect(() => {\n const dialogId = refId.current;\n\n if (!dialogId) return;\n\n if (!dialogHistory.some((dialog) => dialog.id === dialogId)) {\n setId(null);\n refId.current = null;\n }\n }, [dialogHistory]);\n\n useEffect(() => {\n if (refId.current) {\n update({ id: refId.current, props: propsMemo as IUseDialog<Record<string, unknown>> });\n }\n }, [propsMemo, update]);\n\n return { add: localAdd, remove: localRemove, id: id, isOpen: isOpen };\n};\n"],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ import { n as O, r as R } from "./utils-BRgi6734.js";
2
+ import { t as C } from "./functions-DzX-pTN8.js";
3
+ import { t as y } from "./proxy-BFHkqO7P.js";
4
+ import { t as T } from "./AnimatePresence-BWc2vFe-.js";
5
+ import { t as h } from "./outside-DopxX0PZ.js";
6
+ import { useDeepCompareMemoize as S } from "./hooks-use-deep-compare-memoize.es.js";
7
+ import { n as N, t as M } from "./dist-ck-7oUux.js";
8
+ import { t as U } from "./v4-CYaPyb-W.js";
9
+ import { jsx as x, jsxs as b } from "react/jsx-runtime";
10
+ import { memo as H, useCallback as p, useEffect as f, useMemo as v, useRef as P, useState as I } from "react";
11
+ var k = "fillDarkStable", A = O.context.dialog, G = () => A.layout, V = (e) => ({
12
+ backgroundColor: R.palette.fillSecondaryLightStable,
13
+ zIndex: e.zIndex
14
+ }), z = (e) => ({
15
+ maxWidth: e.propsDialog?.maxWidth || "max-content",
16
+ maxHeight: e.propsDialog?.maxHeight || "max-content",
17
+ borderRadius: e.propsDialog?.borderRadius || "12px",
18
+ background: e.propsDialog?.background ? R.palette[e.propsDialog.background] : R.palette[k],
19
+ padding: e.propsDialog?.padding || "20px"
20
+ }), L = M(null), ee = (e) => {
21
+ const [a, d] = I([]), u = G(), l = p((n) => {
22
+ d((r) => {
23
+ const s = r.find((o) => o.id === n);
24
+ if (s === void 0) return r;
25
+ const t = s.index;
26
+ return t === void 0 ? r : r.filter((o) => o.id !== n).map((o) => {
27
+ const g = o.index;
28
+ return g === void 0 ? o : {
29
+ ...o,
30
+ index: g > t ? g - 1 : o.index
31
+ };
32
+ });
33
+ });
34
+ }, []), D = p((n) => {
35
+ d((r) => r.map((s) => s.id === n.id ? {
36
+ ...s,
37
+ ...n
38
+ } : s));
39
+ }, []), c = p((n) => {
40
+ const r = n.id;
41
+ d((s) => {
42
+ const t = s.findIndex((g) => g.id === r);
43
+ let o;
44
+ if (t !== -1)
45
+ o = [...s], o[t] = {
46
+ ...n,
47
+ id: r,
48
+ index: s[t].index
49
+ };
50
+ else {
51
+ o = s.map((E) => {
52
+ const _ = E.index;
53
+ return _ === void 0 ? E : {
54
+ ...E,
55
+ index: _ + 1
56
+ };
57
+ });
58
+ const g = {
59
+ ...n,
60
+ id: r,
61
+ index: 0
62
+ };
63
+ o.unshift(g);
64
+ }
65
+ return o;
66
+ });
67
+ }, []), i = v(() => a.length, [a.length]), m = v(() => e.zIndex, [e.zIndex]);
68
+ return f(() => () => {
69
+ d([]);
70
+ }, []), /* @__PURE__ */ b(L.Provider, {
71
+ value: {
72
+ add: c,
73
+ remove: l,
74
+ update: D,
75
+ dialogHistory: a
76
+ },
77
+ children: [/* @__PURE__ */ x(T, { children: i && /* @__PURE__ */ x(y.div, {
78
+ className: u,
79
+ style: V({ zIndex: m }),
80
+ initial: { opacity: 0 },
81
+ exit: { opacity: 0 },
82
+ animate: { opacity: 1 },
83
+ transition: {
84
+ type: "spring",
85
+ duration: 0.4
86
+ },
87
+ children: [...a].reverse().map((n) => /* @__PURE__ */ x(w, {
88
+ index: n.index,
89
+ props: n.props,
90
+ id: n.id,
91
+ onRemove: n.onRemove
92
+ }, n.id))
93
+ }) }), e.children]
94
+ });
95
+ }, F = (e) => {
96
+ const [a, d] = I(!0), u = v(() => ({ ...z({ propsDialog: e.props?.propsDialog }) }), [e.props?.propsDialog]), l = v(() => ({
97
+ position: "absolute",
98
+ inset: 0,
99
+ display: "flex",
100
+ alignItems: "center",
101
+ justifyContent: "center",
102
+ pointerEvents: e.index === 0 ? "auto" : "none"
103
+ }), [e.index]), D = v(() => e.props?.propsDialog?.isRemoveOnOutsideClick ?? !0, [e.props?.propsDialog?.isRemoveOnOutsideClick]), c = p(() => {
104
+ e.props?.onRemove?.(), e.onRemove?.();
105
+ }, [e.onRemove, e.props?.onRemove]), i = e.props?.content, m = v(() => e.id === void 0 || i === void 0 ? null : /* @__PURE__ */ x(i, {
106
+ remove: c,
107
+ isAnimating: a,
108
+ propsCustom: e.props?.propsCustom,
109
+ id: e.id
110
+ }), [
111
+ i,
112
+ a,
113
+ e.props?.propsCustom,
114
+ c,
115
+ e.id
116
+ ]);
117
+ return e.index !== void 0 && /* @__PURE__ */ x("div", {
118
+ style: l,
119
+ children: /* @__PURE__ */ x(h, {
120
+ onOutsideClick: () => e.index === 0 && D && c?.(),
121
+ children: /* @__PURE__ */ x(y.dialog, {
122
+ className: C([A.element]),
123
+ initial: {
124
+ opacity: 0,
125
+ scale: 0.8
126
+ },
127
+ animate: {
128
+ opacity: 1,
129
+ scale: 1
130
+ },
131
+ onAnimationComplete: () => d(!1),
132
+ transition: {
133
+ type: "spring",
134
+ duration: 0.3,
135
+ delay: 0.4
136
+ },
137
+ style: u,
138
+ children: m
139
+ }, e.id)
140
+ })
141
+ });
142
+ }, w = H(F), j = (e) => {
143
+ const a = N(L, (d) => d ? e.reduce((u, l) => (u[l] = d[l], u), {}) : null);
144
+ if (!a) throw new Error("useDialogs must be used within an DialogContext");
145
+ return a;
146
+ }, te = (e) => {
147
+ const { add: a, remove: d, update: u, dialogHistory: l } = j([
148
+ "add",
149
+ "remove",
150
+ "update",
151
+ "dialogHistory"
152
+ ]), [D, c] = I(null), i = P(null), m = S(e), n = v(() => D !== null && l.some((t) => t.id === D), [l, D]), r = p(() => {
153
+ const t = i.current;
154
+ t && (c(null), i.current = null, d(t));
155
+ }, [d]), s = p(() => {
156
+ if (i.current) return;
157
+ const t = U();
158
+ c(t), i.current = t, a({
159
+ id: t,
160
+ props: m,
161
+ onRemove: () => {
162
+ r(), m?.onRemove?.();
163
+ }
164
+ });
165
+ }, [
166
+ a,
167
+ m,
168
+ r
169
+ ]);
170
+ return f(() => {
171
+ const t = i.current;
172
+ t && (l.some((o) => o.id === t) || (c(null), i.current = null));
173
+ }, [l]), f(() => {
174
+ i.current && u({
175
+ id: i.current,
176
+ props: m
177
+ });
178
+ }, [m, u]), {
179
+ add: s,
180
+ remove: r,
181
+ id: D,
182
+ isOpen: n
183
+ };
184
+ };
185
+ export {
186
+ j as n,
187
+ ee as r,
188
+ te as t
189
+ };
190
+
191
+ //# sourceMappingURL=context-dialog-DzwL2ElF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-dialog-DzwL2ElF.js","names":[],"sources":["../src/contexts/context-dialog/context.constants.ts","../src/contexts/context-dialog/context.styles.tsx","../src/contexts/context-dialog/context.tsx","../src/contexts/context-dialog/context.hooks.ts"],"sourcesContent":["import { IThemePalette } from '@local/styles/utils';\n\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3;\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4;\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT: string = 'max-content';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH: string = 'max-content';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS: string = '12px';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING: string = '20px';\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND: IThemePalette = 'fillDarkStable';\n","import { CSS_CLASS, CSS_VARS } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport {\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n} from './context.constants';\nimport { IDialogElementStyle, IDialogLayoutStyle } from './context.types';\n\nexport const DialogClass = CSS_CLASS.context.dialog;\n\nexport const getDialogLayoutClassName = () => DialogClass.layout;\n\nexport const getDialogLayoutStyle = (props: IDialogLayoutStyle): CSSProperties => ({\n backgroundColor: CSS_VARS.palette.fillSecondaryLightStable,\n zIndex: props.zIndex,\n});\n\nexport const getDialogElementStyle = (props: IDialogElementStyle): CSSProperties => ({\n maxWidth: props.propsDialog?.maxWidth || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n maxHeight: props.propsDialog?.maxHeight || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n borderRadius: props.propsDialog?.borderRadius || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n background: props.propsDialog?.background\n ? CSS_VARS.palette[props.propsDialog.background]\n : CSS_VARS.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND],\n padding: props.propsDialog?.padding || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n});\n","import { Outside } from '@local/areas/outside';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { CSSProperties, FC, memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport { DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT, DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT } from './context.constants';\nimport { DialogClass, getDialogElementStyle, getDialogLayoutClassName, getDialogLayoutStyle } from './context.styles';\nimport { IDialogContent, IDialogContext, IDialogElement, IDialogProvider } from './context.types';\n\nexport const DialogContext = createContext<IDialogContext | null>(null);\n\nexport const ProviderDialog: FC<IDialogProvider> = (props) => {\n const [dialogHistory, setDialogHistory] = useState<IDialogContent[]>([]);\n const classNameDialogLayout = getDialogLayoutClassName();\n\n const remove: IDialogContext['remove'] = useCallback((id) => {\n setDialogHistory((prev) => {\n const itemToRemove = prev.find((item) => item.id === id);\n\n if (itemToRemove === undefined) return prev;\n\n const indexToRemove = itemToRemove.index;\n\n if (indexToRemove === undefined) return prev;\n\n const updatedHistory = prev\n .filter((item) => item.id !== id)\n .map((item) => {\n const index = item.index;\n if (index === undefined) return item;\n\n return {\n ...item,\n index: index > indexToRemove ? index - 1 : item.index,\n };\n });\n\n return updatedHistory;\n });\n }, []);\n\n const update: IDialogContext['update'] = useCallback((dialog) => {\n setDialogHistory((prev) => {\n return prev.map((item) => {\n if (item.id === dialog.id) {\n return { ...item, ...dialog };\n }\n return item;\n });\n });\n }, []);\n\n const add: IDialogContext['add'] = useCallback((dialog) => {\n const id = dialog.id;\n\n setDialogHistory((prev) => {\n const existingIndex = prev.findIndex((item) => item.id === id);\n\n let updatedHistory: IDialogContent[];\n\n if (existingIndex !== -1) {\n updatedHistory = [...prev];\n updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index };\n } else {\n updatedHistory = prev.map((item) => {\n const index = item.index;\n if (index === undefined) return item;\n\n return {\n ...item,\n index: index + 1,\n };\n });\n const newContent = { ...dialog, id, index: 0 };\n updatedHistory.unshift(newContent);\n }\n\n return updatedHistory;\n });\n }, []);\n\n const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length]);\n const zIndex = useMemo(() => props.zIndex, [props.zIndex]);\n\n useEffect(() => {\n return () => {\n setDialogHistory([]);\n };\n }, []);\n return (\n <DialogContext.Provider value={{ add, remove, update, dialogHistory }}>\n <AnimatePresence>\n {dialogHistoryLength && (\n <motion.div\n className={classNameDialogLayout}\n style={getDialogLayoutStyle({ zIndex })}\n initial={{\n opacity: 0,\n }}\n exit={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT }}\n >\n {[...dialogHistory].reverse().map((dialog) => {\n return (\n <MemoizedDialogElement\n key={dialog.id}\n index={dialog.index}\n props={dialog.props}\n id={dialog.id}\n onRemove={dialog.onRemove}\n />\n );\n })}\n </motion.div>\n )}\n </AnimatePresence>\n\n {props.children}\n </DialogContext.Provider>\n );\n};\n\nconst DialogElement = (props: IDialogElement<Record<string, unknown>>) => {\n const [isAnimating, setIsAnimating] = useState(true);\n const styleDialogElement = useMemo(() => {\n return {\n ...getDialogElementStyle({\n propsDialog: props.props?.propsDialog,\n }),\n };\n }, [props.props?.propsDialog]);\n const styleDialogLayer = useMemo<CSSProperties>(() => {\n return {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: props.index === 0 ? 'auto' : 'none',\n };\n }, [props.index]);\n\n const isRemoveOnOutsideClick = useMemo(\n () => props.props?.propsDialog?.isRemoveOnOutsideClick ?? true,\n [props.props?.propsDialog?.isRemoveOnOutsideClick],\n );\n const onRemove = useCallback(() => {\n props.props?.onRemove?.();\n props.onRemove?.();\n }, [props.onRemove, props.props?.onRemove]);\n\n const Content = props.props?.content;\n const children = useMemo(() => {\n if (props.id === undefined || Content === undefined) return null;\n\n return <Content remove={onRemove} isAnimating={isAnimating} propsCustom={props.props?.propsCustom} id={props.id} />;\n }, [Content, isAnimating, props.props?.propsCustom, onRemove, props.id]);\n return (\n props.index !== undefined && (\n <div style={styleDialogLayer}>\n <Outside onOutsideClick={() => props.index === 0 && isRemoveOnOutsideClick && onRemove?.()}>\n <motion.dialog\n key={props.id}\n className={setClasses([DialogClass.element])}\n initial={{\n opacity: 0,\n scale: 0.8,\n }}\n animate={{\n opacity: 1,\n scale: 1,\n }}\n onAnimationComplete={() => setIsAnimating(false)}\n transition={{\n type: 'spring',\n duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT,\n }}\n style={styleDialogElement}\n >\n {children}\n </motion.dialog>\n </Outside>\n </div>\n )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useContextSelector } from 'use-context-selector';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { DialogContext } from './context';\nimport { IDialogContext, IDialogItem, IUseDialog, IUseDialogDependencies } from './context.types';\n\nexport const useDialogs = (props: IUseDialogDependencies): IDialogContext => {\n const context = useContextSelector(DialogContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useDialogs must be used within an DialogContext');\n }\n return context;\n};\n\nexport const useDialog = <T extends object = Record<string, unknown>>(props?: IUseDialog<T>): IDialogItem => {\n const { add, remove, update, dialogHistory } = useDialogs(['add', 'remove', 'update', 'dialogHistory']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n const isOpen = useMemo(() => {\n return id !== null && dialogHistory.some((dialog) => dialog.id === id);\n }, [dialogHistory, id]);\n\n const localRemove = useCallback(() => {\n const dialogId = refId.current;\n\n if (!dialogId) return;\n\n setId(null);\n refId.current = null;\n remove(dialogId);\n }, [remove]);\n\n const localAdd: IDialogItem['add'] = useCallback(() => {\n if (refId.current) return;\n const dialogId = uuidv4();\n setId(dialogId);\n refId.current = dialogId;\n add({\n id: dialogId,\n props: propsMemo as IUseDialog<Record<string, unknown>>,\n onRemove: () => {\n localRemove();\n propsMemo?.onRemove?.();\n },\n });\n }, [add, propsMemo, localRemove]);\n\n useEffect(() => {\n const dialogId = refId.current;\n\n if (!dialogId) return;\n\n if (!dialogHistory.some((dialog) => dialog.id === dialogId)) {\n setId(null);\n refId.current = null;\n }\n }, [dialogHistory]);\n\n useEffect(() => {\n if (refId.current) {\n update({ id: refId.current, props: propsMemo as IUseDialog<Record<string, unknown>> });\n }\n }, [propsMemo, update]);\n\n return { add: localAdd, remove: localRemove, id: id, isOpen: isOpen };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-dialog-B67-_jMH.cjs");exports.ProviderDialog=e.ProviderDialog;exports.useDialog=e.useDialog;exports.useDialogs=e.useDialogs;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-dialog-DctdSBC8.cjs");exports.ProviderDialog=e.ProviderDialog;exports.useDialog=e.useDialog;exports.useDialogs=e.useDialogs;
@@ -1,4 +1,4 @@
1
- import { n as a, r, t as s } from "./context-dialog-CxGGmBqC.js";
1
+ import { n as a, r, t as s } from "./context-dialog-DzwL2ElF.js";
2
2
  export {
3
3
  r as ProviderDialog,
4
4
  s as useDialog,
@@ -1,4 +1,4 @@
1
- import { t as f } from "./context-permission-Co4BKDOu.js";
1
+ import { t as f } from "./context-permission-Cj70kL4A.js";
2
2
  import { jsx as v } from "react/jsx-runtime";
3
3
  import { createContext as E, useContext as P, useEffect as r, useState as i } from "react";
4
4
  var s = E(null), G = (o) => {
@@ -39,4 +39,4 @@ export {
39
39
  C as t
40
40
  };
41
41
 
42
- //# sourceMappingURL=context-geolocation-C7PYGQ2g.js.map
42
+ //# sourceMappingURL=context-geolocation-B_KYGlfQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-geolocation-C7PYGQ2g.js","names":[],"sources":["../src/contexts/context-geolocation/context.tsx","../src/contexts/context-geolocation/context.hooks.ts"],"sourcesContent":["import { usePermission } from '@local/contexts/context-permission';\n\nimport { createContext, FC, useEffect, useState } from 'react';\n\nimport { IGeolocationContext, IGeolocationProvider } from './context.types';\n\nexport const GeolocationContext = createContext<IGeolocationContext | null>(null);\n\nexport const ProviderGeolocation: FC<IGeolocationProvider> = (props) => {\n const { geolocationPermission, requestGeolocationPermission } = usePermission();\n\n const [location, setLocation] = useState<GeolocationPosition | null>(null);\n const [error, setError] = useState<GeolocationPositionError | null>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setError(error);\n };\n\n if (geolocationPermission === 'granted') {\n navigator.geolocation.getCurrentPosition(handleSuccess, handleError);\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n\n useEffect(() => {\n if (props.isAskEntrance) {\n if (geolocationPermission !== 'granted') {\n requestGeolocationPermission();\n }\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n return (\n <GeolocationContext.Provider\n value={{\n requestGeolocationPermission,\n geolocationPermission,\n location,\n error,\n }}\n >\n {props.children}\n </GeolocationContext.Provider>\n );\n};\n","import { useContext } from 'react';\n\nimport { GeolocationContext } from './context';\nimport { IGeolocationContext } from './context.types';\n\nexport const useGeolocation = (): IGeolocationContext => {\n const context = useContext(GeolocationContext);\n if (!context) {\n throw new Error('useGeolocation must be used within an ProviderGeolocation');\n }\n return context;\n};\n"],"mappings":";;;AAMA,IAAa,IAAqB,EAA0C,IAAA,GAE/D,IAAA,CAAiD,MAAU;AACtE,QAAM,EAAE,uBAAA,GAAuB,8BAAA,EAAA,IAAiC,EAAA,GAE1D,CAAC,GAAU,CAAA,IAAe,EAAqC,IAAA,GAC/D,CAAC,GAAO,CAAA,IAAY,EAA0C,IAAA;AAGpE,SAAA,EAAA,MAAgB;AACd,UAAM,IAAA,CAAiB,MAAkC;AACvD,MAAA,EAAY,CAAA;AAAA,OAGR,IAAA,CAAe,MAAoC;AACvD,MAAA,EAAS,CAAA;AAAA;AAGX,IAAI,MAA0B,aAC5B,UAAU,YAAY,mBAAmB,GAAe,CAAA;AAAA,KAEzD;AAAA,IAAC;AAAA,IAAuB,EAAM;AAAA,IAAe;AAAA,GAA6B,GAE7E,EAAA,MAAgB;AACd,IAAI,EAAM,iBACJ,MAA0B,aAC5B,EAAA;AAAA,KAGH;AAAA,IAAC;AAAA,IAAuB,EAAM;AAAA,IAAe;AAAA,GAA6B,GAE3E,gBAAA,EAAC,EAAmB,UAApB;AAAA,IACE,OAAO;AAAA,MACL,8BAAA;AAAA,MACA,uBAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA;cAGD,EAAM;AAAA,GACqB;GCzCrB,IAAA,MAA4C;AACvD,QAAM,IAAU,EAAW,CAAA;AAC3B,MAAI,CAAC,EACH,OAAM,IAAI,MAAM,2DAAA;AAElB,SAAO"}
1
+ {"version":3,"file":"context-geolocation-B_KYGlfQ.js","names":[],"sources":["../src/contexts/context-geolocation/context.tsx","../src/contexts/context-geolocation/context.hooks.ts"],"sourcesContent":["import { usePermission } from '@local/contexts/context-permission';\n\nimport { createContext, FC, useEffect, useState } from 'react';\n\nimport { IGeolocationContext, IGeolocationProvider } from './context.types';\n\nexport const GeolocationContext = createContext<IGeolocationContext | null>(null);\n\nexport const ProviderGeolocation: FC<IGeolocationProvider> = (props) => {\n const { geolocationPermission, requestGeolocationPermission } = usePermission();\n\n const [location, setLocation] = useState<GeolocationPosition | null>(null);\n const [error, setError] = useState<GeolocationPositionError | null>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setError(error);\n };\n\n if (geolocationPermission === 'granted') {\n navigator.geolocation.getCurrentPosition(handleSuccess, handleError);\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n\n useEffect(() => {\n if (props.isAskEntrance) {\n if (geolocationPermission !== 'granted') {\n requestGeolocationPermission();\n }\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n return (\n <GeolocationContext.Provider\n value={{\n requestGeolocationPermission,\n geolocationPermission,\n location,\n error,\n }}\n >\n {props.children}\n </GeolocationContext.Provider>\n );\n};\n","import { useContext } from 'react';\n\nimport { GeolocationContext } from './context';\nimport { IGeolocationContext } from './context.types';\n\nexport const useGeolocation = (): IGeolocationContext => {\n const context = useContext(GeolocationContext);\n if (!context) {\n throw new Error('useGeolocation must be used within an ProviderGeolocation');\n }\n return context;\n};\n"],"mappings":";;;AAMA,IAAa,IAAqB,EAA0C,IAAA,GAE/D,IAAA,CAAiD,MAAU;AACtE,QAAM,EAAE,uBAAA,GAAuB,8BAAA,EAAA,IAAiC,EAAA,GAE1D,CAAC,GAAU,CAAA,IAAe,EAAqC,IAAA,GAC/D,CAAC,GAAO,CAAA,IAAY,EAA0C,IAAA;AAGpE,SAAA,EAAA,MAAgB;AACd,UAAM,IAAA,CAAiB,MAAkC;AACvD,MAAA,EAAY,CAAA;AAAA,OAGR,IAAA,CAAe,MAAoC;AACvD,MAAA,EAAS,CAAA;AAAA;AAGX,IAAI,MAA0B,aAC5B,UAAU,YAAY,mBAAmB,GAAe,CAAA;AAAA,KAEzD;AAAA,IAAC;AAAA,IAAuB,EAAM;AAAA,IAAe;AAAA,GAA6B,GAE7E,EAAA,MAAgB;AACd,IAAI,EAAM,iBACJ,MAA0B,aAC5B,EAAA;AAAA,KAGH;AAAA,IAAC;AAAA,IAAuB,EAAM;AAAA,IAAe;AAAA,GAA6B,GAE3E,gBAAA,EAAC,EAAmB,UAApB;AAAA,IACE,OAAO;AAAA,MACL,8BAAA;AAAA,MACA,uBAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA;cAGD,EAAM;AAAA,GACqB;GCzCrB,IAAA,MAA4C;AACvD,QAAM,IAAU,EAAW,CAAA;AAC3B,MAAI,CAAC,EACH,OAAM,IAAI,MAAM,2DAAA;AAElB,SAAO"}
@@ -1,3 +1,3 @@
1
- const m=require("./chunk-Dd8m0Ver.cjs"),f=require("./context-permission-DrcIwK9y.cjs");let P=require("react/jsx-runtime"),t=require("react");var i=(0,t.createContext)(null),v=e=>{const{geolocationPermission:r,requestGeolocationPermission:n}=f.usePermission(),[c,s]=(0,t.useState)(null),[u,a]=(0,t.useState)(null);return(0,t.useEffect)(()=>{const l=o=>{s(o)},d=o=>{a(o)};r==="granted"&&navigator.geolocation.getCurrentPosition(l,d)},[r,e.isAskEntrance,n]),(0,t.useEffect)(()=>{e.isAskEntrance&&r!=="granted"&&n()},[r,e.isAskEntrance,n]),(0,P.jsx)(i.Provider,{value:{requestGeolocationPermission:n,geolocationPermission:r,location:c,error:u},children:e.children})},g=()=>{const e=(0,t.useContext)(i);if(!e)throw new Error("useGeolocation must be used within an ProviderGeolocation");return e};Object.defineProperty(exports,"ProviderGeolocation",{enumerable:!0,get:function(){return v}});Object.defineProperty(exports,"useGeolocation",{enumerable:!0,get:function(){return g}});
1
+ const m=require("./chunk-Dd8m0Ver.cjs"),f=require("./context-permission-BP9hPUcR.cjs");let P=require("react/jsx-runtime"),t=require("react");var i=(0,t.createContext)(null),v=e=>{const{geolocationPermission:r,requestGeolocationPermission:n}=f.usePermission(),[c,s]=(0,t.useState)(null),[u,a]=(0,t.useState)(null);return(0,t.useEffect)(()=>{const l=o=>{s(o)},d=o=>{a(o)};r==="granted"&&navigator.geolocation.getCurrentPosition(l,d)},[r,e.isAskEntrance,n]),(0,t.useEffect)(()=>{e.isAskEntrance&&r!=="granted"&&n()},[r,e.isAskEntrance,n]),(0,P.jsx)(i.Provider,{value:{requestGeolocationPermission:n,geolocationPermission:r,location:c,error:u},children:e.children})},g=()=>{const e=(0,t.useContext)(i);if(!e)throw new Error("useGeolocation must be used within an ProviderGeolocation");return e};Object.defineProperty(exports,"ProviderGeolocation",{enumerable:!0,get:function(){return v}});Object.defineProperty(exports,"useGeolocation",{enumerable:!0,get:function(){return g}});
2
2
 
3
- //# sourceMappingURL=context-geolocation-CV4hV0NX.cjs.map
3
+ //# sourceMappingURL=context-geolocation-bP0_455H.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-geolocation-CV4hV0NX.cjs","names":[],"sources":["../src/contexts/context-geolocation/context.tsx","../src/contexts/context-geolocation/context.hooks.ts"],"sourcesContent":["import { usePermission } from '@local/contexts/context-permission';\n\nimport { createContext, FC, useEffect, useState } from 'react';\n\nimport { IGeolocationContext, IGeolocationProvider } from './context.types';\n\nexport const GeolocationContext = createContext<IGeolocationContext | null>(null);\n\nexport const ProviderGeolocation: FC<IGeolocationProvider> = (props) => {\n const { geolocationPermission, requestGeolocationPermission } = usePermission();\n\n const [location, setLocation] = useState<GeolocationPosition | null>(null);\n const [error, setError] = useState<GeolocationPositionError | null>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setError(error);\n };\n\n if (geolocationPermission === 'granted') {\n navigator.geolocation.getCurrentPosition(handleSuccess, handleError);\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n\n useEffect(() => {\n if (props.isAskEntrance) {\n if (geolocationPermission !== 'granted') {\n requestGeolocationPermission();\n }\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n return (\n <GeolocationContext.Provider\n value={{\n requestGeolocationPermission,\n geolocationPermission,\n location,\n error,\n }}\n >\n {props.children}\n </GeolocationContext.Provider>\n );\n};\n","import { useContext } from 'react';\n\nimport { GeolocationContext } from './context';\nimport { IGeolocationContext } from './context.types';\n\nexport const useGeolocation = (): IGeolocationContext => {\n const context = useContext(GeolocationContext);\n if (!context) {\n throw new Error('useGeolocation must be used within an ProviderGeolocation');\n }\n return context;\n};\n"],"mappings":"6IAMA,IAAa,KAAA,EAAA,eAA+D,IAAA,EAE/D,EAAiD,GAAU,CACtE,KAAM,CAAE,sBAAA,EAAuB,6BAAA,CAAA,EAAiC,EAAA,cAAA,EAE1D,CAAC,EAAU,CAAA,KAAA,EAAA,UAAoD,IAAA,EAC/D,CAAC,EAAO,CAAA,KAAA,EAAA,UAAsD,IAAA,EAGpE,SAAA,EAAA,WAAA,IAAgB,CACd,MAAM,EAAiB,GAAkC,CACvD,EAAY,CAAA,GAGR,EAAe,GAAoC,CACvD,EAAS,CAAA,GAGP,IAA0B,WAC5B,UAAU,YAAY,mBAAmB,EAAe,CAAA,GAEzD,CAAC,EAAuB,EAAM,cAAe,EAA6B,KAE7E,EAAA,WAAA,IAAgB,CACV,EAAM,eACJ,IAA0B,WAC5B,EAAA,GAGH,CAAC,EAAuB,EAAM,cAAe,EAA6B,KAE3E,EAAA,KAAC,EAAmB,SAApB,CACE,MAAO,CACL,6BAAA,EACA,sBAAA,EACA,SAAA,EACA,MAAA,YAGD,EAAM,SACqB,GCzCrB,EAAA,IAA4C,CACvD,MAAM,KAAA,EAAA,YAAqB,CAAA,EAC3B,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,2DAAA,EAElB,OAAO"}
1
+ {"version":3,"file":"context-geolocation-bP0_455H.cjs","names":[],"sources":["../src/contexts/context-geolocation/context.tsx","../src/contexts/context-geolocation/context.hooks.ts"],"sourcesContent":["import { usePermission } from '@local/contexts/context-permission';\n\nimport { createContext, FC, useEffect, useState } from 'react';\n\nimport { IGeolocationContext, IGeolocationProvider } from './context.types';\n\nexport const GeolocationContext = createContext<IGeolocationContext | null>(null);\n\nexport const ProviderGeolocation: FC<IGeolocationProvider> = (props) => {\n const { geolocationPermission, requestGeolocationPermission } = usePermission();\n\n const [location, setLocation] = useState<GeolocationPosition | null>(null);\n const [error, setError] = useState<GeolocationPositionError | null>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setError(error);\n };\n\n if (geolocationPermission === 'granted') {\n navigator.geolocation.getCurrentPosition(handleSuccess, handleError);\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n\n useEffect(() => {\n if (props.isAskEntrance) {\n if (geolocationPermission !== 'granted') {\n requestGeolocationPermission();\n }\n }\n }, [geolocationPermission, props.isAskEntrance, requestGeolocationPermission]);\n return (\n <GeolocationContext.Provider\n value={{\n requestGeolocationPermission,\n geolocationPermission,\n location,\n error,\n }}\n >\n {props.children}\n </GeolocationContext.Provider>\n );\n};\n","import { useContext } from 'react';\n\nimport { GeolocationContext } from './context';\nimport { IGeolocationContext } from './context.types';\n\nexport const useGeolocation = (): IGeolocationContext => {\n const context = useContext(GeolocationContext);\n if (!context) {\n throw new Error('useGeolocation must be used within an ProviderGeolocation');\n }\n return context;\n};\n"],"mappings":"6IAMA,IAAa,KAAA,EAAA,eAA+D,IAAA,EAE/D,EAAiD,GAAU,CACtE,KAAM,CAAE,sBAAA,EAAuB,6BAAA,CAAA,EAAiC,EAAA,cAAA,EAE1D,CAAC,EAAU,CAAA,KAAA,EAAA,UAAoD,IAAA,EAC/D,CAAC,EAAO,CAAA,KAAA,EAAA,UAAsD,IAAA,EAGpE,SAAA,EAAA,WAAA,IAAgB,CACd,MAAM,EAAiB,GAAkC,CACvD,EAAY,CAAA,GAGR,EAAe,GAAoC,CACvD,EAAS,CAAA,GAGP,IAA0B,WAC5B,UAAU,YAAY,mBAAmB,EAAe,CAAA,GAEzD,CAAC,EAAuB,EAAM,cAAe,EAA6B,KAE7E,EAAA,WAAA,IAAgB,CACV,EAAM,eACJ,IAA0B,WAC5B,EAAA,GAGH,CAAC,EAAuB,EAAM,cAAe,EAA6B,KAE3E,EAAA,KAAC,EAAmB,SAApB,CACE,MAAO,CACL,6BAAA,EACA,sBAAA,EACA,SAAA,EACA,MAAA,YAGD,EAAM,SACqB,GCzCrB,EAAA,IAA4C,CACvD,MAAM,KAAA,EAAA,YAAqB,CAAA,EAC3B,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,2DAAA,EAElB,OAAO"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-geolocation-CV4hV0NX.cjs");exports.ProviderGeolocation=e.ProviderGeolocation;exports.useGeolocation=e.useGeolocation;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-geolocation-bP0_455H.cjs");exports.ProviderGeolocation=e.ProviderGeolocation;exports.useGeolocation=e.useGeolocation;
@@ -1,4 +1,4 @@
1
- import { n as e, t as r } from "./context-geolocation-C7PYGQ2g.js";
1
+ import { n as e, t as r } from "./context-geolocation-B_KYGlfQ.js";
2
2
  export {
3
3
  e as ProviderGeolocation,
4
4
  r as useGeolocation