@jenesei-software/jenesei-kit-react 1.3.9 → 1.3.11

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 (347) hide show
  1. package/build/{area-BC64nSGj.js → area-BWxBop5m.js} +2 -2
  2. package/build/area-BWxBop5m.js.map +1 -0
  3. package/build/{area-DRqAofd0.js → area-CD8KKIM0.js} +2 -2
  4. package/build/area-CD8KKIM0.js.map +1 -0
  5. package/build/{area-Dnq78ow6.js → area-CT83tDk-.js} +10 -8
  6. package/build/area-CT83tDk-.js.map +1 -0
  7. package/build/{area-C6QOr2Kd.cjs → area-CmCMHnRA.cjs} +2 -2
  8. package/build/area-CmCMHnRA.cjs.map +1 -0
  9. package/build/{area-C3wR_pPr.cjs → area-DRsIULcw.cjs} +2 -2
  10. package/build/{area-C3wR_pPr.cjs.map → area-DRsIULcw.cjs.map} +1 -1
  11. package/build/{area-D7906bXA.cjs → area-Dup_lUb9.cjs} +2 -2
  12. package/build/area-Dup_lUb9.cjs.map +1 -0
  13. package/build/area-outside.cjs.js +1 -1
  14. package/build/area-outside.es.js +1 -1
  15. package/build/area-preview.cjs.js +1 -1
  16. package/build/area-preview.es.js +1 -1
  17. package/build/{area-CFZW3T1g.js → area-sDVSuS3G.js} +3 -3
  18. package/build/{area-CFZW3T1g.js.map → area-sDVSuS3G.js.map} +1 -1
  19. package/build/area-scroll.cjs.js +1 -1
  20. package/build/area-scroll.d.ts +1 -1
  21. package/build/area-scroll.es.js +1 -1
  22. package/build/area-skeleton.cjs.js +1 -1
  23. package/build/area-skeleton.d.ts +1 -1
  24. package/build/area-skeleton.es.js +1 -1
  25. package/build/area-smooth.cjs.js +1 -1
  26. package/build/area-smooth.d.ts +1 -1
  27. package/build/area-smooth.es.js +1 -1
  28. package/build/area-t259bohc.cjs +2 -0
  29. package/build/area-t259bohc.cjs.map +1 -0
  30. package/build/area.hooks-Bk04M7mk.js.map +1 -1
  31. package/build/area.hooks-C_UKZzcb.cjs.map +1 -1
  32. package/build/build-info.txt +3 -3
  33. package/build/component--jGdo2yq.cjs +2 -0
  34. package/build/component--jGdo2yq.cjs.map +1 -0
  35. package/build/{component--Oo5_3xq.cjs → component-8NOxwZJO.cjs} +2 -2
  36. package/build/component-8NOxwZJO.cjs.map +1 -0
  37. package/build/component-BVnHSTJd.cjs +245 -0
  38. package/build/component-BVnHSTJd.cjs.map +1 -0
  39. package/build/{component-DHq4T6Ku.cjs → component-BhPckvLk.cjs} +2 -2
  40. package/build/component-BhPckvLk.cjs.map +1 -0
  41. package/build/component-CLqcB5mM.cjs.map +1 -1
  42. package/build/{component-C4ULY0c6.js → component-CN6att4f.js} +20 -9
  43. package/build/component-CN6att4f.js.map +1 -0
  44. package/build/component-DHM9pbab.js.map +1 -1
  45. package/build/{component-Bzw_uobM.js → component-DaXKDHnc.js} +48 -7
  46. package/build/component-DaXKDHnc.js.map +1 -0
  47. package/build/component-DnJo66DS.cjs +90 -0
  48. package/build/component-DnJo66DS.cjs.map +1 -0
  49. package/build/{component-BcHiCCC9.js → component-DpVp9dB1.js} +2 -2
  50. package/build/component-DpVp9dB1.js.map +1 -0
  51. package/build/{component-DfxlJBGv.js → component-G5QqAuDV.js} +3 -3
  52. package/build/component-G5QqAuDV.js.map +1 -0
  53. package/build/component-GKvpOWlO.cjs +28 -0
  54. package/build/component-GKvpOWlO.cjs.map +1 -0
  55. package/build/component-GtWqnaqk.js +710 -0
  56. package/build/component-GtWqnaqk.js.map +1 -0
  57. package/build/component-accordion.cjs.js +1 -1
  58. package/build/component-accordion.d.ts +1 -1
  59. package/build/component-accordion.es.js +1 -1
  60. package/build/component-button-group.cjs.js +1 -1
  61. package/build/component-button-group.d.ts +18 -1
  62. package/build/component-button-group.es.js +1 -1
  63. package/build/component-button.cjs.js +1 -1
  64. package/build/component-button.d.ts +21 -2
  65. package/build/component-button.es.js +1 -1
  66. package/build/{component-BiNPQpCQ.cjs → component-cRmWWDr_.cjs} +2 -2
  67. package/build/component-cRmWWDr_.cjs.map +1 -0
  68. package/build/component-checkbox-group.cjs.js +1 -1
  69. package/build/component-checkbox-group.d.ts +20 -3
  70. package/build/component-checkbox-group.es.js +1 -1
  71. package/build/component-checkbox.cjs.js +1 -1
  72. package/build/component-checkbox.d.ts +21 -2
  73. package/build/component-checkbox.es.js +1 -1
  74. package/build/component-date-picker.cjs.js +1 -1
  75. package/build/component-date-picker.d.ts +35 -37
  76. package/build/component-date-picker.es.js +1 -1
  77. package/build/{component-CQ8fy2gK.js → component-feWPgACX.js} +2 -2
  78. package/build/component-feWPgACX.js.map +1 -0
  79. package/build/component-icon.cjs.js +1 -1
  80. package/build/component-icon.es.js +1 -1
  81. package/build/component-image-button.cjs.js +1 -1
  82. package/build/component-image-button.d.ts +18 -1
  83. package/build/component-image-button.es.js +1 -1
  84. package/build/component-image-select.cjs.js +1 -1
  85. package/build/component-image-select.d.ts +18 -1
  86. package/build/component-image-select.es.js +1 -1
  87. package/build/component-image-slider.cjs.js +1 -1
  88. package/build/component-image-slider.d.ts +1 -1
  89. package/build/component-image-slider.es.js +1 -1
  90. package/build/component-image.cjs.js +1 -1
  91. package/build/component-image.es.js +1 -1
  92. package/build/component-input-otp.cjs.js +1 -1
  93. package/build/component-input-otp.d.ts +51 -5
  94. package/build/component-input-otp.es.js +1 -1
  95. package/build/component-input.cjs.js +1 -1
  96. package/build/component-input.d.ts +62 -14
  97. package/build/component-input.es.js +2 -2
  98. package/build/component-map.cjs.js +1 -1
  99. package/build/component-map.es.js +1 -1
  100. package/build/{component-jPZYT5iL.js → component-mzzOCXSx.js} +12 -12
  101. package/build/component-mzzOCXSx.js.map +1 -0
  102. package/build/component-pagination.cjs.js +1 -1
  103. package/build/component-pagination.d.ts +18 -1
  104. package/build/component-pagination.es.js +1 -1
  105. package/build/component-range.cjs.js +1 -1
  106. package/build/component-range.d.ts +50 -4
  107. package/build/component-range.es.js +1 -1
  108. package/build/component-select.cjs.js +1 -1
  109. package/build/component-select.d.ts +48 -7
  110. package/build/component-select.es.js +1 -1
  111. package/build/component-stack.cjs.js +1 -1
  112. package/build/component-stack.d.ts +5 -7
  113. package/build/component-stack.es.js +1 -1
  114. package/build/component-textarea.cjs.js +1 -1
  115. package/build/component-textarea.d.ts +50 -7
  116. package/build/component-textarea.es.js +1 -1
  117. package/build/component-toggle.cjs.js +1 -1
  118. package/build/component-toggle.d.ts +51 -2
  119. package/build/component-toggle.es.js +1 -1
  120. package/build/component-tooltip.cjs.js +1 -1
  121. package/build/component-tooltip.d.ts +14 -2
  122. package/build/component-tooltip.es.js +1 -1
  123. package/build/component-typography.cjs.js +1 -1
  124. package/build/component-typography.d.ts +27 -13
  125. package/build/component-typography.es.js +7 -6
  126. package/build/component-typography.es.js.map +1 -1
  127. package/build/{component.components-DX0DVix5.js → component.components-C-EEYFsd.js} +4 -4
  128. package/build/{component.components-DX0DVix5.js.map → component.components-C-EEYFsd.js.map} +1 -1
  129. package/build/{component.components-H_qAeBHw.cjs → component.components-CC3IeZon.cjs} +2 -2
  130. package/build/{component.components-H_qAeBHw.cjs.map → component.components-CC3IeZon.cjs.map} +1 -1
  131. package/build/{component.constants-DjYLZpyY.js → component.constants-34RZJIiQ.js} +3 -3
  132. package/build/component.constants-34RZJIiQ.js.map +1 -0
  133. package/build/{component.constants-C7DGbAC8.js → component.constants-BxnfHAYp.js} +8 -8
  134. package/build/component.constants-BxnfHAYp.js.map +1 -0
  135. package/build/{component.constants-DwRduxMm.cjs → component.constants-CpRgeAIu.cjs} +3 -3
  136. package/build/component.constants-CpRgeAIu.cjs.map +1 -0
  137. package/build/{component.constants-veAUxKBd.cjs → component.constants-D6AJ1xmO.cjs} +2 -2
  138. package/build/component.constants-D6AJ1xmO.cjs.map +1 -0
  139. package/build/component.functions-D9ffjEok.cjs +8 -0
  140. package/build/component.functions-D9ffjEok.cjs.map +1 -0
  141. package/build/component.functions-DNW6h8kk.js +12 -0
  142. package/build/component.functions-DNW6h8kk.js.map +1 -0
  143. package/build/{component.styles--Ug3PJQ6.cjs → component.styles-4ycgapiT.cjs} +7 -7
  144. package/build/component.styles-4ycgapiT.cjs.map +1 -0
  145. package/build/{component.styles-DLU0S0KI.cjs → component.styles-B-bndnRM.cjs} +2 -2
  146. package/build/component.styles-B-bndnRM.cjs.map +1 -0
  147. package/build/{component.styles-C3hYZJGh.js → component.styles-B0FFHGeN.js} +26 -20
  148. package/build/component.styles-B0FFHGeN.js.map +1 -0
  149. package/build/component.styles-B0L4jbOO.js.map +1 -1
  150. package/build/{component.styles-C1p3V7H6.js → component.styles-BDKsgd6y.js} +32 -19
  151. package/build/component.styles-BDKsgd6y.js.map +1 -0
  152. package/build/{component.styles-Cje8zTpf.cjs → component.styles-BELwxHxh.cjs} +7 -7
  153. package/build/component.styles-BELwxHxh.cjs.map +1 -0
  154. package/build/{component.styles-BirbSbuD.js → component.styles-BEaqQuF_.js} +4 -4
  155. package/build/{component.styles-BirbSbuD.js.map → component.styles-BEaqQuF_.js.map} +1 -1
  156. package/build/{component.styles-DpgkACgI.js → component.styles-BGYbrzvh.js} +2 -2
  157. package/build/component.styles-BGYbrzvh.js.map +1 -0
  158. package/build/{component.styles-DSle6iuF.cjs → component.styles-BKnUDWqO.cjs} +2 -2
  159. package/build/component.styles-BKnUDWqO.cjs.map +1 -0
  160. package/build/component.styles-Bb7_KygZ.cjs +73 -0
  161. package/build/component.styles-Bb7_KygZ.cjs.map +1 -0
  162. package/build/{component.styles-DYS_AJ9F.js → component.styles-BbwS_Ekx.js} +9 -10
  163. package/build/{component.styles-DYS_AJ9F.js.map → component.styles-BbwS_Ekx.js.map} +1 -1
  164. package/build/component.styles-BeRVOt5T.cjs +137 -0
  165. package/build/{component.styles-Crx4pACx.cjs.map → component.styles-BeRVOt5T.cjs.map} +1 -1
  166. package/build/{component.styles-DX_3POUD.js → component.styles-CJC0h3Ed.js} +4 -4
  167. package/build/component.styles-CJC0h3Ed.js.map +1 -0
  168. package/build/{component.styles-CggIUAVx.js → component.styles-CZyAhUtW.js} +21 -10
  169. package/build/component.styles-CZyAhUtW.js.map +1 -0
  170. package/build/component.styles-CsB9986a.cjs +99 -0
  171. package/build/component.styles-CsB9986a.cjs.map +1 -0
  172. package/build/{component.styles-Bm3Ec-Kd.js → component.styles-DS0ofW1Y.js} +3 -3
  173. package/build/{component.styles-Bm3Ec-Kd.js.map → component.styles-DS0ofW1Y.js.map} +1 -1
  174. package/build/component.styles-DTnknwt_.js +94 -0
  175. package/build/component.styles-DTnknwt_.js.map +1 -0
  176. package/build/{component.styles-5Xz_H-fR.js → component.styles-DWS6xT-y.js} +32 -11
  177. package/build/component.styles-DWS6xT-y.js.map +1 -0
  178. package/build/component.styles-DbWj2stq.cjs +21 -0
  179. package/build/component.styles-DbWj2stq.cjs.map +1 -0
  180. package/build/component.styles-Dpg-__rn.cjs.map +1 -1
  181. package/build/component.styles-PNgt36ZD.cjs +225 -0
  182. package/build/component.styles-PNgt36ZD.cjs.map +1 -0
  183. package/build/{component.styles-Bfhg18CX.cjs → component.styles-Py-IeQ2q.cjs} +2 -2
  184. package/build/component.styles-Py-IeQ2q.cjs.map +1 -0
  185. package/build/{component.styles-v0YYECwW.js → component.styles-VrNFgg1_.js} +32 -12
  186. package/build/component.styles-VrNFgg1_.js.map +1 -0
  187. package/build/{component.styles-DhAMCZ71.cjs → component.styles-ZU_GyVub.cjs} +2 -2
  188. package/build/component.styles-ZU_GyVub.cjs.map +1 -0
  189. package/build/component.styles-gZHy-64x.cjs +13 -0
  190. package/build/component.styles-gZHy-64x.cjs.map +1 -0
  191. package/build/{component.styles-5CVyEjEh.js → component.styles-mcm1LgEr.js} +51 -23
  192. package/build/component.styles-mcm1LgEr.js.map +1 -0
  193. package/build/component.types-BBQ18Npa.js.map +1 -1
  194. package/build/{component.types-BzBjcohg.js → component.types-BhmQrqBu.js} +95 -68
  195. package/build/component.types-BhmQrqBu.js.map +1 -0
  196. package/build/component.types-CfR3RBsV.cjs +171 -0
  197. package/build/component.types-CfR3RBsV.cjs.map +1 -0
  198. package/build/component.types-DraGq1j_.cjs.map +1 -1
  199. package/build/context-app.cjs.js +1 -1
  200. package/build/context-app.es.js +1 -1
  201. package/build/context-dialog.cjs.js +1 -1
  202. package/build/context-dialog.d.ts +11 -4
  203. package/build/context-dialog.es.js +1 -1
  204. package/build/context-permission.d.ts +4 -4
  205. package/build/context-sonner.cjs.js +1 -1
  206. package/build/context-sonner.d.ts +42 -7
  207. package/build/context-sonner.es.js +1 -1
  208. package/build/{context.constants-B9Yk6CGe.js → context.constants-BCpaUfFz.js} +9 -6
  209. package/build/context.constants-BCpaUfFz.js.map +1 -0
  210. package/build/context.constants-BLQ_1jZI.cjs +32 -0
  211. package/build/context.constants-BLQ_1jZI.cjs.map +1 -0
  212. package/build/{context.constants-Bz_5itIx.js → context.constants-DOMoMUoD.js} +26 -9
  213. package/build/context.constants-DOMoMUoD.js.map +1 -0
  214. package/build/context.constants-cm50ZUiS.cjs +98 -0
  215. package/build/context.constants-cm50ZUiS.cjs.map +1 -0
  216. package/build/context.functions-80N-5MqM.cjs.map +1 -1
  217. package/build/context.functions-B8FDl7nJ.js.map +1 -1
  218. package/build/context.functions-BD15C8_y.js.map +1 -1
  219. package/build/context.functions-CQ9GerPb.js.map +1 -1
  220. package/build/context.functions-ar41xFVo.cjs.map +1 -1
  221. package/build/context.functions-ohI9H54j.cjs.map +1 -1
  222. package/build/context.hooks-7ydA7mGj.js.map +1 -1
  223. package/build/context.hooks-BIsapq-0.cjs.map +1 -1
  224. package/build/context.hooks-BmwyZ1p3.js.map +1 -1
  225. package/build/context.hooks-BzMTkJNv.js.map +1 -1
  226. package/build/{context.hooks-DTdppyho.js → context.hooks-CI5aQmpr.js} +4 -4
  227. package/build/context.hooks-CI5aQmpr.js.map +1 -0
  228. package/build/{context.hooks-BDEwJHqB.cjs → context.hooks-Ci37RyLf.cjs} +3 -3
  229. package/build/context.hooks-Ci37RyLf.cjs.map +1 -0
  230. package/build/context.hooks-D13tbrva.cjs.map +1 -1
  231. package/build/context.hooks-u408Pxw8.cjs.map +1 -1
  232. package/build/floating-ui.react--v70Xky9.cjs +2 -0
  233. package/build/floating-ui.react--v70Xky9.cjs.map +1 -0
  234. package/build/{component-BoHvC24Q.js → floating-ui.react-Byi6bLb1.js} +17 -704
  235. package/build/floating-ui.react-Byi6bLb1.js.map +1 -0
  236. package/build/index.cjs.js +1 -1
  237. package/build/index.d.ts +92 -100
  238. package/build/index.es.js +59 -57
  239. package/build/index.es.js.map +1 -1
  240. package/build/motion-CIQfrLky.js.map +1 -1
  241. package/build/motion-DgB7M2Hn.cjs.map +1 -1
  242. package/build/style-D3Lbn1EL.cjs +32 -0
  243. package/build/style-D3Lbn1EL.cjs.map +1 -0
  244. package/build/{style-mc2ST5fY.cjs → style-Df37KnoJ.cjs} +47 -18
  245. package/build/style-Df37KnoJ.cjs.map +1 -0
  246. package/build/{style-BgcnmVAY.js → style-RL73t3JD.js} +63 -20
  247. package/build/style-RL73t3JD.js.map +1 -0
  248. package/build/style-add.cjs.js +1 -1
  249. package/build/style-add.d.ts +57 -5
  250. package/build/style-add.es.js +11 -10
  251. package/build/style-error.cjs.js +1 -1
  252. package/build/style-error.d.ts +48 -7
  253. package/build/style-error.es.js +1 -1
  254. package/build/style-fRZ6xrVp.cjs.map +1 -1
  255. package/build/style-plT9Ah7t.js.map +1 -1
  256. package/build/style-theme.cjs.js +1 -1
  257. package/build/style-theme.d.ts +2 -2
  258. package/build/style-theme.es.js +1 -1
  259. package/build/{style-BQ653xOS.js → style-uVTmdhsH.js} +14 -5
  260. package/build/style-uVTmdhsH.js.map +1 -0
  261. package/build/{theme.global-CFUz5Asg.js → theme.global-BgERDJ4e.js} +36 -1
  262. package/build/theme.global-BgERDJ4e.js.map +1 -0
  263. package/build/{theme.global-B9t2Fi10.cjs → theme.global-CcoD5bPP.cjs} +2 -2
  264. package/build/theme.global-CcoD5bPP.cjs.map +1 -0
  265. package/build/{use-DTZ8c8_g.js → use-Bp4KNVye.js} +7 -7
  266. package/build/{use-DTZ8c8_g.js.map → use-Bp4KNVye.js.map} +1 -1
  267. package/build/use-Bp8UVw4Y.js.map +1 -1
  268. package/build/use-C1l0O0Qo.cjs.map +1 -1
  269. package/build/{use-D7IsSb34.cjs → use-DQDxWjzu.cjs} +2 -2
  270. package/build/{use-D7IsSb34.cjs.map → use-DQDxWjzu.cjs.map} +1 -1
  271. package/build/use-DT0XgvJT.js.map +1 -1
  272. package/build/use-IhzeVumv.cjs.map +1 -1
  273. package/package.json +4 -3
  274. package/build/area-BC64nSGj.js.map +0 -1
  275. package/build/area-C6QOr2Kd.cjs.map +0 -1
  276. package/build/area-D7906bXA.cjs.map +0 -1
  277. package/build/area-DRqAofd0.js.map +0 -1
  278. package/build/area-DnAf310m.cjs +0 -2
  279. package/build/area-DnAf310m.cjs.map +0 -1
  280. package/build/area-Dnq78ow6.js.map +0 -1
  281. package/build/component--Oo5_3xq.cjs.map +0 -1
  282. package/build/component-BV_7tGiu.cjs +0 -28
  283. package/build/component-BV_7tGiu.cjs.map +0 -1
  284. package/build/component-BcHiCCC9.js.map +0 -1
  285. package/build/component-BiNPQpCQ.cjs.map +0 -1
  286. package/build/component-BoHvC24Q.js.map +0 -1
  287. package/build/component-Bzw_uobM.js.map +0 -1
  288. package/build/component-C4ULY0c6.js.map +0 -1
  289. package/build/component-CACoGUK9.cjs +0 -251
  290. package/build/component-CACoGUK9.cjs.map +0 -1
  291. package/build/component-CQ8fy2gK.js.map +0 -1
  292. package/build/component-DHq4T6Ku.cjs.map +0 -1
  293. package/build/component-DfxlJBGv.js.map +0 -1
  294. package/build/component-Dn-VRY7-.cjs +0 -2
  295. package/build/component-Dn-VRY7-.cjs.map +0 -1
  296. package/build/component-jPZYT5iL.js.map +0 -1
  297. package/build/component-u_42PteJ.cjs +0 -90
  298. package/build/component-u_42PteJ.cjs.map +0 -1
  299. package/build/component.constants-C7DGbAC8.js.map +0 -1
  300. package/build/component.constants-DjYLZpyY.js.map +0 -1
  301. package/build/component.constants-DwRduxMm.cjs.map +0 -1
  302. package/build/component.constants-veAUxKBd.cjs.map +0 -1
  303. package/build/component.styles--Ug3PJQ6.cjs.map +0 -1
  304. package/build/component.styles-5CVyEjEh.js.map +0 -1
  305. package/build/component.styles-5Xz_H-fR.js.map +0 -1
  306. package/build/component.styles-8tkaznu_.cjs +0 -21
  307. package/build/component.styles-8tkaznu_.cjs.map +0 -1
  308. package/build/component.styles-Bfhg18CX.cjs.map +0 -1
  309. package/build/component.styles-BuzZQhqS.cjs +0 -73
  310. package/build/component.styles-BuzZQhqS.cjs.map +0 -1
  311. package/build/component.styles-C1p3V7H6.js.map +0 -1
  312. package/build/component.styles-C3hYZJGh.js.map +0 -1
  313. package/build/component.styles-CISd4naT.cjs +0 -13
  314. package/build/component.styles-CISd4naT.cjs.map +0 -1
  315. package/build/component.styles-CggIUAVx.js.map +0 -1
  316. package/build/component.styles-Cje8zTpf.cjs.map +0 -1
  317. package/build/component.styles-CpFA5YrM.js +0 -71
  318. package/build/component.styles-CpFA5YrM.js.map +0 -1
  319. package/build/component.styles-Crx4pACx.cjs +0 -137
  320. package/build/component.styles-DLU0S0KI.cjs.map +0 -1
  321. package/build/component.styles-DSle6iuF.cjs.map +0 -1
  322. package/build/component.styles-DX_3POUD.js.map +0 -1
  323. package/build/component.styles-Db3HLiuV.cjs +0 -99
  324. package/build/component.styles-Db3HLiuV.cjs.map +0 -1
  325. package/build/component.styles-DhAMCZ71.cjs.map +0 -1
  326. package/build/component.styles-DpgkACgI.js.map +0 -1
  327. package/build/component.styles-o7GmI4Ap.cjs +0 -225
  328. package/build/component.styles-o7GmI4Ap.cjs.map +0 -1
  329. package/build/component.styles-v0YYECwW.js.map +0 -1
  330. package/build/component.types-BzBjcohg.js.map +0 -1
  331. package/build/component.types-ydMLhabS.cjs +0 -174
  332. package/build/component.types-ydMLhabS.cjs.map +0 -1
  333. package/build/context.constants-B9Yk6CGe.js.map +0 -1
  334. package/build/context.constants-Bz_5itIx.js.map +0 -1
  335. package/build/context.constants-CTfUKury.cjs +0 -32
  336. package/build/context.constants-CTfUKury.cjs.map +0 -1
  337. package/build/context.constants-CV8ycctl.cjs +0 -100
  338. package/build/context.constants-CV8ycctl.cjs.map +0 -1
  339. package/build/context.hooks-BDEwJHqB.cjs.map +0 -1
  340. package/build/context.hooks-DTdppyho.js.map +0 -1
  341. package/build/style-B5u4pW5G.cjs +0 -32
  342. package/build/style-B5u4pW5G.cjs.map +0 -1
  343. package/build/style-BQ653xOS.js.map +0 -1
  344. package/build/style-BgcnmVAY.js.map +0 -1
  345. package/build/style-mc2ST5fY.cjs.map +0 -1
  346. package/build/theme.global-B9t2Fi10.cjs.map +0 -1
  347. package/build/theme.global-CFUz5Asg.js.map +0 -1
@@ -1,12 +1,11 @@
1
1
  import { createContext, memo, useMemo, useState, useCallback, useContext } from "react";
2
2
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
3
+ import { c as Button } from "./component-CN6att4f.js";
4
+ import { I as Icon } from "./component.styles-DS0ofW1Y.js";
3
5
  import { motion, AnimatePresence } from "framer-motion";
4
6
  import styled, { useTheme, css } from "styled-components";
5
7
  import { v4 } from "uuid";
6
- import { c as Button } from "./component-C4ULY0c6.js";
7
- import { I as Icon } from "./component.styles-Bm3Ec-Kd.js";
8
- import { g as getFontSizeStyles } from "./component-BoHvC24Q.js";
9
- import { b as addTransition, a as addRemoveScrollbar } from "./style-BgcnmVAY.js";
8
+ import { b as addTransition, a as addRemoveScrollbar } from "./style-RL73t3JD.js";
10
9
  const SonnerContext = createContext(null);
11
10
  const ProviderSonner = (props) => {
12
11
  var _a, _b, _c, _d, _e, _f;
@@ -210,8 +209,28 @@ const SonnerElement = (props) => {
210
209
  children: [
211
210
  (props.isLoading || props.icon) && /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerIcon, { children: props.isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { size: "medium", type: "loading", name: "Line" }) : props.icon && /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { name: props.icon, type: "id", size: "medium" }) }),
212
211
  /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerContent, { children: props.content ? props.content : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
213
- props.title && /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerContentTitle, { $genre: props.genre, children: props.title }),
214
- props.description && /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerContentDescription, { $genre: props.genre, children: props.description })
212
+ props.title && /* @__PURE__ */ jsxRuntimeExports.jsx(
213
+ SonnerContentTitle,
214
+ {
215
+ $genre: props.genre,
216
+ $font: {
217
+ size: 14,
218
+ weight: 700
219
+ },
220
+ children: props.title
221
+ }
222
+ ),
223
+ props.description && /* @__PURE__ */ jsxRuntimeExports.jsx(
224
+ SonnerContentDescription,
225
+ {
226
+ $font: {
227
+ size: 12,
228
+ weight: 400
229
+ },
230
+ $genre: props.genre,
231
+ children: props.description
232
+ }
233
+ )
215
234
  ] }) }),
216
235
  props.button && props.button.content && /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerButtonWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
217
236
  Button,
@@ -325,7 +344,6 @@ const SonnerIcon = styled.div`
325
344
  display: contents;
326
345
  `;
327
346
  const SonnerContentTitle = styled.div`
328
- ${(props) => getFontSizeStyles(14, 700, props.theme.font.family)}
329
347
  color: ${(props) => props.theme.colors.sonner[props.$genre].title.color};
330
348
  text-align: left;
331
349
  display: flex;
@@ -333,7 +351,6 @@ const SonnerContentTitle = styled.div`
333
351
  justify-content: flex-start;
334
352
  `;
335
353
  const SonnerContentDescription = styled.div`
336
- ${(props) => getFontSizeStyles(12, 400, props.theme.font.family)}
337
354
  color:${(props) => props.theme.colors.sonner[props.$genre].description.color};
338
355
  text-align: left;
339
356
  position: relative;
@@ -372,4 +389,4 @@ export {
372
389
  DEFAULT_PROVIDER_SONNER_BUTTON as m,
373
390
  useSonner as u
374
391
  };
375
- //# sourceMappingURL=context.constants-Bz_5itIx.js.map
392
+ //# sourceMappingURL=context.constants-DOMoMUoD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.constants-DOMoMUoD.js","sources":["../src/contexts/context-sonner/context.tsx","../src/contexts/context-sonner/context.hooks.ts","../src/contexts/context-sonner/context.styles.tsx","../src/contexts/context-sonner/context.constants.ts"],"sourcesContent":["import { Button } from '@local/components/button';\nimport { Icon } from '@local/components/icon';\n\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { createContext, FC, memo, useCallback, useMemo, useState } from 'react';\nimport { useTheme } from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n DEFAULT_PROVIDER_SONNER_BUTTON,\n DEFAULT_PROVIDER_SONNER_DURATION,\n DEFAULT_PROVIDER_SONNER_GENRE,\n DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM,\n DEFAULT_PROVIDER_SONNER_SCALE,\n DEFAULT_PROVIDER_SONNER_Y,\n DEFAULT_PROVIDER_SONNER_Z_INDEX,\n ProviderSonnerProps,\n SonnerButtonWrapper,\n SonnerContent,\n SonnerContentDescription,\n SonnerContentProps,\n SonnerContentStandardProps,\n SonnerContentTitle,\n SonnerContextProps,\n SonnerElementProps,\n SonnerElementWrapper,\n SonnerIcon,\n SonnerLayout,\n} from '.';\n\nexport const SonnerContext = createContext<SonnerContextProps | null>(null);\n\nexport const ProviderSonner: FC<ProviderSonnerProps> = (props) => {\n const memoVisibleToasts: ProviderSonnerProps['visibleToasts'] = useMemo(\n () => props.visibleToasts,\n [props.visibleToasts],\n );\n const memoDefaultDescription: ProviderSonnerProps['default']['description'] = useMemo(\n () => props?.default?.description,\n [props?.default?.description],\n );\n const memoDefaultTitle: ProviderSonnerProps['default']['title'] = useMemo(\n () => props?.default?.title,\n [props?.default?.title],\n );\n const memoDefaultButton: ProviderSonnerProps['default']['button'] = useMemo(\n () => props?.default?.button,\n [props?.default?.button],\n );\n const memoDefaultHidingTime: ProviderSonnerProps['default']['hidingTime'] = useMemo(\n () => props?.default?.hidingTime,\n [props?.default?.hidingTime],\n );\n const memoDefaultHidingMode: ProviderSonnerProps['default']['hidingMode'] = useMemo(\n () => props?.default?.hidingMode ?? 'clickOnButton',\n [props?.default?.hidingMode],\n );\n const memoDefaultGenre = useMemo(\n () => props?.default?.genre ?? DEFAULT_PROVIDER_SONNER_GENRE,\n [props?.default?.genre],\n );\n\n const isTop = useMemo(() => props.position.includes('top'), [props.position]);\n\n const [contentHistory, setContentHistory] = useState<SonnerContentProps[]>([]);\n\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n\n const remove: SonnerContextProps['remove'] = useCallback(\n (id) => {\n setContentHistory((prev) => {\n const itemToRemove = prev.find((item) => item.id === id);\n\n if (!itemToRemove) return prev;\n\n const indexToRemove = itemToRemove.index;\n\n const updatedHistory = prev\n .filter((item) => item.id !== id)\n .map((item) => ({\n ...item,\n index: item.index > indexToRemove ? item.index - 1 : item.index,\n }));\n\n if (updatedHistory.length === 0) handleMouseLeave();\n\n return updatedHistory;\n });\n },\n [handleMouseLeave],\n );\n\n const toast: SonnerContextProps['toast'] = useCallback(\n (content) => {\n const id = content.id ?? uuidv4();\n\n const hidingTime = content.hidingTime ?? memoDefaultHidingTime;\n\n setContentHistory((prev) => {\n const existingIndex = prev.findIndex((item) => item.id === id);\n\n let updatedHistory;\n if (existingIndex !== -1) {\n // Replace existing item\n updatedHistory = [...prev];\n updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index };\n } else {\n // Add new item\n updatedHistory = prev.map((item) => ({\n ...item,\n index: item.index + 1,\n }));\n const newContent = { ...content, id, index: 0 };\n updatedHistory.unshift(newContent);\n }\n\n return updatedHistory;\n });\n\n if (hidingTime !== undefined) {\n setTimeout(() => {\n remove(id);\n }, hidingTime);\n }\n },\n [memoDefaultHidingTime, remove],\n );\n const promise: SonnerContextProps['promise'] = useCallback(\n <T,>(\n promise: Promise<T>,\n expectation: Omit<SonnerContentProps, 'index'>,\n localToast: (success: T | undefined, error: unknown | undefined) => Omit<SonnerContentProps, 'index'>,\n ) => {\n const id = uuidv4();\n toast({ ...expectation, id, isLoading: true });\n\n return promise\n .then((result) => {\n toast({ ...localToast(result, undefined), id });\n })\n .catch((error) => {\n toast({ ...localToast(undefined, error), id });\n });\n },\n [toast],\n );\n const handleOnClick = useCallback(\n (id: SonnerContentStandardProps['id']) => {\n remove(id);\n },\n [remove],\n );\n const theme = useTheme();\n return (\n <SonnerContext.Provider value={{ toast, promise, remove, contentHistory }}>\n <SonnerLayout\n $zIndex={props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX}\n $position={props.position}\n $gap={props.gap}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <AnimatePresence>\n {contentHistory.map((content) => {\n const index = content.index;\n const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false;\n const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false;\n const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false;\n const localGenre = content.genre ?? memoDefaultGenre;\n const buttonGenre = theme.colors.sonner[localGenre].button.genre;\n const hidingMode = content.hidingMode ?? memoDefaultHidingMode;\n\n const localContent = 'content' in content ? content.content : false;\n const localTitle = 'title' in content ? content.title : false;\n const localDescription = 'description' in content ? content.description : false;\n return (\n <MemoizedSonnerElement\n isMoreThanLastViewIndexPlusOne={isMoreThanLastViewIndexPlusOne}\n isMoreThanLastViewIndex={isMoreThanLastViewIndex}\n isLastViewIndex={isLastViewIndex}\n isTop={isTop}\n key={content.id}\n id={content.id}\n icon={content.icon}\n isLoading={content.isLoading}\n index={index}\n buttonGenre={buttonGenre}\n hidingMode={hidingMode}\n isHovered={isHovered}\n genre={localGenre}\n content={localContent}\n title={localTitle || memoDefaultTitle}\n description={localDescription || memoDefaultDescription}\n button={content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON}\n handleOnClick={handleOnClick}\n />\n );\n })}\n </AnimatePresence>\n </SonnerLayout>\n {props.children}\n </SonnerContext.Provider>\n );\n};\n\nconst SonnerElement = (props: SonnerElementProps) => {\n return (\n <motion.div\n key={props.id}\n layout\n initial={{\n opacity: 0,\n scale: 1,\n y: props.isLastViewIndex\n ? !props.isTop\n ? -DEFAULT_PROVIDER_SONNER_Y\n : DEFAULT_PROVIDER_SONNER_Y\n : !props.isTop\n ? DEFAULT_PROVIDER_SONNER_Y\n : -DEFAULT_PROVIDER_SONNER_Y,\n }}\n animate={{\n y: 0,\n opacity: props.isMoreThanLastViewIndex ? 0 : 1,\n pointerEvents: props.isMoreThanLastViewIndex ? 'none' : 'auto',\n display: props.isMoreThanLastViewIndex ? 'none' : 'flex',\n scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,\n marginTop: props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n marginBottom: !props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n }}\n style={{\n zIndex: -props.index,\n }}\n whileInView={{ opacity: props.isMoreThanLastViewIndex ? 0 : 1 }}\n exit={{ opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_SONNER_DURATION }}\n >\n <SonnerElementWrapper\n $genre={props.genre}\n onClick={() => props.hidingMode === 'clickOnSonner' && props.handleOnClick(props.id, 'clickOnSonner')}\n >\n {(props.isLoading || props.icon) && (\n <SonnerIcon>\n {props.isLoading ? (\n <Icon size='medium' type='loading' name='Line' />\n ) : (\n props.icon && <Icon name={props.icon} type='id' size={'medium'} />\n )}\n </SonnerIcon>\n )}\n <SonnerContent>\n {props.content ? (\n props.content\n ) : (\n <>\n {props.title && (\n <SonnerContentTitle\n $genre={props.genre}\n $font={{\n size: 14,\n weight: 700,\n }}\n >\n {props.title}\n </SonnerContentTitle>\n )}\n {props.description && (\n <SonnerContentDescription\n $font={{\n size: 12,\n weight: 400,\n }}\n $genre={props.genre}\n >\n {props.description}\n </SonnerContentDescription>\n )}\n </>\n )}\n </SonnerContent>\n\n {props.button && props.button.content && (\n <SonnerButtonWrapper>\n <Button\n genre={props.buttonGenre}\n size='small'\n onClick={() => props.hidingMode === 'clickOnButton' && props.handleOnClick(props.id, 'clickOnButton')}\n >\n {props.button.content}\n </Button>\n </SonnerButtonWrapper>\n )}\n </SonnerElementWrapper>\n </motion.div>\n );\n};\nconst MemoizedSonnerElement = memo(SonnerElement);\n","import { useContext } from 'react';\n\nimport { SonnerContext, SonnerContextProps } from '.';\n\nexport const useSonner = (): SonnerContextProps => {\n const context = useContext(SonnerContext);\n if (!context) {\n throw new Error('useSonner must be used within an ProviderSonner');\n }\n return context;\n};\n","import { addRemoveScrollbar, addTransition } from '@local/styles/add';\n\nimport styled, { css } from 'styled-components';\n\nimport {\n SonnerContentDescriptionProps,\n SonnerContentTitleProps,\n SonnerElementWrapperProps,\n SonnerLayoutProps,\n} from '.';\n\nexport const SonnerLayout = styled.div<SonnerLayoutProps>`\n position: fixed;\n z-index: ${(props) => props.$zIndex};\n max-height: calc(100dvh - 20px);\n width: 320px;\n display: flex;\n margin: 10px;\n gap: ${(props) => props.$gap}px;\n box-sizing: content-box;\n overflow-y: visible;\n overflow-x: visible;\n ${addRemoveScrollbar}\n ${(props) =>\n props.$position === 'bottom-center'\n ? css`\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-left'\n ? css`\n left: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-right'\n ? css`\n right: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'top-right'\n ? css`\n top: 0;\n right: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-left'\n ? css`\n top: 0;\n left: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-center'\n ? css`\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-end;\n flex-direction: column;\n `\n : css``}\n`;\n\nexport const SonnerElementWrapper = styled.div<SonnerElementWrapperProps>`\n background: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.background};\n color: ${(props) => props.theme.colors.sonner[props.$genre].icon.color};\n border-radius: 12px;\n border-style: solid;\n border-color: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.borderColor};\n border-width: 1px;\n padding: 16px 20px 16px 20px;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex-shrink: 1;\n min-width: 320px;\n min-height: 64px;\n transform-origin: center center;\n box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};\n overflow: visible;\n &:hover {\n box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};\n }\n ${addTransition};\n`;\nexport const SonnerContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: flex-start;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex: 1;\n position: relative;\n overflow: hidden;\n`;\nexport const SonnerIcon = styled.div`\n display: contents;\n`;\nexport const SonnerContentTitle = styled.div<SonnerContentTitleProps>`\n color: ${(props) => props.theme.colors.sonner[props.$genre].title.color};\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`;\nexport const SonnerContentDescription = styled.div<SonnerContentDescriptionProps>`\n color:${(props) => props.theme.colors.sonner[props.$genre].description.color};\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`;\nexport const SonnerButtonWrapper = styled.div``;\n","import { ITheme } from '@local/theme';\n\nimport { ProviderSonnerProps } from '.';\n\nexport const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100;\nexport const DEFAULT_PROVIDER_SONNER_SCALE = 0.04;\nexport const DEFAULT_PROVIDER_SONNER_Y = 100;\nexport const DEFAULT_PROVIDER_SONNER_DURATION = 0.3;\nexport const DEFAULT_PROVIDER_SONNER_GENRE: keyof ITheme['colors']['sonner'] = 'black';\nexport const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60;\nexport const DEFAULT_PROVIDER_SONNER_BUTTON: ProviderSonnerProps['default']['button'] = {\n content: 'Undo',\n onClick: () => {},\n};\n"],"names":["_a","uuidv4","promise","jsxs","jsx","Fragment"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ "use strict";const e=require("react"),n=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("./component-DnJo66DS.cjs"),i=require("./component.styles-BKnUDWqO.cjs"),o=require("framer-motion"),r=require("styled-components"),s=require("uuid"),l=require("./style-Df37KnoJ.cjs"),d=e.createContext(null),x=e.memo(e=>n.jsxRuntimeExports.jsx(o.motion.div,{layout:!0,initial:{opacity:0,scale:1,y:e.isLastViewIndex?e.isTop?j:-j:e.isTop?-j:j},animate:{y:0,opacity:e.isMoreThanLastViewIndex?0:1,pointerEvents:e.isMoreThanLastViewIndex?"none":"auto",display:e.isMoreThanLastViewIndex?"none":"flex",scale:e.isHovered?1:1-e.index*g,marginTop:e.isTop?e.isHovered||0===e.index?"0px":`-${R}px`:"0px",marginBottom:e.isTop||e.isHovered||0===e.index?"0px":`-${R}px`},style:{zIndex:-e.index},whileInView:{opacity:e.isMoreThanLastViewIndex?0:1},exit:{opacity:0,y:e.isTop?-j:j},transition:{type:"spring",duration:E},children:n.jsxRuntimeExports.jsxs(a,{$genre:e.genre,onClick:()=>"clickOnSonner"===e.hidingMode&&e.handleOnClick(e.id,"clickOnSonner"),children:[(e.isLoading||e.icon)&&n.jsxRuntimeExports.jsx(p,{children:e.isLoading?n.jsxRuntimeExports.jsx(i.Icon,{size:"medium",type:"loading",name:"Line"}):e.icon&&n.jsxRuntimeExports.jsx(i.Icon,{name:e.icon,type:"id",size:"medium"})}),n.jsxRuntimeExports.jsx(u,{children:e.content?e.content:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[e.title&&n.jsxRuntimeExports.jsx(m,{$genre:e.genre,$font:{size:14,weight:700},children:e.title}),e.description&&n.jsxRuntimeExports.jsx(f,{$font:{size:12,weight:400},$genre:e.genre,children:e.description})]})}),e.button&&e.button.content&&n.jsxRuntimeExports.jsx(v,{children:n.jsxRuntimeExports.jsx(t.Button,{genre:e.buttonGenre,size:"small",onClick:()=>"clickOnButton"===e.hidingMode&&e.handleOnClick(e.id,"clickOnButton"),children:e.button.content})})]})},e.id)),c=r.div`
2
+ position: fixed;
3
+ z-index: ${e=>e.$zIndex};
4
+ max-height: calc(100dvh - 20px);
5
+ width: 320px;
6
+ display: flex;
7
+ margin: 10px;
8
+ gap: ${e=>e.$gap}px;
9
+ box-sizing: content-box;
10
+ overflow-y: visible;
11
+ overflow-x: visible;
12
+ ${l.addRemoveScrollbar}
13
+ ${e=>"bottom-center"===e.$position?r.css`
14
+ bottom: 0;
15
+ left: 50%;
16
+ transform: translateX(-50%);
17
+ justify-content: flex-start;
18
+ flex-direction: column-reverse;
19
+ `:"bottom-left"===e.$position?r.css`
20
+ left: 0;
21
+ bottom: 0;
22
+ justify-content: flex-start;
23
+ flex-direction: column-reverse;
24
+ `:"bottom-right"===e.$position?r.css`
25
+ right: 0;
26
+ bottom: 0;
27
+ justify-content: flex-start;
28
+ flex-direction: column-reverse;
29
+ `:"top-right"===e.$position?r.css`
30
+ top: 0;
31
+ right: 0;
32
+ justify-content: flex-end;
33
+ flex-direction: column;
34
+ `:"top-left"===e.$position?r.css`
35
+ top: 0;
36
+ left: 0;
37
+ justify-content: flex-end;
38
+ flex-direction: column;
39
+ `:"top-center"===e.$position?r.css`
40
+ top: 0;
41
+ left: 50%;
42
+ transform: translateX(-50%);
43
+ justify-content: flex-end;
44
+ flex-direction: column;
45
+ `:r.css``}
46
+ `,a=r.div`
47
+ background: ${e=>e.theme.colors.sonner[e.$genre].wrapper.background};
48
+ color: ${e=>e.theme.colors.sonner[e.$genre].icon.color};
49
+ border-radius: 12px;
50
+ border-style: solid;
51
+ border-color: ${e=>e.theme.colors.sonner[e.$genre].wrapper.borderColor};
52
+ border-width: 1px;
53
+ padding: 16px 20px 16px 20px;
54
+ display: flex;
55
+ flex-direction: row;
56
+ gap: 10px;
57
+ align-items: center;
58
+ justify-content: flex-start;
59
+ align-self: stretch;
60
+ flex-shrink: 0;
61
+ flex-shrink: 1;
62
+ min-width: 320px;
63
+ min-height: 64px;
64
+ transform-origin: center center;
65
+ box-shadow: ${e=>e.theme.colors.sonner[e.$genre].wrapper.boxShadow};
66
+ overflow: visible;
67
+ &:hover {
68
+ box-shadow: ${e=>e.theme.colors.sonner[e.$genre].wrapper.boxShadowHover};
69
+ }
70
+ ${l.addTransition};
71
+ `,u=r.div`
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 2px;
75
+ align-items: flex-start;
76
+ justify-content: flex-start;
77
+ align-self: stretch;
78
+ flex-shrink: 0;
79
+ flex: 1;
80
+ position: relative;
81
+ overflow: hidden;
82
+ `,p=r.div`
83
+ display: contents;
84
+ `,m=r.div`
85
+ color: ${e=>e.theme.colors.sonner[e.$genre].title.color};
86
+ text-align: left;
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: flex-start;
90
+ `,f=r.div`
91
+ color:${e=>e.theme.colors.sonner[e.$genre].description.color};
92
+ text-align: left;
93
+ position: relative;
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: flex-start;
97
+ `,v=r.div``,h=100,g=.04,j=100,E=.3,b="black",R=60,$={content:"Undo",onClick:()=>{}};exports.DEFAULT_PROVIDER_SONNER_BUTTON=$,exports.DEFAULT_PROVIDER_SONNER_DURATION=E,exports.DEFAULT_PROVIDER_SONNER_GENRE=b,exports.DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM=R,exports.DEFAULT_PROVIDER_SONNER_SCALE=g,exports.DEFAULT_PROVIDER_SONNER_Y=j,exports.DEFAULT_PROVIDER_SONNER_Z_INDEX=h,exports.ProviderSonner=t=>{var i,l,a,u,p,m;const f=e.useMemo(()=>t.visibleToasts,[t.visibleToasts]),v=e.useMemo(()=>{var e;return null==(e=null==t?void 0:t.default)?void 0:e.description},[null==(i=null==t?void 0:t.default)?void 0:i.description]),g=e.useMemo(()=>{var e;return null==(e=null==t?void 0:t.default)?void 0:e.title},[null==(l=null==t?void 0:t.default)?void 0:l.title]),j=e.useMemo(()=>{var e;return null==(e=null==t?void 0:t.default)?void 0:e.button},[null==(a=null==t?void 0:t.default)?void 0:a.button]),E=e.useMemo(()=>{var e;return null==(e=null==t?void 0:t.default)?void 0:e.hidingTime},[null==(u=null==t?void 0:t.default)?void 0:u.hidingTime]),R=e.useMemo(()=>{var e;return(null==(e=null==t?void 0:t.default)?void 0:e.hidingMode)??"clickOnButton"},[null==(p=null==t?void 0:t.default)?void 0:p.hidingMode]),y=e.useMemo(()=>{var e;return(null==(e=null==t?void 0:t.default)?void 0:e.genre)??b},[null==(m=null==t?void 0:t.default)?void 0:m.genre]),T=e.useMemo(()=>t.position.includes("top"),[t.position]),[w,O]=e.useState([]),[I,S]=e.useState(!1),L=e.useCallback(()=>{S(!0)},[]),M=e.useCallback(()=>{S(!1)},[]),k=e.useCallback(e=>{O(n=>{const t=n.find(n=>n.id===e);if(!t)return n;const i=t.index,o=n.filter(n=>n.id!==e).map(e=>({...e,index:e.index>i?e.index-1:e.index}));return 0===o.length&&M(),o})},[M]),_=e.useCallback(e=>{const n=e.id??s.v4(),t=e.hidingTime??E;O(t=>{const i=t.findIndex(e=>e.id===n);let o;if(-1!==i)o=[...t],o[i]={...e,id:n,index:t[i].index};else{o=t.map(e=>({...e,index:e.index+1}));const i={...e,id:n,index:0};o.unshift(i)}return o}),void 0!==t&&setTimeout(()=>{k(n)},t)},[E,k]),C=e.useCallback((e,n,t)=>{const i=s.v4();return _({...n,id:i,isLoading:!0}),e.then(e=>{_({...t(e,void 0),id:i})}).catch(e=>{_({...t(void 0,e),id:i})})},[_]),N=e.useCallback(e=>{k(e)},[k]),D=r.useTheme();return n.jsxRuntimeExports.jsxs(d.Provider,{value:{toast:_,promise:C,remove:k,contentHistory:w},children:[n.jsxRuntimeExports.jsx(c,{$zIndex:t.zIndex??h,$position:t.position,$gap:t.gap,onMouseEnter:L,onMouseLeave:M,children:n.jsxRuntimeExports.jsx(o.AnimatePresence,{children:w.map(e=>{const t=e.index,i=!!f&&t>f,o=!!f&&t>f-1,r=!!f&&t==f-1,s=e.genre??y,l=D.colors.sonner[s].button.genre,d=e.hidingMode??R,c="content"in e&&e.content,a="title"in e&&e.title,u="description"in e&&e.description;return n.jsxRuntimeExports.jsx(x,{isMoreThanLastViewIndexPlusOne:i,isMoreThanLastViewIndex:o,isLastViewIndex:r,isTop:T,id:e.id,icon:e.icon,isLoading:e.isLoading,index:t,buttonGenre:l,hidingMode:d,isHovered:I,genre:s,content:c,title:a||g,description:u||v,button:e.button??j??$,handleOnClick:N},e.id)})})}),t.children]})},exports.SonnerButtonWrapper=v,exports.SonnerContent=u,exports.SonnerContentDescription=f,exports.SonnerContentTitle=m,exports.SonnerContext=d,exports.SonnerElementWrapper=a,exports.SonnerIcon=p,exports.SonnerLayout=c,exports.useSonner=()=>{const n=e.useContext(d);if(!n)throw new Error("useSonner must be used within an ProviderSonner");return n};
98
+ //# sourceMappingURL=context.constants-cm50ZUiS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.constants-cm50ZUiS.cjs","sources":["../src/contexts/context-sonner/context.tsx","../src/contexts/context-sonner/context.styles.tsx","../src/contexts/context-sonner/context.constants.ts","../src/contexts/context-sonner/context.hooks.ts"],"sourcesContent":["import { Button } from '@local/components/button';\nimport { Icon } from '@local/components/icon';\n\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { createContext, FC, memo, useCallback, useMemo, useState } from 'react';\nimport { useTheme } from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n DEFAULT_PROVIDER_SONNER_BUTTON,\n DEFAULT_PROVIDER_SONNER_DURATION,\n DEFAULT_PROVIDER_SONNER_GENRE,\n DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM,\n DEFAULT_PROVIDER_SONNER_SCALE,\n DEFAULT_PROVIDER_SONNER_Y,\n DEFAULT_PROVIDER_SONNER_Z_INDEX,\n ProviderSonnerProps,\n SonnerButtonWrapper,\n SonnerContent,\n SonnerContentDescription,\n SonnerContentProps,\n SonnerContentStandardProps,\n SonnerContentTitle,\n SonnerContextProps,\n SonnerElementProps,\n SonnerElementWrapper,\n SonnerIcon,\n SonnerLayout,\n} from '.';\n\nexport const SonnerContext = createContext<SonnerContextProps | null>(null);\n\nexport const ProviderSonner: FC<ProviderSonnerProps> = (props) => {\n const memoVisibleToasts: ProviderSonnerProps['visibleToasts'] = useMemo(\n () => props.visibleToasts,\n [props.visibleToasts],\n );\n const memoDefaultDescription: ProviderSonnerProps['default']['description'] = useMemo(\n () => props?.default?.description,\n [props?.default?.description],\n );\n const memoDefaultTitle: ProviderSonnerProps['default']['title'] = useMemo(\n () => props?.default?.title,\n [props?.default?.title],\n );\n const memoDefaultButton: ProviderSonnerProps['default']['button'] = useMemo(\n () => props?.default?.button,\n [props?.default?.button],\n );\n const memoDefaultHidingTime: ProviderSonnerProps['default']['hidingTime'] = useMemo(\n () => props?.default?.hidingTime,\n [props?.default?.hidingTime],\n );\n const memoDefaultHidingMode: ProviderSonnerProps['default']['hidingMode'] = useMemo(\n () => props?.default?.hidingMode ?? 'clickOnButton',\n [props?.default?.hidingMode],\n );\n const memoDefaultGenre = useMemo(\n () => props?.default?.genre ?? DEFAULT_PROVIDER_SONNER_GENRE,\n [props?.default?.genre],\n );\n\n const isTop = useMemo(() => props.position.includes('top'), [props.position]);\n\n const [contentHistory, setContentHistory] = useState<SonnerContentProps[]>([]);\n\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n\n const remove: SonnerContextProps['remove'] = useCallback(\n (id) => {\n setContentHistory((prev) => {\n const itemToRemove = prev.find((item) => item.id === id);\n\n if (!itemToRemove) return prev;\n\n const indexToRemove = itemToRemove.index;\n\n const updatedHistory = prev\n .filter((item) => item.id !== id)\n .map((item) => ({\n ...item,\n index: item.index > indexToRemove ? item.index - 1 : item.index,\n }));\n\n if (updatedHistory.length === 0) handleMouseLeave();\n\n return updatedHistory;\n });\n },\n [handleMouseLeave],\n );\n\n const toast: SonnerContextProps['toast'] = useCallback(\n (content) => {\n const id = content.id ?? uuidv4();\n\n const hidingTime = content.hidingTime ?? memoDefaultHidingTime;\n\n setContentHistory((prev) => {\n const existingIndex = prev.findIndex((item) => item.id === id);\n\n let updatedHistory;\n if (existingIndex !== -1) {\n // Replace existing item\n updatedHistory = [...prev];\n updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index };\n } else {\n // Add new item\n updatedHistory = prev.map((item) => ({\n ...item,\n index: item.index + 1,\n }));\n const newContent = { ...content, id, index: 0 };\n updatedHistory.unshift(newContent);\n }\n\n return updatedHistory;\n });\n\n if (hidingTime !== undefined) {\n setTimeout(() => {\n remove(id);\n }, hidingTime);\n }\n },\n [memoDefaultHidingTime, remove],\n );\n const promise: SonnerContextProps['promise'] = useCallback(\n <T,>(\n promise: Promise<T>,\n expectation: Omit<SonnerContentProps, 'index'>,\n localToast: (success: T | undefined, error: unknown | undefined) => Omit<SonnerContentProps, 'index'>,\n ) => {\n const id = uuidv4();\n toast({ ...expectation, id, isLoading: true });\n\n return promise\n .then((result) => {\n toast({ ...localToast(result, undefined), id });\n })\n .catch((error) => {\n toast({ ...localToast(undefined, error), id });\n });\n },\n [toast],\n );\n const handleOnClick = useCallback(\n (id: SonnerContentStandardProps['id']) => {\n remove(id);\n },\n [remove],\n );\n const theme = useTheme();\n return (\n <SonnerContext.Provider value={{ toast, promise, remove, contentHistory }}>\n <SonnerLayout\n $zIndex={props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX}\n $position={props.position}\n $gap={props.gap}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <AnimatePresence>\n {contentHistory.map((content) => {\n const index = content.index;\n const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false;\n const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false;\n const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false;\n const localGenre = content.genre ?? memoDefaultGenre;\n const buttonGenre = theme.colors.sonner[localGenre].button.genre;\n const hidingMode = content.hidingMode ?? memoDefaultHidingMode;\n\n const localContent = 'content' in content ? content.content : false;\n const localTitle = 'title' in content ? content.title : false;\n const localDescription = 'description' in content ? content.description : false;\n return (\n <MemoizedSonnerElement\n isMoreThanLastViewIndexPlusOne={isMoreThanLastViewIndexPlusOne}\n isMoreThanLastViewIndex={isMoreThanLastViewIndex}\n isLastViewIndex={isLastViewIndex}\n isTop={isTop}\n key={content.id}\n id={content.id}\n icon={content.icon}\n isLoading={content.isLoading}\n index={index}\n buttonGenre={buttonGenre}\n hidingMode={hidingMode}\n isHovered={isHovered}\n genre={localGenre}\n content={localContent}\n title={localTitle || memoDefaultTitle}\n description={localDescription || memoDefaultDescription}\n button={content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON}\n handleOnClick={handleOnClick}\n />\n );\n })}\n </AnimatePresence>\n </SonnerLayout>\n {props.children}\n </SonnerContext.Provider>\n );\n};\n\nconst SonnerElement = (props: SonnerElementProps) => {\n return (\n <motion.div\n key={props.id}\n layout\n initial={{\n opacity: 0,\n scale: 1,\n y: props.isLastViewIndex\n ? !props.isTop\n ? -DEFAULT_PROVIDER_SONNER_Y\n : DEFAULT_PROVIDER_SONNER_Y\n : !props.isTop\n ? DEFAULT_PROVIDER_SONNER_Y\n : -DEFAULT_PROVIDER_SONNER_Y,\n }}\n animate={{\n y: 0,\n opacity: props.isMoreThanLastViewIndex ? 0 : 1,\n pointerEvents: props.isMoreThanLastViewIndex ? 'none' : 'auto',\n display: props.isMoreThanLastViewIndex ? 'none' : 'flex',\n scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,\n marginTop: props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n marginBottom: !props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n }}\n style={{\n zIndex: -props.index,\n }}\n whileInView={{ opacity: props.isMoreThanLastViewIndex ? 0 : 1 }}\n exit={{ opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_SONNER_DURATION }}\n >\n <SonnerElementWrapper\n $genre={props.genre}\n onClick={() => props.hidingMode === 'clickOnSonner' && props.handleOnClick(props.id, 'clickOnSonner')}\n >\n {(props.isLoading || props.icon) && (\n <SonnerIcon>\n {props.isLoading ? (\n <Icon size='medium' type='loading' name='Line' />\n ) : (\n props.icon && <Icon name={props.icon} type='id' size={'medium'} />\n )}\n </SonnerIcon>\n )}\n <SonnerContent>\n {props.content ? (\n props.content\n ) : (\n <>\n {props.title && (\n <SonnerContentTitle\n $genre={props.genre}\n $font={{\n size: 14,\n weight: 700,\n }}\n >\n {props.title}\n </SonnerContentTitle>\n )}\n {props.description && (\n <SonnerContentDescription\n $font={{\n size: 12,\n weight: 400,\n }}\n $genre={props.genre}\n >\n {props.description}\n </SonnerContentDescription>\n )}\n </>\n )}\n </SonnerContent>\n\n {props.button && props.button.content && (\n <SonnerButtonWrapper>\n <Button\n genre={props.buttonGenre}\n size='small'\n onClick={() => props.hidingMode === 'clickOnButton' && props.handleOnClick(props.id, 'clickOnButton')}\n >\n {props.button.content}\n </Button>\n </SonnerButtonWrapper>\n )}\n </SonnerElementWrapper>\n </motion.div>\n );\n};\nconst MemoizedSonnerElement = memo(SonnerElement);\n","import { addRemoveScrollbar, addTransition } from '@local/styles/add';\n\nimport styled, { css } from 'styled-components';\n\nimport {\n SonnerContentDescriptionProps,\n SonnerContentTitleProps,\n SonnerElementWrapperProps,\n SonnerLayoutProps,\n} from '.';\n\nexport const SonnerLayout = styled.div<SonnerLayoutProps>`\n position: fixed;\n z-index: ${(props) => props.$zIndex};\n max-height: calc(100dvh - 20px);\n width: 320px;\n display: flex;\n margin: 10px;\n gap: ${(props) => props.$gap}px;\n box-sizing: content-box;\n overflow-y: visible;\n overflow-x: visible;\n ${addRemoveScrollbar}\n ${(props) =>\n props.$position === 'bottom-center'\n ? css`\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-left'\n ? css`\n left: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-right'\n ? css`\n right: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'top-right'\n ? css`\n top: 0;\n right: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-left'\n ? css`\n top: 0;\n left: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-center'\n ? css`\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-end;\n flex-direction: column;\n `\n : css``}\n`;\n\nexport const SonnerElementWrapper = styled.div<SonnerElementWrapperProps>`\n background: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.background};\n color: ${(props) => props.theme.colors.sonner[props.$genre].icon.color};\n border-radius: 12px;\n border-style: solid;\n border-color: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.borderColor};\n border-width: 1px;\n padding: 16px 20px 16px 20px;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex-shrink: 1;\n min-width: 320px;\n min-height: 64px;\n transform-origin: center center;\n box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};\n overflow: visible;\n &:hover {\n box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};\n }\n ${addTransition};\n`;\nexport const SonnerContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: flex-start;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex: 1;\n position: relative;\n overflow: hidden;\n`;\nexport const SonnerIcon = styled.div`\n display: contents;\n`;\nexport const SonnerContentTitle = styled.div<SonnerContentTitleProps>`\n color: ${(props) => props.theme.colors.sonner[props.$genre].title.color};\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`;\nexport const SonnerContentDescription = styled.div<SonnerContentDescriptionProps>`\n color:${(props) => props.theme.colors.sonner[props.$genre].description.color};\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`;\nexport const SonnerButtonWrapper = styled.div``;\n","import { ITheme } from '@local/theme';\n\nimport { ProviderSonnerProps } from '.';\n\nexport const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100;\nexport const DEFAULT_PROVIDER_SONNER_SCALE = 0.04;\nexport const DEFAULT_PROVIDER_SONNER_Y = 100;\nexport const DEFAULT_PROVIDER_SONNER_DURATION = 0.3;\nexport const DEFAULT_PROVIDER_SONNER_GENRE: keyof ITheme['colors']['sonner'] = 'black';\nexport const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60;\nexport const DEFAULT_PROVIDER_SONNER_BUTTON: ProviderSonnerProps['default']['button'] = {\n content: 'Undo',\n onClick: () => {},\n};\n","import { useContext } from 'react';\n\nimport { SonnerContext, SonnerContextProps } from '.';\n\nexport const useSonner = (): SonnerContextProps => {\n const context = useContext(SonnerContext);\n if (!context) {\n throw new Error('useSonner must be used within an ProviderSonner');\n }\n return context;\n};\n"],"names":["SonnerContext","createContext","MemoizedSonnerElement","memo","props","jsx","motion","div","layout","initial","opacity","scale","y","isLastViewIndex","isTop","DEFAULT_PROVIDER_SONNER_Y","animate","isMoreThanLastViewIndex","pointerEvents","display","isHovered","index","DEFAULT_PROVIDER_SONNER_SCALE","marginTop","DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM","marginBottom","style","zIndex","whileInView","exit","transition","type","duration","DEFAULT_PROVIDER_SONNER_DURATION","children","jsxs","SonnerElementWrapper","$genre","genre","onClick","hidingMode","handleOnClick","id","isLoading","icon","SonnerIcon","Icon","size","name","SonnerContent","content","Fragment","title","SonnerContentTitle","$font","weight","description","SonnerContentDescription","button","SonnerButtonWrapper","Button","buttonGenre","SonnerLayout","styled","$zIndex","$gap","addRemoveScrollbar","$position","css","theme","colors","sonner","wrapper","background","color","borderColor","boxShadow","boxShadowHover","addTransition","DEFAULT_PROVIDER_SONNER_Z_INDEX","DEFAULT_PROVIDER_SONNER_GENRE","DEFAULT_PROVIDER_SONNER_BUTTON","memoVisibleToasts","useMemo","visibleToasts","memoDefaultDescription","_a","default","memoDefaultTitle","_b","memoDefaultButton","_c","memoDefaultHidingTime","hidingTime","_d","memoDefaultHidingMode","_e","memoDefaultGenre","_f","position","includes","contentHistory","setContentHistory","useState","setIsHovered","handleMouseEnter","useCallback","handleMouseLeave","remove","prev","itemToRemove","find","item","indexToRemove","updatedHistory","filter","map","length","toast","uuidv4","existingIndex","findIndex","newContent","unshift","setTimeout","promise","expectation","localToast","then","result","catch","error","useTheme","Provider","value","gap","onMouseEnter","onMouseLeave","AnimatePresence","isMoreThanLastViewIndexPlusOne","localGenre","localContent","localTitle","localDescription","context","useContext","Error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-80N-5MqM.cjs","sources":["../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.functions.ts","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["import Cookies from 'js-cookie'\nimport { FC, createContext, useCallback, useEffect, useState } from 'react'\n\nimport { CookieAttributes, CookieContextProps, ProviderCookieProps, ValidCookieObject } from '.'\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<CookieContextProps | 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 ValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ProviderCookieProps> = 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: ProviderCookieProps) => {\n const [cookieValues, setCookieValues] = useState<ValidCookieObject>()\n\n const getCookie = useCallback(<K extends keyof ValidCookieObject>(name: K): ValidCookieObject[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 ValidCookieObject>(name: K, value: ValidCookieObject[K], options?: CookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options)\n setCookieValues(prevState => ({ ...prevState, [name]: value }))\n } catch {\n console.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`)\n }\n },\n []\n )\n\n const removeCookieValue = useCallback(<K extends keyof ValidCookieObject>(name: K, options?: CookieAttributes) => {\n try {\n Cookies.remove(String(name), options)\n setCookieValues(prevState => ({ ...prevState, [name]: undefined }))\n } catch {\n console.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`)\n }\n }, [])\n\n const removeCookieValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach(key => {\n removeCookieValue(String(key) as never)\n })\n } else {\n console.info('Provider Cookie. Validate is not defined.')\n }\n }, [props.validate, removeCookieValue])\n\n const checkCookie = useCallback(() => {\n if (props.validate && 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 console.info('Provider Cookie. Validate is not defined.')\n }\n }, [props.validate, removeCookieValue])\n\n useEffect(() => {\n checkCookie()\n }, [checkCookie])\n\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues }\n}\n","import Cookies from 'js-cookie'\n\nimport { CookieAttributes } from '.'\n\nexport function getFromCookie<T>(key: string): T | null {\n const item = Cookies.get(key)\n if (item) {\n try {\n return JSON.parse(item) as T\n } catch (error) {\n console.error(`Error parsing cookie item \"${key}\":`, error)\n return null\n }\n }\n return null\n}\n\nexport function setToCookie<T>(key: string, value: T, options?: CookieAttributes): void {\n try {\n const item = JSON.stringify(value)\n Cookies.set(key, item, options)\n } catch (error) {\n console.error(`Error setting cookie item \"${key}\":`, error)\n }\n}\n","import { useContext } from 'react'\n\nimport { CookieContext, CookieContextProps } from '.'\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 = (): CookieContextProps => {\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"],"names":["CookieContext","createContext","useProviderCookie","props","cookieValues","setCookieValues","useState","getCookie","useCallback","name","cookie","Cookies","get","String","prevState","JSON","parse","changeCookie","value","options","set","stringify","console","info","removeCookieValue","remove","removeCookieValues","validate","validateKeys","_a","forEach","key","checkCookie","getValidateCookieValue","cookieValue","parsedValue","useEffect","setCookie","jsx","Provider","children","item","error","context","useContext","Error"],"mappings":"qGAQaA,EAAgBC,EAAAA,cAAyC,MA0ChEC,EAAqBC,IACzB,MAAOC,EAAcC,GAAmBC,aAElCC,EAAYC,cAAgDC,IAChE,MAAMC,EAASC,EAAQC,IAAIC,OAAOJ,IAKlC,OAJAJ,EAAgBS,IAAA,IACXA,EACHL,CAACA,GAAOC,EAASK,KAAKC,MAAMN,QAAU,KAEjCA,EAASK,KAAKC,MAAMN,QAAU,GACpC,IAEGO,EAAeT,EAAAA,YACnB,CAAoCC,EAASS,EAA6BC,KACxE,IACER,EAAQS,IAAIP,OAAOJ,GAAOM,KAAKM,UAAUH,GAAQC,GACjDd,EAAgBS,QAAmBA,EAAWL,CAACA,GAAOS,IAAQ,CAAA,MAE9DI,QAAQC,KAAK,6CAA6Cd,YAAeS,KAAQ,GAGrF,IAGIM,EAAoBhB,EAAAA,YAAY,CAAoCC,EAASU,KACjF,IACER,EAAQc,OAAOZ,OAAOJ,GAAOU,GAC7Bd,EAAgBS,QAAmBA,EAAWL,CAACA,QAAO,IAAY,CAAA,MAElEa,QAAQC,KAAK,kDAAkDd,KAAO,GAEvE,IAEGiB,EAAqBlB,EAAAA,YAAY,WACjCL,EAAMwB,UAAYxB,EAAMwB,SAASC,aACnC,OAAAC,EAAA1B,EAAMwB,WAANE,EAAgBD,aAAaE,QAAQC,IACnCP,EAAkBX,OAAOkB,MAG3BT,QAAQC,KAAK,8CAEd,CAACpB,EAAMwB,SAAUH,IAEdQ,EAAcxB,EAAAA,YAAY,WAC1BL,EAAMwB,UAAYxB,EAAMwB,SAASC,cAAgBzB,EAAMwB,SAASM,uBAClE,OAAAJ,EAAA1B,EAAMwB,WAANE,EAAgBD,aAAaE,QAAQC,UACnC,MAAMG,EAAcvB,EAAQC,IAAIC,OAAOkB,IACvC,GAAIG,EACF,IACE,MAAMC,EAAcpB,KAAKC,MAAMkB,IAC1B,OAAAL,EAAA1B,EAAMwB,eAAN,EAAAE,EAAgBI,uBAAuBpB,OAAOkB,GAAeI,IAGhE9B,EAAgBS,IAAA,IACXA,EACHiB,CAACA,GAAMI,KAJTX,EAAkBX,OAAOkB,GAM3B,CAAA,MAEAP,EAAkBX,OAAOkB,GAAa,MAGxCP,EAAkBX,OAAOkB,MAI7BT,QAAQC,KAAK,8CAEd,CAACpB,EAAMwB,SAAUH,IAMpB,OAJAY,EAAAA,UAAU,KACRJ,KACC,CAACA,IAEG,CAAEzB,YAAW8B,UAAWpB,EAAcO,oBAAmBE,qBAAoBM,cAAa5B,gEA9F5CD,IACrD,MAAMI,UAAEA,YAAW8B,EAAAb,kBAAWA,EAAAE,mBAAmBA,cAAoBM,EAAA5B,aAAaA,GAChFF,EAAkBC,GAEpB,SACEmC,kBAAAA,IAACtC,EAAcuC,SAAd,CACCrB,MAAO,CACLX,YACA8B,YACAb,oBACAE,qBACAM,cACA5B,gBAGDoC,SAAArC,EAAMqC,kCCzCN,SAA0BT,GAC/B,MAAMU,EAAO9B,EAAQC,IAAImB,GACzB,GAAIU,EACF,IACE,OAAO1B,KAAKC,MAAMyB,EAAI,OACfC,GAEP,OADApB,QAAQoB,MAAM,8BAA8BX,MAASW,GAC9C,IAAA,CAGX,OAAO,IACT,sBAEO,SAAwBX,EAAab,EAAUC,GACpD,IACE,MAAMsB,EAAO1B,KAAKM,UAAUH,GAC5BP,EAAQS,IAAIW,EAAKU,EAAMtB,EAAO,OACvBuB,GACPpB,QAAQoB,MAAM,8BAA8BX,MAASW,EAAK,CAE9D,oBCbyB,KACvB,MAAMC,EAAUC,EAAAA,WAAW5C,GAC3B,IAAK2C,EACH,MAAM,IAAIE,MAAM,mDAElB,OAAOF"}
1
+ {"version":3,"file":"context.functions-80N-5MqM.cjs","sources":["../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.functions.ts","../src/contexts/context-cookie/context.hooks.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport { FC, createContext, useCallback, useEffect, useState } from 'react';\n\nimport { CookieAttributes, CookieContextProps, ProviderCookieProps, ValidCookieObject } from '.';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<CookieContextProps | 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 ValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ProviderCookieProps> = (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: ProviderCookieProps) => {\n const [cookieValues, setCookieValues] = useState<ValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof ValidCookieObject>(name: K): ValidCookieObject[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 ValidCookieObject>(name: K, value: ValidCookieObject[K], options?: CookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n console.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof ValidCookieObject>(name: K, options?: CookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n console.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n console.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate && 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 console.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import Cookies from 'js-cookie';\n\nimport { CookieAttributes } from '.';\n\nexport function getFromCookie<T>(key: string): T | null {\n const item = Cookies.get(key);\n if (item) {\n try {\n return JSON.parse(item) as T;\n } catch (error) {\n console.error(`Error parsing cookie item \"${key}\":`, error);\n return null;\n }\n }\n return null;\n}\n\nexport function setToCookie<T>(key: string, value: T, options?: CookieAttributes): void {\n try {\n const item = JSON.stringify(value);\n Cookies.set(key, item, options);\n } catch (error) {\n console.error(`Error setting cookie item \"${key}\":`, error);\n }\n}\n","import { useContext } from 'react';\n\nimport { CookieContext, CookieContextProps } from '.';\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 = (): CookieContextProps => {\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"],"names":["CookieContext","createContext","useProviderCookie","props","cookieValues","setCookieValues","useState","getCookie","useCallback","name","cookie","Cookies","get","String","prevState","JSON","parse","changeCookie","value","options","set","stringify","console","info","removeCookieValue","remove","removeCookieValues","validate","validateKeys","_a","forEach","key","checkCookie","getValidateCookieValue","cookieValue","parsedValue","useEffect","setCookie","jsx","Provider","children","item","error","context","useContext","Error"],"mappings":"qGAQaA,EAAgBC,EAAAA,cAAyC,MA0ChEC,EAAqBC,IACzB,MAAOC,EAAcC,GAAmBC,aAElCC,EAAYC,cAAgDC,IAChE,MAAMC,EAASC,EAAQC,IAAIC,OAAOJ,IAKlC,OAJAJ,EAAiBS,IAAA,IACZA,EACHL,CAACA,GAAOC,EAASK,KAAKC,MAAMN,QAAU,KAEjCA,EAASK,KAAKC,MAAMN,QAAU,GACpC,IAEGO,EAAeT,EAAAA,YACnB,CAAoCC,EAASS,EAA6BC,KACxE,IACER,EAAQS,IAAIP,OAAOJ,GAAOM,KAAKM,UAAUH,GAAQC,GACjDd,EAAiBS,QAAoBA,EAAWL,CAACA,GAAOS,IAAQ,CAAA,MAEhEI,QAAQC,KAAK,6CAA6Cd,YAAeS,KAAQ,GAGrF,IAGIM,EAAoBhB,EAAAA,YAAY,CAAoCC,EAASU,KACjF,IACER,EAAQc,OAAOZ,OAAOJ,GAAOU,GAC7Bd,EAAiBS,QAAoBA,EAAWL,CAACA,QAAO,IAAY,CAAA,MAEpEa,QAAQC,KAAK,kDAAkDd,KAAO,GAEvE,IAEGiB,EAAqBlB,EAAAA,YAAY,WACjCL,EAAMwB,UAAYxB,EAAMwB,SAASC,aACnC,OAAAC,EAAA1B,EAAMwB,WAANE,EAAgBD,aAAaE,QAASC,IACpCP,EAAkBX,OAAOkB,MAG3BT,QAAQC,KAAK,8CAEd,CAACpB,EAAMwB,SAAUH,IAEdQ,EAAcxB,EAAAA,YAAY,WAC1BL,EAAMwB,UAAYxB,EAAMwB,SAASC,cAAgBzB,EAAMwB,SAASM,uBAClE,OAAAJ,EAAA1B,EAAMwB,WAANE,EAAgBD,aAAaE,QAASC,UACpC,MAAMG,EAAcvB,EAAQC,IAAIC,OAAOkB,IACvC,GAAIG,EACF,IACE,MAAMC,EAAcpB,KAAKC,MAAMkB,IAC1B,OAAAL,EAAA1B,EAAMwB,eAAN,EAAAE,EAAgBI,uBAAuBpB,OAAOkB,GAAeI,IAGhE9B,EAAiBS,IAAA,IACZA,EACHiB,CAACA,GAAMI,KAJTX,EAAkBX,OAAOkB,GAM3B,CAAA,MAEAP,EAAkBX,OAAOkB,GAAa,MAGxCP,EAAkBX,OAAOkB,MAI7BT,QAAQC,KAAK,8CAEd,CAACpB,EAAMwB,SAAUH,IAMpB,OAJAY,EAAAA,UAAU,KACRJ,KACC,CAACA,IAEG,CAAEzB,YAAW8B,UAAWpB,EAAcO,oBAAmBE,qBAAoBM,cAAa5B,gEA9F3CD,IACtD,MAAMI,UAAEA,YAAW8B,EAAAb,kBAAWA,EAAAE,mBAAmBA,cAAoBM,EAAA5B,aAAaA,GAChFF,EAAkBC,GAEpB,SACEmC,kBAAAA,IAACtC,EAAcuC,SAAd,CACCrB,MAAO,CACLX,YACA8B,YACAb,oBACAE,qBACAM,cACA5B,gBAGDoC,SAAArC,EAAMqC,kCCzCN,SAA0BT,GAC/B,MAAMU,EAAO9B,EAAQC,IAAImB,GACzB,GAAIU,EACF,IACE,OAAO1B,KAAKC,MAAMyB,EAAI,OACfC,GAEP,OADApB,QAAQoB,MAAM,8BAA8BX,MAASW,GAC9C,IAAA,CAGX,OAAO,IACT,sBAEO,SAAwBX,EAAab,EAAUC,GACpD,IACE,MAAMsB,EAAO1B,KAAKM,UAAUH,GAC5BP,EAAQS,IAAIW,EAAKU,EAAMtB,EAAO,OACvBuB,GACPpB,QAAQoB,MAAM,8BAA8BX,MAASW,EAAK,CAE9D,oBCbyB,KACvB,MAAMC,EAAUC,EAAAA,WAAW5C,GAC3B,IAAK2C,EACH,MAAM,IAAIE,MAAM,mDAElB,OAAOF"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-B8FDl7nJ.js","sources":["../src/contexts/context-permission/context.functions.ts"],"sourcesContent":["export const urlBase64ToUint8Array = (base64String: string) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4)\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/')\n\n const rawData = window.atob(base64)\n const outputArray = new Uint8Array(rawData.length)\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i)\n }\n\n return outputArray\n}\n"],"names":[],"mappings":"AAAO,MAAM,wBAAwB,CAAC,iBAAyB;AAC7D,QAAM,UAAU,IAAI,QAAQ,IAAK,aAAa,SAAS,KAAM,CAAC;AAC9D,QAAM,UAAU,eAAe,SAAS,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AAE5E,QAAM,UAAU,OAAO,KAAK,MAAM;AAClC,QAAM,cAAc,IAAI,WAAW,QAAQ,MAAM;AAEjD,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,EAAE,GAAG;AACvC,gBAAY,CAAC,IAAI,QAAQ,WAAW,CAAC;AAAA,EAAA;AAGvC,SAAO;AACT;"}
1
+ {"version":3,"file":"context.functions-B8FDl7nJ.js","sources":["../src/contexts/context-permission/context.functions.ts"],"sourcesContent":["export const urlBase64ToUint8Array = (base64String: string) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');\n\n const rawData = window.atob(base64);\n const outputArray = new Uint8Array(rawData.length);\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n\n return outputArray;\n};\n"],"names":[],"mappings":"AAAO,MAAM,wBAAwB,CAAC,iBAAyB;AAC7D,QAAM,UAAU,IAAI,QAAQ,IAAK,aAAa,SAAS,KAAM,CAAC;AAC9D,QAAM,UAAU,eAAe,SAAS,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AAE5E,QAAM,UAAU,OAAO,KAAK,MAAM;AAClC,QAAM,cAAc,IAAI,WAAW,QAAQ,MAAM;AAEjD,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,EAAE,GAAG;AACvC,gBAAY,CAAC,IAAI,QAAQ,WAAW,CAAC;AAAA,EAAA;AAGvC,SAAO;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-BD15C8_y.js","sources":["../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts","../src/contexts/context-cookie/context.functions.ts"],"sourcesContent":["import Cookies from 'js-cookie'\nimport { FC, createContext, useCallback, useEffect, useState } from 'react'\n\nimport { CookieAttributes, CookieContextProps, ProviderCookieProps, ValidCookieObject } from '.'\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<CookieContextProps | 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 ValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ProviderCookieProps> = 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: ProviderCookieProps) => {\n const [cookieValues, setCookieValues] = useState<ValidCookieObject>()\n\n const getCookie = useCallback(<K extends keyof ValidCookieObject>(name: K): ValidCookieObject[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 ValidCookieObject>(name: K, value: ValidCookieObject[K], options?: CookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options)\n setCookieValues(prevState => ({ ...prevState, [name]: value }))\n } catch {\n console.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`)\n }\n },\n []\n )\n\n const removeCookieValue = useCallback(<K extends keyof ValidCookieObject>(name: K, options?: CookieAttributes) => {\n try {\n Cookies.remove(String(name), options)\n setCookieValues(prevState => ({ ...prevState, [name]: undefined }))\n } catch {\n console.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`)\n }\n }, [])\n\n const removeCookieValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach(key => {\n removeCookieValue(String(key) as never)\n })\n } else {\n console.info('Provider Cookie. Validate is not defined.')\n }\n }, [props.validate, removeCookieValue])\n\n const checkCookie = useCallback(() => {\n if (props.validate && 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 console.info('Provider Cookie. Validate is not defined.')\n }\n }, [props.validate, removeCookieValue])\n\n useEffect(() => {\n checkCookie()\n }, [checkCookie])\n\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues }\n}\n","import { useContext } from 'react'\n\nimport { CookieContext, CookieContextProps } from '.'\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 = (): CookieContextProps => {\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","import Cookies from 'js-cookie'\n\nimport { CookieAttributes } from '.'\n\nexport function getFromCookie<T>(key: string): T | null {\n const item = Cookies.get(key)\n if (item) {\n try {\n return JSON.parse(item) as T\n } catch (error) {\n console.error(`Error parsing cookie item \"${key}\":`, error)\n return null\n }\n }\n return null\n}\n\nexport function setToCookie<T>(key: string, value: T, options?: CookieAttributes): void {\n try {\n const item = JSON.stringify(value)\n Cookies.set(key, item, options)\n } catch (error) {\n console.error(`Error setting cookie item \"${key}\":`, error)\n }\n}\n"],"names":["jsx","_a"],"mappings":"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"}
1
+ {"version":3,"file":"context.functions-BD15C8_y.js","sources":["../src/contexts/context-cookie/context.tsx","../src/contexts/context-cookie/context.hooks.ts","../src/contexts/context-cookie/context.functions.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport { FC, createContext, useCallback, useEffect, useState } from 'react';\n\nimport { CookieAttributes, CookieContextProps, ProviderCookieProps, ValidCookieObject } from '.';\n\n/**\n * Context for managing cookies.\n */\nexport const CookieContext = createContext<CookieContextProps | 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 ValidCookieObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderCookie: FC<ProviderCookieProps> = (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: ProviderCookieProps) => {\n const [cookieValues, setCookieValues] = useState<ValidCookieObject>();\n\n const getCookie = useCallback(<K extends keyof ValidCookieObject>(name: K): ValidCookieObject[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 ValidCookieObject>(name: K, value: ValidCookieObject[K], options?: CookieAttributes) => {\n try {\n Cookies.set(String(name), JSON.stringify(value), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n console.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeCookieValue = useCallback(<K extends keyof ValidCookieObject>(name: K, options?: CookieAttributes) => {\n try {\n Cookies.remove(String(name), options);\n setCookieValues((prevState) => ({ ...prevState, [name]: undefined }));\n } catch {\n console.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);\n }\n }, []);\n\n const removeCookieValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeCookieValue(String(key) as never);\n });\n } else {\n console.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n const checkCookie = useCallback(() => {\n if (props.validate && 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 console.info('Provider Cookie. Validate is not defined.');\n }\n }, [props.validate, removeCookieValue]);\n\n useEffect(() => {\n checkCookie();\n }, [checkCookie]);\n\n return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };\n};\n","import { useContext } from 'react';\n\nimport { CookieContext, CookieContextProps } from '.';\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 = (): CookieContextProps => {\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","import Cookies from 'js-cookie';\n\nimport { CookieAttributes } from '.';\n\nexport function getFromCookie<T>(key: string): T | null {\n const item = Cookies.get(key);\n if (item) {\n try {\n return JSON.parse(item) as T;\n } catch (error) {\n console.error(`Error parsing cookie item \"${key}\":`, error);\n return null;\n }\n }\n return null;\n}\n\nexport function setToCookie<T>(key: string, value: T, options?: CookieAttributes): void {\n try {\n const item = JSON.stringify(value);\n Cookies.set(key, item, options);\n } catch (error) {\n console.error(`Error setting cookie item \"${key}\":`, error);\n }\n}\n"],"names":["jsx","_a"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-CQ9GerPb.js","sources":["../src/contexts/context-local-storage/context.tsx","../src/contexts/context-local-storage/context.hooks.ts","../src/contexts/context-local-storage/context.functions.ts"],"sourcesContent":["import { FC, createContext, useCallback, useEffect, useState } from 'react'\n\nimport { LocalStorageContextProps, ProviderLocalStorageProps, ValidLocalStorageObject } from '.'\n\nexport const LocalStorageContext = createContext<LocalStorageContextProps | null>(null)\n\n/**\n * Provider component for managing local storage.\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 ValidLocalStorageObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderLocalStorage: FC<ProviderLocalStorageProps> = props => {\n const {\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n } = useProviderLocalStorage(props)\n\n return (\n <LocalStorageContext.Provider\n value={{\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n }}\n >\n {props.children}\n </LocalStorageContext.Provider>\n )\n}\n\nconst useProviderLocalStorage = (props: ProviderLocalStorageProps) => {\n const [localStorageValues, setLocalStorageValues] = useState<ValidLocalStorageObject>()\n\n const getLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K): ValidLocalStorageObject[K] | undefined => {\n const localStorageValue = localStorage.getItem(name)\n setLocalStorageValues(prevState => ({\n ...prevState,\n [name]: localStorageValue ? JSON.parse(localStorageValue) : undefined\n }))\n return localStorageValue ? JSON.parse(localStorageValue) : undefined\n },\n []\n )\n\n const changeLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K, value: ValidLocalStorageObject[K]) => {\n try {\n localStorage.setItem(String(name), JSON.stringify(value))\n setLocalStorageValues(prevState => ({ ...prevState, [name]: value }))\n } catch {\n console.info(`Provider LocalStorage. ChangeLocalStorage error - key:${name}, value:${value}.`)\n }\n },\n []\n )\n\n const removeLocalStorageValue = useCallback(<K extends keyof ValidLocalStorageObject>(name: K) => {\n try {\n localStorage.removeItem(String(name))\n setLocalStorageValues(prevState => ({\n ...prevState,\n [name]: undefined\n }))\n } catch {\n console.info(`Provider LocalStorage. RemoveLocalStorageValue error - key:${name}.`)\n }\n }, [])\n\n const removeLocalStorageValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach(key => {\n removeLocalStorageValue(String(key) as never)\n })\n } else {\n console.info('Provider LocalStorage. RemoveLocalStorageValues - validate is not defined.')\n }\n }, [props.validate, removeLocalStorageValue])\n\n const checkLocalStorage = useCallback(() => {\n if (props.validate && props.validate.validateKeys && props.validate.getValidateLocalStorageValue) {\n props.validate?.validateKeys.forEach(key => {\n const localStorageValue = localStorage.getItem(key)\n if (localStorageValue) {\n try {\n const parsedValue = JSON.parse(localStorageValue)\n if (!props.validate?.getValidateLocalStorageValue(String(key) as never, parsedValue as never)) {\n removeLocalStorageValue(String(key) as never)\n } else {\n setLocalStorageValues(prevState => ({\n ...prevState,\n [key]: parsedValue\n }))\n }\n } catch {\n removeLocalStorageValue(String(key) as never)\n }\n } else {\n removeLocalStorageValue(String(key) as never)\n }\n })\n } else {\n console.info('Provider LocalStorage. CheckLocalStorage - validate is not defined.')\n }\n }, [props.validate, removeLocalStorageValue])\n\n useEffect(() => {\n checkLocalStorage()\n }, [checkLocalStorage])\n\n return {\n getLocalStorage,\n setLocalStorage: changeLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n }\n}\n","import { useContext } from 'react'\n\nimport { LocalStorageContext, LocalStorageContextProps } from '.'\n\n/**\n * Custom hook to access the LocalStorageContext.\n */\nexport const useLocalStorage = (): LocalStorageContextProps => {\n const context = useContext(LocalStorageContext)\n if (!context) {\n throw new Error('useLocalStorage must be used within an ProviderLocalStorage')\n }\n return context\n}\n","export function getFromLocalStorage<T>(key: string): T | null {\n const item = localStorage.getItem(key)\n if (item) {\n try {\n return JSON.parse(item) as T\n } catch (error) {\n console.error(`Error parsing localStorage item \"${key}\":`, error)\n return null\n }\n }\n return null\n}\n\nexport function setToLocalStorage<T>(key: string, value: T): void {\n try {\n const item = JSON.stringify(value)\n localStorage.setItem(key, item)\n } catch (error) {\n console.error(`Error setting localStorage item \"${key}\":`, error)\n }\n}\n"],"names":["jsx","_a"],"mappings":"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"}
1
+ {"version":3,"file":"context.functions-CQ9GerPb.js","sources":["../src/contexts/context-local-storage/context.tsx","../src/contexts/context-local-storage/context.hooks.ts","../src/contexts/context-local-storage/context.functions.ts"],"sourcesContent":["import { FC, createContext, useCallback, useEffect, useState } from 'react';\n\nimport { LocalStorageContextProps, ProviderLocalStorageProps, ValidLocalStorageObject } from '.';\n\nexport const LocalStorageContext = createContext<LocalStorageContextProps | null>(null);\n\n/**\n * Provider component for managing local storage.\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 ValidLocalStorageObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderLocalStorage: FC<ProviderLocalStorageProps> = (props) => {\n const {\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n } = useProviderLocalStorage(props);\n\n return (\n <LocalStorageContext.Provider\n value={{\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n }}\n >\n {props.children}\n </LocalStorageContext.Provider>\n );\n};\n\nconst useProviderLocalStorage = (props: ProviderLocalStorageProps) => {\n const [localStorageValues, setLocalStorageValues] = useState<ValidLocalStorageObject>();\n\n const getLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K): ValidLocalStorageObject[K] | undefined => {\n const localStorageValue = localStorage.getItem(name);\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [name]: localStorageValue ? JSON.parse(localStorageValue) : undefined,\n }));\n return localStorageValue ? JSON.parse(localStorageValue) : undefined;\n },\n [],\n );\n\n const changeLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K, value: ValidLocalStorageObject[K]) => {\n try {\n localStorage.setItem(String(name), JSON.stringify(value));\n setLocalStorageValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n console.info(`Provider LocalStorage. ChangeLocalStorage error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeLocalStorageValue = useCallback(<K extends keyof ValidLocalStorageObject>(name: K) => {\n try {\n localStorage.removeItem(String(name));\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [name]: undefined,\n }));\n } catch {\n console.info(`Provider LocalStorage. RemoveLocalStorageValue error - key:${name}.`);\n }\n }, []);\n\n const removeLocalStorageValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeLocalStorageValue(String(key) as never);\n });\n } else {\n console.info('Provider LocalStorage. RemoveLocalStorageValues - validate is not defined.');\n }\n }, [props.validate, removeLocalStorageValue]);\n\n const checkLocalStorage = useCallback(() => {\n if (props.validate && props.validate.validateKeys && props.validate.getValidateLocalStorageValue) {\n props.validate?.validateKeys.forEach((key) => {\n const localStorageValue = localStorage.getItem(key);\n if (localStorageValue) {\n try {\n const parsedValue = JSON.parse(localStorageValue);\n if (!props.validate?.getValidateLocalStorageValue(String(key) as never, parsedValue as never)) {\n removeLocalStorageValue(String(key) as never);\n } else {\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeLocalStorageValue(String(key) as never);\n }\n } else {\n removeLocalStorageValue(String(key) as never);\n }\n });\n } else {\n console.info('Provider LocalStorage. CheckLocalStorage - validate is not defined.');\n }\n }, [props.validate, removeLocalStorageValue]);\n\n useEffect(() => {\n checkLocalStorage();\n }, [checkLocalStorage]);\n\n return {\n getLocalStorage,\n setLocalStorage: changeLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n };\n};\n","import { useContext } from 'react';\n\nimport { LocalStorageContext, LocalStorageContextProps } from '.';\n\n/**\n * Custom hook to access the LocalStorageContext.\n */\nexport const useLocalStorage = (): LocalStorageContextProps => {\n const context = useContext(LocalStorageContext);\n if (!context) {\n throw new Error('useLocalStorage must be used within an ProviderLocalStorage');\n }\n return context;\n};\n","export function getFromLocalStorage<T>(key: string): T | null {\n const item = localStorage.getItem(key);\n if (item) {\n try {\n return JSON.parse(item) as T;\n } catch (error) {\n console.error(`Error parsing localStorage item \"${key}\":`, error);\n return null;\n }\n }\n return null;\n}\n\nexport function setToLocalStorage<T>(key: string, value: T): void {\n try {\n const item = JSON.stringify(value);\n localStorage.setItem(key, item);\n } catch (error) {\n console.error(`Error setting localStorage item \"${key}\":`, error);\n }\n}\n"],"names":["jsx","_a"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-ar41xFVo.cjs","sources":["../src/contexts/context-permission/context.functions.ts"],"sourcesContent":["export const urlBase64ToUint8Array = (base64String: string) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4)\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/')\n\n const rawData = window.atob(base64)\n const outputArray = new Uint8Array(rawData.length)\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i)\n }\n\n return outputArray\n}\n"],"names":["base64String","base64","repeat","length","replace","rawData","window","atob","outputArray","Uint8Array","i","charCodeAt"],"mappings":"2CAAsCA,IACpC,MACMC,GAAUD,EADA,IAAIE,QAAQ,EAAKF,EAAaG,OAAS,GAAM,IACrBC,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KAEnEC,EAAUC,OAAOC,KAAKN,GACtBO,EAAc,IAAIC,WAAWJ,EAAQF,QAE3C,IAAA,IAASO,EAAI,EAAGA,EAAIL,EAAQF,SAAUO,EACpCF,EAAYE,GAAKL,EAAQM,WAAWD,GAGtC,OAAOF"}
1
+ {"version":3,"file":"context.functions-ar41xFVo.cjs","sources":["../src/contexts/context-permission/context.functions.ts"],"sourcesContent":["export const urlBase64ToUint8Array = (base64String: string) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');\n\n const rawData = window.atob(base64);\n const outputArray = new Uint8Array(rawData.length);\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n\n return outputArray;\n};\n"],"names":["base64String","base64","repeat","length","replace","rawData","window","atob","outputArray","Uint8Array","i","charCodeAt"],"mappings":"2CAAsCA,IACpC,MACMC,GAAUD,EADA,IAAIE,QAAQ,EAAKF,EAAaG,OAAS,GAAM,IACrBC,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KAEnEC,EAAUC,OAAOC,KAAKN,GACtBO,EAAc,IAAIC,WAAWJ,EAAQF,QAE3C,IAAA,IAASO,EAAI,EAAGA,EAAIL,EAAQF,SAAUO,EACpCF,EAAYE,GAAKL,EAAQM,WAAWD,GAGtC,OAAOF"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.functions-ohI9H54j.cjs","sources":["../src/contexts/context-local-storage/context.tsx","../src/contexts/context-local-storage/context.functions.ts","../src/contexts/context-local-storage/context.hooks.ts"],"sourcesContent":["import { FC, createContext, useCallback, useEffect, useState } from 'react'\n\nimport { LocalStorageContextProps, ProviderLocalStorageProps, ValidLocalStorageObject } from '.'\n\nexport const LocalStorageContext = createContext<LocalStorageContextProps | null>(null)\n\n/**\n * Provider component for managing local storage.\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 ValidLocalStorageObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderLocalStorage: FC<ProviderLocalStorageProps> = props => {\n const {\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n } = useProviderLocalStorage(props)\n\n return (\n <LocalStorageContext.Provider\n value={{\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n }}\n >\n {props.children}\n </LocalStorageContext.Provider>\n )\n}\n\nconst useProviderLocalStorage = (props: ProviderLocalStorageProps) => {\n const [localStorageValues, setLocalStorageValues] = useState<ValidLocalStorageObject>()\n\n const getLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K): ValidLocalStorageObject[K] | undefined => {\n const localStorageValue = localStorage.getItem(name)\n setLocalStorageValues(prevState => ({\n ...prevState,\n [name]: localStorageValue ? JSON.parse(localStorageValue) : undefined\n }))\n return localStorageValue ? JSON.parse(localStorageValue) : undefined\n },\n []\n )\n\n const changeLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K, value: ValidLocalStorageObject[K]) => {\n try {\n localStorage.setItem(String(name), JSON.stringify(value))\n setLocalStorageValues(prevState => ({ ...prevState, [name]: value }))\n } catch {\n console.info(`Provider LocalStorage. ChangeLocalStorage error - key:${name}, value:${value}.`)\n }\n },\n []\n )\n\n const removeLocalStorageValue = useCallback(<K extends keyof ValidLocalStorageObject>(name: K) => {\n try {\n localStorage.removeItem(String(name))\n setLocalStorageValues(prevState => ({\n ...prevState,\n [name]: undefined\n }))\n } catch {\n console.info(`Provider LocalStorage. RemoveLocalStorageValue error - key:${name}.`)\n }\n }, [])\n\n const removeLocalStorageValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach(key => {\n removeLocalStorageValue(String(key) as never)\n })\n } else {\n console.info('Provider LocalStorage. RemoveLocalStorageValues - validate is not defined.')\n }\n }, [props.validate, removeLocalStorageValue])\n\n const checkLocalStorage = useCallback(() => {\n if (props.validate && props.validate.validateKeys && props.validate.getValidateLocalStorageValue) {\n props.validate?.validateKeys.forEach(key => {\n const localStorageValue = localStorage.getItem(key)\n if (localStorageValue) {\n try {\n const parsedValue = JSON.parse(localStorageValue)\n if (!props.validate?.getValidateLocalStorageValue(String(key) as never, parsedValue as never)) {\n removeLocalStorageValue(String(key) as never)\n } else {\n setLocalStorageValues(prevState => ({\n ...prevState,\n [key]: parsedValue\n }))\n }\n } catch {\n removeLocalStorageValue(String(key) as never)\n }\n } else {\n removeLocalStorageValue(String(key) as never)\n }\n })\n } else {\n console.info('Provider LocalStorage. CheckLocalStorage - validate is not defined.')\n }\n }, [props.validate, removeLocalStorageValue])\n\n useEffect(() => {\n checkLocalStorage()\n }, [checkLocalStorage])\n\n return {\n getLocalStorage,\n setLocalStorage: changeLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues\n }\n}\n","export function getFromLocalStorage<T>(key: string): T | null {\n const item = localStorage.getItem(key)\n if (item) {\n try {\n return JSON.parse(item) as T\n } catch (error) {\n console.error(`Error parsing localStorage item \"${key}\":`, error)\n return null\n }\n }\n return null\n}\n\nexport function setToLocalStorage<T>(key: string, value: T): void {\n try {\n const item = JSON.stringify(value)\n localStorage.setItem(key, item)\n } catch (error) {\n console.error(`Error setting localStorage item \"${key}\":`, error)\n }\n}\n","import { useContext } from 'react'\n\nimport { LocalStorageContext, LocalStorageContextProps } from '.'\n\n/**\n * Custom hook to access the LocalStorageContext.\n */\nexport const useLocalStorage = (): LocalStorageContextProps => {\n const context = useContext(LocalStorageContext)\n if (!context) {\n throw new Error('useLocalStorage must be used within an ProviderLocalStorage')\n }\n return context\n}\n"],"names":["LocalStorageContext","createContext","useProviderLocalStorage","props","localStorageValues","setLocalStorageValues","useState","getLocalStorage","useCallback","name","localStorageValue","localStorage","getItem","prevState","JSON","parse","changeLocalStorage","value","setItem","String","stringify","console","info","removeLocalStorageValue","removeItem","removeLocalStorageValues","validate","validateKeys","_a","forEach","key","checkLocalStorage","getValidateLocalStorageValue","parsedValue","useEffect","setLocalStorage","jsx","Provider","children","item","error","context","useContext","Error"],"mappings":"8EAIaA,EAAsBC,EAAAA,cAA+C,MA6C5EC,EAA2BC,IAC/B,MAAOC,EAAoBC,GAAyBC,aAE9CC,EAAkBC,EAAAA,YACoBC,IACxC,MAAMC,EAAoBC,aAAaC,QAAQH,GAK/C,OAJAJ,EAAsBQ,IAAA,IACjBA,EACHJ,CAACA,GAAOC,EAAoBI,KAAKC,MAAML,QAAqB,KAEvDA,EAAoBI,KAAKC,MAAML,QAAqB,GAE7D,IAGIM,EAAqBR,EAAAA,YACzB,CAA0CC,EAASQ,KACjD,IACEN,aAAaO,QAAQC,OAAOV,GAAOK,KAAKM,UAAUH,IAClDZ,EAAsBQ,QAAmBA,EAAWJ,CAACA,GAAOQ,IAAQ,CAAA,MAEpEI,QAAQC,KAAK,yDAAyDb,YAAeQ,KAAQ,GAGjG,IAGIM,EAA0Bf,cAAsDC,IACpF,IACEE,aAAaa,WAAWL,OAAOV,IAC/BJ,EAAsBQ,IAAA,IACjBA,EACHJ,CAACA,QAAO,IACR,CAAA,MAEFY,QAAQC,KAAK,8DAA8Db,KAAO,GAEnF,IAEGgB,EAA2BjB,EAAAA,YAAY,WACvCL,EAAMuB,UAAYvB,EAAMuB,SAASC,aACnC,OAAAC,EAAAzB,EAAMuB,WAANE,EAAgBD,aAAaE,QAAQC,IACnCP,EAAwBJ,OAAOW,MAGjCT,QAAQC,KAAK,+EAEd,CAACnB,EAAMuB,SAAUH,IAEdQ,EAAoBvB,EAAAA,YAAY,WAChCL,EAAMuB,UAAYvB,EAAMuB,SAASC,cAAgBxB,EAAMuB,SAASM,6BAClE,OAAAJ,EAAAzB,EAAMuB,WAANE,EAAgBD,aAAaE,QAAQC,UACnC,MAAMpB,EAAoBC,aAAaC,QAAQkB,GAC/C,GAAIpB,EACF,IACE,MAAMuB,EAAcnB,KAAKC,MAAML,IAC1B,OAAAkB,EAAAzB,EAAMuB,eAAN,EAAAE,EAAgBI,6BAA6Bb,OAAOW,GAAeG,IAGtE5B,EAAsBQ,IAAA,IACjBA,EACHiB,CAACA,GAAMG,KAJTV,EAAwBJ,OAAOW,GAMjC,CAAA,MAEAP,EAAwBJ,OAAOW,GAAa,MAG9CP,EAAwBJ,OAAOW,MAInCT,QAAQC,KAAK,wEAEd,CAACnB,EAAMuB,SAAUH,IAMpB,OAJAW,EAAAA,UAAU,KACRH,KACC,CAACA,IAEG,CACLxB,kBACA4B,gBAAiBnB,EACjBO,0BACAE,2BACAM,oBACA3B,kFAhH+DD,IACjE,MAAMI,gBACJA,EAAA4B,gBACAA,EAAAZ,wBACAA,EAAAE,yBACAA,EAAAM,kBACAA,EAAA3B,mBACAA,GACEF,EAAwBC,GAE5B,SACEiC,kBAAAA,IAACpC,EAAoBqC,SAApB,CACCpB,MAAO,CACLV,kBACA4B,kBACAZ,0BACAE,2BACAM,oBACA3B,sBAGDkC,SAAAnC,EAAMmC,wCC5CN,SAAgCR,GACrC,MAAMS,EAAO5B,aAAaC,QAAQkB,GAClC,GAAIS,EACF,IACE,OAAOzB,KAAKC,MAAMwB,EAAI,OACfC,GAEP,OADAnB,QAAQmB,MAAM,oCAAoCV,MAASU,GACpD,IAAA,CAGX,OAAO,IACT,4BAEO,SAA8BV,EAAab,GAChD,IACE,MAAMsB,EAAOzB,KAAKM,UAAUH,GAC5BN,aAAaO,QAAQY,EAAKS,EAAI,OACvBC,GACPnB,QAAQmB,MAAM,oCAAoCV,MAASU,EAAK,CAEpE,0BCb+B,KAC7B,MAAMC,EAAUC,EAAAA,WAAW1C,GAC3B,IAAKyC,EACH,MAAM,IAAIE,MAAM,+DAElB,OAAOF"}
1
+ {"version":3,"file":"context.functions-ohI9H54j.cjs","sources":["../src/contexts/context-local-storage/context.tsx","../src/contexts/context-local-storage/context.functions.ts","../src/contexts/context-local-storage/context.hooks.ts"],"sourcesContent":["import { FC, createContext, useCallback, useEffect, useState } from 'react';\n\nimport { LocalStorageContextProps, ProviderLocalStorageProps, ValidLocalStorageObject } from '.';\n\nexport const LocalStorageContext = createContext<LocalStorageContextProps | null>(null);\n\n/**\n * Provider component for managing local storage.\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 ValidLocalStorageObject {\n * access_token: string\n * refresh_token: string\n * }\n * }\n * ```\n */\nexport const ProviderLocalStorage: FC<ProviderLocalStorageProps> = (props) => {\n const {\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n } = useProviderLocalStorage(props);\n\n return (\n <LocalStorageContext.Provider\n value={{\n getLocalStorage,\n setLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n }}\n >\n {props.children}\n </LocalStorageContext.Provider>\n );\n};\n\nconst useProviderLocalStorage = (props: ProviderLocalStorageProps) => {\n const [localStorageValues, setLocalStorageValues] = useState<ValidLocalStorageObject>();\n\n const getLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K): ValidLocalStorageObject[K] | undefined => {\n const localStorageValue = localStorage.getItem(name);\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [name]: localStorageValue ? JSON.parse(localStorageValue) : undefined,\n }));\n return localStorageValue ? JSON.parse(localStorageValue) : undefined;\n },\n [],\n );\n\n const changeLocalStorage = useCallback(\n <K extends keyof ValidLocalStorageObject>(name: K, value: ValidLocalStorageObject[K]) => {\n try {\n localStorage.setItem(String(name), JSON.stringify(value));\n setLocalStorageValues((prevState) => ({ ...prevState, [name]: value }));\n } catch {\n console.info(`Provider LocalStorage. ChangeLocalStorage error - key:${name}, value:${value}.`);\n }\n },\n [],\n );\n\n const removeLocalStorageValue = useCallback(<K extends keyof ValidLocalStorageObject>(name: K) => {\n try {\n localStorage.removeItem(String(name));\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [name]: undefined,\n }));\n } catch {\n console.info(`Provider LocalStorage. RemoveLocalStorageValue error - key:${name}.`);\n }\n }, []);\n\n const removeLocalStorageValues = useCallback(() => {\n if (props.validate && props.validate.validateKeys) {\n props.validate?.validateKeys.forEach((key) => {\n removeLocalStorageValue(String(key) as never);\n });\n } else {\n console.info('Provider LocalStorage. RemoveLocalStorageValues - validate is not defined.');\n }\n }, [props.validate, removeLocalStorageValue]);\n\n const checkLocalStorage = useCallback(() => {\n if (props.validate && props.validate.validateKeys && props.validate.getValidateLocalStorageValue) {\n props.validate?.validateKeys.forEach((key) => {\n const localStorageValue = localStorage.getItem(key);\n if (localStorageValue) {\n try {\n const parsedValue = JSON.parse(localStorageValue);\n if (!props.validate?.getValidateLocalStorageValue(String(key) as never, parsedValue as never)) {\n removeLocalStorageValue(String(key) as never);\n } else {\n setLocalStorageValues((prevState) => ({\n ...prevState,\n [key]: parsedValue,\n }));\n }\n } catch {\n removeLocalStorageValue(String(key) as never);\n }\n } else {\n removeLocalStorageValue(String(key) as never);\n }\n });\n } else {\n console.info('Provider LocalStorage. CheckLocalStorage - validate is not defined.');\n }\n }, [props.validate, removeLocalStorageValue]);\n\n useEffect(() => {\n checkLocalStorage();\n }, [checkLocalStorage]);\n\n return {\n getLocalStorage,\n setLocalStorage: changeLocalStorage,\n removeLocalStorageValue,\n removeLocalStorageValues,\n checkLocalStorage,\n localStorageValues,\n };\n};\n","export function getFromLocalStorage<T>(key: string): T | null {\n const item = localStorage.getItem(key);\n if (item) {\n try {\n return JSON.parse(item) as T;\n } catch (error) {\n console.error(`Error parsing localStorage item \"${key}\":`, error);\n return null;\n }\n }\n return null;\n}\n\nexport function setToLocalStorage<T>(key: string, value: T): void {\n try {\n const item = JSON.stringify(value);\n localStorage.setItem(key, item);\n } catch (error) {\n console.error(`Error setting localStorage item \"${key}\":`, error);\n }\n}\n","import { useContext } from 'react';\n\nimport { LocalStorageContext, LocalStorageContextProps } from '.';\n\n/**\n * Custom hook to access the LocalStorageContext.\n */\nexport const useLocalStorage = (): LocalStorageContextProps => {\n const context = useContext(LocalStorageContext);\n if (!context) {\n throw new Error('useLocalStorage must be used within an ProviderLocalStorage');\n }\n return context;\n};\n"],"names":["LocalStorageContext","createContext","useProviderLocalStorage","props","localStorageValues","setLocalStorageValues","useState","getLocalStorage","useCallback","name","localStorageValue","localStorage","getItem","prevState","JSON","parse","changeLocalStorage","value","setItem","String","stringify","console","info","removeLocalStorageValue","removeItem","removeLocalStorageValues","validate","validateKeys","_a","forEach","key","checkLocalStorage","getValidateLocalStorageValue","parsedValue","useEffect","setLocalStorage","jsx","Provider","children","item","error","context","useContext","Error"],"mappings":"8EAIaA,EAAsBC,EAAAA,cAA+C,MA6C5EC,EAA2BC,IAC/B,MAAOC,EAAoBC,GAAyBC,aAE9CC,EAAkBC,EAAAA,YACoBC,IACxC,MAAMC,EAAoBC,aAAaC,QAAQH,GAK/C,OAJAJ,EAAuBQ,IAAA,IAClBA,EACHJ,CAACA,GAAOC,EAAoBI,KAAKC,MAAML,QAAqB,KAEvDA,EAAoBI,KAAKC,MAAML,QAAqB,GAE7D,IAGIM,EAAqBR,EAAAA,YACzB,CAA0CC,EAASQ,KACjD,IACEN,aAAaO,QAAQC,OAAOV,GAAOK,KAAKM,UAAUH,IAClDZ,EAAuBQ,QAAoBA,EAAWJ,CAACA,GAAOQ,IAAQ,CAAA,MAEtEI,QAAQC,KAAK,yDAAyDb,YAAeQ,KAAQ,GAGjG,IAGIM,EAA0Bf,cAAsDC,IACpF,IACEE,aAAaa,WAAWL,OAAOV,IAC/BJ,EAAuBQ,IAAA,IAClBA,EACHJ,CAACA,QAAO,IACR,CAAA,MAEFY,QAAQC,KAAK,8DAA8Db,KAAO,GAEnF,IAEGgB,EAA2BjB,EAAAA,YAAY,WACvCL,EAAMuB,UAAYvB,EAAMuB,SAASC,aACnC,OAAAC,EAAAzB,EAAMuB,WAANE,EAAgBD,aAAaE,QAASC,IACpCP,EAAwBJ,OAAOW,MAGjCT,QAAQC,KAAK,+EAEd,CAACnB,EAAMuB,SAAUH,IAEdQ,EAAoBvB,EAAAA,YAAY,WAChCL,EAAMuB,UAAYvB,EAAMuB,SAASC,cAAgBxB,EAAMuB,SAASM,6BAClE,OAAAJ,EAAAzB,EAAMuB,WAANE,EAAgBD,aAAaE,QAASC,UACpC,MAAMpB,EAAoBC,aAAaC,QAAQkB,GAC/C,GAAIpB,EACF,IACE,MAAMuB,EAAcnB,KAAKC,MAAML,IAC1B,OAAAkB,EAAAzB,EAAMuB,eAAN,EAAAE,EAAgBI,6BAA6Bb,OAAOW,GAAeG,IAGtE5B,EAAuBQ,IAAA,IAClBA,EACHiB,CAACA,GAAMG,KAJTV,EAAwBJ,OAAOW,GAMjC,CAAA,MAEAP,EAAwBJ,OAAOW,GAAa,MAG9CP,EAAwBJ,OAAOW,MAInCT,QAAQC,KAAK,wEAEd,CAACnB,EAAMuB,SAAUH,IAMpB,OAJAW,EAAAA,UAAU,KACRH,KACC,CAACA,IAEG,CACLxB,kBACA4B,gBAAiBnB,EACjBO,0BACAE,2BACAM,oBACA3B,kFAhHgED,IAClE,MAAMI,gBACJA,EAAA4B,gBACAA,EAAAZ,wBACAA,EAAAE,yBACAA,EAAAM,kBACAA,EAAA3B,mBACAA,GACEF,EAAwBC,GAE5B,SACEiC,kBAAAA,IAACpC,EAAoBqC,SAApB,CACCpB,MAAO,CACLV,kBACA4B,kBACAZ,0BACAE,2BACAM,oBACA3B,sBAGDkC,SAAAnC,EAAMmC,wCC5CN,SAAgCR,GACrC,MAAMS,EAAO5B,aAAaC,QAAQkB,GAClC,GAAIS,EACF,IACE,OAAOzB,KAAKC,MAAMwB,EAAI,OACfC,GAEP,OADAnB,QAAQmB,MAAM,oCAAoCV,MAASU,GACpD,IAAA,CAGX,OAAO,IACT,4BAEO,SAA8BV,EAAab,GAChD,IACE,MAAMsB,EAAOzB,KAAKM,UAAUH,GAC5BN,aAAaO,QAAQY,EAAKS,EAAI,OACvBC,GACPnB,QAAQmB,MAAM,oCAAoCV,MAASU,EAAK,CAEpE,0BCb+B,KAC7B,MAAMC,EAAUC,EAAAA,WAAW1C,GAC3B,IAAKyC,EACH,MAAM,IAAIE,MAAM,+DAElB,OAAOF"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.hooks-7ydA7mGj.js","sources":["../src/contexts/context-permission/context.tsx","../src/contexts/context-permission/context.hooks.ts"],"sourcesContent":["import { createContext, useCallback, useEffect, useState } from 'react'\n\nimport { PermissionContextProps, ProviderPermissionProps } from '.'\n\nexport const PermissionContext = createContext<PermissionContextProps | null>(null)\n\nexport const ProviderPermission = (props: ProviderPermissionProps) => {\n const { pushNotificationSupported } = usePushNotificationSupported()\n const { isBiometricSupported } = useBiometricSupported()\n const { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading } =\n useNotificationPermission()\n const { geolocationPermission, requestGeolocationPermission } = useGeolocationPermission()\n\n return (\n <PermissionContext.Provider\n value={{\n isBiometricSupported,\n geolocationPermission,\n pushNotificationSupported,\n requestGeolocationPermission,\n notificationPermission,\n requestNotificationPermission,\n isNotificationPermissionLoading\n }}\n >\n {props.children}\n </PermissionContext.Provider>\n )\n}\n\nconst useBiometricSupported = () => {\n const [isBiometricSupported, setIsBiometricSupported] = useState(false)\n\n useEffect(() => {\n const checkBiometricAvailability = async () => {\n try {\n if (\n window.PublicKeyCredential &&\n typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable === 'function'\n ) {\n const available = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()\n setIsBiometricSupported(available)\n } else {\n setIsBiometricSupported(false)\n }\n } catch (error) {\n console.error('Error checking biometric availability:', error)\n setIsBiometricSupported(false)\n }\n }\n\n checkBiometricAvailability()\n }, [])\n\n return { isBiometricSupported }\n}\n\nconst useGeolocationPermission = () => {\n // eslint-disable-next-line no-undef\n const [geolocationPermission, setGeolocationPermission] = useState<PermissionState | null>(null)\n\n useEffect(() => {\n if ('permissions' in window.navigator) {\n window.navigator.permissions.query({ name: 'geolocation' }).then(permissionStatus => {\n setGeolocationPermission(permissionStatus.state)\n permissionStatus.onchange = () => {\n setGeolocationPermission(permissionStatus.state)\n }\n })\n }\n }, [])\n\n const requestGeolocationPermission = useCallback(() => {\n if ('geolocation' in window.navigator) {\n window.navigator.geolocation.getCurrentPosition(\n () => setGeolocationPermission('granted'),\n () => setGeolocationPermission('denied')\n )\n } else {\n console.warn('Provider Permission. Geolocation is not supported in this browser.')\n }\n }, [])\n\n return { geolocationPermission, requestGeolocationPermission }\n}\n\nconst useNotificationPermission = () => {\n // eslint-disable-next-line no-undef\n const [notificationPermission, setNotificationPermission] = useState<NotificationPermission | null>(null)\n const [isNotificationPermissionLoading, setIsNotificationPermissionLoading] = useState<boolean>(false)\n\n const requestNotificationPermission = useCallback(async () => {\n setIsNotificationPermissionLoading(true)\n if ('Notification' in window) {\n try {\n setIsNotificationPermissionLoading(true)\n const permission = await window.Notification.requestPermission()\n setNotificationPermission(permission)\n setIsNotificationPermissionLoading(false)\n return permission\n } catch (error) {\n console.error('Provider Permission. Failed to request notification permission:', error)\n }\n } else {\n console.warn('Provider Permission. Notifications are not supported in this browser.')\n }\n setIsNotificationPermissionLoading(false)\n }, [])\n\n useEffect(() => {\n if ('Notification' in window) {\n setNotificationPermission(window.Notification.permission)\n }\n }, [])\n\n return { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading }\n}\n\nconst usePushNotificationSupported = () => {\n const [pushNotificationSupported, setPushNotificationSupported] = useState<boolean>(false)\n\n useEffect(() => {\n if ('PushManager' in window) {\n setPushNotificationSupported(true)\n }\n }, [])\n\n return { pushNotificationSupported }\n}\n","import { useContext } from 'react'\n\nimport { PermissionContext, PermissionContextProps } from '.'\n\n/**\n * Custom hook to access the PermissionContext.\n */\nexport const usePermission = (): PermissionContextProps => {\n const context = useContext(PermissionContext)\n if (!context) {\n throw new Error('usePermission must be used within an PermissionProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"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"}
1
+ {"version":3,"file":"context.hooks-7ydA7mGj.js","sources":["../src/contexts/context-permission/context.tsx","../src/contexts/context-permission/context.hooks.ts"],"sourcesContent":["import { createContext, useCallback, useEffect, useState } from 'react';\n\nimport { PermissionContextProps, ProviderPermissionProps } from '.';\n\nexport const PermissionContext = createContext<PermissionContextProps | null>(null);\n\nexport const ProviderPermission = (props: ProviderPermissionProps) => {\n const { pushNotificationSupported } = usePushNotificationSupported();\n const { isBiometricSupported } = useBiometricSupported();\n const { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading } =\n useNotificationPermission();\n const { geolocationPermission, requestGeolocationPermission } = useGeolocationPermission();\n\n return (\n <PermissionContext.Provider\n value={{\n isBiometricSupported,\n geolocationPermission,\n pushNotificationSupported,\n requestGeolocationPermission,\n notificationPermission,\n requestNotificationPermission,\n isNotificationPermissionLoading,\n }}\n >\n {props.children}\n </PermissionContext.Provider>\n );\n};\n\nconst useBiometricSupported = () => {\n const [isBiometricSupported, setIsBiometricSupported] = useState(false);\n\n useEffect(() => {\n const checkBiometricAvailability = async () => {\n try {\n if (\n window.PublicKeyCredential &&\n typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable === 'function'\n ) {\n const available = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n setIsBiometricSupported(available);\n } else {\n setIsBiometricSupported(false);\n }\n } catch (error) {\n console.error('Error checking biometric availability:', error);\n setIsBiometricSupported(false);\n }\n };\n\n checkBiometricAvailability();\n }, []);\n\n return { isBiometricSupported };\n};\n\nconst useGeolocationPermission = () => {\n // eslint-disable-next-line no-undef\n const [geolocationPermission, setGeolocationPermission] = useState<PermissionState | null>(null);\n\n useEffect(() => {\n if ('permissions' in window.navigator) {\n window.navigator.permissions.query({ name: 'geolocation' }).then((permissionStatus) => {\n setGeolocationPermission(permissionStatus.state);\n permissionStatus.onchange = () => {\n setGeolocationPermission(permissionStatus.state);\n };\n });\n }\n }, []);\n\n const requestGeolocationPermission = useCallback(() => {\n if ('geolocation' in window.navigator) {\n window.navigator.geolocation.getCurrentPosition(\n () => setGeolocationPermission('granted'),\n () => setGeolocationPermission('denied'),\n );\n } else {\n console.warn('Provider Permission. Geolocation is not supported in this browser.');\n }\n }, []);\n\n return { geolocationPermission, requestGeolocationPermission };\n};\n\nconst useNotificationPermission = () => {\n // eslint-disable-next-line no-undef\n const [notificationPermission, setNotificationPermission] = useState<NotificationPermission | null>(null);\n const [isNotificationPermissionLoading, setIsNotificationPermissionLoading] = useState<boolean>(false);\n\n const requestNotificationPermission = useCallback(async () => {\n setIsNotificationPermissionLoading(true);\n if ('Notification' in window) {\n try {\n setIsNotificationPermissionLoading(true);\n const permission = await window.Notification.requestPermission();\n setNotificationPermission(permission);\n setIsNotificationPermissionLoading(false);\n return permission;\n } catch (error) {\n console.error('Provider Permission. Failed to request notification permission:', error);\n }\n } else {\n console.warn('Provider Permission. Notifications are not supported in this browser.');\n }\n setIsNotificationPermissionLoading(false);\n }, []);\n\n useEffect(() => {\n if ('Notification' in window) {\n setNotificationPermission(window.Notification.permission);\n }\n }, []);\n\n return { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading };\n};\n\nconst usePushNotificationSupported = () => {\n const [pushNotificationSupported, setPushNotificationSupported] = useState<boolean>(false);\n\n useEffect(() => {\n if ('PushManager' in window) {\n setPushNotificationSupported(true);\n }\n }, []);\n\n return { pushNotificationSupported };\n};\n","import { useContext } from 'react';\n\nimport { PermissionContext, PermissionContextProps } from '.';\n\n/**\n * Custom hook to access the PermissionContext.\n */\nexport const usePermission = (): PermissionContextProps => {\n const context = useContext(PermissionContext);\n if (!context) {\n throw new Error('usePermission must be used within an PermissionProvider');\n }\n return context;\n};\n"],"names":["jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.hooks-BIsapq-0.cjs","sources":["../src/contexts/context-screen-width/context.tsx","../src/contexts/context-screen-width/context.hooks.ts"],"sourcesContent":["import { FC, createContext, useEffect, useMemo, useState } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ProviderScreenWidthProps, ScreenWidthContextProps, Screens } from '.'\n\nexport const ScreenWidthContext = createContext<ScreenWidthContextProps | null>(null)\n\nexport const ProviderScreenWidth: FC<ProviderScreenWidthProps> = props => {\n const theme = useTheme()\n const [screenWidth, setScreenWidth] = useState<Screens>('default')\n\n const screens: ScreenWidthContextProps['screens'] = useMemo(() => {\n const allSizes = Object.entries(theme.screens).map(([key]) => {\n return {\n isScreen: screenWidth === key,\n value: key as Screens\n }\n })\n return allSizes\n }, [screenWidth, theme.screens])\n\n const screenActual: ScreenWidthContextProps['screenActual'] = useMemo(() => {\n const find = screens.find(item => item.isScreen)\n return find?.value ?? 'default'\n }, [screens])\n\n useEffect(() => {\n const sortedScreens = Object.entries(theme.screens)\n .map(([key, value]) => ({\n key: key as Screens,\n bp: (value as { width: number }).width\n }))\n .sort((a, b) => a.bp - b.bp)\n\n const queries = sortedScreens.map(({ key, bp }) => {\n return { key, mq: window.matchMedia(`(max-width: ${bp}px)`) }\n })\n const updateScreen = () => {\n for (const { key, mq } of queries) {\n if (mq.matches) {\n setScreenWidth(key)\n return\n }\n }\n // На всякий случай fallback\n setScreenWidth('default')\n }\n\n queries.forEach(({ mq }) => mq.addEventListener('change', updateScreen))\n updateScreen()\n\n return () => {\n queries.forEach(({ mq }) => mq.removeEventListener('change', updateScreen))\n }\n }, [theme.screens])\n return (\n <ScreenWidthContext.Provider\n value={{\n screens,\n screenActual,\n screenWidth\n }}\n >\n {props.children}\n </ScreenWidthContext.Provider>\n )\n}\n","import { useContext } from 'react'\n\nimport { ScreenWidthContext, ScreenWidthContextProps } from '.'\n\nexport const useScreenWidth = (): ScreenWidthContextProps => {\n const context = useContext(ScreenWidthContext)\n if (!context) {\n throw new Error('useScreenWidth must be used within an ProviderScreenWidth')\n }\n return context\n}\n"],"names":["ScreenWidthContext","createContext","props","theme","useTheme","screenWidth","setScreenWidth","useState","screens","useMemo","Object","entries","map","key","isScreen","value","screenActual","find","item","useEffect","queries","bp","width","sort","a","b","mq","window","matchMedia","updateScreen","matches","forEach","addEventListener","removeEventListener","jsx","Provider","children","context","useContext","Error"],"mappings":"6GAKaA,EAAqBC,EAAAA,cAA8C,kCAEfC,IAC/D,MAAMC,EAAQC,EAAAA,YACPC,EAAaC,GAAkBC,EAAAA,SAAkB,WAElDC,EAA8CC,EAAAA,QAAQ,IACzCC,OAAOC,QAAQR,EAAMK,SAASI,IAAI,EAAEC,MAC5C,CACLC,SAAUT,IAAgBQ,EAC1BE,MAAOF,KAIV,CAACR,EAAaF,EAAMK,UAEjBQ,EAAwDP,EAAAA,QAAQ,KACpE,MAAMQ,EAAOT,EAAQS,KAAKC,GAAQA,EAAKJ,UACvC,aAAOG,WAAMF,QAAS,WACrB,CAACP,IA+BJ,OA7BAW,EAAAA,UAAU,KACR,MAOMC,EAPgBV,OAAOC,QAAQR,EAAMK,SACxCI,IAAI,EAAEC,EAAKE,MAAK,CACfF,MACAQ,GAAKN,EAA4BO,SAElCC,KAAK,CAACC,EAAGC,IAAMD,EAAEH,GAAKI,EAAEJ,IAEGT,IAAI,EAAGC,MAAKQ,SACjC,CAAER,MAAKa,GAAIC,OAAOC,WAAW,eAAeP,WAE/CQ,EAAe,KACnB,IAAA,MAAWhB,IAAEA,EAAAa,GAAKA,KAAQN,EACxB,GAAIM,EAAGI,QAEL,YADAxB,EAAeO,GAKnBP,EAAe,YAMjB,OAHAc,EAAQW,QAAQ,EAAGL,QAASA,EAAGM,iBAAiB,SAAUH,IAC1DA,IAEO,KACLT,EAAQW,QAAQ,EAAGL,QAASA,EAAGO,oBAAoB,SAAUJ,MAE9D,CAAC1B,EAAMK,YAER0B,kBAAAA,IAAClC,EAAmBmC,SAAnB,CACCpB,MAAO,CACLP,UACAQ,eACAX,eAGD+B,SAAAlC,EAAMkC,gEC3DiB,KAC5B,MAAMC,EAAUC,EAAAA,WAAWtC,GAC3B,IAAKqC,EACH,MAAM,IAAIE,MAAM,6DAElB,OAAOF"}
1
+ {"version":3,"file":"context.hooks-BIsapq-0.cjs","sources":["../src/contexts/context-screen-width/context.tsx","../src/contexts/context-screen-width/context.hooks.ts"],"sourcesContent":["import { FC, createContext, useEffect, useMemo, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ProviderScreenWidthProps, ScreenWidthContextProps, Screens } from '.';\n\nexport const ScreenWidthContext = createContext<ScreenWidthContextProps | null>(null);\n\nexport const ProviderScreenWidth: FC<ProviderScreenWidthProps> = (props) => {\n const theme = useTheme();\n const [screenWidth, setScreenWidth] = useState<Screens>('default');\n\n const screens: ScreenWidthContextProps['screens'] = useMemo(() => {\n const allSizes = Object.entries(theme.screens).map(([key]) => {\n return {\n isScreen: screenWidth === key,\n value: key as Screens,\n };\n });\n return allSizes;\n }, [screenWidth, theme.screens]);\n\n const screenActual: ScreenWidthContextProps['screenActual'] = useMemo(() => {\n const find = screens.find((item) => item.isScreen);\n return find?.value ?? 'default';\n }, [screens]);\n\n useEffect(() => {\n const sortedScreens = Object.entries(theme.screens)\n .map(([key, value]) => ({\n key: key as Screens,\n bp: (value as { width: number }).width,\n }))\n .sort((a, b) => a.bp - b.bp);\n\n const queries = sortedScreens.map(({ key, bp }) => {\n return { key, mq: window.matchMedia(`(max-width: ${bp}px)`) };\n });\n const updateScreen = () => {\n for (const { key, mq } of queries) {\n if (mq.matches) {\n setScreenWidth(key);\n return;\n }\n }\n // На всякий случай fallback\n setScreenWidth('default');\n };\n\n queries.forEach(({ mq }) => mq.addEventListener('change', updateScreen));\n updateScreen();\n\n return () => {\n queries.forEach(({ mq }) => mq.removeEventListener('change', updateScreen));\n };\n }, [theme.screens]);\n return (\n <ScreenWidthContext.Provider\n value={{\n screens,\n screenActual,\n screenWidth,\n }}\n >\n {props.children}\n </ScreenWidthContext.Provider>\n );\n};\n","import { useContext } from 'react';\n\nimport { ScreenWidthContext, ScreenWidthContextProps } from '.';\n\nexport const useScreenWidth = (): ScreenWidthContextProps => {\n const context = useContext(ScreenWidthContext);\n if (!context) {\n throw new Error('useScreenWidth must be used within an ProviderScreenWidth');\n }\n return context;\n};\n"],"names":["ScreenWidthContext","createContext","props","theme","useTheme","screenWidth","setScreenWidth","useState","screens","useMemo","Object","entries","map","key","isScreen","value","screenActual","find","item","useEffect","queries","bp","width","sort","a","b","mq","window","matchMedia","updateScreen","matches","forEach","addEventListener","removeEventListener","jsx","Provider","children","context","useContext","Error"],"mappings":"6GAKaA,EAAqBC,EAAAA,cAA8C,kCAEdC,IAChE,MAAMC,EAAQC,EAAAA,YACPC,EAAaC,GAAkBC,EAAAA,SAAkB,WAElDC,EAA8CC,EAAAA,QAAQ,IACzCC,OAAOC,QAAQR,EAAMK,SAASI,IAAI,EAAEC,MAC5C,CACLC,SAAUT,IAAgBQ,EAC1BE,MAAOF,KAIV,CAACR,EAAaF,EAAMK,UAEjBQ,EAAwDP,EAAAA,QAAQ,KACpE,MAAMQ,EAAOT,EAAQS,KAAMC,GAASA,EAAKJ,UACzC,aAAOG,WAAMF,QAAS,WACrB,CAACP,IA+BJ,OA7BAW,EAAAA,UAAU,KACR,MAOMC,EAPgBV,OAAOC,QAAQR,EAAMK,SACxCI,IAAI,EAAEC,EAAKE,MAAK,CACfF,MACAQ,GAAKN,EAA4BO,SAElCC,KAAK,CAACC,EAAGC,IAAMD,EAAEH,GAAKI,EAAEJ,IAEGT,IAAI,EAAGC,MAAKQ,SACjC,CAAER,MAAKa,GAAIC,OAAOC,WAAW,eAAeP,WAE/CQ,EAAe,KACnB,IAAA,MAAWhB,IAAEA,EAAAa,GAAKA,KAAQN,EACxB,GAAIM,EAAGI,QAEL,YADAxB,EAAeO,GAKnBP,EAAe,YAMjB,OAHAc,EAAQW,QAAQ,EAAGL,QAASA,EAAGM,iBAAiB,SAAUH,IAC1DA,IAEO,KACLT,EAAQW,QAAQ,EAAGL,QAASA,EAAGO,oBAAoB,SAAUJ,MAE9D,CAAC1B,EAAMK,YAER0B,kBAAAA,IAAClC,EAAmBmC,SAAnB,CACCpB,MAAO,CACLP,UACAQ,eACAX,eAGD+B,SAAAlC,EAAMkC,gEC3DiB,KAC5B,MAAMC,EAAUC,EAAAA,WAAWtC,GAC3B,IAAKqC,EACH,MAAM,IAAIE,MAAM,6DAElB,OAAOF"}