@salla.sa/twilight-theme-engine 1.0.71 → 1.0.73

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 (258) hide show
  1. package/dist/{AddToCartForm-XA5X2C5K.js → AddToCartForm-G2HK5QB3.js} +5 -5
  2. package/dist/AddToCartForm-G2HK5QB3.js.map +1 -0
  3. package/dist/{BlogAuthorPage-YWR52G5S.js → BlogAuthorPage-BU2LVISS.js} +22 -22
  4. package/dist/BlogAuthorPage-BU2LVISS.js.map +1 -0
  5. package/dist/{BlogCategoryPage-N644DZTN.js → BlogCategoryPage-UR4MPDLE.js} +20 -20
  6. package/dist/{BlogCategoryPage-N644DZTN.js.map → BlogCategoryPage-UR4MPDLE.js.map} +1 -1
  7. package/dist/{BlogPage-5Z4X3Y2H.js → BlogPage-E2XZGFOP.js} +18 -18
  8. package/dist/{BlogPage-5Z4X3Y2H.js.map → BlogPage-E2XZGFOP.js.map} +1 -1
  9. package/dist/{BlogSinglePage-NSNVBBUS.js → BlogSinglePage-ZK2K6WEU.js} +18 -18
  10. package/dist/{BlogSinglePage-NSNVBBUS.js.map → BlogSinglePage-ZK2K6WEU.js.map} +1 -1
  11. package/dist/{BlogTagPage-GRYZRHDL.js → BlogTagPage-5N4VTPDN.js} +20 -20
  12. package/dist/{BlogTagPage-GRYZRHDL.js.map → BlogTagPage-5N4VTPDN.js.map} +1 -1
  13. package/dist/{BrandsPage-3Q4ZYOT7.js → BrandsPage-XE7RYGXA.js} +19 -19
  14. package/dist/{BrandsPage-3Q4ZYOT7.js.map → BrandsPage-XE7RYGXA.js.map} +1 -1
  15. package/dist/{Breadcrumb-WNSVFI75.js → Breadcrumb-NX6BUSOA.js} +18 -18
  16. package/dist/{Breadcrumb-WNSVFI75.js.map → Breadcrumb-NX6BUSOA.js.map} +1 -1
  17. package/dist/{CartItem-A66ZG64I.js → CartItem-SO34G6GZ.js} +18 -18
  18. package/dist/{CartItem-A66ZG64I.js.map → CartItem-SO34G6GZ.js.map} +1 -1
  19. package/dist/{CartSummary-BQC2IGQD.js → CartSummary-SDTY2CR2.js} +18 -18
  20. package/dist/{CartSummary-BQC2IGQD.js.map → CartSummary-SDTY2CR2.js.map} +1 -1
  21. package/dist/{Copyright-UNROFFOC.js → Copyright-C426OB5D.js} +4 -4
  22. package/dist/{Copyright-UNROFFOC.js.map → Copyright-C426OB5D.js.map} +1 -1
  23. package/dist/{CustomerLayout-TKS5QZMJ.js → CustomerLayout-UXX5KJWR.js} +18 -18
  24. package/dist/{CustomerLayout-TKS5QZMJ.js.map → CustomerLayout-UXX5KJWR.js.map} +1 -1
  25. package/dist/{Footer-2WD77PFB.js → Footer-M5QEXJ4Z.js} +18 -18
  26. package/dist/{Footer-2WD77PFB.js.map → Footer-M5QEXJ4Z.js.map} +1 -1
  27. package/dist/{Header-3BANLNYK.js → Header-CUJ4SYDF.js} +7 -7
  28. package/dist/{Header-3BANLNYK.js.map → Header-CUJ4SYDF.js.map} +1 -1
  29. package/dist/{ImageModal-LHFSYPSU.js → ImageModal-4FNL5UC5.js} +3 -3
  30. package/dist/{ImageModal-LHFSYPSU.js.map → ImageModal-4FNL5UC5.js.map} +1 -1
  31. package/dist/{LoyaltyPage-OAGJLFD2.js → LoyaltyPage-UMQ2ZWA6.js} +18 -18
  32. package/dist/{LoyaltyPage-OAGJLFD2.js.map → LoyaltyPage-UMQ2ZWA6.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-G5FB2QTQ.js → LoyaltyPointsPage-5YHEQSLT.js} +6 -6
  34. package/dist/{LoyaltyPointsPage-G5FB2QTQ.js.map → LoyaltyPointsPage-5YHEQSLT.js.map} +1 -1
  35. package/dist/{MainMenu-FFLJR2EK.js → MainMenu-OFQDXUGW.js} +6 -6
  36. package/dist/{MainMenu-FFLJR2EK.js.map → MainMenu-OFQDXUGW.js.map} +1 -1
  37. package/dist/{MasterLayout-H54QAUUY.js → MasterLayout-TSHKSJ7U.js} +18 -18
  38. package/dist/{MasterLayout-H54QAUUY.js.map → MasterLayout-TSHKSJ7U.js.map} +1 -1
  39. package/dist/{MobileMenu-OVAY7EFJ.js → MobileMenu-7EKUQ4MU.js} +19 -19
  40. package/dist/{MobileMenu-OVAY7EFJ.js.map → MobileMenu-7EKUQ4MU.js.map} +1 -1
  41. package/dist/{NotificationsPage-SEAEJEE7.js → NotificationsPage-TBDOI7YB.js} +18 -18
  42. package/dist/{NotificationsPage-SEAEJEE7.js.map → NotificationsPage-TBDOI7YB.js.map} +1 -1
  43. package/dist/{OrderSinglePage-L7OCFF7N.js → OrderSinglePage-7A37FKJE.js} +19 -19
  44. package/dist/{OrderSinglePage-L7OCFF7N.js.map → OrderSinglePage-7A37FKJE.js.map} +1 -1
  45. package/dist/{OrdersPage-IOEC2JR2.js → OrdersPage-NJ3JH6SG.js} +18 -18
  46. package/dist/{OrdersPage-IOEC2JR2.js.map → OrdersPage-NJ3JH6SG.js.map} +1 -1
  47. package/dist/{PageSingle-YYUIJVFP.js → PageSingle-UKA2U3E5.js} +4 -4
  48. package/dist/{PageSingle-YYUIJVFP.js.map → PageSingle-UKA2U3E5.js.map} +1 -1
  49. package/dist/{ProductDetails-KSB3OC25.js → ProductDetails-XDNE62ZZ.js} +8 -9
  50. package/dist/ProductDetails-XDNE62ZZ.js.map +1 -0
  51. package/dist/{ProfilePage-SVQRTF55.js → ProfilePage-WPJYGKYR.js} +18 -18
  52. package/dist/{ProfilePage-SVQRTF55.js.map → ProfilePage-WPJYGKYR.js.map} +1 -1
  53. package/dist/{SeoCartWidget-G4Y4NRMH.js → SeoCartWidget-G7NAANUN.js} +18 -18
  54. package/dist/{SeoCartWidget-G4Y4NRMH.js.map → SeoCartWidget-G7NAANUN.js.map} +1 -1
  55. package/dist/{SettingsPage-ZVBMBGZL.js → SettingsPage-X7GPCBJL.js} +18 -18
  56. package/dist/{SettingsPage-ZVBMBGZL.js.map → SettingsPage-X7GPCBJL.js.map} +1 -1
  57. package/dist/{StoreClosedNotification-PRXVWUV7.js → StoreClosedNotification-NKRYCLKX.js} +19 -19
  58. package/dist/{StoreClosedNotification-PRXVWUV7.js.map → StoreClosedNotification-NKRYCLKX.js.map} +1 -1
  59. package/dist/{TestimonialsPage-QENPQ2JK.js → TestimonialsPage-JTUWHKPU.js} +4 -4
  60. package/dist/{TestimonialsPage-QENPQ2JK.js.map → TestimonialsPage-JTUWHKPU.js.map} +1 -1
  61. package/dist/{ThankYouPage-GB6M5I4Z.js → ThankYouPage-MCMBGHO2.js} +18 -18
  62. package/dist/{ThankYouPage-GB6M5I4Z.js.map → ThankYouPage-MCMBGHO2.js.map} +1 -1
  63. package/dist/{WalletPage-IG5B33XQ.js → WalletPage-JJI6WPNT.js} +19 -19
  64. package/dist/{WalletPage-IG5B33XQ.js.map → WalletPage-JJI6WPNT.js.map} +1 -1
  65. package/dist/WidgetHead-BCRIXIJQ.js +7 -0
  66. package/dist/{WidgetHead-RWL7D3CT.js.map → WidgetHead-BCRIXIJQ.js.map} +1 -1
  67. package/dist/{WishlistPage-SYNLUIGO.js → WishlistPage-HAOYS7NV.js} +20 -20
  68. package/dist/{WishlistPage-SYNLUIGO.js.map → WishlistPage-HAOYS7NV.js.map} +1 -1
  69. package/dist/api/apps.js +2 -2
  70. package/dist/api/blog.js +12 -0
  71. package/dist/api/blog.js.map +1 -0
  72. package/dist/api/brands.js +2 -2
  73. package/dist/api/cart.js +2 -2
  74. package/dist/api/category.js +2 -2
  75. package/dist/api/client.d.ts +0 -6
  76. package/dist/api/client.d.ts.map +1 -1
  77. package/dist/api/client.js +1 -1
  78. package/dist/api/home.js +2 -2
  79. package/dist/api/loyalty.js +2 -2
  80. package/dist/api/menu.js +2 -2
  81. package/dist/api/notification.js +2 -2
  82. package/dist/api/order.js +2 -2
  83. package/dist/api/page.js +2 -2
  84. package/dist/api/product.js +2 -2
  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/types.d.ts +5 -0
  89. package/dist/api/types.d.ts.map +1 -1
  90. package/dist/api/user.js +2 -2
  91. package/dist/api/wallet.js +9 -0
  92. package/dist/api/wallet.js.map +1 -0
  93. package/dist/api/wishlist.js +3 -3
  94. package/dist/{chunk-7PYHB3PP.js → chunk-25FWAL3O.js} +3 -3
  95. package/dist/{chunk-7PYHB3PP.js.map → chunk-25FWAL3O.js.map} +1 -1
  96. package/dist/{chunk-USN5NHJ5.js → chunk-2ALN2BPM.js} +3 -3
  97. package/dist/{chunk-USN5NHJ5.js.map → chunk-2ALN2BPM.js.map} +1 -1
  98. package/dist/{chunk-5HOD4BKK.js → chunk-3CYIB6BL.js} +3 -3
  99. package/dist/{chunk-5HOD4BKK.js.map → chunk-3CYIB6BL.js.map} +1 -1
  100. package/dist/{chunk-VYJDRAWX.js → chunk-3EE62REP.js} +3 -3
  101. package/dist/{chunk-VYJDRAWX.js.map → chunk-3EE62REP.js.map} +1 -1
  102. package/dist/{chunk-IXG6BF2M.js → chunk-3YAR2SXQ.js} +7 -7
  103. package/dist/{chunk-IXG6BF2M.js.map → chunk-3YAR2SXQ.js.map} +1 -1
  104. package/dist/chunk-4LVBS3VI.js +14 -0
  105. package/dist/{chunk-IHZVVSPW.js.map → chunk-4LVBS3VI.js.map} +1 -1
  106. package/dist/{chunk-P6EOXGUE.js → chunk-52ETYODY.js} +4 -4
  107. package/dist/{chunk-P6EOXGUE.js.map → chunk-52ETYODY.js.map} +1 -1
  108. package/dist/{chunk-GVJHDJW7.js → chunk-54XX3YPP.js} +10 -10
  109. package/dist/chunk-54XX3YPP.js.map +1 -0
  110. package/dist/{chunk-N3BSUMD7.js → chunk-5AFTFN72.js} +3 -3
  111. package/dist/{chunk-N3BSUMD7.js.map → chunk-5AFTFN72.js.map} +1 -1
  112. package/dist/{chunk-GTG22RZG.js → chunk-5DPR7GWH.js} +3 -3
  113. package/dist/{chunk-GTG22RZG.js.map → chunk-5DPR7GWH.js.map} +1 -1
  114. package/dist/{chunk-Q7VWURUR.js → chunk-5XDPAKF5.js} +3 -3
  115. package/dist/{chunk-Q7VWURUR.js.map → chunk-5XDPAKF5.js.map} +1 -1
  116. package/dist/chunk-7V5HOZW4.js +10 -0
  117. package/dist/{chunk-CUG6VOLM.js.map → chunk-7V5HOZW4.js.map} +1 -1
  118. package/dist/{chunk-7W7SLN5M.js → chunk-B5FDWE4U.js} +3 -3
  119. package/dist/{chunk-7W7SLN5M.js.map → chunk-B5FDWE4U.js.map} +1 -1
  120. package/dist/{chunk-BQURS54V.js → chunk-CMD3ARR2.js} +13 -13
  121. package/dist/{chunk-BQURS54V.js.map → chunk-CMD3ARR2.js.map} +1 -1
  122. package/dist/{chunk-VX2T7JCB.js → chunk-EXBH6RGD.js} +5 -5
  123. package/dist/chunk-EXBH6RGD.js.map +1 -0
  124. package/dist/{chunk-GU2KUQVD.js → chunk-GCPEMNSU.js} +14 -3
  125. package/dist/chunk-GCPEMNSU.js.map +1 -0
  126. package/dist/{chunk-6F5QZKIY.js → chunk-HFISEQPK.js} +8 -13
  127. package/dist/chunk-HFISEQPK.js.map +1 -0
  128. package/dist/{chunk-C5X6CVXC.js → chunk-HI5V5X3S.js} +4 -7
  129. package/dist/chunk-HI5V5X3S.js.map +1 -0
  130. package/dist/{chunk-5O6PTKI5.js → chunk-IXUY5RMV.js} +6 -4
  131. package/dist/chunk-IXUY5RMV.js.map +1 -0
  132. package/dist/{chunk-DY5WGKDX.js → chunk-JZ7BOB4G.js} +3 -3
  133. package/dist/{chunk-DY5WGKDX.js.map → chunk-JZ7BOB4G.js.map} +1 -1
  134. package/dist/{chunk-R2BAI6QI.js → chunk-KOMV5SEF.js} +5 -5
  135. package/dist/{chunk-R2BAI6QI.js.map → chunk-KOMV5SEF.js.map} +1 -1
  136. package/dist/{chunk-ILMX45PO.js → chunk-L2QUP6J3.js} +6 -6
  137. package/dist/{chunk-ILMX45PO.js.map → chunk-L2QUP6J3.js.map} +1 -1
  138. package/dist/chunk-L3X2H2RP.js +21 -0
  139. package/dist/{chunk-DZDSTTHW.js.map → chunk-L3X2H2RP.js.map} +1 -1
  140. package/dist/{chunk-FGROIU3Y.js → chunk-L5K7VBOH.js} +3 -3
  141. package/dist/{chunk-FGROIU3Y.js.map → chunk-L5K7VBOH.js.map} +1 -1
  142. package/dist/chunk-MVT5AF2A.js +94 -0
  143. package/dist/chunk-MVT5AF2A.js.map +1 -0
  144. package/dist/{chunk-A32NANNC.js → chunk-OYP5CGHU.js} +3 -3
  145. package/dist/{chunk-A32NANNC.js.map → chunk-OYP5CGHU.js.map} +1 -1
  146. package/dist/{chunk-NFE2H5JE.js → chunk-RO6KBURF.js} +3 -3
  147. package/dist/{chunk-NFE2H5JE.js.map → chunk-RO6KBURF.js.map} +1 -1
  148. package/dist/{chunk-GBWCXUPD.js → chunk-RSVAPXXI.js} +39 -16
  149. package/dist/chunk-RSVAPXXI.js.map +1 -0
  150. package/dist/{chunk-2JL4S2LE.js → chunk-U53LIN2F.js} +6 -6
  151. package/dist/{chunk-2JL4S2LE.js.map → chunk-U53LIN2F.js.map} +1 -1
  152. package/dist/{chunk-MSUGP566.js → chunk-UAY6LTWB.js} +3 -3
  153. package/dist/{chunk-MSUGP566.js.map → chunk-UAY6LTWB.js.map} +1 -1
  154. package/dist/{chunk-RJPPO3ET.js → chunk-V2ZDTY6H.js} +3 -3
  155. package/dist/{chunk-RJPPO3ET.js.map → chunk-V2ZDTY6H.js.map} +1 -1
  156. package/dist/{chunk-H2DXJCJP.js → chunk-VFYT2VWC.js} +3 -3
  157. package/dist/{chunk-H2DXJCJP.js.map → chunk-VFYT2VWC.js.map} +1 -1
  158. package/dist/{chunk-LDMLFJGQ.js → chunk-WLDDKFSZ.js} +4 -4
  159. package/dist/{chunk-LDMLFJGQ.js.map → chunk-WLDDKFSZ.js.map} +1 -1
  160. package/dist/{chunk-5H4NIOTY.js → chunk-WSXRUOI2.js} +3 -3
  161. package/dist/{chunk-5H4NIOTY.js.map → chunk-WSXRUOI2.js.map} +1 -1
  162. package/dist/{chunk-LGT3T7VF.js → chunk-WYW7USLQ.js} +3 -3
  163. package/dist/{chunk-LGT3T7VF.js.map → chunk-WYW7USLQ.js.map} +1 -1
  164. package/dist/{chunk-7BGEGHAI.js → chunk-XVNXXF67.js} +3 -3
  165. package/dist/{chunk-7BGEGHAI.js.map → chunk-XVNXXF67.js.map} +1 -1
  166. package/dist/{chunk-HX3YKS5W.js → chunk-YA6ABQB7.js} +16 -10
  167. package/dist/chunk-YA6ABQB7.js.map +1 -0
  168. package/dist/{chunk-4YHSQSM6.js → chunk-YKFGUVF7.js} +3 -3
  169. package/dist/{chunk-4YHSQSM6.js.map → chunk-YKFGUVF7.js.map} +1 -1
  170. package/dist/{chunk-E7PYHBCX.js → chunk-YLSG4MEK.js} +3 -3
  171. package/dist/{chunk-E7PYHBCX.js.map → chunk-YLSG4MEK.js.map} +1 -1
  172. package/dist/components/cart/index.js +1 -1
  173. package/dist/components/common/Image.d.ts.map +1 -1
  174. package/dist/components/common/index.js +2 -2
  175. package/dist/components/drawer/index.js +16 -16
  176. package/dist/components/home/index.js +20 -20
  177. package/dist/components/layout/index.js +4 -4
  178. package/dist/components/modal/Modal.d.ts.map +1 -1
  179. package/dist/components/modal/index.js +2 -2
  180. package/dist/components/product/ProductDetails.d.ts.map +1 -1
  181. package/dist/components/product/index.js +17 -17
  182. package/dist/components/store/index.js +18 -18
  183. package/dist/components/toast/index.js +8 -6
  184. package/dist/components/toast/index.js.map +1 -1
  185. package/dist/components/toast/useToast.d.ts.map +1 -1
  186. package/dist/components/tracking/index.js +1 -1
  187. package/dist/contexts/CartContext.d.ts +14 -6
  188. package/dist/contexts/CartContext.d.ts.map +1 -1
  189. package/dist/contexts/index.js.map +1 -1
  190. package/dist/{document-class-7U45CO5V.js → document-class-DOQDO2DN.js} +8 -8
  191. package/dist/{document-class-7U45CO5V.js.map → document-class-DOQDO2DN.js.map} +1 -1
  192. package/dist/hooks/HookRegistry.d.ts +3 -1
  193. package/dist/hooks/HookRegistry.d.ts.map +1 -1
  194. package/dist/hooks/HookRegistry.js +1 -1
  195. package/dist/hooks/HookSlot.js +2 -2
  196. package/dist/hooks/index.js +16 -16
  197. package/dist/hooks/useGtm.js +16 -16
  198. package/dist/hooks/useHook.d.ts.map +1 -1
  199. package/dist/hooks/useHook.js +2 -2
  200. package/dist/hooks/useMoney.js +16 -16
  201. package/dist/hooks/useStore.js +16 -16
  202. package/dist/hooks/useUser.js +3 -3
  203. package/dist/hooks/useWishlist.d.ts.map +1 -1
  204. package/dist/hooks/useWishlist.js +3 -1
  205. package/dist/index.js +16 -16
  206. package/dist/{not-found-W7RACNK7.js → not-found-6B6QSJYA.js} +19 -19
  207. package/dist/{not-found-W7RACNK7.js.map → not-found-6B6QSJYA.js.map} +1 -1
  208. package/dist/providers/index.js +16 -16
  209. package/dist/routes/account/orders/index.d.ts.map +1 -1
  210. package/dist/routes/account/orders.js +3 -3
  211. package/dist/routes/account.js +12 -12
  212. package/dist/routes/blog/loader.d.ts.map +1 -1
  213. package/dist/routes/blog.js +23 -13
  214. package/dist/routes/blog.js.map +1 -1
  215. package/dist/routes/brands/types.d.ts +16 -2
  216. package/dist/routes/brands/types.d.ts.map +1 -1
  217. package/dist/routes/brands.js +3 -3
  218. package/dist/routes/cart.js +24 -24
  219. package/dist/routes/home.js +21 -21
  220. package/dist/routes/loyalty.js +4 -4
  221. package/dist/routes/page.js +3 -3
  222. package/dist/routes/product/ProductPage.d.ts.map +1 -1
  223. package/dist/routes/product-listing/loader.d.ts.map +1 -1
  224. package/dist/routes/product-listing.js +24 -23
  225. package/dist/routes/product-listing.js.map +1 -1
  226. package/dist/routes/product.js +23 -25
  227. package/dist/routes/product.js.map +1 -1
  228. package/dist/routes/testimonials.js +1 -1
  229. package/dist/routes/thank-you.js +3 -3
  230. package/dist/skeleton.js +21 -21
  231. package/dist/tanstack.js +7 -7
  232. package/dist/types/hooks.d.ts +61 -1
  233. package/dist/types/hooks.d.ts.map +1 -1
  234. package/dist/types/hooks.js +1 -1
  235. package/dist/types/index.d.ts +626 -53
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/index.js +1 -1
  238. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  239. package/dist/vite/index.js +34 -10
  240. package/dist/vite/index.js.map +1 -1
  241. package/package.json +9 -1
  242. package/dist/AddToCartForm-XA5X2C5K.js.map +0 -1
  243. package/dist/BlogAuthorPage-YWR52G5S.js.map +0 -1
  244. package/dist/ProductDetails-KSB3OC25.js.map +0 -1
  245. package/dist/WidgetHead-RWL7D3CT.js +0 -7
  246. package/dist/chunk-5O6PTKI5.js.map +0 -1
  247. package/dist/chunk-6F5QZKIY.js.map +0 -1
  248. package/dist/chunk-C5X6CVXC.js.map +0 -1
  249. package/dist/chunk-CUG6VOLM.js +0 -10
  250. package/dist/chunk-DZDSTTHW.js +0 -21
  251. package/dist/chunk-GBWCXUPD.js.map +0 -1
  252. package/dist/chunk-GU2KUQVD.js.map +0 -1
  253. package/dist/chunk-GVJHDJW7.js.map +0 -1
  254. package/dist/chunk-HX3YKS5W.js.map +0 -1
  255. package/dist/chunk-IHZVVSPW.js +0 -14
  256. package/dist/chunk-TP3LCGE7.js +0 -34
  257. package/dist/chunk-TP3LCGE7.js.map +0 -1
  258. package/dist/chunk-VX2T7JCB.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { product } from './chunk-H2DXJCJP.js';
2
- import './chunk-BQURS54V.js';
3
- import './chunk-ILMX45PO.js';
1
+ import { product } from './chunk-VFYT2VWC.js';
2
+ import './chunk-CMD3ARR2.js';
3
+ import './chunk-L2QUP6J3.js';
4
4
  import './chunk-JKIRRMBU.js';
5
5
  import './chunk-2JV6WZ6O.js';
6
- import './chunk-A32NANNC.js';
6
+ import './chunk-OYP5CGHU.js';
7
7
  import './chunk-VVZNW5CB.js';
8
8
  import './chunk-HBTIZWT2.js';
9
9
  import { useLocation, useNavigate } from './chunk-SDIQHTDG.js';
10
10
  import './chunk-ZGHRSRDO.js';
11
11
  import './chunk-DIVEHHMD.js';
12
- import './chunk-C5X6CVXC.js';
13
- import './chunk-VYJDRAWX.js';
14
- import './chunk-FGROIU3Y.js';
15
- import './chunk-VX2T7JCB.js';
16
- import './chunk-TP3LCGE7.js';
12
+ import './chunk-HI5V5X3S.js';
13
+ import './chunk-3EE62REP.js';
14
+ import './chunk-L5K7VBOH.js';
15
+ import './chunk-EXBH6RGD.js';
16
+ import './chunk-MVT5AF2A.js';
17
17
  import './chunk-Z653O7MX.js';
18
18
  import './chunk-ZCH7W7DZ.js';
19
19
  import './chunk-OGVUFMLX.js';
@@ -21,20 +21,20 @@ import './chunk-JWXJPJBO.js';
21
21
  import './chunk-CW625T2E.js';
22
22
  import './chunk-7V36I5GT.js';
23
23
  import './chunk-BVSJPBJ6.js';
24
- import './chunk-GBWCXUPD.js';
24
+ import './chunk-RSVAPXXI.js';
25
25
  import './chunk-OAMIDZKW.js';
26
26
  import { useTranslation } from './chunk-TYNZ5B2B.js';
27
- import './chunk-RJPPO3ET.js';
28
- import { HookSlot } from './chunk-Q7VWURUR.js';
29
- import './chunk-GU2KUQVD.js';
30
- import { LazyErrorPage } from './chunk-5O6PTKI5.js';
27
+ import './chunk-V2ZDTY6H.js';
28
+ import { HookSlot } from './chunk-5XDPAKF5.js';
29
+ import './chunk-GCPEMNSU.js';
30
+ import { LazyErrorPage } from './chunk-IXUY5RMV.js';
31
31
  import './chunk-AXW67SY7.js';
32
- import './chunk-BYMOPN2S.js';
33
32
  import './chunk-SKLEJJ6M.js';
33
+ import './chunk-BYMOPN2S.js';
34
34
  import './chunk-6BZ5TKEV.js';
35
35
  import './chunk-FZKRSGLP.js';
36
- import './chunk-CUG6VOLM.js';
37
- import './chunk-HX3YKS5W.js';
36
+ import './chunk-7V5HOZW4.js';
37
+ import './chunk-YA6ABQB7.js';
38
38
  import './chunk-MISI3T6V.js';
39
39
  import './chunk-3IHFA2X5.js';
40
40
  import './chunk-QVJDYSCT.js';
@@ -118,5 +118,5 @@ function NotFoundPage(props = {}) {
118
118
  }
119
119
 
120
120
  export { NotFoundPage };
121
- //# sourceMappingURL=not-found-W7RACNK7.js.map
122
- //# sourceMappingURL=not-found-W7RACNK7.js.map
121
+ //# sourceMappingURL=not-found-6B6QSJYA.js.map
122
+ //# sourceMappingURL=not-found-6B6QSJYA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-W7RACNK7.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-6B6QSJYA.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -1,18 +1,18 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-BQURS54V.js';
2
- import '../chunk-ILMX45PO.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-CMD3ARR2.js';
2
+ import '../chunk-L2QUP6J3.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
- import '../chunk-A32NANNC.js';
5
+ import '../chunk-OYP5CGHU.js';
6
6
  import '../chunk-VVZNW5CB.js';
7
7
  import '../chunk-HBTIZWT2.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-SDIQHTDG.js';
9
9
  export { RouteId } from '../chunk-ZGHRSRDO.js';
10
10
  import '../chunk-DIVEHHMD.js';
11
- import '../chunk-C5X6CVXC.js';
12
- import '../chunk-VYJDRAWX.js';
13
- import '../chunk-FGROIU3Y.js';
14
- import '../chunk-VX2T7JCB.js';
15
- import '../chunk-TP3LCGE7.js';
11
+ import '../chunk-HI5V5X3S.js';
12
+ import '../chunk-3EE62REP.js';
13
+ import '../chunk-L5K7VBOH.js';
14
+ import '../chunk-EXBH6RGD.js';
15
+ import '../chunk-MVT5AF2A.js';
16
16
  import '../chunk-Z653O7MX.js';
17
17
  import '../chunk-ZCH7W7DZ.js';
18
18
  import '../chunk-OGVUFMLX.js';
@@ -20,20 +20,20 @@ export { DocumentClassProvider, useDocumentClassContext, useDocumentClassOutput
20
20
  import '../chunk-CW625T2E.js';
21
21
  import '../chunk-7V36I5GT.js';
22
22
  import '../chunk-BVSJPBJ6.js';
23
- import '../chunk-GBWCXUPD.js';
23
+ import '../chunk-RSVAPXXI.js';
24
24
  import '../chunk-OAMIDZKW.js';
25
25
  import '../chunk-TYNZ5B2B.js';
26
- import '../chunk-RJPPO3ET.js';
27
- import '../chunk-Q7VWURUR.js';
28
- import '../chunk-GU2KUQVD.js';
29
- import '../chunk-5O6PTKI5.js';
26
+ import '../chunk-V2ZDTY6H.js';
27
+ import '../chunk-5XDPAKF5.js';
28
+ import '../chunk-GCPEMNSU.js';
29
+ import '../chunk-IXUY5RMV.js';
30
30
  import '../chunk-AXW67SY7.js';
31
- export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
32
31
  import '../chunk-SKLEJJ6M.js';
32
+ export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
33
33
  import '../chunk-6BZ5TKEV.js';
34
34
  import '../chunk-FZKRSGLP.js';
35
- import '../chunk-CUG6VOLM.js';
36
- import '../chunk-HX3YKS5W.js';
35
+ import '../chunk-7V5HOZW4.js';
36
+ import '../chunk-YA6ABQB7.js';
37
37
  import '../chunk-MISI3T6V.js';
38
38
  import '../chunk-3IHFA2X5.js';
39
39
  import '../chunk-QVJDYSCT.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AASjE,eAAO,MAAM,UAAU,+EAAiB,CAAC;AACzC,eAAO,MAAM,eAAe,yFAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,iBAAe,sBAAsB,CACnC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,EACpF,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,cAAc,CAS/E;AAED,iBAAe,2BAA2B,CACxC,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,KACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,oBAAoB,CAAC,CAQ/B;AAED,iBAAS,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAQzF;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AACX,eAAO,MAAM,WAAW;;;;;CAKd,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AASjE,eAAO,MAAM,UAAU,+EAAiB,CAAC;AACzC,eAAO,MAAM,eAAe,yFAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,iBAAe,sBAAsB,CACnC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,EACpF,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,eAAe,CAAC,CAI1B;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,cAAc,CAS/E;AAED,iBAAe,2BAA2B,CACxC,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,KACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,oBAAoB,CAAC,CAQ/B;AAED,iBAAS,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAQzF;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AACX,eAAO,MAAM,WAAW;;;;;CAKd,CAAC"}
@@ -1,9 +1,9 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-6F5QZKIY.js';
2
- import '../../chunk-MSUGP566.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-HFISEQPK.js';
2
+ import '../../chunk-UAY6LTWB.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-SDIQHTDG.js';
5
5
  import '../../chunk-ZGHRSRDO.js';
6
- import '../../chunk-VX2T7JCB.js';
6
+ import '../../chunk-EXBH6RGD.js';
7
7
  import '../../chunk-QVJDYSCT.js';
8
8
  import '../../chunk-LPQFTXBB.js';
9
9
  import '../../chunk-N2S25NXP.js';
@@ -1,13 +1,13 @@
1
- import { wallet } from '../chunk-N3BSUMD7.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-6F5QZKIY.js';
3
- import '../chunk-MSUGP566.js';
4
- import { notification } from '../chunk-GTG22RZG.js';
5
- import { wishlist } from '../chunk-P6EOXGUE.js';
1
+ import { wallet } from '../chunk-5AFTFN72.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-HFISEQPK.js';
3
+ import '../chunk-UAY6LTWB.js';
4
+ import { notification } from '../chunk-5DPR7GWH.js';
5
+ import { wishlist } from '../chunk-52ETYODY.js';
6
6
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
7
- import '../chunk-H2DXJCJP.js';
7
+ import '../chunk-VFYT2VWC.js';
8
8
  import { unauthorized, orUnauthorized } from '../chunk-SDIQHTDG.js';
9
9
  import { RouteId } from '../chunk-ZGHRSRDO.js';
10
- import { getAuthToken } from '../chunk-VX2T7JCB.js';
10
+ import { getAuthToken } from '../chunk-EXBH6RGD.js';
11
11
  import '../chunk-QVJDYSCT.js';
12
12
  import '../chunk-LPQFTXBB.js';
13
13
  import { getTwilightContext } from '../chunk-N2S25NXP.js';
@@ -30,7 +30,7 @@ async function profileLoader(_ctx) {
30
30
 
31
31
  // src/routes/account/profile/index.tsx
32
32
  var LazyProfilePage = lazy(
33
- () => import('../ProfilePage-SVQRTF55.js').then((m) => ({ default: m.ProfilePage }))
33
+ () => import('../ProfilePage-WPJYGKYR.js').then((m) => ({ default: m.ProfilePage }))
34
34
  );
35
35
  var ProfilePage = LazyProfilePage;
36
36
  var Profile = {
@@ -72,7 +72,7 @@ async function wishlistLoader(ctx) {
72
72
 
73
73
  // src/routes/account/wishlist/index.tsx
74
74
  var LazyWishlistPage = lazy(
75
- () => import('../WishlistPage-SYNLUIGO.js').then((m) => ({ default: m.WishlistPage }))
75
+ () => import('../WishlistPage-HAOYS7NV.js').then((m) => ({ default: m.WishlistPage }))
76
76
  );
77
77
  var WishlistPage = LazyWishlistPage;
78
78
  var Wishlist = {
@@ -114,7 +114,7 @@ async function walletLoader(ctx) {
114
114
  }
115
115
 
116
116
  // src/routes/account/wallet/index.tsx
117
- var LazyWalletPage = lazy(() => import('../WalletPage-IG5B33XQ.js').then((m) => ({ default: m.WalletPage })));
117
+ var LazyWalletPage = lazy(() => import('../WalletPage-JJI6WPNT.js').then((m) => ({ default: m.WalletPage })));
118
118
  var WalletPage = LazyWalletPage;
119
119
  var Wallet = {
120
120
  id: RouteId.CUSTOMER_WALLET,
@@ -150,7 +150,7 @@ async function notificationsLoader(_ctx) {
150
150
 
151
151
  // src/routes/account/notifications/index.tsx
152
152
  var LazyNotificationsPage = lazy(
153
- () => import('../NotificationsPage-SEAEJEE7.js').then((m) => ({ default: m.NotificationsPage }))
153
+ () => import('../NotificationsPage-TBDOI7YB.js').then((m) => ({ default: m.NotificationsPage }))
154
154
  );
155
155
  var NotificationsPage = LazyNotificationsPage;
156
156
  var Notifications = {
@@ -183,7 +183,7 @@ async function settingsLoader(_ctx) {
183
183
 
184
184
  // src/routes/account/settings/index.tsx
185
185
  var LazySettingsPage = lazy(
186
- () => import('../SettingsPage-ZVBMBGZL.js').then((m) => ({ default: m.SettingsPage }))
186
+ () => import('../SettingsPage-X7GPCBJL.js').then((m) => ({ default: m.SettingsPage }))
187
187
  );
188
188
  var SettingsPage = LazySettingsPage;
189
189
  var Settings = {
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/blog/loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAgCzD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsB/B;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;CAClB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyBhC;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuBlC;AAED,wBAAsB,aAAa,CAAC,EAClC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoB7B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/blog/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAgCzD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB/B;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;CAClB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8BhC;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwBlC;AAED,wBAAsB,aAAa,CAAC,EAClC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwB7B"}
@@ -1,8 +1,8 @@
1
- import { blog } from '../chunk-7W7SLN5M.js';
1
+ import { blog } from '../chunk-B5FDWE4U.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
- import '../chunk-SDIQHTDG.js';
3
+ import { notFound, orThrow } from '../chunk-SDIQHTDG.js';
4
4
  import { RouteId } from '../chunk-ZGHRSRDO.js';
5
- import '../chunk-VX2T7JCB.js';
5
+ import '../chunk-EXBH6RGD.js';
6
6
  import '../chunk-QVJDYSCT.js';
7
7
  import '../chunk-LPQFTXBB.js';
8
8
  import { getTwilightContext } from '../chunk-N2S25NXP.js';
@@ -47,7 +47,8 @@ async function blogSingleLoader({
47
47
  }) {
48
48
  const { id } = params;
49
49
  const i18n = getTwilightContext().i18n;
50
- const article = await blog.articles.find(id);
50
+ if (!/^\d+$/.test(id)) throw notFound();
51
+ const article = await blog.articles.findOrThrow(id);
51
52
  const breadcrumbs = [
52
53
  { name: i18n.t("common.titles.home"), url: "/" },
53
54
  { name: i18n.t("blocks.footer.blog"), url: "/blog" },
@@ -69,8 +70,12 @@ async function blogAuthorLoader({
69
70
  }) {
70
71
  const { id } = params;
71
72
  const i18n = getTwilightContext().i18n;
72
- const [response, overview] = await Promise.all([blog.articles.list({ author: id }), blog.get()]);
73
+ const [response, overview] = await Promise.all([
74
+ orThrow(blog.articles.list({ author: id })),
75
+ blog.get()
76
+ ]);
73
77
  const author = response.author;
78
+ if (!author) throw notFound();
74
79
  const breadcrumbs = [
75
80
  { name: i18n.t("common.titles.home"), url: "/" },
76
81
  { name: i18n.t("blocks.footer.blog"), url: "/blog" },
@@ -79,7 +84,7 @@ async function blogAuthorLoader({
79
84
  return {
80
85
  page: {
81
86
  slug: RouteId.BLOG_INDEX_AUTHOR,
82
- id: author.name,
87
+ id,
83
88
  title: author.name,
84
89
  breadcrumbs
85
90
  },
@@ -95,10 +100,11 @@ async function blogCategoryLoader({
95
100
  const { id } = params;
96
101
  const i18n = getTwilightContext().i18n;
97
102
  const [response, overview] = await Promise.all([
98
- blog.articles.list({ category: id }),
103
+ orThrow(blog.articles.list({ category: id })),
99
104
  blog.get()
100
105
  ]);
101
106
  const category = response.category;
107
+ if (!category) throw notFound();
102
108
  const breadcrumbs = [
103
109
  { name: i18n.t("common.titles.home"), url: "/" },
104
110
  { name: i18n.t("blocks.footer.blog"), url: "/blog" },
@@ -117,8 +123,12 @@ async function blogTagLoader({
117
123
  }) {
118
124
  const { id } = params;
119
125
  const i18n = getTwilightContext().i18n;
120
- const [response, overview] = await Promise.all([blog.articles.list({ tag: id }), blog.get()]);
126
+ const [response, overview] = await Promise.all([
127
+ orThrow(blog.articles.list({ tag: id })),
128
+ blog.get()
129
+ ]);
121
130
  const tag = response.tag;
131
+ if (!tag) throw notFound();
122
132
  const breadcrumbs = [
123
133
  { name: i18n.t("common.titles.home"), url: "/" },
124
134
  { name: i18n.t("blocks.footer.blog"), url: "/blog" },
@@ -134,18 +144,18 @@ async function blogTagLoader({
134
144
  }
135
145
 
136
146
  // src/routes/blog/index.tsx
137
- var LazyBlogPage = lazy(() => import('../BlogPage-5Z4X3Y2H.js').then((m) => ({ default: m.BlogPage })));
147
+ var LazyBlogPage = lazy(() => import('../BlogPage-E2XZGFOP.js').then((m) => ({ default: m.BlogPage })));
138
148
  var LazyBlogSinglePage = lazy(
139
- () => import('../BlogSinglePage-NSNVBBUS.js').then((m) => ({ default: m.BlogSinglePage }))
149
+ () => import('../BlogSinglePage-ZK2K6WEU.js').then((m) => ({ default: m.BlogSinglePage }))
140
150
  );
141
151
  var LazyBlogAuthorPage = lazy(
142
- () => import('../BlogAuthorPage-YWR52G5S.js').then((m) => ({ default: m.BlogAuthorPage }))
152
+ () => import('../BlogAuthorPage-BU2LVISS.js').then((m) => ({ default: m.BlogAuthorPage }))
143
153
  );
144
154
  var LazyBlogCategoryPage = lazy(
145
- () => import('../BlogCategoryPage-N644DZTN.js').then((m) => ({ default: m.BlogCategoryPage }))
155
+ () => import('../BlogCategoryPage-UR4MPDLE.js').then((m) => ({ default: m.BlogCategoryPage }))
146
156
  );
147
157
  var LazyBlogTagPage = lazy(
148
- () => import('../BlogTagPage-GRYZRHDL.js').then((m) => ({ default: m.BlogTagPage }))
158
+ () => import('../BlogTagPage-5N4VTPDN.js').then((m) => ({ default: m.BlogTagPage }))
149
159
  );
150
160
  var BlogPage = LazyBlogPage;
151
161
  var BlogSinglePage = LazyBlogSinglePage;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/routes/blog/loader.ts","../../src/routes/blog/index.tsx"],"names":[],"mappings":"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","file":"blog.js","sourcesContent":["import { blog } from '../../api/blog';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport type { Breadcrumb } from '../../types';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\n\nexport async function blogLoader(): Promise<BlogPageProps> {\n const i18n = getTwilightContext().i18n;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n ];\n\n const page = {\n slug: RouteId.BLOG_INDEX,\n title: i18n.t('blocks.footer.blog') || 'Blog',\n breadcrumbs,\n };\n\n try {\n const overview = await blog.get();\n return {\n page,\n articles: overview.articles,\n categories: overview.categories,\n slides: overview.slides,\n popular: overview.popular,\n };\n } catch (_error) {\n return {\n page,\n articles: [],\n categories: [],\n slides: [],\n popular: [],\n };\n }\n}\n\nexport async function blogSingleLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogSinglePageProps> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const article = await blog.articles.find(id);\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: article.name, url: article.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_SINGLE,\n id: article.id,\n title: article.name,\n breadcrumbs,\n },\n article,\n related: article.related,\n };\n}\n\nexport async function blogAuthorLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<BlogAuthorLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ author: id }), blog.get()]);\n const author = response.author;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: author.name, url: author.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_INDEX_AUTHOR,\n id: author.name,\n title: author.name,\n breadcrumbs,\n },\n author,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogCategoryLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogCategoryLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n blog.articles.list({ category: id }),\n blog.get(),\n ]);\n const category = response.category;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: category.name, url: category.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_CATEGORY, id: category.id, title: category.name, breadcrumbs },\n blogCategory: category,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogTagLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogTagLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ tag: id }), blog.get()]);\n const tag = response.tag;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: tag.name, url: tag.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_TAG, id: tag.id, title: tag.name, breadcrumbs },\n blogTag: tag,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategory as BlogCategoryType,\n CategoryMeta,\n BlogTag as BlogTagType,\n BlogAuthor as BlogAuthorType,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nconst LazyBlogPage = lazy(() => import('./BlogPage').then((m) => ({ default: m.BlogPage })));\nconst LazyBlogSinglePage = lazy(() =>\n import('./BlogSinglePage').then((m) => ({ default: m.BlogSinglePage }))\n);\nconst LazyBlogAuthorPage = lazy(() =>\n import('./BlogAuthorPage').then((m) => ({ default: m.BlogAuthorPage }))\n);\nconst LazyBlogCategoryPage = lazy(() =>\n import('./BlogCategoryPage').then((m) => ({ default: m.BlogCategoryPage }))\n);\nconst LazyBlogTagPage = lazy(() =>\n import('./BlogTagPage').then((m) => ({ default: m.BlogTagPage }))\n);\n\nexport const BlogPage = LazyBlogPage;\nexport const BlogSinglePage = LazyBlogSinglePage;\nexport const BlogAuthorPage = LazyBlogAuthorPage;\nexport const BlogCategoryPage = LazyBlogCategoryPage;\nexport const BlogTagPage = LazyBlogTagPage;\nexport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nexport type {\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n BlogPageProps,\n BlogSinglePageProps,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategoryType,\n CategoryMeta,\n BlogTagType,\n BlogAuthorType,\n};\n\nasync function blogLoaderWithExtend(\n _ctx?: { locale?: string },\n extend?: (\n data: BlogPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogPageProps> {\n const data = await blogLoader();\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as BlogPageProps;\n }\n return data;\n}\n\nfunction blogHead(ctx: TwilightContext, data: BlogPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogSingleLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogSinglePageProps,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogSinglePageProps> {\n const data = await blogSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogSinglePageProps;\n }\n return data;\n}\n\nfunction blogSingleHead(ctx: TwilightContext, data: BlogSinglePageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.article.meta?.title ?? data.article.name,\n description: data.article.meta?.description ?? data.article.description,\n canonical: data.article.meta?.canonical ?? data.article.url,\n openGraph: {\n title: data.article.meta?.title ?? data.article.name,\n images: data.article.meta?.og_image ?? data.article.image,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogAuthorLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: BlogAuthorLoaderData,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogAuthorLoaderData> {\n const data = await blogAuthorLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogAuthorLoaderData;\n }\n return data;\n}\n\nfunction blogAuthorHead(ctx: TwilightContext, data: BlogAuthorLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.author.name,\n description: `Articles by ${data.author.name}`,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogCategoryLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogCategoryLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogCategoryLoaderData> {\n const data = await blogCategoryLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogCategoryLoaderData;\n }\n return data;\n}\n\nfunction blogCategoryHead(ctx: TwilightContext, data: BlogCategoryLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogCategory.meta?.title ?? data.blogCategory.name,\n description: data.blogCategory.meta?.description ?? `Articles in ${data.blogCategory.name}`,\n canonical: data.blogCategory.meta?.canonical ?? data.blogCategory.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogTagLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogTagLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogTagLoaderData> {\n const data = await blogTagLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogTagLoaderData;\n }\n return data;\n}\n\nfunction blogTagHead(ctx: TwilightContext, data: BlogTagLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogTag.name,\n description: `Articles tagged with ${data.blogTag.name}`,\n canonical: data.blogTag.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Blog = {\n id: RouteId.BLOG_INDEX,\n loader: blogLoaderWithExtend,\n head: blogHead,\n Component: LazyBlogPage,\n} as const;\nexport const BlogSingle = {\n id: RouteId.BLOG_SINGLE,\n loader: blogSingleLoaderWithExtend,\n head: blogSingleHead,\n Component: LazyBlogSinglePage,\n} as const;\nexport const BlogAuthorRoute = {\n id: RouteId.BLOG_INDEX_AUTHOR,\n loader: blogAuthorLoaderWithExtend,\n head: blogAuthorHead,\n Component: LazyBlogAuthorPage,\n} as const;\nexport const BlogCategoryRoute = {\n id: RouteId.BLOG_INDEX_CATEGORY,\n loader: blogCategoryLoaderWithExtend,\n head: blogCategoryHead,\n Component: LazyBlogCategoryPage,\n} as const;\nexport const BlogTagRoute = {\n id: RouteId.BLOG_INDEX_TAG,\n loader: blogTagLoaderWithExtend,\n head: blogTagHead,\n Component: LazyBlogTagPage,\n} as const;\n"]}
1
+ {"version":3,"sources":["../../src/routes/blog/loader.ts","../../src/routes/blog/index.tsx"],"names":[],"mappings":"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","file":"blog.js","sourcesContent":["import { blog } from '../../api/blog';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { notFound, orThrow } from '../../providers/NavigationProvider';\nimport type { Breadcrumb } from '../../types';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\n\nexport async function blogLoader(): Promise<BlogPageProps> {\n const i18n = getTwilightContext().i18n;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n ];\n\n const page = {\n slug: RouteId.BLOG_INDEX,\n title: i18n.t('blocks.footer.blog') || 'Blog',\n breadcrumbs,\n };\n\n try {\n const overview = await blog.get();\n return {\n page,\n articles: overview.articles,\n categories: overview.categories,\n slides: overview.slides,\n popular: overview.popular,\n };\n } catch (_error) {\n return {\n page,\n articles: [],\n categories: [],\n slides: [],\n popular: [],\n };\n }\n}\n\nexport async function blogSingleLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogSinglePageProps> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n // The API answers a non-numeric id with 417, which `orThrow` would pass through as an error.\n if (!/^\\d+$/.test(id)) throw notFound();\n const article = await blog.articles.findOrThrow(id);\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: article.name, url: article.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_SINGLE,\n id: article.id,\n title: article.name,\n breadcrumbs,\n },\n article,\n related: article.related,\n };\n}\n\nexport async function blogAuthorLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<BlogAuthorLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n orThrow(blog.articles.list({ author: id })),\n blog.get(),\n ]);\n const author = response.author;\n // The API answers an unknown id without the author object: 404 instead of a TypeError (500).\n if (!author) throw notFound();\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: author.name, url: author.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_INDEX_AUTHOR,\n id,\n title: author.name,\n breadcrumbs,\n },\n author,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogCategoryLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogCategoryLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n orThrow(blog.articles.list({ category: id })),\n blog.get(),\n ]);\n const category = response.category;\n if (!category) throw notFound();\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: category.name, url: category.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_CATEGORY, id: category.id, title: category.name, breadcrumbs },\n blogCategory: category,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogTagLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogTagLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n orThrow(blog.articles.list({ tag: id })),\n blog.get(),\n ]);\n const tag = response.tag;\n if (!tag) throw notFound();\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: tag.name, url: tag.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_TAG, id: tag.id, title: tag.name, breadcrumbs },\n blogTag: tag,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategory as BlogCategoryType,\n CategoryMeta,\n BlogTag as BlogTagType,\n BlogAuthor as BlogAuthorType,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nconst LazyBlogPage = lazy(() => import('./BlogPage').then((m) => ({ default: m.BlogPage })));\nconst LazyBlogSinglePage = lazy(() =>\n import('./BlogSinglePage').then((m) => ({ default: m.BlogSinglePage }))\n);\nconst LazyBlogAuthorPage = lazy(() =>\n import('./BlogAuthorPage').then((m) => ({ default: m.BlogAuthorPage }))\n);\nconst LazyBlogCategoryPage = lazy(() =>\n import('./BlogCategoryPage').then((m) => ({ default: m.BlogCategoryPage }))\n);\nconst LazyBlogTagPage = lazy(() =>\n import('./BlogTagPage').then((m) => ({ default: m.BlogTagPage }))\n);\n\nexport const BlogPage = LazyBlogPage;\nexport const BlogSinglePage = LazyBlogSinglePage;\nexport const BlogAuthorPage = LazyBlogAuthorPage;\nexport const BlogCategoryPage = LazyBlogCategoryPage;\nexport const BlogTagPage = LazyBlogTagPage;\nexport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nexport type {\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n BlogPageProps,\n BlogSinglePageProps,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategoryType,\n CategoryMeta,\n BlogTagType,\n BlogAuthorType,\n};\n\nasync function blogLoaderWithExtend(\n _ctx?: { locale?: string },\n extend?: (\n data: BlogPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogPageProps> {\n const data = await blogLoader();\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as BlogPageProps;\n }\n return data;\n}\n\nfunction blogHead(ctx: TwilightContext, data: BlogPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogSingleLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogSinglePageProps,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogSinglePageProps> {\n const data = await blogSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogSinglePageProps;\n }\n return data;\n}\n\nfunction blogSingleHead(ctx: TwilightContext, data: BlogSinglePageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.article.meta?.title ?? data.article.name,\n description: data.article.meta?.description ?? data.article.description,\n canonical: data.article.meta?.canonical ?? data.article.url,\n openGraph: {\n title: data.article.meta?.title ?? data.article.name,\n images: data.article.meta?.og_image ?? data.article.image,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogAuthorLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: BlogAuthorLoaderData,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogAuthorLoaderData> {\n const data = await blogAuthorLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogAuthorLoaderData;\n }\n return data;\n}\n\nfunction blogAuthorHead(ctx: TwilightContext, data: BlogAuthorLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.author.name,\n description: `Articles by ${data.author.name}`,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogCategoryLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogCategoryLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogCategoryLoaderData> {\n const data = await blogCategoryLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogCategoryLoaderData;\n }\n return data;\n}\n\nfunction blogCategoryHead(ctx: TwilightContext, data: BlogCategoryLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogCategory.meta?.title ?? data.blogCategory.name,\n description: data.blogCategory.meta?.description ?? `Articles in ${data.blogCategory.name}`,\n canonical: data.blogCategory.meta?.canonical ?? data.blogCategory.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogTagLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogTagLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogTagLoaderData> {\n const data = await blogTagLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogTagLoaderData;\n }\n return data;\n}\n\nfunction blogTagHead(ctx: TwilightContext, data: BlogTagLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogTag.name,\n description: `Articles tagged with ${data.blogTag.name}`,\n canonical: data.blogTag.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Blog = {\n id: RouteId.BLOG_INDEX,\n loader: blogLoaderWithExtend,\n head: blogHead,\n Component: LazyBlogPage,\n} as const;\nexport const BlogSingle = {\n id: RouteId.BLOG_SINGLE,\n loader: blogSingleLoaderWithExtend,\n head: blogSingleHead,\n Component: LazyBlogSinglePage,\n} as const;\nexport const BlogAuthorRoute = {\n id: RouteId.BLOG_INDEX_AUTHOR,\n loader: blogAuthorLoaderWithExtend,\n head: blogAuthorHead,\n Component: LazyBlogAuthorPage,\n} as const;\nexport const BlogCategoryRoute = {\n id: RouteId.BLOG_INDEX_CATEGORY,\n loader: blogCategoryLoaderWithExtend,\n head: blogCategoryHead,\n Component: LazyBlogCategoryPage,\n} as const;\nexport const BlogTagRoute = {\n id: RouteId.BLOG_INDEX_TAG,\n loader: blogTagLoaderWithExtend,\n head: blogTagHead,\n Component: LazyBlogTagPage,\n} as const;\n"]}
@@ -5,21 +5,35 @@
5
5
  import type { Page } from '../../types';
6
6
  import type { RoutePagination } from '../types';
7
7
  export interface Brand {
8
- id: string;
8
+ /** Brand id. Numeric on the Store API (`brands` and `brands/{id}`); string in older fixtures. */
9
+ id: string | number;
10
+ /** Brand page URL. */
9
11
  url: string;
12
+ /** Brand name. */
10
13
  name: string;
14
+ /** Display label. */
11
15
  label: string;
16
+ /** Brand description. */
12
17
  description: string;
18
+ /** Banner image URL, or null. */
13
19
  banner?: string | null;
14
- /** Always present; required to match Twig template usage. */
20
+ /** Logo image URL. Always present; required to match Twig template usage. */
15
21
  logo: string;
22
+ /** Whether the brand is active. */
16
23
  status: boolean;
24
+ /** First Arabic letter, used to group the brands directory. */
17
25
  ar_char: string;
26
+ /** First Latin letter, used to group the brands directory. */
18
27
  en_char: string;
28
+ /** Sales channels the brand is available on. */
19
29
  channels?: string[];
30
+ /** SEO data. */
20
31
  metadata?: {
32
+ /** SEO title. */
21
33
  title: string;
34
+ /** SEO description. */
22
35
  description: string;
36
+ /** SEO URL. */
23
37
  url: string;
24
38
  };
25
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/brands/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,6FAA6F;IAC7F,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/brands/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,KAAK;IACpB,iGAAiG;IACjG,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB;IAChB,QAAQ,CAAC,EAAE;QACT,iBAAiB;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,uBAAuB;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,6FAA6F;IAC7F,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B"}
@@ -1,8 +1,8 @@
1
- import { brand } from '../chunk-5H4NIOTY.js';
1
+ import { brand } from '../chunk-WSXRUOI2.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
3
  import '../chunk-SDIQHTDG.js';
4
4
  import { RouteId } from '../chunk-ZGHRSRDO.js';
5
- import '../chunk-VX2T7JCB.js';
5
+ import '../chunk-EXBH6RGD.js';
6
6
  import '../chunk-QVJDYSCT.js';
7
7
  import '../chunk-LPQFTXBB.js';
8
8
  import { getTwilightContext } from '../chunk-N2S25NXP.js';
@@ -23,7 +23,7 @@ async function brandsLoader() {
23
23
  }
24
24
 
25
25
  // src/routes/brands/index.tsx
26
- var LazyBrandsPage = lazy(() => import('../BrandsPage-3Q4ZYOT7.js').then((m) => ({ default: m.BrandsPage })));
26
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-XE7RYGXA.js').then((m) => ({ default: m.BrandsPage })));
27
27
  var BrandsPage = LazyBrandsPage;
28
28
  async function brandsLoaderWithExtend(_ctx, extend) {
29
29
  const data = await brandsLoader();
@@ -1,29 +1,29 @@
1
- import { cart } from '../chunk-NFE2H5JE.js';
2
- import { loyalty } from '../chunk-7PYHB3PP.js';
1
+ import { cart } from '../chunk-RO6KBURF.js';
2
+ import { loyalty } from '../chunk-25FWAL3O.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-R2BAI6QI.js';
4
+ import '../chunk-KOMV5SEF.js';
5
5
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
6
- import '../chunk-2JL4S2LE.js';
7
- import '../chunk-5HOD4BKK.js';
8
- import '../chunk-H2DXJCJP.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-IHZVVSPW.js';
10
- import '../chunk-GVJHDJW7.js';
6
+ import '../chunk-U53LIN2F.js';
7
+ import '../chunk-3CYIB6BL.js';
8
+ import '../chunk-VFYT2VWC.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-4LVBS3VI.js';
10
+ import '../chunk-54XX3YPP.js';
11
11
  import '../chunk-342EPVXN.js';
12
- import '../chunk-BQURS54V.js';
13
- import '../chunk-ILMX45PO.js';
12
+ import '../chunk-CMD3ARR2.js';
13
+ import '../chunk-L2QUP6J3.js';
14
14
  import '../chunk-JKIRRMBU.js';
15
15
  import '../chunk-2JV6WZ6O.js';
16
- import '../chunk-A32NANNC.js';
16
+ import '../chunk-OYP5CGHU.js';
17
17
  import '../chunk-VVZNW5CB.js';
18
18
  import '../chunk-HBTIZWT2.js';
19
19
  import '../chunk-SDIQHTDG.js';
20
20
  import { RouteId } from '../chunk-ZGHRSRDO.js';
21
21
  import '../chunk-DIVEHHMD.js';
22
- import '../chunk-C5X6CVXC.js';
23
- import '../chunk-VYJDRAWX.js';
24
- import '../chunk-FGROIU3Y.js';
25
- import '../chunk-VX2T7JCB.js';
26
- import '../chunk-TP3LCGE7.js';
22
+ import '../chunk-HI5V5X3S.js';
23
+ import '../chunk-3EE62REP.js';
24
+ import '../chunk-L5K7VBOH.js';
25
+ import '../chunk-EXBH6RGD.js';
26
+ import '../chunk-MVT5AF2A.js';
27
27
  import '../chunk-Z653O7MX.js';
28
28
  import '../chunk-ZCH7W7DZ.js';
29
29
  import '../chunk-OGVUFMLX.js';
@@ -31,20 +31,20 @@ import '../chunk-JWXJPJBO.js';
31
31
  import '../chunk-CW625T2E.js';
32
32
  import '../chunk-7V36I5GT.js';
33
33
  import '../chunk-BVSJPBJ6.js';
34
- import '../chunk-GBWCXUPD.js';
34
+ import '../chunk-RSVAPXXI.js';
35
35
  import '../chunk-OAMIDZKW.js';
36
36
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
37
- import '../chunk-RJPPO3ET.js';
38
- import { HookSlot } from '../chunk-Q7VWURUR.js';
39
- import '../chunk-GU2KUQVD.js';
40
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-5O6PTKI5.js';
37
+ import '../chunk-V2ZDTY6H.js';
38
+ import { HookSlot } from '../chunk-5XDPAKF5.js';
39
+ import '../chunk-GCPEMNSU.js';
40
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-IXUY5RMV.js';
41
41
  import '../chunk-AXW67SY7.js';
42
- import '../chunk-BYMOPN2S.js';
43
42
  import '../chunk-SKLEJJ6M.js';
43
+ import '../chunk-BYMOPN2S.js';
44
44
  import '../chunk-6BZ5TKEV.js';
45
45
  import '../chunk-FZKRSGLP.js';
46
- import '../chunk-CUG6VOLM.js';
47
- import '../chunk-HX3YKS5W.js';
46
+ import '../chunk-7V5HOZW4.js';
47
+ import '../chunk-YA6ABQB7.js';
48
48
  import '../chunk-MISI3T6V.js';
49
49
  import '../chunk-3IHFA2X5.js';
50
50
  import '../chunk-QVJDYSCT.js';