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

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 (322) hide show
  1. package/dist/{AddToCartForm-HIIF72O4.js → AddToCartForm-NZNFVGDV.js} +3 -3
  2. package/dist/{AddToCartForm-HIIF72O4.js.map → AddToCartForm-NZNFVGDV.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-LVUTPDWU.js → BlogAuthorPage-BXRIYXVN.js} +28 -27
  4. package/dist/BlogAuthorPage-BXRIYXVN.js.map +1 -0
  5. package/dist/{BlogCategoryPage-4Q2MU5IF.js → BlogCategoryPage-GHWC2WVM.js} +28 -27
  6. package/dist/BlogCategoryPage-GHWC2WVM.js.map +1 -0
  7. package/dist/{BlogPage-YG3INJ6S.js → BlogPage-ZCGNKBLI.js} +26 -25
  8. package/dist/BlogPage-ZCGNKBLI.js.map +1 -0
  9. package/dist/{BlogSinglePage-P4OPKCYA.js → BlogSinglePage-TH7Z3MKB.js} +26 -25
  10. package/dist/BlogSinglePage-TH7Z3MKB.js.map +1 -0
  11. package/dist/{BlogTagPage-RC4CSYJM.js → BlogTagPage-GM422SOW.js} +28 -27
  12. package/dist/BlogTagPage-GM422SOW.js.map +1 -0
  13. package/dist/{BrandsPage-SRQANTCQ.js → BrandsPage-LNNPU4NX.js} +27 -26
  14. package/dist/BrandsPage-LNNPU4NX.js.map +1 -0
  15. package/dist/{Breadcrumb-I6RHU7TL.js → Breadcrumb-TSG2CW3S.js} +26 -25
  16. package/dist/Breadcrumb-TSG2CW3S.js.map +1 -0
  17. package/dist/{CartItem-WXV4HG7L.js → CartItem-UVSLCSEP.js} +26 -25
  18. package/dist/CartItem-UVSLCSEP.js.map +1 -0
  19. package/dist/{CartSummary-66PEAPVR.js → CartSummary-ZCXTED4G.js} +26 -25
  20. package/dist/CartSummary-ZCXTED4G.js.map +1 -0
  21. package/dist/{Copyright-ADNRUD2V.js → Copyright-B25RLEVV.js} +3 -3
  22. package/dist/{Copyright-ADNRUD2V.js.map → Copyright-B25RLEVV.js.map} +1 -1
  23. package/dist/{CustomerLayout-S4PJGKMT.js → CustomerLayout-WGEUJEDP.js} +26 -25
  24. package/dist/CustomerLayout-WGEUJEDP.js.map +1 -0
  25. package/dist/{Footer-RYWLSTKI.js → Footer-QMNESEEI.js} +4 -4
  26. package/dist/{Footer-RYWLSTKI.js.map → Footer-QMNESEEI.js.map} +1 -1
  27. package/dist/{Header-IM7KKNSG.js → Header-ZPDXQ7U6.js} +11 -11
  28. package/dist/{Header-IM7KKNSG.js.map → Header-ZPDXQ7U6.js.map} +1 -1
  29. package/dist/{LatestProducts-VMDICC67.js → LatestProducts-UEUM47MI.js} +28 -27
  30. package/dist/LatestProducts-UEUM47MI.js.map +1 -0
  31. package/dist/{LoyaltyPage-N7LLJ3ZW.js → LoyaltyPage-ZM3FDTV3.js} +26 -25
  32. package/dist/LoyaltyPage-ZM3FDTV3.js.map +1 -0
  33. package/dist/{LoyaltyPointsPage-HVK6PJRL.js → LoyaltyPointsPage-QQIKIBTH.js} +8 -8
  34. package/dist/{LoyaltyPointsPage-HVK6PJRL.js.map → LoyaltyPointsPage-QQIKIBTH.js.map} +1 -1
  35. package/dist/{MainMenu-ICQUOKYN.js → MainMenu-3Z7HRQGU.js} +7 -7
  36. package/dist/{MainMenu-ICQUOKYN.js.map → MainMenu-3Z7HRQGU.js.map} +1 -1
  37. package/dist/{MasterLayout-WO743UZA.js → MasterLayout-ZRTWOZGC.js} +26 -25
  38. package/dist/{MasterLayout-WO743UZA.js.map → MasterLayout-ZRTWOZGC.js.map} +1 -1
  39. package/dist/{MobileMenu-TK5S3UAR.js → MobileMenu-SC7HJ6BT.js} +27 -26
  40. package/dist/MobileMenu-SC7HJ6BT.js.map +1 -0
  41. package/dist/{NotificationsPage-FNC7EOFV.js → NotificationsPage-JMAZ2N2A.js} +26 -25
  42. package/dist/NotificationsPage-JMAZ2N2A.js.map +1 -0
  43. package/dist/{OrderSinglePage-YS6FBSCD.js → OrderSinglePage-6MAFH4Q6.js} +27 -26
  44. package/dist/OrderSinglePage-6MAFH4Q6.js.map +1 -0
  45. package/dist/{OrdersPage-V3YMXMSN.js → OrdersPage-NMINSG67.js} +26 -25
  46. package/dist/OrdersPage-NMINSG67.js.map +1 -0
  47. package/dist/{PageSingle-QAAJ6NL7.js → PageSingle-WLIXOODC.js} +6 -6
  48. package/dist/{PageSingle-QAAJ6NL7.js.map → PageSingle-WLIXOODC.js.map} +1 -1
  49. package/dist/{ProductDetails-DUQPPDWZ.js → ProductDetails-NFZLUKLN.js} +7 -7
  50. package/dist/{ProductDetails-DUQPPDWZ.js.map → ProductDetails-NFZLUKLN.js.map} +1 -1
  51. package/dist/{ProfilePage-L7DOZZBH.js → ProfilePage-5PBU637J.js} +26 -25
  52. package/dist/ProfilePage-5PBU637J.js.map +1 -0
  53. package/dist/{ReviewsPage-6EIMUR5L.js → ReviewsPage-RWNFVHWR.js} +3 -3
  54. package/dist/{ReviewsPage-6EIMUR5L.js.map → ReviewsPage-RWNFVHWR.js.map} +1 -1
  55. package/dist/{SeoCartWidget-IW2EIOP3.js → SeoCartWidget-HPBQ6673.js} +26 -25
  56. package/dist/SeoCartWidget-HPBQ6673.js.map +1 -0
  57. package/dist/{SettingsPage-3BZD6EXX.js → SettingsPage-Y5X5BNHD.js} +26 -25
  58. package/dist/SettingsPage-Y5X5BNHD.js.map +1 -0
  59. package/dist/{StoreClosedNotification-Z7QF4CPA.js → StoreClosedNotification-5DOQFF2O.js} +27 -26
  60. package/dist/{StoreClosedNotification-Z7QF4CPA.js.map → StoreClosedNotification-5DOQFF2O.js.map} +1 -1
  61. package/dist/{TestimonialsPage-IA7YUNJI.js → TestimonialsPage-ZDALOH2L.js} +6 -6
  62. package/dist/{TestimonialsPage-IA7YUNJI.js.map → TestimonialsPage-ZDALOH2L.js.map} +1 -1
  63. package/dist/{ThankYouPage-GPPMDT4G.js → ThankYouPage-SYMPRWCS.js} +26 -25
  64. package/dist/ThankYouPage-SYMPRWCS.js.map +1 -0
  65. package/dist/{WalletPage-JYNPVXER.js → WalletPage-DPWZBROY.js} +27 -26
  66. package/dist/WalletPage-DPWZBROY.js.map +1 -0
  67. package/dist/WebMcpTools-3TBLKZL5.js +404 -0
  68. package/dist/WebMcpTools-3TBLKZL5.js.map +1 -0
  69. package/dist/{WishlistPage-APID33BZ.js → WishlistPage-BM3XSMQF.js} +28 -27
  70. package/dist/WishlistPage-BM3XSMQF.js.map +1 -0
  71. package/dist/api/advertisement.js +4 -4
  72. package/dist/api/apps.js +4 -4
  73. package/dist/api/blog.js +6 -6
  74. package/dist/api/brands.js +6 -6
  75. package/dist/api/cart.js +6 -6
  76. package/dist/api/category.js +6 -6
  77. package/dist/api/client.js +3 -3
  78. package/dist/api/home.js +4 -4
  79. package/dist/api/loyalty.js +6 -6
  80. package/dist/api/menu.js +4 -4
  81. package/dist/api/notification.js +4 -4
  82. package/dist/api/order.js +6 -6
  83. package/dist/api/page.js +6 -6
  84. package/dist/api/product.js +6 -6
  85. package/dist/api/profile.js +3 -3
  86. package/dist/api/store.js +5 -5
  87. package/dist/api/translations.js +4 -4
  88. package/dist/api/user.js +4 -4
  89. package/dist/api/wallet.js +4 -4
  90. package/dist/api/wishlist.js +7 -7
  91. package/dist/{chunk-FH4EVOMN.js → chunk-2N6XZZ4W.js} +4 -4
  92. package/dist/{chunk-FH4EVOMN.js.map → chunk-2N6XZZ4W.js.map} +1 -1
  93. package/dist/{chunk-2LB2TBNP.js → chunk-2ZESCQRM.js} +3 -3
  94. package/dist/{chunk-2LB2TBNP.js.map → chunk-2ZESCQRM.js.map} +1 -1
  95. package/dist/{chunk-BXBXCVSQ.js → chunk-52QZKUDU.js} +6 -6
  96. package/dist/{chunk-BXBXCVSQ.js.map → chunk-52QZKUDU.js.map} +1 -1
  97. package/dist/{chunk-7HZ6JQAJ.js → chunk-5JZSBFA5.js} +3 -3
  98. package/dist/{chunk-7HZ6JQAJ.js.map → chunk-5JZSBFA5.js.map} +1 -1
  99. package/dist/{chunk-N6ZE6HUX.js → chunk-5V4W3GBI.js} +5 -5
  100. package/dist/{chunk-N6ZE6HUX.js.map → chunk-5V4W3GBI.js.map} +1 -1
  101. package/dist/{chunk-3E3ABCPC.js → chunk-6TFM3UTF.js} +3 -3
  102. package/dist/{chunk-3E3ABCPC.js.map → chunk-6TFM3UTF.js.map} +1 -1
  103. package/dist/{chunk-4LTS5AZ3.js → chunk-7NTPNCIK.js} +3 -3
  104. package/dist/{chunk-4LTS5AZ3.js.map → chunk-7NTPNCIK.js.map} +1 -1
  105. package/dist/{chunk-SBZZEW6D.js → chunk-AJM7KUA3.js} +5 -5
  106. package/dist/{chunk-SBZZEW6D.js.map → chunk-AJM7KUA3.js.map} +1 -1
  107. package/dist/{chunk-2OHGW43N.js → chunk-BMCECPSU.js} +3 -3
  108. package/dist/{chunk-2OHGW43N.js.map → chunk-BMCECPSU.js.map} +1 -1
  109. package/dist/{chunk-LBYLBSVN.js → chunk-DHWMC6VU.js} +4 -4
  110. package/dist/{chunk-LBYLBSVN.js.map → chunk-DHWMC6VU.js.map} +1 -1
  111. package/dist/{chunk-GDLT2GGX.js → chunk-DMR3ICV5.js} +6 -6
  112. package/dist/{chunk-GDLT2GGX.js.map → chunk-DMR3ICV5.js.map} +1 -1
  113. package/dist/{chunk-WQPG22DY.js → chunk-EGI7F57E.js} +3 -3
  114. package/dist/{chunk-WQPG22DY.js.map → chunk-EGI7F57E.js.map} +1 -1
  115. package/dist/{chunk-4RKNISJB.js → chunk-ETC7OJT5.js} +3 -3
  116. package/dist/{chunk-4RKNISJB.js.map → chunk-ETC7OJT5.js.map} +1 -1
  117. package/dist/{chunk-RI6FUYJT.js → chunk-FPGR63AQ.js} +3 -3
  118. package/dist/{chunk-RI6FUYJT.js.map → chunk-FPGR63AQ.js.map} +1 -1
  119. package/dist/{chunk-4XB425HW.js → chunk-GBMMP344.js} +38 -23
  120. package/dist/chunk-GBMMP344.js.map +1 -0
  121. package/dist/{chunk-2FISCDW2.js → chunk-GFRJHCRX.js} +4 -4
  122. package/dist/{chunk-2FISCDW2.js.map → chunk-GFRJHCRX.js.map} +1 -1
  123. package/dist/{chunk-TF6HFXTW.js → chunk-H7LRGY7U.js} +3 -3
  124. package/dist/{chunk-TF6HFXTW.js.map → chunk-H7LRGY7U.js.map} +1 -1
  125. package/dist/{chunk-VS2GO7GL.js → chunk-HJGN3XVG.js} +8 -8
  126. package/dist/{chunk-VS2GO7GL.js.map → chunk-HJGN3XVG.js.map} +1 -1
  127. package/dist/{chunk-OPON37ZR.js → chunk-HRW4YFHR.js} +5 -5
  128. package/dist/{chunk-OPON37ZR.js.map → chunk-HRW4YFHR.js.map} +1 -1
  129. package/dist/{chunk-HOJ5E2PG.js → chunk-IHOUADLX.js} +3 -3
  130. package/dist/{chunk-HOJ5E2PG.js.map → chunk-IHOUADLX.js.map} +1 -1
  131. package/dist/{chunk-4XUBBJUJ.js → chunk-ITNUDQVP.js} +27 -20
  132. package/dist/chunk-ITNUDQVP.js.map +1 -0
  133. package/dist/{chunk-TVNO5MCL.js → chunk-KGSB2Y7O.js} +4 -4
  134. package/dist/{chunk-TVNO5MCL.js.map → chunk-KGSB2Y7O.js.map} +1 -1
  135. package/dist/{chunk-MNI3ZVUN.js → chunk-KKTVDCVO.js} +6 -6
  136. package/dist/{chunk-MNI3ZVUN.js.map → chunk-KKTVDCVO.js.map} +1 -1
  137. package/dist/{chunk-42GSY6HV.js → chunk-LSMKTPIE.js} +4 -4
  138. package/dist/{chunk-42GSY6HV.js.map → chunk-LSMKTPIE.js.map} +1 -1
  139. package/dist/{chunk-LFHYQ6AN.js → chunk-M5WTY3EH.js} +3 -3
  140. package/dist/{chunk-LFHYQ6AN.js.map → chunk-M5WTY3EH.js.map} +1 -1
  141. package/dist/{chunk-RYGEIQWO.js → chunk-MGG4XAJ5.js} +3 -3
  142. package/dist/{chunk-RYGEIQWO.js.map → chunk-MGG4XAJ5.js.map} +1 -1
  143. package/dist/{chunk-3MDXVF4Y.js → chunk-MIAVMNPM.js} +6 -6
  144. package/dist/{chunk-3MDXVF4Y.js.map → chunk-MIAVMNPM.js.map} +1 -1
  145. package/dist/{chunk-ROW2E5ZY.js → chunk-N44U2AA7.js} +4 -4
  146. package/dist/{chunk-ROW2E5ZY.js.map → chunk-N44U2AA7.js.map} +1 -1
  147. package/dist/{chunk-XYLGWKPG.js → chunk-NGWHUW34.js} +3 -3
  148. package/dist/{chunk-XYLGWKPG.js.map → chunk-NGWHUW34.js.map} +1 -1
  149. package/dist/{chunk-DYSSY56M.js → chunk-NLKLS3GZ.js} +5 -5
  150. package/dist/{chunk-DYSSY56M.js.map → chunk-NLKLS3GZ.js.map} +1 -1
  151. package/dist/{chunk-QN5XSUBT.js → chunk-NR5YIBTS.js} +4 -4
  152. package/dist/{chunk-QN5XSUBT.js.map → chunk-NR5YIBTS.js.map} +1 -1
  153. package/dist/{chunk-NSZOUCAR.js → chunk-OLL5OGQ5.js} +4 -4
  154. package/dist/{chunk-NSZOUCAR.js.map → chunk-OLL5OGQ5.js.map} +1 -1
  155. package/dist/{chunk-JKSDTWEC.js → chunk-PCB5DCS4.js} +4 -4
  156. package/dist/{chunk-JKSDTWEC.js.map → chunk-PCB5DCS4.js.map} +1 -1
  157. package/dist/chunk-Q77J3D2W.js +16 -0
  158. package/dist/chunk-Q77J3D2W.js.map +1 -0
  159. package/dist/{chunk-QXHO52TF.js → chunk-QIHSKEWU.js} +4 -4
  160. package/dist/{chunk-QXHO52TF.js.map → chunk-QIHSKEWU.js.map} +1 -1
  161. package/dist/{chunk-MWYKP7CI.js → chunk-QMWP2ZP6.js} +3 -3
  162. package/dist/{chunk-MWYKP7CI.js.map → chunk-QMWP2ZP6.js.map} +1 -1
  163. package/dist/{chunk-JRJYZHQE.js → chunk-R64ITZ7U.js} +4 -4
  164. package/dist/{chunk-JRJYZHQE.js.map → chunk-R64ITZ7U.js.map} +1 -1
  165. package/dist/{chunk-5UWRPWK2.js → chunk-R7VWIXFX.js} +3 -3
  166. package/dist/{chunk-5UWRPWK2.js.map → chunk-R7VWIXFX.js.map} +1 -1
  167. package/dist/{chunk-ATDOPTQ2.js → chunk-RJKMW36K.js} +8 -8
  168. package/dist/{chunk-ATDOPTQ2.js.map → chunk-RJKMW36K.js.map} +1 -1
  169. package/dist/{chunk-Q7E4TNN7.js → chunk-SLBO4SEE.js} +3 -3
  170. package/dist/{chunk-Q7E4TNN7.js.map → chunk-SLBO4SEE.js.map} +1 -1
  171. package/dist/{chunk-FXVII733.js → chunk-T2752RH7.js} +27 -3
  172. package/dist/chunk-T2752RH7.js.map +1 -0
  173. package/dist/{chunk-X7WJ2TAE.js → chunk-TF46NIZF.js} +4 -4
  174. package/dist/{chunk-X7WJ2TAE.js.map → chunk-TF46NIZF.js.map} +1 -1
  175. package/dist/{chunk-NGT46BX2.js → chunk-TWYTA2SX.js} +7 -7
  176. package/dist/{chunk-NGT46BX2.js.map → chunk-TWYTA2SX.js.map} +1 -1
  177. package/dist/{chunk-WDL6T5RX.js → chunk-U2UNWN4G.js} +5 -5
  178. package/dist/{chunk-WDL6T5RX.js.map → chunk-U2UNWN4G.js.map} +1 -1
  179. package/dist/{chunk-UME7NAC5.js → chunk-U5TWRPMK.js} +7 -7
  180. package/dist/{chunk-UME7NAC5.js.map → chunk-U5TWRPMK.js.map} +1 -1
  181. package/dist/{chunk-XK4UZHW7.js → chunk-VCMGBB5Y.js} +3 -3
  182. package/dist/{chunk-XK4UZHW7.js.map → chunk-VCMGBB5Y.js.map} +1 -1
  183. package/dist/{chunk-BKHGXHCJ.js → chunk-VZRZQV4Q.js} +3 -3
  184. package/dist/{chunk-BKHGXHCJ.js.map → chunk-VZRZQV4Q.js.map} +1 -1
  185. package/dist/{chunk-P3ZYGK5E.js → chunk-WIDH6AK6.js} +4 -4
  186. package/dist/{chunk-P3ZYGK5E.js.map → chunk-WIDH6AK6.js.map} +1 -1
  187. package/dist/{chunk-ZJLNYJCD.js → chunk-X4ITNSMT.js} +5 -5
  188. package/dist/{chunk-ZJLNYJCD.js.map → chunk-X4ITNSMT.js.map} +1 -1
  189. package/dist/{chunk-NHA4SBKG.js → chunk-XMRNYUQY.js} +3 -3
  190. package/dist/{chunk-NHA4SBKG.js.map → chunk-XMRNYUQY.js.map} +1 -1
  191. package/dist/{chunk-C76E3NHH.js → chunk-XV3HPKLI.js} +3 -3
  192. package/dist/{chunk-C76E3NHH.js.map → chunk-XV3HPKLI.js.map} +1 -1
  193. package/dist/{chunk-7BNWZKXI.js → chunk-YQOCPSOI.js} +4 -4
  194. package/dist/{chunk-7BNWZKXI.js.map → chunk-YQOCPSOI.js.map} +1 -1
  195. package/dist/{chunk-KAWAAVGL.js → chunk-YYVZFOUI.js} +3 -3
  196. package/dist/{chunk-KAWAAVGL.js.map → chunk-YYVZFOUI.js.map} +1 -1
  197. package/dist/components/cart/index.js +1 -1
  198. package/dist/components/common/index.js +1 -1
  199. package/dist/components/drawer/index.js +24 -23
  200. package/dist/components/home/index.js +29 -28
  201. package/dist/components/layout/index.js +6 -6
  202. package/dist/components/product/index.js +26 -25
  203. package/dist/components/store/index.js +25 -24
  204. package/dist/components/toast/index.js +4 -4
  205. package/dist/dev/editor/index.js +2 -2
  206. package/dist/dev/index.js +2 -2
  207. package/dist/document-class-VHDNGZQK.js +32 -0
  208. package/dist/{document-class-NJGMU7RC.js.map → document-class-VHDNGZQK.js.map} +1 -1
  209. package/dist/hooks/index.js +24 -23
  210. package/dist/hooks/useComments.js +3 -3
  211. package/dist/hooks/useGtm.js +24 -23
  212. package/dist/hooks/useMoney.js +24 -23
  213. package/dist/hooks/useProduct.js +3 -3
  214. package/dist/hooks/useStore.js +24 -23
  215. package/dist/hooks/useUser.js +5 -5
  216. package/dist/hooks/useWishlist.js +3 -3
  217. package/dist/index.js +24 -23
  218. package/dist/index.js.map +1 -1
  219. package/dist/native-app/index.js +3 -3
  220. package/dist/{navigation-ATNB3OMU.js → navigation-C5K5SOU2.js} +8 -8
  221. package/dist/{navigation-ATNB3OMU.js.map → navigation-C5K5SOU2.js.map} +1 -1
  222. package/dist/{navigation-XB2AA2QD.js → navigation-VW5P7XQM.js} +7 -7
  223. package/dist/{navigation-XB2AA2QD.js.map → navigation-VW5P7XQM.js.map} +1 -1
  224. package/dist/{not-found-6PQMIL5E.js → not-found-U2LJEYDT.js} +27 -26
  225. package/dist/not-found-U2LJEYDT.js.map +1 -0
  226. package/dist/providers/TwilightProvider.d.ts +1 -1
  227. package/dist/providers/TwilightProvider.d.ts.map +1 -1
  228. package/dist/providers/index.js +24 -23
  229. package/dist/routes/account/orders.js +8 -8
  230. package/dist/routes/account.js +17 -17
  231. package/dist/routes/blog.js +12 -12
  232. package/dist/routes/brands.js +8 -8
  233. package/dist/routes/cart.js +33 -32
  234. package/dist/routes/cart.js.map +1 -1
  235. package/dist/routes/home.js +30 -29
  236. package/dist/routes/index.js +6 -6
  237. package/dist/routes/loyalty.js +9 -9
  238. package/dist/routes/page.js +8 -8
  239. package/dist/routes/product-listing.js +31 -30
  240. package/dist/routes/product-listing.js.map +1 -1
  241. package/dist/routes/product.js +29 -28
  242. package/dist/routes/product.js.map +1 -1
  243. package/dist/routes/root/beforeLoad.d.ts.map +1 -1
  244. package/dist/routes/seo-redirects.js +6 -6
  245. package/dist/routes/testimonials.js +4 -4
  246. package/dist/routes/thank-you.js +8 -8
  247. package/dist/skeleton.js +30 -29
  248. package/dist/{store-lookup-MDUKB5VN.js → store-lookup-YL4EUIS2.js} +11 -11
  249. package/dist/{store-lookup-MDUKB5VN.js.map → store-lookup-YL4EUIS2.js.map} +1 -1
  250. package/dist/tanstack.js +19 -19
  251. package/dist/types/index.d.ts +5 -1
  252. package/dist/types/index.d.ts.map +1 -1
  253. package/dist/types/salla-sdk.d.ts +9 -1
  254. package/dist/types/salla-sdk.d.ts.map +1 -1
  255. package/dist/types/twilight.d.ts +8 -0
  256. package/dist/types/twilight.d.ts.map +1 -1
  257. package/dist/utils/baseHead.js +2 -2
  258. package/dist/utils/index.js +6 -6
  259. package/dist/utils/store-base.d.ts +30 -0
  260. package/dist/utils/store-base.d.ts.map +1 -1
  261. package/dist/utils/store-identity.d.ts +8 -0
  262. package/dist/utils/store-identity.d.ts.map +1 -1
  263. package/dist/vite/index.js +3 -3
  264. package/dist/webmcp/WebMcpTools.d.ts +8 -0
  265. package/dist/webmcp/WebMcpTools.d.ts.map +1 -0
  266. package/dist/webmcp/cart-tools.d.ts +3 -0
  267. package/dist/webmcp/cart-tools.d.ts.map +1 -0
  268. package/dist/webmcp/catalog-tools.d.ts +3 -0
  269. package/dist/webmcp/catalog-tools.d.ts.map +1 -0
  270. package/dist/webmcp/input.d.ts +20 -0
  271. package/dist/webmcp/input.d.ts.map +1 -0
  272. package/dist/webmcp/model-context.d.ts +10 -0
  273. package/dist/webmcp/model-context.d.ts.map +1 -0
  274. package/dist/webmcp/page-navigation.d.ts +17 -0
  275. package/dist/webmcp/page-navigation.d.ts.map +1 -0
  276. package/dist/webmcp/page-tools.d.ts +3 -0
  277. package/dist/webmcp/page-tools.d.ts.map +1 -0
  278. package/dist/webmcp/registerWebMcpTools.d.ts +9 -0
  279. package/dist/webmcp/registerWebMcpTools.d.ts.map +1 -0
  280. package/dist/webmcp/results.d.ts +9 -0
  281. package/dist/webmcp/results.d.ts.map +1 -0
  282. package/dist/webmcp/salla-deps.d.ts +9 -0
  283. package/dist/webmcp/salla-deps.d.ts.map +1 -0
  284. package/dist/webmcp/schema.d.ts +14 -0
  285. package/dist/webmcp/schema.d.ts.map +1 -0
  286. package/dist/webmcp/tools.d.ts +8 -0
  287. package/dist/webmcp/tools.d.ts.map +1 -0
  288. package/dist/webmcp/types.d.ts +83 -0
  289. package/dist/webmcp/types.d.ts.map +1 -0
  290. package/dist/webmcp/useWebMcpSupported.d.ts +9 -0
  291. package/dist/webmcp/useWebMcpSupported.d.ts.map +1 -0
  292. package/dist/webmcp/useWebMcpTools.d.ts +10 -0
  293. package/dist/webmcp/useWebMcpTools.d.ts.map +1 -0
  294. package/package.json +1 -1
  295. package/tailwind/routes/root/beforeLoad.ts.txt +27 -9
  296. package/dist/BlogAuthorPage-LVUTPDWU.js.map +0 -1
  297. package/dist/BlogCategoryPage-4Q2MU5IF.js.map +0 -1
  298. package/dist/BlogPage-YG3INJ6S.js.map +0 -1
  299. package/dist/BlogSinglePage-P4OPKCYA.js.map +0 -1
  300. package/dist/BlogTagPage-RC4CSYJM.js.map +0 -1
  301. package/dist/BrandsPage-SRQANTCQ.js.map +0 -1
  302. package/dist/Breadcrumb-I6RHU7TL.js.map +0 -1
  303. package/dist/CartItem-WXV4HG7L.js.map +0 -1
  304. package/dist/CartSummary-66PEAPVR.js.map +0 -1
  305. package/dist/CustomerLayout-S4PJGKMT.js.map +0 -1
  306. package/dist/LatestProducts-VMDICC67.js.map +0 -1
  307. package/dist/LoyaltyPage-N7LLJ3ZW.js.map +0 -1
  308. package/dist/MobileMenu-TK5S3UAR.js.map +0 -1
  309. package/dist/NotificationsPage-FNC7EOFV.js.map +0 -1
  310. package/dist/OrderSinglePage-YS6FBSCD.js.map +0 -1
  311. package/dist/OrdersPage-V3YMXMSN.js.map +0 -1
  312. package/dist/ProfilePage-L7DOZZBH.js.map +0 -1
  313. package/dist/SeoCartWidget-IW2EIOP3.js.map +0 -1
  314. package/dist/SettingsPage-3BZD6EXX.js.map +0 -1
  315. package/dist/ThankYouPage-GPPMDT4G.js.map +0 -1
  316. package/dist/WalletPage-JYNPVXER.js.map +0 -1
  317. package/dist/WishlistPage-APID33BZ.js.map +0 -1
  318. package/dist/chunk-4XB425HW.js.map +0 -1
  319. package/dist/chunk-4XUBBJUJ.js.map +0 -1
  320. package/dist/chunk-FXVII733.js.map +0 -1
  321. package/dist/document-class-NJGMU7RC.js +0 -32
  322. package/dist/not-found-6PQMIL5E.js.map +0 -1
@@ -1,15 +1,15 @@
1
- export { NavigationSetup, TanStackNavigationProvider } from './chunk-MNI3ZVUN.js';
2
- import './chunk-OPON37ZR.js';
1
+ export { NavigationSetup, TanStackNavigationProvider } from './chunk-KKTVDCVO.js';
2
+ import './chunk-HRW4YFHR.js';
3
3
  import './chunk-OUW6WESU.js';
4
- import './chunk-WDL6T5RX.js';
4
+ import './chunk-U2UNWN4G.js';
5
5
  import './chunk-Z5M4YYWT.js';
6
6
  import './chunk-BYMOPN2S.js';
7
- import './chunk-3E3ABCPC.js';
8
- import './chunk-NHA4SBKG.js';
9
- import './chunk-FXVII733.js';
7
+ import './chunk-6TFM3UTF.js';
8
+ import './chunk-XMRNYUQY.js';
9
+ import './chunk-T2752RH7.js';
10
10
  import './chunk-6K34BCUP.js';
11
11
  import './chunk-T72DAX7R.js';
12
12
  import './chunk-DF6FBKDN.js';
13
13
  import './chunk-DGUM43GV.js';
14
- //# sourceMappingURL=navigation-ATNB3OMU.js.map
15
- //# sourceMappingURL=navigation-ATNB3OMU.js.map
14
+ //# sourceMappingURL=navigation-C5K5SOU2.js.map
15
+ //# sourceMappingURL=navigation-C5K5SOU2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-ATNB3OMU.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-C5K5SOU2.js"}
@@ -1,12 +1,12 @@
1
1
  import { NextJsLinkAdapter } from './chunk-HTGBIA7K.js';
2
- import { NavigationProvider, defaultNavigate } from './chunk-OPON37ZR.js';
2
+ import { NavigationProvider, defaultNavigate } from './chunk-HRW4YFHR.js';
3
3
  import './chunk-OUW6WESU.js';
4
- import './chunk-WDL6T5RX.js';
4
+ import './chunk-U2UNWN4G.js';
5
5
  import './chunk-Z5M4YYWT.js';
6
6
  import { LinkProvider } from './chunk-BYMOPN2S.js';
7
- import './chunk-3E3ABCPC.js';
8
- import './chunk-NHA4SBKG.js';
9
- import './chunk-FXVII733.js';
7
+ import './chunk-6TFM3UTF.js';
8
+ import './chunk-XMRNYUQY.js';
9
+ import './chunk-T2752RH7.js';
10
10
  import './chunk-6K34BCUP.js';
11
11
  import './chunk-T72DAX7R.js';
12
12
  import './chunk-DF6FBKDN.js';
@@ -18,5 +18,5 @@ function NavigationSetup({ children }) {
18
18
  }
19
19
 
20
20
  export { NavigationSetup };
21
- //# sourceMappingURL=navigation-XB2AA2QD.js.map
22
- //# sourceMappingURL=navigation-XB2AA2QD.js.map
21
+ //# sourceMappingURL=navigation-VW5P7XQM.js.map
22
+ //# sourceMappingURL=navigation-VW5P7XQM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/nextjs/navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AASO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAA4B;AACrE,EAAA,uBACE,GAAA,CAAC,sBAAmB,QAAA,EAAU,eAAA,EAC5B,8BAAC,YAAA,EAAA,EAAa,OAAA,EAAS,iBAAA,EAAoB,QAAA,EAAS,CAAA,EACtD,CAAA;AAEJ","file":"navigation-XB2AA2QD.js","sourcesContent":["import { NavigationProvider, defaultNavigate } from '../providers/NavigationProvider';\nimport { LinkProvider } from '../providers/LinkProvider';\nimport { NextJsLinkAdapter } from './link';\nimport type { ReactNode } from 'react';\n\n/**\n * Next.js navigation setup - wraps children with NavigationProvider and LinkProvider.\n * Called by TwilightProvider when client.framework === 'nextjs'.\n */\nexport function NavigationSetup({ children }: { children: ReactNode }) {\n return (\n <NavigationProvider navigate={defaultNavigate}>\n <LinkProvider adapter={NextJsLinkAdapter}>{children}</LinkProvider>\n </NavigationProvider>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/nextjs/navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AASO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAA4B;AACrE,EAAA,uBACE,GAAA,CAAC,sBAAmB,QAAA,EAAU,eAAA,EAC5B,8BAAC,YAAA,EAAA,EAAa,OAAA,EAAS,iBAAA,EAAoB,QAAA,EAAS,CAAA,EACtD,CAAA;AAEJ","file":"navigation-VW5P7XQM.js","sourcesContent":["import { NavigationProvider, defaultNavigate } from '../providers/NavigationProvider';\nimport { LinkProvider } from '../providers/LinkProvider';\nimport { NextJsLinkAdapter } from './link';\nimport type { ReactNode } from 'react';\n\n/**\n * Next.js navigation setup - wraps children with NavigationProvider and LinkProvider.\n * Called by TwilightProvider when client.framework === 'nextjs'.\n */\nexport function NavigationSetup({ children }: { children: ReactNode }) {\n return (\n <NavigationProvider navigate={defaultNavigate}>\n <LinkProvider adapter={NextJsLinkAdapter}>{children}</LinkProvider>\n </NavigationProvider>\n );\n}\n"]}
@@ -1,44 +1,45 @@
1
- import { product } from './chunk-P3ZYGK5E.js';
2
- import './chunk-4XB425HW.js';
3
- import './chunk-UME7NAC5.js';
4
- import './chunk-KAWAAVGL.js';
5
- import './chunk-N6ZE6HUX.js';
1
+ import { product } from './chunk-WIDH6AK6.js';
2
+ import './chunk-GBMMP344.js';
3
+ import './chunk-Q77J3D2W.js';
4
+ import './chunk-U5TWRPMK.js';
5
+ import './chunk-YYVZFOUI.js';
6
+ import './chunk-5V4W3GBI.js';
6
7
  import './chunk-X55R4VVK.js';
7
8
  import './chunk-YL6X3ZMG.js';
8
- import './chunk-JKSDTWEC.js';
9
+ import './chunk-PCB5DCS4.js';
9
10
  import './chunk-OXMUPNMH.js';
10
- import './chunk-XYLGWKPG.js';
11
+ import './chunk-NGWHUW34.js';
11
12
  import './chunk-VVZNW5CB.js';
12
- import './chunk-WQPG22DY.js';
13
+ import './chunk-EGI7F57E.js';
13
14
  import './chunk-GD26FI4J.js';
14
- import './chunk-Q7E4TNN7.js';
15
- import './chunk-RYGEIQWO.js';
16
- import { useLocation, useNavigate } from './chunk-OPON37ZR.js';
15
+ import './chunk-SLBO4SEE.js';
16
+ import './chunk-MGG4XAJ5.js';
17
+ import { useLocation, useNavigate } from './chunk-HRW4YFHR.js';
17
18
  import './chunk-OUW6WESU.js';
18
- import './chunk-HOJ5E2PG.js';
19
+ import './chunk-IHOUADLX.js';
19
20
  import './chunk-HI5V5X3S.js';
20
- import './chunk-C76E3NHH.js';
21
- import './chunk-7HZ6JQAJ.js';
21
+ import './chunk-XV3HPKLI.js';
22
+ import './chunk-5JZSBFA5.js';
22
23
  import './chunk-MVT5AF2A.js';
23
24
  import './chunk-Z653O7MX.js';
24
25
  import './chunk-ZCH7W7DZ.js';
25
- import './chunk-TF6HFXTW.js';
26
+ import './chunk-H7LRGY7U.js';
26
27
  import './chunk-JWXJPJBO.js';
27
28
  import './chunk-CW625T2E.js';
28
29
  import './chunk-7V36I5GT.js';
29
30
  import './chunk-6WI7R2BD.js';
30
- import './chunk-LFHYQ6AN.js';
31
+ import './chunk-M5WTY3EH.js';
31
32
  import './chunk-OAMIDZKW.js';
32
- import './chunk-TVNO5MCL.js';
33
+ import './chunk-KGSB2Y7O.js';
33
34
  import './chunk-OQIIJRAS.js';
34
35
  import './chunk-V2ZDTY6H.js';
35
- import './chunk-4RKNISJB.js';
36
+ import './chunk-ETC7OJT5.js';
36
37
  import { HookSlot } from './chunk-5XDPAKF5.js';
37
38
  import './chunk-GCPEMNSU.js';
38
- import './chunk-WDL6T5RX.js';
39
+ import './chunk-U2UNWN4G.js';
39
40
  import './chunk-Z5M4YYWT.js';
40
41
  import { useTranslation } from './chunk-TYNZ5B2B.js';
41
- import { LazyErrorPage } from './chunk-BKHGXHCJ.js';
42
+ import { LazyErrorPage } from './chunk-VZRZQV4Q.js';
42
43
  import './chunk-AXW67SY7.js';
43
44
  import './chunk-BYMOPN2S.js';
44
45
  import './chunk-SKLEJJ6M.js';
@@ -46,10 +47,10 @@ import './chunk-6BZ5TKEV.js';
46
47
  import './chunk-FZKRSGLP.js';
47
48
  import './chunk-KYMWEUN2.js';
48
49
  import './chunk-YA6ABQB7.js';
49
- import './chunk-MWYKP7CI.js';
50
- import './chunk-3E3ABCPC.js';
51
- import './chunk-NHA4SBKG.js';
52
- import './chunk-FXVII733.js';
50
+ import './chunk-QMWP2ZP6.js';
51
+ import './chunk-6TFM3UTF.js';
52
+ import './chunk-XMRNYUQY.js';
53
+ import './chunk-T2752RH7.js';
53
54
  import './chunk-6K34BCUP.js';
54
55
  import { isLocale } from './chunk-T72DAX7R.js';
55
56
  import './chunk-DF6FBKDN.js';
@@ -156,5 +157,5 @@ function NotFoundPage(props = {}) {
156
157
  }
157
158
 
158
159
  export { NotFoundPage };
159
- //# sourceMappingURL=not-found-6PQMIL5E.js.map
160
- //# sourceMappingURL=not-found-6PQMIL5E.js.map
160
+ //# sourceMappingURL=not-found-U2LJEYDT.js.map
161
+ //# sourceMappingURL=not-found-U2LJEYDT.js.map
@@ -0,0 +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-U2LJEYDT.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -2,6 +2,6 @@ import React from 'react';
2
2
  import type { TwilightProviderProps } from '../types/twilight';
3
3
  export { useTwilight } from './twilight-context';
4
4
  export type { TwilightProviderProps };
5
- export declare function TwilightProvider({ children, debug, skeleton, translations: themeTranslations, onReady, onError, client, toast, toastMobilePosition, addToCartToast, routeClass, layout: LayoutComponent, maintenancePage: MaintenancePageComponent, }: TwilightProviderProps): React.ReactElement;
5
+ export declare function TwilightProvider({ children, debug, skeleton, translations: themeTranslations, onReady, onError, client, toast, toastMobilePosition, addToCartToast, webMcp, routeClass, layout: LayoutComponent, maintenancePage: MaintenancePageComponent, }: TwilightProviderProps): React.ReactElement;
6
6
  export default TwilightProvider;
7
7
  //# sourceMappingURL=TwilightProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA8B5F,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAUtC,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EACP,OAAO,EACP,MAAwD,EACxD,KAAY,EACZ,mBAAqC,EACrC,cAAqB,EACrB,UAAiB,EACjB,MAAM,EAAE,eAA8B,EACtC,eAAe,EAAE,wBAA8C,GAChE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAyT5C;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA+B5F,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAUtC,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EACP,OAAO,EACP,MAAwD,EACxD,KAAY,EACZ,mBAAqC,EACrC,cAAqB,EACrB,MAAa,EACb,UAAiB,EACjB,MAAM,EAAE,eAA8B,EACtC,eAAe,EAAE,wBAA8C,GAChE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAoU5C;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,43 +1,44 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-4XB425HW.js';
2
- import '../chunk-UME7NAC5.js';
3
- import '../chunk-KAWAAVGL.js';
4
- import '../chunk-N6ZE6HUX.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-GBMMP344.js';
2
+ import '../chunk-Q77J3D2W.js';
3
+ import '../chunk-U5TWRPMK.js';
4
+ import '../chunk-YYVZFOUI.js';
5
+ import '../chunk-5V4W3GBI.js';
5
6
  import '../chunk-X55R4VVK.js';
6
7
  import '../chunk-YL6X3ZMG.js';
7
- import '../chunk-JKSDTWEC.js';
8
+ import '../chunk-PCB5DCS4.js';
8
9
  import '../chunk-OXMUPNMH.js';
9
- import '../chunk-XYLGWKPG.js';
10
+ import '../chunk-NGWHUW34.js';
10
11
  import '../chunk-VVZNW5CB.js';
11
- import '../chunk-WQPG22DY.js';
12
+ import '../chunk-EGI7F57E.js';
12
13
  import '../chunk-GD26FI4J.js';
13
- import '../chunk-Q7E4TNN7.js';
14
- import '../chunk-RYGEIQWO.js';
15
- export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-OPON37ZR.js';
14
+ import '../chunk-SLBO4SEE.js';
15
+ import '../chunk-MGG4XAJ5.js';
16
+ export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-HRW4YFHR.js';
16
17
  export { RouteId } from '../chunk-OUW6WESU.js';
17
- import '../chunk-HOJ5E2PG.js';
18
+ import '../chunk-IHOUADLX.js';
18
19
  import '../chunk-HI5V5X3S.js';
19
- import '../chunk-C76E3NHH.js';
20
- import '../chunk-7HZ6JQAJ.js';
20
+ import '../chunk-XV3HPKLI.js';
21
+ import '../chunk-5JZSBFA5.js';
21
22
  import '../chunk-MVT5AF2A.js';
22
23
  import '../chunk-Z653O7MX.js';
23
24
  import '../chunk-ZCH7W7DZ.js';
24
- import '../chunk-TF6HFXTW.js';
25
+ import '../chunk-H7LRGY7U.js';
25
26
  export { DocumentClassProvider, useDocumentClassContext, useDocumentClassOutput } from '../chunk-JWXJPJBO.js';
26
27
  import '../chunk-CW625T2E.js';
27
28
  import '../chunk-7V36I5GT.js';
28
29
  import '../chunk-6WI7R2BD.js';
29
- import '../chunk-LFHYQ6AN.js';
30
+ import '../chunk-M5WTY3EH.js';
30
31
  import '../chunk-OAMIDZKW.js';
31
- import '../chunk-TVNO5MCL.js';
32
+ import '../chunk-KGSB2Y7O.js';
32
33
  import '../chunk-OQIIJRAS.js';
33
34
  import '../chunk-V2ZDTY6H.js';
34
- import '../chunk-4RKNISJB.js';
35
+ import '../chunk-ETC7OJT5.js';
35
36
  import '../chunk-5XDPAKF5.js';
36
37
  import '../chunk-GCPEMNSU.js';
37
- import '../chunk-WDL6T5RX.js';
38
+ import '../chunk-U2UNWN4G.js';
38
39
  import '../chunk-Z5M4YYWT.js';
39
40
  import '../chunk-TYNZ5B2B.js';
40
- import '../chunk-BKHGXHCJ.js';
41
+ import '../chunk-VZRZQV4Q.js';
41
42
  import '../chunk-AXW67SY7.js';
42
43
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
43
44
  import '../chunk-SKLEJJ6M.js';
@@ -45,10 +46,10 @@ import '../chunk-6BZ5TKEV.js';
45
46
  import '../chunk-FZKRSGLP.js';
46
47
  import '../chunk-KYMWEUN2.js';
47
48
  import '../chunk-YA6ABQB7.js';
48
- import '../chunk-MWYKP7CI.js';
49
- import '../chunk-3E3ABCPC.js';
50
- import '../chunk-NHA4SBKG.js';
51
- import '../chunk-FXVII733.js';
49
+ import '../chunk-QMWP2ZP6.js';
50
+ import '../chunk-6TFM3UTF.js';
51
+ import '../chunk-XMRNYUQY.js';
52
+ import '../chunk-T2752RH7.js';
52
53
  export { SettingsError } from '../chunk-6K34BCUP.js';
53
54
  import '../chunk-T72DAX7R.js';
54
55
  export { useTwilight } from '../chunk-DF6FBKDN.js';
@@ -1,13 +1,13 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-ATDOPTQ2.js';
2
- import '../../chunk-ROW2E5ZY.js';
3
- import '../../chunk-RYGEIQWO.js';
4
- import '../../chunk-OPON37ZR.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-RJKMW36K.js';
2
+ import '../../chunk-N44U2AA7.js';
3
+ import '../../chunk-MGG4XAJ5.js';
4
+ import '../../chunk-HRW4YFHR.js';
5
5
  import '../../chunk-OUW6WESU.js';
6
- import '../../chunk-WDL6T5RX.js';
6
+ import '../../chunk-U2UNWN4G.js';
7
7
  import '../../chunk-Z5M4YYWT.js';
8
- import '../../chunk-3E3ABCPC.js';
9
- import '../../chunk-NHA4SBKG.js';
10
- import '../../chunk-FXVII733.js';
8
+ import '../../chunk-6TFM3UTF.js';
9
+ import '../../chunk-XMRNYUQY.js';
10
+ import '../../chunk-T2752RH7.js';
11
11
  import '../../chunk-6K34BCUP.js';
12
12
  import '../../chunk-T72DAX7R.js';
13
13
  import '../../chunk-DF6FBKDN.js';
@@ -1,17 +1,17 @@
1
- import { wallet } from '../chunk-XK4UZHW7.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-ATDOPTQ2.js';
3
- import '../chunk-ROW2E5ZY.js';
4
- import { notification } from '../chunk-2OHGW43N.js';
5
- import { wishlist } from '../chunk-X7WJ2TAE.js';
6
- import '../chunk-P3ZYGK5E.js';
7
- import { buildHreflangAlternates } from '../chunk-RYGEIQWO.js';
8
- import { unauthorized, orUnauthorized } from '../chunk-OPON37ZR.js';
1
+ import { wallet } from '../chunk-VCMGBB5Y.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-RJKMW36K.js';
3
+ import '../chunk-N44U2AA7.js';
4
+ import { notification } from '../chunk-BMCECPSU.js';
5
+ import { wishlist } from '../chunk-TF46NIZF.js';
6
+ import '../chunk-WIDH6AK6.js';
7
+ import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
8
+ import { unauthorized, orUnauthorized } from '../chunk-HRW4YFHR.js';
9
9
  import { RouteId } from '../chunk-OUW6WESU.js';
10
- import { getAuthToken } from '../chunk-WDL6T5RX.js';
10
+ import { getAuthToken } from '../chunk-U2UNWN4G.js';
11
11
  import '../chunk-Z5M4YYWT.js';
12
- import '../chunk-3E3ABCPC.js';
13
- import '../chunk-NHA4SBKG.js';
14
- import '../chunk-FXVII733.js';
12
+ import '../chunk-6TFM3UTF.js';
13
+ import '../chunk-XMRNYUQY.js';
14
+ import '../chunk-T2752RH7.js';
15
15
  import { getTwilightContext } from '../chunk-6K34BCUP.js';
16
16
  import '../chunk-T72DAX7R.js';
17
17
  import '../chunk-DF6FBKDN.js';
@@ -32,7 +32,7 @@ async function profileLoader(_ctx) {
32
32
 
33
33
  // src/routes/account/profile/index.tsx
34
34
  var LazyProfilePage = lazyComponent(
35
- () => import('../ProfilePage-L7DOZZBH.js').then((m) => ({ default: m.ProfilePage }))
35
+ () => import('../ProfilePage-5PBU637J.js').then((m) => ({ default: m.ProfilePage }))
36
36
  );
37
37
  var ProfilePage = LazyProfilePage;
38
38
  var Profile = {
@@ -74,7 +74,7 @@ async function wishlistLoader(ctx) {
74
74
 
75
75
  // src/routes/account/wishlist/index.tsx
76
76
  var LazyWishlistPage = lazyComponent(
77
- () => import('../WishlistPage-APID33BZ.js').then((m) => ({ default: m.WishlistPage }))
77
+ () => import('../WishlistPage-BM3XSMQF.js').then((m) => ({ default: m.WishlistPage }))
78
78
  );
79
79
  var WishlistPage = LazyWishlistPage;
80
80
  var Wishlist = {
@@ -117,7 +117,7 @@ async function walletLoader(ctx) {
117
117
 
118
118
  // src/routes/account/wallet/index.tsx
119
119
  var LazyWalletPage = lazyComponent(
120
- () => import('../WalletPage-JYNPVXER.js').then((m) => ({ default: m.WalletPage }))
120
+ () => import('../WalletPage-DPWZBROY.js').then((m) => ({ default: m.WalletPage }))
121
121
  );
122
122
  var WalletPage = LazyWalletPage;
123
123
  var Wallet = {
@@ -154,7 +154,7 @@ async function notificationsLoader(_ctx) {
154
154
 
155
155
  // src/routes/account/notifications/index.tsx
156
156
  var LazyNotificationsPage = lazyComponent(
157
- () => import('../NotificationsPage-FNC7EOFV.js').then((m) => ({ default: m.NotificationsPage }))
157
+ () => import('../NotificationsPage-JMAZ2N2A.js').then((m) => ({ default: m.NotificationsPage }))
158
158
  );
159
159
  var NotificationsPage = LazyNotificationsPage;
160
160
  var Notifications = {
@@ -187,7 +187,7 @@ async function settingsLoader(_ctx) {
187
187
 
188
188
  // src/routes/account/settings/index.tsx
189
189
  var LazySettingsPage = lazyComponent(
190
- () => import('../SettingsPage-3BZD6EXX.js').then((m) => ({ default: m.SettingsPage }))
190
+ () => import('../SettingsPage-Y5X5BNHD.js').then((m) => ({ default: m.SettingsPage }))
191
191
  );
192
192
  var SettingsPage = LazySettingsPage;
193
193
  var Settings = {
@@ -1,12 +1,12 @@
1
- import { blog } from '../chunk-2FISCDW2.js';
2
- import { buildHreflangAlternates } from '../chunk-RYGEIQWO.js';
3
- import { notFound, orThrow } from '../chunk-OPON37ZR.js';
1
+ import { blog } from '../chunk-GFRJHCRX.js';
2
+ import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
+ import { notFound, orThrow } from '../chunk-HRW4YFHR.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-WDL6T5RX.js';
5
+ import '../chunk-U2UNWN4G.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
- import '../chunk-3E3ABCPC.js';
8
- import '../chunk-NHA4SBKG.js';
9
- import '../chunk-FXVII733.js';
7
+ import '../chunk-6TFM3UTF.js';
8
+ import '../chunk-XMRNYUQY.js';
9
+ import '../chunk-T2752RH7.js';
10
10
  import { getTwilightContext } from '../chunk-6K34BCUP.js';
11
11
  import '../chunk-T72DAX7R.js';
12
12
  import '../chunk-DF6FBKDN.js';
@@ -147,19 +147,19 @@ async function blogTagLoader({
147
147
 
148
148
  // src/routes/blog/index.tsx
149
149
  var LazyBlogPage = lazyComponent(
150
- () => import('../BlogPage-YG3INJ6S.js').then((m) => ({ default: m.BlogPage }))
150
+ () => import('../BlogPage-ZCGNKBLI.js').then((m) => ({ default: m.BlogPage }))
151
151
  );
152
152
  var LazyBlogSinglePage = lazyComponent(
153
- () => import('../BlogSinglePage-P4OPKCYA.js').then((m) => ({ default: m.BlogSinglePage }))
153
+ () => import('../BlogSinglePage-TH7Z3MKB.js').then((m) => ({ default: m.BlogSinglePage }))
154
154
  );
155
155
  var LazyBlogAuthorPage = lazyComponent(
156
- () => import('../BlogAuthorPage-LVUTPDWU.js').then((m) => ({ default: m.BlogAuthorPage }))
156
+ () => import('../BlogAuthorPage-BXRIYXVN.js').then((m) => ({ default: m.BlogAuthorPage }))
157
157
  );
158
158
  var LazyBlogCategoryPage = lazyComponent(
159
- () => import('../BlogCategoryPage-4Q2MU5IF.js').then((m) => ({ default: m.BlogCategoryPage }))
159
+ () => import('../BlogCategoryPage-GHWC2WVM.js').then((m) => ({ default: m.BlogCategoryPage }))
160
160
  );
161
161
  var LazyBlogTagPage = lazyComponent(
162
- () => import('../BlogTagPage-RC4CSYJM.js').then((m) => ({ default: m.BlogTagPage }))
162
+ () => import('../BlogTagPage-GM422SOW.js').then((m) => ({ default: m.BlogTagPage }))
163
163
  );
164
164
  var BlogPage = LazyBlogPage;
165
165
  var BlogSinglePage = LazyBlogSinglePage;
@@ -1,12 +1,12 @@
1
- import { brand } from '../chunk-42GSY6HV.js';
2
- import { buildHreflangAlternates } from '../chunk-RYGEIQWO.js';
3
- import '../chunk-OPON37ZR.js';
1
+ import { brand } from '../chunk-LSMKTPIE.js';
2
+ import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
+ import '../chunk-HRW4YFHR.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-WDL6T5RX.js';
5
+ import '../chunk-U2UNWN4G.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
- import '../chunk-3E3ABCPC.js';
8
- import '../chunk-NHA4SBKG.js';
9
- import '../chunk-FXVII733.js';
7
+ import '../chunk-6TFM3UTF.js';
8
+ import '../chunk-XMRNYUQY.js';
9
+ import '../chunk-T2752RH7.js';
10
10
  import { getTwilightContext } from '../chunk-6K34BCUP.js';
11
11
  import '../chunk-T72DAX7R.js';
12
12
  import '../chunk-DF6FBKDN.js';
@@ -26,7 +26,7 @@ async function brandsLoader() {
26
26
 
27
27
  // src/routes/brands/index.tsx
28
28
  var LazyBrandsPage = lazyComponent(
29
- () => import('../BrandsPage-SRQANTCQ.js').then((m) => ({ default: m.BrandsPage }))
29
+ () => import('../BrandsPage-LNNPU4NX.js').then((m) => ({ default: m.BrandsPage }))
30
30
  );
31
31
  var BrandsPage = LazyBrandsPage;
32
32
  async function brandsLoaderWithExtend(_ctx, extend) {
@@ -1,55 +1,56 @@
1
- import { cart } from '../chunk-SBZZEW6D.js';
2
- import { loyalty } from '../chunk-NSZOUCAR.js';
1
+ import { cart } from '../chunk-AJM7KUA3.js';
2
+ import { loyalty } from '../chunk-OLL5OGQ5.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-BXBXCVSQ.js';
4
+ import '../chunk-52QZKUDU.js';
5
5
  import '../chunk-IXHM24Z4.js';
6
- import '../chunk-VS2GO7GL.js';
7
- import '../chunk-4LTS5AZ3.js';
8
- import '../chunk-P3ZYGK5E.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-ZJLNYJCD.js';
10
- import '../chunk-3MDXVF4Y.js';
11
- import '../chunk-DYSSY56M.js';
6
+ import '../chunk-HJGN3XVG.js';
7
+ import '../chunk-7NTPNCIK.js';
8
+ import '../chunk-WIDH6AK6.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-X4ITNSMT.js';
10
+ import '../chunk-MIAVMNPM.js';
11
+ import '../chunk-NLKLS3GZ.js';
12
12
  import '../chunk-Y32RHCOH.js';
13
- import '../chunk-4XB425HW.js';
14
- import '../chunk-UME7NAC5.js';
15
- import '../chunk-KAWAAVGL.js';
16
- import '../chunk-N6ZE6HUX.js';
13
+ import '../chunk-GBMMP344.js';
14
+ import '../chunk-Q77J3D2W.js';
15
+ import '../chunk-U5TWRPMK.js';
16
+ import '../chunk-YYVZFOUI.js';
17
+ import '../chunk-5V4W3GBI.js';
17
18
  import '../chunk-X55R4VVK.js';
18
19
  import '../chunk-YL6X3ZMG.js';
19
- import '../chunk-JKSDTWEC.js';
20
+ import '../chunk-PCB5DCS4.js';
20
21
  import '../chunk-OXMUPNMH.js';
21
- import '../chunk-XYLGWKPG.js';
22
+ import '../chunk-NGWHUW34.js';
22
23
  import '../chunk-VVZNW5CB.js';
23
- import '../chunk-WQPG22DY.js';
24
+ import '../chunk-EGI7F57E.js';
24
25
  import '../chunk-GD26FI4J.js';
25
- import '../chunk-Q7E4TNN7.js';
26
- import { buildHreflangAlternates } from '../chunk-RYGEIQWO.js';
27
- import '../chunk-OPON37ZR.js';
26
+ import '../chunk-SLBO4SEE.js';
27
+ import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
28
+ import '../chunk-HRW4YFHR.js';
28
29
  import { RouteId } from '../chunk-OUW6WESU.js';
29
- import '../chunk-HOJ5E2PG.js';
30
+ import '../chunk-IHOUADLX.js';
30
31
  import '../chunk-HI5V5X3S.js';
31
- import '../chunk-C76E3NHH.js';
32
- import '../chunk-7HZ6JQAJ.js';
32
+ import '../chunk-XV3HPKLI.js';
33
+ import '../chunk-5JZSBFA5.js';
33
34
  import '../chunk-MVT5AF2A.js';
34
35
  import '../chunk-Z653O7MX.js';
35
36
  import '../chunk-ZCH7W7DZ.js';
36
- import '../chunk-TF6HFXTW.js';
37
+ import '../chunk-H7LRGY7U.js';
37
38
  import '../chunk-JWXJPJBO.js';
38
39
  import '../chunk-CW625T2E.js';
39
40
  import '../chunk-7V36I5GT.js';
40
41
  import '../chunk-6WI7R2BD.js';
41
- import '../chunk-LFHYQ6AN.js';
42
+ import '../chunk-M5WTY3EH.js';
42
43
  import '../chunk-OAMIDZKW.js';
43
- import '../chunk-TVNO5MCL.js';
44
+ import '../chunk-KGSB2Y7O.js';
44
45
  import '../chunk-OQIIJRAS.js';
45
46
  import '../chunk-V2ZDTY6H.js';
46
- import '../chunk-4RKNISJB.js';
47
+ import '../chunk-ETC7OJT5.js';
47
48
  import { HookSlot } from '../chunk-5XDPAKF5.js';
48
49
  import '../chunk-GCPEMNSU.js';
49
- import '../chunk-WDL6T5RX.js';
50
+ import '../chunk-U2UNWN4G.js';
50
51
  import '../chunk-Z5M4YYWT.js';
51
52
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
52
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-BKHGXHCJ.js';
53
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-VZRZQV4Q.js';
53
54
  import '../chunk-AXW67SY7.js';
54
55
  import '../chunk-BYMOPN2S.js';
55
56
  import '../chunk-SKLEJJ6M.js';
@@ -57,10 +58,10 @@ import '../chunk-6BZ5TKEV.js';
57
58
  import '../chunk-FZKRSGLP.js';
58
59
  import '../chunk-KYMWEUN2.js';
59
60
  import '../chunk-YA6ABQB7.js';
60
- import '../chunk-MWYKP7CI.js';
61
- import '../chunk-3E3ABCPC.js';
62
- import '../chunk-NHA4SBKG.js';
63
- import '../chunk-FXVII733.js';
61
+ import '../chunk-QMWP2ZP6.js';
62
+ import '../chunk-6TFM3UTF.js';
63
+ import '../chunk-XMRNYUQY.js';
64
+ import '../chunk-T2752RH7.js';
64
65
  import { getTwilightContext } from '../chunk-6K34BCUP.js';
65
66
  import '../chunk-T72DAX7R.js';
66
67
  import { useTwilight } from '../chunk-DF6FBKDN.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/routes/cart/CartPage.tsx","../../src/routes/cart/loader.ts","../../src/routes/cart/index.tsx"],"names":[],"mappings":"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","file":"cart.js","sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { SallaConditionalOffer } from '@salla.sa/twilight-components-react/conditional-offer';\nimport { SallaOffer } from '@salla.sa/twilight-components-react/offer';\nimport { SallaProductOptions } from '@salla.sa/twilight-components-react/product-options';\nimport { HookSlot } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { CartPageProps } from './types';\nimport { Breadcrumb, NoContent } from '../../components/common';\nimport { CartItem, CartSummary, SeoCartWidget } from '../../components/cart';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { CartSkeleton } from '../../skeleton';\nimport { loyalty } from '../../api/loyalty';\nimport { cart } from '../../api/cart';\n\nfunction CartPageContent({ page }: CartPageProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { data: loyaltyPoints } = useQuery(loyalty.queries.points());\n\n const { data: cartId } = useQuery(cart.queries.currentId());\n\n const { data: cartData } = useQuery({\n ...cart.queries.detail(cartId!),\n enabled: !!cartId,\n });\n\n const isLoading = cartId == null || cartData === undefined;\n\n if (isLoading) {\n return <CartSkeleton />;\n }\n\n // No cart: it was already turned into an order, shown empty like Twig.\n if (!cartData || cartData.items.length === 0) {\n return (\n <div className=\"container\">\n <Breadcrumb page={page} />\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.cart.empty_cart', 'Your cart is empty')}\n actionLabel={t('common.elements.back_home', 'Back to Home')}\n actionUrl=\"/\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"container\">\n {/* Analytics — no visible UI, fires GTM checkout events */}\n <SeoCartWidget cart={cartData} />\n\n <Breadcrumb page={page} />\n <h1 className=\"sr-only\">{t('common.titles.cart', 'Cart')}</h1>\n <SallaConditionalOffer />\n\n <HookSlot name=\"cart:start\" />\n\n <div className=\"pt-5 flex flex-col items-start lg:flex-row pb-6 lg:pb-20\">\n <div className=\"main-content w-full lg:w-[calc(100%-384px)]\">\n <HookSlot name=\"cart:items.start\" context={{ cartItems: cartData.items }} />\n\n {cartData.items.map((item, index) => (\n <CartItem key={item.id} item={item} isFirst={index === 0} />\n ))}\n\n {cartData.options?.length > 0 && (\n <div className=\"cart-options\">\n {cartData.options.map((option) => (\n <form\n key={option.id}\n className=\"first:pt-5 relative\"\n onChange={(e) => window.salla?.form.onChange('cart.updateItem', e)}\n id={`item-${option.id}`}\n >\n <input type=\"hidden\" name=\"id\" value={option.id} />\n <input type=\"hidden\" name=\"quantity\" value={option.quantity} />\n {/* Twig: {% include 'pages.partials.product.options' with {product:product_option} %} */}\n {option.options && option.options.length > 0 && (\n <SallaProductOptions\n options={JSON.stringify(option.options)}\n productId={option.id}\n />\n )}\n </form>\n ))}\n </div>\n )}\n\n <SallaOffer />\n <HookSlot name=\"cart:items.end\" />\n </div>\n\n <CartSummary\n cart={cartData}\n applyCouponEnabled={store.settings?.cart?.apply_coupon_enabled}\n taxAmount={cartData.tax_amount}\n key={cartData.id}\n loyalty={cartData.loyalty}\n gift={cartData.gift}\n loyaltyPoints={loyaltyPoints ?? undefined}\n />\n </div>\n\n <HookSlot name=\"cart:end\" />\n </div>\n );\n}\n\nexport function CartPage(props: CartPageProps) {\n return <CartPageContent {...props} />;\n}\n","import type { CartPageProps } from './types';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n/**\n * SSR-safe loader that returns only page metadata.\n * Cart data is fetched client-side via React Query since the cart ID\n * lives in localStorage (unavailable during SSR).\n */\nexport function cartLoader(): CartPageProps {\n const i18n = getTwilightContext().i18n;\n return {\n page: { slug: RouteId.CART, title: i18n.t('common.titles.cart') || 'Cart' },\n } as CartPageProps;\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { CartPage } from './CartPage';\nimport { cartLoader } from './loader';\nimport type { CartPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport { CartPage } from './CartPage';\nexport { cartLoader } from './loader';\nexport type { CartPageProps } from './types';\n\nasync function loader(\n _ctx?: { locale?: string },\n extend?: (\n data: CartPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<CartPageProps> {\n const data = cartLoader();\n\n if (extend) {\n const extra = extend(data, { params: {} });\n return { ...data, ...(extra instanceof Promise ? {} : extra) } as CartPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: CartPageProps): 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\nexport const Cart = { id: RouteId.CART, loader, head, Component: CartPage } as const;\n"]}
1
+ {"version":3,"sources":["../../src/routes/cart/CartPage.tsx","../../src/routes/cart/loader.ts","../../src/routes/cart/index.tsx"],"names":[],"mappings":"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","file":"cart.js","sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { SallaConditionalOffer } from '@salla.sa/twilight-components-react/conditional-offer';\nimport { SallaOffer } from '@salla.sa/twilight-components-react/offer';\nimport { SallaProductOptions } from '@salla.sa/twilight-components-react/product-options';\nimport { HookSlot } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { CartPageProps } from './types';\nimport { Breadcrumb, NoContent } from '../../components/common';\nimport { CartItem, CartSummary, SeoCartWidget } from '../../components/cart';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { CartSkeleton } from '../../skeleton';\nimport { loyalty } from '../../api/loyalty';\nimport { cart } from '../../api/cart';\n\nfunction CartPageContent({ page }: CartPageProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { data: loyaltyPoints } = useQuery(loyalty.queries.points());\n\n const { data: cartId } = useQuery(cart.queries.currentId());\n\n const { data: cartData } = useQuery({\n ...cart.queries.detail(cartId!),\n enabled: !!cartId,\n });\n\n const isLoading = cartId == null || cartData === undefined;\n\n if (isLoading) {\n return <CartSkeleton />;\n }\n\n // No cart: it was already turned into an order, shown empty like Twig.\n if (!cartData || cartData.items.length === 0) {\n return (\n <div className=\"container\">\n <Breadcrumb page={page} />\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.cart.empty_cart', 'Your cart is empty')}\n actionLabel={t('common.elements.back_home', 'Back to Home')}\n actionUrl=\"/\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"container\">\n {/* Analytics — no visible UI, fires GTM checkout events */}\n <SeoCartWidget cart={cartData} />\n\n <Breadcrumb page={page} />\n <h1 className=\"sr-only\">{t('common.titles.cart', 'Cart')}</h1>\n <SallaConditionalOffer />\n\n <HookSlot name=\"cart:start\" />\n\n <div className=\"pt-5 flex flex-col items-start lg:flex-row pb-6 lg:pb-20\">\n <div className=\"main-content w-full lg:w-[calc(100%-384px)]\">\n <HookSlot name=\"cart:items.start\" context={{ cartItems: cartData.items }} />\n\n {cartData.items.map((item, index) => (\n <CartItem key={item.id} item={item} isFirst={index === 0} />\n ))}\n\n {cartData.options?.length > 0 && (\n <div className=\"cart-options\">\n {cartData.options.map((option) => (\n <form\n key={option.id}\n className=\"first:pt-5 relative\"\n onChange={(e) => window.salla?.form.onChange('cart.updateItem', e)}\n id={`item-${option.id}`}\n >\n <input type=\"hidden\" name=\"id\" value={option.id} />\n <input type=\"hidden\" name=\"quantity\" value={option.quantity} />\n {/* Twig: {% include 'pages.partials.product.options' with {product:product_option} %} */}\n {option.options && option.options.length > 0 && (\n <SallaProductOptions\n options={JSON.stringify(option.options)}\n productId={option.id}\n />\n )}\n </form>\n ))}\n </div>\n )}\n\n <SallaOffer />\n <HookSlot name=\"cart:items.end\" />\n </div>\n\n <CartSummary\n cart={cartData}\n applyCouponEnabled={store.settings?.cart?.apply_coupon_enabled}\n taxAmount={cartData.tax_amount}\n key={cartData.id}\n loyalty={cartData.loyalty}\n gift={cartData.gift}\n loyaltyPoints={loyaltyPoints ?? undefined}\n />\n </div>\n\n <HookSlot name=\"cart:end\" />\n </div>\n );\n}\n\nexport function CartPage(props: CartPageProps) {\n return <CartPageContent {...props} />;\n}\n","import type { CartPageProps } from './types';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n/**\n * SSR-safe loader that returns only page metadata.\n * Cart data is fetched client-side via React Query since the cart ID\n * lives in localStorage (unavailable during SSR).\n */\nexport function cartLoader(): CartPageProps {\n const i18n = getTwilightContext().i18n;\n return {\n page: { slug: RouteId.CART, title: i18n.t('common.titles.cart') || 'Cart' },\n } as CartPageProps;\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { CartPage } from './CartPage';\nimport { cartLoader } from './loader';\nimport type { CartPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport { CartPage } from './CartPage';\nexport { cartLoader } from './loader';\nexport type { CartPageProps } from './types';\n\nasync function loader(\n _ctx?: { locale?: string },\n extend?: (\n data: CartPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<CartPageProps> {\n const data = cartLoader();\n\n if (extend) {\n const extra = extend(data, { params: {} });\n return { ...data, ...(extra instanceof Promise ? {} : extra) } as CartPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: CartPageProps): 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\nexport const Cart = { id: RouteId.CART, loader, head, Component: CartPage } as const;\n"]}