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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/build/{AnimatePresence-19yP-TCg.js → AnimatePresence-BWc2vFe-.js} +2 -2
  2. package/build/{AnimatePresence-19yP-TCg.js.map → AnimatePresence-BWc2vFe-.js.map} +1 -1
  3. package/build/{AnimatePresence-BdBJCJuf.cjs → AnimatePresence-DeKd4Eek.cjs} +2 -2
  4. package/build/{AnimatePresence-BdBJCJuf.cjs.map → AnimatePresence-DeKd4Eek.cjs.map} +1 -1
  5. package/build/area-outside.cjs.js +1 -1
  6. package/build/area-outside.es.js +1 -1
  7. package/build/area-preview.cjs.js +1 -1
  8. package/build/area-preview.es.js +1 -1
  9. package/build/area-skeleton.cjs.js +1 -1
  10. package/build/area-skeleton.es.js +1 -1
  11. package/build/build-info.txt +3 -3
  12. package/build/{button-BbGiFvok.js → button-C1w25-Hk.js} +4 -4
  13. package/build/{button-BbGiFvok.js.map → button-C1w25-Hk.js.map} +1 -1
  14. package/build/{button-BuPpgfL_.cjs → button-CHEeSypf.cjs} +2 -2
  15. package/build/{button-BuPpgfL_.cjs.map → button-CHEeSypf.cjs.map} +1 -1
  16. package/build/{checkbox-qgc_Ntc3.cjs → checkbox-Bxt8K0ZY.cjs} +2 -2
  17. package/build/{checkbox-qgc_Ntc3.cjs.map → checkbox-Bxt8K0ZY.cjs.map} +1 -1
  18. package/build/{checkbox-CXxWDklX.js → checkbox-DPkXe4_5.js} +5 -5
  19. package/build/{checkbox-CXxWDklX.js.map → checkbox-DPkXe4_5.js.map} +1 -1
  20. package/build/{component-jsn2T8Hu.cjs → component-CbJ_P8yq.cjs} +2 -2
  21. package/build/{component-jsn2T8Hu.cjs.map → component-CbJ_P8yq.cjs.map} +1 -1
  22. package/build/{component-BHyXT2-h.js → component-DGfyD5-u.js} +4 -4
  23. package/build/{component-BHyXT2-h.js.map → component-DGfyD5-u.js.map} +1 -1
  24. package/build/component-button.cjs.js +1 -1
  25. package/build/component-button.es.js +1 -1
  26. package/build/component-checkbox.cjs.js +1 -1
  27. package/build/component-checkbox.es.js +1 -1
  28. package/build/component-date-picker.cjs.js +1 -1
  29. package/build/component-date-picker.es.js +1 -1
  30. package/build/component-icon.cjs.js +1 -1
  31. package/build/component-icon.es.js +1 -1
  32. package/build/component-input-otp.cjs.js +1 -1
  33. package/build/component-input-otp.es.js +1 -1
  34. package/build/component-input.cjs.js +1 -1
  35. package/build/component-input.es.js +1 -1
  36. package/build/component-pagination.cjs.js +1 -1
  37. package/build/component-pagination.es.js +1 -1
  38. package/build/component-popover.cjs.js +1 -1
  39. package/build/component-popover.es.js +1 -1
  40. package/build/component-select.cjs.js +1 -1
  41. package/build/component-select.es.js +5 -6
  42. package/build/component-separator.cjs.js +1 -1
  43. package/build/component-separator.es.js +1 -1
  44. package/build/component-stack.cjs.js +1 -1
  45. package/build/component-stack.es.js +1 -1
  46. package/build/component-textarea.cjs.js +1 -1
  47. package/build/component-textarea.es.js +1 -1
  48. package/build/component-toggle.cjs.js +1 -1
  49. package/build/component-toggle.es.js +1 -1
  50. package/build/component-tooltip.cjs.js +1 -1
  51. package/build/component-tooltip.es.js +1 -1
  52. package/build/component-typography.cjs.js +1 -1
  53. package/build/component-typography.es.js +1 -1
  54. package/build/components/select/component.examples.d.ts +1 -2
  55. package/build/components/select/component.types.d.ts +1 -5
  56. package/build/components/select/index.d.ts +2 -2
  57. package/build/components-error.cjs.js +1 -1
  58. package/build/components-error.es.js +1 -1
  59. package/build/{context-app-CMK9g6MI.js → context-app-C9XoarPw.js} +6 -6
  60. package/build/{context-app-CMK9g6MI.js.map → context-app-C9XoarPw.js.map} +1 -1
  61. package/build/{context-app-HhFcx1wY.cjs → context-app-Dsa1tKlU.cjs} +2 -2
  62. package/build/{context-app-HhFcx1wY.cjs.map → context-app-Dsa1tKlU.cjs.map} +1 -1
  63. package/build/context-app.cjs.js +1 -1
  64. package/build/context-app.es.js +1 -1
  65. package/build/{context-browser-theme-Cb6siWO0.js → context-browser-theme-CRBCZ_y_.js} +2 -2
  66. package/build/{context-browser-theme-Cb6siWO0.js.map → context-browser-theme-CRBCZ_y_.js.map} +1 -1
  67. package/build/{context-browser-theme-Cso_rAT5.cjs → context-browser-theme-xixEbalV.cjs} +2 -2
  68. package/build/{context-browser-theme-Cso_rAT5.cjs.map → context-browser-theme-xixEbalV.cjs.map} +1 -1
  69. package/build/context-browser-theme.cjs.js +1 -1
  70. package/build/context-browser-theme.es.js +1 -1
  71. package/build/{context-cookie-Btkd2aXy.cjs → context-cookie-DFgWWGA9.cjs} +2 -2
  72. package/build/{context-cookie-Btkd2aXy.cjs.map → context-cookie-DFgWWGA9.cjs.map} +1 -1
  73. package/build/{context-cookie-5CBhf-gb.js → context-cookie-Daq2MZo3.js} +2 -2
  74. package/build/{context-cookie-5CBhf-gb.js.map → context-cookie-Daq2MZo3.js.map} +1 -1
  75. package/build/context-cookie.cjs.js +1 -1
  76. package/build/context-cookie.es.js +1 -1
  77. package/build/{context-dialog-B67-_jMH.cjs → context-dialog-B3khh4eN.cjs} +2 -2
  78. package/build/{context-dialog-B67-_jMH.cjs.map → context-dialog-B3khh4eN.cjs.map} +1 -1
  79. package/build/{context-dialog-CxGGmBqC.js → context-dialog-CeqpejDW.js} +13 -13
  80. package/build/{context-dialog-CxGGmBqC.js.map → context-dialog-CeqpejDW.js.map} +1 -1
  81. package/build/context-dialog.cjs.js +1 -1
  82. package/build/context-dialog.es.js +1 -1
  83. package/build/{context-geolocation-C7PYGQ2g.js → context-geolocation-B_KYGlfQ.js} +2 -2
  84. package/build/{context-geolocation-C7PYGQ2g.js.map → context-geolocation-B_KYGlfQ.js.map} +1 -1
  85. package/build/{context-geolocation-CV4hV0NX.cjs → context-geolocation-bP0_455H.cjs} +2 -2
  86. package/build/{context-geolocation-CV4hV0NX.cjs.map → context-geolocation-bP0_455H.cjs.map} +1 -1
  87. package/build/context-geolocation.cjs.js +1 -1
  88. package/build/context-geolocation.es.js +1 -1
  89. package/build/{context-local-storage-Bb_vktd8.js → context-local-storage-DA_whw_k.js} +2 -2
  90. package/build/{context-local-storage-Bb_vktd8.js.map → context-local-storage-DA_whw_k.js.map} +1 -1
  91. package/build/{context-local-storage-DUKHVPAA.cjs → context-local-storage-D_x8dwxM.cjs} +2 -2
  92. package/build/{context-local-storage-DUKHVPAA.cjs.map → context-local-storage-D_x8dwxM.cjs.map} +1 -1
  93. package/build/context-local-storage.cjs.js +1 -1
  94. package/build/context-local-storage.es.js +1 -1
  95. package/build/{context-permission-DrcIwK9y.cjs → context-permission-BP9hPUcR.cjs} +2 -2
  96. package/build/{context-permission-DrcIwK9y.cjs.map → context-permission-BP9hPUcR.cjs.map} +1 -1
  97. package/build/{context-permission-Co4BKDOu.js → context-permission-Cj70kL4A.js} +2 -2
  98. package/build/{context-permission-Co4BKDOu.js.map → context-permission-Cj70kL4A.js.map} +1 -1
  99. package/build/context-permission.cjs.js +1 -1
  100. package/build/context-permission.es.js +1 -1
  101. package/build/{context-screen-width-hcRkxzy7.cjs → context-screen-width-Cfe3atNC.cjs} +2 -2
  102. package/build/{context-screen-width-hcRkxzy7.cjs.map → context-screen-width-Cfe3atNC.cjs.map} +1 -1
  103. package/build/{context-screen-width-CFexCIzV.js → context-screen-width-Cq_B7IVp.js} +3 -3
  104. package/build/{context-screen-width-CFexCIzV.js.map → context-screen-width-Cq_B7IVp.js.map} +1 -1
  105. package/build/context-screen-width.cjs.js +1 -1
  106. package/build/context-screen-width.es.js +1 -1
  107. package/build/{context-sonner-4gBa1F7G.cjs → context-sonner-Dqw0jhwT.cjs} +2 -2
  108. package/build/{context-sonner-4gBa1F7G.cjs.map → context-sonner-Dqw0jhwT.cjs.map} +1 -1
  109. package/build/{context-sonner-qDPLFpD5.js → context-sonner-MO6uE8y0.js} +12 -12
  110. package/build/{context-sonner-qDPLFpD5.js.map → context-sonner-MO6uE8y0.js.map} +1 -1
  111. package/build/context-sonner.cjs.js +1 -1
  112. package/build/context-sonner.es.js +1 -1
  113. package/build/contexts/context-app/context.d.ts +2 -2
  114. package/build/cores/consts.d.ts +0 -24
  115. package/build/cores/types.d.ts +0 -14
  116. package/build/date-picker-ATktGA1c.cjs +3 -0
  117. package/build/date-picker-ATktGA1c.cjs.map +1 -0
  118. package/build/date-picker-D81n3KbO.js +813 -0
  119. package/build/date-picker-D81n3KbO.js.map +1 -0
  120. package/build/{dist-DswBAjW1.cjs → dist-SXTf0-_7.cjs} +1 -1
  121. package/build/{dist-DswBAjW1.cjs.map → dist-SXTf0-_7.cjs.map} +1 -1
  122. package/build/{dist-BV0C3tLK.js → dist-ck-7oUux.js} +1 -1
  123. package/build/{dist-BV0C3tLK.js.map → dist-ck-7oUux.js.map} +1 -1
  124. package/build/{error-L2fvWcNv.js → error-BFb2NCum.js} +7 -7
  125. package/build/{error-L2fvWcNv.js.map → error-BFb2NCum.js.map} +1 -1
  126. package/build/{error-DzkkNL2H.cjs → error-BdFba_yV.cjs} +2 -2
  127. package/build/{error-DzkkNL2H.cjs.map → error-BdFba_yV.cjs.map} +1 -1
  128. package/build/{functions-Dwo54amB.cjs → functions-CZrZU5U0.cjs} +1 -1
  129. package/build/{functions-Dwo54amB.cjs.map → functions-CZrZU5U0.cjs.map} +1 -1
  130. package/build/{functions-CLGf7hqw.js → functions-DzX-pTN8.js} +1 -1
  131. package/build/{functions-CLGf7hqw.js.map → functions-DzX-pTN8.js.map} +1 -1
  132. package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
  133. package/build/hooks-use-deep-compare-memoize.es.js +1 -1
  134. package/build/hooks-use-deep-memo.cjs.js +1 -1
  135. package/build/hooks-use-deep-memo.es.js +1 -1
  136. package/build/hooks-use-responsive-layout.cjs.js +1 -1
  137. package/build/hooks-use-responsive-layout.es.js +1 -1
  138. package/build/hooks-use-typography-styles.cjs.js +1 -1
  139. package/build/hooks-use-typography-styles.es.js +2 -2
  140. package/build/icon-D2w7GViT.js +245 -0
  141. package/build/icon-D2w7GViT.js.map +1 -0
  142. package/build/icon-Ddkbk3-m.cjs +3 -0
  143. package/build/icon-Ddkbk3-m.cjs.map +1 -0
  144. package/build/index.cjs.js +1 -1
  145. package/build/index.d.ts +5 -5
  146. package/build/index.es.js +97 -98
  147. package/build/{input-CV02F03L.js → input-B9ceeR9v.js} +4 -4
  148. package/build/{input-CV02F03L.js.map → input-B9ceeR9v.js.map} +1 -1
  149. package/build/{input-zXF5f99Z.cjs → input-CmdwwrV2.cjs} +2 -2
  150. package/build/{input-zXF5f99Z.cjs.map → input-CmdwwrV2.cjs.map} +1 -1
  151. package/build/{input-otp-BVRCfoRK.cjs → input-otp-CJfZoWd7.cjs} +2 -2
  152. package/build/{input-otp-BVRCfoRK.cjs.map → input-otp-CJfZoWd7.cjs.map} +1 -1
  153. package/build/{input-otp-B9cYxJ7X.js → input-otp-CeMGm5Xq.js} +4 -4
  154. package/build/{input-otp-B9cYxJ7X.js.map → input-otp-CeMGm5Xq.js.map} +1 -1
  155. package/build/{isEqual-Qb81B2zH.js → isEqual-0jZ23Bb6.js} +1 -1
  156. package/build/{isEqual-Qb81B2zH.js.map → isEqual-0jZ23Bb6.js.map} +1 -1
  157. package/build/{isEqual-DeC2HFe5.cjs → isEqual-BA0P9-C8.cjs} +1 -1
  158. package/build/{isEqual-DeC2HFe5.cjs.map → isEqual-BA0P9-C8.cjs.map} +1 -1
  159. package/build/{logger-DZFY33QY.cjs → logger-D3Xu5ef3.cjs} +1 -1
  160. package/build/{logger-DZFY33QY.cjs.map → logger-D3Xu5ef3.cjs.map} +1 -1
  161. package/build/{logger-BRWLzI5S.js → logger-QC3A33gh.js} +1 -1
  162. package/build/{logger-BRWLzI5S.js.map → logger-QC3A33gh.js.map} +1 -1
  163. package/build/{motion-CAPq8wSn.cjs → motion-BWBldnsY.cjs} +2 -2
  164. package/build/{motion-CAPq8wSn.cjs.map → motion-BWBldnsY.cjs.map} +1 -1
  165. package/build/{motion-Dt6TyEjN.js → motion-C1XU2d68.js} +3 -3
  166. package/build/{motion-Dt6TyEjN.js.map → motion-C1XU2d68.js.map} +1 -1
  167. package/build/{outside-B3nRnDGb.cjs → outside-CXyCk8h1.cjs} +2 -2
  168. package/build/{outside-B3nRnDGb.cjs.map → outside-CXyCk8h1.cjs.map} +1 -1
  169. package/build/{outside-DpK1pI8b.js → outside-DopxX0PZ.js} +2 -2
  170. package/build/{outside-DpK1pI8b.js.map → outside-DopxX0PZ.js.map} +1 -1
  171. package/build/{pagination-YXSjZsMZ.js → pagination-BluJtJl7.js} +5 -5
  172. package/build/{pagination-YXSjZsMZ.js.map → pagination-BluJtJl7.js.map} +1 -1
  173. package/build/pagination-VMAFNidU.cjs +3 -0
  174. package/build/{pagination-Dbs4Lrpt.cjs.map → pagination-VMAFNidU.cjs.map} +1 -1
  175. package/build/{popover-1k1MNFwv.js → popover-DHWcQVp1.js} +3 -3
  176. package/build/{popover-1k1MNFwv.js.map → popover-DHWcQVp1.js.map} +1 -1
  177. package/build/{popover-CgwGn-55.cjs → popover-DQkn4RWI.cjs} +2 -2
  178. package/build/{popover-CgwGn-55.cjs.map → popover-DQkn4RWI.cjs.map} +1 -1
  179. package/build/preview-BLu-NOv2.cjs +3 -0
  180. package/build/{preview-dT7fmxcc.cjs.map → preview-BLu-NOv2.cjs.map} +1 -1
  181. package/build/{preview-C_yFxoFH.js → preview-Bc2qdyd4.js} +5 -5
  182. package/build/{preview-C_yFxoFH.js.map → preview-Bc2qdyd4.js.map} +1 -1
  183. package/build/{proxy-_gZenxVU.cjs → proxy-BDese6Pb.cjs} +1 -1
  184. package/build/{proxy-_gZenxVU.cjs.map → proxy-BDese6Pb.cjs.map} +1 -1
  185. package/build/{proxy-wCWa57J3.js → proxy-BFHkqO7P.js} +1 -1
  186. package/build/{proxy-wCWa57J3.js.map → proxy-BFHkqO7P.js.map} +1 -1
  187. package/build/{select-D7EyxR2l.js → select-CCbtkj6f.js} +862 -876
  188. package/build/{select-D7EyxR2l.js.map → select-CCbtkj6f.js.map} +1 -1
  189. package/build/{select-B0adRX2_.cjs → select-CGXyVf57.cjs} +5 -5
  190. package/build/{select-B0adRX2_.cjs.map → select-CGXyVf57.cjs.map} +1 -1
  191. package/build/{separator-CbeH8Lug.cjs → separator-BGVU_LQb.cjs} +2 -2
  192. package/build/{separator-CbeH8Lug.cjs.map → separator-BGVU_LQb.cjs.map} +1 -1
  193. package/build/{separator-hWp-s54-.js → separator-DJEhOPUT.js} +3 -3
  194. package/build/{separator-hWp-s54-.js.map → separator-DJEhOPUT.js.map} +1 -1
  195. package/build/{skeleton-DNwTI6w0.js → skeleton-Bh6zA5iB.js} +4 -4
  196. package/build/{skeleton-DNwTI6w0.js.map → skeleton-Bh6zA5iB.js.map} +1 -1
  197. package/build/{skeleton-BoVFwt7y.cjs → skeleton-DmaXsm9C.cjs} +2 -2
  198. package/build/{skeleton-BoVFwt7y.cjs.map → skeleton-DmaXsm9C.cjs.map} +1 -1
  199. package/build/style-motion.cjs.js +1 -1
  200. package/build/style-motion.es.js +1 -1
  201. package/build/style-utils.cjs.js +1 -1
  202. package/build/style-utils.es.js +1 -1
  203. package/build/styles/utils/types.d.ts +1 -1
  204. package/build/{textarea-CbZSeqGR.cjs → textarea-DInJb6Lz.cjs} +2 -2
  205. package/build/{textarea-CbZSeqGR.cjs.map → textarea-DInJb6Lz.cjs.map} +1 -1
  206. package/build/{textarea-ChkjV_Ha.js → textarea-jIGZ0JdP.js} +4 -4
  207. package/build/{textarea-ChkjV_Ha.js.map → textarea-jIGZ0JdP.js.map} +1 -1
  208. package/build/{toggle-gYw5FUp-.cjs → toggle-BEmUm0of.cjs} +2 -2
  209. package/build/{toggle-gYw5FUp-.cjs.map → toggle-BEmUm0of.cjs.map} +1 -1
  210. package/build/{toggle-I6YvEX4w.js → toggle-D1nXs-LD.js} +4 -4
  211. package/build/{toggle-I6YvEX4w.js.map → toggle-D1nXs-LD.js.map} +1 -1
  212. package/build/{typography-B2KioMfq.js → typography-07KEDl9_.js} +4 -4
  213. package/build/{typography-B2KioMfq.js.map → typography-07KEDl9_.js.map} +1 -1
  214. package/build/{typography-DcxhX_9e.cjs → typography-BKp4OAQI.cjs} +2 -2
  215. package/build/{typography-DcxhX_9e.cjs.map → typography-BKp4OAQI.cjs.map} +1 -1
  216. package/build/{utils-Cona48dZ.js → utils-BRgi6734.js} +1 -1
  217. package/build/{utils-Cona48dZ.js.map → utils-BRgi6734.js.map} +1 -1
  218. package/build/{utils-DtinAjAU.cjs → utils-DCIq-5FL.cjs} +1 -1
  219. package/build/{utils-DtinAjAU.cjs.map → utils-DCIq-5FL.cjs.map} +1 -1
  220. package/package.json +3 -4
  221. package/build/date-picker-CPNNIEa-.cjs +0 -3
  222. package/build/date-picker-CPNNIEa-.cjs.map +0 -1
  223. package/build/date-picker-Uuce_InW.js +0 -689
  224. package/build/date-picker-Uuce_InW.js.map +0 -1
  225. package/build/icon-CoIQwke4.cjs +0 -3
  226. package/build/icon-CoIQwke4.cjs.map +0 -1
  227. package/build/icon-DzAWOQJg.js +0 -277
  228. package/build/icon-DzAWOQJg.js.map +0 -1
  229. package/build/pagination-Dbs4Lrpt.cjs +0 -3
  230. package/build/preview-dT7fmxcc.cjs +0 -3
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./date-picker-CPNNIEa-.cjs");exports.DatePicker=e.DatePicker;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./date-picker-ATktGA1c.cjs");exports.DatePicker=e.DatePicker;
@@ -1,4 +1,4 @@
1
- import { t } from "./date-picker-Uuce_InW.js";
1
+ import { t } from "./date-picker-D81n3KbO.js";
2
2
  export {
3
3
  t as DatePicker
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./icon-CoIQwke4.cjs");exports.Icon=e.Icon;exports.THEME_MAP=e.THEME_MAP;exports.getIconComponents=e.getIconComponents;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./icon-Ddkbk3-m.cjs");exports.Icon=e.Icon;exports.THEME_MAP=e.THEME_MAP;exports.getIconComponents=e.getIconComponents;
@@ -1,4 +1,4 @@
1
- import { n, r as t, t as r } from "./icon-DzAWOQJg.js";
1
+ import { n, r as t, t as r } from "./icon-D2w7GViT.js";
2
2
  export {
3
3
  t as Icon,
4
4
  n as THEME_MAP,
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./input-otp-BVRCfoRK.cjs");exports.InputOTP=e.InputOTP;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./input-otp-CJfZoWd7.cjs");exports.InputOTP=e.InputOTP;
@@ -1,4 +1,4 @@
1
- import { t as o } from "./input-otp-B9cYxJ7X.js";
1
+ import { t as o } from "./input-otp-CeMGm5Xq.js";
2
2
  export {
3
3
  o as InputOTP
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./input-zXF5f99Z.cjs");exports.Input=e.Input;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./input-CmdwwrV2.cjs");exports.Input=e.Input;
@@ -1,4 +1,4 @@
1
- import { t as o } from "./input-CV02F03L.js";
1
+ import { t as o } from "./input-B9ceeR9v.js";
2
2
  export {
3
3
  o as Input
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./chunk-Dd8m0Ver.cjs"),e=require("./pagination-Dbs4Lrpt.cjs");exports.Pagination=e.Pagination;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./chunk-Dd8m0Ver.cjs"),e=require("./pagination-VMAFNidU.cjs");exports.Pagination=e.Pagination;
@@ -1,4 +1,4 @@
1
- import { t } from "./pagination-YXSjZsMZ.js";
1
+ import { t } from "./pagination-BluJtJl7.js";
2
2
  export {
3
3
  t as Pagination
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./popover-CgwGn-55.cjs");exports.Popover=e.Popover;exports.usePopover=e.usePopover;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),e=require("./popover-DQkn4RWI.cjs");exports.Popover=e.Popover;exports.usePopover=e.usePopover;
@@ -1,4 +1,4 @@
1
- import { n as r, t as e } from "./popover-1k1MNFwv.js";
1
+ import { n as r, t as e } from "./popover-DHWcQVp1.js";
2
2
  export {
3
3
  e as Popover,
4
4
  r as usePopover
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunk-Dd8m0Ver.cjs"),e=require("./select-B0adRX2_.cjs");exports.Select=e.Select;exports.SelectLanguage=e.SelectLanguage;exports.SelectMonth=e.SelectMonth;exports.SelectMonths=e.SelectMonths;exports.SelectYear=e.SelectYear;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunk-Dd8m0Ver.cjs"),e=require("./select-CGXyVf57.cjs");exports.Select=e.Select;exports.SelectMonth=e.SelectMonth;exports.SelectMonths=e.SelectMonths;exports.SelectYear=e.SelectYear;
@@ -1,8 +1,7 @@
1
- import { i as t, n as a, o, r as s, t as c } from "./select-D7EyxR2l.js";
1
+ import { a as t, n as a, r as o, t as r } from "./select-CCbtkj6f.js";
2
2
  export {
3
- o as Select,
4
- c as SelectLanguage,
5
- a as SelectMonth,
6
- s as SelectMonths,
7
- t as SelectYear
3
+ t as Select,
4
+ r as SelectMonth,
5
+ a as SelectMonths,
6
+ o as SelectYear
8
7
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./separator-CbeH8Lug.cjs");exports.Separator=e.Separator;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./separator-BGVU_LQb.cjs");exports.Separator=e.Separator;
@@ -1,4 +1,4 @@
1
- import { t as o } from "./separator-hWp-s54-.js";
1
+ import { t as o } from "./separator-DJEhOPUT.js";
2
2
  export {
3
3
  o as Separator
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunk-Dd8m0Ver.cjs"),e=require("./component-jsn2T8Hu.cjs");exports.Stack=e.Stack;exports.StackMotion=e.StackMotion;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunk-Dd8m0Ver.cjs"),e=require("./component-CbJ_P8yq.cjs");exports.Stack=e.Stack;exports.StackMotion=e.StackMotion;
@@ -1,4 +1,4 @@
1
- import { n as o, t as a } from "./component-BHyXT2-h.js";
1
+ import { n as o, t as a } from "./component-DGfyD5-u.js";
2
2
  export {
3
3
  a as Stack,
4
4
  o as StackMotion
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./textarea-CbZSeqGR.cjs");exports.TextArea=e.TextArea;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./textarea-DInJb6Lz.cjs");exports.TextArea=e.TextArea;
@@ -1,4 +1,4 @@
1
- import { t } from "./textarea-ChkjV_Ha.js";
1
+ import { t } from "./textarea-jIGZ0JdP.js";
2
2
  export {
3
3
  t as TextArea
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./toggle-gYw5FUp-.cjs");exports.Toggle=e.Toggle;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./toggle-BEmUm0of.cjs");exports.Toggle=e.Toggle;
@@ -1,4 +1,4 @@
1
- import { t as r } from "./toggle-I6YvEX4w.js";
1
+ import { t as r } from "./toggle-D1nXs-LD.js";
2
2
  export {
3
3
  r as Toggle
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./typography-DcxhX_9e.cjs");exports.Tooltip=e.Tooltip;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./typography-BKp4OAQI.cjs");exports.Tooltip=e.Tooltip;
@@ -1,4 +1,4 @@
1
- import { r } from "./typography-B2KioMfq.js";
1
+ import { r } from "./typography-07KEDl9_.js";
2
2
  export {
3
3
  r as Tooltip
4
4
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),r=require("./typography-DcxhX_9e.cjs");exports.Typography=r.Typography;exports.TypographyTooltip=r.TypographyTooltip;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunk-Dd8m0Ver.cjs"),r=require("./typography-BKp4OAQI.cjs");exports.Typography=r.Typography;exports.TypographyTooltip=r.TypographyTooltip;
@@ -1,4 +1,4 @@
1
- import { n as p, t as r } from "./typography-B2KioMfq.js";
1
+ import { n as p, t as r } from "./typography-07KEDl9_.js";
2
2
  export {
3
3
  r as Typography,
4
4
  p as TypographyTooltip
@@ -1,6 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { ISelectLanguage, ISelectMonth, ISelectMonths, ISelectYear } from './component.types';
3
- export declare const SelectLanguage: FC<ISelectLanguage>;
2
+ import { ISelectMonth, ISelectMonths, ISelectYear } from './component.types';
4
3
  export declare const SelectMonth: FC<ISelectMonth>;
5
4
  export declare const SelectMonths: FC<ISelectMonths>;
6
5
  export declare const SelectYear: FC<ISelectYear>;
@@ -65,14 +65,10 @@ export type ISelect<T extends ISelectItem> = {
65
65
  fetchNextPage?: () => void;
66
66
  getEstimateSize?: (index: number) => number;
67
67
  };
68
- export interface ISelectLanguageOption extends ISelectItem {
68
+ export interface ISelectExampleOption extends ISelectItem {
69
69
  placeholder: string;
70
70
  search?: string;
71
71
  }
72
- export type ISelectLanguage = Omit<ISelect<ISelectItem>, 'option' | 'value' | 'onChange'> & {
73
- value: string | null;
74
- onChange: (language: string | null) => void;
75
- };
76
72
  export type ISelectMonth = Omit<ISelect<ISelectItem>, 'option' | 'value' | 'onChange'> & {
77
73
  dateMin?: number;
78
74
  dateMax?: number;
@@ -1,3 +1,3 @@
1
1
  export { Select } from './component';
2
- export { SelectLanguage, SelectMonth, SelectMonths, SelectYear } from './component.examples';
3
- export type { ISelect, ISelectLanguage, ISelectMonth, ISelectMonths, ISelectYear, } from './component.types';
2
+ export { SelectMonth, SelectMonths, SelectYear } from './component.examples';
3
+ export type { ISelect, ISelectItem, ISelectMonth, ISelectMonths, ISelectYear, } from './component.types';
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunk-Dd8m0Ver.cjs"),r=require("./error-DzkkNL2H.cjs");exports.ErrorMessage=r.ErrorMessage;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunk-Dd8m0Ver.cjs"),r=require("./error-BdFba_yV.cjs");exports.ErrorMessage=r.ErrorMessage;
@@ -1,4 +1,4 @@
1
- import { t as o } from "./error-L2fvWcNv.js";
1
+ import { t as o } from "./error-BFb2NCum.js";
2
2
  export {
3
3
  o as ErrorMessage
4
4
  };
@@ -1,8 +1,8 @@
1
- import { n as u, r as H } from "./utils-Cona48dZ.js";
2
- import { t as V } from "./functions-CLGf7hqw.js";
3
- import { n as j } from "./preview-C_yFxoFH.js";
4
- import { n as E, t as W } from "./dist-BV0C3tLK.js";
5
- import { t as _ } from "./context-screen-width-CFexCIzV.js";
1
+ import { n as u, r as H } from "./utils-BRgi6734.js";
2
+ import { t as V } from "./functions-DzX-pTN8.js";
3
+ import { n as j } from "./preview-Bc2qdyd4.js";
4
+ import { n as E, t as W } from "./dist-ck-7oUux.js";
5
+ import { t as _ } from "./context-screen-width-Cq_B7IVp.js";
6
6
  import { jsx as g, jsxs as f } from "react/jsx-runtime";
7
7
  import { useCallback as s, useEffect as m, useMemo as G, useState as y } from "react";
8
8
  var x = (t) => typeof t == "number" ? `${t}px` : t ?? "0px", M = (t) => `
@@ -414,4 +414,4 @@ export {
414
414
  It as t
415
415
  };
416
416
 
417
- //# sourceMappingURL=context-app-CMK9g6MI.js.map
417
+ //# sourceMappingURL=context-app-C9XoarPw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-app-CMK9g6MI.js","names":[],"sources":["../src/contexts/context-app/context.styles.ts","../src/contexts/context-app/context.tsx","../src/contexts/context-app/context.hooks.ts"],"sourcesContent":["import { CSS_VARS, IThemePalette } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport { IAppProviderOutletStyled } from './context.types';\n\ntype IAppOutletParts = IAppProviderOutletStyled;\n\nconst toPx = (value?: number | string | null) => (typeof value === 'number' ? `${value}px` : (value ?? '0px'));\n\nconst generateGridTemplateAreas = (props: IAppOutletParts) => {\n return `\n \"notification notification notification\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : 'header'} header ${props.rightAside?.isTopHeader ? 'rightAside' : 'header'}\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : props.leftAside?.isTopNav ? 'leftAside' : 'nav'} nav ${props.rightAside?.isTopHeader ? 'rightAside' : props.rightAside?.isTopNav ? 'rightAside' : 'nav'}\"\n \"leftAside children rightAside\"\n \"${props.leftAside?.isTopFooter ? 'leftAside' : 'footer'} footer ${props.rightAside?.isTopFooter ? 'rightAside' : 'footer'}\"\n `;\n};\n\nexport const getProviderAppWrapperStyle = (bgColor: IThemePalette, bgImage: string | null): CSSProperties => ({\n backgroundColor: CSS_VARS.palette[bgColor],\n backgroundImage: bgImage ? `url(${bgImage})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n});\n\nexport const getProviderAppOutletStyle = (props: IAppOutletParts): CSSProperties => ({\n gridTemplateAreas: generateGridTemplateAreas(props),\n gridTemplateColumns: `${toPx(props.leftAside?.length)} 1fr ${toPx(props.rightAside?.length)}`,\n gridTemplateRows: `${toPx(props.notification?.length)} ${toPx(props.header?.length)} ${toPx(props.nav?.length)} 1fr ${toPx(props.footer?.length)}`,\n});\n\nexport const getProviderAppOutletChildrenStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.main?.zIndex ?? 'auto',\n overflow: props.isScrollOutlet ? 'auto' : 'visible',\n});\n\nexport const getProviderAppOutletNotificationStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.notification?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletHeaderStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.header?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletFooterStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.footer?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletNavStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.nav?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletLeftAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.leftAside?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletRightAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.rightAside?.zIndex ?? 'auto',\n});\n","import { IPreviewAdditional, Preview } from '@local/areas/preview';\nimport { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { CSS_CLASS, CSS_VARS, IThemePalette } from '@local/styles/utils';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport {\n getProviderAppOutletChildrenStyle,\n getProviderAppOutletFooterStyle,\n getProviderAppOutletHeaderStyle,\n getProviderAppOutletLeftAsideStyle,\n getProviderAppOutletNavStyle,\n getProviderAppOutletNotificationStyle,\n getProviderAppOutletRightAsideStyle,\n getProviderAppOutletStyle,\n getProviderAppWrapperStyle,\n} from './context.styles';\nimport { IAppContext, IAppProvider, IAppProviderElement, IAppProviderOutletStyled } from './context.types';\n\nexport const AppContext = createContext<IAppContext | null>(null);\n\nexport const ProviderApp: FC<IAppProvider> = (props) => {\n const { bgColor, changeBgColor, historyBgColor, setDefaultBgColor } = useBgColor(props.defaultBgColor);\n const { statusBarColor, changeStatusBarColor, historyStatusBarColor, setDefaultStatusBarColor } = useStatusBarColor(\n props.defaultStatusBarColor,\n );\n const { bgImage, changeBgImage, historyBgImage, setDefaultBgImage } = useBgImage(props.defaultBgImage || null);\n const { title, changeTitle, setHistoryTitle, setDefaultTitle } = useTitle(props.defaultTitle || null);\n const { description, changeDescription, historyDescription, setDefaultDescription } = useDescription(\n props.defaultDescription,\n );\n const { changePreview, previewProps } = usePreview(props.defaultPreview);\n\n const { breakpoint, type, orientation } = useScreenWidth(['breakpoint', 'type', 'orientation']);\n\n const getValueByBreakpoint = useCallback(\n (lengthByBreakpoint: IAppProviderElement['length']) => {\n if (!lengthByBreakpoint) return null;\n if (type === 'orientation' && lengthByBreakpoint.orientation) {\n const value = lengthByBreakpoint.orientation?.[orientation];\n return value ?? null;\n }\n if (lengthByBreakpoint.breakpoint && lengthByBreakpoint.breakpoint) {\n if (breakpoint === 'default') return lengthByBreakpoint.default ?? null;\n const value = lengthByBreakpoint.breakpoint?.[breakpoint];\n return value ?? null;\n }\n },\n [breakpoint, orientation, type],\n );\n\n const outletStyledProps: IAppProviderOutletStyled = useMemo(\n () => ({\n isScrollOutlet: props.isScrollOutlet,\n main: props.main,\n notification: props.notification\n ? {\n component: props.notification.component,\n length: getValueByBreakpoint(props.notification.length),\n zIndex: props.notification.zIndex,\n }\n : undefined,\n header: props.header\n ? {\n component: props.header.component,\n length: getValueByBreakpoint(props.header.length),\n zIndex: props.header.zIndex,\n }\n : undefined,\n nav: props.nav\n ? {\n component: props.nav.component,\n length: getValueByBreakpoint(props.nav.length),\n zIndex: props.nav.zIndex,\n }\n : undefined,\n footer: props.footer\n ? {\n component: props.footer.component,\n length: getValueByBreakpoint(props.footer.length),\n zIndex: props.footer.zIndex,\n }\n : undefined,\n leftAside: props.leftAside\n ? {\n component: props.leftAside.component,\n length: getValueByBreakpoint(props.leftAside.length),\n zIndex: props.leftAside.zIndex,\n isTopHeader: props.leftAside.isTopHeader,\n isTopFooter: props.leftAside.isTopFooter,\n isTopNav: props.leftAside.isTopNav,\n }\n : undefined,\n rightAside: props.rightAside\n ? {\n component: props.rightAside.component,\n length: getValueByBreakpoint(props.rightAside.length),\n zIndex: props.rightAside.zIndex,\n isTopHeader: props.rightAside.isTopHeader,\n isTopFooter: props.rightAside.isTopFooter,\n isTopNav: props.rightAside.isTopNav,\n }\n : undefined,\n }),\n [\n props.footer,\n props.header,\n props.leftAside,\n props.main,\n props.nav,\n props.notification,\n props.rightAside,\n props.isScrollOutlet,\n getValueByBreakpoint,\n ],\n );\n\n return (\n <AppContext.Provider\n value={{\n changePreview,\n changeStatusBarColor,\n changeBgColor,\n changeBgImage,\n changeTitle,\n changeDescription,\n historyStatusBarColor,\n historyBgColor,\n historyBgImage,\n setHistoryTitle,\n historyDescription,\n setDefaultStatusBarColor,\n setDefaultBgColor,\n setDefaultBgImage,\n setDefaultTitle,\n setDefaultDescription,\n }}\n >\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='theme-color' content={CSS_VARS.palette[statusBarColor]} />\n <meta name='apple-mobile-web-app-status-bar-style' content='default' />\n <meta name='mobile-web-app-capable' content='yes' />\n <Preview {...previewProps}>\n <div className={CSS_CLASS.context.app.wrapper} style={getProviderAppWrapperStyle(bgColor, bgImage)}>\n <div\n className={setClasses([CSS_CLASS.context.app.outlet, CSS_CLASS.transition.grid])}\n style={getProviderAppOutletStyle(outletStyledProps)}\n >\n {outletStyledProps.notification?.length ? (\n <section\n className={CSS_CLASS.context.app.outletNotification}\n style={getProviderAppOutletNotificationStyle(outletStyledProps)}\n >\n {props.notification?.component || null}\n </section>\n ) : null}\n\n {outletStyledProps.header?.length ? (\n <header\n className={CSS_CLASS.context.app.outletHeader}\n style={getProviderAppOutletHeaderStyle(outletStyledProps)}\n >\n {props.header?.component || null}\n </header>\n ) : null}\n\n {outletStyledProps.nav?.length ? (\n <nav className={CSS_CLASS.context.app.outletNav} style={getProviderAppOutletNavStyle(outletStyledProps)}>\n {props.nav?.component || null}\n </nav>\n ) : null}\n\n {outletStyledProps.leftAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletLeftAside}\n style={getProviderAppOutletLeftAsideStyle(outletStyledProps)}\n >\n {props.leftAside?.component || null}\n </aside>\n ) : null}\n\n <main\n className={CSS_CLASS.context.app.outletChildren}\n style={getProviderAppOutletChildrenStyle(outletStyledProps)}\n >\n {props.children}\n </main>\n\n {outletStyledProps.rightAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletRightAside}\n style={getProviderAppOutletRightAsideStyle(outletStyledProps)}\n >\n {props.rightAside?.component || null}\n </aside>\n ) : null}\n\n {outletStyledProps.footer?.length ? (\n <footer\n className={CSS_CLASS.context.app.outletFooter}\n style={getProviderAppOutletFooterStyle(outletStyledProps)}\n >\n {props.footer?.component || null}\n </footer>\n ) : null}\n </div>\n </div>\n </Preview>\n </AppContext.Provider>\n );\n};\n\n/**\n * Custom hook to manage preview properties.\n */\nconst usePreview = (defaultPreview: IAppProvider['defaultPreview']) => {\n const [previewProps, setIPreview] = useState(defaultPreview || { visible: true, defaultVisible: true });\n\n const changePreview = useCallback((newIPreview: IPreviewAdditional) => {\n setIPreview(newIPreview);\n }, []);\n\n useEffect(() => {\n if (defaultPreview) setIPreview(defaultPreview);\n }, [defaultPreview]);\n\n return { previewProps, changePreview };\n};\n\n/**\n * Custom hook to manage background color state with history tracking.\n */\ntype BgColorState = {\n bgColor: IThemePalette;\n bgColorHistory: IThemePalette[];\n bgColorIndex: number;\n};\n\nexport const useBgColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<BgColorState>({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n\n const changeBgColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.bgColorHistory.slice(0, prev.bgColorIndex + 1), color];\n return {\n bgColor: color,\n bgColorHistory: newHistory,\n bgColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgColorHistory.length) {\n return {\n ...prev,\n bgColor: prev.bgColorHistory[newIndex],\n bgColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgColor = useCallback(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n bgColor: state.bgColor,\n changeBgColor,\n historyBgColor,\n setDefaultBgColor,\n bgColorIndex: state.bgColorIndex,\n };\n};\n\n/**\n * Custom hook to manage the status bar color with history tracking.\n */\ntype StatusBarColorState = {\n statusBarColor: IThemePalette;\n statusBarColorHistory: IThemePalette[];\n statusBarColorIndex: number;\n};\n\nexport const useStatusBarColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<StatusBarColorState>({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n\n const changeStatusBarColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.statusBarColorHistory.slice(0, prev.statusBarColorIndex + 1), color];\n return {\n statusBarColor: color,\n statusBarColorHistory: newHistory,\n statusBarColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyStatusBarColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.statusBarColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.statusBarColorHistory.length) {\n return {\n ...prev,\n statusBarColor: prev.statusBarColorHistory[newIndex],\n statusBarColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultStatusBarColor = useCallback(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n statusBarColor: state.statusBarColor,\n changeStatusBarColor,\n historyStatusBarColor,\n setDefaultStatusBarColor,\n statusBarColorIndex: state.statusBarColorIndex,\n };\n};\n\n/**\n * Custom hook to manage background images with history.\n */\ntype BgImageState = {\n bgImage: string | null;\n bgImageHistory: (string | null)[];\n bgImageIndex: number;\n};\n\nexport const useBgImage = (defaultImage: string | null) => {\n const [state, setState] = useState<BgImageState>({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n\n const changeBgImage = useCallback((image: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.bgImageHistory.slice(0, prev.bgImageIndex + 1), image];\n return {\n bgImage: image,\n bgImageHistory: newHistory,\n bgImageIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgImage = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgImageIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgImageHistory.length) {\n return {\n ...prev,\n bgImage: prev.bgImageHistory[newIndex],\n bgImageIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgImage = useCallback(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n useEffect(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n return {\n bgImage: state.bgImage,\n changeBgImage,\n historyBgImage,\n setDefaultBgImage,\n bgImageIndex: state.bgImageIndex,\n };\n};\n\ntype TitleState = {\n title: string | null;\n titleHistory: (string | null)[];\n titleIndex: number;\n};\n/**\n * Custom hook to manage the document title with history tracking.\n */\nconst useTitle = (defaultTitle: string | null) => {\n const [state, setState] = useState<TitleState>({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n\n const changeTitle = useCallback((newTitle: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.titleHistory.slice(0, prev.titleIndex + 1), newTitle];\n return {\n title: newTitle,\n titleHistory: newHistory,\n titleIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const setHistoryTitle = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.titleIndex + steps;\n if (newIndex >= 0 && newIndex < prev.titleHistory.length) {\n return {\n ...prev,\n title: prev.titleHistory[newIndex],\n titleIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultTitle = useCallback(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n useEffect(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n return {\n title: state.title,\n titleIndex: state.titleIndex,\n titleHistory: state.titleHistory,\n changeTitle,\n setHistoryTitle,\n setDefaultTitle,\n };\n};\n\n/**\n * Custom hook to manage a description with history tracking.\n */\ntype DescriptionState = {\n description: string;\n descriptionHistory: string[];\n descriptionIndex: number;\n};\n\nexport const useDescription = (defaultDescription: string) => {\n const [state, setState] = useState<DescriptionState>({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n\n const changeDescription = useCallback((newDescription: string) => {\n setState((prev) => {\n const newHistory = [...prev.descriptionHistory.slice(0, prev.descriptionIndex + 1), newDescription];\n return {\n description: newDescription,\n descriptionHistory: newHistory,\n descriptionIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyDescription = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.descriptionIndex + steps;\n if (newIndex >= 0 && newIndex < prev.descriptionHistory.length) {\n return {\n ...prev,\n description: prev.descriptionHistory[newIndex],\n descriptionIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultDescription = useCallback(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n useEffect(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n return {\n description: state.description,\n changeDescription,\n historyDescription,\n setDefaultDescription,\n descriptionIndex: state.descriptionIndex,\n };\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { AppContext } from './context';\nimport { IAppContext, IUseAppDependencies } from './context.types';\n\nexport const useApp = (props: IUseAppDependencies): IAppContext => {\n const context = useContextSelector(AppContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useApp must be used within an AppContext');\n }\n return context;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"context-app-C9XoarPw.js","names":[],"sources":["../src/contexts/context-app/context.styles.ts","../src/contexts/context-app/context.tsx","../src/contexts/context-app/context.hooks.ts"],"sourcesContent":["import { CSS_VARS, IThemePalette } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport { IAppProviderOutletStyled } from './context.types';\n\ntype IAppOutletParts = IAppProviderOutletStyled;\n\nconst toPx = (value?: number | string | null) => (typeof value === 'number' ? `${value}px` : (value ?? '0px'));\n\nconst generateGridTemplateAreas = (props: IAppOutletParts) => {\n return `\n \"notification notification notification\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : 'header'} header ${props.rightAside?.isTopHeader ? 'rightAside' : 'header'}\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : props.leftAside?.isTopNav ? 'leftAside' : 'nav'} nav ${props.rightAside?.isTopHeader ? 'rightAside' : props.rightAside?.isTopNav ? 'rightAside' : 'nav'}\"\n \"leftAside children rightAside\"\n \"${props.leftAside?.isTopFooter ? 'leftAside' : 'footer'} footer ${props.rightAside?.isTopFooter ? 'rightAside' : 'footer'}\"\n `;\n};\n\nexport const getProviderAppWrapperStyle = (bgColor: IThemePalette, bgImage: string | null): CSSProperties => ({\n backgroundColor: CSS_VARS.palette[bgColor],\n backgroundImage: bgImage ? `url(${bgImage})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n});\n\nexport const getProviderAppOutletStyle = (props: IAppOutletParts): CSSProperties => ({\n gridTemplateAreas: generateGridTemplateAreas(props),\n gridTemplateColumns: `${toPx(props.leftAside?.length)} 1fr ${toPx(props.rightAside?.length)}`,\n gridTemplateRows: `${toPx(props.notification?.length)} ${toPx(props.header?.length)} ${toPx(props.nav?.length)} 1fr ${toPx(props.footer?.length)}`,\n});\n\nexport const getProviderAppOutletChildrenStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.main?.zIndex ?? 'auto',\n overflow: props.isScrollOutlet ? 'auto' : 'visible',\n});\n\nexport const getProviderAppOutletNotificationStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.notification?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletHeaderStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.header?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletFooterStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.footer?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletNavStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.nav?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletLeftAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.leftAside?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletRightAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.rightAside?.zIndex ?? 'auto',\n});\n","import { IPreviewAdditional, Preview } from '@local/areas/preview';\nimport { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { CSS_CLASS, CSS_VARS, IThemePalette } from '@local/styles/utils';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport {\n getProviderAppOutletChildrenStyle,\n getProviderAppOutletFooterStyle,\n getProviderAppOutletHeaderStyle,\n getProviderAppOutletLeftAsideStyle,\n getProviderAppOutletNavStyle,\n getProviderAppOutletNotificationStyle,\n getProviderAppOutletRightAsideStyle,\n getProviderAppOutletStyle,\n getProviderAppWrapperStyle,\n} from './context.styles';\nimport { IAppContext, IAppProvider, IAppProviderElement, IAppProviderOutletStyled } from './context.types';\n\nexport const AppContext = createContext<IAppContext | null>(null);\n\nexport const ProviderApp: FC<IAppProvider> = (props) => {\n const { bgColor, changeBgColor, historyBgColor, setDefaultBgColor } = useBgColor(props.defaultBgColor);\n const { statusBarColor, changeStatusBarColor, historyStatusBarColor, setDefaultStatusBarColor } = useStatusBarColor(\n props.defaultStatusBarColor,\n );\n const { bgImage, changeBgImage, historyBgImage, setDefaultBgImage } = useBgImage(props.defaultBgImage || null);\n const { title, changeTitle, setHistoryTitle, setDefaultTitle } = useTitle(props.defaultTitle || null);\n const { description, changeDescription, historyDescription, setDefaultDescription } = useDescription(\n props.defaultDescription,\n );\n const { changePreview, previewProps } = usePreview(props.defaultPreview);\n\n const { breakpoint, type, orientation } = useScreenWidth(['breakpoint', 'type', 'orientation']);\n\n const getValueByBreakpoint = useCallback(\n (lengthByBreakpoint: IAppProviderElement['length']) => {\n if (!lengthByBreakpoint) return null;\n if (type === 'orientation' && lengthByBreakpoint.orientation) {\n const value = lengthByBreakpoint.orientation?.[orientation];\n return value ?? null;\n }\n if (lengthByBreakpoint.breakpoint && lengthByBreakpoint.breakpoint) {\n if (breakpoint === 'default') return lengthByBreakpoint.default ?? null;\n const value = lengthByBreakpoint.breakpoint?.[breakpoint];\n return value ?? null;\n }\n },\n [breakpoint, orientation, type],\n );\n\n const outletStyledProps: IAppProviderOutletStyled = useMemo(\n () => ({\n isScrollOutlet: props.isScrollOutlet,\n main: props.main,\n notification: props.notification\n ? {\n component: props.notification.component,\n length: getValueByBreakpoint(props.notification.length),\n zIndex: props.notification.zIndex,\n }\n : undefined,\n header: props.header\n ? {\n component: props.header.component,\n length: getValueByBreakpoint(props.header.length),\n zIndex: props.header.zIndex,\n }\n : undefined,\n nav: props.nav\n ? {\n component: props.nav.component,\n length: getValueByBreakpoint(props.nav.length),\n zIndex: props.nav.zIndex,\n }\n : undefined,\n footer: props.footer\n ? {\n component: props.footer.component,\n length: getValueByBreakpoint(props.footer.length),\n zIndex: props.footer.zIndex,\n }\n : undefined,\n leftAside: props.leftAside\n ? {\n component: props.leftAside.component,\n length: getValueByBreakpoint(props.leftAside.length),\n zIndex: props.leftAside.zIndex,\n isTopHeader: props.leftAside.isTopHeader,\n isTopFooter: props.leftAside.isTopFooter,\n isTopNav: props.leftAside.isTopNav,\n }\n : undefined,\n rightAside: props.rightAside\n ? {\n component: props.rightAside.component,\n length: getValueByBreakpoint(props.rightAside.length),\n zIndex: props.rightAside.zIndex,\n isTopHeader: props.rightAside.isTopHeader,\n isTopFooter: props.rightAside.isTopFooter,\n isTopNav: props.rightAside.isTopNav,\n }\n : undefined,\n }),\n [\n props.footer,\n props.header,\n props.leftAside,\n props.main,\n props.nav,\n props.notification,\n props.rightAside,\n props.isScrollOutlet,\n getValueByBreakpoint,\n ],\n );\n\n return (\n <AppContext.Provider\n value={{\n changePreview,\n changeStatusBarColor,\n changeBgColor,\n changeBgImage,\n changeTitle,\n changeDescription,\n historyStatusBarColor,\n historyBgColor,\n historyBgImage,\n setHistoryTitle,\n historyDescription,\n setDefaultStatusBarColor,\n setDefaultBgColor,\n setDefaultBgImage,\n setDefaultTitle,\n setDefaultDescription,\n }}\n >\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='theme-color' content={CSS_VARS.palette[statusBarColor]} />\n <meta name='apple-mobile-web-app-status-bar-style' content='default' />\n <meta name='mobile-web-app-capable' content='yes' />\n <Preview {...previewProps}>\n <div className={CSS_CLASS.context.app.wrapper} style={getProviderAppWrapperStyle(bgColor, bgImage)}>\n <div\n className={setClasses([CSS_CLASS.context.app.outlet, CSS_CLASS.transition.grid])}\n style={getProviderAppOutletStyle(outletStyledProps)}\n >\n {outletStyledProps.notification?.length ? (\n <section\n className={CSS_CLASS.context.app.outletNotification}\n style={getProviderAppOutletNotificationStyle(outletStyledProps)}\n >\n {props.notification?.component || null}\n </section>\n ) : null}\n\n {outletStyledProps.header?.length ? (\n <header\n className={CSS_CLASS.context.app.outletHeader}\n style={getProviderAppOutletHeaderStyle(outletStyledProps)}\n >\n {props.header?.component || null}\n </header>\n ) : null}\n\n {outletStyledProps.nav?.length ? (\n <nav className={CSS_CLASS.context.app.outletNav} style={getProviderAppOutletNavStyle(outletStyledProps)}>\n {props.nav?.component || null}\n </nav>\n ) : null}\n\n {outletStyledProps.leftAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletLeftAside}\n style={getProviderAppOutletLeftAsideStyle(outletStyledProps)}\n >\n {props.leftAside?.component || null}\n </aside>\n ) : null}\n\n <main\n className={CSS_CLASS.context.app.outletChildren}\n style={getProviderAppOutletChildrenStyle(outletStyledProps)}\n >\n {props.children}\n </main>\n\n {outletStyledProps.rightAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletRightAside}\n style={getProviderAppOutletRightAsideStyle(outletStyledProps)}\n >\n {props.rightAside?.component || null}\n </aside>\n ) : null}\n\n {outletStyledProps.footer?.length ? (\n <footer\n className={CSS_CLASS.context.app.outletFooter}\n style={getProviderAppOutletFooterStyle(outletStyledProps)}\n >\n {props.footer?.component || null}\n </footer>\n ) : null}\n </div>\n </div>\n </Preview>\n </AppContext.Provider>\n );\n};\n\n/**\n * Custom hook to manage preview properties.\n */\nconst usePreview = (defaultPreview: IAppProvider['defaultPreview']) => {\n const [previewProps, setIPreview] = useState(defaultPreview || { visible: true, defaultVisible: true });\n\n const changePreview = useCallback((newIPreview: IPreviewAdditional) => {\n setIPreview(newIPreview);\n }, []);\n\n useEffect(() => {\n if (defaultPreview) setIPreview(defaultPreview);\n }, [defaultPreview]);\n\n return { previewProps, changePreview };\n};\n\n/**\n * Custom hook to manage background color state with history tracking.\n */\ntype BgColorState = {\n bgColor: IThemePalette;\n bgColorHistory: IThemePalette[];\n bgColorIndex: number;\n};\n\nexport const useBgColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<BgColorState>({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n\n const changeBgColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.bgColorHistory.slice(0, prev.bgColorIndex + 1), color];\n return {\n bgColor: color,\n bgColorHistory: newHistory,\n bgColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgColorHistory.length) {\n return {\n ...prev,\n bgColor: prev.bgColorHistory[newIndex],\n bgColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgColor = useCallback(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n bgColor: state.bgColor,\n changeBgColor,\n historyBgColor,\n setDefaultBgColor,\n bgColorIndex: state.bgColorIndex,\n };\n};\n\n/**\n * Custom hook to manage the status bar color with history tracking.\n */\ntype StatusBarColorState = {\n statusBarColor: IThemePalette;\n statusBarColorHistory: IThemePalette[];\n statusBarColorIndex: number;\n};\n\nexport const useStatusBarColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<StatusBarColorState>({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n\n const changeStatusBarColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.statusBarColorHistory.slice(0, prev.statusBarColorIndex + 1), color];\n return {\n statusBarColor: color,\n statusBarColorHistory: newHistory,\n statusBarColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyStatusBarColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.statusBarColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.statusBarColorHistory.length) {\n return {\n ...prev,\n statusBarColor: prev.statusBarColorHistory[newIndex],\n statusBarColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultStatusBarColor = useCallback(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n statusBarColor: state.statusBarColor,\n changeStatusBarColor,\n historyStatusBarColor,\n setDefaultStatusBarColor,\n statusBarColorIndex: state.statusBarColorIndex,\n };\n};\n\n/**\n * Custom hook to manage background images with history.\n */\ntype BgImageState = {\n bgImage: string | null;\n bgImageHistory: (string | null)[];\n bgImageIndex: number;\n};\n\nexport const useBgImage = (defaultImage: string | null) => {\n const [state, setState] = useState<BgImageState>({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n\n const changeBgImage = useCallback((image: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.bgImageHistory.slice(0, prev.bgImageIndex + 1), image];\n return {\n bgImage: image,\n bgImageHistory: newHistory,\n bgImageIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgImage = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgImageIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgImageHistory.length) {\n return {\n ...prev,\n bgImage: prev.bgImageHistory[newIndex],\n bgImageIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgImage = useCallback(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n useEffect(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n return {\n bgImage: state.bgImage,\n changeBgImage,\n historyBgImage,\n setDefaultBgImage,\n bgImageIndex: state.bgImageIndex,\n };\n};\n\ntype TitleState = {\n title: string | null;\n titleHistory: (string | null)[];\n titleIndex: number;\n};\n/**\n * Custom hook to manage the document title with history tracking.\n */\nconst useTitle = (defaultTitle: string | null) => {\n const [state, setState] = useState<TitleState>({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n\n const changeTitle = useCallback((newTitle: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.titleHistory.slice(0, prev.titleIndex + 1), newTitle];\n return {\n title: newTitle,\n titleHistory: newHistory,\n titleIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const setHistoryTitle = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.titleIndex + steps;\n if (newIndex >= 0 && newIndex < prev.titleHistory.length) {\n return {\n ...prev,\n title: prev.titleHistory[newIndex],\n titleIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultTitle = useCallback(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n useEffect(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n return {\n title: state.title,\n titleIndex: state.titleIndex,\n titleHistory: state.titleHistory,\n changeTitle,\n setHistoryTitle,\n setDefaultTitle,\n };\n};\n\n/**\n * Custom hook to manage a description with history tracking.\n */\ntype DescriptionState = {\n description: string;\n descriptionHistory: string[];\n descriptionIndex: number;\n};\n\nexport const useDescription = (defaultDescription: string) => {\n const [state, setState] = useState<DescriptionState>({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n\n const changeDescription = useCallback((newDescription: string) => {\n setState((prev) => {\n const newHistory = [...prev.descriptionHistory.slice(0, prev.descriptionIndex + 1), newDescription];\n return {\n description: newDescription,\n descriptionHistory: newHistory,\n descriptionIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyDescription = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.descriptionIndex + steps;\n if (newIndex >= 0 && newIndex < prev.descriptionHistory.length) {\n return {\n ...prev,\n description: prev.descriptionHistory[newIndex],\n descriptionIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultDescription = useCallback(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n useEffect(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n return {\n description: state.description,\n changeDescription,\n historyDescription,\n setDefaultDescription,\n descriptionIndex: state.descriptionIndex,\n };\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { AppContext } from './context';\nimport { IAppContext, IUseAppDependencies } from './context.types';\n\nexport const useApp = (props: IUseAppDependencies): IAppContext => {\n const context = useContextSelector(AppContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useApp must be used within an AppContext');\n }\n return context;\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const ne=require("./chunk-Dd8m0Ver.cjs"),u=require("./utils-DtinAjAU.cjs"),O=require("./functions-Dwo54amB.cjs"),$=require("./preview-dT7fmxcc.cjs"),m=require("./dist-DswBAjW1.cjs"),L=require("./context-screen-width-hcRkxzy7.cjs");let c=require("react/jsx-runtime"),o=require("react");var I=e=>typeof e=="number"?`${e}px`:e??"0px",D=e=>`
1
+ const ne=require("./chunk-Dd8m0Ver.cjs"),u=require("./utils-DCIq-5FL.cjs"),O=require("./functions-CZrZU5U0.cjs"),$=require("./preview-BLu-NOv2.cjs"),m=require("./dist-SXTf0-_7.cjs"),L=require("./context-screen-width-Cfe3atNC.cjs");let c=require("react/jsx-runtime"),o=require("react");var I=e=>typeof e=="number"?`${e}px`:e??"0px",D=e=>`
2
2
  "notification notification notification"
3
3
  "${e.leftAside?.isTopHeader?"leftAside":"header"} header ${e.rightAside?.isTopHeader?"rightAside":"header"}"
4
4
  "${e.leftAside?.isTopHeader||e.leftAside?.isTopNav?"leftAside":"nav"} nav ${e.rightAside?.isTopHeader||e.rightAside?.isTopNav?"rightAside":"nav"}"
@@ -6,4 +6,4 @@ const ne=require("./chunk-Dd8m0Ver.cjs"),u=require("./utils-DtinAjAU.cjs"),O=req
6
6
  "${e.leftAside?.isTopFooter?"leftAside":"footer"} footer ${e.rightAside?.isTopFooter?"rightAside":"footer"}"
7
7
  `,F=(e,s)=>({backgroundColor:u.CSS_VARS.palette[e],backgroundImage:s?`url(${s})`:void 0,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"}),E=e=>({gridTemplateAreas:D(e),gridTemplateColumns:`${I(e.leftAside?.length)} 1fr ${I(e.rightAside?.length)}`,gridTemplateRows:`${I(e.notification?.length)} ${I(e.header?.length)} ${I(e.nav?.length)} 1fr ${I(e.footer?.length)}`}),R=e=>({zIndex:e.main?.zIndex??"auto",overflow:e.isScrollOutlet?"auto":"visible"}),V=e=>({zIndex:e.notification?.zIndex??"auto"}),W=e=>({zIndex:e.header?.zIndex??"auto"}),G=e=>({zIndex:e.footer?.zIndex??"auto"}),M=e=>({zIndex:e.nav?.zIndex??"auto"}),J=e=>({zIndex:e.leftAside?.zIndex??"auto"}),K=e=>({zIndex:e.rightAside?.zIndex??"auto"}),A=m.createContext(null),Q=e=>{const{bgColor:s,changeBgColor:i,historyBgColor:a,setDefaultBgColor:l}=X(e.defaultBgColor),{statusBarColor:g,changeStatusBarColor:r,historyStatusBarColor:t,setDefaultStatusBarColor:n}=Y(e.defaultStatusBarColor),{bgImage:y,changeBgImage:f,historyBgImage:H,setDefaultBgImage:v}=Z(e.defaultBgImage||null),{title:B,changeTitle:z,setHistoryTitle:T,setDefaultTitle:k}=p(e.defaultTitle||null),{description:w,changeDescription:P,historyDescription:_,setDefaultDescription:j}=ee(e.defaultDescription),{changePreview:N,previewProps:q}=U(e.defaultPreview),{breakpoint:C,type:b,orientation:S}=L.useScreenWidth(["breakpoint","type","orientation"]),x=(0,o.useCallback)(h=>{if(!h)return null;if(b==="orientation"&&h.orientation)return h.orientation?.[S]??null;if(h.breakpoint&&h.breakpoint)return C==="default"?h.default??null:h.breakpoint?.[C]??null},[C,S,b]),d=(0,o.useMemo)(()=>({isScrollOutlet:e.isScrollOutlet,main:e.main,notification:e.notification?{component:e.notification.component,length:x(e.notification.length),zIndex:e.notification.zIndex}:void 0,header:e.header?{component:e.header.component,length:x(e.header.length),zIndex:e.header.zIndex}:void 0,nav:e.nav?{component:e.nav.component,length:x(e.nav.length),zIndex:e.nav.zIndex}:void 0,footer:e.footer?{component:e.footer.component,length:x(e.footer.length),zIndex:e.footer.zIndex}:void 0,leftAside:e.leftAside?{component:e.leftAside.component,length:x(e.leftAside.length),zIndex:e.leftAside.zIndex,isTopHeader:e.leftAside.isTopHeader,isTopFooter:e.leftAside.isTopFooter,isTopNav:e.leftAside.isTopNav}:void 0,rightAside:e.rightAside?{component:e.rightAside.component,length:x(e.rightAside.length),zIndex:e.rightAside.zIndex,isTopHeader:e.rightAside.isTopHeader,isTopFooter:e.rightAside.isTopFooter,isTopNav:e.rightAside.isTopNav}:void 0}),[e.footer,e.header,e.leftAside,e.main,e.nav,e.notification,e.rightAside,e.isScrollOutlet,x]);return(0,c.jsxs)(A.Provider,{value:{changePreview:N,changeStatusBarColor:r,changeBgColor:i,changeBgImage:f,changeTitle:z,changeDescription:P,historyStatusBarColor:t,historyBgColor:a,historyBgImage:H,setHistoryTitle:T,historyDescription:_,setDefaultStatusBarColor:n,setDefaultBgColor:l,setDefaultBgImage:v,setDefaultTitle:k,setDefaultDescription:j},children:[(0,c.jsx)("title",{children:B}),(0,c.jsx)("meta",{name:"description",content:w}),(0,c.jsx)("meta",{name:"theme-color",content:u.CSS_VARS.palette[g]}),(0,c.jsx)("meta",{name:"apple-mobile-web-app-status-bar-style",content:"default"}),(0,c.jsx)("meta",{name:"mobile-web-app-capable",content:"yes"}),(0,c.jsx)($.Preview,{...q,children:(0,c.jsx)("div",{className:u.CSS_CLASS.context.app.wrapper,style:F(s,y),children:(0,c.jsxs)("div",{className:O.setClasses([u.CSS_CLASS.context.app.outlet,u.CSS_CLASS.transition.grid]),style:E(d),children:[d.notification?.length?(0,c.jsx)("section",{className:u.CSS_CLASS.context.app.outletNotification,style:V(d),children:e.notification?.component||null}):null,d.header?.length?(0,c.jsx)("header",{className:u.CSS_CLASS.context.app.outletHeader,style:W(d),children:e.header?.component||null}):null,d.nav?.length?(0,c.jsx)("nav",{className:u.CSS_CLASS.context.app.outletNav,style:M(d),children:e.nav?.component||null}):null,d.leftAside?.length?(0,c.jsx)("aside",{className:u.CSS_CLASS.context.app.outletLeftAside,style:J(d),children:e.leftAside?.component||null}):null,(0,c.jsx)("main",{className:u.CSS_CLASS.context.app.outletChildren,style:R(d),children:e.children}),d.rightAside?.length?(0,c.jsx)("aside",{className:u.CSS_CLASS.context.app.outletRightAside,style:K(d),children:e.rightAside?.component||null}):null,d.footer?.length?(0,c.jsx)("footer",{className:u.CSS_CLASS.context.app.outletFooter,style:G(d),children:e.footer?.component||null}):null]})})})]})},U=e=>{const[s,i]=(0,o.useState)(e||{visible:!0,defaultVisible:!0}),a=(0,o.useCallback)(l=>{i(l)},[]);return(0,o.useEffect)(()=>{e&&i(e)},[e]),{previewProps:s,changePreview:a}},X=e=>{const[s,i]=(0,o.useState)({bgColor:e,bgColorHistory:[e],bgColorIndex:0}),a=(0,o.useCallback)(r=>{i(t=>{const n=[...t.bgColorHistory.slice(0,t.bgColorIndex+1),r];return{bgColor:r,bgColorHistory:n,bgColorIndex:n.length-1}})},[]),l=(0,o.useCallback)(r=>{i(t=>{const n=t.bgColorIndex+r;return n>=0&&n<t.bgColorHistory.length?{...t,bgColor:t.bgColorHistory[n],bgColorIndex:n}:t})},[]),g=(0,o.useCallback)(()=>{i({bgColor:e,bgColorHistory:[e],bgColorIndex:0})},[e]);return(0,o.useEffect)(()=>{i({bgColor:e,bgColorHistory:[e],bgColorIndex:0})},[e]),{bgColor:s.bgColor,changeBgColor:a,historyBgColor:l,setDefaultBgColor:g,bgColorIndex:s.bgColorIndex}},Y=e=>{const[s,i]=(0,o.useState)({statusBarColor:e,statusBarColorHistory:[e],statusBarColorIndex:0}),a=(0,o.useCallback)(r=>{i(t=>{const n=[...t.statusBarColorHistory.slice(0,t.statusBarColorIndex+1),r];return{statusBarColor:r,statusBarColorHistory:n,statusBarColorIndex:n.length-1}})},[]),l=(0,o.useCallback)(r=>{i(t=>{const n=t.statusBarColorIndex+r;return n>=0&&n<t.statusBarColorHistory.length?{...t,statusBarColor:t.statusBarColorHistory[n],statusBarColorIndex:n}:t})},[]),g=(0,o.useCallback)(()=>{i({statusBarColor:e,statusBarColorHistory:[e],statusBarColorIndex:0})},[e]);return(0,o.useEffect)(()=>{i({statusBarColor:e,statusBarColorHistory:[e],statusBarColorIndex:0})},[e]),{statusBarColor:s.statusBarColor,changeStatusBarColor:a,historyStatusBarColor:l,setDefaultStatusBarColor:g,statusBarColorIndex:s.statusBarColorIndex}},Z=e=>{const[s,i]=(0,o.useState)({bgImage:e,bgImageHistory:[e],bgImageIndex:0}),a=(0,o.useCallback)(r=>{i(t=>{const n=[...t.bgImageHistory.slice(0,t.bgImageIndex+1),r];return{bgImage:r,bgImageHistory:n,bgImageIndex:n.length-1}})},[]),l=(0,o.useCallback)(r=>{i(t=>{const n=t.bgImageIndex+r;return n>=0&&n<t.bgImageHistory.length?{...t,bgImage:t.bgImageHistory[n],bgImageIndex:n}:t})},[]),g=(0,o.useCallback)(()=>{i({bgImage:e,bgImageHistory:[e],bgImageIndex:0})},[e]);return(0,o.useEffect)(()=>{i({bgImage:e,bgImageHistory:[e],bgImageIndex:0})},[e]),{bgImage:s.bgImage,changeBgImage:a,historyBgImage:l,setDefaultBgImage:g,bgImageIndex:s.bgImageIndex}},p=e=>{const[s,i]=(0,o.useState)({title:e,titleHistory:[e],titleIndex:0}),a=(0,o.useCallback)(r=>{i(t=>{const n=[...t.titleHistory.slice(0,t.titleIndex+1),r];return{title:r,titleHistory:n,titleIndex:n.length-1}})},[]),l=(0,o.useCallback)(r=>{i(t=>{const n=t.titleIndex+r;return n>=0&&n<t.titleHistory.length?{...t,title:t.titleHistory[n],titleIndex:n}:t})},[]),g=(0,o.useCallback)(()=>{i({title:e,titleHistory:[e],titleIndex:0})},[e]);return(0,o.useEffect)(()=>{i({title:e,titleHistory:[e],titleIndex:0})},[e]),{title:s.title,titleIndex:s.titleIndex,titleHistory:s.titleHistory,changeTitle:a,setHistoryTitle:l,setDefaultTitle:g}},ee=e=>{const[s,i]=(0,o.useState)({description:e,descriptionHistory:[e],descriptionIndex:0}),a=(0,o.useCallback)(r=>{i(t=>{const n=[...t.descriptionHistory.slice(0,t.descriptionIndex+1),r];return{description:r,descriptionHistory:n,descriptionIndex:n.length-1}})},[]),l=(0,o.useCallback)(r=>{i(t=>{const n=t.descriptionIndex+r;return n>=0&&n<t.descriptionHistory.length?{...t,description:t.descriptionHistory[n],descriptionIndex:n}:t})},[]),g=(0,o.useCallback)(()=>{i({description:e,descriptionHistory:[e],descriptionIndex:0})},[e]);return(0,o.useEffect)(()=>{i({description:e,descriptionHistory:[e],descriptionIndex:0})},[e]),{description:s.description,changeDescription:a,historyDescription:l,setDefaultDescription:g,descriptionIndex:s.descriptionIndex}},te=e=>{const s=m.useContextSelector(A,i=>i?e.reduce((a,l)=>(a[l]=i[l],a),{}):null);if(!s)throw new Error("useApp must be used within an AppContext");return s};Object.defineProperty(exports,"ProviderApp",{enumerable:!0,get:function(){return Q}});Object.defineProperty(exports,"useApp",{enumerable:!0,get:function(){return te}});
8
8
 
9
- //# sourceMappingURL=context-app-HhFcx1wY.cjs.map
9
+ //# sourceMappingURL=context-app-Dsa1tKlU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-app-HhFcx1wY.cjs","names":[],"sources":["../src/contexts/context-app/context.styles.ts","../src/contexts/context-app/context.tsx","../src/contexts/context-app/context.hooks.ts"],"sourcesContent":["import { CSS_VARS, IThemePalette } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport { IAppProviderOutletStyled } from './context.types';\n\ntype IAppOutletParts = IAppProviderOutletStyled;\n\nconst toPx = (value?: number | string | null) => (typeof value === 'number' ? `${value}px` : (value ?? '0px'));\n\nconst generateGridTemplateAreas = (props: IAppOutletParts) => {\n return `\n \"notification notification notification\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : 'header'} header ${props.rightAside?.isTopHeader ? 'rightAside' : 'header'}\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : props.leftAside?.isTopNav ? 'leftAside' : 'nav'} nav ${props.rightAside?.isTopHeader ? 'rightAside' : props.rightAside?.isTopNav ? 'rightAside' : 'nav'}\"\n \"leftAside children rightAside\"\n \"${props.leftAside?.isTopFooter ? 'leftAside' : 'footer'} footer ${props.rightAside?.isTopFooter ? 'rightAside' : 'footer'}\"\n `;\n};\n\nexport const getProviderAppWrapperStyle = (bgColor: IThemePalette, bgImage: string | null): CSSProperties => ({\n backgroundColor: CSS_VARS.palette[bgColor],\n backgroundImage: bgImage ? `url(${bgImage})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n});\n\nexport const getProviderAppOutletStyle = (props: IAppOutletParts): CSSProperties => ({\n gridTemplateAreas: generateGridTemplateAreas(props),\n gridTemplateColumns: `${toPx(props.leftAside?.length)} 1fr ${toPx(props.rightAside?.length)}`,\n gridTemplateRows: `${toPx(props.notification?.length)} ${toPx(props.header?.length)} ${toPx(props.nav?.length)} 1fr ${toPx(props.footer?.length)}`,\n});\n\nexport const getProviderAppOutletChildrenStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.main?.zIndex ?? 'auto',\n overflow: props.isScrollOutlet ? 'auto' : 'visible',\n});\n\nexport const getProviderAppOutletNotificationStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.notification?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletHeaderStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.header?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletFooterStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.footer?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletNavStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.nav?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletLeftAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.leftAside?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletRightAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.rightAside?.zIndex ?? 'auto',\n});\n","import { IPreviewAdditional, Preview } from '@local/areas/preview';\nimport { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { CSS_CLASS, CSS_VARS, IThemePalette } from '@local/styles/utils';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport {\n getProviderAppOutletChildrenStyle,\n getProviderAppOutletFooterStyle,\n getProviderAppOutletHeaderStyle,\n getProviderAppOutletLeftAsideStyle,\n getProviderAppOutletNavStyle,\n getProviderAppOutletNotificationStyle,\n getProviderAppOutletRightAsideStyle,\n getProviderAppOutletStyle,\n getProviderAppWrapperStyle,\n} from './context.styles';\nimport { IAppContext, IAppProvider, IAppProviderElement, IAppProviderOutletStyled } from './context.types';\n\nexport const AppContext = createContext<IAppContext | null>(null);\n\nexport const ProviderApp: FC<IAppProvider> = (props) => {\n const { bgColor, changeBgColor, historyBgColor, setDefaultBgColor } = useBgColor(props.defaultBgColor);\n const { statusBarColor, changeStatusBarColor, historyStatusBarColor, setDefaultStatusBarColor } = useStatusBarColor(\n props.defaultStatusBarColor,\n );\n const { bgImage, changeBgImage, historyBgImage, setDefaultBgImage } = useBgImage(props.defaultBgImage || null);\n const { title, changeTitle, setHistoryTitle, setDefaultTitle } = useTitle(props.defaultTitle || null);\n const { description, changeDescription, historyDescription, setDefaultDescription } = useDescription(\n props.defaultDescription,\n );\n const { changePreview, previewProps } = usePreview(props.defaultPreview);\n\n const { breakpoint, type, orientation } = useScreenWidth(['breakpoint', 'type', 'orientation']);\n\n const getValueByBreakpoint = useCallback(\n (lengthByBreakpoint: IAppProviderElement['length']) => {\n if (!lengthByBreakpoint) return null;\n if (type === 'orientation' && lengthByBreakpoint.orientation) {\n const value = lengthByBreakpoint.orientation?.[orientation];\n return value ?? null;\n }\n if (lengthByBreakpoint.breakpoint && lengthByBreakpoint.breakpoint) {\n if (breakpoint === 'default') return lengthByBreakpoint.default ?? null;\n const value = lengthByBreakpoint.breakpoint?.[breakpoint];\n return value ?? null;\n }\n },\n [breakpoint, orientation, type],\n );\n\n const outletStyledProps: IAppProviderOutletStyled = useMemo(\n () => ({\n isScrollOutlet: props.isScrollOutlet,\n main: props.main,\n notification: props.notification\n ? {\n component: props.notification.component,\n length: getValueByBreakpoint(props.notification.length),\n zIndex: props.notification.zIndex,\n }\n : undefined,\n header: props.header\n ? {\n component: props.header.component,\n length: getValueByBreakpoint(props.header.length),\n zIndex: props.header.zIndex,\n }\n : undefined,\n nav: props.nav\n ? {\n component: props.nav.component,\n length: getValueByBreakpoint(props.nav.length),\n zIndex: props.nav.zIndex,\n }\n : undefined,\n footer: props.footer\n ? {\n component: props.footer.component,\n length: getValueByBreakpoint(props.footer.length),\n zIndex: props.footer.zIndex,\n }\n : undefined,\n leftAside: props.leftAside\n ? {\n component: props.leftAside.component,\n length: getValueByBreakpoint(props.leftAside.length),\n zIndex: props.leftAside.zIndex,\n isTopHeader: props.leftAside.isTopHeader,\n isTopFooter: props.leftAside.isTopFooter,\n isTopNav: props.leftAside.isTopNav,\n }\n : undefined,\n rightAside: props.rightAside\n ? {\n component: props.rightAside.component,\n length: getValueByBreakpoint(props.rightAside.length),\n zIndex: props.rightAside.zIndex,\n isTopHeader: props.rightAside.isTopHeader,\n isTopFooter: props.rightAside.isTopFooter,\n isTopNav: props.rightAside.isTopNav,\n }\n : undefined,\n }),\n [\n props.footer,\n props.header,\n props.leftAside,\n props.main,\n props.nav,\n props.notification,\n props.rightAside,\n props.isScrollOutlet,\n getValueByBreakpoint,\n ],\n );\n\n return (\n <AppContext.Provider\n value={{\n changePreview,\n changeStatusBarColor,\n changeBgColor,\n changeBgImage,\n changeTitle,\n changeDescription,\n historyStatusBarColor,\n historyBgColor,\n historyBgImage,\n setHistoryTitle,\n historyDescription,\n setDefaultStatusBarColor,\n setDefaultBgColor,\n setDefaultBgImage,\n setDefaultTitle,\n setDefaultDescription,\n }}\n >\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='theme-color' content={CSS_VARS.palette[statusBarColor]} />\n <meta name='apple-mobile-web-app-status-bar-style' content='default' />\n <meta name='mobile-web-app-capable' content='yes' />\n <Preview {...previewProps}>\n <div className={CSS_CLASS.context.app.wrapper} style={getProviderAppWrapperStyle(bgColor, bgImage)}>\n <div\n className={setClasses([CSS_CLASS.context.app.outlet, CSS_CLASS.transition.grid])}\n style={getProviderAppOutletStyle(outletStyledProps)}\n >\n {outletStyledProps.notification?.length ? (\n <section\n className={CSS_CLASS.context.app.outletNotification}\n style={getProviderAppOutletNotificationStyle(outletStyledProps)}\n >\n {props.notification?.component || null}\n </section>\n ) : null}\n\n {outletStyledProps.header?.length ? (\n <header\n className={CSS_CLASS.context.app.outletHeader}\n style={getProviderAppOutletHeaderStyle(outletStyledProps)}\n >\n {props.header?.component || null}\n </header>\n ) : null}\n\n {outletStyledProps.nav?.length ? (\n <nav className={CSS_CLASS.context.app.outletNav} style={getProviderAppOutletNavStyle(outletStyledProps)}>\n {props.nav?.component || null}\n </nav>\n ) : null}\n\n {outletStyledProps.leftAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletLeftAside}\n style={getProviderAppOutletLeftAsideStyle(outletStyledProps)}\n >\n {props.leftAside?.component || null}\n </aside>\n ) : null}\n\n <main\n className={CSS_CLASS.context.app.outletChildren}\n style={getProviderAppOutletChildrenStyle(outletStyledProps)}\n >\n {props.children}\n </main>\n\n {outletStyledProps.rightAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletRightAside}\n style={getProviderAppOutletRightAsideStyle(outletStyledProps)}\n >\n {props.rightAside?.component || null}\n </aside>\n ) : null}\n\n {outletStyledProps.footer?.length ? (\n <footer\n className={CSS_CLASS.context.app.outletFooter}\n style={getProviderAppOutletFooterStyle(outletStyledProps)}\n >\n {props.footer?.component || null}\n </footer>\n ) : null}\n </div>\n </div>\n </Preview>\n </AppContext.Provider>\n );\n};\n\n/**\n * Custom hook to manage preview properties.\n */\nconst usePreview = (defaultPreview: IAppProvider['defaultPreview']) => {\n const [previewProps, setIPreview] = useState(defaultPreview || { visible: true, defaultVisible: true });\n\n const changePreview = useCallback((newIPreview: IPreviewAdditional) => {\n setIPreview(newIPreview);\n }, []);\n\n useEffect(() => {\n if (defaultPreview) setIPreview(defaultPreview);\n }, [defaultPreview]);\n\n return { previewProps, changePreview };\n};\n\n/**\n * Custom hook to manage background color state with history tracking.\n */\ntype BgColorState = {\n bgColor: IThemePalette;\n bgColorHistory: IThemePalette[];\n bgColorIndex: number;\n};\n\nexport const useBgColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<BgColorState>({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n\n const changeBgColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.bgColorHistory.slice(0, prev.bgColorIndex + 1), color];\n return {\n bgColor: color,\n bgColorHistory: newHistory,\n bgColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgColorHistory.length) {\n return {\n ...prev,\n bgColor: prev.bgColorHistory[newIndex],\n bgColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgColor = useCallback(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n bgColor: state.bgColor,\n changeBgColor,\n historyBgColor,\n setDefaultBgColor,\n bgColorIndex: state.bgColorIndex,\n };\n};\n\n/**\n * Custom hook to manage the status bar color with history tracking.\n */\ntype StatusBarColorState = {\n statusBarColor: IThemePalette;\n statusBarColorHistory: IThemePalette[];\n statusBarColorIndex: number;\n};\n\nexport const useStatusBarColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<StatusBarColorState>({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n\n const changeStatusBarColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.statusBarColorHistory.slice(0, prev.statusBarColorIndex + 1), color];\n return {\n statusBarColor: color,\n statusBarColorHistory: newHistory,\n statusBarColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyStatusBarColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.statusBarColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.statusBarColorHistory.length) {\n return {\n ...prev,\n statusBarColor: prev.statusBarColorHistory[newIndex],\n statusBarColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultStatusBarColor = useCallback(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n statusBarColor: state.statusBarColor,\n changeStatusBarColor,\n historyStatusBarColor,\n setDefaultStatusBarColor,\n statusBarColorIndex: state.statusBarColorIndex,\n };\n};\n\n/**\n * Custom hook to manage background images with history.\n */\ntype BgImageState = {\n bgImage: string | null;\n bgImageHistory: (string | null)[];\n bgImageIndex: number;\n};\n\nexport const useBgImage = (defaultImage: string | null) => {\n const [state, setState] = useState<BgImageState>({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n\n const changeBgImage = useCallback((image: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.bgImageHistory.slice(0, prev.bgImageIndex + 1), image];\n return {\n bgImage: image,\n bgImageHistory: newHistory,\n bgImageIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgImage = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgImageIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgImageHistory.length) {\n return {\n ...prev,\n bgImage: prev.bgImageHistory[newIndex],\n bgImageIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgImage = useCallback(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n useEffect(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n return {\n bgImage: state.bgImage,\n changeBgImage,\n historyBgImage,\n setDefaultBgImage,\n bgImageIndex: state.bgImageIndex,\n };\n};\n\ntype TitleState = {\n title: string | null;\n titleHistory: (string | null)[];\n titleIndex: number;\n};\n/**\n * Custom hook to manage the document title with history tracking.\n */\nconst useTitle = (defaultTitle: string | null) => {\n const [state, setState] = useState<TitleState>({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n\n const changeTitle = useCallback((newTitle: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.titleHistory.slice(0, prev.titleIndex + 1), newTitle];\n return {\n title: newTitle,\n titleHistory: newHistory,\n titleIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const setHistoryTitle = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.titleIndex + steps;\n if (newIndex >= 0 && newIndex < prev.titleHistory.length) {\n return {\n ...prev,\n title: prev.titleHistory[newIndex],\n titleIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultTitle = useCallback(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n useEffect(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n return {\n title: state.title,\n titleIndex: state.titleIndex,\n titleHistory: state.titleHistory,\n changeTitle,\n setHistoryTitle,\n setDefaultTitle,\n };\n};\n\n/**\n * Custom hook to manage a description with history tracking.\n */\ntype DescriptionState = {\n description: string;\n descriptionHistory: string[];\n descriptionIndex: number;\n};\n\nexport const useDescription = (defaultDescription: string) => {\n const [state, setState] = useState<DescriptionState>({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n\n const changeDescription = useCallback((newDescription: string) => {\n setState((prev) => {\n const newHistory = [...prev.descriptionHistory.slice(0, prev.descriptionIndex + 1), newDescription];\n return {\n description: newDescription,\n descriptionHistory: newHistory,\n descriptionIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyDescription = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.descriptionIndex + steps;\n if (newIndex >= 0 && newIndex < prev.descriptionHistory.length) {\n return {\n ...prev,\n description: prev.descriptionHistory[newIndex],\n descriptionIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultDescription = useCallback(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n useEffect(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n return {\n description: state.description,\n changeDescription,\n historyDescription,\n setDefaultDescription,\n descriptionIndex: state.descriptionIndex,\n };\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { AppContext } from './context';\nimport { IAppContext, IUseAppDependencies } from './context.types';\n\nexport const useApp = (props: IUseAppDependencies): IAppContext => {\n const context = useContextSelector(AppContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useApp must be used within an AppContext');\n }\n return context;\n};\n"],"mappings":"6RAQA,IAAM,EAAQ,GAAoC,OAAO,GAAU,SAAW,GAAG,CAAA,KAAa,GAAS,MAEjG,EAA6B,GAC1B;AAAA;AAAA,OAEF,EAAM,WAAW,YAAc,YAAc,QAAA,WAAmB,EAAM,YAAY,YAAc,aAAe,QAAA;AAAA,OAC/G,EAAM,WAAW,aAA4B,EAAM,WAAW,SAA/B,YAAwD,KAAA,QAAa,EAAM,YAAY,aAA6B,EAAM,YAAY,SAAjC,aAA2D,KAAA;AAAA;AAAA,OAE/L,EAAM,WAAW,YAAc,YAAc,QAAA,WAAmB,EAAM,YAAY,YAAc,aAAe,QAAA;AAAA,IAIzG,EAAA,CAA8B,EAAwB,KAA2C,CAC5G,gBAAiB,EAAA,SAAS,QAAQ,CAAA,EAClC,gBAAiB,EAAU,OAAO,CAAA,IAAa,OAC/C,eAAgB,QAChB,mBAAoB,SACpB,iBAAkB,cAGP,EAA6B,IAA2C,CACnF,kBAAmB,EAA0B,CAAA,EAC7C,oBAAqB,GAAG,EAAK,EAAM,WAAW,MAAA,CAAO,QAAQ,EAAK,EAAM,YAAY,MAAA,CAAO,GAC3F,iBAAkB,GAAG,EAAK,EAAM,cAAc,MAAA,CAAO,IAAI,EAAK,EAAM,QAAQ,MAAA,CAAO,IAAI,EAAK,EAAM,KAAK,MAAA,CAAO,QAAQ,EAAK,EAAM,QAAQ,MAAA,CAAO,KAGrI,EAAqC,IAA2C,CAC3F,OAAQ,EAAM,MAAM,QAAU,OAC9B,SAAU,EAAM,eAAiB,OAAS,YAG/B,EAAyC,IAA2C,CAC/F,OAAQ,EAAM,cAAc,QAAU,MAAA,GAG3B,EAAmC,IAA2C,CACzF,OAAQ,EAAM,QAAQ,QAAU,MAAA,GAGrB,EAAmC,IAA2C,CACzF,OAAQ,EAAM,QAAQ,QAAU,MAAA,GAGrB,EAAgC,IAA2C,CACtF,OAAQ,EAAM,KAAK,QAAU,MAAA,GAGlB,EAAsC,IAA2C,CAC5F,OAAQ,EAAM,WAAW,QAAU,MAAA,GAGxB,EAAuC,IAA2C,CAC7F,OAAQ,EAAM,YAAY,QAAU,MAAA,GCvCzB,EAAa,EAAA,cAAkC,IAAA,EAE/C,EAAiC,GAAU,CACtD,KAAM,CAAE,QAAA,EAAS,cAAA,EAAe,eAAA,EAAgB,kBAAA,CAAA,EAAsB,EAAW,EAAM,cAAA,EACjF,CAAE,eAAA,EAAgB,qBAAA,EAAsB,sBAAA,EAAuB,yBAAA,CAAA,EAA6B,EAChG,EAAM,qBAAA,EAEF,CAAE,QAAA,EAAS,cAAA,EAAe,eAAA,EAAgB,kBAAA,CAAA,EAAsB,EAAW,EAAM,gBAAkB,IAAA,EACnG,CAAE,MAAA,EAAO,YAAA,EAAa,gBAAA,EAAiB,gBAAA,CAAA,EAAoB,EAAS,EAAM,cAAgB,IAAA,EAC1F,CAAE,YAAA,EAAa,kBAAA,EAAmB,mBAAA,EAAoB,sBAAA,CAAA,EAA0B,GACpF,EAAM,kBAAA,EAEF,CAAE,cAAA,EAAe,aAAA,CAAA,EAAiB,EAAW,EAAM,cAAA,EAEnD,CAAE,WAAA,EAAY,KAAA,EAAM,YAAA,CAAA,EAAgB,EAAA,eAAe,CAAC,aAAc,OAAQ,cAAc,EAExF,KAAA,EAAA,aACH,GAAsD,CACrD,GAAI,CAAC,EAAoB,OAAO,KAChC,GAAI,IAAS,eAAiB,EAAmB,YAE/C,OADc,EAAmB,cAAc,CAAA,GAC/B,KAElB,GAAI,EAAmB,YAAc,EAAmB,WACtD,OAAI,IAAe,UAAkB,EAAmB,SAAW,KACrD,EAAmB,aAAa,CAAA,GAC9B,MAGpB,CAAC,EAAY,EAAa,EAAK,EAG3B,KAAA,EAAA,SAAA,KACG,CACL,eAAgB,EAAM,eACtB,KAAM,EAAM,KACZ,aAAc,EAAM,aAChB,CACE,UAAW,EAAM,aAAa,UAC9B,OAAQ,EAAqB,EAAM,aAAa,MAAA,EAChD,OAAQ,EAAM,aAAa,QAE7B,OACJ,OAAQ,EAAM,OACV,CACE,UAAW,EAAM,OAAO,UACxB,OAAQ,EAAqB,EAAM,OAAO,MAAA,EAC1C,OAAQ,EAAM,OAAO,QAEvB,OACJ,IAAK,EAAM,IACP,CACE,UAAW,EAAM,IAAI,UACrB,OAAQ,EAAqB,EAAM,IAAI,MAAA,EACvC,OAAQ,EAAM,IAAI,QAEpB,OACJ,OAAQ,EAAM,OACV,CACE,UAAW,EAAM,OAAO,UACxB,OAAQ,EAAqB,EAAM,OAAO,MAAA,EAC1C,OAAQ,EAAM,OAAO,QAEvB,OACJ,UAAW,EAAM,UACb,CACE,UAAW,EAAM,UAAU,UAC3B,OAAQ,EAAqB,EAAM,UAAU,MAAA,EAC7C,OAAQ,EAAM,UAAU,OACxB,YAAa,EAAM,UAAU,YAC7B,YAAa,EAAM,UAAU,YAC7B,SAAU,EAAM,UAAU,UAE5B,OACJ,WAAY,EAAM,WACd,CACE,UAAW,EAAM,WAAW,UAC5B,OAAQ,EAAqB,EAAM,WAAW,MAAA,EAC9C,OAAQ,EAAM,WAAW,OACzB,YAAa,EAAM,WAAW,YAC9B,YAAa,EAAM,WAAW,YAC9B,SAAU,EAAM,WAAW,UAE7B,SAEN,CACE,EAAM,OACN,EAAM,OACN,EAAM,UACN,EAAM,KACN,EAAM,IACN,EAAM,aACN,EAAM,WACN,EAAM,eACN,EACD,EAGH,SACE,EAAA,MAAC,EAAW,SAAZ,CACE,MAAO,CACL,cAAA,EACA,qBAAA,EACA,cAAA,EACA,cAAA,EACA,YAAA,EACA,kBAAA,EACA,sBAAA,EACA,eAAA,EACA,eAAA,EACA,gBAAA,EACA,mBAAA,EACA,yBAAA,EACA,kBAAA,EACA,kBAAA,EACA,gBAAA,EACA,sBAAA,YAjBJ,IAoBE,EAAA,KAAC,QAAD,CAAA,SAAQ,CAAA,CAAc,KACtB,EAAA,KAAC,OAAD,CAAM,KAAK,cAAc,QAAS,EAAe,KACjD,EAAA,KAAC,OAAD,CAAM,KAAK,cAAc,QAAS,EAAA,SAAS,QAAQ,CAAA,EAAmB,KACtE,EAAA,KAAC,OAAD,CAAM,KAAK,wCAAwC,QAAQ,UAAY,KACvE,EAAA,KAAC,OAAD,CAAM,KAAK,yBAAyB,QAAQ,MAAQ,KACpD,EAAA,KAAC,EAAA,QAAD,CAAS,GAAI,cACX,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,UAAU,QAAQ,IAAI,QAAS,MAAO,EAA2B,EAAS,CAAA,cACxF,EAAA,MAAC,MAAD,CACE,UAAW,EAAA,WAAW,CAAC,EAAA,UAAU,QAAQ,IAAI,OAAQ,EAAA,UAAU,WAAW,IAAA,CAAK,EAC/E,MAAO,EAA0B,CAAA,WAFnC,CAIG,EAAkB,cAAc,UAC/B,EAAA,KAAC,UAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,mBACjC,MAAO,EAAsC,CAAA,WAE5C,EAAM,cAAc,WAAa,KAC1B,EACR,KAEH,EAAkB,QAAQ,UACzB,EAAA,KAAC,SAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,aACjC,MAAO,EAAgC,CAAA,WAEtC,EAAM,QAAQ,WAAa,KACrB,EACP,KAEH,EAAkB,KAAK,UACtB,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,UAAU,QAAQ,IAAI,UAAW,MAAO,EAA6B,CAAA,WAClF,EAAM,KAAK,WAAa,KACrB,EACJ,KAEH,EAAkB,WAAW,UAC5B,EAAA,KAAC,QAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,gBACjC,MAAO,EAAmC,CAAA,WAEzC,EAAM,WAAW,WAAa,KACzB,EACN,QAEJ,EAAA,KAAC,OAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,eACjC,MAAO,EAAkC,CAAA,WAExC,EAAM,SACF,EAEN,EAAkB,YAAY,UAC7B,EAAA,KAAC,QAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,iBACjC,MAAO,EAAoC,CAAA,WAE1C,EAAM,YAAY,WAAa,KAC1B,EACN,KAEH,EAAkB,QAAQ,UACzB,EAAA,KAAC,SAAD,CACE,UAAW,EAAA,UAAU,QAAQ,IAAI,aACjC,MAAO,EAAgC,CAAA,WAEtC,EAAM,QAAQ,WAAa,KACrB,EACP,QAEF,EACE,MAQV,EAAc,GAAmD,CACrE,KAAM,CAAC,EAAc,CAAA,KAAA,EAAA,UAAwB,GAAkB,CAAE,QAAS,GAAM,eAAgB,GAAM,EAEhG,KAAA,EAAA,aAA6B,GAAoC,CACrE,EAAY,CAAA,GACX,CAAA,CAAE,EAEL,SAAA,EAAA,WAAA,IAAgB,CACV,GAAgB,EAAY,CAAA,GAC/B,CAAC,CAAA,CAAe,EAEZ,CAAE,aAAA,EAAc,cAAA,IAYZ,EAAc,GAAgC,CACzD,KAAM,CAAC,EAAO,CAAA,KAAA,EAAA,UAAmC,CAC/C,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,EAEK,KAAA,EAAA,aAA6B,GAAyB,CAC1D,EAAU,GAAS,CACjB,MAAM,EAAa,CAAC,GAAG,EAAK,eAAe,MAAM,EAAG,EAAK,aAAe,CAAA,EAAI,CAAA,EAC5E,MAAO,CACL,QAAS,EACT,eAAgB,EAChB,aAAc,EAAW,OAAS,MAGrC,CAAA,CAAE,EAEC,KAAA,EAAA,aAA8B,GAAkB,CACpD,EAAU,GAAS,CACjB,MAAM,EAAW,EAAK,aAAe,EACrC,OAAI,GAAY,GAAK,EAAW,EAAK,eAAe,OAC3C,CACL,GAAG,EACH,QAAS,EAAK,eAAe,CAAA,EAC7B,aAAc,GAGX,KAER,CAAA,CAAE,EAEC,KAAA,EAAA,aAAA,IAAsC,CAC1C,EAAS,CACP,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,GACA,CAAC,CAAA,CAAa,EAEjB,SAAA,EAAA,WAAA,IAAgB,CACd,EAAS,CACP,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,GACA,CAAC,CAAA,CAAa,EAEV,CACL,QAAS,EAAM,QACf,cAAA,EACA,eAAA,EACA,kBAAA,EACA,aAAc,EAAM,eAaX,EAAqB,GAAgC,CAChE,KAAM,CAAC,EAAO,CAAA,KAAA,EAAA,UAA0C,CACtD,eAAgB,EAChB,sBAAuB,CAAC,CAAA,EACxB,oBAAqB,EACtB,EAEK,KAAA,EAAA,aAAoC,GAAyB,CACjE,EAAU,GAAS,CACjB,MAAM,EAAa,CAAC,GAAG,EAAK,sBAAsB,MAAM,EAAG,EAAK,oBAAsB,CAAA,EAAI,CAAA,EAC1F,MAAO,CACL,eAAgB,EAChB,sBAAuB,EACvB,oBAAqB,EAAW,OAAS,MAG5C,CAAA,CAAE,EAEC,KAAA,EAAA,aAAqC,GAAkB,CAC3D,EAAU,GAAS,CACjB,MAAM,EAAW,EAAK,oBAAsB,EAC5C,OAAI,GAAY,GAAK,EAAW,EAAK,sBAAsB,OAClD,CACL,GAAG,EACH,eAAgB,EAAK,sBAAsB,CAAA,EAC3C,oBAAqB,GAGlB,KAER,CAAA,CAAE,EAEC,KAAA,EAAA,aAAA,IAA6C,CACjD,EAAS,CACP,eAAgB,EAChB,sBAAuB,CAAC,CAAA,EACxB,oBAAqB,EACtB,GACA,CAAC,CAAA,CAAa,EAEjB,SAAA,EAAA,WAAA,IAAgB,CACd,EAAS,CACP,eAAgB,EAChB,sBAAuB,CAAC,CAAA,EACxB,oBAAqB,EACtB,GACA,CAAC,CAAA,CAAa,EAEV,CACL,eAAgB,EAAM,eACtB,qBAAA,EACA,sBAAA,EACA,yBAAA,EACA,oBAAqB,EAAM,sBAalB,EAAc,GAAgC,CACzD,KAAM,CAAC,EAAO,CAAA,KAAA,EAAA,UAAmC,CAC/C,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,EAEK,KAAA,EAAA,aAA6B,GAAyB,CAC1D,EAAU,GAAS,CACjB,MAAM,EAAa,CAAC,GAAG,EAAK,eAAe,MAAM,EAAG,EAAK,aAAe,CAAA,EAAI,CAAA,EAC5E,MAAO,CACL,QAAS,EACT,eAAgB,EAChB,aAAc,EAAW,OAAS,MAGrC,CAAA,CAAE,EAEC,KAAA,EAAA,aAA8B,GAAkB,CACpD,EAAU,GAAS,CACjB,MAAM,EAAW,EAAK,aAAe,EACrC,OAAI,GAAY,GAAK,EAAW,EAAK,eAAe,OAC3C,CACL,GAAG,EACH,QAAS,EAAK,eAAe,CAAA,EAC7B,aAAc,GAGX,KAER,CAAA,CAAE,EAEC,KAAA,EAAA,aAAA,IAAsC,CAC1C,EAAS,CACP,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,GACA,CAAC,CAAA,CAAa,EAEjB,SAAA,EAAA,WAAA,IAAgB,CACd,EAAS,CACP,QAAS,EACT,eAAgB,CAAC,CAAA,EACjB,aAAc,EACf,GACA,CAAC,CAAA,CAAa,EAEV,CACL,QAAS,EAAM,QACf,cAAA,EACA,eAAA,EACA,kBAAA,EACA,aAAc,EAAM,eAYlB,EAAY,GAAgC,CAChD,KAAM,CAAC,EAAO,CAAA,KAAA,EAAA,UAAiC,CAC7C,MAAO,EACP,aAAc,CAAC,CAAA,EACf,WAAY,EACb,EAEK,KAAA,EAAA,aAA2B,GAA4B,CAC3D,EAAU,GAAS,CACjB,MAAM,EAAa,CAAC,GAAG,EAAK,aAAa,MAAM,EAAG,EAAK,WAAa,CAAA,EAAI,CAAA,EACxE,MAAO,CACL,MAAO,EACP,aAAc,EACd,WAAY,EAAW,OAAS,MAGnC,CAAA,CAAE,EAEC,KAAA,EAAA,aAA+B,GAAkB,CACrD,EAAU,GAAS,CACjB,MAAM,EAAW,EAAK,WAAa,EACnC,OAAI,GAAY,GAAK,EAAW,EAAK,aAAa,OACzC,CACL,GAAG,EACH,MAAO,EAAK,aAAa,CAAA,EACzB,WAAY,GAGT,KAER,CAAA,CAAE,EAEC,KAAA,EAAA,aAAA,IAAoC,CACxC,EAAS,CACP,MAAO,EACP,aAAc,CAAC,CAAA,EACf,WAAY,EACb,GACA,CAAC,CAAA,CAAa,EAEjB,SAAA,EAAA,WAAA,IAAgB,CACd,EAAS,CACP,MAAO,EACP,aAAc,CAAC,CAAA,EACf,WAAY,EACb,GACA,CAAC,CAAA,CAAa,EAEV,CACL,MAAO,EAAM,MACb,WAAY,EAAM,WAClB,aAAc,EAAM,aACpB,YAAA,EACA,gBAAA,EACA,gBAAA,IAaS,GAAkB,GAA+B,CAC5D,KAAM,CAAC,EAAO,CAAA,KAAA,EAAA,UAAuC,CACnD,YAAa,EACb,mBAAoB,CAAC,CAAA,EACrB,iBAAkB,EACnB,EAEK,KAAA,EAAA,aAAiC,GAA2B,CAChE,EAAU,GAAS,CACjB,MAAM,EAAa,CAAC,GAAG,EAAK,mBAAmB,MAAM,EAAG,EAAK,iBAAmB,CAAA,EAAI,CAAA,EACpF,MAAO,CACL,YAAa,EACb,mBAAoB,EACpB,iBAAkB,EAAW,OAAS,MAGzC,CAAA,CAAE,EAEC,KAAA,EAAA,aAAkC,GAAkB,CACxD,EAAU,GAAS,CACjB,MAAM,EAAW,EAAK,iBAAmB,EACzC,OAAI,GAAY,GAAK,EAAW,EAAK,mBAAmB,OAC/C,CACL,GAAG,EACH,YAAa,EAAK,mBAAmB,CAAA,EACrC,iBAAkB,GAGf,KAER,CAAA,CAAE,EAEC,KAAA,EAAA,aAAA,IAA0C,CAC9C,EAAS,CACP,YAAa,EACb,mBAAoB,CAAC,CAAA,EACrB,iBAAkB,EACnB,GACA,CAAC,CAAA,CAAmB,EAEvB,SAAA,EAAA,WAAA,IAAgB,CACd,EAAS,CACP,YAAa,EACb,mBAAoB,CAAC,CAAA,EACrB,iBAAkB,EACnB,GACA,CAAC,CAAA,CAAmB,EAEhB,CACL,YAAa,EAAM,YACnB,kBAAA,EACA,mBAAA,EACA,sBAAA,EACA,iBAAkB,EAAM,mBCziBf,GAAU,GAA4C,CACjE,MAAM,EAAU,EAAA,mBAAmB,EAAa,GACvC,EACH,EAAM,OAAA,CAAQ,EAAK,KACjB,EAAI,CAAA,EAAQ,EAAE,CAAA,EACP,GACN,CAAA,CAAE,EACL,MAEN,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,0CAAA,EAElB,OAAO"}
1
+ {"version":3,"file":"context-app-Dsa1tKlU.cjs","names":[],"sources":["../src/contexts/context-app/context.styles.ts","../src/contexts/context-app/context.tsx","../src/contexts/context-app/context.hooks.ts"],"sourcesContent":["import { CSS_VARS, IThemePalette } from '@local/styles/utils';\n\nimport { CSSProperties } from 'react';\n\nimport { IAppProviderOutletStyled } from './context.types';\n\ntype IAppOutletParts = IAppProviderOutletStyled;\n\nconst toPx = (value?: number | string | null) => (typeof value === 'number' ? `${value}px` : (value ?? '0px'));\n\nconst generateGridTemplateAreas = (props: IAppOutletParts) => {\n return `\n \"notification notification notification\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : 'header'} header ${props.rightAside?.isTopHeader ? 'rightAside' : 'header'}\"\n \"${props.leftAside?.isTopHeader ? 'leftAside' : props.leftAside?.isTopNav ? 'leftAside' : 'nav'} nav ${props.rightAside?.isTopHeader ? 'rightAside' : props.rightAside?.isTopNav ? 'rightAside' : 'nav'}\"\n \"leftAside children rightAside\"\n \"${props.leftAside?.isTopFooter ? 'leftAside' : 'footer'} footer ${props.rightAside?.isTopFooter ? 'rightAside' : 'footer'}\"\n `;\n};\n\nexport const getProviderAppWrapperStyle = (bgColor: IThemePalette, bgImage: string | null): CSSProperties => ({\n backgroundColor: CSS_VARS.palette[bgColor],\n backgroundImage: bgImage ? `url(${bgImage})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n});\n\nexport const getProviderAppOutletStyle = (props: IAppOutletParts): CSSProperties => ({\n gridTemplateAreas: generateGridTemplateAreas(props),\n gridTemplateColumns: `${toPx(props.leftAside?.length)} 1fr ${toPx(props.rightAside?.length)}`,\n gridTemplateRows: `${toPx(props.notification?.length)} ${toPx(props.header?.length)} ${toPx(props.nav?.length)} 1fr ${toPx(props.footer?.length)}`,\n});\n\nexport const getProviderAppOutletChildrenStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.main?.zIndex ?? 'auto',\n overflow: props.isScrollOutlet ? 'auto' : 'visible',\n});\n\nexport const getProviderAppOutletNotificationStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.notification?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletHeaderStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.header?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletFooterStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.footer?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletNavStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.nav?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletLeftAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.leftAside?.zIndex ?? 'auto',\n});\n\nexport const getProviderAppOutletRightAsideStyle = (props: IAppOutletParts): CSSProperties => ({\n zIndex: props.rightAside?.zIndex ?? 'auto',\n});\n","import { IPreviewAdditional, Preview } from '@local/areas/preview';\nimport { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { CSS_CLASS, CSS_VARS, IThemePalette } from '@local/styles/utils';\nimport { setClasses } from '@local/styles/utils/functions';\n\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'use-context-selector';\n\nimport {\n getProviderAppOutletChildrenStyle,\n getProviderAppOutletFooterStyle,\n getProviderAppOutletHeaderStyle,\n getProviderAppOutletLeftAsideStyle,\n getProviderAppOutletNavStyle,\n getProviderAppOutletNotificationStyle,\n getProviderAppOutletRightAsideStyle,\n getProviderAppOutletStyle,\n getProviderAppWrapperStyle,\n} from './context.styles';\nimport { IAppContext, IAppProvider, IAppProviderElement, IAppProviderOutletStyled } from './context.types';\n\nexport const AppContext = createContext<IAppContext | null>(null);\n\nexport const ProviderApp: FC<IAppProvider> = (props) => {\n const { bgColor, changeBgColor, historyBgColor, setDefaultBgColor } = useBgColor(props.defaultBgColor);\n const { statusBarColor, changeStatusBarColor, historyStatusBarColor, setDefaultStatusBarColor } = useStatusBarColor(\n props.defaultStatusBarColor,\n );\n const { bgImage, changeBgImage, historyBgImage, setDefaultBgImage } = useBgImage(props.defaultBgImage || null);\n const { title, changeTitle, setHistoryTitle, setDefaultTitle } = useTitle(props.defaultTitle || null);\n const { description, changeDescription, historyDescription, setDefaultDescription } = useDescription(\n props.defaultDescription,\n );\n const { changePreview, previewProps } = usePreview(props.defaultPreview);\n\n const { breakpoint, type, orientation } = useScreenWidth(['breakpoint', 'type', 'orientation']);\n\n const getValueByBreakpoint = useCallback(\n (lengthByBreakpoint: IAppProviderElement['length']) => {\n if (!lengthByBreakpoint) return null;\n if (type === 'orientation' && lengthByBreakpoint.orientation) {\n const value = lengthByBreakpoint.orientation?.[orientation];\n return value ?? null;\n }\n if (lengthByBreakpoint.breakpoint && lengthByBreakpoint.breakpoint) {\n if (breakpoint === 'default') return lengthByBreakpoint.default ?? null;\n const value = lengthByBreakpoint.breakpoint?.[breakpoint];\n return value ?? null;\n }\n },\n [breakpoint, orientation, type],\n );\n\n const outletStyledProps: IAppProviderOutletStyled = useMemo(\n () => ({\n isScrollOutlet: props.isScrollOutlet,\n main: props.main,\n notification: props.notification\n ? {\n component: props.notification.component,\n length: getValueByBreakpoint(props.notification.length),\n zIndex: props.notification.zIndex,\n }\n : undefined,\n header: props.header\n ? {\n component: props.header.component,\n length: getValueByBreakpoint(props.header.length),\n zIndex: props.header.zIndex,\n }\n : undefined,\n nav: props.nav\n ? {\n component: props.nav.component,\n length: getValueByBreakpoint(props.nav.length),\n zIndex: props.nav.zIndex,\n }\n : undefined,\n footer: props.footer\n ? {\n component: props.footer.component,\n length: getValueByBreakpoint(props.footer.length),\n zIndex: props.footer.zIndex,\n }\n : undefined,\n leftAside: props.leftAside\n ? {\n component: props.leftAside.component,\n length: getValueByBreakpoint(props.leftAside.length),\n zIndex: props.leftAside.zIndex,\n isTopHeader: props.leftAside.isTopHeader,\n isTopFooter: props.leftAside.isTopFooter,\n isTopNav: props.leftAside.isTopNav,\n }\n : undefined,\n rightAside: props.rightAside\n ? {\n component: props.rightAside.component,\n length: getValueByBreakpoint(props.rightAside.length),\n zIndex: props.rightAside.zIndex,\n isTopHeader: props.rightAside.isTopHeader,\n isTopFooter: props.rightAside.isTopFooter,\n isTopNav: props.rightAside.isTopNav,\n }\n : undefined,\n }),\n [\n props.footer,\n props.header,\n props.leftAside,\n props.main,\n props.nav,\n props.notification,\n props.rightAside,\n props.isScrollOutlet,\n getValueByBreakpoint,\n ],\n );\n\n return (\n <AppContext.Provider\n value={{\n changePreview,\n changeStatusBarColor,\n changeBgColor,\n changeBgImage,\n changeTitle,\n changeDescription,\n historyStatusBarColor,\n historyBgColor,\n historyBgImage,\n setHistoryTitle,\n historyDescription,\n setDefaultStatusBarColor,\n setDefaultBgColor,\n setDefaultBgImage,\n setDefaultTitle,\n setDefaultDescription,\n }}\n >\n <title>{title}</title>\n <meta name='description' content={description} />\n <meta name='theme-color' content={CSS_VARS.palette[statusBarColor]} />\n <meta name='apple-mobile-web-app-status-bar-style' content='default' />\n <meta name='mobile-web-app-capable' content='yes' />\n <Preview {...previewProps}>\n <div className={CSS_CLASS.context.app.wrapper} style={getProviderAppWrapperStyle(bgColor, bgImage)}>\n <div\n className={setClasses([CSS_CLASS.context.app.outlet, CSS_CLASS.transition.grid])}\n style={getProviderAppOutletStyle(outletStyledProps)}\n >\n {outletStyledProps.notification?.length ? (\n <section\n className={CSS_CLASS.context.app.outletNotification}\n style={getProviderAppOutletNotificationStyle(outletStyledProps)}\n >\n {props.notification?.component || null}\n </section>\n ) : null}\n\n {outletStyledProps.header?.length ? (\n <header\n className={CSS_CLASS.context.app.outletHeader}\n style={getProviderAppOutletHeaderStyle(outletStyledProps)}\n >\n {props.header?.component || null}\n </header>\n ) : null}\n\n {outletStyledProps.nav?.length ? (\n <nav className={CSS_CLASS.context.app.outletNav} style={getProviderAppOutletNavStyle(outletStyledProps)}>\n {props.nav?.component || null}\n </nav>\n ) : null}\n\n {outletStyledProps.leftAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletLeftAside}\n style={getProviderAppOutletLeftAsideStyle(outletStyledProps)}\n >\n {props.leftAside?.component || null}\n </aside>\n ) : null}\n\n <main\n className={CSS_CLASS.context.app.outletChildren}\n style={getProviderAppOutletChildrenStyle(outletStyledProps)}\n >\n {props.children}\n </main>\n\n {outletStyledProps.rightAside?.length ? (\n <aside\n className={CSS_CLASS.context.app.outletRightAside}\n style={getProviderAppOutletRightAsideStyle(outletStyledProps)}\n >\n {props.rightAside?.component || null}\n </aside>\n ) : null}\n\n {outletStyledProps.footer?.length ? (\n <footer\n className={CSS_CLASS.context.app.outletFooter}\n style={getProviderAppOutletFooterStyle(outletStyledProps)}\n >\n {props.footer?.component || null}\n </footer>\n ) : null}\n </div>\n </div>\n </Preview>\n </AppContext.Provider>\n );\n};\n\n/**\n * Custom hook to manage preview properties.\n */\nconst usePreview = (defaultPreview: IAppProvider['defaultPreview']) => {\n const [previewProps, setIPreview] = useState(defaultPreview || { visible: true, defaultVisible: true });\n\n const changePreview = useCallback((newIPreview: IPreviewAdditional) => {\n setIPreview(newIPreview);\n }, []);\n\n useEffect(() => {\n if (defaultPreview) setIPreview(defaultPreview);\n }, [defaultPreview]);\n\n return { previewProps, changePreview };\n};\n\n/**\n * Custom hook to manage background color state with history tracking.\n */\ntype BgColorState = {\n bgColor: IThemePalette;\n bgColorHistory: IThemePalette[];\n bgColorIndex: number;\n};\n\nexport const useBgColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<BgColorState>({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n\n const changeBgColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.bgColorHistory.slice(0, prev.bgColorIndex + 1), color];\n return {\n bgColor: color,\n bgColorHistory: newHistory,\n bgColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgColorHistory.length) {\n return {\n ...prev,\n bgColor: prev.bgColorHistory[newIndex],\n bgColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgColor = useCallback(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n bgColor: state.bgColor,\n changeBgColor,\n historyBgColor,\n setDefaultBgColor,\n bgColorIndex: state.bgColorIndex,\n };\n};\n\n/**\n * Custom hook to manage the status bar color with history tracking.\n */\ntype StatusBarColorState = {\n statusBarColor: IThemePalette;\n statusBarColorHistory: IThemePalette[];\n statusBarColorIndex: number;\n};\n\nexport const useStatusBarColor = (defaultColor: IThemePalette) => {\n const [state, setState] = useState<StatusBarColorState>({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n\n const changeStatusBarColor = useCallback((color: IThemePalette) => {\n setState((prev) => {\n const newHistory = [...prev.statusBarColorHistory.slice(0, prev.statusBarColorIndex + 1), color];\n return {\n statusBarColor: color,\n statusBarColorHistory: newHistory,\n statusBarColorIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyStatusBarColor = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.statusBarColorIndex + steps;\n if (newIndex >= 0 && newIndex < prev.statusBarColorHistory.length) {\n return {\n ...prev,\n statusBarColor: prev.statusBarColorHistory[newIndex],\n statusBarColorIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultStatusBarColor = useCallback(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n useEffect(() => {\n setState({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0,\n });\n }, [defaultColor]);\n\n return {\n statusBarColor: state.statusBarColor,\n changeStatusBarColor,\n historyStatusBarColor,\n setDefaultStatusBarColor,\n statusBarColorIndex: state.statusBarColorIndex,\n };\n};\n\n/**\n * Custom hook to manage background images with history.\n */\ntype BgImageState = {\n bgImage: string | null;\n bgImageHistory: (string | null)[];\n bgImageIndex: number;\n};\n\nexport const useBgImage = (defaultImage: string | null) => {\n const [state, setState] = useState<BgImageState>({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n\n const changeBgImage = useCallback((image: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.bgImageHistory.slice(0, prev.bgImageIndex + 1), image];\n return {\n bgImage: image,\n bgImageHistory: newHistory,\n bgImageIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyBgImage = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.bgImageIndex + steps;\n if (newIndex >= 0 && newIndex < prev.bgImageHistory.length) {\n return {\n ...prev,\n bgImage: prev.bgImageHistory[newIndex],\n bgImageIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultBgImage = useCallback(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n useEffect(() => {\n setState({\n bgImage: defaultImage,\n bgImageHistory: [defaultImage],\n bgImageIndex: 0,\n });\n }, [defaultImage]);\n\n return {\n bgImage: state.bgImage,\n changeBgImage,\n historyBgImage,\n setDefaultBgImage,\n bgImageIndex: state.bgImageIndex,\n };\n};\n\ntype TitleState = {\n title: string | null;\n titleHistory: (string | null)[];\n titleIndex: number;\n};\n/**\n * Custom hook to manage the document title with history tracking.\n */\nconst useTitle = (defaultTitle: string | null) => {\n const [state, setState] = useState<TitleState>({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n\n const changeTitle = useCallback((newTitle: string | null) => {\n setState((prev) => {\n const newHistory = [...prev.titleHistory.slice(0, prev.titleIndex + 1), newTitle];\n return {\n title: newTitle,\n titleHistory: newHistory,\n titleIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const setHistoryTitle = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.titleIndex + steps;\n if (newIndex >= 0 && newIndex < prev.titleHistory.length) {\n return {\n ...prev,\n title: prev.titleHistory[newIndex],\n titleIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultTitle = useCallback(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n useEffect(() => {\n setState({\n title: defaultTitle,\n titleHistory: [defaultTitle],\n titleIndex: 0,\n });\n }, [defaultTitle]);\n\n return {\n title: state.title,\n titleIndex: state.titleIndex,\n titleHistory: state.titleHistory,\n changeTitle,\n setHistoryTitle,\n setDefaultTitle,\n };\n};\n\n/**\n * Custom hook to manage a description with history tracking.\n */\ntype DescriptionState = {\n description: string;\n descriptionHistory: string[];\n descriptionIndex: number;\n};\n\nexport const useDescription = (defaultDescription: string) => {\n const [state, setState] = useState<DescriptionState>({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n\n const changeDescription = useCallback((newDescription: string) => {\n setState((prev) => {\n const newHistory = [...prev.descriptionHistory.slice(0, prev.descriptionIndex + 1), newDescription];\n return {\n description: newDescription,\n descriptionHistory: newHistory,\n descriptionIndex: newHistory.length - 1,\n };\n });\n }, []);\n\n const historyDescription = useCallback((steps: number) => {\n setState((prev) => {\n const newIndex = prev.descriptionIndex + steps;\n if (newIndex >= 0 && newIndex < prev.descriptionHistory.length) {\n return {\n ...prev,\n description: prev.descriptionHistory[newIndex],\n descriptionIndex: newIndex,\n };\n }\n return prev;\n });\n }, []);\n\n const setDefaultDescription = useCallback(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n useEffect(() => {\n setState({\n description: defaultDescription,\n descriptionHistory: [defaultDescription],\n descriptionIndex: 0,\n });\n }, [defaultDescription]);\n\n return {\n description: state.description,\n changeDescription,\n historyDescription,\n setDefaultDescription,\n descriptionIndex: state.descriptionIndex,\n };\n};\n","import { useContextSelector } from 'use-context-selector';\n\nimport { AppContext } from './context';\nimport { IAppContext, IUseAppDependencies } from './context.types';\n\nexport const useApp = (props: IUseAppDependencies): IAppContext => {\n const context = useContextSelector(AppContext, (v) => {\n return v\n ? props.reduce((acc, prop) => {\n acc[prop] = v[prop];\n return acc;\n }, {} as any)\n : null;\n });\n if (!context) {\n throw new Error('useApp must be used within an AppContext');\n }\n return context;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-app-HhFcx1wY.cjs");exports.ProviderApp=e.ProviderApp;exports.useApp=e.useApp;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./chunk-Dd8m0Ver.cjs"),e=require("./context-app-Dsa1tKlU.cjs");exports.ProviderApp=e.ProviderApp;exports.useApp=e.useApp;
@@ -1,4 +1,4 @@
1
- import { n as r, t as o } from "./context-app-CMK9g6MI.js";
1
+ import { n as r, t as o } from "./context-app-C9XoarPw.js";
2
2
  export {
3
3
  r as ProviderApp,
4
4
  o as useApp
@@ -1,4 +1,4 @@
1
- import { n as h, t as i } from "./dist-BV0C3tLK.js";
1
+ import { n as h, t as i } from "./dist-ck-7oUux.js";
2
2
  import { jsx as l } from "react/jsx-runtime";
3
3
  import { useCallback as c, useEffect as u, useState as s } from "react";
4
4
  var m = i(null), w = (e) => {
@@ -32,4 +32,4 @@ export {
32
32
  g as t
33
33
  };
34
34
 
35
- //# sourceMappingURL=context-browser-theme-Cb6siWO0.js.map
35
+ //# sourceMappingURL=context-browser-theme-CRBCZ_y_.js.map