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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/build/{AnimatePresence-19yP-TCg.js → AnimatePresence-BWc2vFe-.js} +2 -2
  2. package/build/{AnimatePresence-19yP-TCg.js.map → AnimatePresence-BWc2vFe-.js.map} +1 -1
  3. package/build/{AnimatePresence-BdBJCJuf.cjs → AnimatePresence-DeKd4Eek.cjs} +2 -2
  4. package/build/{AnimatePresence-BdBJCJuf.cjs.map → AnimatePresence-DeKd4Eek.cjs.map} +1 -1
  5. package/build/area-outside.cjs.js +1 -1
  6. package/build/area-outside.es.js +1 -1
  7. package/build/area-preview.cjs.js +1 -1
  8. package/build/area-preview.es.js +1 -1
  9. package/build/area-skeleton.cjs.js +1 -1
  10. package/build/area-skeleton.es.js +1 -1
  11. package/build/build-info.txt +3 -3
  12. package/build/{button-BbGiFvok.js → button-C1w25-Hk.js} +4 -4
  13. package/build/{button-BbGiFvok.js.map → button-C1w25-Hk.js.map} +1 -1
  14. package/build/{button-BuPpgfL_.cjs → button-CHEeSypf.cjs} +2 -2
  15. package/build/{button-BuPpgfL_.cjs.map → button-CHEeSypf.cjs.map} +1 -1
  16. package/build/{checkbox-qgc_Ntc3.cjs → checkbox-Bxt8K0ZY.cjs} +2 -2
  17. package/build/{checkbox-qgc_Ntc3.cjs.map → checkbox-Bxt8K0ZY.cjs.map} +1 -1
  18. package/build/{checkbox-CXxWDklX.js → checkbox-DPkXe4_5.js} +5 -5
  19. package/build/{checkbox-CXxWDklX.js.map → checkbox-DPkXe4_5.js.map} +1 -1
  20. package/build/{component-jsn2T8Hu.cjs → component-CbJ_P8yq.cjs} +2 -2
  21. package/build/{component-jsn2T8Hu.cjs.map → component-CbJ_P8yq.cjs.map} +1 -1
  22. package/build/{component-BHyXT2-h.js → component-DGfyD5-u.js} +4 -4
  23. package/build/{component-BHyXT2-h.js.map → component-DGfyD5-u.js.map} +1 -1
  24. package/build/component-button.cjs.js +1 -1
  25. package/build/component-button.es.js +1 -1
  26. package/build/component-checkbox.cjs.js +1 -1
  27. package/build/component-checkbox.es.js +1 -1
  28. package/build/component-date-picker.cjs.js +1 -1
  29. package/build/component-date-picker.es.js +1 -1
  30. package/build/component-icon.cjs.js +1 -1
  31. package/build/component-icon.es.js +1 -1
  32. package/build/component-input-otp.cjs.js +1 -1
  33. package/build/component-input-otp.es.js +1 -1
  34. package/build/component-input.cjs.js +1 -1
  35. package/build/component-input.es.js +1 -1
  36. package/build/component-pagination.cjs.js +1 -1
  37. package/build/component-pagination.es.js +1 -1
  38. package/build/component-popover.cjs.js +1 -1
  39. package/build/component-popover.es.js +1 -1
  40. package/build/component-select.cjs.js +1 -1
  41. package/build/component-select.es.js +5 -6
  42. package/build/component-separator.cjs.js +1 -1
  43. package/build/component-separator.es.js +1 -1
  44. package/build/component-stack.cjs.js +1 -1
  45. package/build/component-stack.es.js +1 -1
  46. package/build/component-textarea.cjs.js +1 -1
  47. package/build/component-textarea.es.js +1 -1
  48. package/build/component-toggle.cjs.js +1 -1
  49. package/build/component-toggle.es.js +1 -1
  50. package/build/component-tooltip.cjs.js +1 -1
  51. package/build/component-tooltip.es.js +1 -1
  52. package/build/component-typography.cjs.js +1 -1
  53. package/build/component-typography.es.js +1 -1
  54. package/build/components/select/component.examples.d.ts +1 -2
  55. package/build/components/select/component.types.d.ts +1 -5
  56. package/build/components/select/index.d.ts +2 -2
  57. package/build/components-error.cjs.js +1 -1
  58. package/build/components-error.es.js +1 -1
  59. package/build/{context-app-CMK9g6MI.js → context-app-C9XoarPw.js} +6 -6
  60. package/build/{context-app-CMK9g6MI.js.map → context-app-C9XoarPw.js.map} +1 -1
  61. package/build/{context-app-HhFcx1wY.cjs → context-app-Dsa1tKlU.cjs} +2 -2
  62. package/build/{context-app-HhFcx1wY.cjs.map → context-app-Dsa1tKlU.cjs.map} +1 -1
  63. package/build/context-app.cjs.js +1 -1
  64. package/build/context-app.es.js +1 -1
  65. package/build/{context-browser-theme-Cb6siWO0.js → context-browser-theme-CRBCZ_y_.js} +2 -2
  66. package/build/{context-browser-theme-Cb6siWO0.js.map → context-browser-theme-CRBCZ_y_.js.map} +1 -1
  67. package/build/{context-browser-theme-Cso_rAT5.cjs → context-browser-theme-xixEbalV.cjs} +2 -2
  68. package/build/{context-browser-theme-Cso_rAT5.cjs.map → context-browser-theme-xixEbalV.cjs.map} +1 -1
  69. package/build/context-browser-theme.cjs.js +1 -1
  70. package/build/context-browser-theme.es.js +1 -1
  71. package/build/{context-cookie-Btkd2aXy.cjs → context-cookie-DFgWWGA9.cjs} +2 -2
  72. package/build/{context-cookie-Btkd2aXy.cjs.map → context-cookie-DFgWWGA9.cjs.map} +1 -1
  73. package/build/{context-cookie-5CBhf-gb.js → context-cookie-Daq2MZo3.js} +2 -2
  74. package/build/{context-cookie-5CBhf-gb.js.map → context-cookie-Daq2MZo3.js.map} +1 -1
  75. package/build/context-cookie.cjs.js +1 -1
  76. package/build/context-cookie.es.js +1 -1
  77. package/build/{context-dialog-B67-_jMH.cjs → context-dialog-B3khh4eN.cjs} +2 -2
  78. package/build/{context-dialog-B67-_jMH.cjs.map → context-dialog-B3khh4eN.cjs.map} +1 -1
  79. package/build/{context-dialog-CxGGmBqC.js → context-dialog-CeqpejDW.js} +13 -13
  80. package/build/{context-dialog-CxGGmBqC.js.map → context-dialog-CeqpejDW.js.map} +1 -1
  81. package/build/context-dialog.cjs.js +1 -1
  82. package/build/context-dialog.es.js +1 -1
  83. package/build/{context-geolocation-C7PYGQ2g.js → context-geolocation-B_KYGlfQ.js} +2 -2
  84. package/build/{context-geolocation-C7PYGQ2g.js.map → context-geolocation-B_KYGlfQ.js.map} +1 -1
  85. package/build/{context-geolocation-CV4hV0NX.cjs → context-geolocation-bP0_455H.cjs} +2 -2
  86. package/build/{context-geolocation-CV4hV0NX.cjs.map → context-geolocation-bP0_455H.cjs.map} +1 -1
  87. package/build/context-geolocation.cjs.js +1 -1
  88. package/build/context-geolocation.es.js +1 -1
  89. package/build/{context-local-storage-Bb_vktd8.js → context-local-storage-DA_whw_k.js} +2 -2
  90. package/build/{context-local-storage-Bb_vktd8.js.map → context-local-storage-DA_whw_k.js.map} +1 -1
  91. package/build/{context-local-storage-DUKHVPAA.cjs → context-local-storage-D_x8dwxM.cjs} +2 -2
  92. package/build/{context-local-storage-DUKHVPAA.cjs.map → context-local-storage-D_x8dwxM.cjs.map} +1 -1
  93. package/build/context-local-storage.cjs.js +1 -1
  94. package/build/context-local-storage.es.js +1 -1
  95. package/build/{context-permission-DrcIwK9y.cjs → context-permission-BP9hPUcR.cjs} +2 -2
  96. package/build/{context-permission-DrcIwK9y.cjs.map → context-permission-BP9hPUcR.cjs.map} +1 -1
  97. package/build/{context-permission-Co4BKDOu.js → context-permission-Cj70kL4A.js} +2 -2
  98. package/build/{context-permission-Co4BKDOu.js.map → context-permission-Cj70kL4A.js.map} +1 -1
  99. package/build/context-permission.cjs.js +1 -1
  100. package/build/context-permission.es.js +1 -1
  101. package/build/{context-screen-width-hcRkxzy7.cjs → context-screen-width-Cfe3atNC.cjs} +2 -2
  102. package/build/{context-screen-width-hcRkxzy7.cjs.map → context-screen-width-Cfe3atNC.cjs.map} +1 -1
  103. package/build/{context-screen-width-CFexCIzV.js → context-screen-width-Cq_B7IVp.js} +3 -3
  104. package/build/{context-screen-width-CFexCIzV.js.map → context-screen-width-Cq_B7IVp.js.map} +1 -1
  105. package/build/context-screen-width.cjs.js +1 -1
  106. package/build/context-screen-width.es.js +1 -1
  107. package/build/{context-sonner-4gBa1F7G.cjs → context-sonner-Dqw0jhwT.cjs} +2 -2
  108. package/build/{context-sonner-4gBa1F7G.cjs.map → context-sonner-Dqw0jhwT.cjs.map} +1 -1
  109. package/build/{context-sonner-qDPLFpD5.js → context-sonner-MO6uE8y0.js} +12 -12
  110. package/build/{context-sonner-qDPLFpD5.js.map → context-sonner-MO6uE8y0.js.map} +1 -1
  111. package/build/context-sonner.cjs.js +1 -1
  112. package/build/context-sonner.es.js +1 -1
  113. package/build/contexts/context-app/context.d.ts +2 -2
  114. package/build/cores/consts.d.ts +0 -24
  115. package/build/cores/types.d.ts +0 -14
  116. package/build/date-picker-ATktGA1c.cjs +3 -0
  117. package/build/date-picker-ATktGA1c.cjs.map +1 -0
  118. package/build/date-picker-D81n3KbO.js +813 -0
  119. package/build/date-picker-D81n3KbO.js.map +1 -0
  120. package/build/{dist-DswBAjW1.cjs → dist-SXTf0-_7.cjs} +1 -1
  121. package/build/{dist-DswBAjW1.cjs.map → dist-SXTf0-_7.cjs.map} +1 -1
  122. package/build/{dist-BV0C3tLK.js → dist-ck-7oUux.js} +1 -1
  123. package/build/{dist-BV0C3tLK.js.map → dist-ck-7oUux.js.map} +1 -1
  124. package/build/{error-L2fvWcNv.js → error-BFb2NCum.js} +7 -7
  125. package/build/{error-L2fvWcNv.js.map → error-BFb2NCum.js.map} +1 -1
  126. package/build/{error-DzkkNL2H.cjs → error-BdFba_yV.cjs} +2 -2
  127. package/build/{error-DzkkNL2H.cjs.map → error-BdFba_yV.cjs.map} +1 -1
  128. package/build/{functions-Dwo54amB.cjs → functions-CZrZU5U0.cjs} +1 -1
  129. package/build/{functions-Dwo54amB.cjs.map → functions-CZrZU5U0.cjs.map} +1 -1
  130. package/build/{functions-CLGf7hqw.js → functions-DzX-pTN8.js} +1 -1
  131. package/build/{functions-CLGf7hqw.js.map → functions-DzX-pTN8.js.map} +1 -1
  132. package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
  133. package/build/hooks-use-deep-compare-memoize.es.js +1 -1
  134. package/build/hooks-use-deep-memo.cjs.js +1 -1
  135. package/build/hooks-use-deep-memo.es.js +1 -1
  136. package/build/hooks-use-responsive-layout.cjs.js +1 -1
  137. package/build/hooks-use-responsive-layout.es.js +1 -1
  138. package/build/hooks-use-typography-styles.cjs.js +1 -1
  139. package/build/hooks-use-typography-styles.es.js +2 -2
  140. package/build/icon-D2w7GViT.js +245 -0
  141. package/build/icon-D2w7GViT.js.map +1 -0
  142. package/build/icon-Ddkbk3-m.cjs +3 -0
  143. package/build/icon-Ddkbk3-m.cjs.map +1 -0
  144. package/build/index.cjs.js +1 -1
  145. package/build/index.d.ts +5 -5
  146. package/build/index.es.js +97 -98
  147. package/build/{input-CV02F03L.js → input-B9ceeR9v.js} +4 -4
  148. package/build/{input-CV02F03L.js.map → input-B9ceeR9v.js.map} +1 -1
  149. package/build/{input-zXF5f99Z.cjs → input-CmdwwrV2.cjs} +2 -2
  150. package/build/{input-zXF5f99Z.cjs.map → input-CmdwwrV2.cjs.map} +1 -1
  151. package/build/{input-otp-BVRCfoRK.cjs → input-otp-CJfZoWd7.cjs} +2 -2
  152. package/build/{input-otp-BVRCfoRK.cjs.map → input-otp-CJfZoWd7.cjs.map} +1 -1
  153. package/build/{input-otp-B9cYxJ7X.js → input-otp-CeMGm5Xq.js} +4 -4
  154. package/build/{input-otp-B9cYxJ7X.js.map → input-otp-CeMGm5Xq.js.map} +1 -1
  155. package/build/{isEqual-Qb81B2zH.js → isEqual-0jZ23Bb6.js} +1 -1
  156. package/build/{isEqual-Qb81B2zH.js.map → isEqual-0jZ23Bb6.js.map} +1 -1
  157. package/build/{isEqual-DeC2HFe5.cjs → isEqual-BA0P9-C8.cjs} +1 -1
  158. package/build/{isEqual-DeC2HFe5.cjs.map → isEqual-BA0P9-C8.cjs.map} +1 -1
  159. package/build/{logger-DZFY33QY.cjs → logger-D3Xu5ef3.cjs} +1 -1
  160. package/build/{logger-DZFY33QY.cjs.map → logger-D3Xu5ef3.cjs.map} +1 -1
  161. package/build/{logger-BRWLzI5S.js → logger-QC3A33gh.js} +1 -1
  162. package/build/{logger-BRWLzI5S.js.map → logger-QC3A33gh.js.map} +1 -1
  163. package/build/{motion-CAPq8wSn.cjs → motion-BWBldnsY.cjs} +2 -2
  164. package/build/{motion-CAPq8wSn.cjs.map → motion-BWBldnsY.cjs.map} +1 -1
  165. package/build/{motion-Dt6TyEjN.js → motion-C1XU2d68.js} +3 -3
  166. package/build/{motion-Dt6TyEjN.js.map → motion-C1XU2d68.js.map} +1 -1
  167. package/build/{outside-B3nRnDGb.cjs → outside-CXyCk8h1.cjs} +2 -2
  168. package/build/{outside-B3nRnDGb.cjs.map → outside-CXyCk8h1.cjs.map} +1 -1
  169. package/build/{outside-DpK1pI8b.js → outside-DopxX0PZ.js} +2 -2
  170. package/build/{outside-DpK1pI8b.js.map → outside-DopxX0PZ.js.map} +1 -1
  171. package/build/{pagination-YXSjZsMZ.js → pagination-BluJtJl7.js} +5 -5
  172. package/build/{pagination-YXSjZsMZ.js.map → pagination-BluJtJl7.js.map} +1 -1
  173. package/build/pagination-VMAFNidU.cjs +3 -0
  174. package/build/{pagination-Dbs4Lrpt.cjs.map → pagination-VMAFNidU.cjs.map} +1 -1
  175. package/build/{popover-1k1MNFwv.js → popover-DHWcQVp1.js} +3 -3
  176. package/build/{popover-1k1MNFwv.js.map → popover-DHWcQVp1.js.map} +1 -1
  177. package/build/{popover-CgwGn-55.cjs → popover-DQkn4RWI.cjs} +2 -2
  178. package/build/{popover-CgwGn-55.cjs.map → popover-DQkn4RWI.cjs.map} +1 -1
  179. package/build/preview-BLu-NOv2.cjs +3 -0
  180. package/build/{preview-dT7fmxcc.cjs.map → preview-BLu-NOv2.cjs.map} +1 -1
  181. package/build/{preview-C_yFxoFH.js → preview-Bc2qdyd4.js} +5 -5
  182. package/build/{preview-C_yFxoFH.js.map → preview-Bc2qdyd4.js.map} +1 -1
  183. package/build/{proxy-_gZenxVU.cjs → proxy-BDese6Pb.cjs} +1 -1
  184. package/build/{proxy-_gZenxVU.cjs.map → proxy-BDese6Pb.cjs.map} +1 -1
  185. package/build/{proxy-wCWa57J3.js → proxy-BFHkqO7P.js} +1 -1
  186. package/build/{proxy-wCWa57J3.js.map → proxy-BFHkqO7P.js.map} +1 -1
  187. package/build/{select-D7EyxR2l.js → select-CCbtkj6f.js} +862 -876
  188. package/build/{select-D7EyxR2l.js.map → select-CCbtkj6f.js.map} +1 -1
  189. package/build/{select-B0adRX2_.cjs → select-CGXyVf57.cjs} +5 -5
  190. package/build/{select-B0adRX2_.cjs.map → select-CGXyVf57.cjs.map} +1 -1
  191. package/build/{separator-CbeH8Lug.cjs → separator-BGVU_LQb.cjs} +2 -2
  192. package/build/{separator-CbeH8Lug.cjs.map → separator-BGVU_LQb.cjs.map} +1 -1
  193. package/build/{separator-hWp-s54-.js → separator-DJEhOPUT.js} +3 -3
  194. package/build/{separator-hWp-s54-.js.map → separator-DJEhOPUT.js.map} +1 -1
  195. package/build/{skeleton-DNwTI6w0.js → skeleton-Bh6zA5iB.js} +4 -4
  196. package/build/{skeleton-DNwTI6w0.js.map → skeleton-Bh6zA5iB.js.map} +1 -1
  197. package/build/{skeleton-BoVFwt7y.cjs → skeleton-DmaXsm9C.cjs} +2 -2
  198. package/build/{skeleton-BoVFwt7y.cjs.map → skeleton-DmaXsm9C.cjs.map} +1 -1
  199. package/build/style-motion.cjs.js +1 -1
  200. package/build/style-motion.es.js +1 -1
  201. package/build/style-utils.cjs.js +1 -1
  202. package/build/style-utils.es.js +1 -1
  203. package/build/styles/utils/types.d.ts +1 -1
  204. package/build/{textarea-CbZSeqGR.cjs → textarea-DInJb6Lz.cjs} +2 -2
  205. package/build/{textarea-CbZSeqGR.cjs.map → textarea-DInJb6Lz.cjs.map} +1 -1
  206. package/build/{textarea-ChkjV_Ha.js → textarea-jIGZ0JdP.js} +4 -4
  207. package/build/{textarea-ChkjV_Ha.js.map → textarea-jIGZ0JdP.js.map} +1 -1
  208. package/build/{toggle-gYw5FUp-.cjs → toggle-BEmUm0of.cjs} +2 -2
  209. package/build/{toggle-gYw5FUp-.cjs.map → toggle-BEmUm0of.cjs.map} +1 -1
  210. package/build/{toggle-I6YvEX4w.js → toggle-D1nXs-LD.js} +4 -4
  211. package/build/{toggle-I6YvEX4w.js.map → toggle-D1nXs-LD.js.map} +1 -1
  212. package/build/{typography-B2KioMfq.js → typography-07KEDl9_.js} +4 -4
  213. package/build/{typography-B2KioMfq.js.map → typography-07KEDl9_.js.map} +1 -1
  214. package/build/{typography-DcxhX_9e.cjs → typography-BKp4OAQI.cjs} +2 -2
  215. package/build/{typography-DcxhX_9e.cjs.map → typography-BKp4OAQI.cjs.map} +1 -1
  216. package/build/{utils-Cona48dZ.js → utils-BRgi6734.js} +1 -1
  217. package/build/{utils-Cona48dZ.js.map → utils-BRgi6734.js.map} +1 -1
  218. package/build/{utils-DtinAjAU.cjs → utils-DCIq-5FL.cjs} +1 -1
  219. package/build/{utils-DtinAjAU.cjs.map → utils-DCIq-5FL.cjs.map} +1 -1
  220. package/package.json +3 -4
  221. package/build/date-picker-CPNNIEa-.cjs +0 -3
  222. package/build/date-picker-CPNNIEa-.cjs.map +0 -1
  223. package/build/date-picker-Uuce_InW.js +0 -689
  224. package/build/date-picker-Uuce_InW.js.map +0 -1
  225. package/build/icon-CoIQwke4.cjs +0 -3
  226. package/build/icon-CoIQwke4.cjs.map +0 -1
  227. package/build/icon-DzAWOQJg.js +0 -277
  228. package/build/icon-DzAWOQJg.js.map +0 -1
  229. package/build/pagination-Dbs4Lrpt.cjs +0 -3
  230. package/build/preview-dT7fmxcc.cjs +0 -3
@@ -1 +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
@@ -1,3 +1,3 @@
1
- const j=require("./chunk-Dd8m0Ver.cjs"),R=require("./proxy-_gZenxVU.cjs"),O=require("./AnimatePresence-BdBJCJuf.cjs"),v=require("./utils-DtinAjAU.cjs"),L=require("./functions-Dwo54amB.cjs"),y=require("./hooks-use-deep-compare-memoize.cjs.js"),S=require("./outside-B3nRnDGb.cjs"),A=require("./dist-DswBAjW1.cjs"),b=require("./v4-BDi_Luux.cjs");let g=require("react/jsx-runtime"),t=require("react");var q="fillDarkStable",I=v.CSS_CLASS.context.dialog,T=()=>I.layout,h=e=>({backgroundColor:v.CSS_VARS.palette.fillSecondaryLightStable,zIndex:e.zIndex}),k=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[q],padding:e.propsDialog?.padding||"20px"}),f=A.createContext(null),M=e=>{const[i,a]=(0,t.useState)([]),l=T(),d=(0,t.useCallback)(n=>{a(r=>{const u=r.find(o=>o.id===n);if(u===void 0)return r;const x=u.index;return x===void 0?r:r.filter(o=>o.id!==n).map(o=>{const D=o.index;return D===void 0?o:{...o,index:D>x?D-1:o.index}})})},[]),c=(0,t.useCallback)(n=>{a(r=>r.map(u=>u.id===n.id?{...u,...n}:u))},[]),s=(0,t.useCallback)(n=>{const r=n.id;a(u=>{const x=u.findIndex(D=>D.id===r);let o;if(x!==-1)o=[...u],o[x]={...n,id:r,index:u[x].index};else{o=u.map(p=>{const E=p.index;return E===void 0?p:{...p,index:E+1}});const D={...n,id:r,index:0};o.unshift(D)}return o})},[]),m=(0,t.useMemo)(()=>i.length,[i.length]),_=(0,t.useMemo)(()=>e.zIndex,[e.zIndex]);return(0,t.useEffect)(()=>()=>{a([])},[]),(0,g.jsxs)(f.Provider,{value:{add:s,remove:d,update:c,dialogHistory:i},children:[(0,g.jsx)(O.AnimatePresence,{children:m&&(0,g.jsx)(R.motion.div,{className:l,style:h({zIndex:_}),initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},transition:{type:"spring",duration:.4},children:i.map(n=>(0,g.jsx)(N,{index:n.index,props:n.props,id:n.id,onRemove:n.onRemove},n.id))})}),e.children]})},P=e=>{const[i,a]=(0,t.useState)(!0),l=(0,t.useMemo)(()=>({...k({propsDialog:e.props?.propsDialog}),zIndex:-(e.index??0)}),[e.props?.propsDialog,e.index]),d=(0,t.useMemo)(()=>e.props?.propsDialog?.isRemoveOnOutsideClick??!0,[e.props?.propsDialog?.isRemoveOnOutsideClick]),c=(0,t.useCallback)(()=>{e.props?.onRemove?.(),e.onRemove?.()},[e.onRemove,e.props?.onRemove]),s=(0,t.useMemo)(()=>e.props?.content?.({remove:c,isAnimating:i,propsCustom:e.props.propsCustom}),[e.props?.content,i,e?.props?.propsCustom,c]);return e.index!==void 0&&(0,g.jsx)(S.Outside,{onOutsideClick:()=>d&&c?.(),children:(0,g.jsx)(R.motion.dialog,{className:L.setClasses([I.element]),initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},onAnimationComplete:()=>a(!1),transition:{type:"spring",duration:.3,delay:.4},style:l,children:s},e.id)})},N=(0,t.memo)(P),C=e=>{const i=A.useContextSelector(f,a=>a?e.reduce((l,d)=>(l[d]=a[d],l),{}):null);if(!i)throw new Error("useDialogs must be used within an DialogContext");return i},U=e=>{const{add:i,remove:a,update:l}=C(["add","remove","update"]),[d,c]=(0,t.useState)(null),s=(0,t.useRef)(null),m=y.useDeepCompareMemoize(e),_=(0,t.useCallback)(()=>{s.current&&(c(null),a(s.current),s.current=null)},[a]),n=(0,t.useCallback)(()=>{if(s.current)return;const r=b.v4();c(r),s.current=r,i({id:r,props:m,onRemove:()=>{_(),m?.onRemove?.()}})},[i,m,_]);return(0,t.useEffect)(()=>{s.current&&l({id:s.current,props:m})},[m,l]),{add:n,remove:_,id:d}};Object.defineProperty(exports,"ProviderDialog",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"useDialog",{enumerable:!0,get:function(){return U}});Object.defineProperty(exports,"useDialogs",{enumerable:!0,get:function(){return C}});
1
+ const j=require("./chunk-Dd8m0Ver.cjs"),v=require("./utils-DCIq-5FL.cjs"),O=require("./functions-CZrZU5U0.cjs"),R=require("./proxy-BDese6Pb.cjs"),L=require("./AnimatePresence-DeKd4Eek.cjs"),y=require("./outside-CXyCk8h1.cjs"),S=require("./hooks-use-deep-compare-memoize.cjs.js"),A=require("./dist-SXTf0-_7.cjs"),b=require("./v4-BDi_Luux.cjs");let g=require("react/jsx-runtime"),t=require("react");var q="fillDarkStable",I=v.CSS_CLASS.context.dialog,T=()=>I.layout,h=e=>({backgroundColor:v.CSS_VARS.palette.fillSecondaryLightStable,zIndex:e.zIndex}),k=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[q],padding:e.propsDialog?.padding||"20px"}),f=A.createContext(null),M=e=>{const[i,a]=(0,t.useState)([]),l=T(),d=(0,t.useCallback)(n=>{a(r=>{const u=r.find(o=>o.id===n);if(u===void 0)return r;const x=u.index;return x===void 0?r:r.filter(o=>o.id!==n).map(o=>{const D=o.index;return D===void 0?o:{...o,index:D>x?D-1:o.index}})})},[]),c=(0,t.useCallback)(n=>{a(r=>r.map(u=>u.id===n.id?{...u,...n}:u))},[]),s=(0,t.useCallback)(n=>{const r=n.id;a(u=>{const x=u.findIndex(D=>D.id===r);let o;if(x!==-1)o=[...u],o[x]={...n,id:r,index:u[x].index};else{o=u.map(p=>{const E=p.index;return E===void 0?p:{...p,index:E+1}});const D={...n,id:r,index:0};o.unshift(D)}return o})},[]),m=(0,t.useMemo)(()=>i.length,[i.length]),_=(0,t.useMemo)(()=>e.zIndex,[e.zIndex]);return(0,t.useEffect)(()=>()=>{a([])},[]),(0,g.jsxs)(f.Provider,{value:{add:s,remove:d,update:c,dialogHistory:i},children:[(0,g.jsx)(L.AnimatePresence,{children:m&&(0,g.jsx)(R.motion.div,{className:l,style:h({zIndex:_}),initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},transition:{type:"spring",duration:.4},children:i.map(n=>(0,g.jsx)(N,{index:n.index,props:n.props,id:n.id,onRemove:n.onRemove},n.id))})}),e.children]})},P=e=>{const[i,a]=(0,t.useState)(!0),l=(0,t.useMemo)(()=>({...k({propsDialog:e.props?.propsDialog}),zIndex:-(e.index??0)}),[e.props?.propsDialog,e.index]),d=(0,t.useMemo)(()=>e.props?.propsDialog?.isRemoveOnOutsideClick??!0,[e.props?.propsDialog?.isRemoveOnOutsideClick]),c=(0,t.useCallback)(()=>{e.props?.onRemove?.(),e.onRemove?.()},[e.onRemove,e.props?.onRemove]),s=(0,t.useMemo)(()=>e.props?.content?.({remove:c,isAnimating:i,propsCustom:e.props.propsCustom}),[e.props?.content,i,e?.props?.propsCustom,c]);return e.index!==void 0&&(0,g.jsx)(y.Outside,{onOutsideClick:()=>d&&c?.(),children:(0,g.jsx)(R.motion.dialog,{className:O.setClasses([I.element]),initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},onAnimationComplete:()=>a(!1),transition:{type:"spring",duration:.3,delay:.4},style:l,children:s},e.id)})},N=(0,t.memo)(P),C=e=>{const i=A.useContextSelector(f,a=>a?e.reduce((l,d)=>(l[d]=a[d],l),{}):null);if(!i)throw new Error("useDialogs must be used within an DialogContext");return i},U=e=>{const{add:i,remove:a,update:l}=C(["add","remove","update"]),[d,c]=(0,t.useState)(null),s=(0,t.useRef)(null),m=S.useDeepCompareMemoize(e),_=(0,t.useCallback)(()=>{s.current&&(c(null),a(s.current),s.current=null)},[a]),n=(0,t.useCallback)(()=>{if(s.current)return;const r=b.v4();c(r),s.current=r,i({id:r,props:m,onRemove:()=>{_(),m?.onRemove?.()}})},[i,m,_]);return(0,t.useEffect)(()=>{s.current&&l({id:s.current,props:m})},[m,l]),{add:n,remove:_,id:d}};Object.defineProperty(exports,"ProviderDialog",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"useDialog",{enumerable:!0,get:function(){return U}});Object.defineProperty(exports,"useDialogs",{enumerable:!0,get:function(){return C}});
2
2
 
3
- //# sourceMappingURL=context-dialog-B67-_jMH.cjs.map
3
+ //# sourceMappingURL=context-dialog-B3khh4eN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-dialog-B67-_jMH.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 { 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.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 zIndex: -(props.index ?? 0),\n };\n }, [props.props?.propsDialog, 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 children = useMemo(\n () => props.props?.content?.({ remove: onRemove, isAnimating: isAnimating, propsCustom: props.props.propsCustom }),\n [props.props?.content, isAnimating, props?.props?.propsCustom, onRemove],\n );\n return (\n props.index !== undefined && (\n <Outside onOutsideClick={() => 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 )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, 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 } = useDialogs(['add', 'remove', 'update']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n\n const localRemove = useCallback(() => {\n if (refId.current) {\n setId(null);\n remove(refId.current);\n refId.current = null;\n }\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 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 };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"context-dialog-B3khh4eN.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 { 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.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 zIndex: -(props.index ?? 0),\n };\n }, [props.props?.propsDialog, 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 children = useMemo(\n () => props.props?.content?.({ remove: onRemove, isAnimating: isAnimating, propsCustom: props.props.propsCustom }),\n [props.props?.content, isAnimating, props?.props?.propsCustom, onRemove],\n );\n return (\n props.index !== undefined && (\n <Outside onOutsideClick={() => 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 )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, 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 } = useDialogs(['add', 'remove', 'update']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n\n const localRemove = useCallback(() => {\n if (refId.current) {\n setId(null);\n remove(refId.current);\n refId.current = null;\n }\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 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 };\n};\n"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { t as f } from "./proxy-wCWa57J3.js";
2
- import { t as C } from "./AnimatePresence-19yP-TCg.js";
3
- import { n as y, r as R } from "./utils-Cona48dZ.js";
4
- import { t as T } from "./functions-CLGf7hqw.js";
5
- import { useDeepCompareMemoize as h } from "./hooks-use-deep-compare-memoize.es.js";
6
- import { t as S } from "./outside-DpK1pI8b.js";
7
- import { n as N, t as M } from "./dist-BV0C3tLK.js";
1
+ import { n as C, r as R } from "./utils-BRgi6734.js";
2
+ import { t as y } from "./functions-DzX-pTN8.js";
3
+ import { t as f } 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
8
  import { t as U } from "./v4-CYaPyb-W.js";
9
9
  import { jsx as g, jsxs as P } from "react/jsx-runtime";
10
10
  import { memo as b, useCallback as x, useEffect as A, useMemo as v, useRef as k, useState as _ } from "react";
11
- var G = "fillDarkStable", L = y.context.dialog, H = () => L.layout, z = (e) => ({
11
+ var G = "fillDarkStable", L = C.context.dialog, H = () => L.layout, z = (e) => ({
12
12
  backgroundColor: R.palette.fillSecondaryLightStable,
13
13
  zIndex: e.zIndex
14
14
  }), V = (e) => ({
@@ -74,7 +74,7 @@ var G = "fillDarkStable", L = y.context.dialog, H = () => L.layout, z = (e) => (
74
74
  update: u,
75
75
  dialogHistory: i
76
76
  },
77
- children: [/* @__PURE__ */ g(C, { children: m && /* @__PURE__ */ g(f.div, {
77
+ children: [/* @__PURE__ */ g(T, { children: m && /* @__PURE__ */ g(f.div, {
78
78
  className: d,
79
79
  style: z({ zIndex: p }),
80
80
  initial: { opacity: 0 },
@@ -108,10 +108,10 @@ var G = "fillDarkStable", L = y.context.dialog, H = () => L.layout, z = (e) => (
108
108
  e?.props?.propsCustom,
109
109
  u
110
110
  ]);
111
- return e.index !== void 0 && /* @__PURE__ */ g(S, {
111
+ return e.index !== void 0 && /* @__PURE__ */ g(h, {
112
112
  onOutsideClick: () => l && u?.(),
113
113
  children: /* @__PURE__ */ g(f.dialog, {
114
- className: T([L.element]),
114
+ className: y([L.element]),
115
115
  initial: {
116
116
  opacity: 0,
117
117
  scale: 0.8
@@ -139,7 +139,7 @@ var G = "fillDarkStable", L = y.context.dialog, H = () => L.layout, z = (e) => (
139
139
  "add",
140
140
  "remove",
141
141
  "update"
142
- ]), [l, u] = _(null), a = k(null), m = h(e), p = x(() => {
142
+ ]), [l, u] = _(null), a = k(null), m = S(e), p = x(() => {
143
143
  a.current && (u(null), r(a.current), a.current = null);
144
144
  }, [r]), t = x(() => {
145
145
  if (a.current) return;
@@ -173,4 +173,4 @@ export {
173
173
  te as t
174
174
  };
175
175
 
176
- //# sourceMappingURL=context-dialog-CxGGmBqC.js.map
176
+ //# sourceMappingURL=context-dialog-CeqpejDW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-dialog-CxGGmBqC.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 { 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.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 zIndex: -(props.index ?? 0),\n };\n }, [props.props?.propsDialog, 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 children = useMemo(\n () => props.props?.content?.({ remove: onRemove, isAnimating: isAnimating, propsCustom: props.props.propsCustom }),\n [props.props?.content, isAnimating, props?.props?.propsCustom, onRemove],\n );\n return (\n props.index !== undefined && (\n <Outside onOutsideClick={() => 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 )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, 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 } = useDialogs(['add', 'remove', 'update']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n\n const localRemove = useCallback(() => {\n if (refId.current) {\n setId(null);\n remove(refId.current);\n refId.current = null;\n }\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 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 };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"context-dialog-CeqpejDW.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 { 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.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 zIndex: -(props.index ?? 0),\n };\n }, [props.props?.propsDialog, 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 children = useMemo(\n () => props.props?.content?.({ remove: onRemove, isAnimating: isAnimating, propsCustom: props.props.propsCustom }),\n [props.props?.content, isAnimating, props?.props?.propsCustom, onRemove],\n );\n return (\n props.index !== undefined && (\n <Outside onOutsideClick={() => 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 )\n );\n};\nconst MemoizedDialogElement = memo(DialogElement);\n","import { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\n\nimport { useCallback, useEffect, 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 } = useDialogs(['add', 'remove', 'update']);\n const [id, setId] = useState<string | null>(null);\n const refId = useRef<string | null>(null);\n const propsMemo = useDeepCompareMemoize(props);\n\n const localRemove = useCallback(() => {\n if (refId.current) {\n setId(null);\n remove(refId.current);\n refId.current = null;\n }\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 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 };\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-B3khh4eN.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-CeqpejDW.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
@@ -1,4 +1,4 @@
1
- import { t as i } from "./logger-BRWLzI5S.js";
1
+ import { t as i } from "./logger-QC3A33gh.js";
2
2
  import { jsx as f } from "react/jsx-runtime";
3
3
  import { createContext as V, useCallback as c, useContext as h, useEffect as d, useState as m } from "react";
4
4
  var u = V(null), E = (a) => {
@@ -80,4 +80,4 @@ export {
80
80
  I as t
81
81
  };
82
82
 
83
- //# sourceMappingURL=context-local-storage-Bb_vktd8.js.map
83
+ //# sourceMappingURL=context-local-storage-DA_whw_k.js.map