@salla.sa/twilight-theme-engine 1.0.105 → 1.0.107

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 (270) hide show
  1. package/dist/{AddToCartForm-LWSRJJSF.js → AddToCartForm-ROYGCSVX.js} +3 -3
  2. package/dist/{AddToCartForm-LWSRJJSF.js.map → AddToCartForm-ROYGCSVX.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-E2BONAKB.js → BlogAuthorPage-V4QPVVWU.js} +27 -27
  4. package/dist/{BlogAuthorPage-E2BONAKB.js.map → BlogAuthorPage-V4QPVVWU.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-F5G35XQE.js → BlogCategoryPage-BSM63G5Q.js} +27 -27
  6. package/dist/{BlogCategoryPage-F5G35XQE.js.map → BlogCategoryPage-BSM63G5Q.js.map} +1 -1
  7. package/dist/{BlogPage-W4NDWE5Q.js → BlogPage-4QXLITAA.js} +25 -25
  8. package/dist/{BlogPage-W4NDWE5Q.js.map → BlogPage-4QXLITAA.js.map} +1 -1
  9. package/dist/{BlogSinglePage-543VMKSI.js → BlogSinglePage-TRYJUPCB.js} +25 -25
  10. package/dist/{BlogSinglePage-543VMKSI.js.map → BlogSinglePage-TRYJUPCB.js.map} +1 -1
  11. package/dist/{BlogTagPage-KDQVHQ65.js → BlogTagPage-2JKCTBIU.js} +27 -27
  12. package/dist/{BlogTagPage-KDQVHQ65.js.map → BlogTagPage-2JKCTBIU.js.map} +1 -1
  13. package/dist/{BrandsPage-ABKUKE5J.js → BrandsPage-PGCDHGOI.js} +26 -26
  14. package/dist/{BrandsPage-ABKUKE5J.js.map → BrandsPage-PGCDHGOI.js.map} +1 -1
  15. package/dist/{Breadcrumb-WBTLVXYF.js → Breadcrumb-ACO63JUO.js} +25 -25
  16. package/dist/{Breadcrumb-WBTLVXYF.js.map → Breadcrumb-ACO63JUO.js.map} +1 -1
  17. package/dist/{CartItem-KNFR7K7Z.js → CartItem-TYWGDMRV.js} +25 -25
  18. package/dist/{CartItem-KNFR7K7Z.js.map → CartItem-TYWGDMRV.js.map} +1 -1
  19. package/dist/{CartSummary-EQ4GTR4Y.js → CartSummary-AKDPJ4OY.js} +25 -25
  20. package/dist/{CartSummary-EQ4GTR4Y.js.map → CartSummary-AKDPJ4OY.js.map} +1 -1
  21. package/dist/{Copyright-NYKF6LY5.js → Copyright-TOKRGLFM.js} +3 -3
  22. package/dist/{Copyright-NYKF6LY5.js.map → Copyright-TOKRGLFM.js.map} +1 -1
  23. package/dist/{CustomerLayout-NY4LOV3Y.js → CustomerLayout-WTD5QAR7.js} +25 -25
  24. package/dist/{CustomerLayout-NY4LOV3Y.js.map → CustomerLayout-WTD5QAR7.js.map} +1 -1
  25. package/dist/{Footer-DRKA2MI6.js → Footer-SSNPHJ2G.js} +4 -4
  26. package/dist/{Footer-DRKA2MI6.js.map → Footer-SSNPHJ2G.js.map} +1 -1
  27. package/dist/Header-W6XMMZIA.js +22 -0
  28. package/dist/{Header-JBZRD2WU.js.map → Header-W6XMMZIA.js.map} +1 -1
  29. package/dist/{LoyaltyPage-VOAUC2CY.js → LoyaltyPage-QJIAYRU4.js} +25 -25
  30. package/dist/{LoyaltyPage-VOAUC2CY.js.map → LoyaltyPage-QJIAYRU4.js.map} +1 -1
  31. package/dist/{LoyaltyPointsPage-I5U5NFK3.js → LoyaltyPointsPage-A4QHYJXF.js} +9 -9
  32. package/dist/{LoyaltyPointsPage-I5U5NFK3.js.map → LoyaltyPointsPage-A4QHYJXF.js.map} +1 -1
  33. package/dist/{MainMenu-SWP46RPJ.js → MainMenu-HBN4SWXP.js} +8 -8
  34. package/dist/{MainMenu-SWP46RPJ.js.map → MainMenu-HBN4SWXP.js.map} +1 -1
  35. package/dist/MaintenancePage-Z34IQCUV.js +7 -0
  36. package/dist/{MaintenancePage-MGWJYB2O.js.map → MaintenancePage-Z34IQCUV.js.map} +1 -1
  37. package/dist/{MasterLayout-BF2E47SE.js → MasterLayout-DTLAOTWI.js} +25 -25
  38. package/dist/{MasterLayout-BF2E47SE.js.map → MasterLayout-DTLAOTWI.js.map} +1 -1
  39. package/dist/{MobileMenu-LBOVOA6D.js → MobileMenu-ZC5D4KGJ.js} +26 -26
  40. package/dist/{MobileMenu-LBOVOA6D.js.map → MobileMenu-ZC5D4KGJ.js.map} +1 -1
  41. package/dist/{NotificationsPage-FNFKEOX3.js → NotificationsPage-TKJLPSGS.js} +25 -25
  42. package/dist/{NotificationsPage-FNFKEOX3.js.map → NotificationsPage-TKJLPSGS.js.map} +1 -1
  43. package/dist/{OrderSinglePage-EGCPZ25S.js → OrderSinglePage-GT2E2CZN.js} +26 -26
  44. package/dist/{OrderSinglePage-EGCPZ25S.js.map → OrderSinglePage-GT2E2CZN.js.map} +1 -1
  45. package/dist/{OrdersPage-DOK3AE37.js → OrdersPage-CBXEYWBH.js} +25 -25
  46. package/dist/{OrdersPage-DOK3AE37.js.map → OrdersPage-CBXEYWBH.js.map} +1 -1
  47. package/dist/{PageSingle-4NYB7VCI.js → PageSingle-K4W6RVAT.js} +7 -7
  48. package/dist/{PageSingle-4NYB7VCI.js.map → PageSingle-K4W6RVAT.js.map} +1 -1
  49. package/dist/{ProductDetails-EJ6WKSLO.js → ProductDetails-X2UNOW2P.js} +8 -8
  50. package/dist/{ProductDetails-EJ6WKSLO.js.map → ProductDetails-X2UNOW2P.js.map} +1 -1
  51. package/dist/{ProfilePage-RQJNJFAV.js → ProfilePage-3AHOU5XQ.js} +25 -25
  52. package/dist/{ProfilePage-RQJNJFAV.js.map → ProfilePage-3AHOU5XQ.js.map} +1 -1
  53. package/dist/{ReviewsPage-SSVTW76R.js → ReviewsPage-R6DODVH6.js} +3 -3
  54. package/dist/{ReviewsPage-SSVTW76R.js.map → ReviewsPage-R6DODVH6.js.map} +1 -1
  55. package/dist/{SeoCartWidget-I3T6MEYN.js → SeoCartWidget-NJK3YIPC.js} +25 -25
  56. package/dist/{SeoCartWidget-I3T6MEYN.js.map → SeoCartWidget-NJK3YIPC.js.map} +1 -1
  57. package/dist/{SettingsPage-F2PHWF6M.js → SettingsPage-6STAABBW.js} +25 -25
  58. package/dist/{SettingsPage-F2PHWF6M.js.map → SettingsPage-6STAABBW.js.map} +1 -1
  59. package/dist/StoreClosedNotification-LLXVKVC7.js +54 -0
  60. package/dist/{StoreClosedNotification-A55JL5ZF.js.map → StoreClosedNotification-LLXVKVC7.js.map} +1 -1
  61. package/dist/{TestimonialsPage-P3NQ4MD6.js → TestimonialsPage-SUBZSLPR.js} +7 -7
  62. package/dist/{TestimonialsPage-P3NQ4MD6.js.map → TestimonialsPage-SUBZSLPR.js.map} +1 -1
  63. package/dist/{ThankYouPage-NGQHYJV5.js → ThankYouPage-UA7EIVQ2.js} +25 -25
  64. package/dist/{ThankYouPage-NGQHYJV5.js.map → ThankYouPage-UA7EIVQ2.js.map} +1 -1
  65. package/dist/{WalletPage-QKMWV2NA.js → WalletPage-WSM62ZDH.js} +26 -26
  66. package/dist/{WalletPage-QKMWV2NA.js.map → WalletPage-WSM62ZDH.js.map} +1 -1
  67. package/dist/{WishlistPage-HOR22EBU.js → WishlistPage-XG3S4T5U.js} +27 -27
  68. package/dist/{WishlistPage-HOR22EBU.js.map → WishlistPage-XG3S4T5U.js.map} +1 -1
  69. package/dist/api/advertisement.js +5 -5
  70. package/dist/api/apps.js +5 -5
  71. package/dist/api/blog.js +7 -7
  72. package/dist/api/brands.js +7 -7
  73. package/dist/api/cart.js +7 -7
  74. package/dist/api/category.js +7 -7
  75. package/dist/api/client.js +4 -4
  76. package/dist/api/home.js +5 -5
  77. package/dist/api/loyalty.js +7 -7
  78. package/dist/api/menu.js +5 -5
  79. package/dist/api/notification.js +5 -5
  80. package/dist/api/order.js +7 -7
  81. package/dist/api/page.js +7 -7
  82. package/dist/api/product.js +7 -7
  83. package/dist/api/profile.js +4 -4
  84. package/dist/api/store.d.ts.map +1 -1
  85. package/dist/api/store.js +5 -5
  86. package/dist/api/translations.js +5 -5
  87. package/dist/api/user.js +5 -5
  88. package/dist/api/wallet.js +5 -5
  89. package/dist/api/wishlist.js +8 -8
  90. package/dist/{chunk-C5MQ6VWX.js → chunk-24UCMWQB.js} +3 -3
  91. package/dist/{chunk-C5MQ6VWX.js.map → chunk-24UCMWQB.js.map} +1 -1
  92. package/dist/{chunk-JP5XQJKO.js → chunk-2B74CKXM.js} +4 -4
  93. package/dist/{chunk-JP5XQJKO.js.map → chunk-2B74CKXM.js.map} +1 -1
  94. package/dist/{chunk-MSNU4NYS.js → chunk-2CL6AEO4.js} +3 -3
  95. package/dist/{chunk-MSNU4NYS.js.map → chunk-2CL6AEO4.js.map} +1 -1
  96. package/dist/{chunk-HGKAIIAJ.js → chunk-2IW3JRWL.js} +4 -4
  97. package/dist/{chunk-HGKAIIAJ.js.map → chunk-2IW3JRWL.js.map} +1 -1
  98. package/dist/{chunk-OWJMPD7X.js → chunk-3NFVZJNI.js} +3 -3
  99. package/dist/{chunk-OWJMPD7X.js.map → chunk-3NFVZJNI.js.map} +1 -1
  100. package/dist/{chunk-YSRKR5DE.js → chunk-4PT5MXGR.js} +4 -4
  101. package/dist/{chunk-YSRKR5DE.js.map → chunk-4PT5MXGR.js.map} +1 -1
  102. package/dist/{chunk-P7N3TZFE.js → chunk-6YI5J5ZN.js} +69 -24
  103. package/dist/chunk-6YI5J5ZN.js.map +1 -0
  104. package/dist/{chunk-QUBQPGT7.js → chunk-A4NN6C5B.js} +14 -4
  105. package/dist/chunk-A4NN6C5B.js.map +1 -0
  106. package/dist/{chunk-4O52OV5N.js → chunk-BEMWHR4T.js} +3 -3
  107. package/dist/{chunk-4O52OV5N.js.map → chunk-BEMWHR4T.js.map} +1 -1
  108. package/dist/chunk-BHGZ622P.js +14 -0
  109. package/dist/{chunk-TCTKM34I.js.map → chunk-BHGZ622P.js.map} +1 -1
  110. package/dist/{chunk-STKR2KHL.js → chunk-BQ2MNEN7.js} +3 -3
  111. package/dist/{chunk-STKR2KHL.js.map → chunk-BQ2MNEN7.js.map} +1 -1
  112. package/dist/{chunk-LPAWMUJR.js → chunk-BR56OEPZ.js} +4 -4
  113. package/dist/{chunk-LPAWMUJR.js.map → chunk-BR56OEPZ.js.map} +1 -1
  114. package/dist/{chunk-5DWTU5KS.js → chunk-D42M66E4.js} +46 -7
  115. package/dist/chunk-D42M66E4.js.map +1 -0
  116. package/dist/{chunk-U3UY2BDN.js → chunk-D7XWUD6T.js} +4 -4
  117. package/dist/{chunk-U3UY2BDN.js.map → chunk-D7XWUD6T.js.map} +1 -1
  118. package/dist/{chunk-S6SP272Z.js → chunk-EHX45KZG.js} +3 -3
  119. package/dist/{chunk-S6SP272Z.js.map → chunk-EHX45KZG.js.map} +1 -1
  120. package/dist/{chunk-ZE262XHY.js → chunk-ENC6POPF.js} +4 -4
  121. package/dist/{chunk-ZE262XHY.js.map → chunk-ENC6POPF.js.map} +1 -1
  122. package/dist/{chunk-HGY7P2Y3.js → chunk-F6XPGONG.js} +5 -5
  123. package/dist/{chunk-HGY7P2Y3.js.map → chunk-F6XPGONG.js.map} +1 -1
  124. package/dist/{chunk-SU7NHAYA.js → chunk-GXZW6BJY.js} +3 -3
  125. package/dist/{chunk-SU7NHAYA.js.map → chunk-GXZW6BJY.js.map} +1 -1
  126. package/dist/{chunk-3EBV4X6W.js → chunk-HNSR4KLL.js} +3 -3
  127. package/dist/{chunk-3EBV4X6W.js.map → chunk-HNSR4KLL.js.map} +1 -1
  128. package/dist/{chunk-BHNY4T4O.js → chunk-IQA2UPXP.js} +8 -8
  129. package/dist/{chunk-BHNY4T4O.js.map → chunk-IQA2UPXP.js.map} +1 -1
  130. package/dist/{chunk-HG4B4F4N.js → chunk-JNAJTCJD.js} +8 -2
  131. package/dist/chunk-JNAJTCJD.js.map +1 -0
  132. package/dist/{chunk-YMHL73TL.js → chunk-KLYTTMXN.js} +6 -6
  133. package/dist/{chunk-YMHL73TL.js.map → chunk-KLYTTMXN.js.map} +1 -1
  134. package/dist/{chunk-VEA7QDNY.js → chunk-KSS7OA3Q.js} +3 -3
  135. package/dist/{chunk-VEA7QDNY.js.map → chunk-KSS7OA3Q.js.map} +1 -1
  136. package/dist/{chunk-TYTYD6AK.js → chunk-L26XGP65.js} +3 -3
  137. package/dist/{chunk-TYTYD6AK.js.map → chunk-L26XGP65.js.map} +1 -1
  138. package/dist/{chunk-QXX54X55.js → chunk-L4JI2AAL.js} +4 -4
  139. package/dist/{chunk-QXX54X55.js.map → chunk-L4JI2AAL.js.map} +1 -1
  140. package/dist/{chunk-XD33WKKI.js → chunk-LUFLN7WL.js} +7 -7
  141. package/dist/{chunk-XD33WKKI.js.map → chunk-LUFLN7WL.js.map} +1 -1
  142. package/dist/{chunk-MHDOK7GH.js → chunk-NZBBYJID.js} +4 -4
  143. package/dist/{chunk-MHDOK7GH.js.map → chunk-NZBBYJID.js.map} +1 -1
  144. package/dist/{chunk-RSWRKU4X.js → chunk-OHUTM224.js} +4 -4
  145. package/dist/{chunk-RSWRKU4X.js.map → chunk-OHUTM224.js.map} +1 -1
  146. package/dist/{chunk-76GCBYJX.js → chunk-OSSOU36J.js} +3 -3
  147. package/dist/{chunk-76GCBYJX.js.map → chunk-OSSOU36J.js.map} +1 -1
  148. package/dist/{chunk-5L6IBYWZ.js → chunk-QA4FBMFJ.js} +4 -4
  149. package/dist/{chunk-5L6IBYWZ.js.map → chunk-QA4FBMFJ.js.map} +1 -1
  150. package/dist/{chunk-42RKFHJG.js → chunk-QBIPTWOR.js} +15 -15
  151. package/dist/{chunk-42RKFHJG.js.map → chunk-QBIPTWOR.js.map} +1 -1
  152. package/dist/{chunk-2IS4QU3P.js → chunk-RA6ZTHN6.js} +4 -4
  153. package/dist/{chunk-2IS4QU3P.js.map → chunk-RA6ZTHN6.js.map} +1 -1
  154. package/dist/{chunk-25SLMOCZ.js → chunk-RBFLDI2Z.js} +4 -4
  155. package/dist/{chunk-25SLMOCZ.js.map → chunk-RBFLDI2Z.js.map} +1 -1
  156. package/dist/{chunk-CTV5GA2U.js → chunk-SCRNQWZT.js} +4 -4
  157. package/dist/{chunk-CTV5GA2U.js.map → chunk-SCRNQWZT.js.map} +1 -1
  158. package/dist/{chunk-VJQ7SM4O.js → chunk-SQXUWX4B.js} +5 -5
  159. package/dist/{chunk-VJQ7SM4O.js.map → chunk-SQXUWX4B.js.map} +1 -1
  160. package/dist/{chunk-D6IJYZ7U.js → chunk-SZ65XCSZ.js} +7 -7
  161. package/dist/{chunk-D6IJYZ7U.js.map → chunk-SZ65XCSZ.js.map} +1 -1
  162. package/dist/{chunk-PSBXF3O5.js → chunk-T5VU67NQ.js} +4 -4
  163. package/dist/{chunk-PSBXF3O5.js.map → chunk-T5VU67NQ.js.map} +1 -1
  164. package/dist/{chunk-YXCJBX6X.js → chunk-TO6CJI2H.js} +8 -8
  165. package/dist/{chunk-YXCJBX6X.js.map → chunk-TO6CJI2H.js.map} +1 -1
  166. package/dist/{chunk-42YMCOK4.js → chunk-TWUOIBO7.js} +3 -3
  167. package/dist/{chunk-42YMCOK4.js.map → chunk-TWUOIBO7.js.map} +1 -1
  168. package/dist/{chunk-FQHNVD3H.js → chunk-U6KJ7XBO.js} +3 -3
  169. package/dist/{chunk-FQHNVD3H.js.map → chunk-U6KJ7XBO.js.map} +1 -1
  170. package/dist/{chunk-SDEBSX6Z.js → chunk-UKLYL5LM.js} +4 -4
  171. package/dist/{chunk-SDEBSX6Z.js.map → chunk-UKLYL5LM.js.map} +1 -1
  172. package/dist/{chunk-V7QFIGQ4.js → chunk-UWDUMPL7.js} +6 -6
  173. package/dist/{chunk-V7QFIGQ4.js.map → chunk-UWDUMPL7.js.map} +1 -1
  174. package/dist/{chunk-TWD4ECS3.js → chunk-UZGP2KFA.js} +3 -3
  175. package/dist/{chunk-TWD4ECS3.js.map → chunk-UZGP2KFA.js.map} +1 -1
  176. package/dist/{chunk-6SXIAFXW.js → chunk-VCSFCUFT.js} +7 -7
  177. package/dist/{chunk-6SXIAFXW.js.map → chunk-VCSFCUFT.js.map} +1 -1
  178. package/dist/{chunk-UWDS42UX.js → chunk-VUWBGAET.js} +4 -4
  179. package/dist/{chunk-UWDS42UX.js.map → chunk-VUWBGAET.js.map} +1 -1
  180. package/dist/{chunk-D2VMJV3L.js → chunk-W354TTIE.js} +6 -6
  181. package/dist/{chunk-D2VMJV3L.js.map → chunk-W354TTIE.js.map} +1 -1
  182. package/dist/{chunk-3PSJH6Q4.js → chunk-XL42DUCQ.js} +5 -5
  183. package/dist/chunk-XL42DUCQ.js.map +1 -0
  184. package/dist/{chunk-LBBPJM4K.js → chunk-Y464WYUT.js} +5 -5
  185. package/dist/{chunk-LBBPJM4K.js.map → chunk-Y464WYUT.js.map} +1 -1
  186. package/dist/{chunk-PLW6MTSL.js → chunk-YCHSWHTJ.js} +8 -8
  187. package/dist/{chunk-PLW6MTSL.js.map → chunk-YCHSWHTJ.js.map} +1 -1
  188. package/dist/{chunk-KTLQV4Q4.js → chunk-YDSWLCOY.js} +5 -5
  189. package/dist/{chunk-KTLQV4Q4.js.map → chunk-YDSWLCOY.js.map} +1 -1
  190. package/dist/{chunk-PXM3FBPO.js → chunk-ZI5XWXWG.js} +3 -3
  191. package/dist/{chunk-PXM3FBPO.js.map → chunk-ZI5XWXWG.js.map} +1 -1
  192. package/dist/{chunk-DMMGD4GW.js → chunk-ZVYJK6XQ.js} +5 -5
  193. package/dist/{chunk-DMMGD4GW.js.map → chunk-ZVYJK6XQ.js.map} +1 -1
  194. package/dist/components/cart/index.js +1 -1
  195. package/dist/components/common/index.js +1 -1
  196. package/dist/components/drawer/index.js +23 -23
  197. package/dist/components/home/index.js +27 -27
  198. package/dist/components/layout/index.js +7 -7
  199. package/dist/components/product/index.js +24 -24
  200. package/dist/components/store/MaintenanceDevBar.d.ts +9 -0
  201. package/dist/components/store/MaintenanceDevBar.d.ts.map +1 -0
  202. package/dist/components/store/MaintenancePage.d.ts.map +1 -1
  203. package/dist/components/store/index.js +25 -25
  204. package/dist/components/toast/index.js +5 -5
  205. package/dist/dev/editor/index.js +3 -3
  206. package/dist/dev/index.js +3 -3
  207. package/dist/document-class-O2LUUQTZ.js +29 -0
  208. package/dist/{document-class-AQ7FGLPE.js.map → document-class-O2LUUQTZ.js.map} +1 -1
  209. package/dist/hooks/index.js +23 -23
  210. package/dist/hooks/useComments.js +4 -4
  211. package/dist/hooks/useGtm.js +23 -23
  212. package/dist/hooks/useMoney.js +23 -23
  213. package/dist/hooks/useProduct.js +4 -4
  214. package/dist/hooks/useStore.js +23 -23
  215. package/dist/hooks/useUser.js +6 -6
  216. package/dist/hooks/useWishlist.js +4 -4
  217. package/dist/index.js +23 -23
  218. package/dist/native-app/index.d.ts +8 -0
  219. package/dist/native-app/index.d.ts.map +1 -1
  220. package/dist/native-app/index.js +4 -4
  221. package/dist/{navigation-6MDIVFMB.js → navigation-LSRNHKGJ.js} +8 -8
  222. package/dist/{navigation-6MDIVFMB.js.map → navigation-LSRNHKGJ.js.map} +1 -1
  223. package/dist/navigation-WASYQTFC.js +14 -0
  224. package/dist/{navigation-P3RDLBP7.js.map → navigation-WASYQTFC.js.map} +1 -1
  225. package/dist/{not-found-RBWKACRW.js → not-found-WFK6JU2O.js} +26 -26
  226. package/dist/{not-found-RBWKACRW.js.map → not-found-WFK6JU2O.js.map} +1 -1
  227. package/dist/providers/TwilightProvider.d.ts.map +1 -1
  228. package/dist/providers/index.js +23 -23
  229. package/dist/routes/account/orders.js +8 -8
  230. package/dist/routes/account.js +17 -17
  231. package/dist/routes/blog.js +12 -12
  232. package/dist/routes/brands.js +8 -8
  233. package/dist/routes/cart.js +31 -31
  234. package/dist/routes/home.js +28 -28
  235. package/dist/routes/index.js +7 -7
  236. package/dist/routes/loyalty.js +9 -9
  237. package/dist/routes/page.js +8 -8
  238. package/dist/routes/product-listing.js +29 -29
  239. package/dist/routes/product.js +27 -27
  240. package/dist/routes/seo-redirects.js +7 -7
  241. package/dist/routes/testimonials.js +3 -3
  242. package/dist/routes/thank-you.js +8 -8
  243. package/dist/skeleton.js +28 -28
  244. package/dist/{store-lookup-7SAEE4L3.js → store-lookup-EW6ALPQF.js} +12 -12
  245. package/dist/{store-lookup-7SAEE4L3.js.map → store-lookup-EW6ALPQF.js.map} +1 -1
  246. package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
  247. package/dist/tanstack.js +31 -21
  248. package/dist/tanstack.js.map +1 -1
  249. package/dist/twilight/context.d.ts +2 -0
  250. package/dist/twilight/context.d.ts.map +1 -1
  251. package/dist/types/index.d.ts +1 -1
  252. package/dist/types/index.d.ts.map +1 -1
  253. package/dist/utils/index.js +6 -6
  254. package/dist/utils/native-app-headers.d.ts +12 -0
  255. package/dist/utils/native-app-headers.d.ts.map +1 -0
  256. package/dist/vite/index.js +3 -3
  257. package/package.json +1 -1
  258. package/tailwind/components/store/MaintenanceDevBar.tsx.txt +57 -0
  259. package/tailwind/components/store/MaintenancePage.tsx.txt +7 -2
  260. package/dist/Header-JBZRD2WU.js +0 -22
  261. package/dist/MaintenancePage-MGWJYB2O.js +0 -7
  262. package/dist/StoreClosedNotification-A55JL5ZF.js +0 -54
  263. package/dist/chunk-3PSJH6Q4.js.map +0 -1
  264. package/dist/chunk-5DWTU5KS.js.map +0 -1
  265. package/dist/chunk-HG4B4F4N.js.map +0 -1
  266. package/dist/chunk-P7N3TZFE.js.map +0 -1
  267. package/dist/chunk-QUBQPGT7.js.map +0 -1
  268. package/dist/chunk-TCTKM34I.js +0 -14
  269. package/dist/document-class-AQ7FGLPE.js +0 -29
  270. package/dist/navigation-P3RDLBP7.js +0 -14
@@ -1,39 +1,39 @@
1
- export { useGtm } from '../chunk-P7N3TZFE.js';
2
- import '../chunk-D6IJYZ7U.js';
3
- import '../chunk-PXM3FBPO.js';
4
- import '../chunk-D2VMJV3L.js';
5
- import '../chunk-S6SP272Z.js';
6
- import '../chunk-LPAWMUJR.js';
1
+ export { useGtm } from '../chunk-6YI5J5ZN.js';
2
+ import '../chunk-SZ65XCSZ.js';
3
+ import '../chunk-ZI5XWXWG.js';
4
+ import '../chunk-W354TTIE.js';
5
+ import '../chunk-EHX45KZG.js';
6
+ import '../chunk-BR56OEPZ.js';
7
7
  import '../chunk-OXMUPNMH.js';
8
- import '../chunk-TWD4ECS3.js';
8
+ import '../chunk-UZGP2KFA.js';
9
9
  import '../chunk-VVZNW5CB.js';
10
- import '../chunk-FQHNVD3H.js';
10
+ import '../chunk-U6KJ7XBO.js';
11
11
  import '../chunk-GD26FI4J.js';
12
12
  import '../chunk-4SZZPXM2.js';
13
- import '../chunk-V7QFIGQ4.js';
13
+ import '../chunk-UWDUMPL7.js';
14
14
  import '../chunk-OUW6WESU.js';
15
- import '../chunk-VEA7QDNY.js';
15
+ import '../chunk-KSS7OA3Q.js';
16
16
  import '../chunk-HI5V5X3S.js';
17
- import '../chunk-25SLMOCZ.js';
18
- import '../chunk-C5MQ6VWX.js';
17
+ import '../chunk-RBFLDI2Z.js';
18
+ import '../chunk-24UCMWQB.js';
19
19
  import '../chunk-MVT5AF2A.js';
20
20
  import '../chunk-Z653O7MX.js';
21
21
  import '../chunk-ZCH7W7DZ.js';
22
- import '../chunk-4O52OV5N.js';
22
+ import '../chunk-BEMWHR4T.js';
23
23
  import '../chunk-JWXJPJBO.js';
24
24
  import '../chunk-CW625T2E.js';
25
25
  import '../chunk-7V36I5GT.js';
26
26
  import '../chunk-6WI7R2BD.js';
27
- import '../chunk-3EBV4X6W.js';
27
+ import '../chunk-HNSR4KLL.js';
28
28
  import '../chunk-OAMIDZKW.js';
29
- import '../chunk-DMMGD4GW.js';
29
+ import '../chunk-ZVYJK6XQ.js';
30
30
  import '../chunk-V2ZDTY6H.js';
31
- import '../chunk-YSRKR5DE.js';
31
+ import '../chunk-4PT5MXGR.js';
32
32
  import '../chunk-5XDPAKF5.js';
33
33
  import '../chunk-GCPEMNSU.js';
34
- import '../chunk-KTLQV4Q4.js';
34
+ import '../chunk-YDSWLCOY.js';
35
35
  import '../chunk-TYNZ5B2B.js';
36
- import '../chunk-TYTYD6AK.js';
36
+ import '../chunk-L26XGP65.js';
37
37
  import '../chunk-AXW67SY7.js';
38
38
  import '../chunk-BYMOPN2S.js';
39
39
  import '../chunk-SKLEJJ6M.js';
@@ -41,11 +41,11 @@ import '../chunk-6BZ5TKEV.js';
41
41
  import '../chunk-FZKRSGLP.js';
42
42
  import '../chunk-7V5HOZW4.js';
43
43
  import '../chunk-YA6ABQB7.js';
44
- import '../chunk-76GCBYJX.js';
45
- import '../chunk-QUBQPGT7.js';
46
- import '../chunk-OWJMPD7X.js';
47
- import '../chunk-SU7NHAYA.js';
48
- import '../chunk-HG4B4F4N.js';
44
+ import '../chunk-OSSOU36J.js';
45
+ import '../chunk-A4NN6C5B.js';
46
+ import '../chunk-3NFVZJNI.js';
47
+ import '../chunk-GXZW6BJY.js';
48
+ import '../chunk-JNAJTCJD.js';
49
49
  import '../chunk-T72DAX7R.js';
50
50
  import '../chunk-DF6FBKDN.js';
51
51
  import '../chunk-DGUM43GV.js';
@@ -1,39 +1,39 @@
1
- export { useMoney } from '../chunk-P7N3TZFE.js';
2
- import '../chunk-D6IJYZ7U.js';
3
- import '../chunk-PXM3FBPO.js';
4
- import '../chunk-D2VMJV3L.js';
5
- import '../chunk-S6SP272Z.js';
6
- import '../chunk-LPAWMUJR.js';
1
+ export { useMoney } from '../chunk-6YI5J5ZN.js';
2
+ import '../chunk-SZ65XCSZ.js';
3
+ import '../chunk-ZI5XWXWG.js';
4
+ import '../chunk-W354TTIE.js';
5
+ import '../chunk-EHX45KZG.js';
6
+ import '../chunk-BR56OEPZ.js';
7
7
  import '../chunk-OXMUPNMH.js';
8
- import '../chunk-TWD4ECS3.js';
8
+ import '../chunk-UZGP2KFA.js';
9
9
  import '../chunk-VVZNW5CB.js';
10
- import '../chunk-FQHNVD3H.js';
10
+ import '../chunk-U6KJ7XBO.js';
11
11
  import '../chunk-GD26FI4J.js';
12
12
  import '../chunk-4SZZPXM2.js';
13
- import '../chunk-V7QFIGQ4.js';
13
+ import '../chunk-UWDUMPL7.js';
14
14
  import '../chunk-OUW6WESU.js';
15
- import '../chunk-VEA7QDNY.js';
15
+ import '../chunk-KSS7OA3Q.js';
16
16
  import '../chunk-HI5V5X3S.js';
17
- import '../chunk-25SLMOCZ.js';
18
- import '../chunk-C5MQ6VWX.js';
17
+ import '../chunk-RBFLDI2Z.js';
18
+ import '../chunk-24UCMWQB.js';
19
19
  import '../chunk-MVT5AF2A.js';
20
20
  import '../chunk-Z653O7MX.js';
21
21
  import '../chunk-ZCH7W7DZ.js';
22
- import '../chunk-4O52OV5N.js';
22
+ import '../chunk-BEMWHR4T.js';
23
23
  import '../chunk-JWXJPJBO.js';
24
24
  import '../chunk-CW625T2E.js';
25
25
  import '../chunk-7V36I5GT.js';
26
26
  import '../chunk-6WI7R2BD.js';
27
- import '../chunk-3EBV4X6W.js';
27
+ import '../chunk-HNSR4KLL.js';
28
28
  import '../chunk-OAMIDZKW.js';
29
- import '../chunk-DMMGD4GW.js';
29
+ import '../chunk-ZVYJK6XQ.js';
30
30
  import '../chunk-V2ZDTY6H.js';
31
- import '../chunk-YSRKR5DE.js';
31
+ import '../chunk-4PT5MXGR.js';
32
32
  import '../chunk-5XDPAKF5.js';
33
33
  import '../chunk-GCPEMNSU.js';
34
- import '../chunk-KTLQV4Q4.js';
34
+ import '../chunk-YDSWLCOY.js';
35
35
  import '../chunk-TYNZ5B2B.js';
36
- import '../chunk-TYTYD6AK.js';
36
+ import '../chunk-L26XGP65.js';
37
37
  import '../chunk-AXW67SY7.js';
38
38
  import '../chunk-BYMOPN2S.js';
39
39
  import '../chunk-SKLEJJ6M.js';
@@ -41,11 +41,11 @@ import '../chunk-6BZ5TKEV.js';
41
41
  import '../chunk-FZKRSGLP.js';
42
42
  import '../chunk-7V5HOZW4.js';
43
43
  import '../chunk-YA6ABQB7.js';
44
- import '../chunk-76GCBYJX.js';
45
- import '../chunk-QUBQPGT7.js';
46
- import '../chunk-OWJMPD7X.js';
47
- import '../chunk-SU7NHAYA.js';
48
- import '../chunk-HG4B4F4N.js';
44
+ import '../chunk-OSSOU36J.js';
45
+ import '../chunk-A4NN6C5B.js';
46
+ import '../chunk-3NFVZJNI.js';
47
+ import '../chunk-GXZW6BJY.js';
48
+ import '../chunk-JNAJTCJD.js';
49
49
  import '../chunk-T72DAX7R.js';
50
50
  import '../chunk-DF6FBKDN.js';
51
51
  import '../chunk-DGUM43GV.js';
@@ -1,7 +1,7 @@
1
- export { useProduct } from '../chunk-4O52OV5N.js';
2
- import '../chunk-OWJMPD7X.js';
3
- import '../chunk-SU7NHAYA.js';
4
- import '../chunk-HG4B4F4N.js';
1
+ export { useProduct } from '../chunk-BEMWHR4T.js';
2
+ import '../chunk-3NFVZJNI.js';
3
+ import '../chunk-GXZW6BJY.js';
4
+ import '../chunk-JNAJTCJD.js';
5
5
  import '../chunk-T72DAX7R.js';
6
6
  import '../chunk-DGUM43GV.js';
7
7
  //# sourceMappingURL=useProduct.js.map
@@ -1,39 +1,39 @@
1
- export { useStore } from '../chunk-P7N3TZFE.js';
2
- import '../chunk-D6IJYZ7U.js';
3
- import '../chunk-PXM3FBPO.js';
4
- import '../chunk-D2VMJV3L.js';
5
- import '../chunk-S6SP272Z.js';
6
- import '../chunk-LPAWMUJR.js';
1
+ export { useStore } from '../chunk-6YI5J5ZN.js';
2
+ import '../chunk-SZ65XCSZ.js';
3
+ import '../chunk-ZI5XWXWG.js';
4
+ import '../chunk-W354TTIE.js';
5
+ import '../chunk-EHX45KZG.js';
6
+ import '../chunk-BR56OEPZ.js';
7
7
  import '../chunk-OXMUPNMH.js';
8
- import '../chunk-TWD4ECS3.js';
8
+ import '../chunk-UZGP2KFA.js';
9
9
  import '../chunk-VVZNW5CB.js';
10
- import '../chunk-FQHNVD3H.js';
10
+ import '../chunk-U6KJ7XBO.js';
11
11
  import '../chunk-GD26FI4J.js';
12
12
  import '../chunk-4SZZPXM2.js';
13
- import '../chunk-V7QFIGQ4.js';
13
+ import '../chunk-UWDUMPL7.js';
14
14
  import '../chunk-OUW6WESU.js';
15
- import '../chunk-VEA7QDNY.js';
15
+ import '../chunk-KSS7OA3Q.js';
16
16
  import '../chunk-HI5V5X3S.js';
17
- import '../chunk-25SLMOCZ.js';
18
- import '../chunk-C5MQ6VWX.js';
17
+ import '../chunk-RBFLDI2Z.js';
18
+ import '../chunk-24UCMWQB.js';
19
19
  import '../chunk-MVT5AF2A.js';
20
20
  import '../chunk-Z653O7MX.js';
21
21
  import '../chunk-ZCH7W7DZ.js';
22
- import '../chunk-4O52OV5N.js';
22
+ import '../chunk-BEMWHR4T.js';
23
23
  import '../chunk-JWXJPJBO.js';
24
24
  import '../chunk-CW625T2E.js';
25
25
  import '../chunk-7V36I5GT.js';
26
26
  import '../chunk-6WI7R2BD.js';
27
- import '../chunk-3EBV4X6W.js';
27
+ import '../chunk-HNSR4KLL.js';
28
28
  import '../chunk-OAMIDZKW.js';
29
- import '../chunk-DMMGD4GW.js';
29
+ import '../chunk-ZVYJK6XQ.js';
30
30
  import '../chunk-V2ZDTY6H.js';
31
- import '../chunk-YSRKR5DE.js';
31
+ import '../chunk-4PT5MXGR.js';
32
32
  import '../chunk-5XDPAKF5.js';
33
33
  import '../chunk-GCPEMNSU.js';
34
- import '../chunk-KTLQV4Q4.js';
34
+ import '../chunk-YDSWLCOY.js';
35
35
  import '../chunk-TYNZ5B2B.js';
36
- import '../chunk-TYTYD6AK.js';
36
+ import '../chunk-L26XGP65.js';
37
37
  import '../chunk-AXW67SY7.js';
38
38
  import '../chunk-BYMOPN2S.js';
39
39
  import '../chunk-SKLEJJ6M.js';
@@ -41,11 +41,11 @@ import '../chunk-6BZ5TKEV.js';
41
41
  import '../chunk-FZKRSGLP.js';
42
42
  import '../chunk-7V5HOZW4.js';
43
43
  import '../chunk-YA6ABQB7.js';
44
- import '../chunk-76GCBYJX.js';
45
- import '../chunk-QUBQPGT7.js';
46
- import '../chunk-OWJMPD7X.js';
47
- import '../chunk-SU7NHAYA.js';
48
- import '../chunk-HG4B4F4N.js';
44
+ import '../chunk-OSSOU36J.js';
45
+ import '../chunk-A4NN6C5B.js';
46
+ import '../chunk-3NFVZJNI.js';
47
+ import '../chunk-GXZW6BJY.js';
48
+ import '../chunk-JNAJTCJD.js';
49
49
  import '../chunk-T72DAX7R.js';
50
50
  import '../chunk-DF6FBKDN.js';
51
51
  import '../chunk-DGUM43GV.js';
@@ -1,9 +1,9 @@
1
- export { useUser } from '../chunk-25SLMOCZ.js';
2
- import '../chunk-C5MQ6VWX.js';
3
- import '../chunk-KTLQV4Q4.js';
4
- import '../chunk-OWJMPD7X.js';
5
- import '../chunk-SU7NHAYA.js';
6
- import '../chunk-HG4B4F4N.js';
1
+ export { useUser } from '../chunk-RBFLDI2Z.js';
2
+ import '../chunk-24UCMWQB.js';
3
+ import '../chunk-YDSWLCOY.js';
4
+ import '../chunk-3NFVZJNI.js';
5
+ import '../chunk-GXZW6BJY.js';
6
+ import '../chunk-JNAJTCJD.js';
7
7
  import '../chunk-T72DAX7R.js';
8
8
  import '../chunk-DGUM43GV.js';
9
9
  //# sourceMappingURL=useUser.js.map
@@ -1,9 +1,9 @@
1
- export { resetWishlistStore, useWishlist } from '../chunk-3EBV4X6W.js';
1
+ export { resetWishlistStore, useWishlist } from '../chunk-HNSR4KLL.js';
2
2
  import '../chunk-TYNZ5B2B.js';
3
3
  import '../chunk-6BZ5TKEV.js';
4
- import '../chunk-OWJMPD7X.js';
5
- import '../chunk-SU7NHAYA.js';
6
- import '../chunk-HG4B4F4N.js';
4
+ import '../chunk-3NFVZJNI.js';
5
+ import '../chunk-GXZW6BJY.js';
6
+ import '../chunk-JNAJTCJD.js';
7
7
  import '../chunk-T72DAX7R.js';
8
8
  import '../chunk-DGUM43GV.js';
9
9
  //# sourceMappingURL=useWishlist.js.map
package/dist/index.js CHANGED
@@ -1,41 +1,41 @@
1
1
  import { registry } from './chunk-Y32RHCOH.js';
2
2
  export { ComponentRegistry, registry } from './chunk-Y32RHCOH.js';
3
- export { TwilightProvider } from './chunk-P7N3TZFE.js';
4
- import './chunk-D6IJYZ7U.js';
5
- import './chunk-PXM3FBPO.js';
6
- import './chunk-D2VMJV3L.js';
7
- import './chunk-S6SP272Z.js';
8
- import './chunk-LPAWMUJR.js';
3
+ export { TwilightProvider } from './chunk-6YI5J5ZN.js';
4
+ import './chunk-SZ65XCSZ.js';
5
+ import './chunk-ZI5XWXWG.js';
6
+ import './chunk-W354TTIE.js';
7
+ import './chunk-EHX45KZG.js';
8
+ import './chunk-BR56OEPZ.js';
9
9
  import './chunk-OXMUPNMH.js';
10
- import './chunk-TWD4ECS3.js';
10
+ import './chunk-UZGP2KFA.js';
11
11
  import './chunk-VVZNW5CB.js';
12
- import './chunk-FQHNVD3H.js';
12
+ import './chunk-U6KJ7XBO.js';
13
13
  import './chunk-GD26FI4J.js';
14
14
  import './chunk-4SZZPXM2.js';
15
- export { useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useRouteId } from './chunk-V7QFIGQ4.js';
15
+ export { useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useRouteId } from './chunk-UWDUMPL7.js';
16
16
  export { RouteId } from './chunk-OUW6WESU.js';
17
- import './chunk-VEA7QDNY.js';
17
+ import './chunk-KSS7OA3Q.js';
18
18
  import './chunk-HI5V5X3S.js';
19
- import './chunk-25SLMOCZ.js';
20
- import './chunk-C5MQ6VWX.js';
19
+ import './chunk-RBFLDI2Z.js';
20
+ import './chunk-24UCMWQB.js';
21
21
  export { HookName } from './chunk-MVT5AF2A.js';
22
22
  import './chunk-Z653O7MX.js';
23
23
  import './chunk-ZCH7W7DZ.js';
24
- import './chunk-4O52OV5N.js';
24
+ import './chunk-BEMWHR4T.js';
25
25
  import './chunk-JWXJPJBO.js';
26
26
  import './chunk-CW625T2E.js';
27
27
  import './chunk-7V36I5GT.js';
28
28
  import './chunk-6WI7R2BD.js';
29
- import './chunk-3EBV4X6W.js';
29
+ import './chunk-HNSR4KLL.js';
30
30
  import './chunk-OAMIDZKW.js';
31
- import './chunk-DMMGD4GW.js';
31
+ import './chunk-ZVYJK6XQ.js';
32
32
  import './chunk-V2ZDTY6H.js';
33
- import './chunk-YSRKR5DE.js';
33
+ import './chunk-4PT5MXGR.js';
34
34
  import './chunk-5XDPAKF5.js';
35
35
  import './chunk-GCPEMNSU.js';
36
- import './chunk-KTLQV4Q4.js';
36
+ import './chunk-YDSWLCOY.js';
37
37
  import './chunk-TYNZ5B2B.js';
38
- import './chunk-TYTYD6AK.js';
38
+ import './chunk-L26XGP65.js';
39
39
  import './chunk-AXW67SY7.js';
40
40
  import './chunk-BYMOPN2S.js';
41
41
  import './chunk-SKLEJJ6M.js';
@@ -43,11 +43,11 @@ import './chunk-6BZ5TKEV.js';
43
43
  import './chunk-FZKRSGLP.js';
44
44
  import './chunk-7V5HOZW4.js';
45
45
  import './chunk-YA6ABQB7.js';
46
- import './chunk-76GCBYJX.js';
47
- import './chunk-QUBQPGT7.js';
48
- import './chunk-OWJMPD7X.js';
49
- import './chunk-SU7NHAYA.js';
50
- export { SettingsError } from './chunk-HG4B4F4N.js';
46
+ import './chunk-OSSOU36J.js';
47
+ import './chunk-A4NN6C5B.js';
48
+ import './chunk-3NFVZJNI.js';
49
+ import './chunk-GXZW6BJY.js';
50
+ export { SettingsError } from './chunk-JNAJTCJD.js';
51
51
  import './chunk-T72DAX7R.js';
52
52
  export { useTwilight } from './chunk-DF6FBKDN.js';
53
53
  import './chunk-DGUM43GV.js';
@@ -11,6 +11,14 @@ export declare function isNativeApp(): boolean;
11
11
  * itself through its config has not said so before `init`.
12
12
  */
13
13
  export declare function useIsNativeApp(): boolean;
14
+ /**
15
+ * The native app's release (`5.4.19`), the `s-app-version` it loaded the page with, or null
16
+ * outside the app. The SDK keeps it in its analytics context, where it also learns that this
17
+ * is the app. Read at call time like {@link isNativeApp}; render with {@link useNativeAppVersion}.
18
+ */
19
+ export declare function nativeAppVersion(): string | null;
20
+ /** {@link nativeAppVersion} as state: null on the server and until the SDK is ready in the app. */
21
+ export declare function useNativeAppVersion(): string | null;
14
22
  /** The native app's own pickers that replace the store's web modals. */
15
23
  export type NativeSheet = 'language' | 'currency';
16
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native-app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAG9D;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAEvD;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CAW/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native-app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAG9D;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAIhD;AAQD,mGAAmG;AACnG,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAMnD;AAED,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAEvD;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CAW/E"}
@@ -1,7 +1,7 @@
1
- export { hapticImpact, isNativeApp, openNativeBrowser, openNativeSheet, useIsNativeApp, useNativeStatusBarColor } from '../chunk-QUBQPGT7.js';
2
- import '../chunk-OWJMPD7X.js';
3
- import '../chunk-SU7NHAYA.js';
4
- import '../chunk-HG4B4F4N.js';
1
+ export { hapticImpact, isNativeApp, nativeAppVersion, openNativeBrowser, openNativeSheet, useIsNativeApp, useNativeAppVersion, useNativeStatusBarColor } from '../chunk-A4NN6C5B.js';
2
+ import '../chunk-3NFVZJNI.js';
3
+ import '../chunk-GXZW6BJY.js';
4
+ import '../chunk-JNAJTCJD.js';
5
5
  import '../chunk-T72DAX7R.js';
6
6
  import '../chunk-DGUM43GV.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,12 @@
1
1
  import { NextJsLinkAdapter } from './chunk-HTGBIA7K.js';
2
- import { NavigationProvider, defaultNavigate } from './chunk-V7QFIGQ4.js';
2
+ import { NavigationProvider, defaultNavigate } from './chunk-UWDUMPL7.js';
3
3
  import './chunk-OUW6WESU.js';
4
- import './chunk-KTLQV4Q4.js';
4
+ import './chunk-YDSWLCOY.js';
5
5
  import { LinkProvider } from './chunk-BYMOPN2S.js';
6
- import './chunk-QUBQPGT7.js';
7
- import './chunk-OWJMPD7X.js';
8
- import './chunk-SU7NHAYA.js';
9
- import './chunk-HG4B4F4N.js';
6
+ import './chunk-A4NN6C5B.js';
7
+ import './chunk-3NFVZJNI.js';
8
+ import './chunk-GXZW6BJY.js';
9
+ import './chunk-JNAJTCJD.js';
10
10
  import './chunk-T72DAX7R.js';
11
11
  import './chunk-DF6FBKDN.js';
12
12
  import './chunk-DGUM43GV.js';
@@ -17,5 +17,5 @@ function NavigationSetup({ children }) {
17
17
  }
18
18
 
19
19
  export { NavigationSetup };
20
- //# sourceMappingURL=navigation-6MDIVFMB.js.map
21
- //# sourceMappingURL=navigation-6MDIVFMB.js.map
20
+ //# sourceMappingURL=navigation-LSRNHKGJ.js.map
21
+ //# sourceMappingURL=navigation-LSRNHKGJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/nextjs/navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAA4B;AACrE,EAAA,uBACE,GAAA,CAAC,sBAAmB,QAAA,EAAU,eAAA,EAC5B,8BAAC,YAAA,EAAA,EAAa,OAAA,EAAS,iBAAA,EAAoB,QAAA,EAAS,CAAA,EACtD,CAAA;AAEJ","file":"navigation-6MDIVFMB.js","sourcesContent":["import { NavigationProvider, defaultNavigate } from '../providers/NavigationProvider';\nimport { LinkProvider } from '../providers/LinkProvider';\nimport { NextJsLinkAdapter } from './link';\nimport type { ReactNode } from 'react';\n\n/**\n * Next.js navigation setup - wraps children with NavigationProvider and LinkProvider.\n * Called by TwilightProvider when client.framework === 'nextjs'.\n */\nexport function NavigationSetup({ children }: { children: ReactNode }) {\n return (\n <NavigationProvider navigate={defaultNavigate}>\n <LinkProvider adapter={NextJsLinkAdapter}>{children}</LinkProvider>\n </NavigationProvider>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/nextjs/navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAA4B;AACrE,EAAA,uBACE,GAAA,CAAC,sBAAmB,QAAA,EAAU,eAAA,EAC5B,8BAAC,YAAA,EAAA,EAAa,OAAA,EAAS,iBAAA,EAAoB,QAAA,EAAS,CAAA,EACtD,CAAA;AAEJ","file":"navigation-LSRNHKGJ.js","sourcesContent":["import { NavigationProvider, defaultNavigate } from '../providers/NavigationProvider';\nimport { LinkProvider } from '../providers/LinkProvider';\nimport { NextJsLinkAdapter } from './link';\nimport type { ReactNode } from 'react';\n\n/**\n * Next.js navigation setup - wraps children with NavigationProvider and LinkProvider.\n * Called by TwilightProvider when client.framework === 'nextjs'.\n */\nexport function NavigationSetup({ children }: { children: ReactNode }) {\n return (\n <NavigationProvider navigate={defaultNavigate}>\n <LinkProvider adapter={NextJsLinkAdapter}>{children}</LinkProvider>\n </NavigationProvider>\n );\n}\n"]}
@@ -0,0 +1,14 @@
1
+ export { NavigationSetup, TanStackNavigationProvider } from './chunk-LUFLN7WL.js';
2
+ import './chunk-UWDUMPL7.js';
3
+ import './chunk-OUW6WESU.js';
4
+ import './chunk-YDSWLCOY.js';
5
+ import './chunk-BYMOPN2S.js';
6
+ import './chunk-A4NN6C5B.js';
7
+ import './chunk-3NFVZJNI.js';
8
+ import './chunk-GXZW6BJY.js';
9
+ import './chunk-JNAJTCJD.js';
10
+ import './chunk-T72DAX7R.js';
11
+ import './chunk-DF6FBKDN.js';
12
+ import './chunk-DGUM43GV.js';
13
+ //# sourceMappingURL=navigation-WASYQTFC.js.map
14
+ //# sourceMappingURL=navigation-WASYQTFC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-P3RDLBP7.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-WASYQTFC.js"}
@@ -1,40 +1,40 @@
1
- import { product } from './chunk-VJQ7SM4O.js';
2
- import './chunk-P7N3TZFE.js';
3
- import './chunk-D6IJYZ7U.js';
4
- import './chunk-PXM3FBPO.js';
5
- import './chunk-D2VMJV3L.js';
6
- import './chunk-S6SP272Z.js';
7
- import './chunk-LPAWMUJR.js';
1
+ import { product } from './chunk-SQXUWX4B.js';
2
+ import './chunk-6YI5J5ZN.js';
3
+ import './chunk-SZ65XCSZ.js';
4
+ import './chunk-ZI5XWXWG.js';
5
+ import './chunk-W354TTIE.js';
6
+ import './chunk-EHX45KZG.js';
7
+ import './chunk-BR56OEPZ.js';
8
8
  import './chunk-OXMUPNMH.js';
9
- import './chunk-TWD4ECS3.js';
9
+ import './chunk-UZGP2KFA.js';
10
10
  import './chunk-VVZNW5CB.js';
11
- import './chunk-FQHNVD3H.js';
11
+ import './chunk-U6KJ7XBO.js';
12
12
  import './chunk-GD26FI4J.js';
13
13
  import './chunk-4SZZPXM2.js';
14
- import { useLocation, useNavigate } from './chunk-V7QFIGQ4.js';
14
+ import { useLocation, useNavigate } from './chunk-UWDUMPL7.js';
15
15
  import './chunk-OUW6WESU.js';
16
- import './chunk-VEA7QDNY.js';
16
+ import './chunk-KSS7OA3Q.js';
17
17
  import './chunk-HI5V5X3S.js';
18
- import './chunk-25SLMOCZ.js';
19
- import './chunk-C5MQ6VWX.js';
18
+ import './chunk-RBFLDI2Z.js';
19
+ import './chunk-24UCMWQB.js';
20
20
  import './chunk-MVT5AF2A.js';
21
21
  import './chunk-Z653O7MX.js';
22
22
  import './chunk-ZCH7W7DZ.js';
23
- import './chunk-4O52OV5N.js';
23
+ import './chunk-BEMWHR4T.js';
24
24
  import './chunk-JWXJPJBO.js';
25
25
  import './chunk-CW625T2E.js';
26
26
  import './chunk-7V36I5GT.js';
27
27
  import './chunk-6WI7R2BD.js';
28
- import './chunk-3EBV4X6W.js';
28
+ import './chunk-HNSR4KLL.js';
29
29
  import './chunk-OAMIDZKW.js';
30
- import './chunk-DMMGD4GW.js';
30
+ import './chunk-ZVYJK6XQ.js';
31
31
  import './chunk-V2ZDTY6H.js';
32
- import './chunk-YSRKR5DE.js';
32
+ import './chunk-4PT5MXGR.js';
33
33
  import { HookSlot } from './chunk-5XDPAKF5.js';
34
34
  import './chunk-GCPEMNSU.js';
35
- import './chunk-KTLQV4Q4.js';
35
+ import './chunk-YDSWLCOY.js';
36
36
  import { useTranslation } from './chunk-TYNZ5B2B.js';
37
- import { LazyErrorPage } from './chunk-TYTYD6AK.js';
37
+ import { LazyErrorPage } from './chunk-L26XGP65.js';
38
38
  import './chunk-AXW67SY7.js';
39
39
  import './chunk-BYMOPN2S.js';
40
40
  import './chunk-SKLEJJ6M.js';
@@ -42,11 +42,11 @@ import './chunk-6BZ5TKEV.js';
42
42
  import './chunk-FZKRSGLP.js';
43
43
  import './chunk-7V5HOZW4.js';
44
44
  import './chunk-YA6ABQB7.js';
45
- import './chunk-76GCBYJX.js';
46
- import './chunk-QUBQPGT7.js';
47
- import './chunk-OWJMPD7X.js';
48
- import './chunk-SU7NHAYA.js';
49
- import './chunk-HG4B4F4N.js';
45
+ import './chunk-OSSOU36J.js';
46
+ import './chunk-A4NN6C5B.js';
47
+ import './chunk-3NFVZJNI.js';
48
+ import './chunk-GXZW6BJY.js';
49
+ import './chunk-JNAJTCJD.js';
50
50
  import { isLocale } from './chunk-T72DAX7R.js';
51
51
  import './chunk-DF6FBKDN.js';
52
52
  import './chunk-DGUM43GV.js';
@@ -151,5 +151,5 @@ function NotFoundPage(props = {}) {
151
151
  }
152
152
 
153
153
  export { NotFoundPage };
154
- //# sourceMappingURL=not-found-RBWKACRW.js.map
155
- //# sourceMappingURL=not-found-RBWKACRW.js.map
154
+ //# sourceMappingURL=not-found-WFK6JU2O.js.map
155
+ //# sourceMappingURL=not-found-WFK6JU2O.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-RBWKACRW.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-WFK6JU2O.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA2B5F,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAUtC,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EACP,OAAO,EACP,MAAwD,EACxD,KAAY,EACZ,mBAAqC,EACrC,cAAqB,EACrB,UAAiB,EACjB,MAAM,EAAE,eAA8B,EACtC,eAAe,EAAE,wBAA8C,GAChE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA4S5C;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA4B5F,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAUtC,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EACP,OAAO,EACP,MAAwD,EACxD,KAAY,EACZ,mBAAqC,EACrC,cAAqB,EACrB,UAAiB,EACjB,MAAM,EAAE,eAA8B,EACtC,eAAe,EAAE,wBAA8C,GAChE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAgT5C;AAED,eAAe,gBAAgB,CAAC"}