@salla.sa/twilight-theme-engine 1.0.26 → 1.0.28

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 (196) hide show
  1. package/dist/{AddToCartForm-HQUHBCXL.js → AddToCartForm-IWVO64M7.js} +3 -3
  2. package/dist/{AddToCartForm-HQUHBCXL.js.map → AddToCartForm-IWVO64M7.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-5KR6ZSWM.js → BlogAuthorPage-UONQGYTP.js} +13 -13
  4. package/dist/{BlogAuthorPage-5KR6ZSWM.js.map → BlogAuthorPage-UONQGYTP.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-YDYYTLVN.js → BlogCategoryPage-CAJTWGJ6.js} +13 -13
  6. package/dist/{BlogCategoryPage-YDYYTLVN.js.map → BlogCategoryPage-CAJTWGJ6.js.map} +1 -1
  7. package/dist/{BlogPage-XRXCAKIG.js → BlogPage-I2IWYXVG.js} +11 -11
  8. package/dist/{BlogPage-XRXCAKIG.js.map → BlogPage-I2IWYXVG.js.map} +1 -1
  9. package/dist/{BlogSinglePage-PT46EPVR.js → BlogSinglePage-K5HNRZEZ.js} +11 -11
  10. package/dist/{BlogSinglePage-PT46EPVR.js.map → BlogSinglePage-K5HNRZEZ.js.map} +1 -1
  11. package/dist/{BlogTagPage-WBYSBULM.js → BlogTagPage-4JRERM6S.js} +13 -13
  12. package/dist/{BlogTagPage-WBYSBULM.js.map → BlogTagPage-4JRERM6S.js.map} +1 -1
  13. package/dist/{BrandsPage-NHL6RUIO.js → BrandsPage-CT4FPSXN.js} +11 -11
  14. package/dist/{BrandsPage-NHL6RUIO.js.map → BrandsPage-CT4FPSXN.js.map} +1 -1
  15. package/dist/{Breadcrumb-YE4W7Y2V.js → Breadcrumb-7PRRXYSW.js} +11 -11
  16. package/dist/{Breadcrumb-YE4W7Y2V.js.map → Breadcrumb-7PRRXYSW.js.map} +1 -1
  17. package/dist/{CartItem-IRQIHZA3.js → CartItem-D2CHYGEH.js} +11 -11
  18. package/dist/{CartItem-IRQIHZA3.js.map → CartItem-D2CHYGEH.js.map} +1 -1
  19. package/dist/{CartSummary-FLNKVT5Z.js → CartSummary-N47IDRQR.js} +11 -11
  20. package/dist/{CartSummary-FLNKVT5Z.js.map → CartSummary-N47IDRQR.js.map} +1 -1
  21. package/dist/{Copyright-RNY57FLT.js → Copyright-3PU36ZHD.js} +3 -3
  22. package/dist/{Copyright-RNY57FLT.js.map → Copyright-3PU36ZHD.js.map} +1 -1
  23. package/dist/{CustomerLayout-I4CFFVI5.js → CustomerLayout-WY6V5RLJ.js} +11 -11
  24. package/dist/{CustomerLayout-I4CFFVI5.js.map → CustomerLayout-WY6V5RLJ.js.map} +1 -1
  25. package/dist/{Footer-JFVR7LCW.js → Footer-OF6HYDT7.js} +11 -11
  26. package/dist/{Footer-JFVR7LCW.js.map → Footer-OF6HYDT7.js.map} +1 -1
  27. package/dist/{Header-CDTMRJXR.js → Header-LDRXI6GS.js} +4 -4
  28. package/dist/{Header-CDTMRJXR.js.map → Header-LDRXI6GS.js.map} +1 -1
  29. package/dist/{LoyaltyPage-CLGAYA5A.js → LoyaltyPage-WWK4OBN7.js} +12 -12
  30. package/dist/{LoyaltyPage-CLGAYA5A.js.map → LoyaltyPage-WWK4OBN7.js.map} +1 -1
  31. package/dist/{MainMenu-HJBWDQOW.js → MainMenu-G3S7VA6V.js} +6 -6
  32. package/dist/{MainMenu-HJBWDQOW.js.map → MainMenu-G3S7VA6V.js.map} +1 -1
  33. package/dist/{MasterLayout-63O5U4NC.js → MasterLayout-R2SPK6UT.js} +11 -11
  34. package/dist/{MasterLayout-63O5U4NC.js.map → MasterLayout-R2SPK6UT.js.map} +1 -1
  35. package/dist/{MobileMenu-CM2PD4MS.js → MobileMenu-5UTAZN25.js} +12 -12
  36. package/dist/{MobileMenu-CM2PD4MS.js.map → MobileMenu-5UTAZN25.js.map} +1 -1
  37. package/dist/{NotificationsPage-V4TCBIEW.js → NotificationsPage-OBEEYRYG.js} +11 -11
  38. package/dist/{NotificationsPage-V4TCBIEW.js.map → NotificationsPage-OBEEYRYG.js.map} +1 -1
  39. package/dist/{OrderSinglePage-E3GQ2NIZ.js → OrderSinglePage-GES4DPXH.js} +12 -12
  40. package/dist/{OrderSinglePage-E3GQ2NIZ.js.map → OrderSinglePage-GES4DPXH.js.map} +1 -1
  41. package/dist/{OrdersPage-MPWUQC44.js → OrdersPage-LNSRSB4C.js} +12 -12
  42. package/dist/{OrdersPage-MPWUQC44.js.map → OrdersPage-LNSRSB4C.js.map} +1 -1
  43. package/dist/{PageSingle-KEHDYXAT.js → PageSingle-MFCH3CEI.js} +3 -3
  44. package/dist/{PageSingle-KEHDYXAT.js.map → PageSingle-MFCH3CEI.js.map} +1 -1
  45. package/dist/{ProductDetails-MRYRXTE5.js → ProductDetails-IT7NJKFR.js} +3 -3
  46. package/dist/{ProductDetails-MRYRXTE5.js.map → ProductDetails-IT7NJKFR.js.map} +1 -1
  47. package/dist/{ProfilePage-UVKW2ZNI.js → ProfilePage-3SFVX5TR.js} +11 -11
  48. package/dist/{ProfilePage-UVKW2ZNI.js.map → ProfilePage-3SFVX5TR.js.map} +1 -1
  49. package/dist/{SeoCartWidget-Z2ZR3H3H.js → SeoCartWidget-S6OZ55C4.js} +11 -11
  50. package/dist/{SeoCartWidget-Z2ZR3H3H.js.map → SeoCartWidget-S6OZ55C4.js.map} +1 -1
  51. package/dist/{SettingsPage-N7DMHKF5.js → SettingsPage-B6PQYWWH.js} +11 -11
  52. package/dist/{SettingsPage-N7DMHKF5.js.map → SettingsPage-B6PQYWWH.js.map} +1 -1
  53. package/dist/{StoreClosedNotification-PIBFFMV6.js → StoreClosedNotification-JLYGKTZH.js} +12 -12
  54. package/dist/{StoreClosedNotification-PIBFFMV6.js.map → StoreClosedNotification-JLYGKTZH.js.map} +1 -1
  55. package/dist/{TestimonialsPage-H6ZI3C3E.js → TestimonialsPage-CZ2LIFOH.js} +3 -3
  56. package/dist/{TestimonialsPage-H6ZI3C3E.js.map → TestimonialsPage-CZ2LIFOH.js.map} +1 -1
  57. package/dist/{ThankYouPage-KZ5KTX5X.js → ThankYouPage-IGGPBXT2.js} +11 -11
  58. package/dist/{ThankYouPage-KZ5KTX5X.js.map → ThankYouPage-IGGPBXT2.js.map} +1 -1
  59. package/dist/{WalletPage-U4DAEUHY.js → WalletPage-RQBVIZV4.js} +12 -12
  60. package/dist/{WalletPage-U4DAEUHY.js.map → WalletPage-RQBVIZV4.js.map} +1 -1
  61. package/dist/{WishlistPage-SQ6YDRQM.js → WishlistPage-LBU6IZAK.js} +12 -12
  62. package/dist/{WishlistPage-SQ6YDRQM.js.map → WishlistPage-LBU6IZAK.js.map} +1 -1
  63. package/dist/api/apps.js +3 -3
  64. package/dist/api/brands.js +3 -3
  65. package/dist/api/cart.js +3 -3
  66. package/dist/api/category.js +3 -3
  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 +2 -2
  70. package/dist/api/home.js +3 -3
  71. package/dist/api/loyalty.js +3 -3
  72. package/dist/api/menu.js +3 -3
  73. package/dist/api/notification.js +3 -3
  74. package/dist/api/order.js +3 -3
  75. package/dist/api/page.js +3 -3
  76. package/dist/api/product.js +3 -3
  77. package/dist/api/profile.js +2 -2
  78. package/dist/api/store.d.ts +2 -24
  79. package/dist/api/store.d.ts.map +1 -1
  80. package/dist/api/store.js +3 -3
  81. package/dist/api/translations.js +3 -3
  82. package/dist/api/user.js +3 -3
  83. package/dist/api/wishlist.js +3 -3
  84. package/dist/{chunk-GUAM3RX2.js → chunk-3KRYKGMY.js} +3 -3
  85. package/dist/{chunk-GUAM3RX2.js.map → chunk-3KRYKGMY.js.map} +1 -1
  86. package/dist/{chunk-4HXLDKIV.js → chunk-3MEAEE7K.js} +3 -3
  87. package/dist/{chunk-4HXLDKIV.js.map → chunk-3MEAEE7K.js.map} +1 -1
  88. package/dist/{chunk-GLRQJVTK.js → chunk-3Z7TBM7W.js} +3 -3
  89. package/dist/{chunk-GLRQJVTK.js.map → chunk-3Z7TBM7W.js.map} +1 -1
  90. package/dist/{chunk-ENVH4QCO.js → chunk-66CUW6VR.js} +4 -4
  91. package/dist/{chunk-ENVH4QCO.js.map → chunk-66CUW6VR.js.map} +1 -1
  92. package/dist/{chunk-AIODAVGT.js → chunk-6MREJTVB.js} +3 -3
  93. package/dist/{chunk-AIODAVGT.js.map → chunk-6MREJTVB.js.map} +1 -1
  94. package/dist/{chunk-NGGPWAAN.js → chunk-75HMCUTB.js} +3 -3
  95. package/dist/{chunk-NGGPWAAN.js.map → chunk-75HMCUTB.js.map} +1 -1
  96. package/dist/{chunk-SSZUSUPD.js → chunk-ALUEX3YC.js} +3 -3
  97. package/dist/{chunk-SSZUSUPD.js.map → chunk-ALUEX3YC.js.map} +1 -1
  98. package/dist/{chunk-P5M6ZWBT.js → chunk-AU7PMZV4.js} +3 -3
  99. package/dist/{chunk-P5M6ZWBT.js.map → chunk-AU7PMZV4.js.map} +1 -1
  100. package/dist/{chunk-5V5MFZEC.js → chunk-C3UUGHTX.js} +3 -3
  101. package/dist/{chunk-5V5MFZEC.js.map → chunk-C3UUGHTX.js.map} +1 -1
  102. package/dist/{chunk-BJPYNISN.js → chunk-DOOZU75W.js} +3 -3
  103. package/dist/{chunk-BJPYNISN.js.map → chunk-DOOZU75W.js.map} +1 -1
  104. package/dist/{chunk-6CRRDUBY.js → chunk-EIFCJLBN.js} +3 -3
  105. package/dist/{chunk-6CRRDUBY.js.map → chunk-EIFCJLBN.js.map} +1 -1
  106. package/dist/{chunk-XIS2E2UO.js → chunk-ELOCFIZE.js} +5 -5
  107. package/dist/{chunk-XIS2E2UO.js.map → chunk-ELOCFIZE.js.map} +1 -1
  108. package/dist/{chunk-BQDXQ6P7.js → chunk-EXRS5IAC.js} +3 -3
  109. package/dist/{chunk-BQDXQ6P7.js.map → chunk-EXRS5IAC.js.map} +1 -1
  110. package/dist/{chunk-EQYBGXF4.js → chunk-EZSYN4P3.js} +8 -5
  111. package/dist/chunk-EZSYN4P3.js.map +1 -0
  112. package/dist/{chunk-YV36WMOT.js → chunk-F27YMAOM.js} +3 -3
  113. package/dist/{chunk-YV36WMOT.js.map → chunk-F27YMAOM.js.map} +1 -1
  114. package/dist/chunk-FE6ULRVJ.js +14 -0
  115. package/dist/{chunk-ONX67JTO.js.map → chunk-FE6ULRVJ.js.map} +1 -1
  116. package/dist/{chunk-HUPUM4VJ.js → chunk-GL3ZWX64.js} +3 -3
  117. package/dist/{chunk-HUPUM4VJ.js.map → chunk-GL3ZWX64.js.map} +1 -1
  118. package/dist/{chunk-ZRG6Z7GP.js → chunk-I4PD6BEP.js} +3 -3
  119. package/dist/{chunk-ZRG6Z7GP.js.map → chunk-I4PD6BEP.js.map} +1 -1
  120. package/dist/{chunk-ZYMBBAEK.js → chunk-IK6X5HMK.js} +3 -3
  121. package/dist/{chunk-ZYMBBAEK.js.map → chunk-IK6X5HMK.js.map} +1 -1
  122. package/dist/{chunk-FJPAHB6Y.js → chunk-JTJKKF6S.js} +11 -11
  123. package/dist/{chunk-FJPAHB6Y.js.map → chunk-JTJKKF6S.js.map} +1 -1
  124. package/dist/{chunk-AFLP4PCU.js → chunk-K5V67DOI.js} +8 -8
  125. package/dist/{chunk-AFLP4PCU.js.map → chunk-K5V67DOI.js.map} +1 -1
  126. package/dist/{chunk-P2SWZ265.js → chunk-NGYYCFTS.js} +3 -3
  127. package/dist/{chunk-P2SWZ265.js.map → chunk-NGYYCFTS.js.map} +1 -1
  128. package/dist/{chunk-TZXOJOH7.js → chunk-NMOAEWI6.js} +6 -6
  129. package/dist/{chunk-TZXOJOH7.js.map → chunk-NMOAEWI6.js.map} +1 -1
  130. package/dist/{chunk-GSNKBCDJ.js → chunk-NR2XM4KT.js} +3 -3
  131. package/dist/{chunk-GSNKBCDJ.js.map → chunk-NR2XM4KT.js.map} +1 -1
  132. package/dist/{chunk-W3V547Y7.js → chunk-OEGDGMRX.js} +3 -3
  133. package/dist/{chunk-W3V547Y7.js.map → chunk-OEGDGMRX.js.map} +1 -1
  134. package/dist/{chunk-ZYKBHBBH.js → chunk-QZ6I5CA7.js} +10 -23
  135. package/dist/chunk-QZ6I5CA7.js.map +1 -0
  136. package/dist/{chunk-MM2EZ2GX.js → chunk-WBLT4Y4A.js} +5 -5
  137. package/dist/{chunk-MM2EZ2GX.js.map → chunk-WBLT4Y4A.js.map} +1 -1
  138. package/dist/{chunk-4EYOXF7U.js → chunk-WS4563U3.js} +5 -5
  139. package/dist/{chunk-4EYOXF7U.js.map → chunk-WS4563U3.js.map} +1 -1
  140. package/dist/{chunk-32JMBGG4.js → chunk-YFINXDSK.js} +4 -4
  141. package/dist/{chunk-32JMBGG4.js.map → chunk-YFINXDSK.js.map} +1 -1
  142. package/dist/{chunk-QCWPF7W4.js → chunk-YZUNEFDM.js} +21 -14
  143. package/dist/chunk-YZUNEFDM.js.map +1 -0
  144. package/dist/{chunk-3CPZ4SMV.js → chunk-ZAJOW3MZ.js} +3 -3
  145. package/dist/{chunk-3CPZ4SMV.js.map → chunk-ZAJOW3MZ.js.map} +1 -1
  146. package/dist/{chunk-IK2A36AH.js → chunk-ZCLXL3VH.js} +3 -3
  147. package/dist/{chunk-IK2A36AH.js.map → chunk-ZCLXL3VH.js.map} +1 -1
  148. package/dist/components/cart/index.js +1 -1
  149. package/dist/components/common/index.js +1 -1
  150. package/dist/components/drawer/index.js +9 -9
  151. package/dist/components/home/index.js +12 -12
  152. package/dist/components/layout/index.js +5 -5
  153. package/dist/components/product/index.js +10 -10
  154. package/dist/components/store/index.js +11 -11
  155. package/dist/{document-class-6343SXKE.js → document-class-44DOTPY6.js} +9 -9
  156. package/dist/{document-class-6343SXKE.js.map → document-class-44DOTPY6.js.map} +1 -1
  157. package/dist/hooks/index.js +9 -9
  158. package/dist/hooks/useGtm.js +9 -9
  159. package/dist/hooks/useMoney.js +9 -9
  160. package/dist/hooks/useStore.js +9 -9
  161. package/dist/hooks/useUser.js +4 -4
  162. package/dist/index.js +9 -9
  163. package/dist/{not-found-NR6ESAAX.js → not-found-XS5AQUB3.js} +11 -11
  164. package/dist/{not-found-NR6ESAAX.js.map → not-found-XS5AQUB3.js.map} +1 -1
  165. package/dist/providers/index.js +9 -9
  166. package/dist/routes/account/orders.js +4 -4
  167. package/dist/routes/account.js +12 -12
  168. package/dist/routes/blog.js +8 -8
  169. package/dist/routes/brands.js +4 -4
  170. package/dist/routes/cart.js +17 -17
  171. package/dist/routes/home.js +14 -14
  172. package/dist/routes/loyalty.js +4 -4
  173. package/dist/routes/page.js +4 -4
  174. package/dist/routes/product-listing.js +14 -14
  175. package/dist/routes/product.js +12 -12
  176. package/dist/routes/testimonials.js +1 -1
  177. package/dist/routes/thank-you.js +4 -4
  178. package/dist/skeleton.js +14 -14
  179. package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
  180. package/dist/tanstack.js +11 -8
  181. package/dist/tanstack.js.map +1 -1
  182. package/dist/utils/cookies.d.ts +11 -0
  183. package/dist/utils/cookies.d.ts.map +1 -1
  184. package/dist/utils/index.js +2 -2
  185. package/dist/utils/request-host.d.ts +30 -0
  186. package/dist/utils/request-host.d.ts.map +1 -0
  187. package/dist/utils/runtime-env.d.ts.map +1 -1
  188. package/dist/utils/sdk-helpers.d.ts +10 -4
  189. package/dist/utils/sdk-helpers.d.ts.map +1 -1
  190. package/dist/utils/store-identity.d.ts +28 -0
  191. package/dist/utils/store-identity.d.ts.map +1 -0
  192. package/package.json +1 -1
  193. package/dist/chunk-EQYBGXF4.js.map +0 -1
  194. package/dist/chunk-ONX67JTO.js +0 -14
  195. package/dist/chunk-QCWPF7W4.js.map +0 -1
  196. package/dist/chunk-ZYKBHBBH.js.map +0 -1
@@ -1,17 +1,17 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-FJPAHB6Y.js';
2
- import '../chunk-MM2EZ2GX.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-JTJKKF6S.js';
2
+ import '../chunk-WBLT4Y4A.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
- import '../chunk-4HXLDKIV.js';
5
+ import '../chunk-3MEAEE7K.js';
6
6
  import '../chunk-VVZNW5CB.js';
7
- import '../chunk-GLRQJVTK.js';
7
+ import '../chunk-3Z7TBM7W.js';
8
8
  export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-MAQPYTER.js';
9
9
  export { RouteId } from '../chunk-MTONGOJD.js';
10
10
  import '../chunk-C5X6CVXC.js';
11
- import '../chunk-BQDXQ6P7.js';
12
- import '../chunk-5V5MFZEC.js';
13
- import '../chunk-EQYBGXF4.js';
14
- import '../chunk-QCWPF7W4.js';
11
+ import '../chunk-EXRS5IAC.js';
12
+ import '../chunk-C3UUGHTX.js';
13
+ import '../chunk-EZSYN4P3.js';
14
+ import '../chunk-YZUNEFDM.js';
15
15
  export { SettingsError } from '../chunk-XITF2PHC.js';
16
16
  import '../chunk-TP3LCGE7.js';
17
17
  import '../chunk-Z653O7MX.js';
@@ -28,7 +28,7 @@ import '../chunk-YMVLYYLU.js';
28
28
  import '../chunk-RJPPO3ET.js';
29
29
  import '../chunk-Q7VWURUR.js';
30
30
  import '../chunk-GU2KUQVD.js';
31
- import '../chunk-ZRG6Z7GP.js';
31
+ import '../chunk-I4PD6BEP.js';
32
32
  import '../chunk-AXW67SY7.js';
33
33
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
34
34
  import '../chunk-6BZ5TKEV.js';
@@ -1,10 +1,10 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-4EYOXF7U.js';
2
- import '../../chunk-SSZUSUPD.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-WS4563U3.js';
2
+ import '../../chunk-ALUEX3YC.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-MAQPYTER.js';
5
5
  import '../../chunk-MTONGOJD.js';
6
- import '../../chunk-EQYBGXF4.js';
7
- import '../../chunk-QCWPF7W4.js';
6
+ import '../../chunk-EZSYN4P3.js';
7
+ import '../../chunk-YZUNEFDM.js';
8
8
  import '../../chunk-XITF2PHC.js';
9
9
  import '../../chunk-T72DAX7R.js';
10
10
  import '../../chunk-DF6FBKDN.js';
@@ -1,13 +1,13 @@
1
- import { wallet } from '../chunk-NGGPWAAN.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-4EYOXF7U.js';
3
- import '../chunk-SSZUSUPD.js';
4
- import { notification } from '../chunk-W3V547Y7.js';
5
- import { wishlist } from '../chunk-BJPYNISN.js';
1
+ import { wallet } from '../chunk-75HMCUTB.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-WS4563U3.js';
3
+ import '../chunk-ALUEX3YC.js';
4
+ import { notification } from '../chunk-OEGDGMRX.js';
5
+ import { wishlist } from '../chunk-DOOZU75W.js';
6
6
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
7
7
  import { unauthorized, orUnauthorized } from '../chunk-MAQPYTER.js';
8
8
  import { RouteId } from '../chunk-MTONGOJD.js';
9
- import '../chunk-EQYBGXF4.js';
10
- import '../chunk-QCWPF7W4.js';
9
+ import '../chunk-EZSYN4P3.js';
10
+ import '../chunk-YZUNEFDM.js';
11
11
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
12
12
  import '../chunk-T72DAX7R.js';
13
13
  import '../chunk-DF6FBKDN.js';
@@ -28,7 +28,7 @@ async function profileLoader(_ctx) {
28
28
 
29
29
  // src/routes/account/profile/index.tsx
30
30
  var LazyProfilePage = lazy(
31
- () => import('../ProfilePage-UVKW2ZNI.js').then((m) => ({ default: m.ProfilePage }))
31
+ () => import('../ProfilePage-3SFVX5TR.js').then((m) => ({ default: m.ProfilePage }))
32
32
  );
33
33
  var ProfilePage = LazyProfilePage;
34
34
  var Profile = {
@@ -69,7 +69,7 @@ async function wishlistLoader(ctx) {
69
69
 
70
70
  // src/routes/account/wishlist/index.tsx
71
71
  var LazyWishlistPage = lazy(
72
- () => import('../WishlistPage-SQ6YDRQM.js').then((m) => ({ default: m.WishlistPage }))
72
+ () => import('../WishlistPage-LBU6IZAK.js').then((m) => ({ default: m.WishlistPage }))
73
73
  );
74
74
  var WishlistPage = LazyWishlistPage;
75
75
  var Wishlist = {
@@ -110,7 +110,7 @@ async function walletLoader(ctx) {
110
110
  }
111
111
 
112
112
  // src/routes/account/wallet/index.tsx
113
- var LazyWalletPage = lazy(() => import('../WalletPage-U4DAEUHY.js').then((m) => ({ default: m.WalletPage })));
113
+ var LazyWalletPage = lazy(() => import('../WalletPage-RQBVIZV4.js').then((m) => ({ default: m.WalletPage })));
114
114
  var WalletPage = LazyWalletPage;
115
115
  var Wallet = {
116
116
  id: RouteId.CUSTOMER_WALLET,
@@ -145,7 +145,7 @@ async function notificationsLoader(_ctx) {
145
145
 
146
146
  // src/routes/account/notifications/index.tsx
147
147
  var LazyNotificationsPage = lazy(
148
- () => import('../NotificationsPage-V4TCBIEW.js').then((m) => ({ default: m.NotificationsPage }))
148
+ () => import('../NotificationsPage-OBEEYRYG.js').then((m) => ({ default: m.NotificationsPage }))
149
149
  );
150
150
  var NotificationsPage = LazyNotificationsPage;
151
151
  var Notifications = {
@@ -177,7 +177,7 @@ async function settingsLoader(_ctx) {
177
177
 
178
178
  // src/routes/account/settings/index.tsx
179
179
  var LazySettingsPage = lazy(
180
- () => import('../SettingsPage-N7DMHKF5.js').then((m) => ({ default: m.SettingsPage }))
180
+ () => import('../SettingsPage-B6PQYWWH.js').then((m) => ({ default: m.SettingsPage }))
181
181
  );
182
182
  var SettingsPage = LazySettingsPage;
183
183
  var Settings = {
@@ -1,9 +1,9 @@
1
- import { blog } from '../chunk-6CRRDUBY.js';
1
+ import { blog } from '../chunk-EIFCJLBN.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-MAQPYTER.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-EQYBGXF4.js';
6
- import '../chunk-QCWPF7W4.js';
5
+ import '../chunk-EZSYN4P3.js';
6
+ import '../chunk-YZUNEFDM.js';
7
7
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
@@ -133,18 +133,18 @@ async function blogTagLoader({
133
133
  }
134
134
 
135
135
  // src/routes/blog/index.tsx
136
- var LazyBlogPage = lazy(() => import('../BlogPage-XRXCAKIG.js').then((m) => ({ default: m.BlogPage })));
136
+ var LazyBlogPage = lazy(() => import('../BlogPage-I2IWYXVG.js').then((m) => ({ default: m.BlogPage })));
137
137
  var LazyBlogSinglePage = lazy(
138
- () => import('../BlogSinglePage-PT46EPVR.js').then((m) => ({ default: m.BlogSinglePage }))
138
+ () => import('../BlogSinglePage-K5HNRZEZ.js').then((m) => ({ default: m.BlogSinglePage }))
139
139
  );
140
140
  var LazyBlogAuthorPage = lazy(
141
- () => import('../BlogAuthorPage-5KR6ZSWM.js').then((m) => ({ default: m.BlogAuthorPage }))
141
+ () => import('../BlogAuthorPage-UONQGYTP.js').then((m) => ({ default: m.BlogAuthorPage }))
142
142
  );
143
143
  var LazyBlogCategoryPage = lazy(
144
- () => import('../BlogCategoryPage-YDYYTLVN.js').then((m) => ({ default: m.BlogCategoryPage }))
144
+ () => import('../BlogCategoryPage-CAJTWGJ6.js').then((m) => ({ default: m.BlogCategoryPage }))
145
145
  );
146
146
  var LazyBlogTagPage = lazy(
147
- () => import('../BlogTagPage-WBYSBULM.js').then((m) => ({ default: m.BlogTagPage }))
147
+ () => import('../BlogTagPage-4JRERM6S.js').then((m) => ({ default: m.BlogTagPage }))
148
148
  );
149
149
  var BlogPage = LazyBlogPage;
150
150
  var BlogSinglePage = LazyBlogSinglePage;
@@ -1,9 +1,9 @@
1
- import { brand } from '../chunk-HUPUM4VJ.js';
1
+ import { brand } from '../chunk-GL3ZWX64.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-MAQPYTER.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-EQYBGXF4.js';
6
- import '../chunk-QCWPF7W4.js';
5
+ import '../chunk-EZSYN4P3.js';
6
+ import '../chunk-YZUNEFDM.js';
7
7
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
@@ -33,7 +33,7 @@ async function brandsLoader() {
33
33
  }
34
34
 
35
35
  // src/routes/brands/index.tsx
36
- var LazyBrandsPage = lazy(() => import('../BrandsPage-NHL6RUIO.js').then((m) => ({ default: m.BrandsPage })));
36
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-CT4FPSXN.js').then((m) => ({ default: m.BrandsPage })));
37
37
  var BrandsPage = LazyBrandsPage;
38
38
  async function brandsLoaderWithExtend(_ctx, extend) {
39
39
  const data = await brandsLoader();
@@ -1,28 +1,28 @@
1
- import { cart } from '../chunk-GUAM3RX2.js';
2
- import { loyalty } from '../chunk-IK2A36AH.js';
1
+ import { cart } from '../chunk-3KRYKGMY.js';
2
+ import { loyalty } from '../chunk-ZCLXL3VH.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-ENVH4QCO.js';
5
- import '../chunk-ZYMBBAEK.js';
4
+ import '../chunk-66CUW6VR.js';
5
+ import '../chunk-IK6X5HMK.js';
6
6
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
7
- import '../chunk-XIS2E2UO.js';
8
- import '../chunk-AIODAVGT.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-ONX67JTO.js';
10
- import '../chunk-TZXOJOH7.js';
7
+ import '../chunk-ELOCFIZE.js';
8
+ import '../chunk-6MREJTVB.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-FE6ULRVJ.js';
10
+ import '../chunk-NMOAEWI6.js';
11
11
  import '../chunk-G7ALL4BC.js';
12
- import '../chunk-FJPAHB6Y.js';
13
- import '../chunk-MM2EZ2GX.js';
12
+ import '../chunk-JTJKKF6S.js';
13
+ import '../chunk-WBLT4Y4A.js';
14
14
  import '../chunk-JKIRRMBU.js';
15
15
  import '../chunk-2JV6WZ6O.js';
16
- import '../chunk-4HXLDKIV.js';
16
+ import '../chunk-3MEAEE7K.js';
17
17
  import '../chunk-VVZNW5CB.js';
18
- import '../chunk-GLRQJVTK.js';
18
+ import '../chunk-3Z7TBM7W.js';
19
19
  import '../chunk-MAQPYTER.js';
20
20
  import { RouteId } from '../chunk-MTONGOJD.js';
21
21
  import '../chunk-C5X6CVXC.js';
22
- import '../chunk-BQDXQ6P7.js';
23
- import '../chunk-5V5MFZEC.js';
24
- import '../chunk-EQYBGXF4.js';
25
- import '../chunk-QCWPF7W4.js';
22
+ import '../chunk-EXRS5IAC.js';
23
+ import '../chunk-C3UUGHTX.js';
24
+ import '../chunk-EZSYN4P3.js';
25
+ import '../chunk-YZUNEFDM.js';
26
26
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
27
27
  import '../chunk-TP3LCGE7.js';
28
28
  import '../chunk-Z653O7MX.js';
@@ -39,7 +39,7 @@ import '../chunk-YMVLYYLU.js';
39
39
  import '../chunk-RJPPO3ET.js';
40
40
  import { HookSlot } from '../chunk-Q7VWURUR.js';
41
41
  import '../chunk-GU2KUQVD.js';
42
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-ZRG6Z7GP.js';
42
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-I4PD6BEP.js';
43
43
  import '../chunk-AXW67SY7.js';
44
44
  import '../chunk-BYMOPN2S.js';
45
45
  import '../chunk-6BZ5TKEV.js';
@@ -1,24 +1,24 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-ENVH4QCO.js';
2
- import '../chunk-ZYMBBAEK.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-66CUW6VR.js';
2
+ import '../chunk-IK6X5HMK.js';
3
3
  import '../chunk-TZ3E5BN4.js';
4
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-XIS2E2UO.js';
5
- import '../chunk-AIODAVGT.js';
6
- import '../chunk-TZXOJOH7.js';
4
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-ELOCFIZE.js';
5
+ import '../chunk-6MREJTVB.js';
6
+ import '../chunk-NMOAEWI6.js';
7
7
  import '../chunk-G7ALL4BC.js';
8
- import '../chunk-FJPAHB6Y.js';
9
- import '../chunk-MM2EZ2GX.js';
8
+ import '../chunk-JTJKKF6S.js';
9
+ import '../chunk-WBLT4Y4A.js';
10
10
  import '../chunk-JKIRRMBU.js';
11
11
  import '../chunk-2JV6WZ6O.js';
12
- import '../chunk-4HXLDKIV.js';
12
+ import '../chunk-3MEAEE7K.js';
13
13
  import '../chunk-VVZNW5CB.js';
14
- import '../chunk-GLRQJVTK.js';
14
+ import '../chunk-3Z7TBM7W.js';
15
15
  import '../chunk-MAQPYTER.js';
16
16
  import '../chunk-MTONGOJD.js';
17
17
  import '../chunk-C5X6CVXC.js';
18
- import '../chunk-BQDXQ6P7.js';
19
- import '../chunk-5V5MFZEC.js';
20
- import '../chunk-EQYBGXF4.js';
21
- import '../chunk-QCWPF7W4.js';
18
+ import '../chunk-EXRS5IAC.js';
19
+ import '../chunk-C3UUGHTX.js';
20
+ import '../chunk-EZSYN4P3.js';
21
+ import '../chunk-YZUNEFDM.js';
22
22
  import '../chunk-XITF2PHC.js';
23
23
  import '../chunk-TP3LCGE7.js';
24
24
  import '../chunk-Z653O7MX.js';
@@ -35,7 +35,7 @@ import '../chunk-YMVLYYLU.js';
35
35
  import '../chunk-RJPPO3ET.js';
36
36
  import '../chunk-Q7VWURUR.js';
37
37
  import '../chunk-GU2KUQVD.js';
38
- import '../chunk-ZRG6Z7GP.js';
38
+ import '../chunk-I4PD6BEP.js';
39
39
  import '../chunk-AXW67SY7.js';
40
40
  import '../chunk-BYMOPN2S.js';
41
41
  import '../chunk-6BZ5TKEV.js';
@@ -1,9 +1,9 @@
1
- import { loyalty } from '../chunk-IK2A36AH.js';
1
+ import { loyalty } from '../chunk-ZCLXL3VH.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-MAQPYTER.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-EQYBGXF4.js';
6
- import '../chunk-QCWPF7W4.js';
5
+ import '../chunk-EZSYN4P3.js';
6
+ import '../chunk-YZUNEFDM.js';
7
7
  import '../chunk-XITF2PHC.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
@@ -18,7 +18,7 @@ async function loyaltyLoader() {
18
18
 
19
19
  // src/routes/loyalty/index.tsx
20
20
  var LazyLoyaltyPage = lazy(
21
- () => import('../LoyaltyPage-CLGAYA5A.js').then((m) => ({ default: m.LoyaltyPage }))
21
+ () => import('../LoyaltyPage-WWK4OBN7.js').then((m) => ({ default: m.LoyaltyPage }))
22
22
  );
23
23
  var LoyaltyPage = LazyLoyaltyPage;
24
24
  async function loader(_ctx, extend) {
@@ -1,9 +1,9 @@
1
- import { page } from '../chunk-P2SWZ265.js';
1
+ import { page } from '../chunk-NGYYCFTS.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-MAQPYTER.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-EQYBGXF4.js';
6
- import '../chunk-QCWPF7W4.js';
5
+ import '../chunk-EZSYN4P3.js';
6
+ import '../chunk-YZUNEFDM.js';
7
7
  import '../chunk-XITF2PHC.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
@@ -27,7 +27,7 @@ async function pageSingleLoader({ params }) {
27
27
  }
28
28
 
29
29
  // src/routes/page/index.tsx
30
- var LazyPageSingle = lazy(() => import('../PageSingle-KEHDYXAT.js').then((m) => ({ default: m.PageSingle })));
30
+ var LazyPageSingle = lazy(() => import('../PageSingle-MFCH3CEI.js').then((m) => ({ default: m.PageSingle })));
31
31
  var PageSingleLazy = LazyPageSingle;
32
32
  async function loader(ctx, extend) {
33
33
  const data = await pageSingleLoader({ params: ctx.params });
@@ -1,26 +1,26 @@
1
1
  import { sortOptions } from '../chunk-6Z4MOC4S.js';
2
- import { category } from '../chunk-P5M6ZWBT.js';
3
- import { brand } from '../chunk-HUPUM4VJ.js';
2
+ import { category } from '../chunk-AU7PMZV4.js';
3
+ import { brand } from '../chunk-GL3ZWX64.js';
4
4
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
5
- import { LazyTestimonials } from '../chunk-XIS2E2UO.js';
6
- import { product } from '../chunk-AIODAVGT.js';
5
+ import { LazyTestimonials } from '../chunk-ELOCFIZE.js';
6
+ import { product } from '../chunk-6MREJTVB.js';
7
7
  import { Drawer } from '../chunk-6TKIUG5C.js';
8
- import { ProductCard } from '../chunk-TZXOJOH7.js';
8
+ import { ProductCard } from '../chunk-NMOAEWI6.js';
9
9
  import '../chunk-G7ALL4BC.js';
10
- import { useStore } from '../chunk-FJPAHB6Y.js';
11
- import '../chunk-MM2EZ2GX.js';
10
+ import { useStore } from '../chunk-JTJKKF6S.js';
11
+ import '../chunk-WBLT4Y4A.js';
12
12
  import '../chunk-JKIRRMBU.js';
13
13
  import '../chunk-2JV6WZ6O.js';
14
- import '../chunk-4HXLDKIV.js';
14
+ import '../chunk-3MEAEE7K.js';
15
15
  import '../chunk-VVZNW5CB.js';
16
- import '../chunk-GLRQJVTK.js';
16
+ import '../chunk-3Z7TBM7W.js';
17
17
  import { notFound, useNavigate, useLocation } from '../chunk-MAQPYTER.js';
18
18
  import { RouteId } from '../chunk-MTONGOJD.js';
19
19
  import '../chunk-C5X6CVXC.js';
20
- import '../chunk-BQDXQ6P7.js';
21
- import '../chunk-5V5MFZEC.js';
22
- import '../chunk-EQYBGXF4.js';
23
- import '../chunk-QCWPF7W4.js';
20
+ import '../chunk-EXRS5IAC.js';
21
+ import '../chunk-C3UUGHTX.js';
22
+ import '../chunk-EZSYN4P3.js';
23
+ import '../chunk-YZUNEFDM.js';
24
24
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
25
25
  import '../chunk-TP3LCGE7.js';
26
26
  import '../chunk-Z653O7MX.js';
@@ -37,7 +37,7 @@ import '../chunk-YMVLYYLU.js';
37
37
  import '../chunk-RJPPO3ET.js';
38
38
  import { HookSlot } from '../chunk-Q7VWURUR.js';
39
39
  import '../chunk-GU2KUQVD.js';
40
- import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-ZRG6Z7GP.js';
40
+ import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-I4PD6BEP.js';
41
41
  import '../chunk-AXW67SY7.js';
42
42
  import '../chunk-BYMOPN2S.js';
43
43
  import '../chunk-6BZ5TKEV.js';
@@ -1,22 +1,22 @@
1
1
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
2
- import { ProductsSlider, LazyTestimonials } from '../chunk-XIS2E2UO.js';
3
- import { product } from '../chunk-AIODAVGT.js';
4
- import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-TZXOJOH7.js';
2
+ import { ProductsSlider, LazyTestimonials } from '../chunk-ELOCFIZE.js';
3
+ import { product } from '../chunk-6MREJTVB.js';
4
+ import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-NMOAEWI6.js';
5
5
  import '../chunk-G7ALL4BC.js';
6
- import '../chunk-FJPAHB6Y.js';
7
- import '../chunk-MM2EZ2GX.js';
6
+ import '../chunk-JTJKKF6S.js';
7
+ import '../chunk-WBLT4Y4A.js';
8
8
  import '../chunk-JKIRRMBU.js';
9
9
  import '../chunk-2JV6WZ6O.js';
10
- import '../chunk-4HXLDKIV.js';
10
+ import '../chunk-3MEAEE7K.js';
11
11
  import '../chunk-VVZNW5CB.js';
12
- import '../chunk-GLRQJVTK.js';
12
+ import '../chunk-3Z7TBM7W.js';
13
13
  import '../chunk-MAQPYTER.js';
14
14
  import { RouteId } from '../chunk-MTONGOJD.js';
15
15
  import '../chunk-C5X6CVXC.js';
16
- import '../chunk-BQDXQ6P7.js';
17
- import '../chunk-5V5MFZEC.js';
18
- import '../chunk-EQYBGXF4.js';
19
- import '../chunk-QCWPF7W4.js';
16
+ import '../chunk-EXRS5IAC.js';
17
+ import '../chunk-C3UUGHTX.js';
18
+ import '../chunk-EZSYN4P3.js';
19
+ import '../chunk-YZUNEFDM.js';
20
20
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
21
21
  import '../chunk-TP3LCGE7.js';
22
22
  import '../chunk-Z653O7MX.js';
@@ -33,7 +33,7 @@ import { useComments } from '../chunk-YMVLYYLU.js';
33
33
  import '../chunk-RJPPO3ET.js';
34
34
  import { HookSlot } from '../chunk-Q7VWURUR.js';
35
35
  import '../chunk-GU2KUQVD.js';
36
- import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-ZRG6Z7GP.js';
36
+ import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-I4PD6BEP.js';
37
37
  import '../chunk-AXW67SY7.js';
38
38
  import '../chunk-BYMOPN2S.js';
39
39
  import '../chunk-6BZ5TKEV.js';
@@ -18,7 +18,7 @@ async function testimonialsLoader(_ctx) {
18
18
 
19
19
  // src/routes/testimonials/index.tsx
20
20
  var LazyTestimonialsPage = lazy(
21
- () => import('../TestimonialsPage-H6ZI3C3E.js').then((m) => ({ default: m.TestimonialsPage }))
21
+ () => import('../TestimonialsPage-CZ2LIFOH.js').then((m) => ({ default: m.TestimonialsPage }))
22
22
  );
23
23
  var TestimonialsPage = LazyTestimonialsPage;
24
24
  async function loader(ctx, extend) {
@@ -1,9 +1,9 @@
1
- import { order } from '../chunk-SSZUSUPD.js';
1
+ import { order } from '../chunk-ALUEX3YC.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-MAQPYTER.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-EQYBGXF4.js';
6
- import '../chunk-QCWPF7W4.js';
5
+ import '../chunk-EZSYN4P3.js';
6
+ import '../chunk-YZUNEFDM.js';
7
7
  import { getTwilightContext } from '../chunk-XITF2PHC.js';
8
8
  import '../chunk-T72DAX7R.js';
9
9
  import '../chunk-DF6FBKDN.js';
@@ -38,7 +38,7 @@ async function thankYouLoader({
38
38
 
39
39
  // src/routes/thank-you/index.tsx
40
40
  var LazyThankYouPage = lazy(
41
- () => import('../ThankYouPage-KZ5KTX5X.js').then((m) => ({ default: m.ThankYouPage }))
41
+ () => import('../ThankYouPage-IGGPBXT2.js').then((m) => ({ default: m.ThankYouPage }))
42
42
  );
43
43
  var ThankYouPage = LazyThankYouPage;
44
44
  async function loader(ctx, extend) {
package/dist/skeleton.js CHANGED
@@ -1,25 +1,25 @@
1
1
  export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
2
- export { HomeSkeleton } from './chunk-ENVH4QCO.js';
3
- import './chunk-ZYMBBAEK.js';
2
+ export { HomeSkeleton } from './chunk-66CUW6VR.js';
3
+ import './chunk-IK6X5HMK.js';
4
4
  import './chunk-TZ3E5BN4.js';
5
- import './chunk-XIS2E2UO.js';
6
- import './chunk-AIODAVGT.js';
7
- import './chunk-TZXOJOH7.js';
5
+ import './chunk-ELOCFIZE.js';
6
+ import './chunk-6MREJTVB.js';
7
+ import './chunk-NMOAEWI6.js';
8
8
  import './chunk-G7ALL4BC.js';
9
- import './chunk-FJPAHB6Y.js';
10
- import './chunk-MM2EZ2GX.js';
9
+ import './chunk-JTJKKF6S.js';
10
+ import './chunk-WBLT4Y4A.js';
11
11
  import './chunk-JKIRRMBU.js';
12
12
  import './chunk-2JV6WZ6O.js';
13
- import './chunk-4HXLDKIV.js';
13
+ import './chunk-3MEAEE7K.js';
14
14
  import './chunk-VVZNW5CB.js';
15
- import './chunk-GLRQJVTK.js';
15
+ import './chunk-3Z7TBM7W.js';
16
16
  import './chunk-MAQPYTER.js';
17
17
  import './chunk-MTONGOJD.js';
18
18
  import './chunk-C5X6CVXC.js';
19
- import './chunk-BQDXQ6P7.js';
20
- import './chunk-5V5MFZEC.js';
21
- import './chunk-EQYBGXF4.js';
22
- import './chunk-QCWPF7W4.js';
19
+ import './chunk-EXRS5IAC.js';
20
+ import './chunk-C3UUGHTX.js';
21
+ import './chunk-EZSYN4P3.js';
22
+ import './chunk-YZUNEFDM.js';
23
23
  import './chunk-XITF2PHC.js';
24
24
  import './chunk-TP3LCGE7.js';
25
25
  import './chunk-Z653O7MX.js';
@@ -36,7 +36,7 @@ import './chunk-YMVLYYLU.js';
36
36
  import './chunk-RJPPO3ET.js';
37
37
  import './chunk-Q7VWURUR.js';
38
38
  import './chunk-GU2KUQVD.js';
39
- import './chunk-ZRG6Z7GP.js';
39
+ import './chunk-I4PD6BEP.js';
40
40
  import './chunk-AXW67SY7.js';
41
41
  import './chunk-BYMOPN2S.js';
42
42
  import './chunk-6BZ5TKEV.js';
@@ -1 +1 @@
1
- {"version":3,"file":"twilight.d.ts","sourceRoot":"","sources":["../../../src/tanstack/middleware/twilight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAUlE,UAAU,yBAAyB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2BD,eAAO,MAAM,kBAAkB,GAAI,UAAU,yBAAyB,KAAG,oBAuBxE,CAAC"}
1
+ {"version":3,"file":"twilight.d.ts","sourceRoot":"","sources":["../../../src/tanstack/middleware/twilight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAWlE,UAAU,yBAAyB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,yBAAyB,KAAG,oBAuBxE,CAAC"}
package/dist/tanstack.js CHANGED
@@ -1,19 +1,19 @@
1
- import { rootHead } from './chunk-AFLP4PCU.js';
2
- export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-AFLP4PCU.js';
1
+ import { rootHead } from './chunk-K5V67DOI.js';
2
+ export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-K5V67DOI.js';
3
3
  export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-JY7PNW7G.js';
4
4
  import './chunk-Z4Y55HWX.js';
5
5
  export { tanstackHeadAdapter as head, withHead } from './chunk-D2UOBR4H.js';
6
6
  import './chunk-MQ4UTXPR.js';
7
7
  import './chunk-B3EFOE57.js';
8
- import './chunk-ZYKBHBBH.js';
9
- import './chunk-GSNKBCDJ.js';
8
+ import './chunk-QZ6I5CA7.js';
9
+ import './chunk-NR2XM4KT.js';
10
10
  import './chunk-TZ3E5BN4.js';
11
- import './chunk-4HXLDKIV.js';
12
- import './chunk-GLRQJVTK.js';
11
+ import './chunk-3MEAEE7K.js';
12
+ import './chunk-3Z7TBM7W.js';
13
13
  import './chunk-MAQPYTER.js';
14
14
  import './chunk-MTONGOJD.js';
15
- import './chunk-EQYBGXF4.js';
16
- import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, extractScopeIdFromCookies, resolveRequestStoreId } from './chunk-QCWPF7W4.js';
15
+ import './chunk-EZSYN4P3.js';
16
+ import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, extractScopeIdFromCookies, resolveRequestStoreId } from './chunk-YZUNEFDM.js';
17
17
  import { runWithTwilightContext } from './chunk-XITF2PHC.js';
18
18
  export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-XITF2PHC.js';
19
19
  import './chunk-JWXJPJBO.js';
@@ -26,6 +26,7 @@ import './chunk-DGUM43GV.js';
26
26
  import { createMiddleware } from '@tanstack/react-start';
27
27
  import { tsrStartManifest } from 'tanstack-start-manifest:v';
28
28
 
29
+ // src/utils/request-host.ts
29
30
  function requestHostOf(request) {
30
31
  try {
31
32
  const fromUrl = new URL(request.url).host;
@@ -34,6 +35,8 @@ function requestHostOf(request) {
34
35
  }
35
36
  return request.headers.get("Host")?.trim() || null;
36
37
  }
38
+
39
+ // src/tanstack/middleware/twilight.ts
37
40
  var twilightMiddleware = (options) => {
38
41
  const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;
39
42
  return createMiddleware().server(({ request, next }) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":"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","file":"tanstack.js","sourcesContent":["import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeIdFromCookies,\n resolveRequestStoreId,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\n/**\n * The host this request arrived on.\n *\n * Taken from the request URL, which in a Worker is the address the platform\n * actually routed on, and from the `Host` header only when that fails.\n *\n * **`X-Forwarded-Host` is deliberately not consulted.** This value decides two\n * things — which store a live storefront is, and whether the request is even\n * allowed to name a store at all (see `allowsRequestStoreId`) — so a header a\n * client can set would be a way to talk a merchant's domain into behaving like\n * the preview host, and from there into rendering somebody else's shop. The\n * dispatcher strips that header today, but a theme must not be one edit to\n * another repository's allowlist away from a spoofable identity.\n */\nfunction requestHostOf(request: Request): string | null {\n try {\n const fromUrl = new URL(request.url).host;\n if (fromUrl) return fromUrl;\n } catch {\n /* fall through to the header */\n }\n\n return request.headers.get('Host')?.trim() || null;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scopeId = extractScopeIdFromCookies(cookieHeader);\n const requestHost = requestHostOf(request);\n // Read here and nowhere else: a deployed theme worker has no vars and no\n // bindings, so the request is the only thing that knows which store it is\n // serving. Everything downstream reads it off the context rather than\n // reaching for a build-time constant that is not there in production.\n //\n // The host goes in because it decides whether the request is allowed to name\n // a store at all. On a merchant's own domain it is not: the hostname is the\n // store, and `?storeId=` there would serve a stranger's shop from a domain\n // its owner controls.\n const storeId = resolveRequestStoreId(request.url, cookieHeader, requestHost);\n\n return runWithTwilightContext({ authToken, scopeId, storeId, requestHost }, () =>\n next({ context: { authToken } })\n );\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root/head';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/utils/request-host.ts","../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,SAAS,cAAc,OAAA,EAAoC;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,IAAI,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA,CAAE,IAAA;AACrC,IAAA,IAAI,SAAS,OAAO,OAAA;AAAA,EACtB,CAAA,CAAA,MAAQ;AAAA,EAER;AAEA,EAAA,OAAO,QAAQ,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAA,EAAG,MAAK,IAAK,IAAA;AAChD;;;ACtBO,IAAM,kBAAA,GAAqB,CAAC,OAAA,KAA8D;AAC/F,EAAA,MAAM,UAAA,GAAa,SAAS,UAAA,IAAc,sBAAA;AAE1C,EAAA,OAAO,kBAAiB,CAAE,MAAA,CAAO,CAAC,EAAE,OAAA,EAAS,MAAK,KAAM;AACtD,IAAA,MAAM,YAAA,GAAe,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA;AACjD,IAAA,MAAM,SAAA,GAAY,uBAAA,CAAwB,YAAA,EAAc,UAAU,CAAA;AAClE,IAAA,MAAM,OAAA,GAAU,0BAA0B,YAAY,CAAA;AACtD,IAAA,MAAM,WAAA,GAAc,cAAc,OAAO,CAAA;AAUzC,IAAA,MAAM,OAAA,GAAU,qBAAA,CAAsB,OAAA,CAAQ,GAAA,EAAK,cAAc,WAAW,CAAA;AAE5E,IAAA,OAAO,sBAAA;AAAA,MAAuB,EAAE,SAAA,EAAW,OAAA,EAAS,OAAA,EAAS,WAAA,EAAY;AAAA,MAAG,MAC1E,IAAA,CAAK,EAAE,SAAS,EAAE,SAAA,IAAa;AAAA,KACjC;AAAA,EACF,CAAC,CAAA;AACH;AChCA,IAAM,eAAA,GAAkB;AAAA,EACtB,EAAE,GAAA,EAAK,eAAA,EAAiB,IAAA,EAAM,0DAAA,EAA2D;AAAA,EACzF,EAAE,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACnD,EAAE,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,sBAAA,EAAuB;AAAA,EAClD,EAAE,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,kCAAA,EAAoC,aAAa,WAAA,EAAY;AAAA,EACxF,EAAE,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,2BAAA,EAA6B,aAAa,WAAA;AACvE,CAAA;AAGA,SAAS,cAAc,GAAA,EAAiC;AACtD,EAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,KAAA,CAAM,qBAAqB,CAAA;AAC7C,EAAA,OAAO,QAAQ,CAAC,CAAA;AAClB;AAGA,SAAS,gBAAgB,IAAA,EAA8C;AACrE,EAAA,MAAM,OAAO,IAAA,CAAK,IAAA;AAClB,EAAA,MAAM,MAAM,IAAA,CAAK,GAAA;AACjB,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,GAAA,EAAK,OAAO,IAAA;AAG1B,EAAA,IAAI,QAAQ,YAAA,EAAc;AACxB,IAAA,MAAM,QAAQ,IAAA,CAAK,KAAA;AACnB,IAAA,IAAI,KAAA,KAAU,SAAS,OAAO,IAAA;AAC9B,IAAA,OAAO,IAAI,IAAI,CAAA,wBAAA,CAAA;AAAA,EACjB;AAEA,EAAA,IAAI,QAAQ,SAAA,EAAW;AACrB,IAAA,MAAM,SAAS,IAAA,CAAK,EAAA;AACpB,IAAA,IAAI,CAAC,QAAQ,OAAO,IAAA;AACpB,IAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,CAAA,EAAI,IAAI,KAAK,aAAA,EAAe,CAAA,GAAA,EAAM,MAAM,CAAA,CAAE,CAAA;AACzD,IAAA,IAAI,MAAA,KAAW,MAAA,IAAU,IAAA,CAAK,WAAA,EAAa;AACzC,MAAA,KAAA,CAAM,KAAK,aAAa,CAAA;AAAA,IAC1B;AACA,IAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,QAAQ,eAAA,EAAiB;AAC3B,IAAA,OAAO,IAAI,IAAI,CAAA,oBAAA,CAAA;AAAA,EACjB;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,uBAAuB,MAA4B;AAC9D,EAAA,IAAI,mBAAA,GAAuC,IAAA;AAE3C,EAAA,OAAOA,kBAAiB,CAAE,MAAA,CAAO,OAAO,EAAE,OAAA,EAAS,MAAK,KAAM;AAC5D,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,EAAK;AAE5B,IAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA,IAAK,EAAA;AAChD,IAAA,IAAI,CAAC,MAAA,CAAO,QAAA,CAAS,WAAW,CAAA,IAAK,MAAA,KAAW,OAAO,OAAO,QAAA;AAC9D,IAAA,IAAI,EAAE,QAAA,YAAoB,QAAA,CAAA,EAAW,OAAO,QAAA;AAE5C,IAAA,MAAM,cAAwB,EAAC;AAG/B,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAC/B,MAAA,MAAM,MAAA,GAAS,aAAA,CAAc,GAAA,CAAI,QAAQ,CAAA;AACzC,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,MAAM,aAAa,QAAA,CAAS,EAAE,QAAQ,EAAE,MAAA,IAAU,CAAA;AAClD,QAAA,MAAM,KAAA,GAAS,UAAA,CAAW,KAAA,IAAuC,EAAC;AAClE,QAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,UAAA,MAAM,MAAA,GAAS,gBAAgB,IAAI,CAAA;AACnC,UAAA,IAAI,MAAA,EAAQ,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IACF,SAAS,CAAA,EAAG;AAEV,MAAA,OAAA,CAAQ,KAAK,+BAAA,EAAiC,CAAA,YAAa,KAAA,GAAQ,CAAA,CAAE,UAAU,CAAC,CAAA;AAChF,MAAA,KAAA,MAAW,SAAS,eAAA,EAAiB;AACnC,QAAA,MAAM,EAAA,GAAK,aAAA,IAAiB,KAAA,GAAQ,KAAA,CAAM,WAAA,GAAc,MAAA;AACxD,QAAA,WAAA,CAAY,IAAA,CAAK,CAAA,CAAA,EAAI,KAAA,CAAM,IAAI,CAAA,OAAA,EAAU,KAAA,CAAM,GAAG,CAAA,EAAG,EAAA,GAAK,eAAA,GAAkB,EAAE,CAAA,CAAE,CAAA;AAAA,MAClF;AAAA,IACF;AAGA,IAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,MAAA,IAAI;AACF,QAAA,MAAM,WAAW,gBAAA,EAAiB;AAClC,QAAA,MAAM,aAAa,QAAA,CAAS,MAAA,CAAO,UAAU,CAAA,EAAG,UAAU,EAAC;AAC3D,QAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,QAAA,mBAAA,GAAsB,EAAC;AACvB,QAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,UAAA,IAAI,KAAA,CAAM,QAAQ,MAAA,IAAU,KAAA,CAAM,OAAO,IAAA,EAAM,QAAA,CAAS,MAAM,CAAA,EAAG;AAC/D,YAAA,IAAI,CAAC,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,KAAA,CAAM,IAAI,CAAA,EAAG;AAC/B,cAAA,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,KAAA,CAAM,IAAI,CAAA;AACzB,cAAA,mBAAA,CAAoB,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,IAAI,CAAA;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,CAAA,EAAG;AAEV,QAAA,OAAA,CAAQ,KAAK,uCAAA,EAAyC,CAAA,YAAa,KAAA,GAAQ,CAAA,CAAE,UAAU,CAAC,CAAA;AAAA,MAC1F;AAAA,IACF;AAEA,IAAA,IAAI,mBAAA,EAAqB;AACvB,MAAA,KAAA,MAAW,QAAQ,mBAAA,EAAqB;AACtC,QAAA,WAAA,CAAY,IAAA,CAAK,CAAA,CAAA,EAAI,IAAI,CAAA,wBAAA,CAA0B,CAAA;AAAA,MACrD;AAAA,IACF;AAGA,IAAA,IAAI,WAAA,CAAY,WAAW,CAAA,EAAG;AAC5B,MAAA,OAAA,CAAQ,KAAK,oEAA+D,CAAA;AAC5E,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA;AAC5C,IAAA,KAAA,MAAW,cAAc,WAAA,EAAa;AACpC,MAAA,OAAA,CAAQ,MAAA,CAAO,QAAQ,UAAU,CAAA;AAAA,IACnC;AAEA,IAAA,OAAO,IAAI,QAAA,CAAS,QAAA,CAAS,IAAA,EAAM;AAAA,MACjC,QAAQ,QAAA,CAAS,MAAA;AAAA,MACjB,YAAY,QAAA,CAAS,UAAA;AAAA,MACrB;AAAA,KACD,CAAA;AAAA,EACH,CAAC,CAAA;AACH","file":"tanstack.js","sourcesContent":["/**\n * What the request itself is enough to describe: its host.\n *\n * Small, and deliberately its own module rather than a helper inside the\n * middleware. This value decides two things — which store a live storefront is,\n * and whether the request is allowed to name a store at all — so it is worth\n * testing directly instead of only through the wiring that calls it.\n */\n\n/** The part of a `Request` this needs, so a test does not have to build a whole one. */\nexport interface HostSource {\n url: string;\n headers: { get(name: string): string | null };\n}\n\n/**\n * The host this request arrived on, with its port when it has one.\n *\n * Taken from the request URL, which in a Worker is the address the platform\n * actually routed on, and from the `Host` header only when that fails.\n *\n * **`X-Forwarded-Host` is deliberately not consulted.** A client can set it, and\n * this value gates `allowsRequestStoreId` — so honouring it would be a way to\n * talk a merchant's own domain into behaving like the preview host, and from\n * there into serving a stranger's shop. The dispatcher strips that header today;\n * a theme must not be one edit to another repository's allowlist away from a\n * spoofable identity.\n */\nexport function requestHostOf(request: HostSource): string | null {\n try {\n const fromUrl = new URL(request.url).host;\n if (fromUrl) return fromUrl;\n } catch {\n /* an unparseable URL falls through to the header */\n }\n\n return request.headers.get('Host')?.trim() || null;\n}\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeIdFromCookies,\n resolveRequestStoreId,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\nimport { requestHostOf } from '../../utils/request-host';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scopeId = extractScopeIdFromCookies(cookieHeader);\n const requestHost = requestHostOf(request);\n // Read here and nowhere else: a deployed theme worker has no vars and no\n // bindings, so the request is the only thing that knows which store it is\n // serving. Everything downstream reads it off the context rather than\n // reaching for a build-time constant that is not there in production.\n //\n // The host goes in because it decides whether the request is allowed to name\n // a store at all. On a merchant's own domain it is not: the hostname is the\n // store, and `?storeId=` there would serve a stranger's shop from a domain\n // its owner controls.\n const storeId = resolveRequestStoreId(request.url, cookieHeader, requestHost);\n\n return runWithTwilightContext({ authToken, scopeId, storeId, requestHost }, () =>\n next({ context: { authToken } })\n );\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root/head';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}