@jenesei-software/jenesei-kit-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/build/area-9NUxwBGc.cjs +2 -0
  4. package/build/area-9NUxwBGc.cjs.map +1 -0
  5. package/build/area-BnAddPtl.js +114 -0
  6. package/build/area-BnAddPtl.js.map +1 -0
  7. package/build/area-C2sWYH-e.js +47 -0
  8. package/build/area-C2sWYH-e.js.map +1 -0
  9. package/build/area-CD10k19W.cjs +27 -0
  10. package/build/area-CD10k19W.cjs.map +1 -0
  11. package/build/area-ClrrGVJG.cjs +40 -0
  12. package/build/area-ClrrGVJG.cjs.map +1 -0
  13. package/build/area-D7906bXA.cjs +2 -0
  14. package/build/area-D7906bXA.cjs.map +1 -0
  15. package/build/area-DRqAofd0.js +35 -0
  16. package/build/area-DRqAofd0.js.map +1 -0
  17. package/build/area-DfCAwCiZ.js +69 -0
  18. package/build/area-DfCAwCiZ.js.map +1 -0
  19. package/build/area-outside.cjs.js +2 -0
  20. package/build/area-outside.cjs.js.map +1 -0
  21. package/build/area-outside.d.ts +28 -0
  22. package/build/area-outside.es.js +5 -0
  23. package/build/area-outside.es.js.map +1 -0
  24. package/build/area-preview.cjs.js +2 -0
  25. package/build/area-preview.cjs.js.map +1 -0
  26. package/build/area-preview.d.ts +48 -0
  27. package/build/area-preview.es.js +7 -0
  28. package/build/area-preview.es.js.map +1 -0
  29. package/build/area-scroll.cjs.js +2 -0
  30. package/build/area-scroll.cjs.js.map +1 -0
  31. package/build/area-scroll.d.ts +58 -0
  32. package/build/area-scroll.es.js +6 -0
  33. package/build/area-scroll.es.js.map +1 -0
  34. package/build/area-skeleton.cjs.js +2 -0
  35. package/build/area-skeleton.cjs.js.map +1 -0
  36. package/build/area-skeleton.d.ts +64 -0
  37. package/build/area-skeleton.es.js +6 -0
  38. package/build/area-skeleton.es.js.map +1 -0
  39. package/build/area-smooth.cjs.js +2 -0
  40. package/build/area-smooth.cjs.js.map +1 -0
  41. package/build/area-smooth.d.ts +37 -0
  42. package/build/area-smooth.es.js +5 -0
  43. package/build/area-smooth.es.js.map +1 -0
  44. package/build/area.hooks-Bk04M7mk.js +26 -0
  45. package/build/area.hooks-Bk04M7mk.js.map +1 -0
  46. package/build/area.hooks-C_UKZzcb.cjs +2 -0
  47. package/build/area.hooks-C_UKZzcb.cjs.map +1 -0
  48. package/build/build-info.txt +3 -0
  49. package/build/component--Oo5_3xq.cjs +2 -0
  50. package/build/component--Oo5_3xq.cjs.map +1 -0
  51. package/build/component-BV_7tGiu.cjs +28 -0
  52. package/build/component-BV_7tGiu.cjs.map +1 -0
  53. package/build/component-BcHiCCC9.js +23 -0
  54. package/build/component-BcHiCCC9.js.map +1 -0
  55. package/build/component-BnI7BIp-.cjs +2 -0
  56. package/build/component-BnI7BIp-.cjs.map +1 -0
  57. package/build/component-ByY_9Ryc.js +65 -0
  58. package/build/component-ByY_9Ryc.js.map +1 -0
  59. package/build/component-C2JFFh-k.js +2372 -0
  60. package/build/component-C2JFFh-k.js.map +1 -0
  61. package/build/component-C52VCES6.cjs +247 -0
  62. package/build/component-C52VCES6.cjs.map +1 -0
  63. package/build/component-CBshLNEf.js +50 -0
  64. package/build/component-CBshLNEf.js.map +1 -0
  65. package/build/component-CFMlaYj1.js +66 -0
  66. package/build/component-CFMlaYj1.js.map +1 -0
  67. package/build/component-CuiUpH8H.js +207 -0
  68. package/build/component-CuiUpH8H.js.map +1 -0
  69. package/build/component-D1NPhRuV.cjs +90 -0
  70. package/build/component-D1NPhRuV.cjs.map +1 -0
  71. package/build/component-DZxbW_Jz.js +237 -0
  72. package/build/component-DZxbW_Jz.js.map +1 -0
  73. package/build/component-UW1VzyvB.cjs +52 -0
  74. package/build/component-UW1VzyvB.cjs.map +1 -0
  75. package/build/component-accordion.cjs.js +2 -0
  76. package/build/component-accordion.cjs.js.map +1 -0
  77. package/build/component-accordion.d.ts +94 -0
  78. package/build/component-accordion.es.js +10 -0
  79. package/build/component-accordion.es.js.map +1 -0
  80. package/build/component-button-group.cjs.js +2 -0
  81. package/build/component-button-group.cjs.js.map +1 -0
  82. package/build/component-button-group.d.ts +320 -0
  83. package/build/component-button-group.es.js +6 -0
  84. package/build/component-button-group.es.js.map +1 -0
  85. package/build/component-button.cjs.js +2 -0
  86. package/build/component-button.cjs.js.map +1 -0
  87. package/build/component-button.d.ts +347 -0
  88. package/build/component-button.es.js +9 -0
  89. package/build/component-button.es.js.map +1 -0
  90. package/build/component-checkbox-group.cjs.js +2 -0
  91. package/build/component-checkbox-group.cjs.js.map +1 -0
  92. package/build/component-checkbox-group.d.ts +337 -0
  93. package/build/component-checkbox-group.es.js +11 -0
  94. package/build/component-checkbox-group.es.js.map +1 -0
  95. package/build/component-checkbox.cjs.js +2 -0
  96. package/build/component-checkbox.cjs.js.map +1 -0
  97. package/build/component-checkbox.d.ts +342 -0
  98. package/build/component-checkbox.es.js +10 -0
  99. package/build/component-checkbox.es.js.map +1 -0
  100. package/build/component-date-picker.cjs.js +2 -0
  101. package/build/component-date-picker.cjs.js.map +1 -0
  102. package/build/component-date-picker.d.ts +415 -0
  103. package/build/component-date-picker.es.js +17 -0
  104. package/build/component-date-picker.es.js.map +1 -0
  105. package/build/component-icon.cjs.js +2 -0
  106. package/build/component-icon.cjs.js.map +1 -0
  107. package/build/component-icon.d.ts +198 -0
  108. package/build/component-icon.es.js +12 -0
  109. package/build/component-icon.es.js.map +1 -0
  110. package/build/component-image-button.cjs.js +2 -0
  111. package/build/component-image-button.cjs.js.map +1 -0
  112. package/build/component-image-button.d.ts +340 -0
  113. package/build/component-image-button.es.js +5 -0
  114. package/build/component-image-button.es.js.map +1 -0
  115. package/build/component-image-select.cjs.js +2 -0
  116. package/build/component-image-select.cjs.js.map +1 -0
  117. package/build/component-image-select.d.ts +436 -0
  118. package/build/component-image-select.es.js +11 -0
  119. package/build/component-image-select.es.js.map +1 -0
  120. package/build/component-image-slider.cjs.js +2 -0
  121. package/build/component-image-slider.cjs.js.map +1 -0
  122. package/build/component-image-slider.d.ts +108 -0
  123. package/build/component-image-slider.es.js +8 -0
  124. package/build/component-image-slider.es.js.map +1 -0
  125. package/build/component-image.cjs.js +2 -0
  126. package/build/component-image.cjs.js.map +1 -0
  127. package/build/component-image.d.ts +51 -0
  128. package/build/component-image.es.js +6 -0
  129. package/build/component-image.es.js.map +1 -0
  130. package/build/component-input-otp.cjs.js +2 -0
  131. package/build/component-input-otp.cjs.js.map +1 -0
  132. package/build/component-input-otp.d.ts +150 -0
  133. package/build/component-input-otp.es.js +8 -0
  134. package/build/component-input-otp.es.js.map +1 -0
  135. package/build/component-input.cjs.js +2 -0
  136. package/build/component-input.cjs.js.map +1 -0
  137. package/build/component-input.d.ts +226 -0
  138. package/build/component-input.es.js +20 -0
  139. package/build/component-input.es.js.map +1 -0
  140. package/build/component-jPZYT5iL.js +76 -0
  141. package/build/component-jPZYT5iL.js.map +1 -0
  142. package/build/component-map.cjs.js +2 -0
  143. package/build/component-map.cjs.js.map +1 -0
  144. package/build/component-map.d.ts +97 -0
  145. package/build/component-map.es.js +18 -0
  146. package/build/component-map.es.js.map +1 -0
  147. package/build/component-nFn_uOy_.cjs +2 -0
  148. package/build/component-nFn_uOy_.cjs.map +1 -0
  149. package/build/component-pagination.cjs.js +2 -0
  150. package/build/component-pagination.cjs.js.map +1 -0
  151. package/build/component-pagination.d.ts +321 -0
  152. package/build/component-pagination.es.js +6 -0
  153. package/build/component-pagination.es.js.map +1 -0
  154. package/build/component-range.cjs.js +2 -0
  155. package/build/component-range.cjs.js.map +1 -0
  156. package/build/component-range.d.ts +153 -0
  157. package/build/component-range.es.js +8 -0
  158. package/build/component-range.es.js.map +1 -0
  159. package/build/component-ripple.cjs.js +2 -0
  160. package/build/component-ripple.cjs.js.map +1 -0
  161. package/build/component-ripple.d.ts +45 -0
  162. package/build/component-ripple.es.js +12 -0
  163. package/build/component-ripple.es.js.map +1 -0
  164. package/build/component-select.cjs.js +2 -0
  165. package/build/component-select.cjs.js.map +1 -0
  166. package/build/component-select.d.ts +406 -0
  167. package/build/component-select.es.js +25 -0
  168. package/build/component-select.es.js.map +1 -0
  169. package/build/component-separator.cjs.js +2 -0
  170. package/build/component-separator.cjs.js.map +1 -0
  171. package/build/component-separator.d.ts +46 -0
  172. package/build/component-separator.es.js +6 -0
  173. package/build/component-separator.es.js.map +1 -0
  174. package/build/component-stack.cjs.js +2 -0
  175. package/build/component-stack.cjs.js.map +1 -0
  176. package/build/component-stack.d.ts +72 -0
  177. package/build/component-stack.es.js +8 -0
  178. package/build/component-stack.es.js.map +1 -0
  179. package/build/component-textarea.cjs.js +2 -0
  180. package/build/component-textarea.cjs.js.map +1 -0
  181. package/build/component-textarea.d.ts +131 -0
  182. package/build/component-textarea.es.js +12 -0
  183. package/build/component-textarea.es.js.map +1 -0
  184. package/build/component-toggle.cjs.js +2 -0
  185. package/build/component-toggle.cjs.js.map +1 -0
  186. package/build/component-toggle.d.ts +101 -0
  187. package/build/component-toggle.es.js +7 -0
  188. package/build/component-toggle.es.js.map +1 -0
  189. package/build/component-tooltip.cjs.js +2 -0
  190. package/build/component-tooltip.cjs.js.map +1 -0
  191. package/build/component-tooltip.d.ts +170 -0
  192. package/build/component-tooltip.es.js +12 -0
  193. package/build/component-tooltip.es.js.map +1 -0
  194. package/build/component-typography.cjs.js +2 -0
  195. package/build/component-typography.cjs.js.map +1 -0
  196. package/build/component-typography.d.ts +183 -0
  197. package/build/component-typography.es.js +10 -0
  198. package/build/component-typography.es.js.map +1 -0
  199. package/build/component-xnEaYd4a.cjs +2 -0
  200. package/build/component-xnEaYd4a.cjs.map +1 -0
  201. package/build/component.components-BAAT5GTH.js +363 -0
  202. package/build/component.components-BAAT5GTH.js.map +1 -0
  203. package/build/component.components-CaR5gfQW.cjs +16 -0
  204. package/build/component.components-CaR5gfQW.cjs.map +1 -0
  205. package/build/component.constants-BeWW8Ijx.cjs +2 -0
  206. package/build/component.constants-BeWW8Ijx.cjs.map +1 -0
  207. package/build/component.constants-D9wVZ3zy.cjs +22 -0
  208. package/build/component.constants-D9wVZ3zy.cjs.map +1 -0
  209. package/build/component.constants-DRvp5Bez.js +142 -0
  210. package/build/component.constants-DRvp5Bez.js.map +1 -0
  211. package/build/component.constants-DbNhxh0k.js +759 -0
  212. package/build/component.constants-DbNhxh0k.js.map +1 -0
  213. package/build/component.styles-B0L4jbOO.js +59 -0
  214. package/build/component.styles-B0L4jbOO.js.map +1 -0
  215. package/build/component.styles-B1DIataj.cjs +10 -0
  216. package/build/component.styles-B1DIataj.cjs.map +1 -0
  217. package/build/component.styles-BFwkFWkd.cjs +39 -0
  218. package/build/component.styles-BFwkFWkd.cjs.map +1 -0
  219. package/build/component.styles-BSEA2Dqn.cjs +8 -0
  220. package/build/component.styles-BSEA2Dqn.cjs.map +1 -0
  221. package/build/component.styles-BapdQNhL.js +2166 -0
  222. package/build/component.styles-BapdQNhL.js.map +1 -0
  223. package/build/component.styles-BfvB83xM.cjs +22 -0
  224. package/build/component.styles-BfvB83xM.cjs.map +1 -0
  225. package/build/component.styles-Bn6ylF83.js +859 -0
  226. package/build/component.styles-Bn6ylF83.js.map +1 -0
  227. package/build/component.styles-BsZIuwWJ.cjs +140 -0
  228. package/build/component.styles-BsZIuwWJ.cjs.map +1 -0
  229. package/build/component.styles-C6LohBfF.js +81 -0
  230. package/build/component.styles-C6LohBfF.js.map +1 -0
  231. package/build/component.styles-CEBh8X5q.js +20 -0
  232. package/build/component.styles-CEBh8X5q.js.map +1 -0
  233. package/build/component.styles-CPsxMKVK.cjs +73 -0
  234. package/build/component.styles-CPsxMKVK.cjs.map +1 -0
  235. package/build/component.styles-CTo5NC52.js +71 -0
  236. package/build/component.styles-CTo5NC52.js.map +1 -0
  237. package/build/component.styles-CV7jTFCg.js +758 -0
  238. package/build/component.styles-CV7jTFCg.js.map +1 -0
  239. package/build/component.styles-CVBpx4fw.js +474 -0
  240. package/build/component.styles-CVBpx4fw.js.map +1 -0
  241. package/build/component.styles-CZu2m0O4.cjs +21 -0
  242. package/build/component.styles-CZu2m0O4.cjs.map +1 -0
  243. package/build/component.styles-CmBcHREH.cjs +13 -0
  244. package/build/component.styles-CmBcHREH.cjs.map +1 -0
  245. package/build/component.styles-CmEFZfA5.js +120 -0
  246. package/build/component.styles-CmEFZfA5.js.map +1 -0
  247. package/build/component.styles-DHIw8p8e.cjs +158 -0
  248. package/build/component.styles-DHIw8p8e.cjs.map +1 -0
  249. package/build/component.styles-DOPCUXcr.js +158 -0
  250. package/build/component.styles-DOPCUXcr.js.map +1 -0
  251. package/build/component.styles-Dj3h7jd9.cjs +165 -0
  252. package/build/component.styles-Dj3h7jd9.cjs.map +1 -0
  253. package/build/component.styles-Do1NYZEO.js +86 -0
  254. package/build/component.styles-Do1NYZEO.js.map +1 -0
  255. package/build/component.styles-Dok17vPl.js +126 -0
  256. package/build/component.styles-Dok17vPl.js.map +1 -0
  257. package/build/component.styles-Dpg-__rn.cjs +43 -0
  258. package/build/component.styles-Dpg-__rn.cjs.map +1 -0
  259. package/build/component.styles-DpkFoWEh.cjs +81 -0
  260. package/build/component.styles-DpkFoWEh.cjs.map +1 -0
  261. package/build/component.styles-DqsBDAEo.js +202 -0
  262. package/build/component.styles-DqsBDAEo.js.map +1 -0
  263. package/build/component.styles-Du2y0R4W.js +177 -0
  264. package/build/component.styles-Du2y0R4W.js.map +1 -0
  265. package/build/component.styles-DxeG9Opm.cjs +47 -0
  266. package/build/component.styles-DxeG9Opm.cjs.map +1 -0
  267. package/build/component.styles-DyGfo9t0.cjs +32 -0
  268. package/build/component.styles-DyGfo9t0.cjs.map +1 -0
  269. package/build/component.styles-RkQwTlwG.js +170 -0
  270. package/build/component.styles-RkQwTlwG.js.map +1 -0
  271. package/build/component.styles-ZtwHuL4x.cjs +75 -0
  272. package/build/component.styles-ZtwHuL4x.cjs.map +1 -0
  273. package/build/component.types-D05KdxnZ.js +132 -0
  274. package/build/component.types-D05KdxnZ.js.map +1 -0
  275. package/build/component.types-gy5Q9qHX.cjs +2 -0
  276. package/build/component.types-gy5Q9qHX.cjs.map +1 -0
  277. package/build/consts.cjs.js +2 -0
  278. package/build/consts.cjs.js.map +1 -0
  279. package/build/consts.d.ts +86 -0
  280. package/build/consts.es.js +177 -0
  281. package/build/consts.es.js.map +1 -0
  282. package/build/context-app.cjs.js +2 -0
  283. package/build/context-app.cjs.js.map +1 -0
  284. package/build/context-app.d.ts +223 -0
  285. package/build/context-app.es.js +20 -0
  286. package/build/context-app.es.js.map +1 -0
  287. package/build/context-cookie.cjs.js +2 -0
  288. package/build/context-cookie.cjs.js.map +1 -0
  289. package/build/context-cookie.d.ts +67 -0
  290. package/build/context-cookie.es.js +9 -0
  291. package/build/context-cookie.es.js.map +1 -0
  292. package/build/context-dialog.cjs.js +2 -0
  293. package/build/context-dialog.cjs.js.map +1 -0
  294. package/build/context-dialog.d.ts +92 -0
  295. package/build/context-dialog.es.js +18 -0
  296. package/build/context-dialog.es.js.map +1 -0
  297. package/build/context-geolocation.cjs.js +2 -0
  298. package/build/context-geolocation.cjs.js.map +1 -0
  299. package/build/context-geolocation.d.ts +22 -0
  300. package/build/context-geolocation.es.js +7 -0
  301. package/build/context-geolocation.es.js.map +1 -0
  302. package/build/context-local-storage.cjs.js +2 -0
  303. package/build/context-local-storage.cjs.js.map +1 -0
  304. package/build/context-local-storage.d.ts +54 -0
  305. package/build/context-local-storage.es.js +9 -0
  306. package/build/context-local-storage.es.js.map +1 -0
  307. package/build/context-permission.cjs.js +2 -0
  308. package/build/context-permission.cjs.js.map +1 -0
  309. package/build/context-permission.d.ts +28 -0
  310. package/build/context-permission.es.js +9 -0
  311. package/build/context-permission.es.js.map +1 -0
  312. package/build/context-screen-width.cjs.js +2 -0
  313. package/build/context-screen-width.cjs.js.map +1 -0
  314. package/build/context-screen-width.d.ts +34 -0
  315. package/build/context-screen-width.es.js +7 -0
  316. package/build/context-screen-width.es.js.map +1 -0
  317. package/build/context-sonner.cjs.js +2 -0
  318. package/build/context-sonner.cjs.js.map +1 -0
  319. package/build/context-sonner.d.ts +449 -0
  320. package/build/context-sonner.es.js +21 -0
  321. package/build/context-sonner.es.js.map +1 -0
  322. package/build/context.constants-B29-_8v3.cjs +32 -0
  323. package/build/context.constants-B29-_8v3.cjs.map +1 -0
  324. package/build/context.constants-BaD7xj_m.cjs +100 -0
  325. package/build/context.constants-BaD7xj_m.cjs.map +1 -0
  326. package/build/context.constants-CsZRZ7gH.js +228 -0
  327. package/build/context.constants-CsZRZ7gH.js.map +1 -0
  328. package/build/context.constants-DqYjo5m4.js +375 -0
  329. package/build/context.constants-DqYjo5m4.js.map +1 -0
  330. package/build/context.functions-80N-5MqM.cjs +2 -0
  331. package/build/context.functions-80N-5MqM.cjs.map +1 -0
  332. package/build/context.functions-B8FDl7nJ.js +14 -0
  333. package/build/context.functions-B8FDl7nJ.js.map +1 -0
  334. package/build/context.functions-BD15C8_y.js +128 -0
  335. package/build/context.functions-BD15C8_y.js.map +1 -0
  336. package/build/context.functions-CQ9GerPb.js +147 -0
  337. package/build/context.functions-CQ9GerPb.js.map +1 -0
  338. package/build/context.functions-ar41xFVo.cjs +2 -0
  339. package/build/context.functions-ar41xFVo.cjs.map +1 -0
  340. package/build/context.functions-ohI9H54j.cjs +2 -0
  341. package/build/context.functions-ohI9H54j.cjs.map +1 -0
  342. package/build/context.hooks-7ydA7mGj.js +117 -0
  343. package/build/context.hooks-7ydA7mGj.js.map +1 -0
  344. package/build/context.hooks-BIsapq-0.cjs +2 -0
  345. package/build/context.hooks-BIsapq-0.cjs.map +1 -0
  346. package/build/context.hooks-BmwyZ1p3.js +68 -0
  347. package/build/context.hooks-BmwyZ1p3.js.map +1 -0
  348. package/build/context.hooks-BzMTkJNv.js +52 -0
  349. package/build/context.hooks-BzMTkJNv.js.map +1 -0
  350. package/build/context.hooks-CTi-CVKx.cjs +72 -0
  351. package/build/context.hooks-CTi-CVKx.cjs.map +1 -0
  352. package/build/context.hooks-D13tbrva.cjs +2 -0
  353. package/build/context.hooks-D13tbrva.cjs.map +1 -0
  354. package/build/context.hooks-gyzZSaVi.js +527 -0
  355. package/build/context.hooks-gyzZSaVi.js.map +1 -0
  356. package/build/context.hooks-u408Pxw8.cjs +2 -0
  357. package/build/context.hooks-u408Pxw8.cjs.map +1 -0
  358. package/build/functions.cjs.js +2 -0
  359. package/build/functions.cjs.js.map +1 -0
  360. package/build/functions.d.ts +22 -0
  361. package/build/functions.es.js +47 -0
  362. package/build/functions.es.js.map +1 -0
  363. package/build/hooks-use-debounced-callback.cjs.js +2 -0
  364. package/build/hooks-use-debounced-callback.cjs.js.map +1 -0
  365. package/build/hooks-use-debounced-callback.d.ts +3 -0
  366. package/build/hooks-use-debounced-callback.es.js +5 -0
  367. package/build/hooks-use-debounced-callback.es.js.map +1 -0
  368. package/build/hooks-use-deep-compare-memoize.cjs.js +2 -0
  369. package/build/hooks-use-deep-compare-memoize.cjs.js.map +1 -0
  370. package/build/hooks-use-deep-compare-memoize.d.ts +3 -0
  371. package/build/hooks-use-deep-compare-memoize.es.js +5 -0
  372. package/build/hooks-use-deep-compare-memoize.es.js.map +1 -0
  373. package/build/index.cjs.js +2 -0
  374. package/build/index.cjs.js.map +1 -0
  375. package/build/index.d.ts +2540 -0
  376. package/build/index.es.js +329 -0
  377. package/build/index.es.js.map +1 -0
  378. package/build/jsx-runtime-BcGej2Kr.cjs +11 -0
  379. package/build/jsx-runtime-BcGej2Kr.cjs.map +1 -0
  380. package/build/jsx-runtime-BrDlu8eK.js +320 -0
  381. package/build/jsx-runtime-BrDlu8eK.js.map +1 -0
  382. package/build/motion-CIQfrLky.js +85 -0
  383. package/build/motion-CIQfrLky.js.map +1 -0
  384. package/build/motion-DgB7M2Hn.cjs +2 -0
  385. package/build/motion-DgB7M2Hn.cjs.map +1 -0
  386. package/build/style-CEGJOjRW.js +107 -0
  387. package/build/style-CEGJOjRW.js.map +1 -0
  388. package/build/style-CtGd1JVB.cjs +32 -0
  389. package/build/style-CtGd1JVB.cjs.map +1 -0
  390. package/build/style-DeAgDHyI.js +52 -0
  391. package/build/style-DeAgDHyI.js.map +1 -0
  392. package/build/style-Dm74EPGE.cjs +87 -0
  393. package/build/style-Dm74EPGE.cjs.map +1 -0
  394. package/build/style-add.cjs.js +2 -0
  395. package/build/style-add.cjs.js.map +1 -0
  396. package/build/style-add.d.ts +21 -0
  397. package/build/style-add.es.js +13 -0
  398. package/build/style-add.es.js.map +1 -0
  399. package/build/style-error.cjs.js +2 -0
  400. package/build/style-error.cjs.js.map +1 -0
  401. package/build/style-error.d.ts +56 -0
  402. package/build/style-error.es.js +7 -0
  403. package/build/style-error.es.js.map +1 -0
  404. package/build/style-fRZ6xrVp.cjs +10 -0
  405. package/build/style-fRZ6xrVp.cjs.map +1 -0
  406. package/build/style-motion.cjs.js +2 -0
  407. package/build/style-motion.cjs.js.map +1 -0
  408. package/build/style-motion.d.ts +20 -0
  409. package/build/style-motion.es.js +8 -0
  410. package/build/style-motion.es.js.map +1 -0
  411. package/build/style-plT9Ah7t.js +33 -0
  412. package/build/style-plT9Ah7t.js.map +1 -0
  413. package/build/style-sx.cjs.js +2 -0
  414. package/build/style-sx.cjs.js.map +1 -0
  415. package/build/style-sx.d.ts +31 -0
  416. package/build/style-sx.es.js +5 -0
  417. package/build/style-sx.es.js.map +1 -0
  418. package/build/style-theme.cjs.js +2 -0
  419. package/build/style-theme.cjs.js.map +1 -0
  420. package/build/style-theme.d.ts +263 -0
  421. package/build/style-theme.es.js +10 -0
  422. package/build/style-theme.es.js.map +1 -0
  423. package/build/style.css +1 -0
  424. package/build/theme.global-D6XU05Et.cjs +169 -0
  425. package/build/theme.global-D6XU05Et.cjs.map +1 -0
  426. package/build/theme.global-bN9HlSWE.js +1080 -0
  427. package/build/theme.global-bN9HlSWE.js.map +1 -0
  428. package/build/types.cjs.js +2 -0
  429. package/build/types.cjs.js.map +1 -0
  430. package/build/types.d.ts +27 -0
  431. package/build/types.es.js +2 -0
  432. package/build/types.es.js.map +1 -0
  433. package/build/use-BVj4dgbW.js +1547 -0
  434. package/build/use-BVj4dgbW.js.map +1 -0
  435. package/build/use-BhofoOgk.cjs +16 -0
  436. package/build/use-BhofoOgk.cjs.map +1 -0
  437. package/build/use-Bp8UVw4Y.js +16 -0
  438. package/build/use-Bp8UVw4Y.js.map +1 -0
  439. package/build/use-C1l0O0Qo.cjs +2 -0
  440. package/build/use-C1l0O0Qo.cjs.map +1 -0
  441. package/build/use-DT0XgvJT.js +25 -0
  442. package/build/use-DT0XgvJT.js.map +1 -0
  443. package/build/use-IhzeVumv.cjs +2 -0
  444. package/build/use-IhzeVumv.cjs.map +1 -0
  445. package/package.json +360 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.hooks-CTi-CVKx.cjs","sources":["../src/contexts/context-app/context.tsx","../src/contexts/context-app/context.styles.ts","../src/contexts/context-app/context.hooks.ts"],"sourcesContent":["import { FC, createContext, useCallback, useEffect, useState } from 'react'\n\nimport { Preview, PreviewAdditionalProps } from '@local/areas/preview'\nimport { JeneseiPalette, IThemePaletteKeys } from '@local/theme'\n\nimport {\n AppContextProps,\n ProviderAppOutlet,\n ProviderAppOutletChildren,\n ProviderAppOutletFooter,\n ProviderAppOutletHeader,\n ProviderAppOutletLeftAside,\n ProviderAppOutletNav,\n ProviderAppOutletNotification,\n ProviderAppOutletRightAside,\n ProviderAppProps,\n ProviderAppWrapper\n} from '.'\nimport { useScreenWidth } from '../context-screen-width'\n\nexport const AppContext = createContext<AppContextProps | null>(null)\n\n/**\n * ProviderApp component is a context context that manages various application-level states\n * such as background color, status bar color, background image, title, and description.\n * It uses several custom hooks to handle these states and provides them via the AppContext.\n *\n * @component\n *\n * @param {ProviderAppProps} props - The properties passed to the ProviderApp component.\n * @param {string} props.defaultBgColor - The default background color.\n * @param {string} props.defaultStatusBarColor - The default status bar color.\n * @param {string} [props.defaultBgImage] - The default background image.\n * @param {string} [props.defaultTitle] - The default title.\n * @param {string} [props.defaultDescription] - The default description.\n * @param {boolean} [props.isScrollOutlet] - Determines if the outlet should be scrollable.\n * @param {object} [props.footer] - The footer component and its properties.\n * @param {object} [props.notification] - The notification component and its properties.\n * @param {object} [props.header] - The header component and its properties.\n * @param {object} [props.nav] - The navigation component and its properties.\n * @param {object} [props.leftAside] - The left aside component and its properties.\n * @param {object} [props.rightAside] - The right aside component and its properties.\n * @param {React.ReactNode} props.children - The children components to be rendered inside the ProviderApp.\n *\n * @returns {JSX.Element} The rendered ProviderApp component.\n */\nexport const ProviderApp: FC<ProviderAppProps> = 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 const { screenActual } = useScreenWidth()\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={JeneseiPalette[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 <ProviderAppWrapper $bgColor={bgColor} $bgImage={bgImage}>\n <ProviderAppOutlet\n $isScrollOutlet={props.isScrollOutlet}\n $footer={props.footer}\n $notification={props.notification}\n $header={props.header}\n $nav={props.nav}\n $leftAside={props.leftAside}\n $rightAside={props.rightAside}\n >\n {props.notification?.length && props.notification?.length?.[screenActual] ? (\n <ProviderAppOutletNotification $notification={props.notification}>\n {props.notification?.component || null}\n </ProviderAppOutletNotification>\n ) : null}\n\n {props.header?.length && props.header?.length?.[screenActual] ? (\n <ProviderAppOutletHeader $header={props.header}>\n {props.header?.component || null}\n </ProviderAppOutletHeader>\n ) : null}\n\n {props.nav?.length && props.nav?.length?.[screenActual] ? (\n <ProviderAppOutletNav $nav={props.nav}>{props.nav?.component || null}</ProviderAppOutletNav>\n ) : null}\n\n {props.leftAside?.length && props.leftAside?.length?.[screenActual] ? (\n <ProviderAppOutletLeftAside $leftAside={props.leftAside}>\n {props.leftAside?.component || null}\n </ProviderAppOutletLeftAside>\n ) : null}\n\n <ProviderAppOutletChildren $main={props.main}>{props.children}</ProviderAppOutletChildren>\n\n {props.rightAside?.length && props.rightAside?.length?.[screenActual] ? (\n <ProviderAppOutletRightAside $rightAside={props.rightAside}>\n {props.rightAside?.component || null}\n </ProviderAppOutletRightAside>\n ) : null}\n\n {props.footer?.length && props.footer?.length?.[screenActual] ? (\n <ProviderAppOutletFooter $footer={props.footer}>\n {props.footer?.component || null}\n </ProviderAppOutletFooter>\n ) : null}\n </ProviderAppOutlet>\n </ProviderAppWrapper>\n </Preview>\n </AppContext.Provider>\n )\n}\n\n/**\n * Custom hook to manage preview properties.\n */\nconst usePreview = (defaultPreview: ProviderAppProps['defaultPreview']) => {\n const [previewProps, setPreviewProps] = useState(defaultPreview || { visible: true, defaultVisible: true })\n\n const changePreview = useCallback((newPreviewProps: PreviewAdditionalProps) => {\n setPreviewProps(newPreviewProps)\n }, [])\n\n useEffect(() => {\n if (defaultPreview) setPreviewProps(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: IThemePaletteKeys\n bgColorHistory: IThemePaletteKeys[]\n bgColorIndex: number\n}\n\nexport const useBgColor = (defaultColor: IThemePaletteKeys) => {\n const [state, setState] = useState<BgColorState>({\n bgColor: defaultColor,\n bgColorHistory: [defaultColor],\n bgColorIndex: 0\n })\n\n const changeBgColor = useCallback((color: IThemePaletteKeys) => {\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: IThemePaletteKeys\n statusBarColorHistory: IThemePaletteKeys[]\n statusBarColorIndex: number\n}\n\nexport const useStatusBarColor = (defaultColor: IThemePaletteKeys) => {\n const [state, setState] = useState<StatusBarColorState>({\n statusBarColor: defaultColor,\n statusBarColorHistory: [defaultColor],\n statusBarColorIndex: 0\n })\n\n const changeStatusBarColor = useCallback((color: IThemePaletteKeys) => {\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 { css, styled } from 'styled-components'\n\nimport { addGridTransition } from '@local/styles/add'\nimport { JeneseiPalette } from '@local/theme'\n\nimport { ProviderAppOutletChildrenProps, ProviderAppOutletProps, ProviderAppWrapperProps } from '.'\nimport { ScreenWidthProps } from '../context-screen-width'\n\nexport const ProviderAppWrapper = styled.div<ProviderAppWrapperProps>`\n display: flex;\n flex-direction: column;\n max-width: 100dvw;\n min-height: 100dvh;\n width: 100%;\n overflow: hidden;\n position: relative;\n\n background-color: ${props => JeneseiPalette[props.$bgColor]};\n background-image: url(${props => props.$bgImage});\n`\n\nconst generateGridTemplateAreas = (props: ProviderAppOutletProps) => {\n let templateAreas = `\n \"notification notification notification\"\n \"header header header\"\n \"nav nav nav\"\n \"leftAside children rightAside\"\n \"footer footer footer\"\n `\n\n templateAreas = `\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 return templateAreas\n}\n\nfunction toStyledAppOutletCSS(props: {\n leftAsideWidth: string\n rightAsideWidth: string\n notificationHeight: string\n headerHeight: string\n navHeight: string\n footerHeight: string\n}) {\n return css`\n grid-template-columns: ${() => `${props.leftAsideWidth} 1fr ${props.rightAsideWidth}`};\n grid-template-rows: ${() =>\n `${props.notificationHeight} ${props.headerHeight} ${props.navHeight} 1fr ${props.footerHeight}`};\n `\n}\nconst addSXAppOutlet = css<ProviderAppOutletProps>`\n ${props => {\n const leftAsideWidth = props.$leftAside?.length?.default\n const rightAsideWidth = props.$rightAside?.length?.default\n const notificationHeight = props.$notification?.length?.default\n const headerHeight = props.$header?.length?.default\n const navHeight = props.$nav?.length?.default\n const footerHeight = props.$footer?.length?.default\n return toStyledAppOutletCSS({\n leftAsideWidth: leftAsideWidth ?? '0px',\n rightAsideWidth: rightAsideWidth ?? '0px',\n notificationHeight: notificationHeight ?? '0px',\n headerHeight: headerHeight ?? '0px',\n navHeight: navHeight ?? '0px',\n footerHeight: footerHeight ?? '0px'\n })\n }}\n ${props => {\n const leftAsideWidth = props.$leftAside?.length\n const rightAsideWidth = props.$rightAside?.length\n const notificationHeight = props.$notification?.length\n const headerHeight = props.$header?.length\n const navHeight = props.$nav?.length\n const footerHeight = props.$footer?.length\n\n return Object.entries(props.theme.screens)\n .filter(([key]) => key !== 'default')\n .map(([key]) => {\n const deviceKey = key as keyof ScreenWidthProps<string | null>\n const screenWidth = props.theme.screens[deviceKey]?.width\n if (!screenWidth) return null\n return css`\n @media (max-width: ${screenWidth}px) {\n ${toStyledAppOutletCSS({\n leftAsideWidth: leftAsideWidth && leftAsideWidth[deviceKey] ? leftAsideWidth[deviceKey] : '0px',\n rightAsideWidth: rightAsideWidth && rightAsideWidth[deviceKey] ? rightAsideWidth[deviceKey] : '0px',\n notificationHeight:\n notificationHeight && notificationHeight[deviceKey] ? notificationHeight[deviceKey] : '0px',\n headerHeight: headerHeight && headerHeight[deviceKey] ? headerHeight[deviceKey] : '0px',\n navHeight: navHeight && navHeight[deviceKey] ? navHeight[deviceKey] : '0px',\n footerHeight: footerHeight && footerHeight[deviceKey] ? footerHeight[deviceKey] : '0px'\n })}\n }\n `\n })\n }}\n`\nexport const ProviderAppOutlet = styled.div<ProviderAppOutletProps>`\n display: grid;\n width: 100%;\n height: 100%;\n\n min-height: 100dvh;\n\n ${addGridTransition};\n\n ${props => `\n grid-template-areas: ${generateGridTemplateAreas(props)};\n `}\n\n ${props =>\n props.$isScrollOutlet\n ? css`\n max-height: 100dvh;\n `\n : css`\n max-height: none;\n `};\n\n ${addSXAppOutlet};\n`\n\nexport const ProviderAppOutletChildren = styled.main<ProviderAppOutletChildrenProps>`\n z-index: ${props => props?.$main?.zIndex ?? 'auto'};\n display: flex;\n grid-area: children;\n max-width: 100%;\n max-height: 100%;\n overflow: auto;\n`\n\nexport const ProviderAppOutletNotification = styled.section<ProviderAppOutletProps>`\n z-index: ${props => props?.$notification?.zIndex ?? 'auto'};\n grid-area: notification;\n display: flex;\n`\n\nexport const ProviderAppOutletHeader = styled.header<ProviderAppOutletProps>`\n z-index: ${props => props?.$header?.zIndex ?? 'auto'};\n grid-area: header;\n display: flex;\n`\n\nexport const ProviderAppOutletFooter = styled.footer<ProviderAppOutletProps>`\n z-index: ${props => props?.$footer?.zIndex ?? 'auto'};\n grid-area: footer;\n display: flex;\n`\n\nexport const ProviderAppOutletNav = styled.nav<ProviderAppOutletProps>`\n z-index: ${props => props?.$nav?.zIndex ?? 'auto'};\n grid-area: nav;\n display: flex;\n`\n\nexport const ProviderAppOutletLeftAside = styled.aside<ProviderAppOutletProps>`\n z-index: ${props => props?.$leftAside?.zIndex ?? 'auto'};\n grid-area: leftAside;\n display: flex;\n`\n\nexport const ProviderAppOutletRightAside = styled.aside<ProviderAppOutletProps>`\n z-index: ${props => props?.$rightAside?.zIndex ?? 'auto'};\n grid-area: rightAside;\n display: flex;\n`\n","import { useContext } from 'react'\n\nimport { AppContext } from '.'\n\n/**\n * Custom hook to access the AppContext.\n */\nexport const useApp = () => {\n const context = useContext(AppContext)\n if (!context) {\n throw new Error('useApp must be used within an ProviderApp')\n }\n return context\n}\n"],"names":["AppContext","createContext","usePreview","defaultPreview","previewProps","setPreviewProps","useState","visible","defaultVisible","changePreview","useCallback","newPreviewProps","useEffect","useBgColor","defaultColor","state","setState","bgColor","bgColorHistory","bgColorIndex","changeBgColor","color","prev","newHistory","slice","length","historyBgColor","steps","newIndex","setDefaultBgColor","useStatusBarColor","statusBarColor","statusBarColorHistory","statusBarColorIndex","changeStatusBarColor","historyStatusBarColor","setDefaultStatusBarColor","useBgImage","defaultImage","bgImage","bgImageHistory","bgImageIndex","changeBgImage","image","historyBgImage","setDefaultBgImage","useTitle","defaultTitle","title","titleHistory","titleIndex","changeTitle","newTitle","setHistoryTitle","setDefaultTitle","useDescription","defaultDescription","description","descriptionHistory","descriptionIndex","changeDescription","newDescription","historyDescription","setDefaultDescription","ProviderAppWrapper","styled","div","props","JeneseiPalette","$bgColor","$bgImage","toStyledAppOutletCSS","css","leftAsideWidth","rightAsideWidth","notificationHeight","headerHeight","navHeight","footerHeight","addSXAppOutlet","_b","_a","$leftAside","default","_d","_c","$rightAside","_f","_e","$notification","_h","_g","$header","_j","_i","$nav","_l","_k","$footer","Object","entries","theme","screens","filter","key","map","deviceKey","screenWidth","width","ProviderAppOutlet","addGridTransition","templateAreas","isTopHeader","isTopNav","isTopFooter","generateGridTemplateAreas","$isScrollOutlet","ProviderAppOutletChildren","main","$main","zIndex","ProviderAppOutletNotification","section","ProviderAppOutletHeader","header","ProviderAppOutletFooter","footer","ProviderAppOutletNav","nav","ProviderAppOutletLeftAside","aside","ProviderAppOutletRightAside","defaultBgColor","defaultStatusBarColor","defaultBgImage","screenActual","useScreenWidth","jsxs","Provider","value","children","jsx","name","content","Preview","isScrollOutlet","notification","leftAside","rightAside","component","_m","_o","_n","_q","_s","_r","_u","_w","_v","context","useContext","Error"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const i=require("react"),o=require("./jsx-runtime-BcGej2Kr.cjs"),e=i.createContext(null),t=()=>{const[o,e]=i.useState(!1);return i.useEffect(()=>{(async()=>{try{if(window.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable){const i=await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();e(i)}else e(!1)}catch(i){console.error("Error checking biometric availability:",i),e(!1)}})()},[]),{isBiometricSupported:o}},n=()=>{const[o,e]=i.useState(null);i.useEffect(()=>{"permissions"in window.navigator&&window.navigator.permissions.query({name:"geolocation"}).then(i=>{e(i.state),i.onchange=()=>{e(i.state)}})},[]);return{geolocationPermission:o,requestGeolocationPermission:i.useCallback(()=>{"geolocation"in window.navigator?window.navigator.geolocation.getCurrentPosition(()=>e("granted"),()=>e("denied")):console.warn("Provider Permission. Geolocation is not supported in this browser.")},[])}},s=()=>{const[o,e]=i.useState(null),[t,n]=i.useState(!1),s=i.useCallback(async()=>{if(n(!0),"Notification"in window)try{n(!0);const i=await window.Notification.requestPermission();return e(i),n(!1),i}catch(i){console.error("Provider Permission. Failed to request notification permission:",i)}else console.warn("Provider Permission. Notifications are not supported in this browser.");n(!1)},[]);return i.useEffect(()=>{"Notification"in window&&e(window.Notification.permission)},[]),{notificationPermission:o,requestNotificationPermission:s,isNotificationPermissionLoading:t}},r=()=>{const[o,e]=i.useState(!1);return i.useEffect(()=>{"PushManager"in window&&e(!0)},[]),{pushNotificationSupported:o}};exports.PermissionContext=e,exports.ProviderPermission=i=>{const{pushNotificationSupported:a}=r(),{isBiometricSupported:c}=t(),{notificationPermission:u,requestNotificationPermission:l,isNotificationPermissionLoading:d}=s(),{geolocationPermission:m,requestGeolocationPermission:P}=n();return o.jsxRuntimeExports.jsx(e.Provider,{value:{isBiometricSupported:c,geolocationPermission:m,pushNotificationSupported:a,requestGeolocationPermission:P,notificationPermission:u,requestNotificationPermission:l,isNotificationPermissionLoading:d},children:i.children})},exports.usePermission=()=>{const o=i.useContext(e);if(!o)throw new Error("usePermission must be used within an PermissionProvider");return o};
2
+ //# sourceMappingURL=context.hooks-D13tbrva.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.hooks-D13tbrva.cjs","sources":["../src/contexts/context-permission/context.tsx","../src/contexts/context-permission/context.hooks.ts"],"sourcesContent":["import { createContext, useCallback, useEffect, useState } from 'react'\n\nimport { PermissionContextProps, ProviderPermissionProps } from '.'\n\nexport const PermissionContext = createContext<PermissionContextProps | null>(null)\n\nexport const ProviderPermission = (props: ProviderPermissionProps) => {\n const { pushNotificationSupported } = usePushNotificationSupported()\n const { isBiometricSupported } = useBiometricSupported()\n const { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading } =\n useNotificationPermission()\n const { geolocationPermission, requestGeolocationPermission } = useGeolocationPermission()\n\n return (\n <PermissionContext.Provider\n value={{\n isBiometricSupported,\n geolocationPermission,\n pushNotificationSupported,\n requestGeolocationPermission,\n notificationPermission,\n requestNotificationPermission,\n isNotificationPermissionLoading\n }}\n >\n {props.children}\n </PermissionContext.Provider>\n )\n}\n\nconst useBiometricSupported = () => {\n const [isBiometricSupported, setIsBiometricSupported] = useState(false)\n\n useEffect(() => {\n const checkBiometricAvailability = async () => {\n try {\n if (\n window.PublicKeyCredential &&\n typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable === 'function'\n ) {\n const available = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()\n setIsBiometricSupported(available)\n } else {\n setIsBiometricSupported(false)\n }\n } catch (error) {\n console.error('Error checking biometric availability:', error)\n setIsBiometricSupported(false)\n }\n }\n\n checkBiometricAvailability()\n }, [])\n\n return { isBiometricSupported }\n}\n\nconst useGeolocationPermission = () => {\n // eslint-disable-next-line no-undef\n const [geolocationPermission, setGeolocationPermission] = useState<PermissionState | null>(null)\n\n useEffect(() => {\n if ('permissions' in window.navigator) {\n window.navigator.permissions.query({ name: 'geolocation' }).then(permissionStatus => {\n setGeolocationPermission(permissionStatus.state)\n permissionStatus.onchange = () => {\n setGeolocationPermission(permissionStatus.state)\n }\n })\n }\n }, [])\n\n const requestGeolocationPermission = useCallback(() => {\n if ('geolocation' in window.navigator) {\n window.navigator.geolocation.getCurrentPosition(\n () => setGeolocationPermission('granted'),\n () => setGeolocationPermission('denied')\n )\n } else {\n console.warn('Provider Permission. Geolocation is not supported in this browser.')\n }\n }, [])\n\n return { geolocationPermission, requestGeolocationPermission }\n}\n\nconst useNotificationPermission = () => {\n // eslint-disable-next-line no-undef\n const [notificationPermission, setNotificationPermission] = useState<NotificationPermission | null>(null)\n const [isNotificationPermissionLoading, setIsNotificationPermissionLoading] = useState<boolean>(false)\n\n const requestNotificationPermission = useCallback(async () => {\n setIsNotificationPermissionLoading(true)\n if ('Notification' in window) {\n try {\n setIsNotificationPermissionLoading(true)\n const permission = await window.Notification.requestPermission()\n setNotificationPermission(permission)\n setIsNotificationPermissionLoading(false)\n return permission\n } catch (error) {\n console.error('Provider Permission. Failed to request notification permission:', error)\n }\n } else {\n console.warn('Provider Permission. Notifications are not supported in this browser.')\n }\n setIsNotificationPermissionLoading(false)\n }, [])\n\n useEffect(() => {\n if ('Notification' in window) {\n setNotificationPermission(window.Notification.permission)\n }\n }, [])\n\n return { notificationPermission, requestNotificationPermission, isNotificationPermissionLoading }\n}\n\nconst usePushNotificationSupported = () => {\n const [pushNotificationSupported, setPushNotificationSupported] = useState<boolean>(false)\n\n useEffect(() => {\n if ('PushManager' in window) {\n setPushNotificationSupported(true)\n }\n }, [])\n\n return { pushNotificationSupported }\n}\n","import { useContext } from 'react'\n\nimport { PermissionContext, PermissionContextProps } from '.'\n\n/**\n * Custom hook to access the PermissionContext.\n */\nexport const usePermission = (): PermissionContextProps => {\n const context = useContext(PermissionContext)\n if (!context) {\n throw new Error('usePermission must be used within an PermissionProvider')\n }\n return context\n}\n"],"names":["PermissionContext","createContext","useBiometricSupported","isBiometricSupported","setIsBiometricSupported","useState","useEffect","async","window","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","available","error","console","checkBiometricAvailability","useGeolocationPermission","geolocationPermission","setGeolocationPermission","navigator","permissions","query","name","then","permissionStatus","state","onchange","requestGeolocationPermission","useCallback","geolocation","getCurrentPosition","warn","useNotificationPermission","notificationPermission","setNotificationPermission","isNotificationPermissionLoading","setIsNotificationPermissionLoading","requestNotificationPermission","permission","Notification","requestPermission","usePushNotificationSupported","pushNotificationSupported","setPushNotificationSupported","props","jsx","Provider","value","children","context","useContext","Error"],"mappings":"8EAIaA,EAAoBC,EAAAA,cAA6C,MA0BxEC,EAAwB,KAC5B,MAAOC,EAAsBC,GAA2BC,EAAAA,UAAS,GAuBjE,OArBAC,EAAAA,UAAU,KAC2BC,WACjC,IACE,GACEC,OAAOC,qBAC6E,mBAA7ED,OAAOC,oBAAoBC,8CAClC,CACA,MAAMC,QAAkBH,OAAOC,oBAAoBC,gDACnDN,EAAwBO,EAAS,MAEjCP,GAAwB,EAC1B,OACOQ,GACPC,QAAQD,MAAM,yCAA0CA,GACxDR,GAAwB,EAAK,GAIjCU,IACC,IAEI,CAAEX,yBAGLY,EAA2B,KAE/B,MAAOC,EAAuBC,GAA4BZ,EAAAA,SAAiC,MAE3FC,EAAAA,UAAU,KACJ,gBAAiBE,OAAOU,WAC1BV,OAAOU,UAAUC,YAAYC,MAAM,CAAEC,KAAM,gBAAiBC,KAAKC,IAC/DN,EAAyBM,EAAiBC,OAC1CD,EAAiBE,SAAW,KAC1BR,EAAyBM,EAAiBC,WAI/C,IAaH,MAAO,CAAER,wBAAuBU,6BAXKC,EAAAA,YAAY,KAC3C,gBAAiBnB,OAAOU,UAC1BV,OAAOU,UAAUU,YAAYC,mBAC3B,IAAMZ,EAAyB,WAC/B,IAAMA,EAAyB,WAGjCJ,QAAQiB,KAAK,uEAEd,MAKCC,EAA4B,KAEhC,MAAOC,EAAwBC,GAA6B5B,EAAAA,SAAwC,OAC7F6B,EAAiCC,GAAsC9B,EAAAA,UAAkB,GAE1F+B,EAAgCT,EAAAA,YAAYpB,UAEhD,GADA4B,GAAmC,GAC/B,iBAAkB3B,OACpB,IACE2B,GAAmC,GACnC,MAAME,QAAmB7B,OAAO8B,aAAaC,oBAG7C,OAFAN,EAA0BI,GAC1BF,GAAmC,GAC5BE,CAAA,OACAzB,GACPC,QAAQD,MAAM,kEAAmEA,EAAK,MAGxFC,QAAQiB,KAAK,yEAEfK,GAAmC,IAClC,IAQH,OANA7B,EAAAA,UAAU,KACJ,iBAAkBE,QACpByB,EAA0BzB,OAAO8B,aAAaD,aAE/C,IAEI,CAAEL,yBAAwBI,gCAA+BF,oCAG5DM,EAA+B,KACnC,MAAOC,EAA2BC,GAAgCrC,EAAAA,UAAkB,GAQpF,OANAC,EAAAA,UAAU,KACJ,gBAAiBE,QACnBkC,GAA6B,IAE9B,IAEI,CAAED,qFAzHwBE,IACjC,MAAMF,0BAAEA,GAA8BD,KAChCrC,qBAAEA,GAAyBD,KAC3B8B,uBAAEA,EAAAI,8BAAwBA,EAAAF,gCAA+BA,GAC7DH,KACIf,sBAAEA,EAAAU,6BAAuBA,GAAiCX,IAEhE,SACE6B,kBAAAA,IAAC5C,EAAkB6C,SAAlB,CACCC,MAAO,CACL3C,uBACAa,wBACAyB,4BACAf,+BACAM,yBACAI,gCACAF,mCAGDa,SAAAJ,EAAMI,kCClBgB,KAC3B,MAAMC,EAAUC,EAAAA,WAAWjD,GAC3B,IAAKgD,EACH,MAAM,IAAIE,MAAM,2DAElB,OAAOF"}
@@ -0,0 +1,527 @@
1
+ import { createContext, useState, useCallback, useEffect, useContext } from "react";
2
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
3
+ import { P as Preview } from "./area-BnAddPtl.js";
4
+ import { J as JeneseiPalette } from "./theme.global-bN9HlSWE.js";
5
+ import { styled, css } from "styled-components";
6
+ import { d as addGridTransition } from "./style-CEGJOjRW.js";
7
+ import { u as useScreenWidth } from "./context.hooks-BmwyZ1p3.js";
8
+ const AppContext = createContext(null);
9
+ const ProviderApp = (props) => {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
11
+ const { bgColor, changeBgColor, historyBgColor, setDefaultBgColor } = useBgColor(props.defaultBgColor);
12
+ const { statusBarColor, changeStatusBarColor, historyStatusBarColor, setDefaultStatusBarColor } = useStatusBarColor(
13
+ props.defaultStatusBarColor
14
+ );
15
+ const { bgImage, changeBgImage, historyBgImage, setDefaultBgImage } = useBgImage(props.defaultBgImage || null);
16
+ const { title, changeTitle, setHistoryTitle, setDefaultTitle } = useTitle(props.defaultTitle || null);
17
+ const { description, changeDescription, historyDescription, setDefaultDescription } = useDescription(
18
+ props.defaultDescription
19
+ );
20
+ const { changePreview, previewProps } = usePreview(props.defaultPreview);
21
+ const { screenActual } = useScreenWidth();
22
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
23
+ AppContext.Provider,
24
+ {
25
+ value: {
26
+ changePreview,
27
+ changeStatusBarColor,
28
+ changeBgColor,
29
+ changeBgImage,
30
+ changeTitle,
31
+ changeDescription,
32
+ historyStatusBarColor,
33
+ historyBgColor,
34
+ historyBgImage,
35
+ setHistoryTitle,
36
+ historyDescription,
37
+ setDefaultStatusBarColor,
38
+ setDefaultBgColor,
39
+ setDefaultBgImage,
40
+ setDefaultTitle,
41
+ setDefaultDescription
42
+ },
43
+ children: [
44
+ /* @__PURE__ */ jsxRuntimeExports.jsx("title", { children: title }),
45
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { name: "description", content: description }),
46
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { name: "theme-color", content: JeneseiPalette[statusBarColor] }),
47
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { name: "apple-mobile-web-app-status-bar-style", content: "default" }),
48
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { name: "mobile-web-app-capable", content: "yes" }),
49
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Preview, { ...previewProps, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppWrapper, { $bgColor: bgColor, $bgImage: bgImage, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
50
+ ProviderAppOutlet,
51
+ {
52
+ $isScrollOutlet: props.isScrollOutlet,
53
+ $footer: props.footer,
54
+ $notification: props.notification,
55
+ $header: props.header,
56
+ $nav: props.nav,
57
+ $leftAside: props.leftAside,
58
+ $rightAside: props.rightAside,
59
+ children: [
60
+ ((_a = props.notification) == null ? void 0 : _a.length) && ((_c = (_b = props.notification) == null ? void 0 : _b.length) == null ? void 0 : _c[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletNotification, { $notification: props.notification, children: ((_d = props.notification) == null ? void 0 : _d.component) || null }) : null,
61
+ ((_e = props.header) == null ? void 0 : _e.length) && ((_g = (_f = props.header) == null ? void 0 : _f.length) == null ? void 0 : _g[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletHeader, { $header: props.header, children: ((_h = props.header) == null ? void 0 : _h.component) || null }) : null,
62
+ ((_i = props.nav) == null ? void 0 : _i.length) && ((_k = (_j = props.nav) == null ? void 0 : _j.length) == null ? void 0 : _k[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletNav, { $nav: props.nav, children: ((_l = props.nav) == null ? void 0 : _l.component) || null }) : null,
63
+ ((_m = props.leftAside) == null ? void 0 : _m.length) && ((_o = (_n = props.leftAside) == null ? void 0 : _n.length) == null ? void 0 : _o[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletLeftAside, { $leftAside: props.leftAside, children: ((_p = props.leftAside) == null ? void 0 : _p.component) || null }) : null,
64
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletChildren, { $main: props.main, children: props.children }),
65
+ ((_q = props.rightAside) == null ? void 0 : _q.length) && ((_s = (_r = props.rightAside) == null ? void 0 : _r.length) == null ? void 0 : _s[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletRightAside, { $rightAside: props.rightAside, children: ((_t = props.rightAside) == null ? void 0 : _t.component) || null }) : null,
66
+ ((_u = props.footer) == null ? void 0 : _u.length) && ((_w = (_v = props.footer) == null ? void 0 : _v.length) == null ? void 0 : _w[screenActual]) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderAppOutletFooter, { $footer: props.footer, children: ((_x = props.footer) == null ? void 0 : _x.component) || null }) : null
67
+ ]
68
+ }
69
+ ) }) })
70
+ ]
71
+ }
72
+ );
73
+ };
74
+ const usePreview = (defaultPreview) => {
75
+ const [previewProps, setPreviewProps] = useState(defaultPreview || { visible: true, defaultVisible: true });
76
+ const changePreview = useCallback((newPreviewProps) => {
77
+ setPreviewProps(newPreviewProps);
78
+ }, []);
79
+ useEffect(() => {
80
+ if (defaultPreview) setPreviewProps(defaultPreview);
81
+ }, [defaultPreview]);
82
+ return { previewProps, changePreview };
83
+ };
84
+ const useBgColor = (defaultColor) => {
85
+ const [state, setState] = useState({
86
+ bgColor: defaultColor,
87
+ bgColorHistory: [defaultColor],
88
+ bgColorIndex: 0
89
+ });
90
+ const changeBgColor = useCallback((color) => {
91
+ setState((prev) => {
92
+ const newHistory = [...prev.bgColorHistory.slice(0, prev.bgColorIndex + 1), color];
93
+ return {
94
+ bgColor: color,
95
+ bgColorHistory: newHistory,
96
+ bgColorIndex: newHistory.length - 1
97
+ };
98
+ });
99
+ }, []);
100
+ const historyBgColor = useCallback((steps) => {
101
+ setState((prev) => {
102
+ const newIndex = prev.bgColorIndex + steps;
103
+ if (newIndex >= 0 && newIndex < prev.bgColorHistory.length) {
104
+ return {
105
+ ...prev,
106
+ bgColor: prev.bgColorHistory[newIndex],
107
+ bgColorIndex: newIndex
108
+ };
109
+ }
110
+ return prev;
111
+ });
112
+ }, []);
113
+ const setDefaultBgColor = useCallback(() => {
114
+ setState({
115
+ bgColor: defaultColor,
116
+ bgColorHistory: [defaultColor],
117
+ bgColorIndex: 0
118
+ });
119
+ }, [defaultColor]);
120
+ useEffect(() => {
121
+ setState({
122
+ bgColor: defaultColor,
123
+ bgColorHistory: [defaultColor],
124
+ bgColorIndex: 0
125
+ });
126
+ }, [defaultColor]);
127
+ return {
128
+ bgColor: state.bgColor,
129
+ changeBgColor,
130
+ historyBgColor,
131
+ setDefaultBgColor,
132
+ bgColorIndex: state.bgColorIndex
133
+ };
134
+ };
135
+ const useStatusBarColor = (defaultColor) => {
136
+ const [state, setState] = useState({
137
+ statusBarColor: defaultColor,
138
+ statusBarColorHistory: [defaultColor],
139
+ statusBarColorIndex: 0
140
+ });
141
+ const changeStatusBarColor = useCallback((color) => {
142
+ setState((prev) => {
143
+ const newHistory = [...prev.statusBarColorHistory.slice(0, prev.statusBarColorIndex + 1), color];
144
+ return {
145
+ statusBarColor: color,
146
+ statusBarColorHistory: newHistory,
147
+ statusBarColorIndex: newHistory.length - 1
148
+ };
149
+ });
150
+ }, []);
151
+ const historyStatusBarColor = useCallback((steps) => {
152
+ setState((prev) => {
153
+ const newIndex = prev.statusBarColorIndex + steps;
154
+ if (newIndex >= 0 && newIndex < prev.statusBarColorHistory.length) {
155
+ return {
156
+ ...prev,
157
+ statusBarColor: prev.statusBarColorHistory[newIndex],
158
+ statusBarColorIndex: newIndex
159
+ };
160
+ }
161
+ return prev;
162
+ });
163
+ }, []);
164
+ const setDefaultStatusBarColor = useCallback(() => {
165
+ setState({
166
+ statusBarColor: defaultColor,
167
+ statusBarColorHistory: [defaultColor],
168
+ statusBarColorIndex: 0
169
+ });
170
+ }, [defaultColor]);
171
+ useEffect(() => {
172
+ setState({
173
+ statusBarColor: defaultColor,
174
+ statusBarColorHistory: [defaultColor],
175
+ statusBarColorIndex: 0
176
+ });
177
+ }, [defaultColor]);
178
+ return {
179
+ statusBarColor: state.statusBarColor,
180
+ changeStatusBarColor,
181
+ historyStatusBarColor,
182
+ setDefaultStatusBarColor,
183
+ statusBarColorIndex: state.statusBarColorIndex
184
+ };
185
+ };
186
+ const useBgImage = (defaultImage) => {
187
+ const [state, setState] = useState({
188
+ bgImage: defaultImage,
189
+ bgImageHistory: [defaultImage],
190
+ bgImageIndex: 0
191
+ });
192
+ const changeBgImage = useCallback((image) => {
193
+ setState((prev) => {
194
+ const newHistory = [...prev.bgImageHistory.slice(0, prev.bgImageIndex + 1), image];
195
+ return {
196
+ bgImage: image,
197
+ bgImageHistory: newHistory,
198
+ bgImageIndex: newHistory.length - 1
199
+ };
200
+ });
201
+ }, []);
202
+ const historyBgImage = useCallback((steps) => {
203
+ setState((prev) => {
204
+ const newIndex = prev.bgImageIndex + steps;
205
+ if (newIndex >= 0 && newIndex < prev.bgImageHistory.length) {
206
+ return {
207
+ ...prev,
208
+ bgImage: prev.bgImageHistory[newIndex],
209
+ bgImageIndex: newIndex
210
+ };
211
+ }
212
+ return prev;
213
+ });
214
+ }, []);
215
+ const setDefaultBgImage = useCallback(() => {
216
+ setState({
217
+ bgImage: defaultImage,
218
+ bgImageHistory: [defaultImage],
219
+ bgImageIndex: 0
220
+ });
221
+ }, [defaultImage]);
222
+ useEffect(() => {
223
+ setState({
224
+ bgImage: defaultImage,
225
+ bgImageHistory: [defaultImage],
226
+ bgImageIndex: 0
227
+ });
228
+ }, [defaultImage]);
229
+ return {
230
+ bgImage: state.bgImage,
231
+ changeBgImage,
232
+ historyBgImage,
233
+ setDefaultBgImage,
234
+ bgImageIndex: state.bgImageIndex
235
+ };
236
+ };
237
+ const useTitle = (defaultTitle) => {
238
+ const [state, setState] = useState({
239
+ title: defaultTitle,
240
+ titleHistory: [defaultTitle],
241
+ titleIndex: 0
242
+ });
243
+ const changeTitle = useCallback((newTitle) => {
244
+ setState((prev) => {
245
+ const newHistory = [...prev.titleHistory.slice(0, prev.titleIndex + 1), newTitle];
246
+ return {
247
+ title: newTitle,
248
+ titleHistory: newHistory,
249
+ titleIndex: newHistory.length - 1
250
+ };
251
+ });
252
+ }, []);
253
+ const setHistoryTitle = useCallback((steps) => {
254
+ setState((prev) => {
255
+ const newIndex = prev.titleIndex + steps;
256
+ if (newIndex >= 0 && newIndex < prev.titleHistory.length) {
257
+ return {
258
+ ...prev,
259
+ title: prev.titleHistory[newIndex],
260
+ titleIndex: newIndex
261
+ };
262
+ }
263
+ return prev;
264
+ });
265
+ }, []);
266
+ const setDefaultTitle = useCallback(() => {
267
+ setState({
268
+ title: defaultTitle,
269
+ titleHistory: [defaultTitle],
270
+ titleIndex: 0
271
+ });
272
+ }, [defaultTitle]);
273
+ useEffect(() => {
274
+ setState({
275
+ title: defaultTitle,
276
+ titleHistory: [defaultTitle],
277
+ titleIndex: 0
278
+ });
279
+ }, [defaultTitle]);
280
+ return {
281
+ title: state.title,
282
+ titleIndex: state.titleIndex,
283
+ titleHistory: state.titleHistory,
284
+ changeTitle,
285
+ setHistoryTitle,
286
+ setDefaultTitle
287
+ };
288
+ };
289
+ const useDescription = (defaultDescription) => {
290
+ const [state, setState] = useState({
291
+ description: defaultDescription,
292
+ descriptionHistory: [defaultDescription],
293
+ descriptionIndex: 0
294
+ });
295
+ const changeDescription = useCallback((newDescription) => {
296
+ setState((prev) => {
297
+ const newHistory = [...prev.descriptionHistory.slice(0, prev.descriptionIndex + 1), newDescription];
298
+ return {
299
+ description: newDescription,
300
+ descriptionHistory: newHistory,
301
+ descriptionIndex: newHistory.length - 1
302
+ };
303
+ });
304
+ }, []);
305
+ const historyDescription = useCallback((steps) => {
306
+ setState((prev) => {
307
+ const newIndex = prev.descriptionIndex + steps;
308
+ if (newIndex >= 0 && newIndex < prev.descriptionHistory.length) {
309
+ return {
310
+ ...prev,
311
+ description: prev.descriptionHistory[newIndex],
312
+ descriptionIndex: newIndex
313
+ };
314
+ }
315
+ return prev;
316
+ });
317
+ }, []);
318
+ const setDefaultDescription = useCallback(() => {
319
+ setState({
320
+ description: defaultDescription,
321
+ descriptionHistory: [defaultDescription],
322
+ descriptionIndex: 0
323
+ });
324
+ }, [defaultDescription]);
325
+ useEffect(() => {
326
+ setState({
327
+ description: defaultDescription,
328
+ descriptionHistory: [defaultDescription],
329
+ descriptionIndex: 0
330
+ });
331
+ }, [defaultDescription]);
332
+ return {
333
+ description: state.description,
334
+ changeDescription,
335
+ historyDescription,
336
+ setDefaultDescription,
337
+ descriptionIndex: state.descriptionIndex
338
+ };
339
+ };
340
+ const ProviderAppWrapper = styled.div`
341
+ display: flex;
342
+ flex-direction: column;
343
+ max-width: 100dvw;
344
+ min-height: 100dvh;
345
+ width: 100%;
346
+ overflow: hidden;
347
+ position: relative;
348
+
349
+ background-color: ${(props) => JeneseiPalette[props.$bgColor]};
350
+ background-image: url(${(props) => props.$bgImage});
351
+ `;
352
+ const generateGridTemplateAreas = (props) => {
353
+ var _a, _b, _c, _d, _e, _f, _g, _h;
354
+ let templateAreas = `
355
+ "notification notification notification"
356
+ "header header header"
357
+ "nav nav nav"
358
+ "leftAside children rightAside"
359
+ "footer footer footer"
360
+ `;
361
+ templateAreas = `
362
+ "notification notification notification"
363
+ "${((_a = props.$leftAside) == null ? void 0 : _a.isTopHeader) ? "leftAside" : "header"} header ${((_b = props.$rightAside) == null ? void 0 : _b.isTopHeader) ? "rightAside" : "header"}"
364
+ "${((_c = props.$leftAside) == null ? void 0 : _c.isTopHeader) ? "leftAside" : ((_d = props.$leftAside) == null ? void 0 : _d.isTopNav) ? "leftAside" : "nav"} nav ${((_e = props.$rightAside) == null ? void 0 : _e.isTopHeader) ? "rightAside" : ((_f = props.$rightAside) == null ? void 0 : _f.isTopNav) ? "rightAside" : "nav"}"
365
+ "leftAside children rightAside"
366
+ "${((_g = props.$leftAside) == null ? void 0 : _g.isTopFooter) ? "leftAside" : "footer"} footer ${((_h = props.$rightAside) == null ? void 0 : _h.isTopFooter) ? "rightAside" : "footer"}"
367
+ `;
368
+ return templateAreas;
369
+ };
370
+ function toStyledAppOutletCSS(props) {
371
+ return css`
372
+ grid-template-columns: ${() => `${props.leftAsideWidth} 1fr ${props.rightAsideWidth}`};
373
+ grid-template-rows: ${() => `${props.notificationHeight} ${props.headerHeight} ${props.navHeight} 1fr ${props.footerHeight}`};
374
+ `;
375
+ }
376
+ const addSXAppOutlet = css`
377
+ ${(props) => {
378
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
379
+ const leftAsideWidth = (_b = (_a = props.$leftAside) == null ? void 0 : _a.length) == null ? void 0 : _b.default;
380
+ const rightAsideWidth = (_d = (_c = props.$rightAside) == null ? void 0 : _c.length) == null ? void 0 : _d.default;
381
+ const notificationHeight = (_f = (_e = props.$notification) == null ? void 0 : _e.length) == null ? void 0 : _f.default;
382
+ const headerHeight = (_h = (_g = props.$header) == null ? void 0 : _g.length) == null ? void 0 : _h.default;
383
+ const navHeight = (_j = (_i = props.$nav) == null ? void 0 : _i.length) == null ? void 0 : _j.default;
384
+ const footerHeight = (_l = (_k = props.$footer) == null ? void 0 : _k.length) == null ? void 0 : _l.default;
385
+ return toStyledAppOutletCSS({
386
+ leftAsideWidth: leftAsideWidth ?? "0px",
387
+ rightAsideWidth: rightAsideWidth ?? "0px",
388
+ notificationHeight: notificationHeight ?? "0px",
389
+ headerHeight: headerHeight ?? "0px",
390
+ navHeight: navHeight ?? "0px",
391
+ footerHeight: footerHeight ?? "0px"
392
+ });
393
+ }}
394
+ ${(props) => {
395
+ var _a, _b, _c, _d, _e, _f;
396
+ const leftAsideWidth = (_a = props.$leftAside) == null ? void 0 : _a.length;
397
+ const rightAsideWidth = (_b = props.$rightAside) == null ? void 0 : _b.length;
398
+ const notificationHeight = (_c = props.$notification) == null ? void 0 : _c.length;
399
+ const headerHeight = (_d = props.$header) == null ? void 0 : _d.length;
400
+ const navHeight = (_e = props.$nav) == null ? void 0 : _e.length;
401
+ const footerHeight = (_f = props.$footer) == null ? void 0 : _f.length;
402
+ return Object.entries(props.theme.screens).filter(([key]) => key !== "default").map(([key]) => {
403
+ var _a2;
404
+ const deviceKey = key;
405
+ const screenWidth = (_a2 = props.theme.screens[deviceKey]) == null ? void 0 : _a2.width;
406
+ if (!screenWidth) return null;
407
+ return css`
408
+ @media (max-width: ${screenWidth}px) {
409
+ ${toStyledAppOutletCSS({
410
+ leftAsideWidth: leftAsideWidth && leftAsideWidth[deviceKey] ? leftAsideWidth[deviceKey] : "0px",
411
+ rightAsideWidth: rightAsideWidth && rightAsideWidth[deviceKey] ? rightAsideWidth[deviceKey] : "0px",
412
+ notificationHeight: notificationHeight && notificationHeight[deviceKey] ? notificationHeight[deviceKey] : "0px",
413
+ headerHeight: headerHeight && headerHeight[deviceKey] ? headerHeight[deviceKey] : "0px",
414
+ navHeight: navHeight && navHeight[deviceKey] ? navHeight[deviceKey] : "0px",
415
+ footerHeight: footerHeight && footerHeight[deviceKey] ? footerHeight[deviceKey] : "0px"
416
+ })}
417
+ }
418
+ `;
419
+ });
420
+ }}
421
+ `;
422
+ const ProviderAppOutlet = styled.div`
423
+ display: grid;
424
+ width: 100%;
425
+ height: 100%;
426
+
427
+ min-height: 100dvh;
428
+
429
+ ${addGridTransition};
430
+
431
+ ${(props) => `
432
+ grid-template-areas: ${generateGridTemplateAreas(props)};
433
+ `}
434
+
435
+ ${(props) => props.$isScrollOutlet ? css`
436
+ max-height: 100dvh;
437
+ ` : css`
438
+ max-height: none;
439
+ `};
440
+
441
+ ${addSXAppOutlet};
442
+ `;
443
+ const ProviderAppOutletChildren = styled.main`
444
+ z-index: ${(props) => {
445
+ var _a;
446
+ return ((_a = props == null ? void 0 : props.$main) == null ? void 0 : _a.zIndex) ?? "auto";
447
+ }};
448
+ display: flex;
449
+ grid-area: children;
450
+ max-width: 100%;
451
+ max-height: 100%;
452
+ overflow: auto;
453
+ `;
454
+ const ProviderAppOutletNotification = styled.section`
455
+ z-index: ${(props) => {
456
+ var _a;
457
+ return ((_a = props == null ? void 0 : props.$notification) == null ? void 0 : _a.zIndex) ?? "auto";
458
+ }};
459
+ grid-area: notification;
460
+ display: flex;
461
+ `;
462
+ const ProviderAppOutletHeader = styled.header`
463
+ z-index: ${(props) => {
464
+ var _a;
465
+ return ((_a = props == null ? void 0 : props.$header) == null ? void 0 : _a.zIndex) ?? "auto";
466
+ }};
467
+ grid-area: header;
468
+ display: flex;
469
+ `;
470
+ const ProviderAppOutletFooter = styled.footer`
471
+ z-index: ${(props) => {
472
+ var _a;
473
+ return ((_a = props == null ? void 0 : props.$footer) == null ? void 0 : _a.zIndex) ?? "auto";
474
+ }};
475
+ grid-area: footer;
476
+ display: flex;
477
+ `;
478
+ const ProviderAppOutletNav = styled.nav`
479
+ z-index: ${(props) => {
480
+ var _a;
481
+ return ((_a = props == null ? void 0 : props.$nav) == null ? void 0 : _a.zIndex) ?? "auto";
482
+ }};
483
+ grid-area: nav;
484
+ display: flex;
485
+ `;
486
+ const ProviderAppOutletLeftAside = styled.aside`
487
+ z-index: ${(props) => {
488
+ var _a;
489
+ return ((_a = props == null ? void 0 : props.$leftAside) == null ? void 0 : _a.zIndex) ?? "auto";
490
+ }};
491
+ grid-area: leftAside;
492
+ display: flex;
493
+ `;
494
+ const ProviderAppOutletRightAside = styled.aside`
495
+ z-index: ${(props) => {
496
+ var _a;
497
+ return ((_a = props == null ? void 0 : props.$rightAside) == null ? void 0 : _a.zIndex) ?? "auto";
498
+ }};
499
+ grid-area: rightAside;
500
+ display: flex;
501
+ `;
502
+ const useApp = () => {
503
+ const context = useContext(AppContext);
504
+ if (!context) {
505
+ throw new Error("useApp must be used within an ProviderApp");
506
+ }
507
+ return context;
508
+ };
509
+ export {
510
+ AppContext as A,
511
+ ProviderApp as P,
512
+ useStatusBarColor as a,
513
+ useBgImage as b,
514
+ useDescription as c,
515
+ ProviderAppWrapper as d,
516
+ ProviderAppOutlet as e,
517
+ ProviderAppOutletChildren as f,
518
+ ProviderAppOutletNotification as g,
519
+ ProviderAppOutletHeader as h,
520
+ ProviderAppOutletFooter as i,
521
+ ProviderAppOutletNav as j,
522
+ ProviderAppOutletLeftAside as k,
523
+ ProviderAppOutletRightAside as l,
524
+ useApp as m,
525
+ useBgColor as u
526
+ };
527
+ //# sourceMappingURL=context.hooks-gyzZSaVi.js.map