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

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 (241) hide show
  1. package/dist/{AddToCartForm-NZNFVGDV.js → AddToCartForm-GF22RRTM.js} +3 -3
  2. package/dist/{AddToCartForm-NZNFVGDV.js.map → AddToCartForm-GF22RRTM.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-BXRIYXVN.js → BlogAuthorPage-RL6AMYDY.js} +17 -17
  4. package/dist/{BlogAuthorPage-BXRIYXVN.js.map → BlogAuthorPage-RL6AMYDY.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-GHWC2WVM.js → BlogCategoryPage-B4DIJZCK.js} +17 -17
  6. package/dist/{BlogCategoryPage-GHWC2WVM.js.map → BlogCategoryPage-B4DIJZCK.js.map} +1 -1
  7. package/dist/{BlogPage-ZCGNKBLI.js → BlogPage-UQKCNSB7.js} +15 -15
  8. package/dist/{BlogPage-ZCGNKBLI.js.map → BlogPage-UQKCNSB7.js.map} +1 -1
  9. package/dist/{BlogSinglePage-TH7Z3MKB.js → BlogSinglePage-MG7A3FK4.js} +15 -15
  10. package/dist/{BlogSinglePage-TH7Z3MKB.js.map → BlogSinglePage-MG7A3FK4.js.map} +1 -1
  11. package/dist/{BlogTagPage-GM422SOW.js → BlogTagPage-G7GLKQIE.js} +17 -17
  12. package/dist/{BlogTagPage-GM422SOW.js.map → BlogTagPage-G7GLKQIE.js.map} +1 -1
  13. package/dist/{BrandsPage-LNNPU4NX.js → BrandsPage-EINNM2YV.js} +16 -16
  14. package/dist/{BrandsPage-LNNPU4NX.js.map → BrandsPage-EINNM2YV.js.map} +1 -1
  15. package/dist/{Breadcrumb-TSG2CW3S.js → Breadcrumb-VLIGUJV2.js} +15 -15
  16. package/dist/{Breadcrumb-TSG2CW3S.js.map → Breadcrumb-VLIGUJV2.js.map} +1 -1
  17. package/dist/{CartItem-UVSLCSEP.js → CartItem-QCNLWMWV.js} +15 -15
  18. package/dist/{CartItem-UVSLCSEP.js.map → CartItem-QCNLWMWV.js.map} +1 -1
  19. package/dist/{CartSummary-ZCXTED4G.js → CartSummary-ZWBB3R3X.js} +15 -15
  20. package/dist/{CartSummary-ZCXTED4G.js.map → CartSummary-ZWBB3R3X.js.map} +1 -1
  21. package/dist/{Copyright-B25RLEVV.js → Copyright-SG3C7STC.js} +3 -3
  22. package/dist/{Copyright-B25RLEVV.js.map → Copyright-SG3C7STC.js.map} +1 -1
  23. package/dist/{CustomerLayout-WGEUJEDP.js → CustomerLayout-OZCEEEL5.js} +15 -15
  24. package/dist/{CustomerLayout-WGEUJEDP.js.map → CustomerLayout-OZCEEEL5.js.map} +1 -1
  25. package/dist/{Footer-QMNESEEI.js → Footer-F6H52J6C.js} +4 -4
  26. package/dist/{Footer-QMNESEEI.js.map → Footer-F6H52J6C.js.map} +1 -1
  27. package/dist/{Header-ZPDXQ7U6.js → Header-IZ22UIE4.js} +8 -8
  28. package/dist/{Header-ZPDXQ7U6.js.map → Header-IZ22UIE4.js.map} +1 -1
  29. package/dist/{LatestProducts-UEUM47MI.js → LatestProducts-EUROHOV5.js} +17 -17
  30. package/dist/{LatestProducts-UEUM47MI.js.map → LatestProducts-EUROHOV5.js.map} +1 -1
  31. package/dist/{LoyaltyPage-ZM3FDTV3.js → LoyaltyPage-V6UL2JG3.js} +15 -15
  32. package/dist/{LoyaltyPage-ZM3FDTV3.js.map → LoyaltyPage-V6UL2JG3.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-QQIKIBTH.js → LoyaltyPointsPage-DSUGI2WQ.js} +6 -6
  34. package/dist/{LoyaltyPointsPage-QQIKIBTH.js.map → LoyaltyPointsPage-DSUGI2WQ.js.map} +1 -1
  35. package/dist/{MainMenu-3Z7HRQGU.js → MainMenu-L6SYV24F.js} +5 -5
  36. package/dist/{MainMenu-3Z7HRQGU.js.map → MainMenu-L6SYV24F.js.map} +1 -1
  37. package/dist/{MasterLayout-ZRTWOZGC.js → MasterLayout-35PAQI5L.js} +15 -15
  38. package/dist/{MasterLayout-ZRTWOZGC.js.map → MasterLayout-35PAQI5L.js.map} +1 -1
  39. package/dist/{MobileMenu-SC7HJ6BT.js → MobileMenu-AMKXMQPQ.js} +16 -16
  40. package/dist/{MobileMenu-SC7HJ6BT.js.map → MobileMenu-AMKXMQPQ.js.map} +1 -1
  41. package/dist/{NotificationsPage-JMAZ2N2A.js → NotificationsPage-POSF3L7Z.js} +15 -15
  42. package/dist/{NotificationsPage-JMAZ2N2A.js.map → NotificationsPage-POSF3L7Z.js.map} +1 -1
  43. package/dist/{OrderSinglePage-6MAFH4Q6.js → OrderSinglePage-Y47JLCKF.js} +16 -16
  44. package/dist/{OrderSinglePage-6MAFH4Q6.js.map → OrderSinglePage-Y47JLCKF.js.map} +1 -1
  45. package/dist/{OrdersPage-NMINSG67.js → OrdersPage-BLEBRK7S.js} +15 -15
  46. package/dist/{OrdersPage-NMINSG67.js.map → OrdersPage-BLEBRK7S.js.map} +1 -1
  47. package/dist/{PageSingle-WLIXOODC.js → PageSingle-UN5NXZ6G.js} +3 -3
  48. package/dist/{PageSingle-WLIXOODC.js.map → PageSingle-UN5NXZ6G.js.map} +1 -1
  49. package/dist/{ProductDetails-NFZLUKLN.js → ProductDetails-MSJAUDZT.js} +5 -5
  50. package/dist/{ProductDetails-NFZLUKLN.js.map → ProductDetails-MSJAUDZT.js.map} +1 -1
  51. package/dist/{ProfilePage-5PBU637J.js → ProfilePage-ITTU6TKE.js} +15 -15
  52. package/dist/{ProfilePage-5PBU637J.js.map → ProfilePage-ITTU6TKE.js.map} +1 -1
  53. package/dist/{ReviewsPage-RWNFVHWR.js → ReviewsPage-F6LUX4JH.js} +3 -3
  54. package/dist/{ReviewsPage-RWNFVHWR.js.map → ReviewsPage-F6LUX4JH.js.map} +1 -1
  55. package/dist/{SeoCartWidget-HPBQ6673.js → SeoCartWidget-ZPKKBEX6.js} +15 -15
  56. package/dist/{SeoCartWidget-HPBQ6673.js.map → SeoCartWidget-ZPKKBEX6.js.map} +1 -1
  57. package/dist/{SettingsPage-Y5X5BNHD.js → SettingsPage-DUT42ZM7.js} +15 -15
  58. package/dist/{SettingsPage-Y5X5BNHD.js.map → SettingsPage-DUT42ZM7.js.map} +1 -1
  59. package/dist/{StoreClosedNotification-5DOQFF2O.js → StoreClosedNotification-BIVXHO3M.js} +16 -16
  60. package/dist/{StoreClosedNotification-5DOQFF2O.js.map → StoreClosedNotification-BIVXHO3M.js.map} +1 -1
  61. package/dist/{TestimonialsPage-ZDALOH2L.js → TestimonialsPage-BVJKGYKY.js} +3 -3
  62. package/dist/{TestimonialsPage-ZDALOH2L.js.map → TestimonialsPage-BVJKGYKY.js.map} +1 -1
  63. package/dist/ThankYouPage-4AF4JSSN.js +187 -0
  64. package/dist/ThankYouPage-4AF4JSSN.js.map +1 -0
  65. package/dist/{WalletPage-DPWZBROY.js → WalletPage-JCGVSMQ2.js} +16 -16
  66. package/dist/{WalletPage-DPWZBROY.js.map → WalletPage-JCGVSMQ2.js.map} +1 -1
  67. package/dist/{WebMcpTools-3TBLKZL5.js → WebMcpTools-7AWIQEVW.js} +5 -5
  68. package/dist/{WebMcpTools-3TBLKZL5.js.map → WebMcpTools-7AWIQEVW.js.map} +1 -1
  69. package/dist/{WishlistPage-BM3XSMQF.js → WishlistPage-PJGN3E6X.js} +17 -17
  70. package/dist/{WishlistPage-BM3XSMQF.js.map → WishlistPage-PJGN3E6X.js.map} +1 -1
  71. package/dist/ambient/salla-components.d.ts +42 -0
  72. package/dist/api/advertisement.js +2 -2
  73. package/dist/api/apps.js +2 -2
  74. package/dist/api/blog.js +3 -3
  75. package/dist/api/brands.js +3 -3
  76. package/dist/api/cart.js +3 -3
  77. package/dist/api/category.js +3 -3
  78. package/dist/api/client.js +1 -1
  79. package/dist/api/home.js +2 -2
  80. package/dist/api/loyalty.js +3 -3
  81. package/dist/api/menu.js +2 -2
  82. package/dist/api/notification.js +2 -2
  83. package/dist/api/order.js +3 -3
  84. package/dist/api/page.js +3 -3
  85. package/dist/api/product.js +3 -3
  86. package/dist/api/profile.js +1 -1
  87. package/dist/api/store.js +2 -2
  88. package/dist/api/translations.js +2 -2
  89. package/dist/api/user.js +2 -2
  90. package/dist/api/wallet.js +2 -2
  91. package/dist/api/wishlist.js +4 -4
  92. package/dist/{chunk-OLL5OGQ5.js → chunk-25LQB2XQ.js} +4 -4
  93. package/dist/{chunk-OLL5OGQ5.js.map → chunk-25LQB2XQ.js.map} +1 -1
  94. package/dist/{chunk-HJGN3XVG.js → chunk-3D4UXOBU.js} +7 -7
  95. package/dist/{chunk-HJGN3XVG.js.map → chunk-3D4UXOBU.js.map} +1 -1
  96. package/dist/{chunk-YYVZFOUI.js → chunk-3XRZEYOO.js} +3 -3
  97. package/dist/{chunk-YYVZFOUI.js.map → chunk-3XRZEYOO.js.map} +1 -1
  98. package/dist/{chunk-7NTPNCIK.js → chunk-4FUBEE6Q.js} +3 -3
  99. package/dist/{chunk-7NTPNCIK.js.map → chunk-4FUBEE6Q.js.map} +1 -1
  100. package/dist/{chunk-PCB5DCS4.js → chunk-5C4ENAQA.js} +3 -3
  101. package/dist/{chunk-PCB5DCS4.js.map → chunk-5C4ENAQA.js.map} +1 -1
  102. package/dist/{chunk-WIDH6AK6.js → chunk-6JTIZQEJ.js} +4 -4
  103. package/dist/{chunk-WIDH6AK6.js.map → chunk-6JTIZQEJ.js.map} +1 -1
  104. package/dist/{chunk-MVT5AF2A.js → chunk-6T55LXJL.js} +3 -2
  105. package/dist/chunk-6T55LXJL.js.map +1 -0
  106. package/dist/{chunk-TF46NIZF.js → chunk-72I5YXU4.js} +4 -4
  107. package/dist/{chunk-TF46NIZF.js.map → chunk-72I5YXU4.js.map} +1 -1
  108. package/dist/{chunk-TWYTA2SX.js → chunk-7QXWREJU.js} +7 -7
  109. package/dist/{chunk-TWYTA2SX.js.map → chunk-7QXWREJU.js.map} +1 -1
  110. package/dist/{chunk-BMCECPSU.js → chunk-BETGKZUQ.js} +3 -3
  111. package/dist/{chunk-BMCECPSU.js.map → chunk-BETGKZUQ.js.map} +1 -1
  112. package/dist/{chunk-R64ITZ7U.js → chunk-BOB2Z4G7.js} +3 -3
  113. package/dist/{chunk-R64ITZ7U.js.map → chunk-BOB2Z4G7.js.map} +1 -1
  114. package/dist/{chunk-YQOCPSOI.js → chunk-CITCHC3B.js} +4 -4
  115. package/dist/{chunk-YQOCPSOI.js.map → chunk-CITCHC3B.js.map} +1 -1
  116. package/dist/{chunk-VCMGBB5Y.js → chunk-DOV2LE3E.js} +3 -3
  117. package/dist/{chunk-VCMGBB5Y.js.map → chunk-DOV2LE3E.js.map} +1 -1
  118. package/dist/{chunk-2ZESCQRM.js → chunk-DQG7IMT3.js} +3 -3
  119. package/dist/{chunk-2ZESCQRM.js.map → chunk-DQG7IMT3.js.map} +1 -1
  120. package/dist/{chunk-ETC7OJT5.js → chunk-E6SVWI3B.js} +3 -3
  121. package/dist/{chunk-ETC7OJT5.js.map → chunk-E6SVWI3B.js.map} +1 -1
  122. package/dist/{chunk-DHWMC6VU.js → chunk-ELI3F3IS.js} +4 -4
  123. package/dist/{chunk-DHWMC6VU.js.map → chunk-ELI3F3IS.js.map} +1 -1
  124. package/dist/{chunk-FPGR63AQ.js → chunk-EXWAEAB2.js} +3 -3
  125. package/dist/{chunk-FPGR63AQ.js.map → chunk-EXWAEAB2.js.map} +1 -1
  126. package/dist/{chunk-VZRZQV4Q.js → chunk-FR6K5DBJ.js} +3 -3
  127. package/dist/{chunk-VZRZQV4Q.js.map → chunk-FR6K5DBJ.js.map} +1 -1
  128. package/dist/{chunk-NGWHUW34.js → chunk-GEJDHAP5.js} +3 -3
  129. package/dist/{chunk-NGWHUW34.js.map → chunk-GEJDHAP5.js.map} +1 -1
  130. package/dist/{chunk-U2UNWN4G.js → chunk-GIKY54MI.js} +3 -3
  131. package/dist/{chunk-U2UNWN4G.js.map → chunk-GIKY54MI.js.map} +1 -1
  132. package/dist/{chunk-MIAVMNPM.js → chunk-GKXRKR66.js} +5 -5
  133. package/dist/{chunk-MIAVMNPM.js.map → chunk-GKXRKR66.js.map} +1 -1
  134. package/dist/{chunk-NLKLS3GZ.js → chunk-H3JEKVHZ.js} +4 -4
  135. package/dist/{chunk-NLKLS3GZ.js.map → chunk-H3JEKVHZ.js.map} +1 -1
  136. package/dist/{chunk-U5TWRPMK.js → chunk-HAGJ2W6O.js} +7 -7
  137. package/dist/{chunk-U5TWRPMK.js.map → chunk-HAGJ2W6O.js.map} +1 -1
  138. package/dist/{chunk-NR5YIBTS.js → chunk-HMMV7QYC.js} +4 -4
  139. package/dist/{chunk-NR5YIBTS.js.map → chunk-HMMV7QYC.js.map} +1 -1
  140. package/dist/{chunk-ITNUDQVP.js → chunk-JCP3VCNO.js} +10 -10
  141. package/dist/{chunk-ITNUDQVP.js.map → chunk-JCP3VCNO.js.map} +1 -1
  142. package/dist/{chunk-RJKMW36K.js → chunk-JLLDFGGH.js} +7 -7
  143. package/dist/{chunk-RJKMW36K.js.map → chunk-JLLDFGGH.js.map} +1 -1
  144. package/dist/{chunk-XV3HPKLI.js → chunk-JZTNZ6C7.js} +3 -3
  145. package/dist/{chunk-XV3HPKLI.js.map → chunk-JZTNZ6C7.js.map} +1 -1
  146. package/dist/{chunk-LSMKTPIE.js → chunk-LAVMQ7HM.js} +4 -4
  147. package/dist/{chunk-LSMKTPIE.js.map → chunk-LAVMQ7HM.js.map} +1 -1
  148. package/dist/{chunk-5JZSBFA5.js → chunk-LZ6RMZPJ.js} +3 -3
  149. package/dist/{chunk-5JZSBFA5.js.map → chunk-LZ6RMZPJ.js.map} +1 -1
  150. package/dist/{chunk-X4ITNSMT.js → chunk-MDVGYQE6.js} +5 -5
  151. package/dist/{chunk-X4ITNSMT.js.map → chunk-MDVGYQE6.js.map} +1 -1
  152. package/dist/{chunk-N44U2AA7.js → chunk-MS2MOOPH.js} +4 -4
  153. package/dist/{chunk-N44U2AA7.js.map → chunk-MS2MOOPH.js.map} +1 -1
  154. package/dist/{chunk-HRW4YFHR.js → chunk-N7E6KO5Q.js} +3 -3
  155. package/dist/{chunk-HRW4YFHR.js.map → chunk-N7E6KO5Q.js.map} +1 -1
  156. package/dist/{chunk-KKTVDCVO.js → chunk-NFJE6MYZ.js} +3 -3
  157. package/dist/{chunk-KKTVDCVO.js.map → chunk-NFJE6MYZ.js.map} +1 -1
  158. package/dist/{chunk-GBMMP344.js → chunk-NMYYHEPN.js} +15 -15
  159. package/dist/{chunk-GBMMP344.js.map → chunk-NMYYHEPN.js.map} +1 -1
  160. package/dist/{chunk-QIHSKEWU.js → chunk-RDVZCO5A.js} +4 -4
  161. package/dist/{chunk-QIHSKEWU.js.map → chunk-RDVZCO5A.js.map} +1 -1
  162. package/dist/{chunk-KGSB2Y7O.js → chunk-RMV5X6GY.js} +3 -3
  163. package/dist/{chunk-KGSB2Y7O.js.map → chunk-RMV5X6GY.js.map} +1 -1
  164. package/dist/{chunk-GFRJHCRX.js → chunk-SCKSX4IS.js} +4 -4
  165. package/dist/{chunk-GFRJHCRX.js.map → chunk-SCKSX4IS.js.map} +1 -1
  166. package/dist/{chunk-AJM7KUA3.js → chunk-XCSGB37K.js} +4 -4
  167. package/dist/{chunk-AJM7KUA3.js.map → chunk-XCSGB37K.js.map} +1 -1
  168. package/dist/{chunk-DMR3ICV5.js → chunk-Y3G6GQKW.js} +3 -3
  169. package/dist/{chunk-DMR3ICV5.js.map → chunk-Y3G6GQKW.js.map} +1 -1
  170. package/dist/{chunk-52QZKUDU.js → chunk-ZONZSJ5G.js} +5 -5
  171. package/dist/{chunk-52QZKUDU.js.map → chunk-ZONZSJ5G.js.map} +1 -1
  172. package/dist/{chunk-2N6XZZ4W.js → chunk-ZY5XF5ML.js} +3 -3
  173. package/dist/{chunk-2N6XZZ4W.js.map → chunk-ZY5XF5ML.js.map} +1 -1
  174. package/dist/components/cart/index.js +1 -1
  175. package/dist/components/common/index.js +1 -1
  176. package/dist/components/drawer/index.js +13 -13
  177. package/dist/components/home/index.js +18 -18
  178. package/dist/components/layout/index.js +4 -4
  179. package/dist/components/product/index.js +15 -15
  180. package/dist/components/store/index.js +14 -14
  181. package/dist/dev/editor/index.js +1 -1
  182. package/dist/dev/index.js +1 -1
  183. package/dist/{document-class-VHDNGZQK.js → document-class-2BDL463P.js} +11 -11
  184. package/dist/{document-class-VHDNGZQK.js.map → document-class-2BDL463P.js.map} +1 -1
  185. package/dist/hooks/index.js +13 -13
  186. package/dist/hooks/useGtm.js +13 -13
  187. package/dist/hooks/useMoney.js +13 -13
  188. package/dist/hooks/useStore.js +13 -13
  189. package/dist/hooks/useUser.js +3 -3
  190. package/dist/index.js +13 -13
  191. package/dist/{navigation-VW5P7XQM.js → navigation-4DEWYAFD.js} +4 -4
  192. package/dist/{navigation-VW5P7XQM.js.map → navigation-4DEWYAFD.js.map} +1 -1
  193. package/dist/{navigation-C5K5SOU2.js → navigation-TXFKCXSH.js} +5 -5
  194. package/dist/{navigation-C5K5SOU2.js.map → navigation-TXFKCXSH.js.map} +1 -1
  195. package/dist/{not-found-U2LJEYDT.js → not-found-QCVLRYNM.js} +16 -16
  196. package/dist/{not-found-U2LJEYDT.js.map → not-found-QCVLRYNM.js.map} +1 -1
  197. package/dist/providers/index.js +13 -13
  198. package/dist/routes/account/orders.js +4 -4
  199. package/dist/routes/account.js +13 -13
  200. package/dist/routes/blog/loader.d.ts.map +1 -1
  201. package/dist/routes/blog.js +23 -15
  202. package/dist/routes/blog.js.map +1 -1
  203. package/dist/routes/brands.js +4 -4
  204. package/dist/routes/cart.js +22 -22
  205. package/dist/routes/home.js +19 -19
  206. package/dist/routes/index.js +3 -3
  207. package/dist/routes/loyalty.js +5 -5
  208. package/dist/routes/page.js +4 -4
  209. package/dist/routes/product-listing.js +20 -20
  210. package/dist/routes/product.js +18 -18
  211. package/dist/routes/seo-redirects.js +3 -3
  212. package/dist/routes/testimonials.js +2 -2
  213. package/dist/routes/thank-you/ThankYouPage.d.ts +2 -1
  214. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  215. package/dist/routes/thank-you/loader.d.ts +5 -1
  216. package/dist/routes/thank-you/loader.d.ts.map +1 -1
  217. package/dist/routes/thank-you/types.d.ts +23 -1
  218. package/dist/routes/thank-you/types.d.ts.map +1 -1
  219. package/dist/routes/thank-you.js +79 -15
  220. package/dist/routes/thank-you.js.map +1 -1
  221. package/dist/skeleton.js +19 -19
  222. package/dist/{store-lookup-YL4EUIS2.js → store-lookup-6GMQGPVL.js} +8 -8
  223. package/dist/{store-lookup-YL4EUIS2.js.map → store-lookup-6GMQGPVL.js.map} +1 -1
  224. package/dist/tanstack.js +11 -11
  225. package/dist/types/hooks.d.ts +1 -0
  226. package/dist/types/hooks.d.ts.map +1 -1
  227. package/dist/types/hooks.js +1 -1
  228. package/dist/types/index.js +1 -1
  229. package/dist/utils/index.js +2 -2
  230. package/dist/vite/index.js +1 -0
  231. package/dist/vite/index.js.map +1 -1
  232. package/dist/vite/plugins/best-practices/hooks-registry.d.ts.map +1 -1
  233. package/package.json +1 -1
  234. package/tailwind/routes/blog/loader.ts.txt +26 -8
  235. package/tailwind/routes/thank-you/ThankYouPage.tsx.txt +124 -209
  236. package/tailwind/routes/thank-you/index.tsx.txt +1 -1
  237. package/tailwind/routes/thank-you/loader.ts.txt +112 -14
  238. package/tailwind/routes/thank-you/types.ts.txt +24 -1
  239. package/dist/ThankYouPage-SYMPRWCS.js +0 -267
  240. package/dist/ThankYouPage-SYMPRWCS.js.map +0 -1
  241. package/dist/chunk-MVT5AF2A.js.map +0 -1
@@ -1,33 +1,33 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-52QZKUDU.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-ZONZSJ5G.js';
2
2
  import '../chunk-IXHM24Z4.js';
3
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-HJGN3XVG.js';
4
- import '../chunk-7NTPNCIK.js';
5
- import '../chunk-WIDH6AK6.js';
6
- import '../chunk-MIAVMNPM.js';
7
- import '../chunk-NLKLS3GZ.js';
3
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-3D4UXOBU.js';
4
+ import '../chunk-4FUBEE6Q.js';
5
+ import '../chunk-6JTIZQEJ.js';
6
+ import '../chunk-GKXRKR66.js';
7
+ import '../chunk-H3JEKVHZ.js';
8
8
  import '../chunk-Y32RHCOH.js';
9
- import '../chunk-GBMMP344.js';
9
+ import '../chunk-NMYYHEPN.js';
10
10
  import '../chunk-Q77J3D2W.js';
11
- import '../chunk-U5TWRPMK.js';
12
- import '../chunk-YYVZFOUI.js';
11
+ import '../chunk-HAGJ2W6O.js';
12
+ import '../chunk-3XRZEYOO.js';
13
13
  import '../chunk-5V4W3GBI.js';
14
14
  import '../chunk-X55R4VVK.js';
15
15
  import '../chunk-YL6X3ZMG.js';
16
- import '../chunk-PCB5DCS4.js';
16
+ import '../chunk-5C4ENAQA.js';
17
17
  import '../chunk-OXMUPNMH.js';
18
- import '../chunk-NGWHUW34.js';
18
+ import '../chunk-GEJDHAP5.js';
19
19
  import '../chunk-VVZNW5CB.js';
20
20
  import '../chunk-EGI7F57E.js';
21
21
  import '../chunk-GD26FI4J.js';
22
22
  import '../chunk-SLBO4SEE.js';
23
23
  import '../chunk-MGG4XAJ5.js';
24
- import '../chunk-HRW4YFHR.js';
24
+ import '../chunk-N7E6KO5Q.js';
25
25
  import '../chunk-OUW6WESU.js';
26
26
  import '../chunk-IHOUADLX.js';
27
27
  import '../chunk-HI5V5X3S.js';
28
- import '../chunk-XV3HPKLI.js';
29
- import '../chunk-5JZSBFA5.js';
30
- import '../chunk-MVT5AF2A.js';
28
+ import '../chunk-JZTNZ6C7.js';
29
+ import '../chunk-LZ6RMZPJ.js';
30
+ import '../chunk-6T55LXJL.js';
31
31
  import '../chunk-Z653O7MX.js';
32
32
  import '../chunk-ZCH7W7DZ.js';
33
33
  import '../chunk-H7LRGY7U.js';
@@ -37,16 +37,16 @@ import '../chunk-7V36I5GT.js';
37
37
  import '../chunk-6WI7R2BD.js';
38
38
  import '../chunk-M5WTY3EH.js';
39
39
  import '../chunk-OAMIDZKW.js';
40
- import '../chunk-KGSB2Y7O.js';
40
+ import '../chunk-RMV5X6GY.js';
41
41
  import '../chunk-OQIIJRAS.js';
42
42
  import '../chunk-V2ZDTY6H.js';
43
- import '../chunk-ETC7OJT5.js';
43
+ import '../chunk-E6SVWI3B.js';
44
44
  import '../chunk-5XDPAKF5.js';
45
45
  import '../chunk-GCPEMNSU.js';
46
- import '../chunk-U2UNWN4G.js';
46
+ import '../chunk-GIKY54MI.js';
47
47
  import '../chunk-Z5M4YYWT.js';
48
48
  import '../chunk-TYNZ5B2B.js';
49
- import '../chunk-VZRZQV4Q.js';
49
+ import '../chunk-FR6K5DBJ.js';
50
50
  import '../chunk-AXW67SY7.js';
51
51
  import '../chunk-BYMOPN2S.js';
52
52
  import '../chunk-SKLEJJ6M.js';
@@ -1,7 +1,7 @@
1
- export { slugBrandRedirectLoader } from '../chunk-2N6XZZ4W.js';
2
- import '../chunk-HRW4YFHR.js';
1
+ export { slugBrandRedirectLoader } from '../chunk-ZY5XF5ML.js';
2
+ import '../chunk-N7E6KO5Q.js';
3
3
  import '../chunk-OUW6WESU.js';
4
- import '../chunk-U2UNWN4G.js';
4
+ import '../chunk-GIKY54MI.js';
5
5
  import '../chunk-Z5M4YYWT.js';
6
6
  import '../chunk-TYNZ5B2B.js';
7
7
  import '../chunk-6TFM3UTF.js';
@@ -1,8 +1,8 @@
1
- import { loyalty } from '../chunk-OLL5OGQ5.js';
1
+ import { loyalty } from '../chunk-25LQB2XQ.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import { unauthorized, orUnauthorized, redirect } from '../chunk-HRW4YFHR.js';
3
+ import { unauthorized, orUnauthorized, redirect } from '../chunk-N7E6KO5Q.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import { getAuthToken } from '../chunk-U2UNWN4G.js';
5
+ import { getAuthToken } from '../chunk-GIKY54MI.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.js';
@@ -59,10 +59,10 @@ async function loyaltyPointsLoader(locale) {
59
59
 
60
60
  // src/routes/loyalty/index.tsx
61
61
  var LazyLoyaltyPage = lazyComponent(
62
- () => import('../LoyaltyPage-ZM3FDTV3.js').then((m) => ({ default: m.LoyaltyPage }))
62
+ () => import('../LoyaltyPage-V6UL2JG3.js').then((m) => ({ default: m.LoyaltyPage }))
63
63
  );
64
64
  var LazyLoyaltyPointsPage = lazyComponent(
65
- () => import('../LoyaltyPointsPage-QQIKIBTH.js').then((m) => ({ default: m.LoyaltyPointsPage }))
65
+ () => import('../LoyaltyPointsPage-DSUGI2WQ.js').then((m) => ({ default: m.LoyaltyPointsPage }))
66
66
  );
67
67
  var LoyaltyPage = LazyLoyaltyPage;
68
68
  var LoyaltyPointsPage = LazyLoyaltyPointsPage;
@@ -1,8 +1,8 @@
1
- import { page } from '../chunk-YQOCPSOI.js';
1
+ import { page } from '../chunk-CITCHC3B.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import '../chunk-HRW4YFHR.js';
3
+ import '../chunk-N7E6KO5Q.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-U2UNWN4G.js';
5
+ import '../chunk-GIKY54MI.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.js';
@@ -31,7 +31,7 @@ async function pageSingleLoader({ params }) {
31
31
 
32
32
  // src/routes/page/index.tsx
33
33
  var LazyPageSingle = lazyComponent(
34
- () => import('../PageSingle-WLIXOODC.js').then((m) => ({ default: m.PageSingle }))
34
+ () => import('../PageSingle-UN5NXZ6G.js').then((m) => ({ default: m.PageSingle }))
35
35
  );
36
36
  var PageSingleLazy = LazyPageSingle;
37
37
  async function loader(ctx, extend) {
@@ -1,35 +1,35 @@
1
1
  import { SORT_IDS, availableSortIds, sortOptions } from '../chunk-3LZJXKVO.js';
2
- import { category } from '../chunk-DHWMC6VU.js';
3
- import { brand } from '../chunk-LSMKTPIE.js';
4
- import { useReorderButtons, LazyTestimonials } from '../chunk-HJGN3XVG.js';
5
- import '../chunk-7NTPNCIK.js';
6
- import { product, parseNextPageToken } from '../chunk-WIDH6AK6.js';
2
+ import { category } from '../chunk-ELI3F3IS.js';
3
+ import { brand } from '../chunk-LAVMQ7HM.js';
4
+ import { useReorderButtons, LazyTestimonials } from '../chunk-3D4UXOBU.js';
5
+ import '../chunk-4FUBEE6Q.js';
6
+ import { product, parseNextPageToken } from '../chunk-6JTIZQEJ.js';
7
7
  import { Drawer } from '../chunk-6TKIUG5C.js';
8
- import '../chunk-MIAVMNPM.js';
9
- import { ProductCard } from '../chunk-NLKLS3GZ.js';
8
+ import '../chunk-GKXRKR66.js';
9
+ import { ProductCard } from '../chunk-H3JEKVHZ.js';
10
10
  import { registry, COMPONENT_KEYS } from '../chunk-Y32RHCOH.js';
11
- import { useStore } from '../chunk-GBMMP344.js';
11
+ import { useStore } from '../chunk-NMYYHEPN.js';
12
12
  import '../chunk-Q77J3D2W.js';
13
- import '../chunk-U5TWRPMK.js';
14
- import '../chunk-YYVZFOUI.js';
13
+ import '../chunk-HAGJ2W6O.js';
14
+ import '../chunk-3XRZEYOO.js';
15
15
  import '../chunk-5V4W3GBI.js';
16
16
  import '../chunk-X55R4VVK.js';
17
17
  import '../chunk-YL6X3ZMG.js';
18
- import '../chunk-PCB5DCS4.js';
18
+ import '../chunk-5C4ENAQA.js';
19
19
  import '../chunk-OXMUPNMH.js';
20
- import '../chunk-NGWHUW34.js';
20
+ import '../chunk-GEJDHAP5.js';
21
21
  import '../chunk-VVZNW5CB.js';
22
22
  import '../chunk-EGI7F57E.js';
23
23
  import '../chunk-GD26FI4J.js';
24
24
  import '../chunk-SLBO4SEE.js';
25
25
  import { buildHreflangAlternates, storePageUrl } from '../chunk-MGG4XAJ5.js';
26
- import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-HRW4YFHR.js';
26
+ import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-N7E6KO5Q.js';
27
27
  import { RouteId } from '../chunk-OUW6WESU.js';
28
28
  import '../chunk-IHOUADLX.js';
29
29
  import '../chunk-HI5V5X3S.js';
30
- import '../chunk-XV3HPKLI.js';
31
- import '../chunk-5JZSBFA5.js';
32
- import '../chunk-MVT5AF2A.js';
30
+ import '../chunk-JZTNZ6C7.js';
31
+ import '../chunk-LZ6RMZPJ.js';
32
+ import '../chunk-6T55LXJL.js';
33
33
  import '../chunk-Z653O7MX.js';
34
34
  import '../chunk-ZCH7W7DZ.js';
35
35
  import '../chunk-H7LRGY7U.js';
@@ -39,16 +39,16 @@ import '../chunk-7V36I5GT.js';
39
39
  import '../chunk-6WI7R2BD.js';
40
40
  import '../chunk-M5WTY3EH.js';
41
41
  import '../chunk-OAMIDZKW.js';
42
- import '../chunk-KGSB2Y7O.js';
42
+ import '../chunk-RMV5X6GY.js';
43
43
  import '../chunk-OQIIJRAS.js';
44
44
  import '../chunk-V2ZDTY6H.js';
45
- import '../chunk-ETC7OJT5.js';
45
+ import '../chunk-E6SVWI3B.js';
46
46
  import { HookSlot } from '../chunk-5XDPAKF5.js';
47
47
  import '../chunk-GCPEMNSU.js';
48
- import { getAuthToken } from '../chunk-U2UNWN4G.js';
48
+ import { getAuthToken } from '../chunk-GIKY54MI.js';
49
49
  import '../chunk-Z5M4YYWT.js';
50
50
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
51
- import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-VZRZQV4Q.js';
51
+ import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-FR6K5DBJ.js';
52
52
  import '../chunk-AXW67SY7.js';
53
53
  import '../chunk-BYMOPN2S.js';
54
54
  import '../chunk-SKLEJJ6M.js';
@@ -1,31 +1,31 @@
1
- import { ProductsSlider, LazyTestimonials } from '../chunk-HJGN3XVG.js';
2
- import '../chunk-7NTPNCIK.js';
3
- import { product } from '../chunk-WIDH6AK6.js';
4
- import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-MIAVMNPM.js';
5
- import '../chunk-NLKLS3GZ.js';
1
+ import { ProductsSlider, LazyTestimonials } from '../chunk-3D4UXOBU.js';
2
+ import '../chunk-4FUBEE6Q.js';
3
+ import { product } from '../chunk-6JTIZQEJ.js';
4
+ import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-GKXRKR66.js';
5
+ import '../chunk-H3JEKVHZ.js';
6
6
  import '../chunk-Y32RHCOH.js';
7
- import { fastCheckoutScript } from '../chunk-GBMMP344.js';
7
+ import { fastCheckoutScript } from '../chunk-NMYYHEPN.js';
8
8
  import '../chunk-Q77J3D2W.js';
9
- import '../chunk-U5TWRPMK.js';
10
- import '../chunk-YYVZFOUI.js';
9
+ import '../chunk-HAGJ2W6O.js';
10
+ import '../chunk-3XRZEYOO.js';
11
11
  import '../chunk-5V4W3GBI.js';
12
12
  import '../chunk-X55R4VVK.js';
13
13
  import '../chunk-YL6X3ZMG.js';
14
- import '../chunk-PCB5DCS4.js';
14
+ import '../chunk-5C4ENAQA.js';
15
15
  import '../chunk-OXMUPNMH.js';
16
- import '../chunk-NGWHUW34.js';
16
+ import '../chunk-GEJDHAP5.js';
17
17
  import '../chunk-VVZNW5CB.js';
18
18
  import '../chunk-EGI7F57E.js';
19
19
  import '../chunk-GD26FI4J.js';
20
20
  import '../chunk-SLBO4SEE.js';
21
21
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
22
- import '../chunk-HRW4YFHR.js';
22
+ import '../chunk-N7E6KO5Q.js';
23
23
  import { RouteId } from '../chunk-OUW6WESU.js';
24
24
  import { useComments } from '../chunk-IHOUADLX.js';
25
25
  import '../chunk-HI5V5X3S.js';
26
- import '../chunk-XV3HPKLI.js';
27
- import '../chunk-5JZSBFA5.js';
28
- import '../chunk-MVT5AF2A.js';
26
+ import '../chunk-JZTNZ6C7.js';
27
+ import '../chunk-LZ6RMZPJ.js';
28
+ import '../chunk-6T55LXJL.js';
29
29
  import '../chunk-Z653O7MX.js';
30
30
  import '../chunk-ZCH7W7DZ.js';
31
31
  import { useProduct } from '../chunk-H7LRGY7U.js';
@@ -35,16 +35,16 @@ import '../chunk-7V36I5GT.js';
35
35
  import '../chunk-6WI7R2BD.js';
36
36
  import '../chunk-M5WTY3EH.js';
37
37
  import '../chunk-OAMIDZKW.js';
38
- import '../chunk-KGSB2Y7O.js';
38
+ import '../chunk-RMV5X6GY.js';
39
39
  import '../chunk-OQIIJRAS.js';
40
40
  import '../chunk-V2ZDTY6H.js';
41
- import '../chunk-ETC7OJT5.js';
41
+ import '../chunk-E6SVWI3B.js';
42
42
  import { HookSlot } from '../chunk-5XDPAKF5.js';
43
43
  import '../chunk-GCPEMNSU.js';
44
- import { getActiveCurrency } from '../chunk-U2UNWN4G.js';
44
+ import { getActiveCurrency } from '../chunk-GIKY54MI.js';
45
45
  import '../chunk-Z5M4YYWT.js';
46
46
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
47
- import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-VZRZQV4Q.js';
47
+ import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-FR6K5DBJ.js';
48
48
  import '../chunk-AXW67SY7.js';
49
49
  import '../chunk-BYMOPN2S.js';
50
50
  import '../chunk-SKLEJJ6M.js';
@@ -1,7 +1,7 @@
1
- export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-2N6XZZ4W.js';
2
- import '../chunk-HRW4YFHR.js';
1
+ export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-ZY5XF5ML.js';
2
+ import '../chunk-N7E6KO5Q.js';
3
3
  import '../chunk-OUW6WESU.js';
4
- import '../chunk-U2UNWN4G.js';
4
+ import '../chunk-GIKY54MI.js';
5
5
  import '../chunk-Z5M4YYWT.js';
6
6
  import '../chunk-6TFM3UTF.js';
7
7
  import '../chunk-XMRNYUQY.js';
@@ -33,10 +33,10 @@ async function reviewsLoader() {
33
33
 
34
34
  // src/routes/testimonials/index.tsx
35
35
  var LazyTestimonialsPage = lazyComponent(
36
- () => import('../TestimonialsPage-ZDALOH2L.js').then((m) => ({ default: m.TestimonialsPage }))
36
+ () => import('../TestimonialsPage-BVJKGYKY.js').then((m) => ({ default: m.TestimonialsPage }))
37
37
  );
38
38
  var LazyReviewsPage = lazyComponent(
39
- () => import('../ReviewsPage-RWNFVHWR.js').then((m) => ({ default: m.ReviewsPage }))
39
+ () => import('../ReviewsPage-F6LUX4JH.js').then((m) => ({ default: m.ReviewsPage }))
40
40
  );
41
41
  var TestimonialsPage = LazyTestimonialsPage;
42
42
  var ReviewsPage = LazyReviewsPage;
@@ -1,3 +1,4 @@
1
1
  import type { ThankYouPageProps } from './types';
2
- export declare function ThankYouPage({ page, order, thank_you_title, messages, }: ThankYouPageProps): import("react").JSX.Element;
2
+ /** The order confirmation page, built like Twig Raed's from the Twilight thank-you components. */
3
+ export declare function ThankYouPage({ page, order, thank_you_title, messages, instructions, items, is_pickable, created_at, loyalty_points, loyalty_url, cashback, wallet_url, }: ThankYouPageProps): import("react").JSX.Element;
3
4
  //# sourceMappingURL=ThankYouPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThankYouPage.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/ThankYouPage.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQjD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,KAAK,EACL,eAAe,EACf,QAAyB,GAC1B,EAAE,iBAAiB,+BA4NnB"}
1
+ {"version":3,"file":"ThankYouPage.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/ThankYouPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQjD,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,KAAK,EACL,eAAe,EACf,QAAyB,EACzB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAkB,EAClB,WAAW,EACX,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB,+BAmInB"}
@@ -1,5 +1,9 @@
1
1
  import type { ThankYouPageProps, ThankYouLoaderParams } from './types';
2
- export declare function thankYouLoader({ params, }: {
2
+ import type { Order } from '../account/types';
3
+ /** `2026-11-03 14:00:42.000000` in `Asia/Riyadh` -> `2026-11-03T14:00:42+03:00`. */
4
+ export declare function orderCreatedAtIso(createdAt?: Order['created_at']): string | undefined;
5
+ export declare function thankYouLoader({ params, locale, }: {
3
6
  params: ThankYouLoaderParams;
7
+ locale?: string;
4
8
  }): Promise<ThankYouPageProps>;
5
9
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMvE,wBAAsB,cAAc,CAAC,EACnC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6B7B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAoB,MAAM,SAAS,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAsC9C,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,SAAS,CAiBrF;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,MAAM,GACP,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwE7B"}
@@ -1,8 +1,17 @@
1
- import type { Page } from '../../types';
1
+ import type { Money, Page } from '../../types';
2
2
  import type { Order } from '../account/types';
3
3
  export interface ThankYouLoaderParams {
4
4
  orderId: string;
5
5
  }
6
+ /** An order line in the shape the thank-you web components read. */
7
+ export interface ThankYouLineItem {
8
+ id?: number;
9
+ name: string;
10
+ image?: string;
11
+ quantity: number;
12
+ price?: Money;
13
+ url?: string;
14
+ }
6
15
  export interface ThankYouPageProps {
7
16
  page: Page;
8
17
  /** Absent when the authenticated `orders/{id}` fetch fails (e.g. guest checkout / no token). */
@@ -11,5 +20,18 @@ export interface ThankYouPageProps {
11
20
  share_message?: string;
12
21
  short_share_message?: string;
13
22
  messages?: string[];
23
+ /** The merchant's message for the order's status (HTML). */
24
+ instructions?: string;
25
+ items?: ThankYouLineItem[];
26
+ /** Pickup orders show the branch card instead of the shipments card. */
27
+ is_pickable?: boolean;
28
+ /** Order time as ISO 8601 with the store's offset. */
29
+ created_at?: string;
30
+ /** Loyalty points this order earns; 0 when the store has no loyalty program. */
31
+ loyalty_points?: number;
32
+ loyalty_url?: string;
33
+ /** Cashback already credited to the customer's wallet for this order. */
34
+ cashback?: Money;
35
+ wallet_url?: string;
14
36
  }
15
37
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,gGAAgG;IAChG,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,gGAAgG;IAChG,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,8 +1,8 @@
1
- import { order } from '../chunk-N44U2AA7.js';
2
- import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import '../chunk-HRW4YFHR.js';
1
+ import { order } from '../chunk-MS2MOOPH.js';
2
+ import { buildHreflangAlternates, storePageUrl } from '../chunk-MGG4XAJ5.js';
3
+ import '../chunk-N7E6KO5Q.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-U2UNWN4G.js';
5
+ import { getAuthToken, api } from '../chunk-GIKY54MI.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.js';
@@ -14,17 +14,75 @@ import { lazyComponent } from '../chunk-VYGA5AT5.js';
14
14
  import '../chunk-DGUM43GV.js';
15
15
 
16
16
  // src/routes/thank-you/loader.ts
17
+ var INSTRUCTION_BY_STATUS = {
18
+ payment_pending: "order_instructions_payment_waiting",
19
+ under_review: "order_instructions_under_review",
20
+ completed: "order_instructions_completed"
21
+ };
22
+ async function orderLoyaltyPoints() {
23
+ const response = await api.get("balance/points").json();
24
+ return response.data ?? [];
25
+ }
26
+ async function walletTransactions() {
27
+ const response = await api.get("balance/wallet?page=1&per_page=20").json();
28
+ const transactions = response.data?.transactions;
29
+ return Array.isArray(transactions) ? transactions : transactions?.data ?? [];
30
+ }
31
+ function offsetMinutes(timeZone, at) {
32
+ const name = new Intl.DateTimeFormat("en-US", { timeZone, timeZoneName: "longOffset" }).formatToParts(at).find((part) => part.type === "timeZoneName")?.value;
33
+ const [, sign, hours, minutes] = name?.match(/([+-])(\d{2}):(\d{2})/) ?? [];
34
+ return sign ? (sign === "-" ? -1 : 1) * (Number(hours) * 60 + Number(minutes)) : 0;
35
+ }
36
+ function orderCreatedAtIso(createdAt) {
37
+ if (!createdAt?.date) return void 0;
38
+ const [day, time = "00:00:00"] = createdAt.date.split(" ");
39
+ const local = `${day}T${time.slice(0, 8)}`;
40
+ try {
41
+ const asUtc = Date.parse(`${local}Z`);
42
+ const offset = offsetMinutes(
43
+ createdAt.timezone,
44
+ asUtc - offsetMinutes(createdAt.timezone, asUtc) * 6e4
45
+ );
46
+ const abs = Math.abs(offset);
47
+ const hhmm = `${String(Math.floor(abs / 60)).padStart(2, "0")}:${String(abs % 60).padStart(2, "0")}`;
48
+ return `${local}${offset < 0 ? "-" : "+"}${hhmm}`;
49
+ } catch {
50
+ return local;
51
+ }
52
+ }
17
53
  async function thankYouLoader({
18
- params
54
+ params,
55
+ locale
19
56
  }) {
20
57
  const orderId = params.orderId;
21
- const [orderResult, thankYouResult] = await Promise.allSettled([
58
+ const { i18n, settings } = getTwilightContext();
59
+ const store = settings?.store;
60
+ const signedIn = !!getAuthToken();
61
+ const loyaltyEnabled = signedIn && !!store?.features?.includes("loyalty-system");
62
+ const [orderResult, componentsResult, pointsResult, walletResult] = await Promise.allSettled([
22
63
  order.find(orderId),
23
- order.thankYou(orderId)
64
+ order.findForComponents(orderId),
65
+ loyaltyEnabled ? orderLoyaltyPoints() : Promise.resolve([]),
66
+ signedIn ? walletTransactions() : Promise.resolve([])
24
67
  ]);
25
68
  const orderData = orderResult.status === "fulfilled" ? orderResult.value.order : void 0;
26
- const thankYouData = thankYouResult.status === "fulfilled" ? thankYouResult.value : void 0;
27
- const i18n = getTwilightContext().i18n;
69
+ const componentsOrder = componentsResult.status === "fulfilled" ? componentsResult.value : void 0;
70
+ const isThisOrder = (id) => !!orderData && Number(id) === Number(orderData.reference_id);
71
+ const loyaltyPoints = pointsResult.status === "fulfilled" ? pointsResult.value.find(
72
+ (entry) => entry.key === "BUY_FROM_STORE" && isThisOrder(entry.order_id)
73
+ )?.amount ?? 0 : 0;
74
+ const cashbackAmount = walletResult.status === "fulfilled" ? walletResult.value.filter((entry) => entry.action_type === "cashback" && isThisOrder(entry.order_id)).reduce((sum, entry) => sum + Number(entry.amount), 0) : 0;
75
+ const items = orderData?.items.map((item, index) => ({
76
+ id: item.id,
77
+ name: item.name,
78
+ image: item.thumbnail ?? item.product_thumbnail ?? item.image,
79
+ quantity: item.quantity,
80
+ price: item.amounts.amount,
81
+ url: componentsOrder?.items[index]?.product?.url
82
+ }));
83
+ const instructionKey = orderData ? INSTRUCTION_BY_STATUS[orderData.status?.slug ?? ""] : void 0;
84
+ const instruction = instructionKey ? store?.order_instruction?.[instructionKey] : void 0;
85
+ const storeUrl = (path) => storePageUrl(settings, locale ? `/${locale}${path}` : path);
28
86
  return {
29
87
  page: {
30
88
  slug: RouteId.THANK_YOU,
@@ -32,20 +90,26 @@ async function thankYouLoader({
32
90
  title: i18n.t("common.titles.thank_you") || "Thank You"
33
91
  },
34
92
  order: orderData,
35
- thank_you_title: thankYouData?.thank_you_title,
36
- messages: thankYouData?.messages ?? [],
37
- share_message: thankYouData?.share_message,
38
- short_share_message: thankYouData?.short_share_message
93
+ thank_you_title: store?.order_instruction?.thank_title || void 0,
94
+ messages: [],
95
+ instructions: instruction || void 0,
96
+ items,
97
+ is_pickable: !!componentsOrder?.is_pickable,
98
+ created_at: orderCreatedAtIso(orderData?.created_at),
99
+ loyalty_points: loyaltyPoints,
100
+ loyalty_url: storeUrl("/loyalty"),
101
+ cashback: cashbackAmount > 0 && orderData ? { amount: cashbackAmount, currency: orderData.currency } : void 0,
102
+ wallet_url: storeUrl("/wallet")
39
103
  };
40
104
  }
41
105
 
42
106
  // src/routes/thank-you/index.tsx
43
107
  var LazyThankYouPage = lazyComponent(
44
- () => import('../ThankYouPage-SYMPRWCS.js').then((m) => ({ default: m.ThankYouPage }))
108
+ () => import('../ThankYouPage-4AF4JSSN.js').then((m) => ({ default: m.ThankYouPage }))
45
109
  );
46
110
  var ThankYouPage = LazyThankYouPage;
47
111
  async function loader(ctx, extend) {
48
- const data = await thankYouLoader({ params: ctx.params });
112
+ const data = await thankYouLoader({ params: ctx.params, locale: ctx.locale });
49
113
  if (extend) {
50
114
  const extra = await extend(data, ctx);
51
115
  return { ...data, ...extra };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/routes/thank-you/loader.ts","../../src/routes/thank-you/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,eAAsB,cAAA,CAAe;AAAA,EACnC;AACF,CAAA,EAE+B;AAC7B,EAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AAMvB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,MAAM,QAAQ,UAAA,CAAW;AAAA,IAC7D,KAAA,CAAM,KAAK,OAAO,CAAA;AAAA,IAClB,KAAA,CAAM,SAAS,OAAO;AAAA,GACvB,CAAA;AAED,EAAA,MAAM,YACJ,WAAA,CAAY,MAAA,KAAW,WAAA,GAAc,WAAA,CAAY,MAAM,KAAA,GAAQ,MAAA;AACjE,EAAA,MAAM,YAAA,GAAe,cAAA,CAAe,MAAA,KAAW,WAAA,GAAc,eAAe,KAAA,GAAQ,MAAA;AAEpF,EAAA,MAAM,IAAA,GAAO,oBAAmB,CAAE,IAAA;AAClC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,MAAM,OAAA,CAAQ,SAAA;AAAA,MACd,EAAA,EAAI,SAAA,GAAY,MAAA,CAAO,SAAA,CAAU,EAAE,CAAA,GAAI,OAAA;AAAA,MACvC,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,yBAAyB,CAAA,IAAK;AAAA,KAC9C;AAAA,IACA,KAAA,EAAO,SAAA;AAAA,IACP,iBAAiB,YAAA,EAAc,eAAA;AAAA,IAC/B,QAAA,EAAU,YAAA,EAAc,QAAA,IAAY,EAAC;AAAA,IACrC,eAAe,YAAA,EAAc,aAAA;AAAA,IAC7B,qBAAqB,YAAA,EAAc;AAAA,GACrC;AACF;;;AC7BA,IAAM,gBAAA,GAAmB,aAAA;AAAA,EAAc,MACrC,OAAO,6BAAgB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,YAAA,EAAa,CAAE;AACpE,CAAA;AAEO,IAAM,YAAA,GAAe;AAI5B,eAAe,MAAA,CACb,KACA,MAAA,EAI4B;AAC5B,EAAA,MAAM,OAAO,MAAM,cAAA,CAAe,EAAE,MAAA,EAAQ,GAAA,CAAI,QAAQ,CAAA;AAExD,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,GAAG,CAAA;AACpC,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,IAAA,CAAK,KAAsB,IAAA,EAAyC;AAC3E,EAAA,MAAM,IAAA,GAAuB;AAAA,IAC3B,KAAA,EAAO,KAAK,IAAA,CAAK,KAAA;AAAA,IACjB,WAAA,EAAa,KAAK,IAAA,CAAK,WAAA;AAAA,IACvB,oBAAoB,uBAAA,CAAwB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,SAAS,QAAQ;AAAA,GACjF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,IAAI,OAAA,CAAQ,SAAA;AAAA,EACZ,MAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA,EAAW;AACb","file":"thank-you.js","sourcesContent":["import type { ThankYouPageProps, ThankYouLoaderParams } from './types';\nimport type { Order } from '../account/types';\nimport { order } from '../../api/order';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport async function thankYouLoader({\n params,\n}: {\n params: ThankYouLoaderParams;\n}): Promise<ThankYouPageProps> {\n const orderId = params.orderId;\n\n // orders/{id} needs a customer token that guest checkout / tokenless SSR lacks (400\n // token_not_provided). Don't let that 500 the page — render whatever resolves.\n // ponytail: guest order detail needs checkout/thank-you to return the order; source it\n // here once that payload is confirmed on a correctly store-bound worker.\n const [orderResult, thankYouResult] = await Promise.allSettled([\n order.find(orderId),\n order.thankYou(orderId),\n ]);\n\n const orderData: Order | undefined =\n orderResult.status === 'fulfilled' ? orderResult.value.order : undefined;\n const thankYouData = thankYouResult.status === 'fulfilled' ? thankYouResult.value : undefined;\n\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n slug: RouteId.THANK_YOU,\n id: orderData ? String(orderData.id) : orderId,\n title: i18n.t('common.titles.thank_you') || 'Thank You',\n },\n order: orderData,\n thank_you_title: thankYouData?.thank_you_title,\n messages: thankYouData?.messages ?? [],\n share_message: thankYouData?.share_message,\n short_share_message: thankYouData?.short_share_message,\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\n\nimport { thankYouLoader } from './loader';\nimport type { ThankYouPageProps, ThankYouLoaderParams } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { lazyComponent } from '../../utils/lazy-component';\n\n// Lazy-load component for code-splitting\nconst LazyThankYouPage = lazyComponent(() =>\n import('./ThankYouPage').then((m) => ({ default: m.ThankYouPage }))\n);\n\nexport const ThankYouPage = LazyThankYouPage;\nexport { thankYouLoader } from './loader';\nexport type { ThankYouLoaderParams, ThankYouPageProps } from './types';\n\nasync function loader(\n ctx: { params: ThankYouLoaderParams; locale?: string },\n extend?: (\n data: ThankYouPageProps,\n ctx: { params: ThankYouLoaderParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<ThankYouPageProps> {\n const data = await thankYouLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as ThankYouPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: ThankYouPageProps): 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 ThankYou = {\n id: RouteId.THANK_YOU,\n loader,\n head,\n Component: LazyThankYouPage,\n} as const;\n"]}
1
+ {"version":3,"sources":["../../src/routes/thank-you/loader.ts","../../src/routes/thank-you/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,IAAM,qBAAA,GAAqE;AAAA,EACzE,eAAA,EAAiB,oCAAA;AAAA,EACjB,YAAA,EAAc,iCAAA;AAAA,EACd,SAAA,EAAW;AACb,CAAA;AAEA,eAAe,kBAAA,GAA4D;AACzE,EAAA,MAAM,WAAW,MAAM,GAAA,CAAI,GAAA,CAAI,gBAAgB,EAAE,IAAA,EAA2B;AAC5E,EAAA,OAAO,QAAA,CAAS,QAAQ,EAAC;AAC3B;AAGA,eAAe,kBAAA,GAAiD;AAC9D,EAAA,MAAM,WAAW,MAAM,GAAA,CACpB,GAAA,CAAI,mCAAmC,EACvC,IAAA,EAAqF;AACxF,EAAA,MAAM,YAAA,GAAe,SAAS,IAAA,EAAM,YAAA;AACpC,EAAA,OAAO,MAAM,OAAA,CAAQ,YAAY,IAAI,YAAA,GAAgB,YAAA,EAAc,QAAQ,EAAC;AAC9E;AAEA,SAAS,aAAA,CAAc,UAAkB,EAAA,EAAoB;AAC3D,EAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,cAAA,CAAe,SAAS,EAAE,QAAA,EAAU,cAAc,YAAA,EAAc,EACnF,aAAA,CAAc,EAAE,EAChB,IAAA,CAAK,CAAC,SAAS,IAAA,CAAK,IAAA,KAAS,cAAc,CAAA,EAAG,KAAA;AACjD,EAAA,MAAM,GAAG,IAAA,EAAM,KAAA,EAAO,OAAO,IAAI,IAAA,EAAM,KAAA,CAAM,uBAAuB,CAAA,IAAK,EAAC;AAC1E,EAAA,OAAO,IAAA,GAAA,CAAQ,IAAA,KAAS,GAAA,GAAM,EAAA,GAAK,CAAA,KAAM,MAAA,CAAO,KAAK,CAAA,GAAI,EAAA,GAAK,MAAA,CAAO,OAAO,CAAA,CAAA,GAAK,CAAA;AACnF;AAGO,SAAS,kBAAkB,SAAA,EAAqD;AACrF,EAAA,IAAI,CAAC,SAAA,EAAW,IAAA,EAAM,OAAO,MAAA;AAC7B,EAAA,MAAM,CAAC,KAAK,IAAA,GAAO,UAAU,IAAI,SAAA,CAAU,IAAA,CAAK,MAAM,GAAG,CAAA;AACzD,EAAA,MAAM,KAAA,GAAQ,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,KAAA,CAAM,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA;AACxC,EAAA,IAAI;AACF,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAA;AAEpC,IAAA,MAAM,MAAA,GAAS,aAAA;AAAA,MACb,SAAA,CAAU,QAAA;AAAA,MACV,KAAA,GAAQ,aAAA,CAAc,SAAA,CAAU,QAAA,EAAU,KAAK,CAAA,GAAI;AAAA,KACrD;AACA,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,MAAM,CAAA;AAC3B,IAAA,MAAM,IAAA,GAAO,GAAG,MAAA,CAAO,IAAA,CAAK,MAAM,GAAA,GAAM,EAAE,CAAC,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG,CAAC,IAAI,MAAA,CAAO,GAAA,GAAM,EAAE,CAAA,CAAE,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAClG,IAAA,OAAO,CAAA,EAAG,KAAK,CAAA,EAAG,MAAA,GAAS,IAAI,GAAA,GAAM,GAAG,GAAG,IAAI,CAAA,CAAA;AAAA,EACjD,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAEA,eAAsB,cAAA,CAAe;AAAA,EACnC,MAAA;AAAA,EACA;AACF,CAAA,EAG+B;AAC7B,EAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,kBAAA,EAAmB;AAC9C,EAAA,MAAM,QAAQ,QAAA,EAAU,KAAA;AACxB,EAAA,MAAM,QAAA,GAAW,CAAC,CAAC,YAAA,EAAa;AAChC,EAAA,MAAM,iBAAiB,QAAA,IAAY,CAAC,CAAC,KAAA,EAAO,QAAA,EAAU,SAAS,gBAAgB,CAAA;AAG/E,EAAA,MAAM,CAAC,aAAa,gBAAA,EAAkB,YAAA,EAAc,YAAY,CAAA,GAAI,MAAM,QAAQ,UAAA,CAAW;AAAA,IAC3F,KAAA,CAAM,KAAK,OAAO,CAAA;AAAA,IAClB,KAAA,CAAM,kBAAkB,OAAO,CAAA;AAAA,IAC/B,iBAAiB,kBAAA,EAAmB,GAAI,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC1D,WAAW,kBAAA,EAAmB,GAAI,OAAA,CAAQ,OAAA,CAAQ,EAAE;AAAA,GACrD,CAAA;AAED,EAAA,MAAM,YACJ,WAAA,CAAY,MAAA,KAAW,WAAA,GAAc,WAAA,CAAY,MAAM,KAAA,GAAQ,MAAA;AACjE,EAAA,MAAM,eAAA,GACJ,gBAAA,CAAiB,MAAA,KAAW,WAAA,GAAc,iBAAiB,KAAA,GAAQ,MAAA;AAErE,EAAA,MAAM,WAAA,GAAc,CAAC,EAAA,KACnB,CAAC,CAAC,SAAA,IAAa,MAAA,CAAO,EAAE,CAAA,KAAM,MAAA,CAAO,SAAA,CAAU,YAAY,CAAA;AAE7D,EAAA,MAAM,aAAA,GACJ,YAAA,CAAa,MAAA,KAAW,WAAA,GACnB,aAAa,KAAA,CAAM,IAAA;AAAA,IAClB,CAAC,KAAA,KAAU,KAAA,CAAM,QAAQ,gBAAA,IAAoB,WAAA,CAAY,MAAM,QAAQ;AAAA,GACzE,EAAG,UAAU,CAAA,GACb,CAAA;AACN,EAAA,MAAM,cAAA,GACJ,YAAA,CAAa,MAAA,KAAW,WAAA,GACpB,YAAA,CAAa,KAAA,CACV,MAAA,CAAO,CAAC,KAAA,KAAU,KAAA,CAAM,WAAA,KAAgB,UAAA,IAAc,WAAA,CAAY,KAAA,CAAM,QAAQ,CAAC,CAAA,CACjF,MAAA,CAAO,CAAC,GAAA,EAAK,KAAA,KAAU,GAAA,GAAM,MAAA,CAAO,KAAA,CAAM,MAAM,CAAA,EAAG,CAAC,CAAA,GACvD,CAAA;AAEN,EAAA,MAAM,QAAwC,SAAA,EAAW,KAAA,CAAM,GAAA,CAAI,CAAC,MAAM,KAAA,MAAW;AAAA,IACnF,IAAI,IAAA,CAAK,EAAA;AAAA,IACT,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,KAAA,EAAO,IAAA,CAAK,SAAA,IAAa,IAAA,CAAK,qBAAqB,IAAA,CAAK,KAAA;AAAA,IACxD,UAAU,IAAA,CAAK,QAAA;AAAA,IACf,KAAA,EAAO,KAAK,OAAA,CAAQ,MAAA;AAAA,IACpB,GAAA,EAAK,eAAA,EAAiB,KAAA,CAAM,KAAK,GAAG,OAAA,EAAS;AAAA,GAC/C,CAAE,CAAA;AAEF,EAAA,MAAM,iBAAiB,SAAA,GACnB,qBAAA,CAAsB,UAAU,MAAA,EAAQ,IAAA,IAAQ,EAAE,CAAA,GAClD,MAAA;AACJ,EAAA,MAAM,WAAA,GAAc,cAAA,GAAiB,KAAA,EAAO,iBAAA,GAAoB,cAAc,CAAA,GAAI,MAAA;AAClF,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,KAAiB,YAAA,CAAa,QAAA,EAAU,MAAA,GAAS,CAAA,CAAA,EAAI,MAAM,CAAA,EAAG,IAAI,CAAA,CAAA,GAAK,IAAI,CAAA;AAE7F,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,MAAM,OAAA,CAAQ,SAAA;AAAA,MACd,EAAA,EAAI,SAAA,GAAY,MAAA,CAAO,SAAA,CAAU,EAAE,CAAA,GAAI,OAAA;AAAA,MACvC,KAAA,EAAO,IAAA,CAAK,CAAA,CAAE,yBAAyB,CAAA,IAAK;AAAA,KAC9C;AAAA,IACA,KAAA,EAAO,SAAA;AAAA,IACP,eAAA,EAAiB,KAAA,EAAO,iBAAA,EAAmB,WAAA,IAAe,MAAA;AAAA,IAC1D,UAAU,EAAC;AAAA,IACX,cAAc,WAAA,IAAe,MAAA;AAAA,IAC7B,KAAA;AAAA,IACA,WAAA,EAAa,CAAC,CAAE,eAAA,EAA2D,WAAA;AAAA,IAC3E,UAAA,EAAY,iBAAA,CAAkB,SAAA,EAAW,UAAU,CAAA;AAAA,IACnD,cAAA,EAAgB,aAAA;AAAA,IAChB,WAAA,EAAa,SAAS,UAAU,CAAA;AAAA,IAChC,QAAA,EACE,cAAA,GAAiB,CAAA,IAAK,SAAA,GAClB,EAAE,QAAQ,cAAA,EAAgB,QAAA,EAAU,SAAA,CAAU,QAAA,EAAS,GACvD,MAAA;AAAA,IACN,UAAA,EAAY,SAAS,SAAS;AAAA,GAChC;AACF;;;AC/HA,IAAM,gBAAA,GAAmB,aAAA;AAAA,EAAc,MACrC,OAAO,6BAAgB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,YAAA,EAAa,CAAE;AACpE,CAAA;AAEO,IAAM,YAAA,GAAe;AAI5B,eAAe,MAAA,CACb,KACA,MAAA,EAI4B;AAC5B,EAAA,MAAM,IAAA,GAAO,MAAM,cAAA,CAAe,EAAE,MAAA,EAAQ,IAAI,MAAA,EAAQ,MAAA,EAAQ,GAAA,CAAI,MAAA,EAAQ,CAAA;AAE5E,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,GAAG,CAAA;AACpC,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,IAAA,CAAK,KAAsB,IAAA,EAAyC;AAC3E,EAAA,MAAM,IAAA,GAAuB;AAAA,IAC3B,KAAA,EAAO,KAAK,IAAA,CAAK,KAAA;AAAA,IACjB,WAAA,EAAa,KAAK,IAAA,CAAK,WAAA;AAAA,IACvB,oBAAoB,uBAAA,CAAwB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,SAAS,QAAQ;AAAA,GACjF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,IAAI,OAAA,CAAQ,SAAA;AAAA,EACZ,MAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA,EAAW;AACb","file":"thank-you.js","sourcesContent":["import type { ThankYouPageProps, ThankYouLoaderParams, ThankYouLineItem } from './types';\nimport type { Order } from '../account/types';\nimport type { PointBalanceResponse } from '../loyalty/types';\nimport type { TransactionItem } from '../../api/wallet';\nimport type { StoreOrderInstruction } from '../../types';\nimport { api, getAuthToken } from '../../api/client';\nimport { order, type TwilightOrder } from '../../api/order';\nimport { getTwilightContext } from '../../twilight/context';\nimport { storePageUrl } from '../../utils/baseHead';\nimport { RouteId } from '../../router/route-ids';\n\nconst INSTRUCTION_BY_STATUS: Record<string, keyof StoreOrderInstruction> = {\n payment_pending: 'order_instructions_payment_waiting',\n under_review: 'order_instructions_under_review',\n completed: 'order_instructions_completed',\n};\n\nasync function orderLoyaltyPoints(): Promise<PointBalanceResponse['data']> {\n const response = await api.get('balance/points').json<PointBalanceResponse>();\n return response.data ?? [];\n}\n\n// A plain array today; `wallet.list` expects the paginated object, so accept both.\nasync function walletTransactions(): Promise<TransactionItem[]> {\n const response = await api\n .get('balance/wallet?page=1&per_page=20')\n .json<{ data?: { transactions?: TransactionItem[] | { data?: TransactionItem[] } } }>();\n const transactions = response.data?.transactions;\n return Array.isArray(transactions) ? transactions : (transactions?.data ?? []);\n}\n\nfunction offsetMinutes(timeZone: string, at: number): number {\n const name = new Intl.DateTimeFormat('en-US', { timeZone, timeZoneName: 'longOffset' })\n .formatToParts(at)\n .find((part) => part.type === 'timeZoneName')?.value;\n const [, sign, hours, minutes] = name?.match(/([+-])(\\d{2}):(\\d{2})/) ?? [];\n return sign ? (sign === '-' ? -1 : 1) * (Number(hours) * 60 + Number(minutes)) : 0;\n}\n\n/** `2026-11-03 14:00:42.000000` in `Asia/Riyadh` -> `2026-11-03T14:00:42+03:00`. */\nexport function orderCreatedAtIso(createdAt?: Order['created_at']): string | undefined {\n if (!createdAt?.date) return undefined;\n const [day, time = '00:00:00'] = createdAt.date.split(' ');\n const local = `${day}T${time.slice(0, 8)}`;\n try {\n const asUtc = Date.parse(`${local}Z`);\n // The local clock read as UTC can fall on the other side of a DST change; look again.\n const offset = offsetMinutes(\n createdAt.timezone,\n asUtc - offsetMinutes(createdAt.timezone, asUtc) * 60_000\n );\n const abs = Math.abs(offset);\n const hhmm = `${String(Math.floor(abs / 60)).padStart(2, '0')}:${String(abs % 60).padStart(2, '0')}`;\n return `${local}${offset < 0 ? '-' : '+'}${hhmm}`;\n } catch {\n return local;\n }\n}\n\nexport async function thankYouLoader({\n params,\n locale,\n}: {\n params: ThankYouLoaderParams;\n locale?: string;\n}): Promise<ThankYouPageProps> {\n const orderId = params.orderId;\n const { i18n, settings } = getTwilightContext();\n const store = settings?.store;\n const signedIn = !!getAuthToken();\n const loyaltyEnabled = signedIn && !!store?.features?.includes('loyalty-system');\n\n // Guests have no token for orders/{id}; render whatever resolves.\n const [orderResult, componentsResult, pointsResult, walletResult] = await Promise.allSettled([\n order.find(orderId),\n order.findForComponents(orderId),\n loyaltyEnabled ? orderLoyaltyPoints() : Promise.resolve([]),\n signedIn ? walletTransactions() : Promise.resolve([]),\n ]);\n\n const orderData: Order | undefined =\n orderResult.status === 'fulfilled' ? orderResult.value.order : undefined;\n const componentsOrder: TwilightOrder | undefined =\n componentsResult.status === 'fulfilled' ? componentsResult.value : undefined;\n // Points and wallet entries name the order by its reference number, not its id.\n const isThisOrder = (id: number | string | null | undefined) =>\n !!orderData && Number(id) === Number(orderData.reference_id);\n\n const loyaltyPoints =\n pointsResult.status === 'fulfilled'\n ? (pointsResult.value.find(\n (entry) => entry.key === 'BUY_FROM_STORE' && isThisOrder(entry.order_id)\n )?.amount ?? 0)\n : 0;\n const cashbackAmount =\n walletResult.status === 'fulfilled'\n ? walletResult.value\n .filter((entry) => entry.action_type === 'cashback' && isThisOrder(entry.order_id))\n .reduce((sum, entry) => sum + Number(entry.amount), 0)\n : 0;\n\n const items: ThankYouLineItem[] | undefined = orderData?.items.map((item, index) => ({\n id: item.id,\n name: item.name,\n image: item.thumbnail ?? item.product_thumbnail ?? item.image,\n quantity: item.quantity,\n price: item.amounts.amount,\n url: componentsOrder?.items[index]?.product?.url,\n }));\n\n const instructionKey = orderData\n ? INSTRUCTION_BY_STATUS[orderData.status?.slug ?? '']\n : undefined;\n const instruction = instructionKey ? store?.order_instruction?.[instructionKey] : undefined;\n const storeUrl = (path: string) => storePageUrl(settings, locale ? `/${locale}${path}` : path);\n\n return {\n page: {\n slug: RouteId.THANK_YOU,\n id: orderData ? String(orderData.id) : orderId,\n title: i18n.t('common.titles.thank_you') || 'Thank You',\n },\n order: orderData,\n thank_you_title: store?.order_instruction?.thank_title || undefined,\n messages: [],\n instructions: instruction || undefined,\n items,\n is_pickable: !!(componentsOrder as { is_pickable?: boolean } | undefined)?.is_pickable,\n created_at: orderCreatedAtIso(orderData?.created_at),\n loyalty_points: loyaltyPoints,\n loyalty_url: storeUrl('/loyalty'),\n cashback:\n cashbackAmount > 0 && orderData\n ? { amount: cashbackAmount, currency: orderData.currency }\n : undefined,\n wallet_url: storeUrl('/wallet'),\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\n\nimport { thankYouLoader } from './loader';\nimport type { ThankYouPageProps, ThankYouLoaderParams } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport { lazyComponent } from '../../utils/lazy-component';\n\n// Lazy-load component for code-splitting\nconst LazyThankYouPage = lazyComponent(() =>\n import('./ThankYouPage').then((m) => ({ default: m.ThankYouPage }))\n);\n\nexport const ThankYouPage = LazyThankYouPage;\nexport { thankYouLoader } from './loader';\nexport type { ThankYouLoaderParams, ThankYouPageProps } from './types';\n\nasync function loader(\n ctx: { params: ThankYouLoaderParams; locale?: string },\n extend?: (\n data: ThankYouPageProps,\n ctx: { params: ThankYouLoaderParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<ThankYouPageProps> {\n const data = await thankYouLoader({ params: ctx.params, locale: ctx.locale });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as ThankYouPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: ThankYouPageProps): 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 ThankYou = {\n id: RouteId.THANK_YOU,\n loader,\n head,\n Component: LazyThankYouPage,\n} as const;\n"]}
package/dist/skeleton.js CHANGED
@@ -1,34 +1,34 @@
1
1
  export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
2
- export { HomeSkeleton } from './chunk-52QZKUDU.js';
2
+ export { HomeSkeleton } from './chunk-ZONZSJ5G.js';
3
3
  import './chunk-IXHM24Z4.js';
4
- import './chunk-HJGN3XVG.js';
5
- import './chunk-7NTPNCIK.js';
6
- import './chunk-WIDH6AK6.js';
7
- import './chunk-MIAVMNPM.js';
8
- import './chunk-NLKLS3GZ.js';
4
+ import './chunk-3D4UXOBU.js';
5
+ import './chunk-4FUBEE6Q.js';
6
+ import './chunk-6JTIZQEJ.js';
7
+ import './chunk-GKXRKR66.js';
8
+ import './chunk-H3JEKVHZ.js';
9
9
  import './chunk-Y32RHCOH.js';
10
- import './chunk-GBMMP344.js';
10
+ import './chunk-NMYYHEPN.js';
11
11
  import './chunk-Q77J3D2W.js';
12
- import './chunk-U5TWRPMK.js';
13
- import './chunk-YYVZFOUI.js';
12
+ import './chunk-HAGJ2W6O.js';
13
+ import './chunk-3XRZEYOO.js';
14
14
  import './chunk-5V4W3GBI.js';
15
15
  import './chunk-X55R4VVK.js';
16
16
  import './chunk-YL6X3ZMG.js';
17
- import './chunk-PCB5DCS4.js';
17
+ import './chunk-5C4ENAQA.js';
18
18
  import './chunk-OXMUPNMH.js';
19
- import './chunk-NGWHUW34.js';
19
+ import './chunk-GEJDHAP5.js';
20
20
  import './chunk-VVZNW5CB.js';
21
21
  import './chunk-EGI7F57E.js';
22
22
  import './chunk-GD26FI4J.js';
23
23
  import './chunk-SLBO4SEE.js';
24
24
  import './chunk-MGG4XAJ5.js';
25
- import './chunk-HRW4YFHR.js';
25
+ import './chunk-N7E6KO5Q.js';
26
26
  import './chunk-OUW6WESU.js';
27
27
  import './chunk-IHOUADLX.js';
28
28
  import './chunk-HI5V5X3S.js';
29
- import './chunk-XV3HPKLI.js';
30
- import './chunk-5JZSBFA5.js';
31
- import './chunk-MVT5AF2A.js';
29
+ import './chunk-JZTNZ6C7.js';
30
+ import './chunk-LZ6RMZPJ.js';
31
+ import './chunk-6T55LXJL.js';
32
32
  import './chunk-Z653O7MX.js';
33
33
  import './chunk-ZCH7W7DZ.js';
34
34
  import './chunk-H7LRGY7U.js';
@@ -38,16 +38,16 @@ import './chunk-7V36I5GT.js';
38
38
  import './chunk-6WI7R2BD.js';
39
39
  import './chunk-M5WTY3EH.js';
40
40
  import './chunk-OAMIDZKW.js';
41
- import './chunk-KGSB2Y7O.js';
41
+ import './chunk-RMV5X6GY.js';
42
42
  import './chunk-OQIIJRAS.js';
43
43
  import './chunk-V2ZDTY6H.js';
44
- import './chunk-ETC7OJT5.js';
44
+ import './chunk-E6SVWI3B.js';
45
45
  import './chunk-5XDPAKF5.js';
46
46
  import './chunk-GCPEMNSU.js';
47
- import './chunk-U2UNWN4G.js';
47
+ import './chunk-GIKY54MI.js';
48
48
  import './chunk-Z5M4YYWT.js';
49
49
  import './chunk-TYNZ5B2B.js';
50
- import './chunk-VZRZQV4Q.js';
50
+ import './chunk-FR6K5DBJ.js';
51
51
  import './chunk-AXW67SY7.js';
52
52
  import './chunk-BYMOPN2S.js';
53
53
  import './chunk-SKLEJJ6M.js';