@salla.sa/twilight-theme-engine 1.0.56 → 1.0.58

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 (247) hide show
  1. package/dist/{AddToCartForm-QKJ72MFV.js → AddToCartForm-MTD46H63.js} +3 -3
  2. package/dist/{AddToCartForm-QKJ72MFV.js.map → AddToCartForm-MTD46H63.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-75HKHV53.js → BlogAuthorPage-BT5BGQQJ.js} +15 -16
  4. package/dist/BlogAuthorPage-BT5BGQQJ.js.map +1 -0
  5. package/dist/{BlogCategoryPage-R7QE3DNT.js → BlogCategoryPage-IDHUIFVG.js} +15 -16
  6. package/dist/BlogCategoryPage-IDHUIFVG.js.map +1 -0
  7. package/dist/{BlogPage-OAEP7OOU.js → BlogPage-VSZPR4AD.js} +13 -14
  8. package/dist/BlogPage-VSZPR4AD.js.map +1 -0
  9. package/dist/{BlogSinglePage-NSCAOZMR.js → BlogSinglePage-3FWJ6UTQ.js} +13 -14
  10. package/dist/BlogSinglePage-3FWJ6UTQ.js.map +1 -0
  11. package/dist/{BlogTagPage-QNAZWE5P.js → BlogTagPage-TIPPV2WW.js} +15 -16
  12. package/dist/BlogTagPage-TIPPV2WW.js.map +1 -0
  13. package/dist/{BrandsPage-5JHLX2XO.js → BrandsPage-LEXRPFVK.js} +13 -14
  14. package/dist/BrandsPage-LEXRPFVK.js.map +1 -0
  15. package/dist/{Breadcrumb-A4FLPDBV.js → Breadcrumb-Q3P72LPT.js} +13 -14
  16. package/dist/Breadcrumb-Q3P72LPT.js.map +1 -0
  17. package/dist/{CartItem-VZKFYO57.js → CartItem-LJYCK3UP.js} +13 -14
  18. package/dist/CartItem-LJYCK3UP.js.map +1 -0
  19. package/dist/{CartSummary-7ZSG6I6S.js → CartSummary-645YDH2N.js} +13 -14
  20. package/dist/CartSummary-645YDH2N.js.map +1 -0
  21. package/dist/{Copyright-C4NN5NWB.js → Copyright-N5323WE7.js} +3 -3
  22. package/dist/{Copyright-C4NN5NWB.js.map → Copyright-N5323WE7.js.map} +1 -1
  23. package/dist/{CustomerLayout-3HW7J2BB.js → CustomerLayout-LB2EWG2P.js} +13 -14
  24. package/dist/CustomerLayout-LB2EWG2P.js.map +1 -0
  25. package/dist/{Footer-373V56WN.js → Footer-TTYS7K4V.js} +13 -14
  26. package/dist/{Footer-373V56WN.js.map → Footer-TTYS7K4V.js.map} +1 -1
  27. package/dist/{Header-F4H4CBCL.js → Header-26PWNGDF.js} +6 -6
  28. package/dist/{Header-F4H4CBCL.js.map → Header-26PWNGDF.js.map} +1 -1
  29. package/dist/{LoyaltyPage-UMWLPECY.js → LoyaltyPage-F4QVHJAH.js} +14 -15
  30. package/dist/LoyaltyPage-F4QVHJAH.js.map +1 -0
  31. package/dist/{MainMenu-DP2N74AL.js → MainMenu-SACYMDKQ.js} +7 -7
  32. package/dist/{MainMenu-DP2N74AL.js.map → MainMenu-SACYMDKQ.js.map} +1 -1
  33. package/dist/{MasterLayout-27XOOCFM.js → MasterLayout-MVY5N7G6.js} +13 -14
  34. package/dist/{MasterLayout-27XOOCFM.js.map → MasterLayout-MVY5N7G6.js.map} +1 -1
  35. package/dist/{MobileMenu-RDTHWQC3.js → MobileMenu-DBIJRXTA.js} +14 -15
  36. package/dist/MobileMenu-DBIJRXTA.js.map +1 -0
  37. package/dist/{NotificationsPage-KTZLNZHM.js → NotificationsPage-TMGF4BQM.js} +13 -14
  38. package/dist/NotificationsPage-TMGF4BQM.js.map +1 -0
  39. package/dist/{OrderSinglePage-PQ74PMJK.js → OrderSinglePage-NCQR6ADR.js} +14 -15
  40. package/dist/OrderSinglePage-NCQR6ADR.js.map +1 -0
  41. package/dist/{OrdersPage-7NGAJPK2.js → OrdersPage-O2LSXL4W.js} +14 -15
  42. package/dist/OrdersPage-O2LSXL4W.js.map +1 -0
  43. package/dist/{PageSingle-2OITZXHA.js → PageSingle-745SGJUG.js} +3 -3
  44. package/dist/{PageSingle-2OITZXHA.js.map → PageSingle-745SGJUG.js.map} +1 -1
  45. package/dist/{ProductDetails-CCN7LHV7.js → ProductDetails-AHYFTGM6.js} +3 -3
  46. package/dist/{ProductDetails-CCN7LHV7.js.map → ProductDetails-AHYFTGM6.js.map} +1 -1
  47. package/dist/{ProfilePage-FBAQ4YFY.js → ProfilePage-5JUXB5SB.js} +13 -14
  48. package/dist/ProfilePage-5JUXB5SB.js.map +1 -0
  49. package/dist/{SeoCartWidget-IZSJ6YTX.js → SeoCartWidget-XPPMBCQB.js} +13 -14
  50. package/dist/SeoCartWidget-XPPMBCQB.js.map +1 -0
  51. package/dist/{SettingsPage-RAEWPKMK.js → SettingsPage-NFSZ4CKO.js} +13 -14
  52. package/dist/SettingsPage-NFSZ4CKO.js.map +1 -0
  53. package/dist/{StoreClosedNotification-OALAFI4Y.js → StoreClosedNotification-5XWRDBPA.js} +14 -15
  54. package/dist/{StoreClosedNotification-OALAFI4Y.js.map → StoreClosedNotification-5XWRDBPA.js.map} +1 -1
  55. package/dist/{TestimonialsPage-RWIXMIR6.js → TestimonialsPage-JHGMJMGG.js} +3 -3
  56. package/dist/{TestimonialsPage-RWIXMIR6.js.map → TestimonialsPage-JHGMJMGG.js.map} +1 -1
  57. package/dist/{ThankYouPage-TLFQE3TA.js → ThankYouPage-CYCVSBAO.js} +13 -14
  58. package/dist/ThankYouPage-CYCVSBAO.js.map +1 -0
  59. package/dist/{WalletPage-EFOMPLFB.js → WalletPage-2JZ32SNZ.js} +14 -15
  60. package/dist/WalletPage-2JZ32SNZ.js.map +1 -0
  61. package/dist/{WishlistPage-D6WQCUIS.js → WishlistPage-N3K6MBMC.js} +15 -16
  62. package/dist/WishlistPage-N3K6MBMC.js.map +1 -0
  63. package/dist/api/apps.js +4 -4
  64. package/dist/api/brands.js +5 -5
  65. package/dist/api/cart.js +5 -5
  66. package/dist/api/category.js +5 -5
  67. package/dist/api/client.d.ts +9 -0
  68. package/dist/api/client.d.ts.map +1 -1
  69. package/dist/api/client.js +3 -3
  70. package/dist/api/home.js +4 -4
  71. package/dist/api/loyalty.js +5 -5
  72. package/dist/api/menu.js +4 -4
  73. package/dist/api/notification.js +4 -4
  74. package/dist/api/order.js +5 -5
  75. package/dist/api/page.js +5 -5
  76. package/dist/api/product.js +5 -5
  77. package/dist/api/profile.js +3 -3
  78. package/dist/api/store.js +4 -4
  79. package/dist/api/translations-key.d.ts +25 -0
  80. package/dist/api/translations-key.d.ts.map +1 -0
  81. package/dist/api/translations.d.ts +27 -4
  82. package/dist/api/translations.d.ts.map +1 -1
  83. package/dist/api/translations.js +4 -4
  84. package/dist/api/user.js +4 -4
  85. package/dist/api/wishlist.js +6 -6
  86. package/dist/{chunk-WMSOSA74.js → chunk-2KU5ANFZ.js} +5 -5
  87. package/dist/{chunk-WMSOSA74.js.map → chunk-2KU5ANFZ.js.map} +1 -1
  88. package/dist/{chunk-QBIW266S.js → chunk-2OX3JML4.js} +4 -4
  89. package/dist/{chunk-QBIW266S.js.map → chunk-2OX3JML4.js.map} +1 -1
  90. package/dist/{chunk-NSSKTF6I.js → chunk-36PDYP56.js} +40 -19
  91. package/dist/chunk-36PDYP56.js.map +1 -0
  92. package/dist/chunk-3H27IEME.js +14 -0
  93. package/dist/{chunk-TUUBKHTD.js.map → chunk-3H27IEME.js.map} +1 -1
  94. package/dist/{chunk-BVB75J3R.js → chunk-3R7YKSO6.js} +5 -5
  95. package/dist/{chunk-BVB75J3R.js.map → chunk-3R7YKSO6.js.map} +1 -1
  96. package/dist/{chunk-XEQ6ILIP.js → chunk-675NJ2XP.js} +4 -4
  97. package/dist/{chunk-XEQ6ILIP.js.map → chunk-675NJ2XP.js.map} +1 -1
  98. package/dist/{chunk-OZV5P4VP.js → chunk-7BWZYECG.js} +5 -5
  99. package/dist/{chunk-OZV5P4VP.js.map → chunk-7BWZYECG.js.map} +1 -1
  100. package/dist/{chunk-PZL3JWM2.js → chunk-BFZ47MS5.js} +3 -3
  101. package/dist/{chunk-PZL3JWM2.js.map → chunk-BFZ47MS5.js.map} +1 -1
  102. package/dist/{chunk-NCGZMLBS.js → chunk-BZ7ZIO33.js} +3 -3
  103. package/dist/{chunk-NCGZMLBS.js.map → chunk-BZ7ZIO33.js.map} +1 -1
  104. package/dist/{chunk-O6XXHXC4.js → chunk-F4MMWEII.js} +9 -5
  105. package/dist/chunk-F4MMWEII.js.map +1 -0
  106. package/dist/{chunk-R6M6RM6U.js → chunk-GLRXYGYI.js} +3 -3
  107. package/dist/{chunk-R6M6RM6U.js.map → chunk-GLRXYGYI.js.map} +1 -1
  108. package/dist/{chunk-MENDTTOA.js → chunk-HOE2P2HU.js} +3 -3
  109. package/dist/{chunk-MENDTTOA.js.map → chunk-HOE2P2HU.js.map} +1 -1
  110. package/dist/{chunk-62SHHET3.js → chunk-HVHFTVZT.js} +4 -4
  111. package/dist/{chunk-62SHHET3.js.map → chunk-HVHFTVZT.js.map} +1 -1
  112. package/dist/chunk-IE2FU6BR.js +83 -0
  113. package/dist/chunk-IE2FU6BR.js.map +1 -0
  114. package/dist/{chunk-F5IEB43R.js → chunk-J2GGMK3X.js} +6 -6
  115. package/dist/{chunk-F5IEB43R.js.map → chunk-J2GGMK3X.js.map} +1 -1
  116. package/dist/{chunk-NQ5FQOE2.js → chunk-JBNI5ZVG.js} +3 -3
  117. package/dist/{chunk-NQ5FQOE2.js.map → chunk-JBNI5ZVG.js.map} +1 -1
  118. package/dist/{chunk-63GHZIAG.js → chunk-JDROOL5C.js} +3 -3
  119. package/dist/{chunk-63GHZIAG.js.map → chunk-JDROOL5C.js.map} +1 -1
  120. package/dist/{chunk-P4DUWQU4.js → chunk-K4YT7TOV.js} +3 -3
  121. package/dist/{chunk-P4DUWQU4.js.map → chunk-K4YT7TOV.js.map} +1 -1
  122. package/dist/{chunk-JD4J2ZB6.js → chunk-KTOKX3GC.js} +3 -3
  123. package/dist/{chunk-JD4J2ZB6.js.map → chunk-KTOKX3GC.js.map} +1 -1
  124. package/dist/{chunk-IVDXRPIG.js → chunk-LKRI35NZ.js} +15 -19
  125. package/dist/chunk-LKRI35NZ.js.map +1 -0
  126. package/dist/{chunk-7XBSSGRK.js → chunk-MQBGRVOJ.js} +4 -4
  127. package/dist/{chunk-7XBSSGRK.js.map → chunk-MQBGRVOJ.js.map} +1 -1
  128. package/dist/{chunk-MDIUVANI.js → chunk-O2YV5DAL.js} +4 -4
  129. package/dist/{chunk-MDIUVANI.js.map → chunk-O2YV5DAL.js.map} +1 -1
  130. package/dist/{chunk-GLJX3BH2.js → chunk-PSRSWHML.js} +4 -4
  131. package/dist/{chunk-GLJX3BH2.js.map → chunk-PSRSWHML.js.map} +1 -1
  132. package/dist/{chunk-A2ZO3IR7.js → chunk-RBVFIPX2.js} +4 -4
  133. package/dist/{chunk-A2ZO3IR7.js.map → chunk-RBVFIPX2.js.map} +1 -1
  134. package/dist/{chunk-BQ4CV7YX.js → chunk-RJAV554G.js} +4 -4
  135. package/dist/{chunk-BQ4CV7YX.js.map → chunk-RJAV554G.js.map} +1 -1
  136. package/dist/{chunk-UV5BRJH4.js → chunk-S7XYSF4X.js} +4 -4
  137. package/dist/{chunk-UV5BRJH4.js.map → chunk-S7XYSF4X.js.map} +1 -1
  138. package/dist/{chunk-PJWFEMBX.js → chunk-SOPK72TP.js} +9 -4
  139. package/dist/chunk-SOPK72TP.js.map +1 -0
  140. package/dist/{chunk-YGAU6PFQ.js → chunk-TJGYL7GD.js} +5 -5
  141. package/dist/{chunk-YGAU6PFQ.js.map → chunk-TJGYL7GD.js.map} +1 -1
  142. package/dist/{chunk-3FIWHGCZ.js → chunk-TX6ZP4FF.js} +3 -3
  143. package/dist/{chunk-3FIWHGCZ.js.map → chunk-TX6ZP4FF.js.map} +1 -1
  144. package/dist/{chunk-QKIQ3K24.js → chunk-UOALND7V.js} +4 -4
  145. package/dist/{chunk-QKIQ3K24.js.map → chunk-UOALND7V.js.map} +1 -1
  146. package/dist/{chunk-TIDHWQIS.js → chunk-VO5ODVVL.js} +4 -4
  147. package/dist/{chunk-TIDHWQIS.js.map → chunk-VO5ODVVL.js.map} +1 -1
  148. package/dist/{chunk-U43L4ZLH.js → chunk-WFSOVIYU.js} +6 -6
  149. package/dist/{chunk-U43L4ZLH.js.map → chunk-WFSOVIYU.js.map} +1 -1
  150. package/dist/{chunk-4D44TJ72.js → chunk-WIAPOLEA.js} +3 -3
  151. package/dist/{chunk-4D44TJ72.js.map → chunk-WIAPOLEA.js.map} +1 -1
  152. package/dist/{chunk-EPDF4ZU7.js → chunk-XDB2POG3.js} +7 -7
  153. package/dist/{chunk-EPDF4ZU7.js.map → chunk-XDB2POG3.js.map} +1 -1
  154. package/dist/{chunk-UIDPX3GA.js → chunk-YJ6ZSGQY.js} +3 -3
  155. package/dist/{chunk-UIDPX3GA.js.map → chunk-YJ6ZSGQY.js.map} +1 -1
  156. package/dist/{chunk-QM75GGXX.js → chunk-YJJZN5UP.js} +4 -4
  157. package/dist/{chunk-QM75GGXX.js.map → chunk-YJJZN5UP.js.map} +1 -1
  158. package/dist/{chunk-3MHDV5JS.js → chunk-YNY5P2DG.js} +3 -3
  159. package/dist/{chunk-3MHDV5JS.js.map → chunk-YNY5P2DG.js.map} +1 -1
  160. package/dist/{chunk-Z74NUTEI.js → chunk-YSFWVMBA.js} +3 -3
  161. package/dist/{chunk-Z74NUTEI.js.map → chunk-YSFWVMBA.js.map} +1 -1
  162. package/dist/components/cart/index.js +1 -1
  163. package/dist/components/common/index.js +1 -1
  164. package/dist/components/drawer/index.js +11 -12
  165. package/dist/components/home/index.js +14 -15
  166. package/dist/components/layout/index.js +5 -5
  167. package/dist/components/product/index.js +12 -13
  168. package/dist/components/store/index.js +13 -14
  169. package/dist/components/store/index.js.map +1 -1
  170. package/dist/document-class-YYEVAIVJ.js +25 -0
  171. package/dist/{document-class-JZAILFK3.js.map → document-class-YYEVAIVJ.js.map} +1 -1
  172. package/dist/hooks/index.js +11 -12
  173. package/dist/hooks/registerDefaultHooks.d.ts.map +1 -1
  174. package/dist/hooks/useGtm.js +11 -12
  175. package/dist/hooks/useMoney.js +11 -12
  176. package/dist/hooks/useStore.js +11 -12
  177. package/dist/hooks/useUser.js +5 -5
  178. package/dist/index.js +11 -12
  179. package/dist/index.js.map +1 -1
  180. package/dist/{navigation-JINL5V44.js → navigation-4VEQUXHI.js} +5 -5
  181. package/dist/{navigation-JINL5V44.js.map → navigation-4VEQUXHI.js.map} +1 -1
  182. package/dist/{navigation-ERMAPC4D.js → navigation-MVKZENRD.js} +4 -4
  183. package/dist/{navigation-ERMAPC4D.js.map → navigation-MVKZENRD.js.map} +1 -1
  184. package/dist/{not-found-OSTTTMCL.js → not-found-JGDH4AQ3.js} +14 -15
  185. package/dist/not-found-JGDH4AQ3.js.map +1 -0
  186. package/dist/providers/index.js +11 -12
  187. package/dist/routes/account/orders.js +6 -6
  188. package/dist/routes/account.js +15 -15
  189. package/dist/routes/blog.js +10 -10
  190. package/dist/routes/brands.js +6 -6
  191. package/dist/routes/cart.js +19 -20
  192. package/dist/routes/cart.js.map +1 -1
  193. package/dist/routes/home.js +16 -17
  194. package/dist/routes/index.js +3 -3
  195. package/dist/routes/loyalty.js +6 -6
  196. package/dist/routes/page.js +6 -6
  197. package/dist/routes/product/index.d.ts.map +1 -1
  198. package/dist/routes/product-listing.js +16 -17
  199. package/dist/routes/product-listing.js.map +1 -1
  200. package/dist/routes/product.js +19 -16
  201. package/dist/routes/product.js.map +1 -1
  202. package/dist/routes/root/head.d.ts.map +1 -1
  203. package/dist/routes/seo-redirects.js +3 -3
  204. package/dist/routes/testimonials.js +2 -2
  205. package/dist/routes/thank-you.js +6 -6
  206. package/dist/skeleton.js +16 -17
  207. package/dist/tanstack/router.d.ts.map +1 -1
  208. package/dist/tanstack.js +15 -16
  209. package/dist/tanstack.js.map +1 -1
  210. package/dist/twilight/context.d.ts.map +1 -1
  211. package/dist/utils/fast-checkout.d.ts +16 -1
  212. package/dist/utils/fast-checkout.d.ts.map +1 -1
  213. package/dist/utils/index.js +4 -4
  214. package/dist/vite/index.js +2 -2
  215. package/package.json +1 -1
  216. package/dist/BlogAuthorPage-75HKHV53.js.map +0 -1
  217. package/dist/BlogCategoryPage-R7QE3DNT.js.map +0 -1
  218. package/dist/BlogPage-OAEP7OOU.js.map +0 -1
  219. package/dist/BlogSinglePage-NSCAOZMR.js.map +0 -1
  220. package/dist/BlogTagPage-QNAZWE5P.js.map +0 -1
  221. package/dist/BrandsPage-5JHLX2XO.js.map +0 -1
  222. package/dist/Breadcrumb-A4FLPDBV.js.map +0 -1
  223. package/dist/CartItem-VZKFYO57.js.map +0 -1
  224. package/dist/CartSummary-7ZSG6I6S.js.map +0 -1
  225. package/dist/CustomerLayout-3HW7J2BB.js.map +0 -1
  226. package/dist/LoyaltyPage-UMWLPECY.js.map +0 -1
  227. package/dist/MobileMenu-RDTHWQC3.js.map +0 -1
  228. package/dist/NotificationsPage-KTZLNZHM.js.map +0 -1
  229. package/dist/OrderSinglePage-PQ74PMJK.js.map +0 -1
  230. package/dist/OrdersPage-7NGAJPK2.js.map +0 -1
  231. package/dist/ProfilePage-FBAQ4YFY.js.map +0 -1
  232. package/dist/SeoCartWidget-IZSJ6YTX.js.map +0 -1
  233. package/dist/SettingsPage-RAEWPKMK.js.map +0 -1
  234. package/dist/ThankYouPage-TLFQE3TA.js.map +0 -1
  235. package/dist/WalletPage-EFOMPLFB.js.map +0 -1
  236. package/dist/WishlistPage-D6WQCUIS.js.map +0 -1
  237. package/dist/chunk-6IATCGID.js +0 -7
  238. package/dist/chunk-6IATCGID.js.map +0 -1
  239. package/dist/chunk-IVDXRPIG.js.map +0 -1
  240. package/dist/chunk-KT2MUSRN.js +0 -25
  241. package/dist/chunk-KT2MUSRN.js.map +0 -1
  242. package/dist/chunk-NSSKTF6I.js.map +0 -1
  243. package/dist/chunk-O6XXHXC4.js.map +0 -1
  244. package/dist/chunk-PJWFEMBX.js.map +0 -1
  245. package/dist/chunk-TUUBKHTD.js +0 -14
  246. package/dist/document-class-JZAILFK3.js +0 -26
  247. package/dist/not-found-OSTTTMCL.js.map +0 -1
@@ -37,4 +37,13 @@ export declare const getActiveScopeId: () => string | null;
37
37
  */
38
38
  export declare const api: import("ky").KyInstance;
39
39
  export declare const cdn: import("ky").KyInstance;
40
+ /**
41
+ * The merchant uploader's public bucket, `admin-uploader-prod`.
42
+ *
43
+ * A different host from {@link cdn} and a different thing behind it: this one
44
+ * is an R2 custom domain, so a read never passes through a worker. Storefront
45
+ * translations live here, per language, under `translations/` — see
46
+ * `api/translations.ts`.
47
+ */
48
+ export declare const filesCdn: import("ky").KyInstance;
40
49
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAiC1B;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IACc,CAAC;AAsBxD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,oBAA+B,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,QAAO,WAAW,GAAG,IAiB/C,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,IAAoC,CAAC;AAelF;;;;;GAKG;AAIH,eAAO,MAAM,GAAG,yBA6Cd,CAAC;AAEH,eAAO,MAAM,GAAG,yBAGd,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAiC1B;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IACc,CAAC;AAsBxD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,oBAA+B,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,QAAO,WAAW,GAAG,IAiB/C,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,IAAoC,CAAC;AAelF;;;;;GAKG;AAIH,eAAO,MAAM,GAAG,yBA6Cd,CAAC;AAEH,eAAO,MAAM,GAAG,yBAGd,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,yBAGnB,CAAC"}
@@ -1,7 +1,7 @@
1
- export { STORE_IDENTIFIER_HEADER, api, cdn, getActiveScope, getActiveScopeId, getAuthToken } from '../chunk-O6XXHXC4.js';
2
- import '../chunk-3FIWHGCZ.js';
1
+ export { STORE_IDENTIFIER_HEADER, api, cdn, filesCdn, getActiveScope, getActiveScopeId, getAuthToken } from '../chunk-F4MMWEII.js';
2
+ import '../chunk-TX6ZP4FF.js';
3
3
  import '../chunk-XTMHHLNK.js';
4
- import '../chunk-PJWFEMBX.js';
4
+ import '../chunk-SOPK72TP.js';
5
5
  import '../chunk-T72DAX7R.js';
6
6
  import '../chunk-DGUM43GV.js';
7
7
  //# sourceMappingURL=client.js.map
package/dist/api/home.js CHANGED
@@ -1,8 +1,8 @@
1
- export { home } from '../chunk-P4DUWQU4.js';
2
- import '../chunk-O6XXHXC4.js';
3
- import '../chunk-3FIWHGCZ.js';
1
+ export { home } from '../chunk-K4YT7TOV.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ import '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=home.js.map
@@ -1,10 +1,10 @@
1
- export { loyalty } from '../chunk-62SHHET3.js';
2
- import '../chunk-63GHZIAG.js';
1
+ export { loyalty } from '../chunk-HVHFTVZT.js';
2
+ import '../chunk-JDROOL5C.js';
3
3
  import '../chunk-TFB3QXYH.js';
4
- import '../chunk-O6XXHXC4.js';
5
- import '../chunk-3FIWHGCZ.js';
4
+ import '../chunk-F4MMWEII.js';
5
+ import '../chunk-TX6ZP4FF.js';
6
6
  import '../chunk-XTMHHLNK.js';
7
- import '../chunk-PJWFEMBX.js';
7
+ import '../chunk-SOPK72TP.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
10
10
  import '../chunk-DGUM43GV.js';
package/dist/api/menu.js CHANGED
@@ -1,8 +1,8 @@
1
- export { menu } from '../chunk-UV5BRJH4.js';
2
- import '../chunk-O6XXHXC4.js';
3
- import '../chunk-3FIWHGCZ.js';
1
+ export { menu } from '../chunk-S7XYSF4X.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ import '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=menu.js.map
@@ -1,8 +1,8 @@
1
- export { notification } from '../chunk-MENDTTOA.js';
2
- import '../chunk-O6XXHXC4.js';
3
- import '../chunk-3FIWHGCZ.js';
1
+ export { notification } from '../chunk-HOE2P2HU.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ import '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=notification.js.map
package/dist/api/order.js CHANGED
@@ -1,10 +1,10 @@
1
- export { order } from '../chunk-QM75GGXX.js';
2
- import '../chunk-63GHZIAG.js';
1
+ export { order } from '../chunk-YJJZN5UP.js';
2
+ import '../chunk-JDROOL5C.js';
3
3
  import '../chunk-TFB3QXYH.js';
4
- import '../chunk-O6XXHXC4.js';
5
- import '../chunk-3FIWHGCZ.js';
4
+ import '../chunk-F4MMWEII.js';
5
+ import '../chunk-TX6ZP4FF.js';
6
6
  import '../chunk-XTMHHLNK.js';
7
- import '../chunk-PJWFEMBX.js';
7
+ import '../chunk-SOPK72TP.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
10
10
  import '../chunk-DGUM43GV.js';
package/dist/api/page.js CHANGED
@@ -1,10 +1,10 @@
1
- export { page } from '../chunk-TIDHWQIS.js';
2
- import '../chunk-63GHZIAG.js';
1
+ export { page } from '../chunk-VO5ODVVL.js';
2
+ import '../chunk-JDROOL5C.js';
3
3
  import '../chunk-TFB3QXYH.js';
4
- import '../chunk-O6XXHXC4.js';
5
- import '../chunk-3FIWHGCZ.js';
4
+ import '../chunk-F4MMWEII.js';
5
+ import '../chunk-TX6ZP4FF.js';
6
6
  import '../chunk-XTMHHLNK.js';
7
- import '../chunk-PJWFEMBX.js';
7
+ import '../chunk-SOPK72TP.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
10
10
  import '../chunk-DGUM43GV.js';
@@ -1,10 +1,10 @@
1
- export { getProductPreview, isProductPreviewQuery, product, productDetailQueryKey, productPreviewQueryKey, rememberProductPreview, shouldDehydrateQuery } from '../chunk-BVB75J3R.js';
2
- import '../chunk-63GHZIAG.js';
1
+ export { getProductPreview, isProductPreviewQuery, product, productDetailQueryKey, productPreviewQueryKey, rememberProductPreview, shouldDehydrateQuery } from '../chunk-3R7YKSO6.js';
2
+ import '../chunk-JDROOL5C.js';
3
3
  import '../chunk-TFB3QXYH.js';
4
- import '../chunk-O6XXHXC4.js';
5
- import '../chunk-3FIWHGCZ.js';
4
+ import '../chunk-F4MMWEII.js';
5
+ import '../chunk-TX6ZP4FF.js';
6
6
  import '../chunk-XTMHHLNK.js';
7
- import '../chunk-PJWFEMBX.js';
7
+ import '../chunk-SOPK72TP.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
10
10
  import '../chunk-DGUM43GV.js';
@@ -1,7 +1,7 @@
1
- import { api } from '../chunk-O6XXHXC4.js';
2
- import '../chunk-3FIWHGCZ.js';
1
+ import { api } from '../chunk-F4MMWEII.js';
2
+ import '../chunk-TX6ZP4FF.js';
3
3
  import '../chunk-XTMHHLNK.js';
4
- import '../chunk-PJWFEMBX.js';
4
+ import '../chunk-SOPK72TP.js';
5
5
  import '../chunk-T72DAX7R.js';
6
6
  import '../chunk-DGUM43GV.js';
7
7
 
package/dist/api/store.js CHANGED
@@ -1,8 +1,8 @@
1
- export { store } from '../chunk-WMSOSA74.js';
2
- import '../chunk-O6XXHXC4.js';
3
- export { resolveStoreIdentifier } from '../chunk-3FIWHGCZ.js';
1
+ export { store } from '../chunk-2KU5ANFZ.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ export { resolveStoreIdentifier } from '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=store.js.map
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview The translations query key, on its own, importing nothing.
3
+ *
4
+ * Three places read the cached translations — `rootBeforeLoad`, the hydration
5
+ * path in `tanstack/router.tsx`, and the lazy `i18n` accessor in
6
+ * `twilight/context.ts` — and all three have to agree on the key or the
7
+ * hydrated page misses the entry it was just handed and refetches. One
8
+ * definition is the only way to keep that true.
9
+ *
10
+ * It lives here rather than in `api/translations.ts`, where it would naturally
11
+ * sit, because **`twilight/context.ts` cannot afford that module's imports**.
12
+ * `api/translations` pulls in `api/client`, which pulls in `ky`; `context.ts`
13
+ * is imported directly by tests that mock `ky`, and adding that edge made six
14
+ * of them stop being mocked and start issuing real requests to `api.salla.dev`
15
+ * (`tests/routes/rootBeforeLoad.test.ts`, bisected to exactly this import). A
16
+ * leaf module with no imports of its own cannot do that to anyone.
17
+ */
18
+ /**
19
+ * @param locale is part of the key because each file on the CDN holds one
20
+ * language. The global file this replaced carried every language and was
21
+ * sliced after the cache, so a key without the locale was correct then and is
22
+ * a wrong-language bug now: `/ar` → `/en` would reuse the Arabic entry.
23
+ */
24
+ export declare function translationsQueryKey(locale: string): [string, string];
25
+ //# sourceMappingURL=translations-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations-key.d.ts","sourceRoot":"","sources":["../../src/api/translations-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAErE"}
@@ -1,10 +1,33 @@
1
1
  import type { TranslationMessages } from '../providers/I18nProvider';
2
+ /** One language of platform copy, shared by every store. */
3
+ export declare function commonTranslationsPath(locale: string): string;
2
4
  export declare const translations: {
3
- get: () => Promise<TranslationMessages | null>;
5
+ /**
6
+ * The platform's copy for `locale`.
7
+ *
8
+ * One file, so one request. See the file comment for why the merchant's own
9
+ * wording is not merged in here yet and what it is waiting on.
10
+ */
11
+ get: (locale: string) => Promise<TranslationMessages | null>;
4
12
  queries: {
5
- byLocale: () => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<TranslationMessages | null, Error, TranslationMessages | null, string[]>, "queryFn"> & {
6
- queryFn?: import("@tanstack/react-query").QueryFunction<TranslationMessages | null, string[], never> | undefined;
7
- } & import("@tanstack/react-query").QueryKeyWithDataTag<string[], TranslationMessages | null, Error>;
13
+ /**
14
+ * @param locale taken as an argument rather than read from the twilight
15
+ * context, and that is load-bearing. This key is built on the server, on
16
+ * hydration, and again lazily from the context accessor; if any of the
17
+ * three read a locale the others had not been given yet, the hydrated page
18
+ * would miss the dehydrated entry and refetch both files it was just
19
+ * handed. Every caller already has the locale in hand.
20
+ *
21
+ * The store is deliberately **not** in the key. One document serves one
22
+ * store — a request that names a different one is redirected with
23
+ * `reloadDocument`, so the client never changes store under a live cache —
24
+ * and adding a value that resolves from the request on the server and from
25
+ * the injected env on the client is how a key stops matching across
26
+ * hydration.
27
+ */
28
+ byLocale: (locale: string) => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<TranslationMessages | null, Error, TranslationMessages | null, [string, string]>, "queryFn"> & {
29
+ queryFn?: import("@tanstack/react-query").QueryFunction<TranslationMessages | null, [string, string], never> | undefined;
30
+ } & import("@tanstack/react-query").QueryKeyWithDataTag<[string, string], TranslationMessages | null, Error>;
8
31
  };
9
32
  };
10
33
  //# sourceMappingURL=translations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/api/translations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,eAAO,MAAM,YAAY;eACR,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;;;;;;CAmBnD,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/api/translations.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AA4DD,eAAO,MAAM,YAAY;IACvB;;;;;OAKG;kBACiB,MAAM,KAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;;QAa9D;;;;;;;;;;;;;;WAcG;2BACgB,MAAM;;;;CAM5B,CAAC"}
@@ -1,8 +1,8 @@
1
- export { translations } from '../chunk-KT2MUSRN.js';
2
- import '../chunk-O6XXHXC4.js';
3
- import '../chunk-3FIWHGCZ.js';
1
+ export { commonTranslationsPath, translations } from '../chunk-IE2FU6BR.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ import '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=translations.js.map
package/dist/api/user.js CHANGED
@@ -1,8 +1,8 @@
1
- export { user } from '../chunk-Z74NUTEI.js';
2
- import '../chunk-O6XXHXC4.js';
3
- import '../chunk-3FIWHGCZ.js';
1
+ export { user } from '../chunk-YSFWVMBA.js';
2
+ import '../chunk-F4MMWEII.js';
3
+ import '../chunk-TX6ZP4FF.js';
4
4
  import '../chunk-XTMHHLNK.js';
5
- import '../chunk-PJWFEMBX.js';
5
+ import '../chunk-SOPK72TP.js';
6
6
  import '../chunk-T72DAX7R.js';
7
7
  import '../chunk-DGUM43GV.js';
8
8
  //# sourceMappingURL=user.js.map
@@ -1,11 +1,11 @@
1
- export { wishlist } from '../chunk-7XBSSGRK.js';
2
- import '../chunk-BVB75J3R.js';
3
- import '../chunk-63GHZIAG.js';
1
+ export { wishlist } from '../chunk-MQBGRVOJ.js';
2
+ import '../chunk-3R7YKSO6.js';
3
+ import '../chunk-JDROOL5C.js';
4
4
  import '../chunk-TFB3QXYH.js';
5
- import '../chunk-O6XXHXC4.js';
6
- import '../chunk-3FIWHGCZ.js';
5
+ import '../chunk-F4MMWEII.js';
6
+ import '../chunk-TX6ZP4FF.js';
7
7
  import '../chunk-XTMHHLNK.js';
8
- import '../chunk-PJWFEMBX.js';
8
+ import '../chunk-SOPK72TP.js';
9
9
  import '../chunk-T72DAX7R.js';
10
10
  import '../chunk-DF6FBKDN.js';
11
11
  import '../chunk-DGUM43GV.js';
@@ -1,6 +1,6 @@
1
- import { getActiveScope, requestedThemeVersionId, getActiveScopeId, api, STORE_IDENTIFIER_HEADER } from './chunk-O6XXHXC4.js';
2
- import { resolveStoreIdentifier } from './chunk-3FIWHGCZ.js';
3
- import { getTwilightContext } from './chunk-PJWFEMBX.js';
1
+ import { getActiveScope, requestedThemeVersionId, getActiveScopeId, api, STORE_IDENTIFIER_HEADER } from './chunk-F4MMWEII.js';
2
+ import { resolveStoreIdentifier } from './chunk-TX6ZP4FF.js';
3
+ import { getTwilightContext } from './chunk-SOPK72TP.js';
4
4
  import { queryOptions } from '@tanstack/react-query';
5
5
 
6
6
  var DEFAULT_INCLUDE_ITEMS = [
@@ -77,5 +77,5 @@ var store = {
77
77
  };
78
78
 
79
79
  export { store };
80
- //# sourceMappingURL=chunk-WMSOSA74.js.map
81
- //# sourceMappingURL=chunk-WMSOSA74.js.map
80
+ //# sourceMappingURL=chunk-2KU5ANFZ.js.map
81
+ //# sourceMappingURL=chunk-2KU5ANFZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/store.ts"],"names":[],"mappings":";;;;;AASA,IAAM,qBAAA,GAAwB;AAAA,EAC5B,OAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA;AAmDA,SAAS,iBAAiB,SAAA,EAA8D;AACtF,EAAA,IAAI,CAAC,WAAW,OAAO,MAAA;AAGvB,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA,CAAE,GAAA,CAAI,CAAC,IAAA,MAAU,EAAE,QAAA,EAAU,IAAA,CAAK,IAAA,EAAM,GAAG,MAAK,CAAE,CAAA;AAClF;AAEO,IAAM,KAAA,GAAQ;AAAA,EACnB,QAAA,EAAU,OAAO,eAAA,KAA2D;AAC1E,IAAA,MAAM,UAAA,GAAa,mBAAmB,sBAAA,EAAuB;AAE7D,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,OAAA,CAAQ,KAAK,gDAAgD,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,aAAA,GAAgB,qBAAA,CAAsB,GAAA,CAAI,CAAC,CAAA,KAAM,aAAa,CAAC,CAAA,CAAE,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACjF,IAAA,MAAM,UAAU,gBAAA,EAAiB;AACjC,IAAA,MAAM,SAAS,OAAA,IAAW,IAAA,GAAO,GAAG,aAAa,CAAA,OAAA,EAAU,OAAO,CAAA,CAAA,GAAK,aAAA;AAEvE,IAAA,IAAI;AACF,MAAA,MAAM,OAAO,MAAM,GAAA,CAKhB,GAAA,CAAI,CAAA,eAAA,EAAkB,MAAM,CAAA,CAAA,EAAI;AAAA,QAC/B,OAAA,EAAS,GAAA;AAAA,QACT,OAAA,EAAS,EAAE,CAAC,uBAAuB,GAAG,UAAA;AAAW,OAClD,EACA,IAAA,EAAqC;AAExC,MAAA,MAAM,OAAO,IAAA,EAAM,IAAA;AACnB,MAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAGlB,MAAA,MAAM,SAAA,GAAY,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAEjD,MAAA,OAAO;AAAA,QACL,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,SAAA;AAAA,QACA,YAAY,IAAA,CAAK,UAAA;AAAA,QACjB,mBAAmB,IAAA,CAAK,iBAAA;AAAA,QACxB,SAAS,IAAA,CAAK,OAAA;AAAA,QACd,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,YAAY,IAAA,CAAK;AAAA,OACnB;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,4BAA4B,KAAK,CAAA;AAC/C,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,CAAC,eAAA,KACT,YAAA,CAAkC;AAAA,MAChC,QAAA,EAAU;AAAA,QACR,OAAA;AAAA,QACA,UAAA;AAAA,QACA,eAAA;AAAA,QACA,oBAAmB,CAAE,MAAA;AAAA,QACrB,cAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQf,uBAAA;AAAwB,OAC1B;AAAA,MACA,OAAA,EAAS,MAAM,KAAA,CAAM,QAAA,CAAS,eAAe;AAAA,KAC9C;AAAA;AAEP","file":"chunk-WMSOSA74.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api, getActiveScope, getActiveScopeId, STORE_IDENTIFIER_HEADER } from './client';\nimport type { Store, Theme, Language } from '../types';\nimport { getTwilightContext } from '../twilight/context';\nimport { resolveStoreIdentifier } from '../utils/store-identity';\nimport { requestedThemeVersionId } from '../utils/theme-version';\n\nexport { resolveStoreIdentifier };\n\nconst DEFAULT_INCLUDE_ITEMS = [\n 'store',\n 'settings',\n 'theme',\n 'theme_settings',\n 'external_services',\n 'currencies',\n 'languages',\n 'payments',\n 'product_widgets',\n 'rating',\n 'ratings',\n];\n\n/**\n * Raw API response for settings endpoint.\n * Languages come as object: { \"AR\": { code, name, ... }, \"EN\": {...} }\n */\ninterface SettingsApiResponse {\n store?: Store;\n theme?: Theme;\n languages?: Record<string, Language>;\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean;\n policy_url?: string;\n}\n\n/**\n * Central settings context - single source of truth for all API data.\n * Contains everything from the settings endpoint response after processing.\n */\nexport interface StoreContext {\n store?: Store;\n theme?: Theme;\n /** Languages as array after conversion from API object format */\n languages?: Language[];\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean; // todo:: remove it\n policy_url?: string;\n}\n\n/**\n * Converts languages object from API to array format.\n * API returns: { \"AR\": { code, name, ... }, \"EN\": { ... } }\n * We need: [{ code, name, ... }, { code, name, ... }]\n * todo:: return the languages as object from the APIs to avoid this\n */\nfunction languagesToArray(languages?: Record<string, Language>): Language[] | undefined {\n if (!languages) return undefined;\n // The SDK's localization modal reads `lang.iso_code` (not `code`) when a language is\n // selected — without it the switch navigates to `/undefined/...`.\n return Object.values(languages).map((lang) => ({ iso_code: lang.code, ...lang }));\n}\n\nexport const store = {\n settings: async (storeIdentifier?: string): Promise<StoreContext | null> => {\n const identifier = storeIdentifier ?? resolveStoreIdentifier();\n\n if (!identifier) {\n console.warn('[store.settings] No store identifier available');\n return null;\n }\n\n const includeParams = DEFAULT_INCLUDE_ITEMS.map((i) => `include[]=${i}`).join('&');\n const scopeId = getActiveScopeId();\n const params = scopeId != null ? `${includeParams}&scope=${scopeId}` : includeParams;\n\n try {\n const json = await api\n // Sent explicitly rather than left to the client's own resolution, so\n // the identifier this function checked is the identifier that travels.\n // They agree today; a caller passing one and being answered about\n // another is the failure this makes impossible rather than unlikely.\n .get(`store/settings?${params}`, {\n timeout: 5000,\n headers: { [STORE_IDENTIFIER_HEADER]: identifier },\n })\n .json<{ data?: SettingsApiResponse }>();\n\n const data = json?.data;\n if (!data) return null;\n\n // Convert languages from object to array\n const languages = languagesToArray(data.languages);\n\n return {\n store: data.store,\n theme: data.theme,\n languages,\n currencies: data.currencies,\n external_services: data.external_services,\n headers: data.headers,\n login: data.login,\n affiliate: data.affiliate,\n policy_url: data.policy_url,\n };\n } catch (error) {\n console.error('[store.settings] Failed:', error);\n return null;\n }\n },\n\n queries: {\n settings: (storeIdentifier?: string) =>\n queryOptions<StoreContext | null>({\n queryKey: [\n 'store',\n 'settings',\n storeIdentifier,\n getTwilightContext().locale,\n getActiveScope(),\n // Two versions of one store's settings are two different answers, and\n // this is the query whose answer decides what every other call is\n // pinned to. `requestedThemeVersionId` rather than the resolved one:\n // the resolved value falls back to what these settings report, so it\n // is not knowable until after this query has run — the key would be\n // one thing on the server and another on the client, and the hydrated\n // page would refetch the settings it was just handed.\n requestedThemeVersionId(),\n ],\n queryFn: () => store.settings(storeIdentifier),\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/api/store.ts"],"names":[],"mappings":";;;;;AASA,IAAM,qBAAA,GAAwB;AAAA,EAC5B,OAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA;AAmDA,SAAS,iBAAiB,SAAA,EAA8D;AACtF,EAAA,IAAI,CAAC,WAAW,OAAO,MAAA;AAGvB,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA,CAAE,GAAA,CAAI,CAAC,IAAA,MAAU,EAAE,QAAA,EAAU,IAAA,CAAK,IAAA,EAAM,GAAG,MAAK,CAAE,CAAA;AAClF;AAEO,IAAM,KAAA,GAAQ;AAAA,EACnB,QAAA,EAAU,OAAO,eAAA,KAA2D;AAC1E,IAAA,MAAM,UAAA,GAAa,mBAAmB,sBAAA,EAAuB;AAE7D,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,OAAA,CAAQ,KAAK,gDAAgD,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,aAAA,GAAgB,qBAAA,CAAsB,GAAA,CAAI,CAAC,CAAA,KAAM,aAAa,CAAC,CAAA,CAAE,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACjF,IAAA,MAAM,UAAU,gBAAA,EAAiB;AACjC,IAAA,MAAM,SAAS,OAAA,IAAW,IAAA,GAAO,GAAG,aAAa,CAAA,OAAA,EAAU,OAAO,CAAA,CAAA,GAAK,aAAA;AAEvE,IAAA,IAAI;AACF,MAAA,MAAM,OAAO,MAAM,GAAA,CAKhB,GAAA,CAAI,CAAA,eAAA,EAAkB,MAAM,CAAA,CAAA,EAAI;AAAA,QAC/B,OAAA,EAAS,GAAA;AAAA,QACT,OAAA,EAAS,EAAE,CAAC,uBAAuB,GAAG,UAAA;AAAW,OAClD,EACA,IAAA,EAAqC;AAExC,MAAA,MAAM,OAAO,IAAA,EAAM,IAAA;AACnB,MAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAGlB,MAAA,MAAM,SAAA,GAAY,gBAAA,CAAiB,IAAA,CAAK,SAAS,CAAA;AAEjD,MAAA,OAAO;AAAA,QACL,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,SAAA;AAAA,QACA,YAAY,IAAA,CAAK,UAAA;AAAA,QACjB,mBAAmB,IAAA,CAAK,iBAAA;AAAA,QACxB,SAAS,IAAA,CAAK,OAAA;AAAA,QACd,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,YAAY,IAAA,CAAK;AAAA,OACnB;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,4BAA4B,KAAK,CAAA;AAC/C,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,CAAC,eAAA,KACT,YAAA,CAAkC;AAAA,MAChC,QAAA,EAAU;AAAA,QACR,OAAA;AAAA,QACA,UAAA;AAAA,QACA,eAAA;AAAA,QACA,oBAAmB,CAAE,MAAA;AAAA,QACrB,cAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQf,uBAAA;AAAwB,OAC1B;AAAA,MACA,OAAA,EAAS,MAAM,KAAA,CAAM,QAAA,CAAS,eAAe;AAAA,KAC9C;AAAA;AAEP","file":"chunk-2KU5ANFZ.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api, getActiveScope, getActiveScopeId, STORE_IDENTIFIER_HEADER } from './client';\nimport type { Store, Theme, Language } from '../types';\nimport { getTwilightContext } from '../twilight/context';\nimport { resolveStoreIdentifier } from '../utils/store-identity';\nimport { requestedThemeVersionId } from '../utils/theme-version';\n\nexport { resolveStoreIdentifier };\n\nconst DEFAULT_INCLUDE_ITEMS = [\n 'store',\n 'settings',\n 'theme',\n 'theme_settings',\n 'external_services',\n 'currencies',\n 'languages',\n 'payments',\n 'product_widgets',\n 'rating',\n 'ratings',\n];\n\n/**\n * Raw API response for settings endpoint.\n * Languages come as object: { \"AR\": { code, name, ... }, \"EN\": {...} }\n */\ninterface SettingsApiResponse {\n store?: Store;\n theme?: Theme;\n languages?: Record<string, Language>;\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean;\n policy_url?: string;\n}\n\n/**\n * Central settings context - single source of truth for all API data.\n * Contains everything from the settings endpoint response after processing.\n */\nexport interface StoreContext {\n store?: Store;\n theme?: Theme;\n /** Languages as array after conversion from API object format */\n languages?: Language[];\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean; // todo:: remove it\n policy_url?: string;\n}\n\n/**\n * Converts languages object from API to array format.\n * API returns: { \"AR\": { code, name, ... }, \"EN\": { ... } }\n * We need: [{ code, name, ... }, { code, name, ... }]\n * todo:: return the languages as object from the APIs to avoid this\n */\nfunction languagesToArray(languages?: Record<string, Language>): Language[] | undefined {\n if (!languages) return undefined;\n // The SDK's localization modal reads `lang.iso_code` (not `code`) when a language is\n // selected — without it the switch navigates to `/undefined/...`.\n return Object.values(languages).map((lang) => ({ iso_code: lang.code, ...lang }));\n}\n\nexport const store = {\n settings: async (storeIdentifier?: string): Promise<StoreContext | null> => {\n const identifier = storeIdentifier ?? resolveStoreIdentifier();\n\n if (!identifier) {\n console.warn('[store.settings] No store identifier available');\n return null;\n }\n\n const includeParams = DEFAULT_INCLUDE_ITEMS.map((i) => `include[]=${i}`).join('&');\n const scopeId = getActiveScopeId();\n const params = scopeId != null ? `${includeParams}&scope=${scopeId}` : includeParams;\n\n try {\n const json = await api\n // Sent explicitly rather than left to the client's own resolution, so\n // the identifier this function checked is the identifier that travels.\n // They agree today; a caller passing one and being answered about\n // another is the failure this makes impossible rather than unlikely.\n .get(`store/settings?${params}`, {\n timeout: 5000,\n headers: { [STORE_IDENTIFIER_HEADER]: identifier },\n })\n .json<{ data?: SettingsApiResponse }>();\n\n const data = json?.data;\n if (!data) return null;\n\n // Convert languages from object to array\n const languages = languagesToArray(data.languages);\n\n return {\n store: data.store,\n theme: data.theme,\n languages,\n currencies: data.currencies,\n external_services: data.external_services,\n headers: data.headers,\n login: data.login,\n affiliate: data.affiliate,\n policy_url: data.policy_url,\n };\n } catch (error) {\n console.error('[store.settings] Failed:', error);\n return null;\n }\n },\n\n queries: {\n settings: (storeIdentifier?: string) =>\n queryOptions<StoreContext | null>({\n queryKey: [\n 'store',\n 'settings',\n storeIdentifier,\n getTwilightContext().locale,\n getActiveScope(),\n // Two versions of one store's settings are two different answers, and\n // this is the query whose answer decides what every other call is\n // pinned to. `requestedThemeVersionId` rather than the resolved one:\n // the resolved value falls back to what these settings report, so it\n // is not knowable until after this query has run — the key would be\n // one thing on the server and another on the client, and the hydrated\n // page would refetch the settings it was just handed.\n requestedThemeVersionId(),\n ],\n queryFn: () => store.settings(storeIdentifier),\n }),\n },\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { orThrow } from './chunk-63GHZIAG.js';
2
- import { api } from './chunk-O6XXHXC4.js';
1
+ import { orThrow } from './chunk-JDROOL5C.js';
2
+ import { api } from './chunk-F4MMWEII.js';
3
3
  import { queryOptions } from '@tanstack/react-query';
4
4
 
5
5
  function normalizeCartResponse(data) {
@@ -24,5 +24,5 @@ var cart = {
24
24
  };
25
25
 
26
26
  export { cart };
27
- //# sourceMappingURL=chunk-QBIW266S.js.map
28
- //# sourceMappingURL=chunk-QBIW266S.js.map
27
+ //# sourceMappingURL=chunk-2OX3JML4.js.map
28
+ //# sourceMappingURL=chunk-2OX3JML4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/cart.ts"],"names":[],"mappings":";;;;AAWA,SAAS,sBAAsB,IAAA,EAA6B;AAC1D,EAAA,OAAO;AAAA,IACL,GAAG,IAAA,CAAK,IAAA;AAAA,IACR,OAAA,EAAS,KAAK,OAAA,IAAW,IAAA;AAAA,IACzB,IAAA,EAAM,KAAK,IAAA,IAAQ;AAAA,GACrB;AACF;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,GAAA,EAAK,OAAO,MAAA,KAAkC;AAC5C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,GAAA,CAAI,IAAI,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAA,CAAE,IAAA,EAAgC;AACjF,IAAA,OAAO,sBAAsB,IAAI,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,YAAY,CAAC,MAAA,KAAkC,QAAQ,IAAA,CAAK,GAAA,CAAI,MAAM,CAAC,CAAA;AAAA,EAEvE,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,CAAC,MAAA,KACP,YAAA,CAAa;AAAA,MACX,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACzB,OAAA,EAAS,MAAM,IAAA,CAAK,GAAA,CAAI,MAAM;AAAA,KAC/B;AAAA;AAEP","file":"chunk-QBIW266S.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { Cart } from '../types';\nimport { orThrow } from '../providers/NavigationProvider';\n\nexport interface CartApiResponse {\n cart: Omit<Cart, 'loyalty' | 'gift'>;\n loyalty?: Cart['loyalty'];\n gift?: Cart['gift'];\n}\n\nfunction normalizeCartResponse(data: CartApiResponse): Cart {\n return {\n ...data.cart,\n loyalty: data.loyalty ?? null,\n gift: data.gift ?? null,\n } as Cart;\n}\n\nexport const cart = {\n get: async (cartId: number): Promise<Cart> => {\n const { data } = await api.get(`cart/${cartId}`).json<{ data: CartApiResponse }>();\n return normalizeCartResponse(data);\n },\n\n getOrThrow: (cartId: number): Promise<Cart> => orThrow(cart.get(cartId)),\n\n queries: {\n detail: (cartId: number) =>\n queryOptions({\n queryKey: ['cart', cartId],\n queryFn: () => cart.get(cartId),\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/api/cart.ts"],"names":[],"mappings":";;;;AAWA,SAAS,sBAAsB,IAAA,EAA6B;AAC1D,EAAA,OAAO;AAAA,IACL,GAAG,IAAA,CAAK,IAAA;AAAA,IACR,OAAA,EAAS,KAAK,OAAA,IAAW,IAAA;AAAA,IACzB,IAAA,EAAM,KAAK,IAAA,IAAQ;AAAA,GACrB;AACF;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,GAAA,EAAK,OAAO,MAAA,KAAkC;AAC5C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,GAAA,CAAI,IAAI,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAA,CAAE,IAAA,EAAgC;AACjF,IAAA,OAAO,sBAAsB,IAAI,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,YAAY,CAAC,MAAA,KAAkC,QAAQ,IAAA,CAAK,GAAA,CAAI,MAAM,CAAC,CAAA;AAAA,EAEvE,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,CAAC,MAAA,KACP,YAAA,CAAa;AAAA,MACX,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACzB,OAAA,EAAS,MAAM,IAAA,CAAK,GAAA,CAAI,MAAM;AAAA,KAC/B;AAAA;AAEP","file":"chunk-2OX3JML4.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { Cart } from '../types';\nimport { orThrow } from '../providers/NavigationProvider';\n\nexport interface CartApiResponse {\n cart: Omit<Cart, 'loyalty' | 'gift'>;\n loyalty?: Cart['loyalty'];\n gift?: Cart['gift'];\n}\n\nfunction normalizeCartResponse(data: CartApiResponse): Cart {\n return {\n ...data.cart,\n loyalty: data.loyalty ?? null,\n gift: data.gift ?? null,\n } as Cart;\n}\n\nexport const cart = {\n get: async (cartId: number): Promise<Cart> => {\n const { data } = await api.get(`cart/${cartId}`).json<{ data: CartApiResponse }>();\n return normalizeCartResponse(data);\n },\n\n getOrThrow: (cartId: number): Promise<Cart> => orThrow(cart.get(cartId)),\n\n queries: {\n detail: (cartId: number) =>\n queryOptions({\n queryKey: ['cart', cartId],\n queryFn: () => cart.get(cartId),\n }),\n },\n};\n"]}
@@ -1,15 +1,14 @@
1
- import { Header } from './chunk-F5IEB43R.js';
1
+ import { Header } from './chunk-J2GGMK3X.js';
2
2
  import { Copyright } from './chunk-JKIRRMBU.js';
3
3
  import { useDevSettingsOverrides } from './chunk-2JV6WZ6O.js';
4
- import { FAST_CHECKOUT_SCRIPT_URL, FAST_CHECKOUT_SCRIPT_ID } from './chunk-6IATCGID.js';
5
- import { apps } from './chunk-3MHDV5JS.js';
4
+ import { apps } from './chunk-YNY5P2DG.js';
6
5
  import { color } from './chunk-VVZNW5CB.js';
7
- import { applyThemeHookSlots, installAppScope } from './chunk-JD4J2ZB6.js';
8
- import { useLocation, useIsHome, NavigationInterceptor } from './chunk-63GHZIAG.js';
9
- import { useUser } from './chunk-QKIQ3K24.js';
10
- import { syncSdkLocale } from './chunk-3FIWHGCZ.js';
6
+ import { applyThemeHookSlots, installAppScope } from './chunk-KTOKX3GC.js';
7
+ import { useLocation, useIsHome, NavigationInterceptor } from './chunk-JDROOL5C.js';
8
+ import { useUser } from './chunk-UOALND7V.js';
9
+ import { syncSdkLocale } from './chunk-TX6ZP4FF.js';
11
10
  import { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, syncScopeCookie } from './chunk-XTMHHLNK.js';
12
- import { getTwilightContext, updateTwilightContext } from './chunk-PJWFEMBX.js';
11
+ import { getTwilightContext, updateTwilightContext } from './chunk-SOPK72TP.js';
13
12
  import { useAsset } from './chunk-Z653O7MX.js';
14
13
  import { DocumentClassProvider, useDocumentClass } from './chunk-JWXJPJBO.js';
15
14
  import { useTranslation, I18nProvider } from './chunk-TYNZ5B2B.js';
@@ -17,12 +16,12 @@ import { FALLBACK_LOCALE, getLanguageInfo } from './chunk-T72DAX7R.js';
17
16
  import { WidgetHead } from './chunk-RJPPO3ET.js';
18
17
  import { HookSlot } from './chunk-Q7VWURUR.js';
19
18
  import { hookRegistry } from './chunk-GU2KUQVD.js';
20
- import { Image } from './chunk-NQ5FQOE2.js';
19
+ import { Image } from './chunk-JBNI5ZVG.js';
21
20
  import { Link } from './chunk-AXW67SY7.js';
22
21
  import { LazyImageModal } from './chunk-CUG6VOLM.js';
23
22
  import { Toaster } from './chunk-OBSAH7K6.js';
24
23
  import { useTwilight, TwilightContext } from './chunk-DF6FBKDN.js';
25
- import React2, { lazy, Suspense, useCallback, useMemo, useRef, useEffect, useState } from 'react';
24
+ import React2, { lazy, Suspense, useEffect, useCallback, useMemo, useRef, useState } from 'react';
26
25
  import { SallaAppsIcons } from '@salla.sa/twilight-components-react/apps-icons';
27
26
  import { SallaContacts } from '@salla.sa/twilight-components-react/contacts';
28
27
  import { SallaMenu } from '@salla.sa/twilight-components-react/menu';
@@ -110,7 +109,7 @@ function ThemeDocumentSync({
110
109
  }
111
110
 
112
111
  // src/utils/engine-version.ts
113
- var ENGINE_VERSION = "1.0.56" ;
112
+ var ENGINE_VERSION = "1.0.58" ;
114
113
 
115
114
  // src/providers/twilight-init.ts
116
115
  function getSalla() {
@@ -208,13 +207,13 @@ function useTwilightInit({
208
207
  }
209
208
  var navigationSetups = {
210
209
  tanstack: lazy(
211
- () => import('./navigation-JINL5V44.js').then((m) => ({ default: m.NavigationSetup }))
210
+ () => import('./navigation-4VEQUXHI.js').then((m) => ({ default: m.NavigationSetup }))
212
211
  ),
213
- nextjs: lazy(() => import('./navigation-ERMAPC4D.js').then((m) => ({ default: m.NavigationSetup })))
212
+ nextjs: lazy(() => import('./navigation-MVKZENRD.js').then((m) => ({ default: m.NavigationSetup })))
214
213
  };
215
214
  var routeDocumentSyncs = {
216
215
  tanstack: lazy(
217
- () => import('./document-class-JZAILFK3.js').then((m) => ({
216
+ () => import('./document-class-YYEVAIVJ.js').then((m) => ({
218
217
  default: m.TanStackDocumentSync
219
218
  }))
220
219
  )
@@ -737,6 +736,17 @@ function useBreadcrumbs(page) {
737
736
  return [home, { name: page.title, url: location.pathname }];
738
737
  }, [isHome, location.pathname, page, t, referrerCrumb]);
739
738
  }
739
+
740
+ // src/utils/fast-checkout.ts
741
+ var FAST_CHECKOUT_SCRIPT_ID = "fast-checkout-js";
742
+ var FAST_CHECKOUT_SCRIPT_URL = "https://cdn.assets.salla.network/mini-checkout/widget/widget.esm.js?v=0.0.9";
743
+ var fastCheckoutScript = () => ({ type: "module", src: FAST_CHECKOUT_SCRIPT_URL });
744
+ function injectFastCheckoutScript() {
745
+ if (document.querySelector(`script[src="${FAST_CHECKOUT_SCRIPT_URL}"]`)) return;
746
+ const s = document.createElement("script");
747
+ Object.assign(s, fastCheckoutScript());
748
+ document.head.appendChild(s);
749
+ }
740
750
  var GoogleTagBody = lazy(
741
751
  () => import('./GoogleTag-HBGKI3VH.js').then((m) => ({ default: m.GoogleTagBody }))
742
752
  );
@@ -747,7 +757,7 @@ var LazySiftSnippet = lazy(
747
757
  () => import('./SiftSnippet-5FCU6TR6.js').then((m) => ({ default: m.SiftSnippet }))
748
758
  );
749
759
  var LazyStoreClosedNotification = lazy(
750
- () => import('./StoreClosedNotification-OALAFI4Y.js').then((m) => ({
760
+ () => import('./StoreClosedNotification-5XWRDBPA.js').then((m) => ({
751
761
  default: m.StoreClosedNotification
752
762
  }))
753
763
  );
@@ -779,11 +789,22 @@ function storeClosedHandler({ twilight }) {
779
789
  }
780
790
  return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(LazyStoreClosedNotification, {}) });
781
791
  }
792
+ function FastCheckoutTag() {
793
+ useEffect(() => {
794
+ if (typeof window.requestIdleCallback === "function") {
795
+ const id2 = window.requestIdleCallback(injectFastCheckoutScript);
796
+ return () => window.cancelIdleCallback(id2);
797
+ }
798
+ const id = window.setTimeout(injectFastCheckoutScript, 2e3);
799
+ return () => window.clearTimeout(id);
800
+ }, []);
801
+ return /* @__PURE__ */ jsx("script", { id: FAST_CHECKOUT_SCRIPT_ID, type: "module" });
802
+ }
782
803
  function fastCheckoutHandler({ twilight }) {
783
804
  if (!twilight?.store?.settings?.buy_now) {
784
805
  return null;
785
806
  }
786
- return /* @__PURE__ */ jsx("script", { id: FAST_CHECKOUT_SCRIPT_ID, type: "module", src: FAST_CHECKOUT_SCRIPT_URL });
807
+ return /* @__PURE__ */ jsx(FastCheckoutTag, {});
787
808
  }
788
809
  function bundlesHandler() {
789
810
  return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(TwilightBundles, {}) });
@@ -1316,6 +1337,6 @@ function useStore() {
1316
1337
  return { ...store, refresh };
1317
1338
  }
1318
1339
 
1319
- export { Footer, MasterLayout, TwilightProvider, registerDefaultHooks, registerDocumentSync, routeDocumentSyncs, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore };
1320
- //# sourceMappingURL=chunk-NSSKTF6I.js.map
1321
- //# sourceMappingURL=chunk-NSSKTF6I.js.map
1340
+ export { Footer, MasterLayout, TwilightProvider, fastCheckoutScript, registerDefaultHooks, registerDocumentSync, routeDocumentSyncs, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore };
1341
+ //# sourceMappingURL=chunk-36PDYP56.js.map
1342
+ //# sourceMappingURL=chunk-36PDYP56.js.map