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

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 (254) hide show
  1. package/dist/{AddToCartForm-ZZMT3ZRO.js → AddToCartForm-WY5QEHJ4.js} +3 -3
  2. package/dist/{AddToCartForm-ZZMT3ZRO.js.map → AddToCartForm-WY5QEHJ4.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-LVRGWFOC.js → BlogAuthorPage-E2WXK6HD.js} +17 -17
  4. package/dist/{BlogAuthorPage-LVRGWFOC.js.map → BlogAuthorPage-E2WXK6HD.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-CONL6QSN.js → BlogCategoryPage-B2JEB33A.js} +17 -17
  6. package/dist/{BlogCategoryPage-CONL6QSN.js.map → BlogCategoryPage-B2JEB33A.js.map} +1 -1
  7. package/dist/{BlogPage-6ZA474IU.js → BlogPage-CSNI6SS5.js} +15 -15
  8. package/dist/{BlogPage-6ZA474IU.js.map → BlogPage-CSNI6SS5.js.map} +1 -1
  9. package/dist/{BlogSinglePage-W7WYKP7W.js → BlogSinglePage-5ZY5EB6H.js} +15 -15
  10. package/dist/{BlogSinglePage-W7WYKP7W.js.map → BlogSinglePage-5ZY5EB6H.js.map} +1 -1
  11. package/dist/{BlogTagPage-G5JX7FSN.js → BlogTagPage-QFS7AKNK.js} +17 -17
  12. package/dist/{BlogTagPage-G5JX7FSN.js.map → BlogTagPage-QFS7AKNK.js.map} +1 -1
  13. package/dist/{BrandsPage-TB5NDSGL.js → BrandsPage-QBA2WQHF.js} +16 -16
  14. package/dist/{BrandsPage-TB5NDSGL.js.map → BrandsPage-QBA2WQHF.js.map} +1 -1
  15. package/dist/{Breadcrumb-EVZDJG7H.js → Breadcrumb-CH35WQ6M.js} +15 -15
  16. package/dist/{Breadcrumb-EVZDJG7H.js.map → Breadcrumb-CH35WQ6M.js.map} +1 -1
  17. package/dist/{CartItem-D2LJIFGL.js → CartItem-NBM3KRUH.js} +15 -15
  18. package/dist/{CartItem-D2LJIFGL.js.map → CartItem-NBM3KRUH.js.map} +1 -1
  19. package/dist/{CartSummary-V4HYUEPB.js → CartSummary-OD2IJTTA.js} +15 -15
  20. package/dist/{CartSummary-V4HYUEPB.js.map → CartSummary-OD2IJTTA.js.map} +1 -1
  21. package/dist/{Copyright-JLIFLENS.js → Copyright-7EC2FQUB.js} +3 -3
  22. package/dist/{Copyright-JLIFLENS.js.map → Copyright-7EC2FQUB.js.map} +1 -1
  23. package/dist/{CustomerLayout-JSIYPWY4.js → CustomerLayout-7GEOMQ3Z.js} +15 -15
  24. package/dist/{CustomerLayout-JSIYPWY4.js.map → CustomerLayout-7GEOMQ3Z.js.map} +1 -1
  25. package/dist/{Footer-BNIVXKRM.js → Footer-JTQIMWSF.js} +4 -4
  26. package/dist/{Footer-BNIVXKRM.js.map → Footer-JTQIMWSF.js.map} +1 -1
  27. package/dist/{Header-DI3OK5TC.js → Header-4ZW5UVTX.js} +8 -8
  28. package/dist/{Header-DI3OK5TC.js.map → Header-4ZW5UVTX.js.map} +1 -1
  29. package/dist/{LatestProducts-PEIN355E.js → LatestProducts-VHN2P5TE.js} +17 -17
  30. package/dist/{LatestProducts-PEIN355E.js.map → LatestProducts-VHN2P5TE.js.map} +1 -1
  31. package/dist/{LoyaltyPage-GV6WMYVE.js → LoyaltyPage-PVK7FBFE.js} +15 -15
  32. package/dist/{LoyaltyPage-GV6WMYVE.js.map → LoyaltyPage-PVK7FBFE.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-QNOVSCKB.js → LoyaltyPointsPage-WYCO453U.js} +6 -6
  34. package/dist/{LoyaltyPointsPage-QNOVSCKB.js.map → LoyaltyPointsPage-WYCO453U.js.map} +1 -1
  35. package/dist/{MainMenu-IN5HUX3U.js → MainMenu-Y2PAFESM.js} +5 -5
  36. package/dist/{MainMenu-IN5HUX3U.js.map → MainMenu-Y2PAFESM.js.map} +1 -1
  37. package/dist/{MasterLayout-GHAXKYOR.js → MasterLayout-EBLVT53G.js} +15 -15
  38. package/dist/{MasterLayout-GHAXKYOR.js.map → MasterLayout-EBLVT53G.js.map} +1 -1
  39. package/dist/{MobileMenu-XU45EZMG.js → MobileMenu-YIL4MEWX.js} +16 -16
  40. package/dist/{MobileMenu-XU45EZMG.js.map → MobileMenu-YIL4MEWX.js.map} +1 -1
  41. package/dist/{NotificationsPage-AMY7TARF.js → NotificationsPage-K2CJOV2N.js} +15 -15
  42. package/dist/{NotificationsPage-AMY7TARF.js.map → NotificationsPage-K2CJOV2N.js.map} +1 -1
  43. package/dist/{OrderSinglePage-L2E6YH3Z.js → OrderSinglePage-T7S7KXJ3.js} +16 -16
  44. package/dist/{OrderSinglePage-L2E6YH3Z.js.map → OrderSinglePage-T7S7KXJ3.js.map} +1 -1
  45. package/dist/{OrdersPage-76ORWMJY.js → OrdersPage-WAW3NS2E.js} +15 -15
  46. package/dist/{OrdersPage-76ORWMJY.js.map → OrdersPage-WAW3NS2E.js.map} +1 -1
  47. package/dist/{PageSingle-D7I6EHBF.js → PageSingle-L5EBQGWS.js} +3 -3
  48. package/dist/{PageSingle-D7I6EHBF.js.map → PageSingle-L5EBQGWS.js.map} +1 -1
  49. package/dist/{ProductDetails-BZVRXSCD.js → ProductDetails-4E46ZCMQ.js} +5 -5
  50. package/dist/{ProductDetails-BZVRXSCD.js.map → ProductDetails-4E46ZCMQ.js.map} +1 -1
  51. package/dist/{ProfilePage-65NYRBON.js → ProfilePage-KN7BWYFZ.js} +15 -15
  52. package/dist/{ProfilePage-65NYRBON.js.map → ProfilePage-KN7BWYFZ.js.map} +1 -1
  53. package/dist/{ReviewsPage-C7NSCMBE.js → ReviewsPage-CCTPJN76.js} +3 -3
  54. package/dist/{ReviewsPage-C7NSCMBE.js.map → ReviewsPage-CCTPJN76.js.map} +1 -1
  55. package/dist/{SeoCartWidget-GK3KC2M3.js → SeoCartWidget-Q5XK5MEW.js} +15 -15
  56. package/dist/{SeoCartWidget-GK3KC2M3.js.map → SeoCartWidget-Q5XK5MEW.js.map} +1 -1
  57. package/dist/{SettingsPage-7VGJBA5K.js → SettingsPage-DQAAMJE5.js} +15 -15
  58. package/dist/{SettingsPage-7VGJBA5K.js.map → SettingsPage-DQAAMJE5.js.map} +1 -1
  59. package/dist/{StoreClosedNotification-44JN2FZV.js → StoreClosedNotification-ZSDPBM3L.js} +16 -16
  60. package/dist/{StoreClosedNotification-44JN2FZV.js.map → StoreClosedNotification-ZSDPBM3L.js.map} +1 -1
  61. package/dist/{TestimonialsPage-KGCGTUJQ.js → TestimonialsPage-6LGQSJSQ.js} +3 -3
  62. package/dist/{TestimonialsPage-KGCGTUJQ.js.map → TestimonialsPage-6LGQSJSQ.js.map} +1 -1
  63. package/dist/ThankYouPage-ZI6NEGN3.js +187 -0
  64. package/dist/ThankYouPage-ZI6NEGN3.js.map +1 -0
  65. package/dist/{WalletPage-J3CX6MLS.js → WalletPage-R6G5BQAI.js} +16 -16
  66. package/dist/{WalletPage-J3CX6MLS.js.map → WalletPage-R6G5BQAI.js.map} +1 -1
  67. package/dist/{WebMcpTools-3MV53OMT.js → WebMcpTools-2NWIVDL2.js} +5 -5
  68. package/dist/{WebMcpTools-3MV53OMT.js.map → WebMcpTools-2NWIVDL2.js.map} +1 -1
  69. package/dist/{WishlistPage-HHX3OVOF.js → WishlistPage-CQ62GPLC.js} +17 -17
  70. package/dist/{WishlistPage-HHX3OVOF.js.map → WishlistPage-CQ62GPLC.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-VNHYMLGK.js → chunk-23OJW6CK.js} +3 -3
  93. package/dist/{chunk-VNHYMLGK.js.map → chunk-23OJW6CK.js.map} +1 -1
  94. package/dist/{chunk-O6RZ6AWT.js → chunk-33327CFA.js} +4 -4
  95. package/dist/{chunk-O6RZ6AWT.js.map → chunk-33327CFA.js.map} +1 -1
  96. package/dist/{chunk-VDY3VY7S.js → chunk-3AIK4QGW.js} +3 -3
  97. package/dist/{chunk-VDY3VY7S.js.map → chunk-3AIK4QGW.js.map} +1 -1
  98. package/dist/{chunk-5EN3XZ32.js → chunk-3BDSQIYZ.js} +3 -3
  99. package/dist/{chunk-5EN3XZ32.js.map → chunk-3BDSQIYZ.js.map} +1 -1
  100. package/dist/{chunk-C6PNF2OT.js → chunk-3WA5RJGC.js} +3 -3
  101. package/dist/{chunk-C6PNF2OT.js.map → chunk-3WA5RJGC.js.map} +1 -1
  102. package/dist/{chunk-X6WDFQYL.js → chunk-4FFABE3P.js} +3 -3
  103. package/dist/{chunk-X6WDFQYL.js.map → chunk-4FFABE3P.js.map} +1 -1
  104. package/dist/{chunk-F7S2QA3D.js → chunk-5ABT7QLS.js} +7 -7
  105. package/dist/{chunk-F7S2QA3D.js.map → chunk-5ABT7QLS.js.map} +1 -1
  106. package/dist/chunk-5PMEGLR6.js +75 -0
  107. package/dist/chunk-5PMEGLR6.js.map +1 -0
  108. package/dist/{chunk-PCYZMJUC.js → chunk-6T4HGLQM.js} +3 -3
  109. package/dist/{chunk-PCYZMJUC.js.map → chunk-6T4HGLQM.js.map} +1 -1
  110. package/dist/{chunk-MVT5AF2A.js → chunk-6T55LXJL.js} +3 -2
  111. package/dist/chunk-6T55LXJL.js.map +1 -0
  112. package/dist/chunk-7R43CIG7.js +90 -0
  113. package/dist/chunk-7R43CIG7.js.map +1 -0
  114. package/dist/{chunk-3O6BB7SI.js → chunk-BAJBKIGI.js} +3 -3
  115. package/dist/{chunk-3O6BB7SI.js.map → chunk-BAJBKIGI.js.map} +1 -1
  116. package/dist/{chunk-C5P2C2NR.js → chunk-C7LAIXEO.js} +3 -3
  117. package/dist/{chunk-C5P2C2NR.js.map → chunk-C7LAIXEO.js.map} +1 -1
  118. package/dist/{chunk-JOHFXU4C.js → chunk-CAAIQPEN.js} +4 -4
  119. package/dist/{chunk-JOHFXU4C.js.map → chunk-CAAIQPEN.js.map} +1 -1
  120. package/dist/{chunk-QXWCIK6D.js → chunk-CNTXY27A.js} +4 -4
  121. package/dist/{chunk-QXWCIK6D.js.map → chunk-CNTXY27A.js.map} +1 -1
  122. package/dist/{chunk-YDRURQ2W.js → chunk-CUURFACL.js} +3 -3
  123. package/dist/{chunk-YDRURQ2W.js.map → chunk-CUURFACL.js.map} +1 -1
  124. package/dist/{chunk-2DUN6DZK.js → chunk-CXKA35FJ.js} +3 -3
  125. package/dist/{chunk-2DUN6DZK.js.map → chunk-CXKA35FJ.js.map} +1 -1
  126. package/dist/{chunk-K4YRFOFA.js → chunk-DQEJV5SR.js} +7 -7
  127. package/dist/{chunk-K4YRFOFA.js.map → chunk-DQEJV5SR.js.map} +1 -1
  128. package/dist/{chunk-Z4EQHB26.js → chunk-ELYKF67K.js} +5 -5
  129. package/dist/{chunk-Z4EQHB26.js.map → chunk-ELYKF67K.js.map} +1 -1
  130. package/dist/{chunk-T2O2IQJQ.js → chunk-F3QHKYS3.js} +4 -4
  131. package/dist/{chunk-T2O2IQJQ.js.map → chunk-F3QHKYS3.js.map} +1 -1
  132. package/dist/{chunk-A4Y5BVJN.js → chunk-GBJK6KKM.js} +3 -3
  133. package/dist/{chunk-A4Y5BVJN.js.map → chunk-GBJK6KKM.js.map} +1 -1
  134. package/dist/{chunk-BKSVKSAW.js → chunk-HPK6GB7G.js} +15 -15
  135. package/dist/{chunk-BKSVKSAW.js.map → chunk-HPK6GB7G.js.map} +1 -1
  136. package/dist/{chunk-CFG6PGUZ.js → chunk-IFKCPNDF.js} +4 -4
  137. package/dist/{chunk-CFG6PGUZ.js.map → chunk-IFKCPNDF.js.map} +1 -1
  138. package/dist/{chunk-HZWTDQVJ.js → chunk-JDCZWE7N.js} +5 -5
  139. package/dist/{chunk-HZWTDQVJ.js.map → chunk-JDCZWE7N.js.map} +1 -1
  140. package/dist/{chunk-7ZTSYUCJ.js → chunk-JZ54GDXO.js} +4 -4
  141. package/dist/{chunk-7ZTSYUCJ.js.map → chunk-JZ54GDXO.js.map} +1 -1
  142. package/dist/{chunk-TQQN5AE2.js → chunk-KUQQJTFA.js} +3 -3
  143. package/dist/{chunk-TQQN5AE2.js.map → chunk-KUQQJTFA.js.map} +1 -1
  144. package/dist/{chunk-YEBA44IV.js → chunk-LILNJBFU.js} +3 -3
  145. package/dist/{chunk-YEBA44IV.js.map → chunk-LILNJBFU.js.map} +1 -1
  146. package/dist/{chunk-DMGSEY7F.js → chunk-MA3R5QON.js} +3 -3
  147. package/dist/{chunk-DMGSEY7F.js.map → chunk-MA3R5QON.js.map} +1 -1
  148. package/dist/{chunk-VEVFVWF3.js → chunk-MJHYLDXL.js} +3 -3
  149. package/dist/{chunk-VEVFVWF3.js.map → chunk-MJHYLDXL.js.map} +1 -1
  150. package/dist/{chunk-AECYX56P.js → chunk-NRMAYV4G.js} +4 -4
  151. package/dist/{chunk-AECYX56P.js.map → chunk-NRMAYV4G.js.map} +1 -1
  152. package/dist/{chunk-PBT52UWY.js → chunk-NWQUPGB4.js} +4 -4
  153. package/dist/{chunk-PBT52UWY.js.map → chunk-NWQUPGB4.js.map} +1 -1
  154. package/dist/{chunk-VQO4TTPE.js → chunk-QOC7HUYN.js} +4 -4
  155. package/dist/{chunk-VQO4TTPE.js.map → chunk-QOC7HUYN.js.map} +1 -1
  156. package/dist/{chunk-7PPNAVBF.js → chunk-R72B5P4R.js} +4 -4
  157. package/dist/{chunk-7PPNAVBF.js.map → chunk-R72B5P4R.js.map} +1 -1
  158. package/dist/{chunk-BEYWTFOR.js → chunk-SCWUJ5PP.js} +3 -3
  159. package/dist/{chunk-BEYWTFOR.js.map → chunk-SCWUJ5PP.js.map} +1 -1
  160. package/dist/{chunk-DHKZCR6U.js → chunk-T55MRK24.js} +5 -5
  161. package/dist/{chunk-DHKZCR6U.js.map → chunk-T55MRK24.js.map} +1 -1
  162. package/dist/{chunk-ZSEECSDV.js → chunk-V6IKYNU6.js} +7 -7
  163. package/dist/{chunk-ZSEECSDV.js.map → chunk-V6IKYNU6.js.map} +1 -1
  164. package/dist/{chunk-FTH3XLIN.js → chunk-W2A5AWNA.js} +3 -3
  165. package/dist/{chunk-FTH3XLIN.js.map → chunk-W2A5AWNA.js.map} +1 -1
  166. package/dist/{chunk-FXW6H6J3.js → chunk-W3QKGF2O.js} +3 -3
  167. package/dist/{chunk-FXW6H6J3.js.map → chunk-W3QKGF2O.js.map} +1 -1
  168. package/dist/{chunk-EF3PLLLA.js → chunk-WH73HWTE.js} +7 -7
  169. package/dist/{chunk-EF3PLLLA.js.map → chunk-WH73HWTE.js.map} +1 -1
  170. package/dist/{chunk-3QOALQQJ.js → chunk-WPRJVK7K.js} +4 -4
  171. package/dist/{chunk-3QOALQQJ.js.map → chunk-WPRJVK7K.js.map} +1 -1
  172. package/dist/{chunk-B36NISD2.js → chunk-X5W7HZNX.js} +4 -4
  173. package/dist/{chunk-B36NISD2.js.map → chunk-X5W7HZNX.js.map} +1 -1
  174. package/dist/{chunk-3G4YCXOR.js → chunk-ZXEJ46OF.js} +87 -23
  175. package/dist/chunk-ZXEJ46OF.js.map +1 -0
  176. package/dist/components/cart/index.js +1 -1
  177. package/dist/components/common/index.js +1 -1
  178. package/dist/components/drawer/index.js +13 -13
  179. package/dist/components/home/index.js +18 -18
  180. package/dist/components/layout/index.js +4 -4
  181. package/dist/components/product/index.js +15 -15
  182. package/dist/components/store/index.js +14 -14
  183. package/dist/dev/editor/index.js +1 -1
  184. package/dist/dev/index.js +1 -1
  185. package/dist/{document-class-SWL4NCC6.js → document-class-B57F7JZW.js} +12 -11
  186. package/dist/{document-class-SWL4NCC6.js.map → document-class-B57F7JZW.js.map} +1 -1
  187. package/dist/hooks/index.js +13 -13
  188. package/dist/hooks/useGtm.js +13 -13
  189. package/dist/hooks/useMoney.js +13 -13
  190. package/dist/hooks/useStore.js +13 -13
  191. package/dist/hooks/useUser.js +3 -3
  192. package/dist/index.js +13 -13
  193. package/dist/{navigation-7V4CSVG5.js → navigation-N3WBAE74.js} +5 -5
  194. package/dist/{navigation-7V4CSVG5.js.map → navigation-N3WBAE74.js.map} +1 -1
  195. package/dist/{navigation-VMR4V27L.js → navigation-VJBIYPFD.js} +4 -4
  196. package/dist/{navigation-VMR4V27L.js.map → navigation-VJBIYPFD.js.map} +1 -1
  197. package/dist/{not-found-S33EUV2Q.js → not-found-KDDMHTAU.js} +16 -16
  198. package/dist/{not-found-S33EUV2Q.js.map → not-found-KDDMHTAU.js.map} +1 -1
  199. package/dist/providers/index.js +13 -13
  200. package/dist/routes/account/orders.js +4 -4
  201. package/dist/routes/account.js +13 -13
  202. package/dist/routes/blog.js +8 -8
  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/ProductListPage.d.ts.map +1 -1
  210. package/dist/routes/product-listing/useAppliedFilters.d.ts.map +1 -1
  211. package/dist/routes/product-listing.js +27 -86
  212. package/dist/routes/product-listing.js.map +1 -1
  213. package/dist/routes/product.js +18 -18
  214. package/dist/routes/seo-redirects.js +3 -3
  215. package/dist/routes/testimonials.js +2 -2
  216. package/dist/routes/thank-you/ThankYouPage.d.ts +2 -1
  217. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  218. package/dist/routes/thank-you/loader.d.ts +5 -1
  219. package/dist/routes/thank-you/loader.d.ts.map +1 -1
  220. package/dist/routes/thank-you/types.d.ts +23 -1
  221. package/dist/routes/thank-you/types.d.ts.map +1 -1
  222. package/dist/routes/thank-you.js +79 -15
  223. package/dist/routes/thank-you.js.map +1 -1
  224. package/dist/skeleton.js +19 -19
  225. package/dist/{store-lookup-D5C2LNXK.js → store-lookup-WBKOYMDU.js} +8 -8
  226. package/dist/{store-lookup-D5C2LNXK.js.map → store-lookup-WBKOYMDU.js.map} +1 -1
  227. package/dist/tanstack/router.d.ts.map +1 -1
  228. package/dist/tanstack.js +12 -11
  229. package/dist/tanstack.js.map +1 -1
  230. package/dist/types/hooks.d.ts +1 -0
  231. package/dist/types/hooks.d.ts.map +1 -1
  232. package/dist/types/hooks.js +1 -1
  233. package/dist/types/index.js +1 -1
  234. package/dist/types/salla-sdk.d.ts +4 -0
  235. package/dist/types/salla-sdk.d.ts.map +1 -1
  236. package/dist/utils/index.js +2 -2
  237. package/dist/utils/sdk-events.d.ts +32 -1
  238. package/dist/utils/sdk-events.d.ts.map +1 -1
  239. package/dist/vite/index.js +1 -0
  240. package/dist/vite/index.js.map +1 -1
  241. package/dist/vite/plugins/best-practices/hooks-registry.d.ts.map +1 -1
  242. package/package.json +1 -1
  243. package/tailwind/routes/product-listing/ProductListPage.tsx.txt +3 -1
  244. package/tailwind/routes/product-listing/useAppliedFilters.ts.txt +5 -1
  245. package/tailwind/routes/thank-you/ThankYouPage.tsx.txt +124 -209
  246. package/tailwind/routes/thank-you/index.tsx.txt +1 -1
  247. package/tailwind/routes/thank-you/loader.ts.txt +112 -14
  248. package/tailwind/routes/thank-you/types.ts.txt +24 -1
  249. package/dist/ThankYouPage-XWB4X236.js +0 -267
  250. package/dist/ThankYouPage-XWB4X236.js.map +0 -1
  251. package/dist/chunk-3G4YCXOR.js.map +0 -1
  252. package/dist/chunk-MVT5AF2A.js.map +0 -1
  253. package/dist/chunk-QBVXQHVJ.js +0 -40
  254. package/dist/chunk-QBVXQHVJ.js.map +0 -1
@@ -1,7 +1,7 @@
1
- export { NavigationSetup, TanStackNavigationProvider } from './chunk-VNHYMLGK.js';
2
- import './chunk-VEVFVWF3.js';
1
+ export { NavigationSetup, TanStackNavigationProvider } from './chunk-23OJW6CK.js';
2
+ import './chunk-MJHYLDXL.js';
3
3
  import './chunk-OUW6WESU.js';
4
- import './chunk-2DUN6DZK.js';
4
+ import './chunk-CXKA35FJ.js';
5
5
  import './chunk-Z5M4YYWT.js';
6
6
  import './chunk-BYMOPN2S.js';
7
7
  import './chunk-6TFM3UTF.js';
@@ -11,5 +11,5 @@ 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-7V4CSVG5.js.map
15
- //# sourceMappingURL=navigation-7V4CSVG5.js.map
14
+ //# sourceMappingURL=navigation-N3WBAE74.js.map
15
+ //# sourceMappingURL=navigation-N3WBAE74.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-7V4CSVG5.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-N3WBAE74.js"}
@@ -1,7 +1,7 @@
1
1
  import { NextJsLinkAdapter } from './chunk-HTGBIA7K.js';
2
- import { NavigationProvider, defaultNavigate } from './chunk-VEVFVWF3.js';
2
+ import { NavigationProvider, defaultNavigate } from './chunk-MJHYLDXL.js';
3
3
  import './chunk-OUW6WESU.js';
4
- import './chunk-2DUN6DZK.js';
4
+ import './chunk-CXKA35FJ.js';
5
5
  import './chunk-Z5M4YYWT.js';
6
6
  import { LinkProvider } from './chunk-BYMOPN2S.js';
7
7
  import './chunk-6TFM3UTF.js';
@@ -18,5 +18,5 @@ function NavigationSetup({ children }) {
18
18
  }
19
19
 
20
20
  export { NavigationSetup };
21
- //# sourceMappingURL=navigation-VMR4V27L.js.map
22
- //# sourceMappingURL=navigation-VMR4V27L.js.map
21
+ //# sourceMappingURL=navigation-VJBIYPFD.js.map
22
+ //# sourceMappingURL=navigation-VJBIYPFD.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-VMR4V27L.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-VJBIYPFD.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,26 +1,26 @@
1
- import { product } from './chunk-7PPNAVBF.js';
2
- import './chunk-BKSVKSAW.js';
1
+ import { product } from './chunk-R72B5P4R.js';
2
+ import './chunk-HPK6GB7G.js';
3
3
  import './chunk-Q77J3D2W.js';
4
- import './chunk-F7S2QA3D.js';
5
- import './chunk-PCYZMJUC.js';
4
+ import './chunk-5ABT7QLS.js';
5
+ import './chunk-6T4HGLQM.js';
6
6
  import './chunk-5V4W3GBI.js';
7
7
  import './chunk-X55R4VVK.js';
8
8
  import './chunk-YL6X3ZMG.js';
9
- import './chunk-YEBA44IV.js';
9
+ import './chunk-LILNJBFU.js';
10
10
  import './chunk-OXMUPNMH.js';
11
- import './chunk-5EN3XZ32.js';
11
+ import './chunk-3BDSQIYZ.js';
12
12
  import './chunk-VVZNW5CB.js';
13
13
  import './chunk-EGI7F57E.js';
14
14
  import './chunk-GD26FI4J.js';
15
15
  import './chunk-SLBO4SEE.js';
16
16
  import './chunk-MGG4XAJ5.js';
17
- import { useLocation, useNavigate } from './chunk-VEVFVWF3.js';
17
+ import { useLocation, useNavigate } from './chunk-MJHYLDXL.js';
18
18
  import './chunk-OUW6WESU.js';
19
19
  import './chunk-IHOUADLX.js';
20
20
  import './chunk-HI5V5X3S.js';
21
- import './chunk-3O6BB7SI.js';
22
- import './chunk-A4Y5BVJN.js';
23
- import './chunk-MVT5AF2A.js';
21
+ import './chunk-BAJBKIGI.js';
22
+ import './chunk-GBJK6KKM.js';
23
+ import './chunk-6T55LXJL.js';
24
24
  import './chunk-Z653O7MX.js';
25
25
  import './chunk-ZCH7W7DZ.js';
26
26
  import './chunk-H7LRGY7U.js';
@@ -30,16 +30,16 @@ import './chunk-7V36I5GT.js';
30
30
  import './chunk-6WI7R2BD.js';
31
31
  import './chunk-M5WTY3EH.js';
32
32
  import './chunk-OAMIDZKW.js';
33
- import './chunk-YDRURQ2W.js';
33
+ import './chunk-CUURFACL.js';
34
34
  import './chunk-OQIIJRAS.js';
35
35
  import './chunk-V2ZDTY6H.js';
36
- import './chunk-VDY3VY7S.js';
36
+ import './chunk-3AIK4QGW.js';
37
37
  import { HookSlot } from './chunk-5XDPAKF5.js';
38
38
  import './chunk-GCPEMNSU.js';
39
- import './chunk-2DUN6DZK.js';
39
+ import './chunk-CXKA35FJ.js';
40
40
  import './chunk-Z5M4YYWT.js';
41
41
  import { useTranslation } from './chunk-TYNZ5B2B.js';
42
- import { LazyErrorPage } from './chunk-FTH3XLIN.js';
42
+ import { LazyErrorPage } from './chunk-W2A5AWNA.js';
43
43
  import './chunk-AXW67SY7.js';
44
44
  import './chunk-BYMOPN2S.js';
45
45
  import './chunk-SKLEJJ6M.js';
@@ -157,5 +157,5 @@ function NotFoundPage(props = {}) {
157
157
  }
158
158
 
159
159
  export { NotFoundPage };
160
- //# sourceMappingURL=not-found-S33EUV2Q.js.map
161
- //# sourceMappingURL=not-found-S33EUV2Q.js.map
160
+ //# sourceMappingURL=not-found-KDDMHTAU.js.map
161
+ //# sourceMappingURL=not-found-KDDMHTAU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-S33EUV2Q.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"]}
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-KDDMHTAU.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"]}
@@ -1,25 +1,25 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-BKSVKSAW.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-HPK6GB7G.js';
2
2
  import '../chunk-Q77J3D2W.js';
3
- import '../chunk-F7S2QA3D.js';
4
- import '../chunk-PCYZMJUC.js';
3
+ import '../chunk-5ABT7QLS.js';
4
+ import '../chunk-6T4HGLQM.js';
5
5
  import '../chunk-5V4W3GBI.js';
6
6
  import '../chunk-X55R4VVK.js';
7
7
  import '../chunk-YL6X3ZMG.js';
8
- import '../chunk-YEBA44IV.js';
8
+ import '../chunk-LILNJBFU.js';
9
9
  import '../chunk-OXMUPNMH.js';
10
- import '../chunk-5EN3XZ32.js';
10
+ import '../chunk-3BDSQIYZ.js';
11
11
  import '../chunk-VVZNW5CB.js';
12
12
  import '../chunk-EGI7F57E.js';
13
13
  import '../chunk-GD26FI4J.js';
14
14
  import '../chunk-SLBO4SEE.js';
15
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-VEVFVWF3.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-MJHYLDXL.js';
17
17
  export { RouteId } from '../chunk-OUW6WESU.js';
18
18
  import '../chunk-IHOUADLX.js';
19
19
  import '../chunk-HI5V5X3S.js';
20
- import '../chunk-3O6BB7SI.js';
21
- import '../chunk-A4Y5BVJN.js';
22
- import '../chunk-MVT5AF2A.js';
20
+ import '../chunk-BAJBKIGI.js';
21
+ import '../chunk-GBJK6KKM.js';
22
+ import '../chunk-6T55LXJL.js';
23
23
  import '../chunk-Z653O7MX.js';
24
24
  import '../chunk-ZCH7W7DZ.js';
25
25
  import '../chunk-H7LRGY7U.js';
@@ -29,16 +29,16 @@ import '../chunk-7V36I5GT.js';
29
29
  import '../chunk-6WI7R2BD.js';
30
30
  import '../chunk-M5WTY3EH.js';
31
31
  import '../chunk-OAMIDZKW.js';
32
- import '../chunk-YDRURQ2W.js';
32
+ import '../chunk-CUURFACL.js';
33
33
  import '../chunk-OQIIJRAS.js';
34
34
  import '../chunk-V2ZDTY6H.js';
35
- import '../chunk-VDY3VY7S.js';
35
+ import '../chunk-3AIK4QGW.js';
36
36
  import '../chunk-5XDPAKF5.js';
37
37
  import '../chunk-GCPEMNSU.js';
38
- import '../chunk-2DUN6DZK.js';
38
+ import '../chunk-CXKA35FJ.js';
39
39
  import '../chunk-Z5M4YYWT.js';
40
40
  import '../chunk-TYNZ5B2B.js';
41
- import '../chunk-FTH3XLIN.js';
41
+ import '../chunk-W2A5AWNA.js';
42
42
  import '../chunk-AXW67SY7.js';
43
43
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
44
44
  import '../chunk-SKLEJJ6M.js';
@@ -1,9 +1,9 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-EF3PLLLA.js';
2
- import '../../chunk-T2O2IQJQ.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-WH73HWTE.js';
2
+ import '../../chunk-F3QHKYS3.js';
3
3
  import '../../chunk-MGG4XAJ5.js';
4
- import '../../chunk-VEVFVWF3.js';
4
+ import '../../chunk-MJHYLDXL.js';
5
5
  import '../../chunk-OUW6WESU.js';
6
- import '../../chunk-2DUN6DZK.js';
6
+ import '../../chunk-CXKA35FJ.js';
7
7
  import '../../chunk-Z5M4YYWT.js';
8
8
  import '../../chunk-6TFM3UTF.js';
9
9
  import '../../chunk-XMRNYUQY.js';
@@ -1,13 +1,13 @@
1
- import { wallet } from '../chunk-X6WDFQYL.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-EF3PLLLA.js';
3
- import '../chunk-T2O2IQJQ.js';
4
- import { notification } from '../chunk-DMGSEY7F.js';
5
- import { wishlist } from '../chunk-VQO4TTPE.js';
6
- import '../chunk-7PPNAVBF.js';
1
+ import { wallet } from '../chunk-4FFABE3P.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-WH73HWTE.js';
3
+ import '../chunk-F3QHKYS3.js';
4
+ import { notification } from '../chunk-MA3R5QON.js';
5
+ import { wishlist } from '../chunk-QOC7HUYN.js';
6
+ import '../chunk-R72B5P4R.js';
7
7
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
8
- import { unauthorized, orUnauthorized } from '../chunk-VEVFVWF3.js';
8
+ import { unauthorized, orUnauthorized } from '../chunk-MJHYLDXL.js';
9
9
  import { RouteId } from '../chunk-OUW6WESU.js';
10
- import { getAuthToken } from '../chunk-2DUN6DZK.js';
10
+ import { getAuthToken } from '../chunk-CXKA35FJ.js';
11
11
  import '../chunk-Z5M4YYWT.js';
12
12
  import '../chunk-6TFM3UTF.js';
13
13
  import '../chunk-XMRNYUQY.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-65NYRBON.js').then((m) => ({ default: m.ProfilePage }))
35
+ () => import('../ProfilePage-KN7BWYFZ.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-HHX3OVOF.js').then((m) => ({ default: m.WishlistPage }))
77
+ () => import('../WishlistPage-CQ62GPLC.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-J3CX6MLS.js').then((m) => ({ default: m.WalletPage }))
120
+ () => import('../WalletPage-R6G5BQAI.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-AMY7TARF.js').then((m) => ({ default: m.NotificationsPage }))
157
+ () => import('../NotificationsPage-K2CJOV2N.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-7VGJBA5K.js').then((m) => ({ default: m.SettingsPage }))
190
+ () => import('../SettingsPage-DQAAMJE5.js').then((m) => ({ default: m.SettingsPage }))
191
191
  );
192
192
  var SettingsPage = LazySettingsPage;
193
193
  var Settings = {
@@ -1,8 +1,8 @@
1
- import { blog } from '../chunk-3QOALQQJ.js';
1
+ import { blog } from '../chunk-WPRJVK7K.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import { notFound, orThrow, responseStatusOf } from '../chunk-VEVFVWF3.js';
3
+ import { notFound, orThrow, responseStatusOf } from '../chunk-MJHYLDXL.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-2DUN6DZK.js';
5
+ import '../chunk-CXKA35FJ.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.js';
@@ -155,19 +155,19 @@ async function blogTagLoader({
155
155
 
156
156
  // src/routes/blog/index.tsx
157
157
  var LazyBlogPage = lazyComponent(
158
- () => import('../BlogPage-6ZA474IU.js').then((m) => ({ default: m.BlogPage }))
158
+ () => import('../BlogPage-CSNI6SS5.js').then((m) => ({ default: m.BlogPage }))
159
159
  );
160
160
  var LazyBlogSinglePage = lazyComponent(
161
- () => import('../BlogSinglePage-W7WYKP7W.js').then((m) => ({ default: m.BlogSinglePage }))
161
+ () => import('../BlogSinglePage-5ZY5EB6H.js').then((m) => ({ default: m.BlogSinglePage }))
162
162
  );
163
163
  var LazyBlogAuthorPage = lazyComponent(
164
- () => import('../BlogAuthorPage-LVRGWFOC.js').then((m) => ({ default: m.BlogAuthorPage }))
164
+ () => import('../BlogAuthorPage-E2WXK6HD.js').then((m) => ({ default: m.BlogAuthorPage }))
165
165
  );
166
166
  var LazyBlogCategoryPage = lazyComponent(
167
- () => import('../BlogCategoryPage-CONL6QSN.js').then((m) => ({ default: m.BlogCategoryPage }))
167
+ () => import('../BlogCategoryPage-B2JEB33A.js').then((m) => ({ default: m.BlogCategoryPage }))
168
168
  );
169
169
  var LazyBlogTagPage = lazyComponent(
170
- () => import('../BlogTagPage-G5JX7FSN.js').then((m) => ({ default: m.BlogTagPage }))
170
+ () => import('../BlogTagPage-QFS7AKNK.js').then((m) => ({ default: m.BlogTagPage }))
171
171
  );
172
172
  var BlogPage = LazyBlogPage;
173
173
  var BlogSinglePage = LazyBlogSinglePage;
@@ -1,8 +1,8 @@
1
- import { brand } from '../chunk-QXWCIK6D.js';
1
+ import { brand } from '../chunk-CNTXY27A.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import '../chunk-VEVFVWF3.js';
3
+ import '../chunk-MJHYLDXL.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-2DUN6DZK.js';
5
+ import '../chunk-CXKA35FJ.js';
6
6
  import '../chunk-Z5M4YYWT.js';
7
7
  import '../chunk-6TFM3UTF.js';
8
8
  import '../chunk-XMRNYUQY.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-TB5NDSGL.js').then((m) => ({ default: m.BrandsPage }))
29
+ () => import('../BrandsPage-QBA2WQHF.js').then((m) => ({ default: m.BrandsPage }))
30
30
  );
31
31
  var BrandsPage = LazyBrandsPage;
32
32
  async function brandsLoaderWithExtend(_ctx, extend) {
@@ -1,37 +1,37 @@
1
- import { cart } from '../chunk-PBT52UWY.js';
2
- import { loyalty } from '../chunk-B36NISD2.js';
1
+ import { cart } from '../chunk-NWQUPGB4.js';
2
+ import { loyalty } from '../chunk-X5W7HZNX.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-HZWTDQVJ.js';
4
+ import '../chunk-JDCZWE7N.js';
5
5
  import '../chunk-IXHM24Z4.js';
6
- import '../chunk-ZSEECSDV.js';
7
- import '../chunk-FXW6H6J3.js';
8
- import '../chunk-7PPNAVBF.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-Z4EQHB26.js';
10
- import '../chunk-DHKZCR6U.js';
11
- import '../chunk-JOHFXU4C.js';
6
+ import '../chunk-V6IKYNU6.js';
7
+ import '../chunk-W3QKGF2O.js';
8
+ import '../chunk-R72B5P4R.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-ELYKF67K.js';
10
+ import '../chunk-T55MRK24.js';
11
+ import '../chunk-CAAIQPEN.js';
12
12
  import '../chunk-Y32RHCOH.js';
13
- import '../chunk-BKSVKSAW.js';
13
+ import '../chunk-HPK6GB7G.js';
14
14
  import '../chunk-Q77J3D2W.js';
15
- import '../chunk-F7S2QA3D.js';
16
- import '../chunk-PCYZMJUC.js';
15
+ import '../chunk-5ABT7QLS.js';
16
+ import '../chunk-6T4HGLQM.js';
17
17
  import '../chunk-5V4W3GBI.js';
18
18
  import '../chunk-X55R4VVK.js';
19
19
  import '../chunk-YL6X3ZMG.js';
20
- import '../chunk-YEBA44IV.js';
20
+ import '../chunk-LILNJBFU.js';
21
21
  import '../chunk-OXMUPNMH.js';
22
- import '../chunk-5EN3XZ32.js';
22
+ import '../chunk-3BDSQIYZ.js';
23
23
  import '../chunk-VVZNW5CB.js';
24
24
  import '../chunk-EGI7F57E.js';
25
25
  import '../chunk-GD26FI4J.js';
26
26
  import '../chunk-SLBO4SEE.js';
27
27
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
28
- import '../chunk-VEVFVWF3.js';
28
+ import '../chunk-MJHYLDXL.js';
29
29
  import { RouteId } from '../chunk-OUW6WESU.js';
30
30
  import '../chunk-IHOUADLX.js';
31
31
  import '../chunk-HI5V5X3S.js';
32
- import '../chunk-3O6BB7SI.js';
33
- import '../chunk-A4Y5BVJN.js';
34
- import '../chunk-MVT5AF2A.js';
32
+ import '../chunk-BAJBKIGI.js';
33
+ import '../chunk-GBJK6KKM.js';
34
+ import '../chunk-6T55LXJL.js';
35
35
  import '../chunk-Z653O7MX.js';
36
36
  import '../chunk-ZCH7W7DZ.js';
37
37
  import '../chunk-H7LRGY7U.js';
@@ -41,16 +41,16 @@ import '../chunk-7V36I5GT.js';
41
41
  import '../chunk-6WI7R2BD.js';
42
42
  import '../chunk-M5WTY3EH.js';
43
43
  import '../chunk-OAMIDZKW.js';
44
- import '../chunk-YDRURQ2W.js';
44
+ import '../chunk-CUURFACL.js';
45
45
  import '../chunk-OQIIJRAS.js';
46
46
  import '../chunk-V2ZDTY6H.js';
47
- import '../chunk-VDY3VY7S.js';
47
+ import '../chunk-3AIK4QGW.js';
48
48
  import { HookSlot } from '../chunk-5XDPAKF5.js';
49
49
  import '../chunk-GCPEMNSU.js';
50
- import '../chunk-2DUN6DZK.js';
50
+ import '../chunk-CXKA35FJ.js';
51
51
  import '../chunk-Z5M4YYWT.js';
52
52
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
53
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-FTH3XLIN.js';
53
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-W2A5AWNA.js';
54
54
  import '../chunk-AXW67SY7.js';
55
55
  import '../chunk-BYMOPN2S.js';
56
56
  import '../chunk-SKLEJJ6M.js';
@@ -1,33 +1,33 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-HZWTDQVJ.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-JDCZWE7N.js';
2
2
  import '../chunk-IXHM24Z4.js';
3
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-ZSEECSDV.js';
4
- import '../chunk-FXW6H6J3.js';
5
- import '../chunk-7PPNAVBF.js';
6
- import '../chunk-DHKZCR6U.js';
7
- import '../chunk-JOHFXU4C.js';
3
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-V6IKYNU6.js';
4
+ import '../chunk-W3QKGF2O.js';
5
+ import '../chunk-R72B5P4R.js';
6
+ import '../chunk-T55MRK24.js';
7
+ import '../chunk-CAAIQPEN.js';
8
8
  import '../chunk-Y32RHCOH.js';
9
- import '../chunk-BKSVKSAW.js';
9
+ import '../chunk-HPK6GB7G.js';
10
10
  import '../chunk-Q77J3D2W.js';
11
- import '../chunk-F7S2QA3D.js';
12
- import '../chunk-PCYZMJUC.js';
11
+ import '../chunk-5ABT7QLS.js';
12
+ import '../chunk-6T4HGLQM.js';
13
13
  import '../chunk-5V4W3GBI.js';
14
14
  import '../chunk-X55R4VVK.js';
15
15
  import '../chunk-YL6X3ZMG.js';
16
- import '../chunk-YEBA44IV.js';
16
+ import '../chunk-LILNJBFU.js';
17
17
  import '../chunk-OXMUPNMH.js';
18
- import '../chunk-5EN3XZ32.js';
18
+ import '../chunk-3BDSQIYZ.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-VEVFVWF3.js';
24
+ import '../chunk-MJHYLDXL.js';
25
25
  import '../chunk-OUW6WESU.js';
26
26
  import '../chunk-IHOUADLX.js';
27
27
  import '../chunk-HI5V5X3S.js';
28
- import '../chunk-3O6BB7SI.js';
29
- import '../chunk-A4Y5BVJN.js';
30
- import '../chunk-MVT5AF2A.js';
28
+ import '../chunk-BAJBKIGI.js';
29
+ import '../chunk-GBJK6KKM.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-YDRURQ2W.js';
40
+ import '../chunk-CUURFACL.js';
41
41
  import '../chunk-OQIIJRAS.js';
42
42
  import '../chunk-V2ZDTY6H.js';
43
- import '../chunk-VDY3VY7S.js';
43
+ import '../chunk-3AIK4QGW.js';
44
44
  import '../chunk-5XDPAKF5.js';
45
45
  import '../chunk-GCPEMNSU.js';
46
- import '../chunk-2DUN6DZK.js';
46
+ import '../chunk-CXKA35FJ.js';
47
47
  import '../chunk-Z5M4YYWT.js';
48
48
  import '../chunk-TYNZ5B2B.js';
49
- import '../chunk-FTH3XLIN.js';
49
+ import '../chunk-W2A5AWNA.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-BEYWTFOR.js';
2
- import '../chunk-VEVFVWF3.js';
1
+ export { slugBrandRedirectLoader } from '../chunk-SCWUJ5PP.js';
2
+ import '../chunk-MJHYLDXL.js';
3
3
  import '../chunk-OUW6WESU.js';
4
- import '../chunk-2DUN6DZK.js';
4
+ import '../chunk-CXKA35FJ.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-B36NISD2.js';
1
+ import { loyalty } from '../chunk-X5W7HZNX.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import { unauthorized, orUnauthorized, redirect } from '../chunk-VEVFVWF3.js';
3
+ import { unauthorized, orUnauthorized, redirect } from '../chunk-MJHYLDXL.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import { getAuthToken } from '../chunk-2DUN6DZK.js';
5
+ import { getAuthToken } from '../chunk-CXKA35FJ.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-GV6WMYVE.js').then((m) => ({ default: m.LoyaltyPage }))
62
+ () => import('../LoyaltyPage-PVK7FBFE.js').then((m) => ({ default: m.LoyaltyPage }))
63
63
  );
64
64
  var LazyLoyaltyPointsPage = lazyComponent(
65
- () => import('../LoyaltyPointsPage-QNOVSCKB.js').then((m) => ({ default: m.LoyaltyPointsPage }))
65
+ () => import('../LoyaltyPointsPage-WYCO453U.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-AECYX56P.js';
1
+ import { page } from '../chunk-NRMAYV4G.js';
2
2
  import { buildHreflangAlternates } from '../chunk-MGG4XAJ5.js';
3
- import '../chunk-VEVFVWF3.js';
3
+ import '../chunk-MJHYLDXL.js';
4
4
  import { RouteId } from '../chunk-OUW6WESU.js';
5
- import '../chunk-2DUN6DZK.js';
5
+ import '../chunk-CXKA35FJ.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-D7I6EHBF.js').then((m) => ({ default: m.PageSingle }))
34
+ () => import('../PageSingle-L5EBQGWS.js').then((m) => ({ default: m.PageSingle }))
35
35
  );
36
36
  var PageSingleLazy = LazyPageSingle;
37
37
  async function loader(ctx, extend) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProductListPage.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/ProductListPage.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAQrD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,qBAAqB,+BAqSvB"}
1
+ {"version":3,"file":"ProductListPage.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/ProductListPage.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AASrD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,qBAAqB,+BAsSvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAppliedFilters.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/useAppliedFilters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,KAAK,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAM9C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAyBhF;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf;IACD,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAgDA"}
1
+ {"version":3,"file":"useAppliedFilters.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/useAppliedFilters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIrD,KAAK,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAM9C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAyBhF;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf;IACD,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAmDA"}