@salla.sa/twilight-theme-engine 1.0.50 → 1.0.52

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 (155) hide show
  1. package/dist/{AddToCartForm-YAHPV2C3.js → AddToCartForm-CO5QIWTJ.js} +3 -3
  2. package/dist/{AddToCartForm-YAHPV2C3.js.map → AddToCartForm-CO5QIWTJ.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-JSJUEQN4.js → BlogAuthorPage-MTGRJW6C.js} +6 -6
  4. package/dist/{BlogAuthorPage-JSJUEQN4.js.map → BlogAuthorPage-MTGRJW6C.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-XS23GSJZ.js → BlogCategoryPage-J5643FWA.js} +6 -6
  6. package/dist/{BlogCategoryPage-XS23GSJZ.js.map → BlogCategoryPage-J5643FWA.js.map} +1 -1
  7. package/dist/{BlogPage-2OFSXR3P.js → BlogPage-IQDW2HYN.js} +5 -5
  8. package/dist/{BlogPage-2OFSXR3P.js.map → BlogPage-IQDW2HYN.js.map} +1 -1
  9. package/dist/{BlogSinglePage-MJZPJF3L.js → BlogSinglePage-J7POWQFT.js} +5 -5
  10. package/dist/{BlogSinglePage-MJZPJF3L.js.map → BlogSinglePage-J7POWQFT.js.map} +1 -1
  11. package/dist/{BlogTagPage-DVF47A6M.js → BlogTagPage-STS5PZHM.js} +6 -6
  12. package/dist/{BlogTagPage-DVF47A6M.js.map → BlogTagPage-STS5PZHM.js.map} +1 -1
  13. package/dist/{BrandsPage-KXLRKGMS.js → BrandsPage-E2HRAZN3.js} +5 -5
  14. package/dist/{BrandsPage-KXLRKGMS.js.map → BrandsPage-E2HRAZN3.js.map} +1 -1
  15. package/dist/{Breadcrumb-NE32QNQ2.js → Breadcrumb-I2CYGO5K.js} +5 -5
  16. package/dist/{Breadcrumb-NE32QNQ2.js.map → Breadcrumb-I2CYGO5K.js.map} +1 -1
  17. package/dist/{CartItem-BNJBC625.js → CartItem-CRUPTVF6.js} +5 -5
  18. package/dist/{CartItem-BNJBC625.js.map → CartItem-CRUPTVF6.js.map} +1 -1
  19. package/dist/{CartSummary-MRCBKU7M.js → CartSummary-PPTKJM2S.js} +5 -5
  20. package/dist/{CartSummary-MRCBKU7M.js.map → CartSummary-PPTKJM2S.js.map} +1 -1
  21. package/dist/{Copyright-FQOOELST.js → Copyright-67RVBNSV.js} +3 -3
  22. package/dist/{Copyright-FQOOELST.js.map → Copyright-67RVBNSV.js.map} +1 -1
  23. package/dist/{CustomerLayout-Q44HCS3A.js → CustomerLayout-ZJUNE4NT.js} +7 -6
  24. package/dist/CustomerLayout-ZJUNE4NT.js.map +1 -0
  25. package/dist/{Footer-PHRI3YVQ.js → Footer-K25ISQ6E.js} +5 -5
  26. package/dist/{Footer-PHRI3YVQ.js.map → Footer-K25ISQ6E.js.map} +1 -1
  27. package/dist/{Header-PGYFFCJT.js → Header-L7ZAPT45.js} +4 -4
  28. package/dist/{Header-PGYFFCJT.js.map → Header-L7ZAPT45.js.map} +1 -1
  29. package/dist/{LoyaltyPage-RFN2UQFQ.js → LoyaltyPage-X7BFPO4O.js} +5 -5
  30. package/dist/{LoyaltyPage-RFN2UQFQ.js.map → LoyaltyPage-X7BFPO4O.js.map} +1 -1
  31. package/dist/{MainMenu-OMVXJIFY.js → MainMenu-ZI57F6VG.js} +3 -3
  32. package/dist/{MainMenu-OMVXJIFY.js.map → MainMenu-ZI57F6VG.js.map} +1 -1
  33. package/dist/{MasterLayout-UULUBWE2.js → MasterLayout-FGMCLVWW.js} +5 -5
  34. package/dist/{MasterLayout-UULUBWE2.js.map → MasterLayout-FGMCLVWW.js.map} +1 -1
  35. package/dist/{MobileMenu-WRKCMIKG.js → MobileMenu-QKQZSSOA.js} +5 -5
  36. package/dist/{MobileMenu-WRKCMIKG.js.map → MobileMenu-QKQZSSOA.js.map} +1 -1
  37. package/dist/{NotificationsPage-6MRG2NUF.js → NotificationsPage-OMVSSTVA.js} +5 -5
  38. package/dist/{NotificationsPage-6MRG2NUF.js.map → NotificationsPage-OMVSSTVA.js.map} +1 -1
  39. package/dist/{OrderSinglePage-432Y6VX4.js → OrderSinglePage-CPX6J7YO.js} +48 -6
  40. package/dist/OrderSinglePage-CPX6J7YO.js.map +1 -0
  41. package/dist/{OrdersPage-DF6BGH5S.js → OrdersPage-SFLQKJFQ.js} +63 -7
  42. package/dist/OrdersPage-SFLQKJFQ.js.map +1 -0
  43. package/dist/{PageSingle-QFVGVOMX.js → PageSingle-R2W2QSTE.js} +3 -3
  44. package/dist/{PageSingle-QFVGVOMX.js.map → PageSingle-R2W2QSTE.js.map} +1 -1
  45. package/dist/{ProductDetails-6YDEUO7V.js → ProductDetails-2L34UXT3.js} +3 -3
  46. package/dist/{ProductDetails-6YDEUO7V.js.map → ProductDetails-2L34UXT3.js.map} +1 -1
  47. package/dist/{ProfilePage-UYKPJ5CH.js → ProfilePage-LPAZYMHH.js} +5 -5
  48. package/dist/{ProfilePage-UYKPJ5CH.js.map → ProfilePage-LPAZYMHH.js.map} +1 -1
  49. package/dist/{SeoCartWidget-II274FVM.js → SeoCartWidget-AH4VVASI.js} +5 -5
  50. package/dist/{SeoCartWidget-II274FVM.js.map → SeoCartWidget-AH4VVASI.js.map} +1 -1
  51. package/dist/{SettingsPage-DUR3FBEQ.js → SettingsPage-RJUZW3V4.js} +5 -5
  52. package/dist/{SettingsPage-DUR3FBEQ.js.map → SettingsPage-RJUZW3V4.js.map} +1 -1
  53. package/dist/{StoreClosedNotification-7CGAUSVC.js → StoreClosedNotification-FPNPF2GW.js} +6 -6
  54. package/dist/{StoreClosedNotification-7CGAUSVC.js.map → StoreClosedNotification-FPNPF2GW.js.map} +1 -1
  55. package/dist/{TestimonialsPage-BJOG3NYE.js → TestimonialsPage-KCTMCLFB.js} +3 -3
  56. package/dist/{TestimonialsPage-BJOG3NYE.js.map → TestimonialsPage-KCTMCLFB.js.map} +1 -1
  57. package/dist/{ThankYouPage-MEILFVYA.js → ThankYouPage-WOD6Y6TV.js} +11 -5
  58. package/dist/ThankYouPage-WOD6Y6TV.js.map +1 -0
  59. package/dist/{WalletPage-5ZCAQGGM.js → WalletPage-W2IDME7R.js} +5 -5
  60. package/dist/{WalletPage-5ZCAQGGM.js.map → WalletPage-W2IDME7R.js.map} +1 -1
  61. package/dist/{WishlistPage-XWSJ5QBM.js → WishlistPage-NE74MFAD.js} +7 -7
  62. package/dist/{WishlistPage-XWSJ5QBM.js.map → WishlistPage-NE74MFAD.js.map} +1 -1
  63. package/dist/ambient/salla-components.d.ts +2 -0
  64. package/dist/api/product.d.ts +8 -0
  65. package/dist/api/product.d.ts.map +1 -1
  66. package/dist/api/product.js +1 -1
  67. package/dist/api/wishlist.js +2 -2
  68. package/dist/{chunk-ZW6ZUOM5.js → chunk-5NHSIK3V.js} +10 -8
  69. package/dist/chunk-5NHSIK3V.js.map +1 -0
  70. package/dist/{chunk-UWS2QXFK.js → chunk-AEPO4POY.js} +5 -5
  71. package/dist/{chunk-UWS2QXFK.js.map → chunk-AEPO4POY.js.map} +1 -1
  72. package/dist/{chunk-6ZAG7QEF.js → chunk-ASN3HL47.js} +3 -3
  73. package/dist/{chunk-6ZAG7QEF.js.map → chunk-ASN3HL47.js.map} +1 -1
  74. package/dist/{chunk-Y5SXSIZ7.js → chunk-GWKCKU4G.js} +8 -7
  75. package/dist/chunk-GWKCKU4G.js.map +1 -0
  76. package/dist/{chunk-WYD2ZWWY.js → chunk-MQGAYYYV.js} +3 -3
  77. package/dist/{chunk-WYD2ZWWY.js.map → chunk-MQGAYYYV.js.map} +1 -1
  78. package/dist/{chunk-2BHKKJLP.js → chunk-QBRYGYIP.js} +5 -5
  79. package/dist/{chunk-2BHKKJLP.js.map → chunk-QBRYGYIP.js.map} +1 -1
  80. package/dist/{chunk-VSBG4G2C.js → chunk-TEOX2GUU.js} +3 -3
  81. package/dist/{chunk-VSBG4G2C.js.map → chunk-TEOX2GUU.js.map} +1 -1
  82. package/dist/{chunk-CBNUZ7LI.js → chunk-UYK4CSL3.js} +28 -3
  83. package/dist/chunk-UYK4CSL3.js.map +1 -0
  84. package/dist/chunk-V4ILJDUG.js +14 -0
  85. package/dist/{chunk-BOFY2AY5.js.map → chunk-V4ILJDUG.js.map} +1 -1
  86. package/dist/{chunk-6LTCVLW6.js → chunk-VW7N4JHG.js} +4 -4
  87. package/dist/{chunk-6LTCVLW6.js.map → chunk-VW7N4JHG.js.map} +1 -1
  88. package/dist/{chunk-4QPX5WQZ.js → chunk-WEN7W6YS.js} +4 -4
  89. package/dist/{chunk-4QPX5WQZ.js.map → chunk-WEN7W6YS.js.map} +1 -1
  90. package/dist/{chunk-CFDDMZSU.js → chunk-YHHYXRFV.js} +4 -4
  91. package/dist/{chunk-CFDDMZSU.js.map → chunk-YHHYXRFV.js.map} +1 -1
  92. package/dist/{chunk-K7KOSHNZ.js → chunk-YIAM7LGR.js} +3 -3
  93. package/dist/{chunk-K7KOSHNZ.js.map → chunk-YIAM7LGR.js.map} +1 -1
  94. package/dist/components/cart/index.js +1 -1
  95. package/dist/components/common/index.js +1 -1
  96. package/dist/components/drawer/index.js +3 -3
  97. package/dist/components/home/index.js +6 -6
  98. package/dist/components/layout/CustomerLayout.d.ts.map +1 -1
  99. package/dist/components/layout/index.js +5 -5
  100. package/dist/components/product/ProductCard.d.ts.map +1 -1
  101. package/dist/components/product/index.js +4 -4
  102. package/dist/components/store/index.js +5 -5
  103. package/dist/{document-class-GIJJRQVN.js → document-class-XJ3QIMBO.js} +4 -4
  104. package/dist/{document-class-GIJJRQVN.js.map → document-class-XJ3QIMBO.js.map} +1 -1
  105. package/dist/hooks/index.js +3 -3
  106. package/dist/hooks/useGtm.js +3 -3
  107. package/dist/hooks/useMoney.js +3 -3
  108. package/dist/hooks/usePageConfig.d.ts.map +1 -1
  109. package/dist/hooks/useStore.js +3 -3
  110. package/dist/index.js +3 -3
  111. package/dist/{not-found-MZ7B6HCJ.js → not-found-DLUE3J4K.js} +53 -7
  112. package/dist/not-found-DLUE3J4K.js.map +1 -0
  113. package/dist/providers/index.js +3 -3
  114. package/dist/routes/account/orders/OrderSinglePage.d.ts +1 -1
  115. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  116. package/dist/routes/account/orders/OrdersPage.d.ts.map +1 -1
  117. package/dist/routes/account/orders.js +1 -1
  118. package/dist/routes/account.js +8 -8
  119. package/dist/routes/blog.js +5 -5
  120. package/dist/routes/brands.js +1 -1
  121. package/dist/routes/cart.js +8 -8
  122. package/dist/routes/home.js +7 -7
  123. package/dist/routes/loyalty.js +1 -1
  124. package/dist/routes/not-found.d.ts +1 -1
  125. package/dist/routes/not-found.d.ts.map +1 -1
  126. package/dist/routes/page.js +1 -1
  127. package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
  128. package/dist/routes/product-listing/index.d.ts +2 -0
  129. package/dist/routes/product-listing/index.d.ts.map +1 -1
  130. package/dist/routes/product-listing/useAppliedFilters.d.ts +43 -0
  131. package/dist/routes/product-listing/useAppliedFilters.d.ts.map +1 -0
  132. package/dist/routes/product-listing.js +143 -45
  133. package/dist/routes/product-listing.js.map +1 -1
  134. package/dist/routes/product-short-link.d.ts +20 -0
  135. package/dist/routes/product-short-link.d.ts.map +1 -0
  136. package/dist/routes/product.js +7 -7
  137. package/dist/routes/product.js.map +1 -1
  138. package/dist/routes/testimonials.js +1 -1
  139. package/dist/routes/thank-you/ThankYouPage.d.ts +1 -1
  140. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  141. package/dist/routes/thank-you.js +1 -1
  142. package/dist/skeleton.js +7 -7
  143. package/dist/tanstack.js +3 -3
  144. package/dist/types/index.d.ts +7 -0
  145. package/dist/types/index.d.ts.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/CustomerLayout-Q44HCS3A.js.map +0 -1
  148. package/dist/OrderSinglePage-432Y6VX4.js.map +0 -1
  149. package/dist/OrdersPage-DF6BGH5S.js.map +0 -1
  150. package/dist/ThankYouPage-MEILFVYA.js.map +0 -1
  151. package/dist/chunk-BOFY2AY5.js +0 -14
  152. package/dist/chunk-CBNUZ7LI.js.map +0 -1
  153. package/dist/chunk-Y5SXSIZ7.js.map +0 -1
  154. package/dist/chunk-ZW6ZUOM5.js.map +0 -1
  155. package/dist/not-found-MZ7B6HCJ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/account/orders/loader.ts","../src/routes/account/orders/index.tsx"],"names":[],"mappings":";;;;;;;;AAOA,eAAsB,YAAA,CACpB,KACA,MAAA,EAI0B;AAC1B,EAAA,MAAM,QAAQ,GAAA,CAAI,KAAA;AAClB,EAAA,MAAM,SAAA,GAAY,OAAO,MAAA,KAAW,SAAA;AACpC,EAAA,MAAM,WAAW,MAAM,cAAA;AAAA,IACrB,MAAM,IAAA,CAAK;AAAA,MACT,QAAQ,KAAA,EAAO,MAAA;AAAA,MACf,iBAAiB,KAAA,EAAO,eAAA;AAAA,MACxB,GAAI,IAAI,UAAA,GAAa,EAAE,YAAY,GAAA,CAAI,UAAA,KAAe;AAAC,KACxD;AAAA,GACH;AACA,EAAA,MAAM,IAAA,GAAO,oBAAmB,CAAE,IAAA;AAClC,EAAA,MAAM,QAAA,GAA4B;AAAA,IAChC,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,SAAA,GACH,IAAA,CAAK,CAAA,CAAE,8BAA8B,KAAK,gBAAA,GAC1C,IAAA,CAAK,CAAA,CAAE,sBAAsB,CAAA,IAAK,QAAA;AAAA,MACtC,IAAA,EAAM;AAAA,KACR;AAAA,IACA,QAAQ,QAAA,CAAS,IAAA;AAAA,IACjB,QAAQ,QAAA,CAAS,MAAA;AAAA,IACjB;AAAA,GACF;AAEA,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,QAAA,EAAU,EAAE,MAAA,EAAQ,IAAI,CAAA;AACnD,IAAA,OAAO,EAAE,GAAG,QAAA,EAAU,GAAG,KAAA,EAAM;AAAA,EACjC;AACA,EAAA,OAAO,QAAA;AACT;AAEA,eAAsB,iBAAA,CAAkB;AAAA,EACtC;AACF,CAAA,EAEkC;AAChC,EAAA,MAAM,IAAA,GAAO,MAAM,KAAA,CAAM,WAAA,CAAY,OAAO,EAAE,CAAA;AAC9C,EAAA,MAAM,IAAA,GAAO,oBAAmB,CAAE,IAAA;AAClC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,MAAM,OAAA,CAAQ,sBAAA;AAAA,MACd,EAAA,EAAI,MAAA,CAAO,MAAA,CAAO,EAAE,CAAA;AAAA,MACpB,KAAA,EAAA,CAAQ,KAAK,CAAA,CAAE,4BAA4B,KAAK,eAAA,EAAiB,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,EAAE;AAAA,KAC3F;AAAA,IACA,OAAO,IAAA,CAAK;AAAA,GACd;AACF;;;AChDA,IAAM,cAAA,GAAiB,IAAA,CAAK,MAAM,OAAO,0BAAc,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,UAAA,GAAa,CAAC,CAAA;AACjG,IAAM,mBAAA,GAAsB,IAAA;AAAA,EAAK,MAC/B,OAAO,+BAAmB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,eAAA,EAAgB,CAAE;AAC1E,CAAA;AAEO,IAAM,UAAA,GAAa;AACnB,IAAM,eAAA,GAAkB;AAS/B,eAAe,sBAAA,CACb,KACA,MAAA,EAI0B;AAC1B,EAAA,MAAM,QAAQ,GAAA,CAAI,MAAA;AAClB,EAAA,MAAM,IAAA,GAAO,MAAM,YAAA,CAAa,EAAE,OAAO,UAAA,EAAY,GAAA,CAAI,UAAA,EAAW,EAAG,MAAM,CAAA;AAE7E,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,IAAI,CAAA;AAC/C,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,UAAA,CAAW,KAAsB,IAAA,EAAuC;AAC/E,EAAA,MAAM,SAAA,GAAY,GAAA,CAAI,QAAA,CAAS,MAAA,EAAQ,MAAA,KAAW,SAAA;AAClD,EAAA,MAAM,IAAA,GAAuB;AAAA,IAC3B,OAAO,GAAA,CAAI,IAAA,CAAK,CAAA,CAAE,SAAA,GAAY,iCAAiC,sBAAsB,CAAA;AAAA,IACrF,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;AAEA,eAAe,2BAAA,CACb,KACA,MAAA,EAI+B;AAC/B,EAAA,MAAM,OAAO,MAAM,iBAAA,CAAkB,EAAE,MAAA,EAAQ,GAAA,CAAI,QAAQ,CAAA;AAE3D,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,eAAA,CAAgB,KAAsB,IAAA,EAA4C;AACzF,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,MAAA,GAAS;AAAA,EACpB,IAAI,OAAA,CAAQ,qBAAA;AAAA,EACZ,MAAA,EAAQ,sBAAA;AAAA,EACR,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW;AACb;AACO,IAAM,WAAA,GAAc;AAAA,EACzB,IAAI,OAAA,CAAQ,sBAAA;AAAA,EACZ,MAAA,EAAQ,2BAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,SAAA,EAAW;AACb","file":"chunk-4QPX5WQZ.js","sourcesContent":["import { order } from '../../../api/order';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\nimport { orUnauthorized } from '../../../providers/NavigationProvider';\nimport type { OrdersPageProps, OrderSinglePageProps, OrdersQuery } from './types';\nimport type { IdParams } from '../../types';\n\nexport async function ordersLoader(\n ctx: { query?: OrdersQuery; with_items?: boolean | number },\n extend?: (\n data: OrdersPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrdersPageProps> {\n const query = ctx.query;\n const isPending = query?.status === 'pending';\n const response = await orUnauthorized(\n order.list({\n status: query?.status,\n feedback_status: query?.feedback_status,\n ...(ctx.with_items ? { with_items: ctx.with_items } : {}),\n })\n );\n const i18n = getTwilightContext().i18n;\n const pageData: OrdersPageProps = {\n page: {\n title: isPending\n ? i18n.t('common.titles.pending_orders') || 'Pending Orders'\n : i18n.t('common.titles.orders') || 'Orders',\n slug: 'orders',\n },\n orders: response.data,\n cursor: response.cursor,\n query,\n };\n\n if (extend) {\n const extra = await extend(pageData, { params: {} });\n return { ...pageData, ...extra } as OrdersPageProps;\n }\n return pageData;\n}\n\nexport async function orderSingleLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<OrderSinglePageProps> {\n const data = await order.findOrThrow(params.id);\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n slug: RouteId.CUSTOMER_ORDERS_SINGLE,\n id: String(params.id),\n title: (i18n.t('pages.orders.order_details') || 'Order Details').replace(':id', params.id),\n },\n order: data.order,\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { ordersLoader, orderSingleLoader } from './loader';\nimport type { OrdersPageProps, OrderSinglePageProps, OrdersSearchParams } from './types';\nimport type { IdParams } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\n// Lazy-load components for code-splitting\nconst LazyOrdersPage = lazy(() => import('./OrdersPage').then((m) => ({ default: m.OrdersPage })));\nconst LazyOrderSinglePage = lazy(() =>\n import('./OrderSinglePage').then((m) => ({ default: m.OrderSinglePage }))\n);\n\nexport const OrdersPage = LazyOrdersPage;\nexport const OrderSinglePage = LazyOrderSinglePage;\nexport { ordersLoader, orderSingleLoader } from './loader';\nexport type {\n OrdersPageProps,\n OrderSinglePageProps,\n OrdersSearchParams,\n OrdersQuery,\n} from './types';\n\nasync function ordersLoaderWithExtend(\n ctx: { search?: OrdersSearchParams; locale?: string; with_items?: boolean | number },\n extend?: (\n data: OrdersPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrdersPageProps> {\n const query = ctx.search;\n const data = await ordersLoader({ query, with_items: ctx.with_items }, extend);\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as OrdersPageProps;\n }\n return data;\n}\n\nfunction ordersHead(ctx: TwilightContext, data: OrdersPageProps): HeadDescriptor {\n const isPending = ctx.location.search?.status === 'pending';\n const base: HeadDescriptor = {\n title: ctx.i18n.t(isPending ? 'common.titles.pending_orders' : 'common.titles.orders'),\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function orderSingleLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: OrderSinglePageProps,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrderSinglePageProps> {\n const data = await orderSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as OrderSinglePageProps;\n }\n return data;\n}\n\nfunction orderSingleHead(ctx: TwilightContext, data: OrderSinglePageProps): 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 Orders = {\n id: RouteId.CUSTOMER_ORDERS_INDEX,\n loader: ordersLoaderWithExtend,\n head: ordersHead,\n Component: LazyOrdersPage,\n} as const;\nexport const OrderSingle = {\n id: RouteId.CUSTOMER_ORDERS_SINGLE,\n loader: orderSingleLoaderWithExtend,\n head: orderSingleHead,\n Component: LazyOrderSinglePage,\n} as const;\n"]}
1
+ {"version":3,"sources":["../src/routes/account/orders/loader.ts","../src/routes/account/orders/index.tsx"],"names":[],"mappings":"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","file":"chunk-WEN7W6YS.js","sourcesContent":["import { order } from '../../../api/order';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\nimport { orUnauthorized } from '../../../providers/NavigationProvider';\nimport type { OrdersPageProps, OrderSinglePageProps, OrdersQuery } from './types';\nimport type { IdParams } from '../../types';\n\nexport async function ordersLoader(\n ctx: { query?: OrdersQuery; with_items?: boolean | number },\n extend?: (\n data: OrdersPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrdersPageProps> {\n const query = ctx.query;\n const isPending = query?.status === 'pending';\n const response = await orUnauthorized(\n order.list({\n status: query?.status,\n feedback_status: query?.feedback_status,\n ...(ctx.with_items ? { with_items: ctx.with_items } : {}),\n })\n );\n const i18n = getTwilightContext().i18n;\n const pageData: OrdersPageProps = {\n page: {\n title: isPending\n ? i18n.t('common.titles.pending_orders') || 'Pending Orders'\n : i18n.t('common.titles.orders') || 'Orders',\n slug: 'orders',\n },\n orders: response.data,\n cursor: response.cursor,\n query,\n };\n\n if (extend) {\n const extra = await extend(pageData, { params: {} });\n return { ...pageData, ...extra } as OrdersPageProps;\n }\n return pageData;\n}\n\nexport async function orderSingleLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<OrderSinglePageProps> {\n const data = await order.findOrThrow(params.id);\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n slug: RouteId.CUSTOMER_ORDERS_SINGLE,\n id: String(params.id),\n title: (i18n.t('pages.orders.order_details') || 'Order Details').replace(':id', params.id),\n },\n order: data.order,\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { ordersLoader, orderSingleLoader } from './loader';\nimport type { OrdersPageProps, OrderSinglePageProps, OrdersSearchParams } from './types';\nimport type { IdParams } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\n// Lazy-load components for code-splitting\nconst LazyOrdersPage = lazy(() => import('./OrdersPage').then((m) => ({ default: m.OrdersPage })));\nconst LazyOrderSinglePage = lazy(() =>\n import('./OrderSinglePage').then((m) => ({ default: m.OrderSinglePage }))\n);\n\nexport const OrdersPage = LazyOrdersPage;\nexport const OrderSinglePage = LazyOrderSinglePage;\nexport { ordersLoader, orderSingleLoader } from './loader';\nexport type {\n OrdersPageProps,\n OrderSinglePageProps,\n OrdersSearchParams,\n OrdersQuery,\n} from './types';\n\nasync function ordersLoaderWithExtend(\n ctx: { search?: OrdersSearchParams; locale?: string; with_items?: boolean | number },\n extend?: (\n data: OrdersPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrdersPageProps> {\n const query = ctx.search;\n const data = await ordersLoader({ query, with_items: ctx.with_items }, extend);\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as OrdersPageProps;\n }\n return data;\n}\n\nfunction ordersHead(ctx: TwilightContext, data: OrdersPageProps): HeadDescriptor {\n const isPending = ctx.location.search?.status === 'pending';\n const base: HeadDescriptor = {\n title: ctx.i18n.t(isPending ? 'common.titles.pending_orders' : 'common.titles.orders'),\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function orderSingleLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: OrderSinglePageProps,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<OrderSinglePageProps> {\n const data = await orderSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as OrderSinglePageProps;\n }\n return data;\n}\n\nfunction orderSingleHead(ctx: TwilightContext, data: OrderSinglePageProps): 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 Orders = {\n id: RouteId.CUSTOMER_ORDERS_INDEX,\n loader: ordersLoaderWithExtend,\n head: ordersHead,\n Component: LazyOrdersPage,\n} as const;\nexport const OrderSingle = {\n id: RouteId.CUSTOMER_ORDERS_SINGLE,\n loader: orderSingleLoaderWithExtend,\n head: orderSingleHead,\n Component: LazyOrderSinglePage,\n} as const;\n"]}
@@ -1,6 +1,6 @@
1
- import { useDate } from './chunk-Y5SXSIZ7.js';
1
+ import { useDate } from './chunk-GWKCKU4G.js';
2
2
  import { useTranslation } from './chunk-TYNZ5B2B.js';
3
- import { Image } from './chunk-WYD2ZWWY.js';
3
+ import { Image } from './chunk-MQGAYYYV.js';
4
4
  import { Link } from './chunk-AXW67SY7.js';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -61,5 +61,5 @@ function BlogListLayout({
61
61
  }
62
62
 
63
63
  export { BlogArticleCard, BlogListLayout };
64
- //# sourceMappingURL=chunk-CFDDMZSU.js.map
65
- //# sourceMappingURL=chunk-CFDDMZSU.js.map
64
+ //# sourceMappingURL=chunk-YHHYXRFV.js.map
65
+ //# sourceMappingURL=chunk-YHHYXRFV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/blog/components.tsx"],"names":[],"mappings":"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","file":"chunk-CFDDMZSU.js","sourcesContent":["import type { ReactNode } from 'react';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { useDate } from '../../hooks';\nimport { Image, Link } from '../../components/common';\nimport type { BlogCategory, ArticleSummary } from './types';\n\nexport function BlogCategoriesSidebar({ categories }: { categories: BlogCategory[] }) {\n const { t } = useTranslation();\n\n if (!categories.length) return null;\n\n return (\n <nav aria-label=\"Sidebar\" className=\"hidden lg:block lg:sticky shrink-0 top-24 col-span-2\">\n <h2 className=\"font-bold mb-3\">{t('pages.blog_categories.categories')}</h2>\n <ul>\n {categories.map((category) => (\n <li key={category.id} className={category.is_current ? 'text-primary' : ''}>\n <Link className=\"py-3 block text-sm hover:text-primary\" to={category.url}>\n {category.name}\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n}\n\nexport function BlogArticleCard({\n article,\n showAuthor = false,\n}: {\n article: ArticleSummary;\n showAuthor?: boolean;\n}) {\n const { format: formatDate } = useDate();\n\n return (\n <div className=\"list-block post-entry relative h-full transition-shadow duration-500 bg-white hover:shadow-default rounded-lg justify-around overflow-hidden flex flex-col\">\n <Link\n to={article.url}\n className=\"post-entry__image relative overflow-hidden hover:opacity-90 w-full h-56 bg-border-color flex items-center justify-center\"\n >\n {article.image && (\n <Image\n className=\"h-full w-full object-cover\"\n src={article.image}\n alt={article.name}\n aspectRatio=\"16/9\"\n />\n )}\n </Link>\n <div className=\"flex-1 px-5 pt-5 pb-7\">\n <div className=\"mb-2.5 text-gray-500 rounded-md inline-flex text-sm rtl:space-x-reverse space-x-5\">\n <div className=\"flex items-center\">\n <i className=\"sicon-calendar-date rtl:ml-1 ltr:mr-1\"></i>\n <span>{formatDate(article.created_at)}</span>\n </div>\n {showAuthor && article.author && (\n <Link to={article.author.url} className=\"flex items-center hover:text-dark\">\n <i className=\"sicon-user rtl:ml-1 ltr:mr-1\"></i>\n <span>{article.author.name}</span>\n </Link>\n )}\n </div>\n <h3 className=\"post-entry__title text-sm font-bold text-gray-800 leading-6 mb-2.5\">\n <Link to={article.url}>{article.name}</Link>\n </h3>\n <p className=\"text-sm text-gray-500 leading-6 mb-2.5\">{article.description}</p>\n </div>\n </div>\n );\n}\n\nexport function BlogListLayout({\n categories,\n children,\n}: {\n categories: BlogCategory[];\n children: ReactNode;\n}) {\n return (\n <div className=\"grid grid-cols-1 lg:grid-cols-8 gap-8\">\n <BlogCategoriesSidebar categories={categories} />\n <div className=\"main-content lg:col-span-6\">{children}</div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/blog/components.tsx"],"names":[],"mappings":"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","file":"chunk-YHHYXRFV.js","sourcesContent":["import type { ReactNode } from 'react';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { useDate } from '../../hooks';\nimport { Image, Link } from '../../components/common';\nimport type { BlogCategory, ArticleSummary } from './types';\n\nexport function BlogCategoriesSidebar({ categories }: { categories: BlogCategory[] }) {\n const { t } = useTranslation();\n\n if (!categories.length) return null;\n\n return (\n <nav aria-label=\"Sidebar\" className=\"hidden lg:block lg:sticky shrink-0 top-24 col-span-2\">\n <h2 className=\"font-bold mb-3\">{t('pages.blog_categories.categories')}</h2>\n <ul>\n {categories.map((category) => (\n <li key={category.id} className={category.is_current ? 'text-primary' : ''}>\n <Link className=\"py-3 block text-sm hover:text-primary\" to={category.url}>\n {category.name}\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n}\n\nexport function BlogArticleCard({\n article,\n showAuthor = false,\n}: {\n article: ArticleSummary;\n showAuthor?: boolean;\n}) {\n const { format: formatDate } = useDate();\n\n return (\n <div className=\"list-block post-entry relative h-full transition-shadow duration-500 bg-white hover:shadow-default rounded-lg justify-around overflow-hidden flex flex-col\">\n <Link\n to={article.url}\n className=\"post-entry__image relative overflow-hidden hover:opacity-90 w-full h-56 bg-border-color flex items-center justify-center\"\n >\n {article.image && (\n <Image\n className=\"h-full w-full object-cover\"\n src={article.image}\n alt={article.name}\n aspectRatio=\"16/9\"\n />\n )}\n </Link>\n <div className=\"flex-1 px-5 pt-5 pb-7\">\n <div className=\"mb-2.5 text-gray-500 rounded-md inline-flex text-sm rtl:space-x-reverse space-x-5\">\n <div className=\"flex items-center\">\n <i className=\"sicon-calendar-date rtl:ml-1 ltr:mr-1\"></i>\n <span>{formatDate(article.created_at)}</span>\n </div>\n {showAuthor && article.author && (\n <Link to={article.author.url} className=\"flex items-center hover:text-dark\">\n <i className=\"sicon-user rtl:ml-1 ltr:mr-1\"></i>\n <span>{article.author.name}</span>\n </Link>\n )}\n </div>\n <h3 className=\"post-entry__title text-sm font-bold text-gray-800 leading-6 mb-2.5\">\n <Link to={article.url}>{article.name}</Link>\n </h3>\n <p className=\"text-sm text-gray-500 leading-6 mb-2.5\">{article.description}</p>\n </div>\n </div>\n );\n}\n\nexport function BlogListLayout({\n categories,\n children,\n}: {\n categories: BlogCategory[];\n children: ReactNode;\n}) {\n return (\n <div className=\"grid grid-cols-1 lg:grid-cols-8 gap-8\">\n <BlogCategoriesSidebar categories={categories} />\n <div className=\"main-content lg:col-span-6\">{children}</div>\n </div>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { useOpeningHours } from './chunk-Y5SXSIZ7.js';
1
+ import { useOpeningHours } from './chunk-GWKCKU4G.js';
2
2
  import { useIsProduct } from './chunk-JK77XRXR.js';
3
3
  import { useTranslation } from './chunk-TYNZ5B2B.js';
4
4
  import { useTwilight } from './chunk-DF6FBKDN.js';
@@ -54,5 +54,5 @@ function StoreClosedNotification(_props) {
54
54
  }
55
55
 
56
56
  export { StoreClosedNotification };
57
- //# sourceMappingURL=chunk-K7KOSHNZ.js.map
58
- //# sourceMappingURL=chunk-K7KOSHNZ.js.map
57
+ //# sourceMappingURL=chunk-YIAM7LGR.js.map
58
+ //# sourceMappingURL=chunk-YIAM7LGR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/store/StoreClosedNotification.tsx"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,wBAAwB,MAAA,EAAsC;AAC5E,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,QAAQ,SAAA,EAAW,iBAAA,KAAsB,eAAA,CAAgB,KAAA,CAAM,UAAU,aAAa,CAAA;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAGhD,EAAA,MAAM,gBAAgB,YAAA,EAAa;AAGnC,EAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,aAAa,MAAA,IAAU,SAAA,IAAa,CAAC,iBAAA,EAAmB;AAC7E,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAwB;AAC3C,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,cAAA;AAAA,MACV,EAAA,EAAG,2BAAA;AAAA,MACH,aAAA,EAAY,2BAAA;AAAA,MACZ,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,SAAA;AAAA,QACjB,KAAA,EAAO,MAAA;AAAA,QACP,OAAA,EAAS,WAAA;AAAA,QACT,OAAA,EAAS,MAAA;AAAA,QACT,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,QAAA,EAAU;AAAA,OACZ;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,GAAA;AAAA,YACL,EAAA,EAAG,cAAA;AAAA,YACH,OAAA,EAAS,WAAA;AAAA,YACT,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,MAAM,EAAA,EAAI,KAAA,EAAO,MAAA,EAAQ,cAAA,EAAgB,MAAA,EAAO;AAAA,YAE/E,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,SAC9B;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE,EACjD,QAAA,EAAA,CAAA,CAAE,2BAAA,EAA6B;AAAA,UAC9B,YAAA,EAAc,qPAAkD,iBAAiB,CAAA,CAAA,CAAA;AAAA,UACjF,QAAA,EAAU;AAAA,SACX,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-K7KOSHNZ.js","sourcesContent":["import { useState } from 'react';\nimport { useIsProduct } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useOpeningHours } from '../../hooks/useOpeningHours';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nexport interface StoreClosedNotificationProps {\n /** Whether to show the notification (defaults to true when store is closed on product page) */\n show?: boolean;\n}\n\n/**\n * StoreClosedNotification - Shows a notification bar when the store is closed.\n *\n * Mirrors PHP ReceivingOrdersTimesWidget:\n * - Only shows on product pages\n * - Only shows when store is closed for receiving orders\n * - Displays when the store will open next\n * - Has a close button to dismiss\n *\n * Injected via hook registry at body:start.\n */\nexport function StoreClosedNotification(_props: StoreClosedNotificationProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { isOpen, isEnabled, nextOpenFormatted } = useOpeningHours(store.settings?.opening_hours);\n const [dismissed, setDismissed] = useState(false);\n\n // Check if we're on a product page\n const isProductPage = useIsProduct();\n\n // Conditions: product page, opening hours enabled, store closed, not dismissed\n if (!isProductPage || !isEnabled || isOpen || dismissed || !nextOpenFormatted) {\n return null;\n }\n\n const handleClose = (e: React.MouseEvent) => {\n e.preventDefault();\n setDismissed(true);\n };\n\n return (\n <div\n className=\"store-notify\"\n id=\"store-closed-notification\"\n data-testid=\"store-closed-notification\"\n style={{\n backgroundColor: '#d63031',\n color: '#fff',\n padding: '10px 15px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <a\n href=\"#\"\n id=\"notify-close\"\n onClick={handleClose}\n style={{ position: 'absolute', left: 15, color: '#fff', textDecoration: 'none' }}\n >\n <i className=\"sicon-cancel\" />\n </a>\n <p style={{ margin: 0, textAlign: 'center', flex: 1 }}>\n {t('store.closed_notification', {\n defaultValue: `المتجر حاليا مغلق لاستقبال الطلبات وسيتم فتحه (${nextOpenFormatted})`,\n nextOpen: nextOpenFormatted,\n })}\n </p>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/store/StoreClosedNotification.tsx"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,wBAAwB,MAAA,EAAsC;AAC5E,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,QAAQ,SAAA,EAAW,iBAAA,KAAsB,eAAA,CAAgB,KAAA,CAAM,UAAU,aAAa,CAAA;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAGhD,EAAA,MAAM,gBAAgB,YAAA,EAAa;AAGnC,EAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,aAAa,MAAA,IAAU,SAAA,IAAa,CAAC,iBAAA,EAAmB;AAC7E,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAwB;AAC3C,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,cAAA;AAAA,MACV,EAAA,EAAG,2BAAA;AAAA,MACH,aAAA,EAAY,2BAAA;AAAA,MACZ,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,SAAA;AAAA,QACjB,KAAA,EAAO,MAAA;AAAA,QACP,OAAA,EAAS,WAAA;AAAA,QACT,OAAA,EAAS,MAAA;AAAA,QACT,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,QAAA,EAAU;AAAA,OACZ;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,GAAA;AAAA,YACL,EAAA,EAAG,cAAA;AAAA,YACH,OAAA,EAAS,WAAA;AAAA,YACT,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,MAAM,EAAA,EAAI,KAAA,EAAO,MAAA,EAAQ,cAAA,EAAgB,MAAA,EAAO;AAAA,YAE/E,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,SAC9B;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE,EACjD,QAAA,EAAA,CAAA,CAAE,2BAAA,EAA6B;AAAA,UAC9B,YAAA,EAAc,qPAAkD,iBAAiB,CAAA,CAAA,CAAA;AAAA,UACjF,QAAA,EAAU;AAAA,SACX,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-YIAM7LGR.js","sourcesContent":["import { useState } from 'react';\nimport { useIsProduct } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useOpeningHours } from '../../hooks/useOpeningHours';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nexport interface StoreClosedNotificationProps {\n /** Whether to show the notification (defaults to true when store is closed on product page) */\n show?: boolean;\n}\n\n/**\n * StoreClosedNotification - Shows a notification bar when the store is closed.\n *\n * Mirrors PHP ReceivingOrdersTimesWidget:\n * - Only shows on product pages\n * - Only shows when store is closed for receiving orders\n * - Displays when the store will open next\n * - Has a close button to dismiss\n *\n * Injected via hook registry at body:start.\n */\nexport function StoreClosedNotification(_props: StoreClosedNotificationProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { isOpen, isEnabled, nextOpenFormatted } = useOpeningHours(store.settings?.opening_hours);\n const [dismissed, setDismissed] = useState(false);\n\n // Check if we're on a product page\n const isProductPage = useIsProduct();\n\n // Conditions: product page, opening hours enabled, store closed, not dismissed\n if (!isProductPage || !isEnabled || isOpen || dismissed || !nextOpenFormatted) {\n return null;\n }\n\n const handleClose = (e: React.MouseEvent) => {\n e.preventDefault();\n setDismissed(true);\n };\n\n return (\n <div\n className=\"store-notify\"\n id=\"store-closed-notification\"\n data-testid=\"store-closed-notification\"\n style={{\n backgroundColor: '#d63031',\n color: '#fff',\n padding: '10px 15px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <a\n href=\"#\"\n id=\"notify-close\"\n onClick={handleClose}\n style={{ position: 'absolute', left: 15, color: '#fff', textDecoration: 'none' }}\n >\n <i className=\"sicon-cancel\" />\n </a>\n <p style={{ margin: 0, textAlign: 'center', flex: 1 }}>\n {t('store.closed_notification', {\n defaultValue: `المتجر حاليا مغلق لاستقبال الطلبات وسيتم فتحه (${nextOpenFormatted})`,\n nextOpen: nextOpenFormatted,\n })}\n </p>\n </div>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-BOFY2AY5.js';
1
+ export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-V4ILJDUG.js';
2
2
  import '../../chunk-DGUM43GV.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { BlogSkeleton, LazyBreadcrumb as Breadcrumb, BreadcrumbSkeleton, LazyCurrencySymbol as CurrencySymbol, CustomerLayoutSkeleton, CustomerPageSkeleton, DeferredData, LazyErrorPage as ErrorPage, Image, LazyNoContent as NoContent, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, LazyRenderWhenVisible as RenderWhenVisible, SkeletonPulse, resolveDeferred } from '../../chunk-WYD2ZWWY.js';
1
+ export { BlogSkeleton, LazyBreadcrumb as Breadcrumb, BreadcrumbSkeleton, LazyCurrencySymbol as CurrencySymbol, CustomerLayoutSkeleton, CustomerPageSkeleton, DeferredData, LazyErrorPage as ErrorPage, Image, LazyNoContent as NoContent, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, LazyRenderWhenVisible as RenderWhenVisible, SkeletonPulse, resolveDeferred } from '../../chunk-MQGAYYYV.js';
2
2
  export { Link } from '../../chunk-AXW67SY7.js';
3
3
  import '../../chunk-BYMOPN2S.js';
4
4
  import '../../chunk-SKLEJJ6M.js';
@@ -1,6 +1,6 @@
1
1
  export { Drawer } from '../../chunk-6TKIUG5C.js';
2
- import '../../chunk-Y5SXSIZ7.js';
3
- import '../../chunk-2BHKKJLP.js';
2
+ import '../../chunk-GWKCKU4G.js';
3
+ import '../../chunk-QBRYGYIP.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-6IATCGID.js';
@@ -31,7 +31,7 @@ import '../../chunk-YMVLYYLU.js';
31
31
  import '../../chunk-RJPPO3ET.js';
32
32
  import '../../chunk-Q7VWURUR.js';
33
33
  import '../../chunk-GU2KUQVD.js';
34
- import '../../chunk-WYD2ZWWY.js';
34
+ import '../../chunk-MQGAYYYV.js';
35
35
  import '../../chunk-AXW67SY7.js';
36
36
  import '../../chunk-BYMOPN2S.js';
37
37
  import '../../chunk-SKLEJJ6M.js';
@@ -1,9 +1,9 @@
1
- export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, ParallaxBackground, PhotosSlider, ProductsSlider, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents } from '../../chunk-UWS2QXFK.js';
2
- import '../../chunk-CBNUZ7LI.js';
3
- import '../../chunk-ZW6ZUOM5.js';
1
+ export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, ParallaxBackground, PhotosSlider, ProductsSlider, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents } from '../../chunk-AEPO4POY.js';
2
+ import '../../chunk-UYK4CSL3.js';
3
+ import '../../chunk-5NHSIK3V.js';
4
4
  import '../../chunk-342EPVXN.js';
5
- import '../../chunk-Y5SXSIZ7.js';
6
- import '../../chunk-2BHKKJLP.js';
5
+ import '../../chunk-GWKCKU4G.js';
6
+ import '../../chunk-QBRYGYIP.js';
7
7
  import '../../chunk-JKIRRMBU.js';
8
8
  import '../../chunk-2JV6WZ6O.js';
9
9
  import '../../chunk-6IATCGID.js';
@@ -34,7 +34,7 @@ import '../../chunk-YMVLYYLU.js';
34
34
  import '../../chunk-RJPPO3ET.js';
35
35
  import '../../chunk-Q7VWURUR.js';
36
36
  import '../../chunk-GU2KUQVD.js';
37
- import '../../chunk-WYD2ZWWY.js';
37
+ import '../../chunk-MQGAYYYV.js';
38
38
  import '../../chunk-AXW67SY7.js';
39
39
  import '../../chunk-BYMOPN2S.js';
40
40
  import '../../chunk-SKLEJJ6M.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerLayout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/CustomerLayout.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,mBAAoB,SAAQ,WAAW;IAC/C,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,mBAAmB,+BA+CrE"}
1
+ {"version":3,"file":"CustomerLayout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/CustomerLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,mBAAoB,SAAQ,WAAW;IAC/C,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,mBAAmB,+BAmDrE"}
@@ -5,19 +5,19 @@ import '../../chunk-DF6FBKDN.js';
5
5
  import '../../chunk-DGUM43GV.js';
6
6
  import { lazy } from 'react';
7
7
 
8
- var LazyHeader = lazy(() => import('../../Header-PGYFFCJT.js').then((m) => ({ default: m.Header })));
9
- var LazyFooter = lazy(() => import('../../Footer-PHRI3YVQ.js').then((m) => ({ default: m.Footer })));
8
+ var LazyHeader = lazy(() => import('../../Header-L7ZAPT45.js').then((m) => ({ default: m.Header })));
9
+ var LazyFooter = lazy(() => import('../../Footer-K25ISQ6E.js').then((m) => ({ default: m.Footer })));
10
10
  var LazyCopyright = lazy(
11
- () => import('../../Copyright-FQOOELST.js').then((m) => ({ default: m.Copyright }))
11
+ () => import('../../Copyright-67RVBNSV.js').then((m) => ({ default: m.Copyright }))
12
12
  );
13
13
  var LazyMasterLayout = lazy(
14
- () => import('../../MasterLayout-UULUBWE2.js').then((m) => ({ default: m.MasterLayout }))
14
+ () => import('../../MasterLayout-FGMCLVWW.js').then((m) => ({ default: m.MasterLayout }))
15
15
  );
16
16
  var LazyWidgetHead = lazy(
17
17
  () => import('../../WidgetHead-RWL7D3CT.js').then((m) => ({ default: m.WidgetHead }))
18
18
  );
19
19
  var LazyCustomerLayout = lazy(
20
- () => import('../../CustomerLayout-Q44HCS3A.js').then((m) => ({ default: m.CustomerLayout }))
20
+ () => import('../../CustomerLayout-ZJUNE4NT.js').then((m) => ({ default: m.CustomerLayout }))
21
21
  );
22
22
 
23
23
  export { LazyCopyright as Copyright, LazyCustomerLayout as CustomerLayout, LazyFooter as Footer, LazyHeader as Header, LazyMasterLayout as MasterLayout, LazyWidgetHead as WidgetHead };
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/components/product/ProductCard.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8OD,eAAO,MAAM,WAAW,8CAAoC,gBAAgB,iCAc1E,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/components/product/ProductCard.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyPD,eAAO,MAAM,WAAW,8CAAoC,gBAAgB,iCAc1E,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -1,7 +1,7 @@
1
- export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-ZW6ZUOM5.js';
1
+ export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-5NHSIK3V.js';
2
2
  import '../../chunk-342EPVXN.js';
3
- import '../../chunk-Y5SXSIZ7.js';
4
- import '../../chunk-2BHKKJLP.js';
3
+ import '../../chunk-GWKCKU4G.js';
4
+ import '../../chunk-QBRYGYIP.js';
5
5
  import '../../chunk-JKIRRMBU.js';
6
6
  import '../../chunk-2JV6WZ6O.js';
7
7
  import '../../chunk-6IATCGID.js';
@@ -32,7 +32,7 @@ import '../../chunk-YMVLYYLU.js';
32
32
  import '../../chunk-RJPPO3ET.js';
33
33
  import '../../chunk-Q7VWURUR.js';
34
34
  import '../../chunk-GU2KUQVD.js';
35
- import '../../chunk-WYD2ZWWY.js';
35
+ import '../../chunk-MQGAYYYV.js';
36
36
  import '../../chunk-AXW67SY7.js';
37
37
  import '../../chunk-BYMOPN2S.js';
38
38
  import '../../chunk-SKLEJJ6M.js';
@@ -1,6 +1,6 @@
1
- export { StoreClosedNotification } from '../../chunk-K7KOSHNZ.js';
2
- import '../../chunk-Y5SXSIZ7.js';
3
- import '../../chunk-2BHKKJLP.js';
1
+ export { StoreClosedNotification } from '../../chunk-YIAM7LGR.js';
2
+ import '../../chunk-GWKCKU4G.js';
3
+ import '../../chunk-QBRYGYIP.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-6IATCGID.js';
@@ -31,7 +31,7 @@ import '../../chunk-YMVLYYLU.js';
31
31
  import '../../chunk-RJPPO3ET.js';
32
32
  import '../../chunk-Q7VWURUR.js';
33
33
  import '../../chunk-GU2KUQVD.js';
34
- import '../../chunk-WYD2ZWWY.js';
34
+ import '../../chunk-MQGAYYYV.js';
35
35
  import '../../chunk-AXW67SY7.js';
36
36
  import '../../chunk-BYMOPN2S.js';
37
37
  import '../../chunk-SKLEJJ6M.js';
@@ -45,7 +45,7 @@ import '../../chunk-DGUM43GV.js';
45
45
  import { lazy } from 'react';
46
46
 
47
47
  var LazyStoreClosedNotification = lazy(
48
- () => import('../../StoreClosedNotification-7CGAUSVC.js').then((m) => ({
48
+ () => import('../../StoreClosedNotification-FPNPF2GW.js').then((m) => ({
49
49
  default: m.StoreClosedNotification
50
50
  }))
51
51
  );
@@ -1,4 +1,4 @@
1
- export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-6LTCVLW6.js';
1
+ export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-VW7N4JHG.js';
2
2
  import './chunk-Z4Y55HWX.js';
3
3
  import './chunk-4D44TJ72.js';
4
4
  import './chunk-R6M6RM6U.js';
@@ -6,7 +6,7 @@ import './chunk-B3EFOE57.js';
6
6
  import './chunk-WMSOSA74.js';
7
7
  import './chunk-KT2MUSRN.js';
8
8
  import './chunk-TZ3E5BN4.js';
9
- import './chunk-CBNUZ7LI.js';
9
+ import './chunk-UYK4CSL3.js';
10
10
  import './chunk-6IATCGID.js';
11
11
  import './chunk-3MHDV5JS.js';
12
12
  import './chunk-JD4J2ZB6.js';
@@ -22,5 +22,5 @@ import './chunk-TYNZ5B2B.js';
22
22
  import './chunk-T72DAX7R.js';
23
23
  import './chunk-DF6FBKDN.js';
24
24
  import './chunk-DGUM43GV.js';
25
- //# sourceMappingURL=document-class-GIJJRQVN.js.map
26
- //# sourceMappingURL=document-class-GIJJRQVN.js.map
25
+ //# sourceMappingURL=document-class-XJ3QIMBO.js.map
26
+ //# sourceMappingURL=document-class-XJ3QIMBO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-GIJJRQVN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-XJ3QIMBO.js"}
@@ -1,5 +1,5 @@
1
- export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-Y5SXSIZ7.js';
2
- import '../chunk-2BHKKJLP.js';
1
+ export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-GWKCKU4G.js';
2
+ import '../chunk-QBRYGYIP.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ export { useComments } from '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  export { HookSlot, useIsClient } from '../chunk-Q7VWURUR.js';
32
32
  export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GU2KUQVD.js';
33
- import '../chunk-WYD2ZWWY.js';
33
+ import '../chunk-MQGAYYYV.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,5 +1,5 @@
1
- export { useGtm } from '../chunk-Y5SXSIZ7.js';
2
- import '../chunk-2BHKKJLP.js';
1
+ export { useGtm } from '../chunk-GWKCKU4G.js';
2
+ import '../chunk-QBRYGYIP.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-WYD2ZWWY.js';
33
+ import '../chunk-MQGAYYYV.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,5 +1,5 @@
1
- export { useMoney } from '../chunk-Y5SXSIZ7.js';
2
- import '../chunk-2BHKKJLP.js';
1
+ export { useMoney } from '../chunk-GWKCKU4G.js';
2
+ import '../chunk-QBRYGYIP.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-WYD2ZWWY.js';
33
+ import '../chunk-MQGAYYYV.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1 +1 @@
1
- {"version":3,"file":"usePageConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/usePageConfig.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAqB5D"}
1
+ {"version":3,"file":"usePageConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/usePageConfig.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAuB5D"}
@@ -1,5 +1,5 @@
1
- export { useStore } from '../chunk-Y5SXSIZ7.js';
2
- import '../chunk-2BHKKJLP.js';
1
+ export { useStore } from '../chunk-GWKCKU4G.js';
2
+ import '../chunk-QBRYGYIP.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-WYD2ZWWY.js';
33
+ import '../chunk-MQGAYYYV.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { registry } from './chunk-342EPVXN.js';
2
2
  export { ComponentRegistry, registry } from './chunk-342EPVXN.js';
3
- export { TwilightProvider } from './chunk-Y5SXSIZ7.js';
4
- import './chunk-2BHKKJLP.js';
3
+ export { TwilightProvider } from './chunk-GWKCKU4G.js';
4
+ import './chunk-QBRYGYIP.js';
5
5
  import './chunk-JKIRRMBU.js';
6
6
  import './chunk-2JV6WZ6O.js';
7
7
  import './chunk-6IATCGID.js';
@@ -32,7 +32,7 @@ import './chunk-YMVLYYLU.js';
32
32
  import './chunk-RJPPO3ET.js';
33
33
  import './chunk-Q7VWURUR.js';
34
34
  import './chunk-GU2KUQVD.js';
35
- import './chunk-WYD2ZWWY.js';
35
+ import './chunk-MQGAYYYV.js';
36
36
  import './chunk-AXW67SY7.js';
37
37
  import './chunk-BYMOPN2S.js';
38
38
  import './chunk-SKLEJJ6M.js';
@@ -1,12 +1,13 @@
1
- import './chunk-Y5SXSIZ7.js';
2
- import './chunk-2BHKKJLP.js';
1
+ import { product } from './chunk-UYK4CSL3.js';
2
+ import './chunk-GWKCKU4G.js';
3
+ import './chunk-QBRYGYIP.js';
3
4
  import './chunk-JKIRRMBU.js';
4
5
  import './chunk-2JV6WZ6O.js';
5
6
  import './chunk-6IATCGID.js';
6
7
  import './chunk-3MHDV5JS.js';
7
8
  import './chunk-VVZNW5CB.js';
8
9
  import './chunk-JD4J2ZB6.js';
9
- import './chunk-JK77XRXR.js';
10
+ import { useLocation, useNavigate } from './chunk-JK77XRXR.js';
10
11
  import './chunk-MTONGOJD.js';
11
12
  import './chunk-C5X6CVXC.js';
12
13
  import './chunk-QKIQ3K24.js';
@@ -25,12 +26,12 @@ import './chunk-BVSJPBJ6.js';
25
26
  import './chunk-GBWCXUPD.js';
26
27
  import './chunk-OAMIDZKW.js';
27
28
  import { useTranslation } from './chunk-TYNZ5B2B.js';
28
- import './chunk-T72DAX7R.js';
29
+ import { isLocale } from './chunk-T72DAX7R.js';
29
30
  import './chunk-YMVLYYLU.js';
30
31
  import './chunk-RJPPO3ET.js';
31
32
  import { HookSlot } from './chunk-Q7VWURUR.js';
32
33
  import './chunk-GU2KUQVD.js';
33
- import { LazyErrorPage } from './chunk-WYD2ZWWY.js';
34
+ import { LazyErrorPage } from './chunk-MQGAYYYV.js';
34
35
  import './chunk-AXW67SY7.js';
35
36
  import './chunk-BYMOPN2S.js';
36
37
  import './chunk-SKLEJJ6M.js';
@@ -41,10 +42,54 @@ import './chunk-HX3YKS5W.js';
41
42
  import './chunk-OBSAH7K6.js';
42
43
  import './chunk-DF6FBKDN.js';
43
44
  import './chunk-DGUM43GV.js';
45
+ import { useState, useEffect } from 'react';
44
46
  import { jsxs, jsx } from 'react/jsx-runtime';
45
47
 
48
+ var SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;
49
+ function parseShortLinkPath(pathname) {
50
+ const segments = pathname.split("/").filter(Boolean);
51
+ if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {
52
+ return { code: segments[1], locale: segments[0] };
53
+ }
54
+ if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {
55
+ return { code: segments[0] };
56
+ }
57
+ return null;
58
+ }
59
+ function slugFromProductUrl(url) {
60
+ try {
61
+ const segments = new URL(url ?? "").pathname.split("/").filter(Boolean);
62
+ const last = segments[segments.length - 1] ?? "";
63
+ return /^p\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : "-";
64
+ } catch {
65
+ return "-";
66
+ }
67
+ }
68
+ function useProductShortLink() {
69
+ const { pathname } = useLocation();
70
+ const navigate = useNavigate();
71
+ const target = parseShortLinkPath(pathname);
72
+ const code = target?.code;
73
+ const locale = target?.locale;
74
+ const [failedCode, setFailedCode] = useState(null);
75
+ useEffect(() => {
76
+ if (!code) return;
77
+ let cancelled = false;
78
+ product.find(code).then((found) => {
79
+ if (cancelled) return;
80
+ if (!found?.id) return setFailedCode(code);
81
+ const prefix = locale ? `/${locale}` : "";
82
+ navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });
83
+ }).catch(() => !cancelled && setFailedCode(code));
84
+ return () => {
85
+ cancelled = true;
86
+ };
87
+ }, [code, locale, navigate]);
88
+ return !!code && failedCode !== code;
89
+ }
46
90
  function NotFoundPage(props = {}) {
47
91
  const { t } = useTranslation();
92
+ const resolvingShortLink = useProductShortLink();
48
93
  const {
49
94
  title = t("common.errors.404") || "Page Not Found",
50
95
  message = t("common.errors.error_occurred") || "The page you are looking for does not exist or has been moved.",
@@ -52,6 +97,7 @@ function NotFoundPage(props = {}) {
52
97
  homeLinkText = t("common.elements.back_home") || "Back to Home",
53
98
  LinkComponent
54
99
  } = props;
100
+ if (resolvingShortLink) return null;
55
101
  return /* @__PURE__ */ jsxs(
56
102
  LazyErrorPage,
57
103
  {
@@ -71,5 +117,5 @@ function NotFoundPage(props = {}) {
71
117
  }
72
118
 
73
119
  export { NotFoundPage };
74
- //# sourceMappingURL=not-found-MZ7B6HCJ.js.map
75
- //# sourceMappingURL=not-found-MZ7B6HCJ.js.map
120
+ //# sourceMappingURL=not-found-DLUE3J4K.js.map
121
+ //# sourceMappingURL=not-found-DLUE3J4K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-DLUE3J4K.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-Y5SXSIZ7.js';
2
- import '../chunk-2BHKKJLP.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-GWKCKU4G.js';
2
+ import '../chunk-QBRYGYIP.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-WYD2ZWWY.js';
33
+ import '../chunk-MQGAYYYV.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,3 +1,3 @@
1
1
  import type { OrderSinglePageProps } from '../types';
2
- export declare function OrderSinglePage({ order }: OrderSinglePageProps): import("react").JSX.Element;
2
+ export declare function OrderSinglePage({ order, page }: OrderSinglePageProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=OrderSinglePage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderSinglePage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrderSinglePage.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAkBrD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,+BA2hB9D"}
1
+ {"version":3,"file":"OrderSinglePage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrderSinglePage.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAkBrD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,oBAAoB,+BAmlBpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrdersPage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrdersPage.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAE9D,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,+BAqEpE"}
1
+ {"version":3,"file":"OrdersPage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrdersPage.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AA8E9D,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,+BAmFpE"}
@@ -1,4 +1,4 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-4QPX5WQZ.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-WEN7W6YS.js';
2
2
  import '../../chunk-OKP6LUT7.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-JK77XRXR.js';