@jenesei-software/jenesei-kit-react 1.0.0

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 (445) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/build/area-9NUxwBGc.cjs +2 -0
  4. package/build/area-9NUxwBGc.cjs.map +1 -0
  5. package/build/area-BnAddPtl.js +114 -0
  6. package/build/area-BnAddPtl.js.map +1 -0
  7. package/build/area-C2sWYH-e.js +47 -0
  8. package/build/area-C2sWYH-e.js.map +1 -0
  9. package/build/area-CD10k19W.cjs +27 -0
  10. package/build/area-CD10k19W.cjs.map +1 -0
  11. package/build/area-ClrrGVJG.cjs +40 -0
  12. package/build/area-ClrrGVJG.cjs.map +1 -0
  13. package/build/area-D7906bXA.cjs +2 -0
  14. package/build/area-D7906bXA.cjs.map +1 -0
  15. package/build/area-DRqAofd0.js +35 -0
  16. package/build/area-DRqAofd0.js.map +1 -0
  17. package/build/area-DfCAwCiZ.js +69 -0
  18. package/build/area-DfCAwCiZ.js.map +1 -0
  19. package/build/area-outside.cjs.js +2 -0
  20. package/build/area-outside.cjs.js.map +1 -0
  21. package/build/area-outside.d.ts +28 -0
  22. package/build/area-outside.es.js +5 -0
  23. package/build/area-outside.es.js.map +1 -0
  24. package/build/area-preview.cjs.js +2 -0
  25. package/build/area-preview.cjs.js.map +1 -0
  26. package/build/area-preview.d.ts +48 -0
  27. package/build/area-preview.es.js +7 -0
  28. package/build/area-preview.es.js.map +1 -0
  29. package/build/area-scroll.cjs.js +2 -0
  30. package/build/area-scroll.cjs.js.map +1 -0
  31. package/build/area-scroll.d.ts +58 -0
  32. package/build/area-scroll.es.js +6 -0
  33. package/build/area-scroll.es.js.map +1 -0
  34. package/build/area-skeleton.cjs.js +2 -0
  35. package/build/area-skeleton.cjs.js.map +1 -0
  36. package/build/area-skeleton.d.ts +64 -0
  37. package/build/area-skeleton.es.js +6 -0
  38. package/build/area-skeleton.es.js.map +1 -0
  39. package/build/area-smooth.cjs.js +2 -0
  40. package/build/area-smooth.cjs.js.map +1 -0
  41. package/build/area-smooth.d.ts +37 -0
  42. package/build/area-smooth.es.js +5 -0
  43. package/build/area-smooth.es.js.map +1 -0
  44. package/build/area.hooks-Bk04M7mk.js +26 -0
  45. package/build/area.hooks-Bk04M7mk.js.map +1 -0
  46. package/build/area.hooks-C_UKZzcb.cjs +2 -0
  47. package/build/area.hooks-C_UKZzcb.cjs.map +1 -0
  48. package/build/build-info.txt +3 -0
  49. package/build/component--Oo5_3xq.cjs +2 -0
  50. package/build/component--Oo5_3xq.cjs.map +1 -0
  51. package/build/component-BV_7tGiu.cjs +28 -0
  52. package/build/component-BV_7tGiu.cjs.map +1 -0
  53. package/build/component-BcHiCCC9.js +23 -0
  54. package/build/component-BcHiCCC9.js.map +1 -0
  55. package/build/component-BnI7BIp-.cjs +2 -0
  56. package/build/component-BnI7BIp-.cjs.map +1 -0
  57. package/build/component-ByY_9Ryc.js +65 -0
  58. package/build/component-ByY_9Ryc.js.map +1 -0
  59. package/build/component-C2JFFh-k.js +2372 -0
  60. package/build/component-C2JFFh-k.js.map +1 -0
  61. package/build/component-C52VCES6.cjs +247 -0
  62. package/build/component-C52VCES6.cjs.map +1 -0
  63. package/build/component-CBshLNEf.js +50 -0
  64. package/build/component-CBshLNEf.js.map +1 -0
  65. package/build/component-CFMlaYj1.js +66 -0
  66. package/build/component-CFMlaYj1.js.map +1 -0
  67. package/build/component-CuiUpH8H.js +207 -0
  68. package/build/component-CuiUpH8H.js.map +1 -0
  69. package/build/component-D1NPhRuV.cjs +90 -0
  70. package/build/component-D1NPhRuV.cjs.map +1 -0
  71. package/build/component-DZxbW_Jz.js +237 -0
  72. package/build/component-DZxbW_Jz.js.map +1 -0
  73. package/build/component-UW1VzyvB.cjs +52 -0
  74. package/build/component-UW1VzyvB.cjs.map +1 -0
  75. package/build/component-accordion.cjs.js +2 -0
  76. package/build/component-accordion.cjs.js.map +1 -0
  77. package/build/component-accordion.d.ts +94 -0
  78. package/build/component-accordion.es.js +10 -0
  79. package/build/component-accordion.es.js.map +1 -0
  80. package/build/component-button-group.cjs.js +2 -0
  81. package/build/component-button-group.cjs.js.map +1 -0
  82. package/build/component-button-group.d.ts +320 -0
  83. package/build/component-button-group.es.js +6 -0
  84. package/build/component-button-group.es.js.map +1 -0
  85. package/build/component-button.cjs.js +2 -0
  86. package/build/component-button.cjs.js.map +1 -0
  87. package/build/component-button.d.ts +347 -0
  88. package/build/component-button.es.js +9 -0
  89. package/build/component-button.es.js.map +1 -0
  90. package/build/component-checkbox-group.cjs.js +2 -0
  91. package/build/component-checkbox-group.cjs.js.map +1 -0
  92. package/build/component-checkbox-group.d.ts +337 -0
  93. package/build/component-checkbox-group.es.js +11 -0
  94. package/build/component-checkbox-group.es.js.map +1 -0
  95. package/build/component-checkbox.cjs.js +2 -0
  96. package/build/component-checkbox.cjs.js.map +1 -0
  97. package/build/component-checkbox.d.ts +342 -0
  98. package/build/component-checkbox.es.js +10 -0
  99. package/build/component-checkbox.es.js.map +1 -0
  100. package/build/component-date-picker.cjs.js +2 -0
  101. package/build/component-date-picker.cjs.js.map +1 -0
  102. package/build/component-date-picker.d.ts +415 -0
  103. package/build/component-date-picker.es.js +17 -0
  104. package/build/component-date-picker.es.js.map +1 -0
  105. package/build/component-icon.cjs.js +2 -0
  106. package/build/component-icon.cjs.js.map +1 -0
  107. package/build/component-icon.d.ts +198 -0
  108. package/build/component-icon.es.js +12 -0
  109. package/build/component-icon.es.js.map +1 -0
  110. package/build/component-image-button.cjs.js +2 -0
  111. package/build/component-image-button.cjs.js.map +1 -0
  112. package/build/component-image-button.d.ts +340 -0
  113. package/build/component-image-button.es.js +5 -0
  114. package/build/component-image-button.es.js.map +1 -0
  115. package/build/component-image-select.cjs.js +2 -0
  116. package/build/component-image-select.cjs.js.map +1 -0
  117. package/build/component-image-select.d.ts +436 -0
  118. package/build/component-image-select.es.js +11 -0
  119. package/build/component-image-select.es.js.map +1 -0
  120. package/build/component-image-slider.cjs.js +2 -0
  121. package/build/component-image-slider.cjs.js.map +1 -0
  122. package/build/component-image-slider.d.ts +108 -0
  123. package/build/component-image-slider.es.js +8 -0
  124. package/build/component-image-slider.es.js.map +1 -0
  125. package/build/component-image.cjs.js +2 -0
  126. package/build/component-image.cjs.js.map +1 -0
  127. package/build/component-image.d.ts +51 -0
  128. package/build/component-image.es.js +6 -0
  129. package/build/component-image.es.js.map +1 -0
  130. package/build/component-input-otp.cjs.js +2 -0
  131. package/build/component-input-otp.cjs.js.map +1 -0
  132. package/build/component-input-otp.d.ts +150 -0
  133. package/build/component-input-otp.es.js +8 -0
  134. package/build/component-input-otp.es.js.map +1 -0
  135. package/build/component-input.cjs.js +2 -0
  136. package/build/component-input.cjs.js.map +1 -0
  137. package/build/component-input.d.ts +226 -0
  138. package/build/component-input.es.js +20 -0
  139. package/build/component-input.es.js.map +1 -0
  140. package/build/component-jPZYT5iL.js +76 -0
  141. package/build/component-jPZYT5iL.js.map +1 -0
  142. package/build/component-map.cjs.js +2 -0
  143. package/build/component-map.cjs.js.map +1 -0
  144. package/build/component-map.d.ts +97 -0
  145. package/build/component-map.es.js +18 -0
  146. package/build/component-map.es.js.map +1 -0
  147. package/build/component-nFn_uOy_.cjs +2 -0
  148. package/build/component-nFn_uOy_.cjs.map +1 -0
  149. package/build/component-pagination.cjs.js +2 -0
  150. package/build/component-pagination.cjs.js.map +1 -0
  151. package/build/component-pagination.d.ts +321 -0
  152. package/build/component-pagination.es.js +6 -0
  153. package/build/component-pagination.es.js.map +1 -0
  154. package/build/component-range.cjs.js +2 -0
  155. package/build/component-range.cjs.js.map +1 -0
  156. package/build/component-range.d.ts +153 -0
  157. package/build/component-range.es.js +8 -0
  158. package/build/component-range.es.js.map +1 -0
  159. package/build/component-ripple.cjs.js +2 -0
  160. package/build/component-ripple.cjs.js.map +1 -0
  161. package/build/component-ripple.d.ts +45 -0
  162. package/build/component-ripple.es.js +12 -0
  163. package/build/component-ripple.es.js.map +1 -0
  164. package/build/component-select.cjs.js +2 -0
  165. package/build/component-select.cjs.js.map +1 -0
  166. package/build/component-select.d.ts +406 -0
  167. package/build/component-select.es.js +25 -0
  168. package/build/component-select.es.js.map +1 -0
  169. package/build/component-separator.cjs.js +2 -0
  170. package/build/component-separator.cjs.js.map +1 -0
  171. package/build/component-separator.d.ts +46 -0
  172. package/build/component-separator.es.js +6 -0
  173. package/build/component-separator.es.js.map +1 -0
  174. package/build/component-stack.cjs.js +2 -0
  175. package/build/component-stack.cjs.js.map +1 -0
  176. package/build/component-stack.d.ts +72 -0
  177. package/build/component-stack.es.js +8 -0
  178. package/build/component-stack.es.js.map +1 -0
  179. package/build/component-textarea.cjs.js +2 -0
  180. package/build/component-textarea.cjs.js.map +1 -0
  181. package/build/component-textarea.d.ts +131 -0
  182. package/build/component-textarea.es.js +12 -0
  183. package/build/component-textarea.es.js.map +1 -0
  184. package/build/component-toggle.cjs.js +2 -0
  185. package/build/component-toggle.cjs.js.map +1 -0
  186. package/build/component-toggle.d.ts +101 -0
  187. package/build/component-toggle.es.js +7 -0
  188. package/build/component-toggle.es.js.map +1 -0
  189. package/build/component-tooltip.cjs.js +2 -0
  190. package/build/component-tooltip.cjs.js.map +1 -0
  191. package/build/component-tooltip.d.ts +170 -0
  192. package/build/component-tooltip.es.js +12 -0
  193. package/build/component-tooltip.es.js.map +1 -0
  194. package/build/component-typography.cjs.js +2 -0
  195. package/build/component-typography.cjs.js.map +1 -0
  196. package/build/component-typography.d.ts +183 -0
  197. package/build/component-typography.es.js +10 -0
  198. package/build/component-typography.es.js.map +1 -0
  199. package/build/component-xnEaYd4a.cjs +2 -0
  200. package/build/component-xnEaYd4a.cjs.map +1 -0
  201. package/build/component.components-BAAT5GTH.js +363 -0
  202. package/build/component.components-BAAT5GTH.js.map +1 -0
  203. package/build/component.components-CaR5gfQW.cjs +16 -0
  204. package/build/component.components-CaR5gfQW.cjs.map +1 -0
  205. package/build/component.constants-BeWW8Ijx.cjs +2 -0
  206. package/build/component.constants-BeWW8Ijx.cjs.map +1 -0
  207. package/build/component.constants-D9wVZ3zy.cjs +22 -0
  208. package/build/component.constants-D9wVZ3zy.cjs.map +1 -0
  209. package/build/component.constants-DRvp5Bez.js +142 -0
  210. package/build/component.constants-DRvp5Bez.js.map +1 -0
  211. package/build/component.constants-DbNhxh0k.js +759 -0
  212. package/build/component.constants-DbNhxh0k.js.map +1 -0
  213. package/build/component.styles-B0L4jbOO.js +59 -0
  214. package/build/component.styles-B0L4jbOO.js.map +1 -0
  215. package/build/component.styles-B1DIataj.cjs +10 -0
  216. package/build/component.styles-B1DIataj.cjs.map +1 -0
  217. package/build/component.styles-BFwkFWkd.cjs +39 -0
  218. package/build/component.styles-BFwkFWkd.cjs.map +1 -0
  219. package/build/component.styles-BSEA2Dqn.cjs +8 -0
  220. package/build/component.styles-BSEA2Dqn.cjs.map +1 -0
  221. package/build/component.styles-BapdQNhL.js +2166 -0
  222. package/build/component.styles-BapdQNhL.js.map +1 -0
  223. package/build/component.styles-BfvB83xM.cjs +22 -0
  224. package/build/component.styles-BfvB83xM.cjs.map +1 -0
  225. package/build/component.styles-Bn6ylF83.js +859 -0
  226. package/build/component.styles-Bn6ylF83.js.map +1 -0
  227. package/build/component.styles-BsZIuwWJ.cjs +140 -0
  228. package/build/component.styles-BsZIuwWJ.cjs.map +1 -0
  229. package/build/component.styles-C6LohBfF.js +81 -0
  230. package/build/component.styles-C6LohBfF.js.map +1 -0
  231. package/build/component.styles-CEBh8X5q.js +20 -0
  232. package/build/component.styles-CEBh8X5q.js.map +1 -0
  233. package/build/component.styles-CPsxMKVK.cjs +73 -0
  234. package/build/component.styles-CPsxMKVK.cjs.map +1 -0
  235. package/build/component.styles-CTo5NC52.js +71 -0
  236. package/build/component.styles-CTo5NC52.js.map +1 -0
  237. package/build/component.styles-CV7jTFCg.js +758 -0
  238. package/build/component.styles-CV7jTFCg.js.map +1 -0
  239. package/build/component.styles-CVBpx4fw.js +474 -0
  240. package/build/component.styles-CVBpx4fw.js.map +1 -0
  241. package/build/component.styles-CZu2m0O4.cjs +21 -0
  242. package/build/component.styles-CZu2m0O4.cjs.map +1 -0
  243. package/build/component.styles-CmBcHREH.cjs +13 -0
  244. package/build/component.styles-CmBcHREH.cjs.map +1 -0
  245. package/build/component.styles-CmEFZfA5.js +120 -0
  246. package/build/component.styles-CmEFZfA5.js.map +1 -0
  247. package/build/component.styles-DHIw8p8e.cjs +158 -0
  248. package/build/component.styles-DHIw8p8e.cjs.map +1 -0
  249. package/build/component.styles-DOPCUXcr.js +158 -0
  250. package/build/component.styles-DOPCUXcr.js.map +1 -0
  251. package/build/component.styles-Dj3h7jd9.cjs +165 -0
  252. package/build/component.styles-Dj3h7jd9.cjs.map +1 -0
  253. package/build/component.styles-Do1NYZEO.js +86 -0
  254. package/build/component.styles-Do1NYZEO.js.map +1 -0
  255. package/build/component.styles-Dok17vPl.js +126 -0
  256. package/build/component.styles-Dok17vPl.js.map +1 -0
  257. package/build/component.styles-Dpg-__rn.cjs +43 -0
  258. package/build/component.styles-Dpg-__rn.cjs.map +1 -0
  259. package/build/component.styles-DpkFoWEh.cjs +81 -0
  260. package/build/component.styles-DpkFoWEh.cjs.map +1 -0
  261. package/build/component.styles-DqsBDAEo.js +202 -0
  262. package/build/component.styles-DqsBDAEo.js.map +1 -0
  263. package/build/component.styles-Du2y0R4W.js +177 -0
  264. package/build/component.styles-Du2y0R4W.js.map +1 -0
  265. package/build/component.styles-DxeG9Opm.cjs +47 -0
  266. package/build/component.styles-DxeG9Opm.cjs.map +1 -0
  267. package/build/component.styles-DyGfo9t0.cjs +32 -0
  268. package/build/component.styles-DyGfo9t0.cjs.map +1 -0
  269. package/build/component.styles-RkQwTlwG.js +170 -0
  270. package/build/component.styles-RkQwTlwG.js.map +1 -0
  271. package/build/component.styles-ZtwHuL4x.cjs +75 -0
  272. package/build/component.styles-ZtwHuL4x.cjs.map +1 -0
  273. package/build/component.types-D05KdxnZ.js +132 -0
  274. package/build/component.types-D05KdxnZ.js.map +1 -0
  275. package/build/component.types-gy5Q9qHX.cjs +2 -0
  276. package/build/component.types-gy5Q9qHX.cjs.map +1 -0
  277. package/build/consts.cjs.js +2 -0
  278. package/build/consts.cjs.js.map +1 -0
  279. package/build/consts.d.ts +86 -0
  280. package/build/consts.es.js +177 -0
  281. package/build/consts.es.js.map +1 -0
  282. package/build/context-app.cjs.js +2 -0
  283. package/build/context-app.cjs.js.map +1 -0
  284. package/build/context-app.d.ts +223 -0
  285. package/build/context-app.es.js +20 -0
  286. package/build/context-app.es.js.map +1 -0
  287. package/build/context-cookie.cjs.js +2 -0
  288. package/build/context-cookie.cjs.js.map +1 -0
  289. package/build/context-cookie.d.ts +67 -0
  290. package/build/context-cookie.es.js +9 -0
  291. package/build/context-cookie.es.js.map +1 -0
  292. package/build/context-dialog.cjs.js +2 -0
  293. package/build/context-dialog.cjs.js.map +1 -0
  294. package/build/context-dialog.d.ts +92 -0
  295. package/build/context-dialog.es.js +18 -0
  296. package/build/context-dialog.es.js.map +1 -0
  297. package/build/context-geolocation.cjs.js +2 -0
  298. package/build/context-geolocation.cjs.js.map +1 -0
  299. package/build/context-geolocation.d.ts +22 -0
  300. package/build/context-geolocation.es.js +7 -0
  301. package/build/context-geolocation.es.js.map +1 -0
  302. package/build/context-local-storage.cjs.js +2 -0
  303. package/build/context-local-storage.cjs.js.map +1 -0
  304. package/build/context-local-storage.d.ts +54 -0
  305. package/build/context-local-storage.es.js +9 -0
  306. package/build/context-local-storage.es.js.map +1 -0
  307. package/build/context-permission.cjs.js +2 -0
  308. package/build/context-permission.cjs.js.map +1 -0
  309. package/build/context-permission.d.ts +28 -0
  310. package/build/context-permission.es.js +9 -0
  311. package/build/context-permission.es.js.map +1 -0
  312. package/build/context-screen-width.cjs.js +2 -0
  313. package/build/context-screen-width.cjs.js.map +1 -0
  314. package/build/context-screen-width.d.ts +34 -0
  315. package/build/context-screen-width.es.js +7 -0
  316. package/build/context-screen-width.es.js.map +1 -0
  317. package/build/context-sonner.cjs.js +2 -0
  318. package/build/context-sonner.cjs.js.map +1 -0
  319. package/build/context-sonner.d.ts +449 -0
  320. package/build/context-sonner.es.js +21 -0
  321. package/build/context-sonner.es.js.map +1 -0
  322. package/build/context.constants-B29-_8v3.cjs +32 -0
  323. package/build/context.constants-B29-_8v3.cjs.map +1 -0
  324. package/build/context.constants-BaD7xj_m.cjs +100 -0
  325. package/build/context.constants-BaD7xj_m.cjs.map +1 -0
  326. package/build/context.constants-CsZRZ7gH.js +228 -0
  327. package/build/context.constants-CsZRZ7gH.js.map +1 -0
  328. package/build/context.constants-DqYjo5m4.js +375 -0
  329. package/build/context.constants-DqYjo5m4.js.map +1 -0
  330. package/build/context.functions-80N-5MqM.cjs +2 -0
  331. package/build/context.functions-80N-5MqM.cjs.map +1 -0
  332. package/build/context.functions-B8FDl7nJ.js +14 -0
  333. package/build/context.functions-B8FDl7nJ.js.map +1 -0
  334. package/build/context.functions-BD15C8_y.js +128 -0
  335. package/build/context.functions-BD15C8_y.js.map +1 -0
  336. package/build/context.functions-CQ9GerPb.js +147 -0
  337. package/build/context.functions-CQ9GerPb.js.map +1 -0
  338. package/build/context.functions-ar41xFVo.cjs +2 -0
  339. package/build/context.functions-ar41xFVo.cjs.map +1 -0
  340. package/build/context.functions-ohI9H54j.cjs +2 -0
  341. package/build/context.functions-ohI9H54j.cjs.map +1 -0
  342. package/build/context.hooks-7ydA7mGj.js +117 -0
  343. package/build/context.hooks-7ydA7mGj.js.map +1 -0
  344. package/build/context.hooks-BIsapq-0.cjs +2 -0
  345. package/build/context.hooks-BIsapq-0.cjs.map +1 -0
  346. package/build/context.hooks-BmwyZ1p3.js +68 -0
  347. package/build/context.hooks-BmwyZ1p3.js.map +1 -0
  348. package/build/context.hooks-BzMTkJNv.js +52 -0
  349. package/build/context.hooks-BzMTkJNv.js.map +1 -0
  350. package/build/context.hooks-CTi-CVKx.cjs +72 -0
  351. package/build/context.hooks-CTi-CVKx.cjs.map +1 -0
  352. package/build/context.hooks-D13tbrva.cjs +2 -0
  353. package/build/context.hooks-D13tbrva.cjs.map +1 -0
  354. package/build/context.hooks-gyzZSaVi.js +527 -0
  355. package/build/context.hooks-gyzZSaVi.js.map +1 -0
  356. package/build/context.hooks-u408Pxw8.cjs +2 -0
  357. package/build/context.hooks-u408Pxw8.cjs.map +1 -0
  358. package/build/functions.cjs.js +2 -0
  359. package/build/functions.cjs.js.map +1 -0
  360. package/build/functions.d.ts +22 -0
  361. package/build/functions.es.js +47 -0
  362. package/build/functions.es.js.map +1 -0
  363. package/build/hooks-use-debounced-callback.cjs.js +2 -0
  364. package/build/hooks-use-debounced-callback.cjs.js.map +1 -0
  365. package/build/hooks-use-debounced-callback.d.ts +3 -0
  366. package/build/hooks-use-debounced-callback.es.js +5 -0
  367. package/build/hooks-use-debounced-callback.es.js.map +1 -0
  368. package/build/hooks-use-deep-compare-memoize.cjs.js +2 -0
  369. package/build/hooks-use-deep-compare-memoize.cjs.js.map +1 -0
  370. package/build/hooks-use-deep-compare-memoize.d.ts +3 -0
  371. package/build/hooks-use-deep-compare-memoize.es.js +5 -0
  372. package/build/hooks-use-deep-compare-memoize.es.js.map +1 -0
  373. package/build/index.cjs.js +2 -0
  374. package/build/index.cjs.js.map +1 -0
  375. package/build/index.d.ts +2540 -0
  376. package/build/index.es.js +329 -0
  377. package/build/index.es.js.map +1 -0
  378. package/build/jsx-runtime-BcGej2Kr.cjs +11 -0
  379. package/build/jsx-runtime-BcGej2Kr.cjs.map +1 -0
  380. package/build/jsx-runtime-BrDlu8eK.js +320 -0
  381. package/build/jsx-runtime-BrDlu8eK.js.map +1 -0
  382. package/build/motion-CIQfrLky.js +85 -0
  383. package/build/motion-CIQfrLky.js.map +1 -0
  384. package/build/motion-DgB7M2Hn.cjs +2 -0
  385. package/build/motion-DgB7M2Hn.cjs.map +1 -0
  386. package/build/style-CEGJOjRW.js +107 -0
  387. package/build/style-CEGJOjRW.js.map +1 -0
  388. package/build/style-CtGd1JVB.cjs +32 -0
  389. package/build/style-CtGd1JVB.cjs.map +1 -0
  390. package/build/style-DeAgDHyI.js +52 -0
  391. package/build/style-DeAgDHyI.js.map +1 -0
  392. package/build/style-Dm74EPGE.cjs +87 -0
  393. package/build/style-Dm74EPGE.cjs.map +1 -0
  394. package/build/style-add.cjs.js +2 -0
  395. package/build/style-add.cjs.js.map +1 -0
  396. package/build/style-add.d.ts +21 -0
  397. package/build/style-add.es.js +13 -0
  398. package/build/style-add.es.js.map +1 -0
  399. package/build/style-error.cjs.js +2 -0
  400. package/build/style-error.cjs.js.map +1 -0
  401. package/build/style-error.d.ts +56 -0
  402. package/build/style-error.es.js +7 -0
  403. package/build/style-error.es.js.map +1 -0
  404. package/build/style-fRZ6xrVp.cjs +10 -0
  405. package/build/style-fRZ6xrVp.cjs.map +1 -0
  406. package/build/style-motion.cjs.js +2 -0
  407. package/build/style-motion.cjs.js.map +1 -0
  408. package/build/style-motion.d.ts +20 -0
  409. package/build/style-motion.es.js +8 -0
  410. package/build/style-motion.es.js.map +1 -0
  411. package/build/style-plT9Ah7t.js +33 -0
  412. package/build/style-plT9Ah7t.js.map +1 -0
  413. package/build/style-sx.cjs.js +2 -0
  414. package/build/style-sx.cjs.js.map +1 -0
  415. package/build/style-sx.d.ts +31 -0
  416. package/build/style-sx.es.js +5 -0
  417. package/build/style-sx.es.js.map +1 -0
  418. package/build/style-theme.cjs.js +2 -0
  419. package/build/style-theme.cjs.js.map +1 -0
  420. package/build/style-theme.d.ts +263 -0
  421. package/build/style-theme.es.js +10 -0
  422. package/build/style-theme.es.js.map +1 -0
  423. package/build/style.css +1 -0
  424. package/build/theme.global-D6XU05Et.cjs +169 -0
  425. package/build/theme.global-D6XU05Et.cjs.map +1 -0
  426. package/build/theme.global-bN9HlSWE.js +1080 -0
  427. package/build/theme.global-bN9HlSWE.js.map +1 -0
  428. package/build/types.cjs.js +2 -0
  429. package/build/types.cjs.js.map +1 -0
  430. package/build/types.d.ts +27 -0
  431. package/build/types.es.js +2 -0
  432. package/build/types.es.js.map +1 -0
  433. package/build/use-BVj4dgbW.js +1547 -0
  434. package/build/use-BVj4dgbW.js.map +1 -0
  435. package/build/use-BhofoOgk.cjs +16 -0
  436. package/build/use-BhofoOgk.cjs.map +1 -0
  437. package/build/use-Bp8UVw4Y.js +16 -0
  438. package/build/use-Bp8UVw4Y.js.map +1 -0
  439. package/build/use-C1l0O0Qo.cjs +2 -0
  440. package/build/use-C1l0O0Qo.cjs.map +1 -0
  441. package/build/use-DT0XgvJT.js +25 -0
  442. package/build/use-DT0XgvJT.js.map +1 -0
  443. package/build/use-IhzeVumv.cjs +2 -0
  444. package/build/use-IhzeVumv.cjs.map +1 -0
  445. package/package.json +360 -0
@@ -0,0 +1,375 @@
1
+ import { createContext, memo, useMemo, useState, useCallback, useContext } from "react";
2
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
3
+ import { motion, AnimatePresence } from "framer-motion";
4
+ import styled, { useTheme, css } from "styled-components";
5
+ import { v4 } from "uuid";
6
+ import { c as Button } from "./component-DZxbW_Jz.js";
7
+ import { I as Icon } from "./component.styles-BapdQNhL.js";
8
+ import { g as getFontSizeStyles } from "./component-C2JFFh-k.js";
9
+ import { b as addTransition, a as addRemoveScrollbar } from "./style-CEGJOjRW.js";
10
+ const SonnerContext = createContext(null);
11
+ const ProviderSonner = (props) => {
12
+ var _a, _b, _c, _d, _e, _f;
13
+ const memoVisibleToasts = useMemo(
14
+ () => props.visibleToasts,
15
+ [props.visibleToasts]
16
+ );
17
+ const memoDefaultDescription = useMemo(
18
+ () => {
19
+ var _a2;
20
+ return (_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.description;
21
+ },
22
+ [(_a = props == null ? void 0 : props.default) == null ? void 0 : _a.description]
23
+ );
24
+ const memoDefaultTitle = useMemo(
25
+ () => {
26
+ var _a2;
27
+ return (_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.title;
28
+ },
29
+ [(_b = props == null ? void 0 : props.default) == null ? void 0 : _b.title]
30
+ );
31
+ const memoDefaultButton = useMemo(
32
+ () => {
33
+ var _a2;
34
+ return (_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.button;
35
+ },
36
+ [(_c = props == null ? void 0 : props.default) == null ? void 0 : _c.button]
37
+ );
38
+ const memoDefaultHidingTime = useMemo(
39
+ () => {
40
+ var _a2;
41
+ return (_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.hidingTime;
42
+ },
43
+ [(_d = props == null ? void 0 : props.default) == null ? void 0 : _d.hidingTime]
44
+ );
45
+ const memoDefaultHidingMode = useMemo(
46
+ () => {
47
+ var _a2;
48
+ return ((_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.hidingMode) ?? "clickOnButton";
49
+ },
50
+ [(_e = props == null ? void 0 : props.default) == null ? void 0 : _e.hidingMode]
51
+ );
52
+ const memoDefaultGenre = useMemo(
53
+ () => {
54
+ var _a2;
55
+ return ((_a2 = props == null ? void 0 : props.default) == null ? void 0 : _a2.genre) ?? DEFAULT_PROVIDER_SONNER_GENRE;
56
+ },
57
+ [(_f = props == null ? void 0 : props.default) == null ? void 0 : _f.genre]
58
+ );
59
+ const isTop = useMemo(() => props.position.includes("top"), [props.position]);
60
+ const [contentHistory, setContentHistory] = useState([]);
61
+ const [isHovered, setIsHovered] = useState(false);
62
+ const handleMouseEnter = useCallback(() => {
63
+ setIsHovered(true);
64
+ }, []);
65
+ const handleMouseLeave = useCallback(() => {
66
+ setIsHovered(false);
67
+ }, []);
68
+ const remove = useCallback(
69
+ (id) => {
70
+ setContentHistory((prev) => {
71
+ const itemToRemove = prev.find((item) => item.id === id);
72
+ if (!itemToRemove) return prev;
73
+ const indexToRemove = itemToRemove.index;
74
+ const updatedHistory = prev.filter((item) => item.id !== id).map((item) => ({
75
+ ...item,
76
+ index: item.index > indexToRemove ? item.index - 1 : item.index
77
+ }));
78
+ if (updatedHistory.length === 0) handleMouseLeave();
79
+ return updatedHistory;
80
+ });
81
+ },
82
+ [handleMouseLeave]
83
+ );
84
+ const toast = useCallback(
85
+ (content) => {
86
+ const id = content.id ?? v4();
87
+ const hidingTime = content.hidingTime ?? memoDefaultHidingTime;
88
+ setContentHistory((prev) => {
89
+ const existingIndex = prev.findIndex((item) => item.id === id);
90
+ let updatedHistory;
91
+ if (existingIndex !== -1) {
92
+ updatedHistory = [...prev];
93
+ updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index };
94
+ } else {
95
+ updatedHistory = prev.map((item) => ({
96
+ ...item,
97
+ index: item.index + 1
98
+ }));
99
+ const newContent = { ...content, id, index: 0 };
100
+ updatedHistory.unshift(newContent);
101
+ }
102
+ return updatedHistory;
103
+ });
104
+ if (hidingTime !== void 0) {
105
+ setTimeout(() => {
106
+ remove(id);
107
+ }, hidingTime);
108
+ }
109
+ },
110
+ [memoDefaultHidingTime, remove]
111
+ );
112
+ const promise = useCallback(
113
+ (promise2, expectation, localToast) => {
114
+ const id = v4();
115
+ toast({ ...expectation, id, isLoading: true });
116
+ return promise2.then((result) => {
117
+ toast({ ...localToast(result, void 0), id });
118
+ }).catch((error) => {
119
+ toast({ ...localToast(void 0, error), id });
120
+ });
121
+ },
122
+ [toast]
123
+ );
124
+ const handleOnClick = useCallback(
125
+ (id) => {
126
+ remove(id);
127
+ },
128
+ [remove]
129
+ );
130
+ const theme = useTheme();
131
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SonnerContext.Provider, { value: { toast, promise, remove, contentHistory }, children: [
132
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
133
+ SonnerLayout,
134
+ {
135
+ $zIndex: props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX,
136
+ $position: props.position,
137
+ $gap: props.gap,
138
+ onMouseEnter: handleMouseEnter,
139
+ onMouseLeave: handleMouseLeave,
140
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: contentHistory.map((content) => {
141
+ const index = content.index;
142
+ const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false;
143
+ const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false;
144
+ const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false;
145
+ const localGenre = content.genre ?? memoDefaultGenre;
146
+ const buttonGenre = theme.colors.sonner[localGenre].button.genre;
147
+ const hidingMode = content.hidingMode ?? memoDefaultHidingMode;
148
+ const localContent = "content" in content ? content.content : false;
149
+ const localTitle = "title" in content ? content.title : false;
150
+ const localDescription = "description" in content ? content.description : false;
151
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
152
+ MemoizedSonnerElement,
153
+ {
154
+ isMoreThanLastViewIndexPlusOne,
155
+ isMoreThanLastViewIndex,
156
+ isLastViewIndex,
157
+ isTop,
158
+ id: content.id,
159
+ icon: content.icon,
160
+ isLoading: content.isLoading,
161
+ index,
162
+ buttonGenre,
163
+ hidingMode,
164
+ isHovered,
165
+ genre: localGenre,
166
+ content: localContent,
167
+ title: localTitle || memoDefaultTitle,
168
+ description: localDescription || memoDefaultDescription,
169
+ button: content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON,
170
+ handleOnClick
171
+ },
172
+ content.id
173
+ );
174
+ }) })
175
+ }
176
+ ),
177
+ props.children
178
+ ] });
179
+ };
180
+ const SonnerElement = (props) => {
181
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
182
+ motion.div,
183
+ {
184
+ layout: true,
185
+ initial: {
186
+ opacity: 0,
187
+ scale: 1,
188
+ y: props.isLastViewIndex ? !props.isTop ? -DEFAULT_PROVIDER_SONNER_Y : DEFAULT_PROVIDER_SONNER_Y : !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y
189
+ },
190
+ animate: {
191
+ y: 0,
192
+ opacity: props.isMoreThanLastViewIndex ? 0 : 1,
193
+ pointerEvents: props.isMoreThanLastViewIndex ? "none" : "auto",
194
+ display: props.isMoreThanLastViewIndex ? "none" : "flex",
195
+ scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,
196
+ marginTop: props.isTop ? props.isHovered || props.index === 0 ? `0px` : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px` : "0px",
197
+ marginBottom: !props.isTop ? props.isHovered || props.index === 0 ? `0px` : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px` : "0px"
198
+ },
199
+ style: {
200
+ zIndex: -props.index
201
+ },
202
+ whileInView: { opacity: props.isMoreThanLastViewIndex ? 0 : 1 },
203
+ exit: { opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y },
204
+ transition: { type: "spring", duration: DEFAULT_PROVIDER_SONNER_DURATION },
205
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
206
+ SonnerElementWrapper,
207
+ {
208
+ $genre: props.genre,
209
+ onClick: () => props.hidingMode === "clickOnSonner" && props.handleOnClick(props.id, "clickOnSonner"),
210
+ children: [
211
+ (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
+ /* @__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 })
215
+ ] }) }),
216
+ props.button && props.button.content && /* @__PURE__ */ jsxRuntimeExports.jsx(SonnerButtonWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
217
+ Button,
218
+ {
219
+ genre: props.buttonGenre,
220
+ size: "small",
221
+ onClick: () => props.hidingMode === "clickOnButton" && props.handleOnClick(props.id, "clickOnButton"),
222
+ children: props.button.content
223
+ }
224
+ ) })
225
+ ]
226
+ }
227
+ )
228
+ },
229
+ props.id
230
+ );
231
+ };
232
+ const MemoizedSonnerElement = memo(SonnerElement);
233
+ const useSonner = () => {
234
+ const context = useContext(SonnerContext);
235
+ if (!context) {
236
+ throw new Error("useSonner must be used within an ProviderSonner");
237
+ }
238
+ return context;
239
+ };
240
+ const SonnerLayout = styled.div`
241
+ position: fixed;
242
+ z-index: ${(props) => props.$zIndex};
243
+ max-height: calc(100dvh - 20px);
244
+ width: 320px;
245
+ display: flex;
246
+ margin: 10px;
247
+ gap: ${(props) => props.$gap}px;
248
+ box-sizing: content-box;
249
+ overflow-y: visible;
250
+ overflow-x: visible;
251
+ ${addRemoveScrollbar}
252
+ ${(props) => props.$position === "bottom-center" ? css`
253
+ bottom: 0;
254
+ left: 50%;
255
+ transform: translateX(-50%);
256
+ justify-content: flex-start;
257
+ flex-direction: column-reverse;
258
+ ` : props.$position === "bottom-left" ? css`
259
+ left: 0;
260
+ bottom: 0;
261
+ justify-content: flex-start;
262
+ flex-direction: column-reverse;
263
+ ` : props.$position === "bottom-right" ? css`
264
+ right: 0;
265
+ bottom: 0;
266
+ justify-content: flex-start;
267
+ flex-direction: column-reverse;
268
+ ` : props.$position === "top-right" ? css`
269
+ top: 0;
270
+ right: 0;
271
+ justify-content: flex-end;
272
+ flex-direction: column;
273
+ ` : props.$position === "top-left" ? css`
274
+ top: 0;
275
+ left: 0;
276
+ justify-content: flex-end;
277
+ flex-direction: column;
278
+ ` : props.$position === "top-center" ? css`
279
+ top: 0;
280
+ left: 50%;
281
+ transform: translateX(-50%);
282
+ justify-content: flex-end;
283
+ flex-direction: column;
284
+ ` : css``}
285
+ `;
286
+ const SonnerElementWrapper = styled.div`
287
+ background: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.background};
288
+ color: ${(props) => props.theme.colors.sonner[props.$genre].icon.color};
289
+ border-radius: 12px;
290
+ border-style: solid;
291
+ border-color: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.borderColor};
292
+ border-width: 1px;
293
+ padding: 16px 20px 16px 20px;
294
+ display: flex;
295
+ flex-direction: row;
296
+ gap: 10px;
297
+ align-items: center;
298
+ justify-content: flex-start;
299
+ align-self: stretch;
300
+ flex-shrink: 0;
301
+ flex-shrink: 1;
302
+ min-width: 320px;
303
+ min-height: 64px;
304
+ transform-origin: center center;
305
+ box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};
306
+ overflow: visible;
307
+ &:hover {
308
+ box-shadow: ${(props) => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};
309
+ }
310
+ ${addTransition};
311
+ `;
312
+ const SonnerContent = styled.div`
313
+ display: flex;
314
+ flex-direction: column;
315
+ gap: 2px;
316
+ align-items: flex-start;
317
+ justify-content: flex-start;
318
+ align-self: stretch;
319
+ flex-shrink: 0;
320
+ flex: 1;
321
+ position: relative;
322
+ overflow: hidden;
323
+ `;
324
+ const SonnerIcon = styled.div`
325
+ display: contents;
326
+ `;
327
+ const SonnerContentTitle = styled.div`
328
+ ${(props) => getFontSizeStyles(14, 700, props.theme.font.family)}
329
+ color: ${(props) => props.theme.colors.sonner[props.$genre].title.color};
330
+ text-align: left;
331
+ display: flex;
332
+ align-items: center;
333
+ justify-content: flex-start;
334
+ `;
335
+ const SonnerContentDescription = styled.div`
336
+ ${(props) => getFontSizeStyles(12, 400, props.theme.font.family)}
337
+ color:${(props) => props.theme.colors.sonner[props.$genre].description.color};
338
+ text-align: left;
339
+ position: relative;
340
+ display: flex;
341
+ align-items: center;
342
+ justify-content: flex-start;
343
+ `;
344
+ const SonnerButtonWrapper = styled.div``;
345
+ const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100;
346
+ const DEFAULT_PROVIDER_SONNER_SCALE = 0.04;
347
+ const DEFAULT_PROVIDER_SONNER_Y = 100;
348
+ const DEFAULT_PROVIDER_SONNER_DURATION = 0.3;
349
+ const DEFAULT_PROVIDER_SONNER_GENRE = "black";
350
+ const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60;
351
+ const DEFAULT_PROVIDER_SONNER_BUTTON = {
352
+ content: "Undo",
353
+ onClick: () => {
354
+ }
355
+ };
356
+ export {
357
+ DEFAULT_PROVIDER_SONNER_Z_INDEX as D,
358
+ ProviderSonner as P,
359
+ SonnerContext as S,
360
+ SonnerLayout as a,
361
+ SonnerElementWrapper as b,
362
+ SonnerContent as c,
363
+ SonnerIcon as d,
364
+ SonnerContentTitle as e,
365
+ SonnerContentDescription as f,
366
+ SonnerButtonWrapper as g,
367
+ DEFAULT_PROVIDER_SONNER_SCALE as h,
368
+ DEFAULT_PROVIDER_SONNER_Y as i,
369
+ DEFAULT_PROVIDER_SONNER_DURATION as j,
370
+ DEFAULT_PROVIDER_SONNER_GENRE as k,
371
+ DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM as l,
372
+ DEFAULT_PROVIDER_SONNER_BUTTON as m,
373
+ useSonner as u
374
+ };
375
+ //# sourceMappingURL=context.constants-DqYjo5m4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.constants-DqYjo5m4.js","sources":["../src/contexts/context-sonner/context.tsx","../src/contexts/context-sonner/context.hooks.ts","../src/contexts/context-sonner/context.styles.tsx","../src/contexts/context-sonner/context.constants.ts"],"sourcesContent":["import { AnimatePresence, motion } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '@local/components/button'\nimport { Icon } from '@local/components/icon'\n\nimport {\n DEFAULT_PROVIDER_SONNER_BUTTON,\n DEFAULT_PROVIDER_SONNER_DURATION,\n DEFAULT_PROVIDER_SONNER_GENRE,\n DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM,\n DEFAULT_PROVIDER_SONNER_SCALE,\n DEFAULT_PROVIDER_SONNER_Y,\n DEFAULT_PROVIDER_SONNER_Z_INDEX,\n ProviderSonnerProps,\n SonnerButtonWrapper,\n SonnerContent,\n SonnerContentDescription,\n SonnerContentProps,\n SonnerContentStandardProps,\n SonnerContentTitle,\n SonnerContextProps,\n SonnerElementProps,\n SonnerElementWrapper,\n SonnerIcon,\n SonnerLayout\n} from '.'\n\nexport const SonnerContext = createContext<SonnerContextProps | null>(null)\n\nexport const ProviderSonner: FC<ProviderSonnerProps> = props => {\n const memoVisibleToasts: ProviderSonnerProps['visibleToasts'] = useMemo(\n () => props.visibleToasts,\n [props.visibleToasts]\n )\n const memoDefaultDescription: ProviderSonnerProps['default']['description'] = useMemo(\n () => props?.default?.description,\n [props?.default?.description]\n )\n const memoDefaultTitle: ProviderSonnerProps['default']['title'] = useMemo(\n () => props?.default?.title,\n [props?.default?.title]\n )\n const memoDefaultButton: ProviderSonnerProps['default']['button'] = useMemo(\n () => props?.default?.button,\n [props?.default?.button]\n )\n const memoDefaultHidingTime: ProviderSonnerProps['default']['hidingTime'] = useMemo(\n () => props?.default?.hidingTime,\n [props?.default?.hidingTime]\n )\n const memoDefaultHidingMode: ProviderSonnerProps['default']['hidingMode'] = useMemo(\n () => props?.default?.hidingMode ?? 'clickOnButton',\n [props?.default?.hidingMode]\n )\n const memoDefaultGenre = useMemo(\n () => props?.default?.genre ?? DEFAULT_PROVIDER_SONNER_GENRE,\n [props?.default?.genre]\n )\n\n const isTop = useMemo(() => props.position.includes('top'), [props.position])\n\n const [contentHistory, setContentHistory] = useState<SonnerContentProps[]>([])\n\n const [isHovered, setIsHovered] = useState(false)\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true)\n }, [])\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false)\n }, [])\n\n const remove: SonnerContextProps['remove'] = useCallback(\n id => {\n setContentHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index > indexToRemove ? item.index - 1 : item.index\n }))\n\n if (updatedHistory.length === 0) handleMouseLeave()\n\n return updatedHistory\n })\n },\n [handleMouseLeave]\n )\n\n const toast: SonnerContextProps['toast'] = useCallback(\n content => {\n const id = content.id ?? uuidv4()\n\n const hidingTime = content.hidingTime ?? memoDefaultHidingTime\n\n setContentHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n // Replace existing item\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index }\n } else {\n // Add new item\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index + 1\n }))\n const newContent = { ...content, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n\n if (hidingTime !== undefined) {\n setTimeout(() => {\n remove(id)\n }, hidingTime)\n }\n },\n [memoDefaultHidingTime, remove]\n )\n const promise: SonnerContextProps['promise'] = useCallback(\n <T,>(\n promise: Promise<T>,\n expectation: Omit<SonnerContentProps, 'index'>,\n localToast: (success: T | undefined, error: unknown | undefined) => Omit<SonnerContentProps, 'index'>\n ) => {\n const id = uuidv4()\n toast({ ...expectation, id, isLoading: true })\n\n return promise\n .then(result => {\n toast({ ...localToast(result, undefined), id })\n })\n .catch(error => {\n toast({ ...localToast(undefined, error), id })\n })\n },\n [toast]\n )\n const handleOnClick = useCallback(\n (id: SonnerContentStandardProps['id']) => {\n remove(id)\n },\n [remove]\n )\n const theme = useTheme()\n return (\n <SonnerContext.Provider value={{ toast, promise, remove, contentHistory }}>\n <SonnerLayout\n $zIndex={props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX}\n $position={props.position}\n $gap={props.gap}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <AnimatePresence>\n {contentHistory.map(content => {\n const index = content.index\n const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false\n const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false\n const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false\n const localGenre = content.genre ?? memoDefaultGenre\n const buttonGenre = theme.colors.sonner[localGenre].button.genre\n const hidingMode = content.hidingMode ?? memoDefaultHidingMode\n\n const localContent = 'content' in content ? content.content : false\n const localTitle = 'title' in content ? content.title : false\n const localDescription = 'description' in content ? content.description : false\n return (\n <MemoizedSonnerElement\n isMoreThanLastViewIndexPlusOne={isMoreThanLastViewIndexPlusOne}\n isMoreThanLastViewIndex={isMoreThanLastViewIndex}\n isLastViewIndex={isLastViewIndex}\n isTop={isTop}\n key={content.id}\n id={content.id}\n icon={content.icon}\n isLoading={content.isLoading}\n index={index}\n buttonGenre={buttonGenre}\n hidingMode={hidingMode}\n isHovered={isHovered}\n genre={localGenre}\n content={localContent}\n title={localTitle || memoDefaultTitle}\n description={localDescription || memoDefaultDescription}\n button={content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON}\n handleOnClick={handleOnClick}\n />\n )\n })}\n </AnimatePresence>\n </SonnerLayout>\n {props.children}\n </SonnerContext.Provider>\n )\n}\n\nconst SonnerElement = (props: SonnerElementProps) => {\n return (\n <motion.div\n key={props.id}\n layout\n initial={{\n opacity: 0,\n scale: 1,\n y: props.isLastViewIndex\n ? !props.isTop\n ? -DEFAULT_PROVIDER_SONNER_Y\n : DEFAULT_PROVIDER_SONNER_Y\n : !props.isTop\n ? DEFAULT_PROVIDER_SONNER_Y\n : -DEFAULT_PROVIDER_SONNER_Y\n }}\n animate={{\n y: 0,\n opacity: props.isMoreThanLastViewIndex ? 0 : 1,\n pointerEvents: props.isMoreThanLastViewIndex ? 'none' : 'auto',\n display: props.isMoreThanLastViewIndex ? 'none' : 'flex',\n scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,\n marginTop: props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n marginBottom: !props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px'\n }}\n style={{\n zIndex: -props.index\n }}\n whileInView={{ opacity: props.isMoreThanLastViewIndex ? 0 : 1 }}\n exit={{ opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_SONNER_DURATION }}\n >\n <SonnerElementWrapper\n $genre={props.genre}\n onClick={() => props.hidingMode === 'clickOnSonner' && props.handleOnClick(props.id, 'clickOnSonner')}\n >\n {(props.isLoading || props.icon) && (\n <SonnerIcon>\n {props.isLoading ? (\n <Icon size=\"medium\" type=\"loading\" name=\"Line\" />\n ) : (\n props.icon && <Icon name={props.icon} type=\"id\" size={'medium'} />\n )}\n </SonnerIcon>\n )}\n <SonnerContent>\n {props.content ? (\n props.content\n ) : (\n <>\n {props.title && <SonnerContentTitle $genre={props.genre}>{props.title}</SonnerContentTitle>}\n {props.description && (\n <SonnerContentDescription $genre={props.genre}>{props.description}</SonnerContentDescription>\n )}\n </>\n )}\n </SonnerContent>\n\n {props.button && props.button.content && (\n <SonnerButtonWrapper>\n <Button\n genre={props.buttonGenre}\n size=\"small\"\n onClick={() => props.hidingMode === 'clickOnButton' && props.handleOnClick(props.id, 'clickOnButton')}\n >\n {props.button.content}\n </Button>\n </SonnerButtonWrapper>\n )}\n </SonnerElementWrapper>\n </motion.div>\n )\n}\nconst MemoizedSonnerElement = memo(SonnerElement)\n","import { useContext } from 'react'\n\nimport { SonnerContext, SonnerContextProps } from '.'\n\nexport const useSonner = (): SonnerContextProps => {\n const context = useContext(SonnerContext)\n if (!context) {\n throw new Error('useSonner must be used within an ProviderSonner')\n }\n return context\n}\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addRemoveScrollbar, addTransition } from '@local/styles/add'\n\nimport { SonnerContentDescriptionProps, SonnerContentTitleProps, SonnerElementWrapperProps, SonnerLayoutProps } from '.'\n\nexport const SonnerLayout = styled.div<SonnerLayoutProps>`\n position: fixed;\n z-index: ${props => props.$zIndex};\n max-height: calc(100dvh - 20px);\n width: 320px;\n display: flex;\n margin: 10px;\n gap: ${props => props.$gap}px;\n box-sizing: content-box;\n overflow-y: visible;\n overflow-x: visible;\n ${addRemoveScrollbar}\n ${props =>\n props.$position === 'bottom-center'\n ? css`\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-left'\n ? css`\n left: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-right'\n ? css`\n right: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'top-right'\n ? css`\n top: 0;\n right: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-left'\n ? css`\n top: 0;\n left: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-center'\n ? css`\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-end;\n flex-direction: column;\n `\n : css``}\n`\n\nexport const SonnerElementWrapper = styled.div<SonnerElementWrapperProps>`\n background: ${props => props.theme.colors.sonner[props.$genre].wrapper.background};\n color: ${props => props.theme.colors.sonner[props.$genre].icon.color};\n border-radius: 12px;\n border-style: solid;\n border-color: ${props => props.theme.colors.sonner[props.$genre].wrapper.borderColor};\n border-width: 1px;\n padding: 16px 20px 16px 20px;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex-shrink: 1;\n min-width: 320px;\n min-height: 64px;\n transform-origin: center center;\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};\n overflow: visible;\n &:hover {\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};\n }\n ${addTransition};\n`\nexport const SonnerContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: flex-start;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex: 1;\n position: relative;\n overflow: hidden;\n`\nexport const SonnerIcon = styled.div`\n display: contents;\n`\nexport const SonnerContentTitle = styled.div<SonnerContentTitleProps>`\n ${props => getFontSizeStyles(14, 700, props.theme.font.family)}\n color: ${props => props.theme.colors.sonner[props.$genre].title.color};\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerContentDescription = styled.div<SonnerContentDescriptionProps>`\n ${props => getFontSizeStyles(12, 400, props.theme.font.family)}\n color:${props => props.theme.colors.sonner[props.$genre].description.color};\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerButtonWrapper = styled.div``\n","import { ITheme } from '@local/theme'\n\nimport { ProviderSonnerProps } from '.'\n\nexport const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100\nexport const DEFAULT_PROVIDER_SONNER_SCALE = 0.04\nexport const DEFAULT_PROVIDER_SONNER_Y = 100\nexport const DEFAULT_PROVIDER_SONNER_DURATION = 0.3\nexport const DEFAULT_PROVIDER_SONNER_GENRE: keyof ITheme['colors']['sonner'] = 'black'\nexport const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60\nexport const DEFAULT_PROVIDER_SONNER_BUTTON: ProviderSonnerProps['default']['button'] = {\n content: 'Undo',\n onClick: () => {}\n}\n"],"names":["_a","uuidv4","promise","jsxs","jsx","Fragment"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react"),o=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("js-cookie"),r=e.createContext(null),t=o=>{const[r,t]=e.useState(),a=e.useCallback(e=>{const o=i.get(String(e));return t(i=>({...i,[e]:o?JSON.parse(o):void 0})),o?JSON.parse(o):void 0},[]),s=e.useCallback((e,o,r)=>{try{i.set(String(e),JSON.stringify(o),r),t(i=>({...i,[e]:o}))}catch{console.info(`Provider Cookie. ChangeCookie error - key:${e}, value:${o}.`)}},[]),n=e.useCallback((e,o)=>{try{i.remove(String(e),o),t(o=>({...o,[e]:void 0}))}catch{console.info(`Provider Cookie. RemoveCookieValue error - key:${e}.`)}},[]),l=e.useCallback(()=>{var e;o.validate&&o.validate.validateKeys?null==(e=o.validate)||e.validateKeys.forEach(e=>{n(String(e))}):console.info("Provider Cookie. Validate is not defined.")},[o.validate,n]),c=e.useCallback(()=>{var e;o.validate&&o.validate.validateKeys&&o.validate.getValidateCookieValue?null==(e=o.validate)||e.validateKeys.forEach(e=>{var r;const a=i.get(String(e));if(a)try{const i=JSON.parse(a);(null==(r=o.validate)?void 0:r.getValidateCookieValue(String(e),i))?t(o=>({...o,[e]:i})):n(String(e))}catch{n(String(e))}else n(String(e))}):console.info("Provider Cookie. Validate is not defined.")},[o.validate,n]);return e.useEffect(()=>{c()},[c]),{getCookie:a,setCookie:s,removeCookieValue:n,removeCookieValues:l,checkCookie:c,cookieValues:r}};exports.CookieContext=r,exports.ProviderCookie=e=>{const{getCookie:i,setCookie:a,removeCookieValue:s,removeCookieValues:n,checkCookie:l,cookieValues:c}=t(e);return o.jsxRuntimeExports.jsx(r.Provider,{value:{getCookie:i,setCookie:a,removeCookieValue:s,removeCookieValues:n,checkCookie:l,cookieValues:c},children:e.children})},exports.getFromCookie=function(e){const o=i.get(e);if(o)try{return JSON.parse(o)}catch(r){return console.error(`Error parsing cookie item "${e}":`,r),null}return null},exports.setToCookie=function(e,o,r){try{const t=JSON.stringify(o);i.set(e,t,r)}catch(t){console.error(`Error setting cookie item "${e}":`,t)}},exports.useCookie=()=>{const o=e.useContext(r);if(!o)throw new Error("useCookie must be used within an ProviderCookie");return o};
2
+ //# sourceMappingURL=context.functions-80N-5MqM.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ const urlBase64ToUint8Array = (base64String) => {
2
+ const padding = "=".repeat((4 - base64String.length % 4) % 4);
3
+ const base64 = (base64String + padding).replace(/-/g, "+").replace(/_/g, "/");
4
+ const rawData = window.atob(base64);
5
+ const outputArray = new Uint8Array(rawData.length);
6
+ for (let i = 0; i < rawData.length; ++i) {
7
+ outputArray[i] = rawData.charCodeAt(i);
8
+ }
9
+ return outputArray;
10
+ };
11
+ export {
12
+ urlBase64ToUint8Array as u
13
+ };
14
+ //# sourceMappingURL=context.functions-B8FDl7nJ.js.map
@@ -0,0 +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;"}
@@ -0,0 +1,128 @@
1
+ import { createContext, useState, useCallback, useEffect, useContext } from "react";
2
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
3
+ import Cookies from "js-cookie";
4
+ const CookieContext = createContext(null);
5
+ const ProviderCookie = (props) => {
6
+ const { getCookie, setCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues } = useProviderCookie(props);
7
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
8
+ CookieContext.Provider,
9
+ {
10
+ value: {
11
+ getCookie,
12
+ setCookie,
13
+ removeCookieValue,
14
+ removeCookieValues,
15
+ checkCookie,
16
+ cookieValues
17
+ },
18
+ children: props.children
19
+ }
20
+ );
21
+ };
22
+ const useProviderCookie = (props) => {
23
+ const [cookieValues, setCookieValues] = useState();
24
+ const getCookie = useCallback((name) => {
25
+ const cookie = Cookies.get(String(name));
26
+ setCookieValues((prevState) => ({
27
+ ...prevState,
28
+ [name]: cookie ? JSON.parse(cookie) : void 0
29
+ }));
30
+ return cookie ? JSON.parse(cookie) : void 0;
31
+ }, []);
32
+ const changeCookie = useCallback(
33
+ (name, value, options) => {
34
+ try {
35
+ Cookies.set(String(name), JSON.stringify(value), options);
36
+ setCookieValues((prevState) => ({ ...prevState, [name]: value }));
37
+ } catch {
38
+ console.info(`Provider Cookie. ChangeCookie error - key:${name}, value:${value}.`);
39
+ }
40
+ },
41
+ []
42
+ );
43
+ const removeCookieValue = useCallback((name, options) => {
44
+ try {
45
+ Cookies.remove(String(name), options);
46
+ setCookieValues((prevState) => ({ ...prevState, [name]: void 0 }));
47
+ } catch {
48
+ console.info(`Provider Cookie. RemoveCookieValue error - key:${name}.`);
49
+ }
50
+ }, []);
51
+ const removeCookieValues = useCallback(() => {
52
+ var _a;
53
+ if (props.validate && props.validate.validateKeys) {
54
+ (_a = props.validate) == null ? void 0 : _a.validateKeys.forEach((key) => {
55
+ removeCookieValue(String(key));
56
+ });
57
+ } else {
58
+ console.info("Provider Cookie. Validate is not defined.");
59
+ }
60
+ }, [props.validate, removeCookieValue]);
61
+ const checkCookie = useCallback(() => {
62
+ var _a;
63
+ if (props.validate && props.validate.validateKeys && props.validate.getValidateCookieValue) {
64
+ (_a = props.validate) == null ? void 0 : _a.validateKeys.forEach((key) => {
65
+ var _a2;
66
+ const cookieValue = Cookies.get(String(key));
67
+ if (cookieValue) {
68
+ try {
69
+ const parsedValue = JSON.parse(cookieValue);
70
+ if (!((_a2 = props.validate) == null ? void 0 : _a2.getValidateCookieValue(String(key), parsedValue))) {
71
+ removeCookieValue(String(key));
72
+ } else {
73
+ setCookieValues((prevState) => ({
74
+ ...prevState,
75
+ [key]: parsedValue
76
+ }));
77
+ }
78
+ } catch {
79
+ removeCookieValue(String(key));
80
+ }
81
+ } else {
82
+ removeCookieValue(String(key));
83
+ }
84
+ });
85
+ } else {
86
+ console.info("Provider Cookie. Validate is not defined.");
87
+ }
88
+ }, [props.validate, removeCookieValue]);
89
+ useEffect(() => {
90
+ checkCookie();
91
+ }, [checkCookie]);
92
+ return { getCookie, setCookie: changeCookie, removeCookieValue, removeCookieValues, checkCookie, cookieValues };
93
+ };
94
+ const useCookie = () => {
95
+ const context = useContext(CookieContext);
96
+ if (!context) {
97
+ throw new Error("useCookie must be used within an ProviderCookie");
98
+ }
99
+ return context;
100
+ };
101
+ function getFromCookie(key) {
102
+ const item = Cookies.get(key);
103
+ if (item) {
104
+ try {
105
+ return JSON.parse(item);
106
+ } catch (error) {
107
+ console.error(`Error parsing cookie item "${key}":`, error);
108
+ return null;
109
+ }
110
+ }
111
+ return null;
112
+ }
113
+ function setToCookie(key, value, options) {
114
+ try {
115
+ const item = JSON.stringify(value);
116
+ Cookies.set(key, item, options);
117
+ } catch (error) {
118
+ console.error(`Error setting cookie item "${key}":`, error);
119
+ }
120
+ }
121
+ export {
122
+ CookieContext as C,
123
+ ProviderCookie as P,
124
+ getFromCookie as g,
125
+ setToCookie as s,
126
+ useCookie as u
127
+ };
128
+ //# sourceMappingURL=context.functions-BD15C8_y.js.map
@@ -0,0 +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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"}