@salla.sa/twilight-theme-engine 1.0.145 → 1.0.146

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 (217) hide show
  1. package/dist/{AddToCartForm-NZNFVGDV.js → AddToCartForm-ZZMT3ZRO.js} +3 -3
  2. package/dist/{AddToCartForm-NZNFVGDV.js.map → AddToCartForm-ZZMT3ZRO.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-BXRIYXVN.js → BlogAuthorPage-LVRGWFOC.js} +16 -16
  4. package/dist/{BlogAuthorPage-BXRIYXVN.js.map → BlogAuthorPage-LVRGWFOC.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-GHWC2WVM.js → BlogCategoryPage-CONL6QSN.js} +16 -16
  6. package/dist/{BlogCategoryPage-GHWC2WVM.js.map → BlogCategoryPage-CONL6QSN.js.map} +1 -1
  7. package/dist/{BlogPage-ZCGNKBLI.js → BlogPage-6ZA474IU.js} +14 -14
  8. package/dist/{BlogPage-ZCGNKBLI.js.map → BlogPage-6ZA474IU.js.map} +1 -1
  9. package/dist/{BlogSinglePage-TH7Z3MKB.js → BlogSinglePage-W7WYKP7W.js} +14 -14
  10. package/dist/{BlogSinglePage-TH7Z3MKB.js.map → BlogSinglePage-W7WYKP7W.js.map} +1 -1
  11. package/dist/{BlogTagPage-GM422SOW.js → BlogTagPage-G5JX7FSN.js} +16 -16
  12. package/dist/{BlogTagPage-GM422SOW.js.map → BlogTagPage-G5JX7FSN.js.map} +1 -1
  13. package/dist/{BrandsPage-LNNPU4NX.js → BrandsPage-TB5NDSGL.js} +15 -15
  14. package/dist/{BrandsPage-LNNPU4NX.js.map → BrandsPage-TB5NDSGL.js.map} +1 -1
  15. package/dist/{Breadcrumb-TSG2CW3S.js → Breadcrumb-EVZDJG7H.js} +14 -14
  16. package/dist/{Breadcrumb-TSG2CW3S.js.map → Breadcrumb-EVZDJG7H.js.map} +1 -1
  17. package/dist/{CartItem-UVSLCSEP.js → CartItem-D2LJIFGL.js} +14 -14
  18. package/dist/{CartItem-UVSLCSEP.js.map → CartItem-D2LJIFGL.js.map} +1 -1
  19. package/dist/{CartSummary-ZCXTED4G.js → CartSummary-V4HYUEPB.js} +14 -14
  20. package/dist/{CartSummary-ZCXTED4G.js.map → CartSummary-V4HYUEPB.js.map} +1 -1
  21. package/dist/{Copyright-B25RLEVV.js → Copyright-JLIFLENS.js} +3 -3
  22. package/dist/{Copyright-B25RLEVV.js.map → Copyright-JLIFLENS.js.map} +1 -1
  23. package/dist/{CustomerLayout-WGEUJEDP.js → CustomerLayout-JSIYPWY4.js} +14 -14
  24. package/dist/{CustomerLayout-WGEUJEDP.js.map → CustomerLayout-JSIYPWY4.js.map} +1 -1
  25. package/dist/{Footer-QMNESEEI.js → Footer-BNIVXKRM.js} +4 -4
  26. package/dist/{Footer-QMNESEEI.js.map → Footer-BNIVXKRM.js.map} +1 -1
  27. package/dist/{Header-ZPDXQ7U6.js → Header-DI3OK5TC.js} +8 -8
  28. package/dist/{Header-ZPDXQ7U6.js.map → Header-DI3OK5TC.js.map} +1 -1
  29. package/dist/{LatestProducts-UEUM47MI.js → LatestProducts-PEIN355E.js} +16 -16
  30. package/dist/{LatestProducts-UEUM47MI.js.map → LatestProducts-PEIN355E.js.map} +1 -1
  31. package/dist/{LoyaltyPage-ZM3FDTV3.js → LoyaltyPage-GV6WMYVE.js} +14 -14
  32. package/dist/{LoyaltyPage-ZM3FDTV3.js.map → LoyaltyPage-GV6WMYVE.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-QQIKIBTH.js → LoyaltyPointsPage-QNOVSCKB.js} +6 -6
  34. package/dist/{LoyaltyPointsPage-QQIKIBTH.js.map → LoyaltyPointsPage-QNOVSCKB.js.map} +1 -1
  35. package/dist/{MainMenu-3Z7HRQGU.js → MainMenu-IN5HUX3U.js} +5 -5
  36. package/dist/{MainMenu-3Z7HRQGU.js.map → MainMenu-IN5HUX3U.js.map} +1 -1
  37. package/dist/{MasterLayout-ZRTWOZGC.js → MasterLayout-GHAXKYOR.js} +14 -14
  38. package/dist/{MasterLayout-ZRTWOZGC.js.map → MasterLayout-GHAXKYOR.js.map} +1 -1
  39. package/dist/{MobileMenu-SC7HJ6BT.js → MobileMenu-XU45EZMG.js} +15 -15
  40. package/dist/{MobileMenu-SC7HJ6BT.js.map → MobileMenu-XU45EZMG.js.map} +1 -1
  41. package/dist/{NotificationsPage-JMAZ2N2A.js → NotificationsPage-AMY7TARF.js} +14 -14
  42. package/dist/{NotificationsPage-JMAZ2N2A.js.map → NotificationsPage-AMY7TARF.js.map} +1 -1
  43. package/dist/{OrderSinglePage-6MAFH4Q6.js → OrderSinglePage-L2E6YH3Z.js} +15 -15
  44. package/dist/{OrderSinglePage-6MAFH4Q6.js.map → OrderSinglePage-L2E6YH3Z.js.map} +1 -1
  45. package/dist/{OrdersPage-NMINSG67.js → OrdersPage-76ORWMJY.js} +14 -14
  46. package/dist/{OrdersPage-NMINSG67.js.map → OrdersPage-76ORWMJY.js.map} +1 -1
  47. package/dist/{PageSingle-WLIXOODC.js → PageSingle-D7I6EHBF.js} +3 -3
  48. package/dist/{PageSingle-WLIXOODC.js.map → PageSingle-D7I6EHBF.js.map} +1 -1
  49. package/dist/{ProductDetails-NFZLUKLN.js → ProductDetails-BZVRXSCD.js} +4 -4
  50. package/dist/{ProductDetails-NFZLUKLN.js.map → ProductDetails-BZVRXSCD.js.map} +1 -1
  51. package/dist/{ProfilePage-5PBU637J.js → ProfilePage-65NYRBON.js} +14 -14
  52. package/dist/{ProfilePage-5PBU637J.js.map → ProfilePage-65NYRBON.js.map} +1 -1
  53. package/dist/{ReviewsPage-RWNFVHWR.js → ReviewsPage-C7NSCMBE.js} +3 -3
  54. package/dist/{ReviewsPage-RWNFVHWR.js.map → ReviewsPage-C7NSCMBE.js.map} +1 -1
  55. package/dist/{SeoCartWidget-HPBQ6673.js → SeoCartWidget-GK3KC2M3.js} +14 -14
  56. package/dist/{SeoCartWidget-HPBQ6673.js.map → SeoCartWidget-GK3KC2M3.js.map} +1 -1
  57. package/dist/{SettingsPage-Y5X5BNHD.js → SettingsPage-7VGJBA5K.js} +14 -14
  58. package/dist/{SettingsPage-Y5X5BNHD.js.map → SettingsPage-7VGJBA5K.js.map} +1 -1
  59. package/dist/{StoreClosedNotification-5DOQFF2O.js → StoreClosedNotification-44JN2FZV.js} +15 -15
  60. package/dist/{StoreClosedNotification-5DOQFF2O.js.map → StoreClosedNotification-44JN2FZV.js.map} +1 -1
  61. package/dist/{TestimonialsPage-ZDALOH2L.js → TestimonialsPage-KGCGTUJQ.js} +3 -3
  62. package/dist/{TestimonialsPage-ZDALOH2L.js.map → TestimonialsPage-KGCGTUJQ.js.map} +1 -1
  63. package/dist/{ThankYouPage-SYMPRWCS.js → ThankYouPage-XWB4X236.js} +14 -14
  64. package/dist/{ThankYouPage-SYMPRWCS.js.map → ThankYouPage-XWB4X236.js.map} +1 -1
  65. package/dist/{WalletPage-DPWZBROY.js → WalletPage-J3CX6MLS.js} +15 -15
  66. package/dist/{WalletPage-DPWZBROY.js.map → WalletPage-J3CX6MLS.js.map} +1 -1
  67. package/dist/{WebMcpTools-3TBLKZL5.js → WebMcpTools-3MV53OMT.js} +5 -5
  68. package/dist/{WebMcpTools-3TBLKZL5.js.map → WebMcpTools-3MV53OMT.js.map} +1 -1
  69. package/dist/{WishlistPage-BM3XSMQF.js → WishlistPage-HHX3OVOF.js} +16 -16
  70. package/dist/{WishlistPage-BM3XSMQF.js.map → WishlistPage-HHX3OVOF.js.map} +1 -1
  71. package/dist/api/advertisement.js +2 -2
  72. package/dist/api/apps.js +2 -2
  73. package/dist/api/blog.js +3 -3
  74. package/dist/api/brands.js +3 -3
  75. package/dist/api/cart.js +3 -3
  76. package/dist/api/category.js +3 -3
  77. package/dist/api/client.js +1 -1
  78. package/dist/api/home.js +2 -2
  79. package/dist/api/loyalty.js +3 -3
  80. package/dist/api/menu.js +2 -2
  81. package/dist/api/notification.js +2 -2
  82. package/dist/api/order.js +3 -3
  83. package/dist/api/page.js +3 -3
  84. package/dist/api/product.js +3 -3
  85. package/dist/api/profile.js +1 -1
  86. package/dist/api/store.js +2 -2
  87. package/dist/api/translations.js +2 -2
  88. package/dist/api/user.js +2 -2
  89. package/dist/api/wallet.js +2 -2
  90. package/dist/api/wishlist.js +4 -4
  91. package/dist/{chunk-U2UNWN4G.js → chunk-2DUN6DZK.js} +3 -3
  92. package/dist/{chunk-U2UNWN4G.js.map → chunk-2DUN6DZK.js.map} +1 -1
  93. package/dist/{chunk-ITNUDQVP.js → chunk-3G4YCXOR.js} +10 -10
  94. package/dist/{chunk-ITNUDQVP.js.map → chunk-3G4YCXOR.js.map} +1 -1
  95. package/dist/{chunk-XV3HPKLI.js → chunk-3O6BB7SI.js} +3 -3
  96. package/dist/{chunk-XV3HPKLI.js.map → chunk-3O6BB7SI.js.map} +1 -1
  97. package/dist/{chunk-GFRJHCRX.js → chunk-3QOALQQJ.js} +4 -4
  98. package/dist/{chunk-GFRJHCRX.js.map → chunk-3QOALQQJ.js.map} +1 -1
  99. package/dist/{chunk-NGWHUW34.js → chunk-5EN3XZ32.js} +3 -3
  100. package/dist/{chunk-NGWHUW34.js.map → chunk-5EN3XZ32.js.map} +1 -1
  101. package/dist/{chunk-WIDH6AK6.js → chunk-7PPNAVBF.js} +4 -4
  102. package/dist/{chunk-WIDH6AK6.js.map → chunk-7PPNAVBF.js.map} +1 -1
  103. package/dist/{chunk-QIHSKEWU.js → chunk-7ZTSYUCJ.js} +4 -4
  104. package/dist/{chunk-QIHSKEWU.js.map → chunk-7ZTSYUCJ.js.map} +1 -1
  105. package/dist/{chunk-5JZSBFA5.js → chunk-A4Y5BVJN.js} +3 -3
  106. package/dist/{chunk-5JZSBFA5.js.map → chunk-A4Y5BVJN.js.map} +1 -1
  107. package/dist/{chunk-YQOCPSOI.js → chunk-AECYX56P.js} +4 -4
  108. package/dist/{chunk-YQOCPSOI.js.map → chunk-AECYX56P.js.map} +1 -1
  109. package/dist/{chunk-OLL5OGQ5.js → chunk-B36NISD2.js} +4 -4
  110. package/dist/{chunk-OLL5OGQ5.js.map → chunk-B36NISD2.js.map} +1 -1
  111. package/dist/{chunk-2N6XZZ4W.js → chunk-BEYWTFOR.js} +3 -3
  112. package/dist/{chunk-2N6XZZ4W.js.map → chunk-BEYWTFOR.js.map} +1 -1
  113. package/dist/{chunk-GBMMP344.js → chunk-BKSVKSAW.js} +15 -15
  114. package/dist/{chunk-GBMMP344.js.map → chunk-BKSVKSAW.js.map} +1 -1
  115. package/dist/{chunk-2ZESCQRM.js → chunk-C5P2C2NR.js} +3 -3
  116. package/dist/{chunk-2ZESCQRM.js.map → chunk-C5P2C2NR.js.map} +1 -1
  117. package/dist/{chunk-FPGR63AQ.js → chunk-C6PNF2OT.js} +3 -3
  118. package/dist/{chunk-FPGR63AQ.js.map → chunk-C6PNF2OT.js.map} +1 -1
  119. package/dist/{chunk-NR5YIBTS.js → chunk-CFG6PGUZ.js} +4 -4
  120. package/dist/{chunk-NR5YIBTS.js.map → chunk-CFG6PGUZ.js.map} +1 -1
  121. package/dist/{chunk-MIAVMNPM.js → chunk-DHKZCR6U.js} +5 -5
  122. package/dist/{chunk-MIAVMNPM.js.map → chunk-DHKZCR6U.js.map} +1 -1
  123. package/dist/{chunk-BMCECPSU.js → chunk-DMGSEY7F.js} +3 -3
  124. package/dist/{chunk-BMCECPSU.js.map → chunk-DMGSEY7F.js.map} +1 -1
  125. package/dist/{chunk-RJKMW36K.js → chunk-EF3PLLLA.js} +7 -7
  126. package/dist/{chunk-RJKMW36K.js.map → chunk-EF3PLLLA.js.map} +1 -1
  127. package/dist/{chunk-U5TWRPMK.js → chunk-F7S2QA3D.js} +7 -7
  128. package/dist/{chunk-U5TWRPMK.js.map → chunk-F7S2QA3D.js.map} +1 -1
  129. package/dist/{chunk-VZRZQV4Q.js → chunk-FTH3XLIN.js} +3 -3
  130. package/dist/{chunk-VZRZQV4Q.js.map → chunk-FTH3XLIN.js.map} +1 -1
  131. package/dist/{chunk-7NTPNCIK.js → chunk-FXW6H6J3.js} +3 -3
  132. package/dist/{chunk-7NTPNCIK.js.map → chunk-FXW6H6J3.js.map} +1 -1
  133. package/dist/{chunk-52QZKUDU.js → chunk-HZWTDQVJ.js} +5 -5
  134. package/dist/{chunk-52QZKUDU.js.map → chunk-HZWTDQVJ.js.map} +1 -1
  135. package/dist/{chunk-NLKLS3GZ.js → chunk-JOHFXU4C.js} +4 -4
  136. package/dist/{chunk-NLKLS3GZ.js.map → chunk-JOHFXU4C.js.map} +1 -1
  137. package/dist/{chunk-TWYTA2SX.js → chunk-K4YRFOFA.js} +7 -7
  138. package/dist/{chunk-TWYTA2SX.js.map → chunk-K4YRFOFA.js.map} +1 -1
  139. package/dist/{chunk-DHWMC6VU.js → chunk-O6RZ6AWT.js} +4 -4
  140. package/dist/{chunk-DHWMC6VU.js.map → chunk-O6RZ6AWT.js.map} +1 -1
  141. package/dist/{chunk-AJM7KUA3.js → chunk-PBT52UWY.js} +4 -4
  142. package/dist/{chunk-AJM7KUA3.js.map → chunk-PBT52UWY.js.map} +1 -1
  143. package/dist/{chunk-YYVZFOUI.js → chunk-PCYZMJUC.js} +3 -3
  144. package/dist/{chunk-YYVZFOUI.js.map → chunk-PCYZMJUC.js.map} +1 -1
  145. package/dist/{chunk-R64ITZ7U.js → chunk-QBVXQHVJ.js} +3 -3
  146. package/dist/{chunk-R64ITZ7U.js.map → chunk-QBVXQHVJ.js.map} +1 -1
  147. package/dist/{chunk-LSMKTPIE.js → chunk-QXWCIK6D.js} +4 -4
  148. package/dist/{chunk-LSMKTPIE.js.map → chunk-QXWCIK6D.js.map} +1 -1
  149. package/dist/{chunk-N44U2AA7.js → chunk-T2O2IQJQ.js} +4 -4
  150. package/dist/{chunk-N44U2AA7.js.map → chunk-T2O2IQJQ.js.map} +1 -1
  151. package/dist/{chunk-DMR3ICV5.js → chunk-TQQN5AE2.js} +3 -3
  152. package/dist/{chunk-DMR3ICV5.js.map → chunk-TQQN5AE2.js.map} +1 -1
  153. package/dist/{chunk-ETC7OJT5.js → chunk-VDY3VY7S.js} +3 -3
  154. package/dist/{chunk-ETC7OJT5.js.map → chunk-VDY3VY7S.js.map} +1 -1
  155. package/dist/{chunk-HRW4YFHR.js → chunk-VEVFVWF3.js} +3 -3
  156. package/dist/{chunk-HRW4YFHR.js.map → chunk-VEVFVWF3.js.map} +1 -1
  157. package/dist/{chunk-KKTVDCVO.js → chunk-VNHYMLGK.js} +3 -3
  158. package/dist/{chunk-KKTVDCVO.js.map → chunk-VNHYMLGK.js.map} +1 -1
  159. package/dist/{chunk-TF46NIZF.js → chunk-VQO4TTPE.js} +4 -4
  160. package/dist/{chunk-TF46NIZF.js.map → chunk-VQO4TTPE.js.map} +1 -1
  161. package/dist/{chunk-VCMGBB5Y.js → chunk-X6WDFQYL.js} +3 -3
  162. package/dist/{chunk-VCMGBB5Y.js.map → chunk-X6WDFQYL.js.map} +1 -1
  163. package/dist/{chunk-KGSB2Y7O.js → chunk-YDRURQ2W.js} +3 -3
  164. package/dist/{chunk-KGSB2Y7O.js.map → chunk-YDRURQ2W.js.map} +1 -1
  165. package/dist/{chunk-PCB5DCS4.js → chunk-YEBA44IV.js} +3 -3
  166. package/dist/{chunk-PCB5DCS4.js.map → chunk-YEBA44IV.js.map} +1 -1
  167. package/dist/{chunk-X4ITNSMT.js → chunk-Z4EQHB26.js} +5 -5
  168. package/dist/{chunk-X4ITNSMT.js.map → chunk-Z4EQHB26.js.map} +1 -1
  169. package/dist/{chunk-HJGN3XVG.js → chunk-ZSEECSDV.js} +7 -7
  170. package/dist/{chunk-HJGN3XVG.js.map → chunk-ZSEECSDV.js.map} +1 -1
  171. package/dist/components/cart/index.js +1 -1
  172. package/dist/components/common/index.js +1 -1
  173. package/dist/components/drawer/index.js +12 -12
  174. package/dist/components/home/index.js +17 -17
  175. package/dist/components/layout/index.js +4 -4
  176. package/dist/components/product/index.js +14 -14
  177. package/dist/components/store/index.js +13 -13
  178. package/dist/dev/editor/index.js +1 -1
  179. package/dist/dev/index.js +1 -1
  180. package/dist/{document-class-VHDNGZQK.js → document-class-SWL4NCC6.js} +11 -11
  181. package/dist/{document-class-VHDNGZQK.js.map → document-class-SWL4NCC6.js.map} +1 -1
  182. package/dist/hooks/index.js +12 -12
  183. package/dist/hooks/useGtm.js +12 -12
  184. package/dist/hooks/useMoney.js +12 -12
  185. package/dist/hooks/useStore.js +12 -12
  186. package/dist/hooks/useUser.js +3 -3
  187. package/dist/index.js +12 -12
  188. package/dist/{navigation-C5K5SOU2.js → navigation-7V4CSVG5.js} +5 -5
  189. package/dist/{navigation-C5K5SOU2.js.map → navigation-7V4CSVG5.js.map} +1 -1
  190. package/dist/{navigation-VW5P7XQM.js → navigation-VMR4V27L.js} +4 -4
  191. package/dist/{navigation-VW5P7XQM.js.map → navigation-VMR4V27L.js.map} +1 -1
  192. package/dist/{not-found-U2LJEYDT.js → not-found-S33EUV2Q.js} +15 -15
  193. package/dist/{not-found-U2LJEYDT.js.map → not-found-S33EUV2Q.js.map} +1 -1
  194. package/dist/providers/index.js +12 -12
  195. package/dist/routes/account/orders.js +4 -4
  196. package/dist/routes/account.js +13 -13
  197. package/dist/routes/blog/loader.d.ts.map +1 -1
  198. package/dist/routes/blog.js +23 -15
  199. package/dist/routes/blog.js.map +1 -1
  200. package/dist/routes/brands.js +4 -4
  201. package/dist/routes/cart.js +21 -21
  202. package/dist/routes/home.js +18 -18
  203. package/dist/routes/index.js +3 -3
  204. package/dist/routes/loyalty.js +5 -5
  205. package/dist/routes/page.js +4 -4
  206. package/dist/routes/product-listing.js +19 -19
  207. package/dist/routes/product.js +17 -17
  208. package/dist/routes/seo-redirects.js +3 -3
  209. package/dist/routes/testimonials.js +2 -2
  210. package/dist/routes/thank-you.js +4 -4
  211. package/dist/skeleton.js +18 -18
  212. package/dist/{store-lookup-YL4EUIS2.js → store-lookup-D5C2LNXK.js} +8 -8
  213. package/dist/{store-lookup-YL4EUIS2.js.map → store-lookup-D5C2LNXK.js.map} +1 -1
  214. package/dist/tanstack.js +11 -11
  215. package/dist/utils/index.js +2 -2
  216. package/package.json +1 -1
  217. package/tailwind/routes/blog/loader.ts.txt +26 -8
@@ -1,34 +1,34 @@
1
1
  import { SORT_IDS, availableSortIds, sortOptions } from '../chunk-3LZJXKVO.js';
2
- import { category } from '../chunk-DHWMC6VU.js';
3
- import { brand } from '../chunk-LSMKTPIE.js';
4
- import { useReorderButtons, LazyTestimonials } from '../chunk-HJGN3XVG.js';
5
- import '../chunk-7NTPNCIK.js';
6
- import { product, parseNextPageToken } from '../chunk-WIDH6AK6.js';
2
+ import { category } from '../chunk-O6RZ6AWT.js';
3
+ import { brand } from '../chunk-QXWCIK6D.js';
4
+ import { useReorderButtons, LazyTestimonials } from '../chunk-ZSEECSDV.js';
5
+ import '../chunk-FXW6H6J3.js';
6
+ import { product, parseNextPageToken } from '../chunk-7PPNAVBF.js';
7
7
  import { Drawer } from '../chunk-6TKIUG5C.js';
8
- import '../chunk-MIAVMNPM.js';
9
- import { ProductCard } from '../chunk-NLKLS3GZ.js';
8
+ import '../chunk-DHKZCR6U.js';
9
+ import { ProductCard } from '../chunk-JOHFXU4C.js';
10
10
  import { registry, COMPONENT_KEYS } from '../chunk-Y32RHCOH.js';
11
- import { useStore } from '../chunk-GBMMP344.js';
11
+ import { useStore } from '../chunk-BKSVKSAW.js';
12
12
  import '../chunk-Q77J3D2W.js';
13
- import '../chunk-U5TWRPMK.js';
14
- import '../chunk-YYVZFOUI.js';
13
+ import '../chunk-F7S2QA3D.js';
14
+ import '../chunk-PCYZMJUC.js';
15
15
  import '../chunk-5V4W3GBI.js';
16
16
  import '../chunk-X55R4VVK.js';
17
17
  import '../chunk-YL6X3ZMG.js';
18
- import '../chunk-PCB5DCS4.js';
18
+ import '../chunk-YEBA44IV.js';
19
19
  import '../chunk-OXMUPNMH.js';
20
- import '../chunk-NGWHUW34.js';
20
+ import '../chunk-5EN3XZ32.js';
21
21
  import '../chunk-VVZNW5CB.js';
22
22
  import '../chunk-EGI7F57E.js';
23
23
  import '../chunk-GD26FI4J.js';
24
24
  import '../chunk-SLBO4SEE.js';
25
25
  import { buildHreflangAlternates, storePageUrl } from '../chunk-MGG4XAJ5.js';
26
- import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-HRW4YFHR.js';
26
+ import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-VEVFVWF3.js';
27
27
  import { RouteId } from '../chunk-OUW6WESU.js';
28
28
  import '../chunk-IHOUADLX.js';
29
29
  import '../chunk-HI5V5X3S.js';
30
- import '../chunk-XV3HPKLI.js';
31
- import '../chunk-5JZSBFA5.js';
30
+ import '../chunk-3O6BB7SI.js';
31
+ import '../chunk-A4Y5BVJN.js';
32
32
  import '../chunk-MVT5AF2A.js';
33
33
  import '../chunk-Z653O7MX.js';
34
34
  import '../chunk-ZCH7W7DZ.js';
@@ -39,16 +39,16 @@ import '../chunk-7V36I5GT.js';
39
39
  import '../chunk-6WI7R2BD.js';
40
40
  import '../chunk-M5WTY3EH.js';
41
41
  import '../chunk-OAMIDZKW.js';
42
- import '../chunk-KGSB2Y7O.js';
42
+ import '../chunk-YDRURQ2W.js';
43
43
  import '../chunk-OQIIJRAS.js';
44
44
  import '../chunk-V2ZDTY6H.js';
45
- import '../chunk-ETC7OJT5.js';
45
+ import '../chunk-VDY3VY7S.js';
46
46
  import { HookSlot } from '../chunk-5XDPAKF5.js';
47
47
  import '../chunk-GCPEMNSU.js';
48
- import { getAuthToken } from '../chunk-U2UNWN4G.js';
48
+ import { getAuthToken } from '../chunk-2DUN6DZK.js';
49
49
  import '../chunk-Z5M4YYWT.js';
50
50
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
51
- import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-VZRZQV4Q.js';
51
+ import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-FTH3XLIN.js';
52
52
  import '../chunk-AXW67SY7.js';
53
53
  import '../chunk-BYMOPN2S.js';
54
54
  import '../chunk-SKLEJJ6M.js';
@@ -1,30 +1,30 @@
1
- import { ProductsSlider, LazyTestimonials } from '../chunk-HJGN3XVG.js';
2
- import '../chunk-7NTPNCIK.js';
3
- import { product } from '../chunk-WIDH6AK6.js';
4
- import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-MIAVMNPM.js';
5
- import '../chunk-NLKLS3GZ.js';
1
+ import { ProductsSlider, LazyTestimonials } from '../chunk-ZSEECSDV.js';
2
+ import '../chunk-FXW6H6J3.js';
3
+ import { product } from '../chunk-7PPNAVBF.js';
4
+ import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-DHKZCR6U.js';
5
+ import '../chunk-JOHFXU4C.js';
6
6
  import '../chunk-Y32RHCOH.js';
7
- import { fastCheckoutScript } from '../chunk-GBMMP344.js';
7
+ import { fastCheckoutScript } from '../chunk-BKSVKSAW.js';
8
8
  import '../chunk-Q77J3D2W.js';
9
- import '../chunk-U5TWRPMK.js';
10
- import '../chunk-YYVZFOUI.js';
9
+ import '../chunk-F7S2QA3D.js';
10
+ import '../chunk-PCYZMJUC.js';
11
11
  import '../chunk-5V4W3GBI.js';
12
12
  import '../chunk-X55R4VVK.js';
13
13
  import '../chunk-YL6X3ZMG.js';
14
- import '../chunk-PCB5DCS4.js';
14
+ import '../chunk-YEBA44IV.js';
15
15
  import '../chunk-OXMUPNMH.js';
16
- import '../chunk-NGWHUW34.js';
16
+ import '../chunk-5EN3XZ32.js';
17
17
  import '../chunk-VVZNW5CB.js';
18
18
  import '../chunk-EGI7F57E.js';
19
19
  import '../chunk-GD26FI4J.js';
20
20
  import '../chunk-SLBO4SEE.js';
21
21
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
22
- import '../chunk-HRW4YFHR.js';
22
+ import '../chunk-VEVFVWF3.js';
23
23
  import { RouteId } from '../chunk-OUW6WESU.js';
24
24
  import { useComments } from '../chunk-IHOUADLX.js';
25
25
  import '../chunk-HI5V5X3S.js';
26
- import '../chunk-XV3HPKLI.js';
27
- import '../chunk-5JZSBFA5.js';
26
+ import '../chunk-3O6BB7SI.js';
27
+ import '../chunk-A4Y5BVJN.js';
28
28
  import '../chunk-MVT5AF2A.js';
29
29
  import '../chunk-Z653O7MX.js';
30
30
  import '../chunk-ZCH7W7DZ.js';
@@ -35,16 +35,16 @@ import '../chunk-7V36I5GT.js';
35
35
  import '../chunk-6WI7R2BD.js';
36
36
  import '../chunk-M5WTY3EH.js';
37
37
  import '../chunk-OAMIDZKW.js';
38
- import '../chunk-KGSB2Y7O.js';
38
+ import '../chunk-YDRURQ2W.js';
39
39
  import '../chunk-OQIIJRAS.js';
40
40
  import '../chunk-V2ZDTY6H.js';
41
- import '../chunk-ETC7OJT5.js';
41
+ import '../chunk-VDY3VY7S.js';
42
42
  import { HookSlot } from '../chunk-5XDPAKF5.js';
43
43
  import '../chunk-GCPEMNSU.js';
44
- import { getActiveCurrency } from '../chunk-U2UNWN4G.js';
44
+ import { getActiveCurrency } from '../chunk-2DUN6DZK.js';
45
45
  import '../chunk-Z5M4YYWT.js';
46
46
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
47
- import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-VZRZQV4Q.js';
47
+ import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-FTH3XLIN.js';
48
48
  import '../chunk-AXW67SY7.js';
49
49
  import '../chunk-BYMOPN2S.js';
50
50
  import '../chunk-SKLEJJ6M.js';
@@ -1,7 +1,7 @@
1
- export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-2N6XZZ4W.js';
2
- import '../chunk-HRW4YFHR.js';
1
+ export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-BEYWTFOR.js';
2
+ import '../chunk-VEVFVWF3.js';
3
3
  import '../chunk-OUW6WESU.js';
4
- import '../chunk-U2UNWN4G.js';
4
+ import '../chunk-2DUN6DZK.js';
5
5
  import '../chunk-Z5M4YYWT.js';
6
6
  import '../chunk-6TFM3UTF.js';
7
7
  import '../chunk-XMRNYUQY.js';
@@ -33,10 +33,10 @@ async function reviewsLoader() {
33
33
 
34
34
  // src/routes/testimonials/index.tsx
35
35
  var LazyTestimonialsPage = lazyComponent(
36
- () => import('../TestimonialsPage-ZDALOH2L.js').then((m) => ({ default: m.TestimonialsPage }))
36
+ () => import('../TestimonialsPage-KGCGTUJQ.js').then((m) => ({ default: m.TestimonialsPage }))
37
37
  );
38
38
  var LazyReviewsPage = lazyComponent(
39
- () => import('../ReviewsPage-RWNFVHWR.js').then((m) => ({ default: m.ReviewsPage }))
39
+ () => import('../ReviewsPage-C7NSCMBE.js').then((m) => ({ default: m.ReviewsPage }))
40
40
  );
41
41
  var TestimonialsPage = LazyTestimonialsPage;
42
42
  var ReviewsPage = LazyReviewsPage;
@@ -1,8 +1,8 @@
1
- import { order } from '../chunk-N44U2AA7.js';
1
+ import { order } from '../chunk-T2O2IQJQ.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import '../chunk-HRW4YFHR.js';
3
+ import '../chunk-VEVFVWF3.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-U2UNWN4G.js';
5
+ import '../chunk-2DUN6DZK.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.js';
@@ -41,7 +41,7 @@ async function thankYouLoader({
41
41
 
42
42
  // src/routes/thank-you/index.tsx
43
43
  var LazyThankYouPage = lazyComponent(
44
- () => import('../ThankYouPage-SYMPRWCS.js').then((m) => ({ default: m.ThankYouPage }))
44
+ () => import('../ThankYouPage-XWB4X236.js').then((m) => ({ default: m.ThankYouPage }))
45
45
  );
46
46
  var ThankYouPage = LazyThankYouPage;
47
47
  async function loader(ctx, extend) {
package/dist/skeleton.js CHANGED
@@ -1,33 +1,33 @@
1
1
  export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
2
- export { HomeSkeleton } from './chunk-52QZKUDU.js';
2
+ export { HomeSkeleton } from './chunk-HZWTDQVJ.js';
3
3
  import './chunk-IXHM24Z4.js';
4
- import './chunk-HJGN3XVG.js';
5
- import './chunk-7NTPNCIK.js';
6
- import './chunk-WIDH6AK6.js';
7
- import './chunk-MIAVMNPM.js';
8
- import './chunk-NLKLS3GZ.js';
4
+ import './chunk-ZSEECSDV.js';
5
+ import './chunk-FXW6H6J3.js';
6
+ import './chunk-7PPNAVBF.js';
7
+ import './chunk-DHKZCR6U.js';
8
+ import './chunk-JOHFXU4C.js';
9
9
  import './chunk-Y32RHCOH.js';
10
- import './chunk-GBMMP344.js';
10
+ import './chunk-BKSVKSAW.js';
11
11
  import './chunk-Q77J3D2W.js';
12
- import './chunk-U5TWRPMK.js';
13
- import './chunk-YYVZFOUI.js';
12
+ import './chunk-F7S2QA3D.js';
13
+ import './chunk-PCYZMJUC.js';
14
14
  import './chunk-5V4W3GBI.js';
15
15
  import './chunk-X55R4VVK.js';
16
16
  import './chunk-YL6X3ZMG.js';
17
- import './chunk-PCB5DCS4.js';
17
+ import './chunk-YEBA44IV.js';
18
18
  import './chunk-OXMUPNMH.js';
19
- import './chunk-NGWHUW34.js';
19
+ import './chunk-5EN3XZ32.js';
20
20
  import './chunk-VVZNW5CB.js';
21
21
  import './chunk-EGI7F57E.js';
22
22
  import './chunk-GD26FI4J.js';
23
23
  import './chunk-SLBO4SEE.js';
24
24
  import './chunk-MGG4XAJ5.js';
25
- import './chunk-HRW4YFHR.js';
25
+ import './chunk-VEVFVWF3.js';
26
26
  import './chunk-OUW6WESU.js';
27
27
  import './chunk-IHOUADLX.js';
28
28
  import './chunk-HI5V5X3S.js';
29
- import './chunk-XV3HPKLI.js';
30
- import './chunk-5JZSBFA5.js';
29
+ import './chunk-3O6BB7SI.js';
30
+ import './chunk-A4Y5BVJN.js';
31
31
  import './chunk-MVT5AF2A.js';
32
32
  import './chunk-Z653O7MX.js';
33
33
  import './chunk-ZCH7W7DZ.js';
@@ -38,16 +38,16 @@ import './chunk-7V36I5GT.js';
38
38
  import './chunk-6WI7R2BD.js';
39
39
  import './chunk-M5WTY3EH.js';
40
40
  import './chunk-OAMIDZKW.js';
41
- import './chunk-KGSB2Y7O.js';
41
+ import './chunk-YDRURQ2W.js';
42
42
  import './chunk-OQIIJRAS.js';
43
43
  import './chunk-V2ZDTY6H.js';
44
- import './chunk-ETC7OJT5.js';
44
+ import './chunk-VDY3VY7S.js';
45
45
  import './chunk-5XDPAKF5.js';
46
46
  import './chunk-GCPEMNSU.js';
47
- import './chunk-U2UNWN4G.js';
47
+ import './chunk-2DUN6DZK.js';
48
48
  import './chunk-Z5M4YYWT.js';
49
49
  import './chunk-TYNZ5B2B.js';
50
- import './chunk-VZRZQV4Q.js';
50
+ import './chunk-FTH3XLIN.js';
51
51
  import './chunk-AXW67SY7.js';
52
52
  import './chunk-BYMOPN2S.js';
53
53
  import './chunk-SKLEJJ6M.js';
@@ -1,11 +1,11 @@
1
- import { category } from './chunk-DHWMC6VU.js';
2
- import { blog } from './chunk-GFRJHCRX.js';
3
- import { brand } from './chunk-LSMKTPIE.js';
4
- import { product } from './chunk-WIDH6AK6.js';
1
+ import { category } from './chunk-O6RZ6AWT.js';
2
+ import { blog } from './chunk-3QOALQQJ.js';
3
+ import { brand } from './chunk-QXWCIK6D.js';
4
+ import { product } from './chunk-7PPNAVBF.js';
5
5
  import { DEV_LOOKUP_BUDGET_MS } from './chunk-OXMUPNMH.js';
6
- import './chunk-HRW4YFHR.js';
6
+ import './chunk-VEVFVWF3.js';
7
7
  import './chunk-OUW6WESU.js';
8
- import './chunk-U2UNWN4G.js';
8
+ import './chunk-2DUN6DZK.js';
9
9
  import './chunk-Z5M4YYWT.js';
10
10
  import './chunk-6TFM3UTF.js';
11
11
  import './chunk-XMRNYUQY.js';
@@ -111,5 +111,5 @@ function lookupInStore(source, query) {
111
111
  }
112
112
 
113
113
  export { lookupInStore };
114
- //# sourceMappingURL=store-lookup-YL4EUIS2.js.map
115
- //# sourceMappingURL=store-lookup-YL4EUIS2.js.map
114
+ //# sourceMappingURL=store-lookup-D5C2LNXK.js.map
115
+ //# sourceMappingURL=store-lookup-D5C2LNXK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dev/store-lookup.ts"],"names":["categories"],"mappings":"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","file":"store-lookup-YL4EUIS2.js","sourcesContent":["/**\n * Runs in the editor's frame (the storefront), which has the engine's API\n * client set up for the dev store: answers the editor's pickers with the real\n * store's products, categories, brands and blog. Loaded with `import()` on the\n * first lookup, so a storefront never carries it.\n *\n * Each item's `data` is what a block receives for it, in the API's shape: a\n * product block reads only the ids and fetches the rest, while categories and\n * brands are drawn from what is saved.\n */\n\nimport { product } from '../api/product';\nimport { category } from '../api/category';\nimport { brand } from '../api/brands';\nimport { blog } from '../api/blog';\nimport type { Category } from '../types';\nimport { DEV_LOOKUP_BUDGET_MS, type DevLookupItem, type DevLookupSource } from './schema-types';\n\n/** Enough to choose from; a search narrows it further. */\nconst PER_PAGE = 20;\n/** How far a paged list is searched before giving up, so a big store can't stall the picker. */\nconst MAX_PAGES = 10;\n\ninterface Page<T> {\n items: T[];\n next: string | null;\n}\n\n/**\n * The matching items of a paged list, read page after page until there are\n * enough, the pages run out, or the time budget is spent: a brand or article on\n * page three is still found, and what was found so far always reaches the\n * editor before it stops waiting (`DEV_LOOKUP_BUDGET_MS` < its timeout).\n */\nasync function collect<T>(\n fetchPage: (page: number, cursor: string | null) => Promise<Page<T>>,\n keep: (item: T) => boolean\n): Promise<T[]> {\n const deadline = Date.now() + DEV_LOOKUP_BUDGET_MS;\n const found: T[] = [];\n let cursor: string | null = null;\n for (let page = 1; page <= MAX_PAGES; page += 1) {\n const { items, next } = await fetchPage(page, cursor);\n found.push(...items.filter(keep));\n if (found.length >= PER_PAGE || !next || Date.now() >= deadline) break;\n cursor = next;\n }\n return found.slice(0, PER_PAGE);\n}\n\nfunction matches(name: string, query: string): boolean {\n return !query || name.toLowerCase().includes(query.toLowerCase());\n}\n\n/** Categories with their subcategories, flattened, parents first. */\nfunction flatten(categories: Category[]): Category[] {\n return categories.flatMap((c) => [c, ...flatten(c.sub_categories ?? [])]);\n}\n\nasync function products(query: string): Promise<DevLookupItem[]> {\n const { items } = await product.list({\n source: query ? 'search' : 'latest',\n ...(query ? { keyword: query } : {}),\n perPage: PER_PAGE,\n });\n // List responses send the id as a numeric string; the block reads a number. Use it for both.\n return items.map((p) => ({\n id: Number(p.id),\n name: p.name,\n image: p.image?.url,\n url: p.url,\n data: { id: Number(p.id), name: p.name, url: p.url, image: p.image?.url ?? null },\n }));\n}\n\nasync function categories(query: string): Promise<DevLookupItem[]> {\n return flatten(await category.list())\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n image: c.image ?? undefined,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url, image: c.image ?? null, icon: c.icon ?? null },\n }));\n}\n\nasync function brands(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n (page) => brand.list(page),\n (b) => matches(b.name, query)\n );\n return found.map((b) => ({\n id: b.id,\n name: b.name,\n image: b.logo,\n url: b.url,\n data: { id: b.id, name: b.name, url: b.url, logo: b.logo, banner: b.banner ?? null },\n }));\n}\n\nasync function blogArticles(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n async (_page, cursor) => {\n const { data, cursor: pages } = await blog.articles.list(cursor ? { cursor } : undefined);\n return { items: data, next: pages?.next ?? null };\n },\n (a) => matches(a.name, query)\n );\n return found.map((a) => ({\n id: a.id,\n name: a.name,\n image: a.image,\n url: a.url,\n data: { id: a.id, name: a.name, url: a.url },\n }));\n}\n\nasync function blogCategories(query: string): Promise<DevLookupItem[]> {\n const { categories: list } = await blog.get();\n return list\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url },\n }));\n}\n\nconst LOOKUPS: Record<DevLookupSource, (query: string) => Promise<DevLookupItem[]>> = {\n products,\n categories,\n brands,\n blog_articles: blogArticles,\n blog_categories: blogCategories,\n};\n\nexport function lookupInStore(source: DevLookupSource, query: string): Promise<DevLookupItem[]> {\n const lookup = LOOKUPS[source];\n if (!lookup) return Promise.reject(new Error(`no lookup for ${source}`));\n return lookup(query.trim());\n}\n"]}
1
+ {"version":3,"sources":["../src/dev/store-lookup.ts"],"names":["categories"],"mappings":"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","file":"store-lookup-D5C2LNXK.js","sourcesContent":["/**\n * Runs in the editor's frame (the storefront), which has the engine's API\n * client set up for the dev store: answers the editor's pickers with the real\n * store's products, categories, brands and blog. Loaded with `import()` on the\n * first lookup, so a storefront never carries it.\n *\n * Each item's `data` is what a block receives for it, in the API's shape: a\n * product block reads only the ids and fetches the rest, while categories and\n * brands are drawn from what is saved.\n */\n\nimport { product } from '../api/product';\nimport { category } from '../api/category';\nimport { brand } from '../api/brands';\nimport { blog } from '../api/blog';\nimport type { Category } from '../types';\nimport { DEV_LOOKUP_BUDGET_MS, type DevLookupItem, type DevLookupSource } from './schema-types';\n\n/** Enough to choose from; a search narrows it further. */\nconst PER_PAGE = 20;\n/** How far a paged list is searched before giving up, so a big store can't stall the picker. */\nconst MAX_PAGES = 10;\n\ninterface Page<T> {\n items: T[];\n next: string | null;\n}\n\n/**\n * The matching items of a paged list, read page after page until there are\n * enough, the pages run out, or the time budget is spent: a brand or article on\n * page three is still found, and what was found so far always reaches the\n * editor before it stops waiting (`DEV_LOOKUP_BUDGET_MS` < its timeout).\n */\nasync function collect<T>(\n fetchPage: (page: number, cursor: string | null) => Promise<Page<T>>,\n keep: (item: T) => boolean\n): Promise<T[]> {\n const deadline = Date.now() + DEV_LOOKUP_BUDGET_MS;\n const found: T[] = [];\n let cursor: string | null = null;\n for (let page = 1; page <= MAX_PAGES; page += 1) {\n const { items, next } = await fetchPage(page, cursor);\n found.push(...items.filter(keep));\n if (found.length >= PER_PAGE || !next || Date.now() >= deadline) break;\n cursor = next;\n }\n return found.slice(0, PER_PAGE);\n}\n\nfunction matches(name: string, query: string): boolean {\n return !query || name.toLowerCase().includes(query.toLowerCase());\n}\n\n/** Categories with their subcategories, flattened, parents first. */\nfunction flatten(categories: Category[]): Category[] {\n return categories.flatMap((c) => [c, ...flatten(c.sub_categories ?? [])]);\n}\n\nasync function products(query: string): Promise<DevLookupItem[]> {\n const { items } = await product.list({\n source: query ? 'search' : 'latest',\n ...(query ? { keyword: query } : {}),\n perPage: PER_PAGE,\n });\n // List responses send the id as a numeric string; the block reads a number. Use it for both.\n return items.map((p) => ({\n id: Number(p.id),\n name: p.name,\n image: p.image?.url,\n url: p.url,\n data: { id: Number(p.id), name: p.name, url: p.url, image: p.image?.url ?? null },\n }));\n}\n\nasync function categories(query: string): Promise<DevLookupItem[]> {\n return flatten(await category.list())\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n image: c.image ?? undefined,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url, image: c.image ?? null, icon: c.icon ?? null },\n }));\n}\n\nasync function brands(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n (page) => brand.list(page),\n (b) => matches(b.name, query)\n );\n return found.map((b) => ({\n id: b.id,\n name: b.name,\n image: b.logo,\n url: b.url,\n data: { id: b.id, name: b.name, url: b.url, logo: b.logo, banner: b.banner ?? null },\n }));\n}\n\nasync function blogArticles(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n async (_page, cursor) => {\n const { data, cursor: pages } = await blog.articles.list(cursor ? { cursor } : undefined);\n return { items: data, next: pages?.next ?? null };\n },\n (a) => matches(a.name, query)\n );\n return found.map((a) => ({\n id: a.id,\n name: a.name,\n image: a.image,\n url: a.url,\n data: { id: a.id, name: a.name, url: a.url },\n }));\n}\n\nasync function blogCategories(query: string): Promise<DevLookupItem[]> {\n const { categories: list } = await blog.get();\n return list\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url },\n }));\n}\n\nconst LOOKUPS: Record<DevLookupSource, (query: string) => Promise<DevLookupItem[]>> = {\n products,\n categories,\n brands,\n blog_articles: blogArticles,\n blog_categories: blogCategories,\n};\n\nexport function lookupInStore(source: DevLookupSource, query: string): Promise<DevLookupItem[]> {\n const lookup = LOOKUPS[source];\n if (!lookup) return Promise.reject(new Error(`no lookup for ${source}`));\n return lookup(query.trim());\n}\n"]}
package/dist/tanstack.js CHANGED
@@ -1,26 +1,26 @@
1
- export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-ITNUDQVP.js';
2
- import { requestHostOf } from './chunk-KKTVDCVO.js';
3
- export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-KKTVDCVO.js';
1
+ export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-3G4YCXOR.js';
2
+ import { requestHostOf } from './chunk-VNHYMLGK.js';
3
+ export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-VNHYMLGK.js';
4
4
  import './chunk-Z4Y55HWX.js';
5
5
  export { tanstackHeadAdapter as head, withHead } from './chunk-R7VWIXFX.js';
6
6
  import { CRITICAL_STYLE_HREF } from './chunk-4FJGZQD3.js';
7
- import './chunk-R64ITZ7U.js';
8
- import { readNativeAppHeaders } from './chunk-DMR3ICV5.js';
9
- import './chunk-FPGR63AQ.js';
10
- import './chunk-WIDH6AK6.js';
7
+ import './chunk-QBVXQHVJ.js';
8
+ import { readNativeAppHeaders } from './chunk-TQQN5AE2.js';
9
+ import './chunk-C6PNF2OT.js';
10
+ import './chunk-7PPNAVBF.js';
11
11
  import { rootHead } from './chunk-5V4W3GBI.js';
12
12
  import './chunk-X55R4VVK.js';
13
- import './chunk-NGWHUW34.js';
13
+ import './chunk-5EN3XZ32.js';
14
14
  import './chunk-EGI7F57E.js';
15
15
  import './chunk-GD26FI4J.js';
16
16
  import { maintenanceEvidence, MAINTENANCE_EVIDENCE_HEADER, maintenanceEvidenceHeader } from './chunk-SLBO4SEE.js';
17
17
  import './chunk-MGG4XAJ5.js';
18
- import './chunk-HRW4YFHR.js';
18
+ import './chunk-VEVFVWF3.js';
19
19
  import './chunk-OUW6WESU.js';
20
20
  import './chunk-JWXJPJBO.js';
21
21
  export { mergeDocumentDescriptors as mergeAttrs } from './chunk-CW625T2E.js';
22
- import './chunk-ETC7OJT5.js';
23
- import './chunk-U2UNWN4G.js';
22
+ import './chunk-VDY3VY7S.js';
23
+ import './chunk-2DUN6DZK.js';
24
24
  import './chunk-Z5M4YYWT.js';
25
25
  import './chunk-TYNZ5B2B.js';
26
26
  import './chunk-BYMOPN2S.js';
@@ -1,6 +1,6 @@
1
1
  export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
2
2
  export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
3
- export { dispatchRouteChanged } from '../chunk-R64ITZ7U.js';
3
+ export { dispatchRouteChanged } from '../chunk-QBVXQHVJ.js';
4
4
  export { sortOptions } from '../chunk-3LZJXKVO.js';
5
5
  export { color } from '../chunk-VVZNW5CB.js';
6
6
  export { applyAppScopeMocks, registerThemeHookSlots } from '../chunk-EGI7F57E.js';
@@ -8,7 +8,7 @@ export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-GD26FI4J.js';
8
8
  export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-MGG4XAJ5.js';
9
9
  export { asset, cdn, isPlaceholder } from '../chunk-ZCH7W7DZ.js';
10
10
  export { mergeDocumentDescriptors, mergeElementAttrs, normalizeClasses, syncAttrsToElement, toReactProps } from '../chunk-CW625T2E.js';
11
- import '../chunk-U2UNWN4G.js';
11
+ import '../chunk-2DUN6DZK.js';
12
12
  import '../chunk-Z5M4YYWT.js';
13
13
  export { getSallaSDK, getStoreIdentifier, onSallaEvent, whenSallaLoaded, whenSallaReady } from '../chunk-XMRNYUQY.js';
14
14
  export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies } from '../chunk-T2752RH7.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salla.sa/twilight-theme-engine",
3
- "version": "1.0.145",
3
+ "version": "1.0.146",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1,7 +1,7 @@
1
1
  import { blog } from '../../api/blog';
2
2
  import { getTwilightContext } from '../../twilight/context';
3
3
  import { RouteId } from '../../router/route-ids';
4
- import { notFound, orThrow } from '../../providers/NavigationProvider';
4
+ import { notFound, orThrow, responseStatusOf } from '../../providers/NavigationProvider';
5
5
  import type { Breadcrumb } from '../../types';
6
6
  import type {
7
7
  BlogPageProps,
@@ -12,6 +12,24 @@ import type {
12
12
  } from './types';
13
13
  import type { IdParams, SlugIdParams } from '../types';
14
14
 
15
+ /**
16
+ * {@link orThrow} for the blog, which also answers 404 when the store's plan lacks the blog.
17
+ *
18
+ * Every blog endpoint sits behind `feature:store-blog`, which answers 403 ("الميزة غير متاحة في
19
+ * الوقت الحالي") on such a store, so an article a crawler still links to was a 500. There is no
20
+ * page to show, so the route answers the router's not-found like a missing article. Twig answers
21
+ * the same store's `/blog` with its 403 page and an article with a 302 home. Kept to the blog:
22
+ * elsewhere a 403 can mean the shopper must sign in.
23
+ */
24
+ async function blogOrNotFound<T>(promise: Promise<T>): Promise<T> {
25
+ try {
26
+ return await orThrow(promise);
27
+ } catch (error) {
28
+ if (responseStatusOf(error) === 403) return notFound();
29
+ throw error;
30
+ }
31
+ }
32
+
15
33
  export async function blogLoader(): Promise<BlogPageProps> {
16
34
  const i18n = getTwilightContext().i18n;
17
35
 
@@ -56,7 +74,7 @@ export async function blogSingleLoader({
56
74
 
57
75
  // The API answers a non-numeric id with 417, which `orThrow` would pass through as an error.
58
76
  if (!/^\d+$/.test(id)) throw notFound();
59
- const article = await blog.articles.findOrThrow(id);
77
+ const article = await blogOrNotFound(blog.articles.find(id));
60
78
 
61
79
  const breadcrumbs: Breadcrumb[] = [
62
80
  { name: i18n.t('common.titles.home'), url: '/' },
@@ -85,8 +103,8 @@ export async function blogAuthorLoader({
85
103
  const i18n = getTwilightContext().i18n;
86
104
 
87
105
  const [response, overview] = await Promise.all([
88
- orThrow(blog.articles.list({ author: id })),
89
- blog.get(),
106
+ blogOrNotFound(blog.articles.list({ author: id })),
107
+ blogOrNotFound(blog.get()),
90
108
  ]);
91
109
  const author = response.author;
92
110
  // The API answers an unknown id without the author object: 404 instead of a TypeError (500).
@@ -121,8 +139,8 @@ export async function blogCategoryLoader({
121
139
  const i18n = getTwilightContext().i18n;
122
140
 
123
141
  const [response, overview] = await Promise.all([
124
- orThrow(blog.articles.list({ category: id })),
125
- blog.get(),
142
+ blogOrNotFound(blog.articles.list({ category: id })),
143
+ blogOrNotFound(blog.get()),
126
144
  ]);
127
145
  const category = response.category;
128
146
  if (!category) throw notFound();
@@ -151,8 +169,8 @@ export async function blogTagLoader({
151
169
  const i18n = getTwilightContext().i18n;
152
170
 
153
171
  const [response, overview] = await Promise.all([
154
- orThrow(blog.articles.list({ tag: id })),
155
- blog.get(),
172
+ blogOrNotFound(blog.articles.list({ tag: id })),
173
+ blogOrNotFound(blog.get()),
156
174
  ]);
157
175
  const tag = response.tag;
158
176
  if (!tag) throw notFound();