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

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 (263) hide show
  1. package/dist/{AddToCartForm-WY5QEHJ4.js → AddToCartForm-P5Q4P763.js} +3 -3
  2. package/dist/{AddToCartForm-WY5QEHJ4.js.map → AddToCartForm-P5Q4P763.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-E2WXK6HD.js → BlogAuthorPage-Z3R6AETN.js} +27 -27
  4. package/dist/{BlogAuthorPage-E2WXK6HD.js.map → BlogAuthorPage-Z3R6AETN.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-B2JEB33A.js → BlogCategoryPage-7VROFBGI.js} +27 -27
  6. package/dist/{BlogCategoryPage-B2JEB33A.js.map → BlogCategoryPage-7VROFBGI.js.map} +1 -1
  7. package/dist/{BlogPage-CSNI6SS5.js → BlogPage-Q2NN4WTB.js} +25 -25
  8. package/dist/{BlogPage-CSNI6SS5.js.map → BlogPage-Q2NN4WTB.js.map} +1 -1
  9. package/dist/{BlogSinglePage-5ZY5EB6H.js → BlogSinglePage-ZPCSNBIX.js} +25 -25
  10. package/dist/{BlogSinglePage-5ZY5EB6H.js.map → BlogSinglePage-ZPCSNBIX.js.map} +1 -1
  11. package/dist/{BlogTagPage-QFS7AKNK.js → BlogTagPage-IGG2VEMR.js} +27 -27
  12. package/dist/{BlogTagPage-QFS7AKNK.js.map → BlogTagPage-IGG2VEMR.js.map} +1 -1
  13. package/dist/{BrandsPage-QBA2WQHF.js → BrandsPage-ZAJT6RGM.js} +26 -26
  14. package/dist/{BrandsPage-QBA2WQHF.js.map → BrandsPage-ZAJT6RGM.js.map} +1 -1
  15. package/dist/{Breadcrumb-CH35WQ6M.js → Breadcrumb-KE4EWH7L.js} +25 -25
  16. package/dist/{Breadcrumb-CH35WQ6M.js.map → Breadcrumb-KE4EWH7L.js.map} +1 -1
  17. package/dist/{CartItem-NBM3KRUH.js → CartItem-RMCXCGHT.js} +25 -25
  18. package/dist/{CartItem-NBM3KRUH.js.map → CartItem-RMCXCGHT.js.map} +1 -1
  19. package/dist/{CartSummary-OD2IJTTA.js → CartSummary-NLEAHKWF.js} +25 -25
  20. package/dist/{CartSummary-OD2IJTTA.js.map → CartSummary-NLEAHKWF.js.map} +1 -1
  21. package/dist/{Copyright-7EC2FQUB.js → Copyright-EIBPTE3B.js} +3 -3
  22. package/dist/{Copyright-7EC2FQUB.js.map → Copyright-EIBPTE3B.js.map} +1 -1
  23. package/dist/{CustomerLayout-7GEOMQ3Z.js → CustomerLayout-POGWFN6R.js} +25 -25
  24. package/dist/{CustomerLayout-7GEOMQ3Z.js.map → CustomerLayout-POGWFN6R.js.map} +1 -1
  25. package/dist/{Footer-JTQIMWSF.js → Footer-LGIUINGS.js} +4 -4
  26. package/dist/{Footer-JTQIMWSF.js.map → Footer-LGIUINGS.js.map} +1 -1
  27. package/dist/{Header-4ZW5UVTX.js → Header-4TGYO6E4.js} +11 -11
  28. package/dist/{Header-4ZW5UVTX.js.map → Header-4TGYO6E4.js.map} +1 -1
  29. package/dist/{LatestProducts-VHN2P5TE.js → LatestProducts-YYKQNL5N.js} +27 -27
  30. package/dist/{LatestProducts-VHN2P5TE.js.map → LatestProducts-YYKQNL5N.js.map} +1 -1
  31. package/dist/{LoyaltyPage-PVK7FBFE.js → LoyaltyPage-MROFMZXV.js} +25 -25
  32. package/dist/{LoyaltyPage-PVK7FBFE.js.map → LoyaltyPage-MROFMZXV.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-WYCO453U.js → LoyaltyPointsPage-DVHJOAKP.js} +8 -8
  34. package/dist/{LoyaltyPointsPage-WYCO453U.js.map → LoyaltyPointsPage-DVHJOAKP.js.map} +1 -1
  35. package/dist/{MainMenu-Y2PAFESM.js → MainMenu-GQO5KOTU.js} +7 -7
  36. package/dist/{MainMenu-Y2PAFESM.js.map → MainMenu-GQO5KOTU.js.map} +1 -1
  37. package/dist/{MasterLayout-EBLVT53G.js → MasterLayout-ZJBJ7EHM.js} +25 -25
  38. package/dist/{MasterLayout-EBLVT53G.js.map → MasterLayout-ZJBJ7EHM.js.map} +1 -1
  39. package/dist/{MobileMenu-YIL4MEWX.js → MobileMenu-TZSFYHPW.js} +26 -26
  40. package/dist/{MobileMenu-YIL4MEWX.js.map → MobileMenu-TZSFYHPW.js.map} +1 -1
  41. package/dist/{NotificationsPage-K2CJOV2N.js → NotificationsPage-BX6OSIDY.js} +25 -25
  42. package/dist/{NotificationsPage-K2CJOV2N.js.map → NotificationsPage-BX6OSIDY.js.map} +1 -1
  43. package/dist/{OrderSinglePage-T7S7KXJ3.js → OrderSinglePage-3RQ5TJDB.js} +26 -26
  44. package/dist/{OrderSinglePage-T7S7KXJ3.js.map → OrderSinglePage-3RQ5TJDB.js.map} +1 -1
  45. package/dist/{OrdersPage-WAW3NS2E.js → OrdersPage-S4ECYNGI.js} +25 -25
  46. package/dist/{OrdersPage-WAW3NS2E.js.map → OrdersPage-S4ECYNGI.js.map} +1 -1
  47. package/dist/{PageSingle-L5EBQGWS.js → PageSingle-BZGDC4VE.js} +6 -6
  48. package/dist/{PageSingle-L5EBQGWS.js.map → PageSingle-BZGDC4VE.js.map} +1 -1
  49. package/dist/{ProductDetails-4E46ZCMQ.js → ProductDetails-ZPRWPSVK.js} +7 -7
  50. package/dist/{ProductDetails-4E46ZCMQ.js.map → ProductDetails-ZPRWPSVK.js.map} +1 -1
  51. package/dist/{ProfilePage-KN7BWYFZ.js → ProfilePage-SKAS6LFQ.js} +25 -25
  52. package/dist/{ProfilePage-KN7BWYFZ.js.map → ProfilePage-SKAS6LFQ.js.map} +1 -1
  53. package/dist/{ReviewsPage-CCTPJN76.js → ReviewsPage-NAZWXVXT.js} +3 -3
  54. package/dist/{ReviewsPage-CCTPJN76.js.map → ReviewsPage-NAZWXVXT.js.map} +1 -1
  55. package/dist/{SeoCartWidget-Q5XK5MEW.js → SeoCartWidget-6NB6LT2Z.js} +25 -25
  56. package/dist/{SeoCartWidget-Q5XK5MEW.js.map → SeoCartWidget-6NB6LT2Z.js.map} +1 -1
  57. package/dist/{SettingsPage-DQAAMJE5.js → SettingsPage-GZ2NJIUR.js} +25 -25
  58. package/dist/{SettingsPage-DQAAMJE5.js.map → SettingsPage-GZ2NJIUR.js.map} +1 -1
  59. package/dist/{StoreClosedNotification-ZSDPBM3L.js → StoreClosedNotification-V72F7HE5.js} +26 -26
  60. package/dist/{StoreClosedNotification-ZSDPBM3L.js.map → StoreClosedNotification-V72F7HE5.js.map} +1 -1
  61. package/dist/{TestimonialsPage-6LGQSJSQ.js → TestimonialsPage-L6VBZFLT.js} +6 -6
  62. package/dist/{TestimonialsPage-6LGQSJSQ.js.map → TestimonialsPage-L6VBZFLT.js.map} +1 -1
  63. package/dist/{ThankYouPage-ZI6NEGN3.js → ThankYouPage-O5U3V6J4.js} +25 -25
  64. package/dist/{ThankYouPage-ZI6NEGN3.js.map → ThankYouPage-O5U3V6J4.js.map} +1 -1
  65. package/dist/{WalletPage-R6G5BQAI.js → WalletPage-NJBBZIMM.js} +26 -26
  66. package/dist/{WalletPage-R6G5BQAI.js.map → WalletPage-NJBBZIMM.js.map} +1 -1
  67. package/dist/{WebMcpTools-2NWIVDL2.js → WebMcpTools-VAZH3S5G.js} +9 -9
  68. package/dist/{WebMcpTools-2NWIVDL2.js.map → WebMcpTools-VAZH3S5G.js.map} +1 -1
  69. package/dist/{WishlistPage-CQ62GPLC.js → WishlistPage-UKOGNFKB.js} +27 -27
  70. package/dist/{WishlistPage-CQ62GPLC.js.map → WishlistPage-UKOGNFKB.js.map} +1 -1
  71. package/dist/api/advertisement.js +4 -4
  72. package/dist/api/apps.js +4 -4
  73. package/dist/api/blog.js +6 -6
  74. package/dist/api/brands.js +6 -6
  75. package/dist/api/cart.js +6 -6
  76. package/dist/api/category.js +6 -6
  77. package/dist/api/client.js +3 -3
  78. package/dist/api/home.js +4 -4
  79. package/dist/api/loyalty.js +6 -6
  80. package/dist/api/menu.js +4 -4
  81. package/dist/api/notification.js +4 -4
  82. package/dist/api/order.js +6 -6
  83. package/dist/api/page.js +6 -6
  84. package/dist/api/product.js +6 -6
  85. package/dist/api/profile.js +3 -3
  86. package/dist/api/store.js +5 -5
  87. package/dist/api/translations.js +4 -4
  88. package/dist/api/user.js +4 -4
  89. package/dist/api/wallet.js +4 -4
  90. package/dist/api/wishlist.js +7 -7
  91. package/dist/{chunk-ELYKF67K.js → chunk-2CILV5ME.js} +5 -5
  92. package/dist/{chunk-ELYKF67K.js.map → chunk-2CILV5ME.js.map} +1 -1
  93. package/dist/{chunk-JZ54GDXO.js → chunk-2HCODIC6.js} +4 -4
  94. package/dist/{chunk-JZ54GDXO.js.map → chunk-2HCODIC6.js.map} +1 -1
  95. package/dist/{chunk-BAJBKIGI.js → chunk-2ZC5YGMI.js} +3 -3
  96. package/dist/{chunk-BAJBKIGI.js.map → chunk-2ZC5YGMI.js.map} +1 -1
  97. package/dist/{chunk-WPRJVK7K.js → chunk-34L65JGK.js} +4 -4
  98. package/dist/{chunk-WPRJVK7K.js.map → chunk-34L65JGK.js.map} +1 -1
  99. package/dist/{chunk-T2752RH7.js → chunk-4E6FD5W7.js} +60 -4
  100. package/dist/chunk-4E6FD5W7.js.map +1 -0
  101. package/dist/{chunk-M5WTY3EH.js → chunk-5EAISVPV.js} +3 -3
  102. package/dist/{chunk-M5WTY3EH.js.map → chunk-5EAISVPV.js.map} +1 -1
  103. package/dist/{chunk-5PMEGLR6.js → chunk-5LI536P6.js} +5 -5
  104. package/dist/{chunk-5PMEGLR6.js.map → chunk-5LI536P6.js.map} +1 -1
  105. package/dist/{chunk-QOC7HUYN.js → chunk-5M2AK5KE.js} +4 -4
  106. package/dist/{chunk-QOC7HUYN.js.map → chunk-5M2AK5KE.js.map} +1 -1
  107. package/dist/{chunk-33327CFA.js → chunk-5NUCGUTE.js} +4 -4
  108. package/dist/{chunk-33327CFA.js.map → chunk-5NUCGUTE.js.map} +1 -1
  109. package/dist/{chunk-3BDSQIYZ.js → chunk-5RBXCPG6.js} +3 -3
  110. package/dist/{chunk-3BDSQIYZ.js.map → chunk-5RBXCPG6.js.map} +1 -1
  111. package/dist/{chunk-6T4HGLQM.js → chunk-5T4MJAUN.js} +3 -3
  112. package/dist/{chunk-6T4HGLQM.js.map → chunk-5T4MJAUN.js.map} +1 -1
  113. package/dist/{chunk-MA3R5QON.js → chunk-6H6BVZBV.js} +3 -3
  114. package/dist/{chunk-MA3R5QON.js.map → chunk-6H6BVZBV.js.map} +1 -1
  115. package/dist/{chunk-4FFABE3P.js → chunk-6QIF6WJH.js} +3 -3
  116. package/dist/{chunk-4FFABE3P.js.map → chunk-6QIF6WJH.js.map} +1 -1
  117. package/dist/{chunk-SLBO4SEE.js → chunk-6YEE3VHL.js} +3 -3
  118. package/dist/{chunk-SLBO4SEE.js.map → chunk-6YEE3VHL.js.map} +1 -1
  119. package/dist/{chunk-XMRNYUQY.js → chunk-7XAGU6CT.js} +3 -3
  120. package/dist/{chunk-XMRNYUQY.js.map → chunk-7XAGU6CT.js.map} +1 -1
  121. package/dist/{chunk-NWQUPGB4.js → chunk-AOQZHLZZ.js} +5 -5
  122. package/dist/{chunk-NWQUPGB4.js.map → chunk-AOQZHLZZ.js.map} +1 -1
  123. package/dist/{chunk-H7LRGY7U.js → chunk-B57KIBQL.js} +3 -3
  124. package/dist/{chunk-H7LRGY7U.js.map → chunk-B57KIBQL.js.map} +1 -1
  125. package/dist/{chunk-CUURFACL.js → chunk-BYGVKW3M.js} +4 -4
  126. package/dist/{chunk-CUURFACL.js.map → chunk-BYGVKW3M.js.map} +1 -1
  127. package/dist/{chunk-T55MRK24.js → chunk-CAULDK3N.js} +6 -6
  128. package/dist/{chunk-T55MRK24.js.map → chunk-CAULDK3N.js.map} +1 -1
  129. package/dist/{chunk-EGI7F57E.js → chunk-DPQIVZ4T.js} +3 -3
  130. package/dist/{chunk-EGI7F57E.js.map → chunk-DPQIVZ4T.js.map} +1 -1
  131. package/dist/{chunk-5ABT7QLS.js → chunk-EMAAVDEK.js} +7 -7
  132. package/dist/{chunk-5ABT7QLS.js.map → chunk-EMAAVDEK.js.map} +1 -1
  133. package/dist/{chunk-DQEJV5SR.js → chunk-FCCGJ4DI.js} +7 -7
  134. package/dist/{chunk-DQEJV5SR.js.map → chunk-FCCGJ4DI.js.map} +1 -1
  135. package/dist/{chunk-ZXEJ46OF.js → chunk-FL3OK7AQ.js} +36 -16
  136. package/dist/chunk-FL3OK7AQ.js.map +1 -0
  137. package/dist/{chunk-NRMAYV4G.js → chunk-GLSRVHYJ.js} +4 -4
  138. package/dist/{chunk-NRMAYV4G.js.map → chunk-GLSRVHYJ.js.map} +1 -1
  139. package/dist/{chunk-X5W7HZNX.js → chunk-I2LK4IC2.js} +4 -4
  140. package/dist/{chunk-X5W7HZNX.js.map → chunk-I2LK4IC2.js.map} +1 -1
  141. package/dist/{chunk-LILNJBFU.js → chunk-IEKP3HYS.js} +4 -4
  142. package/dist/{chunk-LILNJBFU.js.map → chunk-IEKP3HYS.js.map} +1 -1
  143. package/dist/{chunk-IHOUADLX.js → chunk-JK45RUVV.js} +3 -3
  144. package/dist/{chunk-IHOUADLX.js.map → chunk-JK45RUVV.js.map} +1 -1
  145. package/dist/{chunk-CNTXY27A.js → chunk-JSAWLWUN.js} +4 -4
  146. package/dist/{chunk-CNTXY27A.js.map → chunk-JSAWLWUN.js.map} +1 -1
  147. package/dist/{chunk-3WA5RJGC.js → chunk-KJ7NG3ZH.js} +3 -3
  148. package/dist/{chunk-3WA5RJGC.js.map → chunk-KJ7NG3ZH.js.map} +1 -1
  149. package/dist/{chunk-W2A5AWNA.js → chunk-LBZNLTBM.js} +3 -3
  150. package/dist/{chunk-W2A5AWNA.js.map → chunk-LBZNLTBM.js.map} +1 -1
  151. package/dist/{chunk-SCWUJ5PP.js → chunk-LWAJNEIM.js} +4 -4
  152. package/dist/{chunk-SCWUJ5PP.js.map → chunk-LWAJNEIM.js.map} +1 -1
  153. package/dist/{chunk-MJHYLDXL.js → chunk-O3XMYDNC.js} +5 -5
  154. package/dist/{chunk-MJHYLDXL.js.map → chunk-O3XMYDNC.js.map} +1 -1
  155. package/dist/{chunk-HPK6GB7G.js → chunk-O63WBEAC.js} +22 -22
  156. package/dist/{chunk-HPK6GB7G.js.map → chunk-O63WBEAC.js.map} +1 -1
  157. package/dist/{chunk-KUQQJTFA.js → chunk-OOZQVX7C.js} +6 -6
  158. package/dist/{chunk-KUQQJTFA.js.map → chunk-OOZQVX7C.js.map} +1 -1
  159. package/dist/{chunk-MGG4XAJ5.js → chunk-P2PPBXHD.js} +3 -3
  160. package/dist/{chunk-MGG4XAJ5.js.map → chunk-P2PPBXHD.js.map} +1 -1
  161. package/dist/{chunk-IFKCPNDF.js → chunk-PHPOMWQ4.js} +4 -4
  162. package/dist/{chunk-IFKCPNDF.js.map → chunk-PHPOMWQ4.js.map} +1 -1
  163. package/dist/{chunk-3AIK4QGW.js → chunk-PPFD456V.js} +3 -3
  164. package/dist/{chunk-3AIK4QGW.js.map → chunk-PPFD456V.js.map} +1 -1
  165. package/dist/{chunk-CAAIQPEN.js → chunk-PVOJJ2BV.js} +7 -6
  166. package/dist/chunk-PVOJJ2BV.js.map +1 -0
  167. package/dist/{chunk-GBJK6KKM.js → chunk-PYXAPLNB.js} +3 -3
  168. package/dist/{chunk-GBJK6KKM.js.map → chunk-PYXAPLNB.js.map} +1 -1
  169. package/dist/{chunk-7R43CIG7.js → chunk-PZP3372I.js} +4 -4
  170. package/dist/{chunk-7R43CIG7.js.map → chunk-PZP3372I.js.map} +1 -1
  171. package/dist/{chunk-WH73HWTE.js → chunk-Q7Z76F7N.js} +8 -8
  172. package/dist/{chunk-WH73HWTE.js.map → chunk-Q7Z76F7N.js.map} +1 -1
  173. package/dist/{chunk-23OJW6CK.js → chunk-QKKEBQ57.js} +6 -6
  174. package/dist/{chunk-23OJW6CK.js.map → chunk-QKKEBQ57.js.map} +1 -1
  175. package/dist/{chunk-QMWP2ZP6.js → chunk-R7QCNL62.js} +3 -3
  176. package/dist/{chunk-QMWP2ZP6.js.map → chunk-R7QCNL62.js.map} +1 -1
  177. package/dist/{chunk-CXKA35FJ.js → chunk-RB7RHMKJ.js} +5 -5
  178. package/dist/{chunk-CXKA35FJ.js.map → chunk-RB7RHMKJ.js.map} +1 -1
  179. package/dist/{chunk-C7LAIXEO.js → chunk-RY6VPXG6.js} +3 -3
  180. package/dist/{chunk-C7LAIXEO.js.map → chunk-RY6VPXG6.js.map} +1 -1
  181. package/dist/{chunk-R7VWIXFX.js → chunk-TEAYGNHT.js} +3 -3
  182. package/dist/{chunk-R7VWIXFX.js.map → chunk-TEAYGNHT.js.map} +1 -1
  183. package/dist/{chunk-W3QKGF2O.js → chunk-TXYLHBUH.js} +3 -3
  184. package/dist/{chunk-W3QKGF2O.js.map → chunk-TXYLHBUH.js.map} +1 -1
  185. package/dist/{chunk-6TFM3UTF.js → chunk-ULF4LPVA.js} +3 -3
  186. package/dist/{chunk-6TFM3UTF.js.map → chunk-ULF4LPVA.js.map} +1 -1
  187. package/dist/{chunk-V6IKYNU6.js → chunk-UUHLRFXB.js} +9 -9
  188. package/dist/chunk-UUHLRFXB.js.map +1 -0
  189. package/dist/{chunk-F3QHKYS3.js → chunk-VJA4DVVT.js} +4 -4
  190. package/dist/{chunk-F3QHKYS3.js.map → chunk-VJA4DVVT.js.map} +1 -1
  191. package/dist/{chunk-JDCZWE7N.js → chunk-W7CYFPGY.js} +6 -6
  192. package/dist/{chunk-JDCZWE7N.js.map → chunk-W7CYFPGY.js.map} +1 -1
  193. package/dist/{chunk-5V4W3GBI.js → chunk-WAKCWE6P.js} +5 -5
  194. package/dist/{chunk-5V4W3GBI.js.map → chunk-WAKCWE6P.js.map} +1 -1
  195. package/dist/{chunk-R72B5P4R.js → chunk-ZUVBDALM.js} +4 -4
  196. package/dist/{chunk-R72B5P4R.js.map → chunk-ZUVBDALM.js.map} +1 -1
  197. package/dist/components/cart/index.js +1 -1
  198. package/dist/components/common/index.js +1 -1
  199. package/dist/components/drawer/index.js +23 -23
  200. package/dist/components/home/index.js +28 -28
  201. package/dist/components/layout/index.js +6 -6
  202. package/dist/components/product/ProductCard.d.ts.map +1 -1
  203. package/dist/components/product/index.js +25 -25
  204. package/dist/components/store/index.js +24 -24
  205. package/dist/components/toast/index.js +4 -4
  206. package/dist/dev/editor/index.js +2 -2
  207. package/dist/dev/index.js +2 -2
  208. package/dist/document-class-N7WF3WXG.js +33 -0
  209. package/dist/{document-class-B57F7JZW.js.map → document-class-N7WF3WXG.js.map} +1 -1
  210. package/dist/hooks/index.js +23 -23
  211. package/dist/hooks/useComments.js +3 -3
  212. package/dist/hooks/useGtm.js +23 -23
  213. package/dist/hooks/useMoney.js +23 -23
  214. package/dist/hooks/useProduct.js +3 -3
  215. package/dist/hooks/useStore.js +23 -23
  216. package/dist/hooks/useUser.js +5 -5
  217. package/dist/hooks/useWishlist.js +3 -3
  218. package/dist/index.js +23 -23
  219. package/dist/native-app/index.js +3 -3
  220. package/dist/{navigation-N3WBAE74.js → navigation-5DPDZQUU.js} +8 -8
  221. package/dist/{navigation-N3WBAE74.js.map → navigation-5DPDZQUU.js.map} +1 -1
  222. package/dist/{navigation-VJBIYPFD.js → navigation-FRKMKNLK.js} +7 -7
  223. package/dist/{navigation-VJBIYPFD.js.map → navigation-FRKMKNLK.js.map} +1 -1
  224. package/dist/{not-found-KDDMHTAU.js → not-found-4U2TRCLF.js} +26 -26
  225. package/dist/{not-found-KDDMHTAU.js.map → not-found-4U2TRCLF.js.map} +1 -1
  226. package/dist/providers/index.js +23 -23
  227. package/dist/routes/account/orders.js +8 -8
  228. package/dist/routes/account.js +17 -17
  229. package/dist/routes/blog.js +12 -12
  230. package/dist/routes/brands.js +8 -8
  231. package/dist/routes/cart.js +32 -32
  232. package/dist/routes/home.js +29 -29
  233. package/dist/routes/index.js +6 -6
  234. package/dist/routes/loyalty.js +9 -9
  235. package/dist/routes/page.js +8 -8
  236. package/dist/routes/product-listing.js +33 -33
  237. package/dist/routes/product.js +28 -28
  238. package/dist/routes/root/beforeLoad.d.ts.map +1 -1
  239. package/dist/routes/seo-redirects.js +6 -6
  240. package/dist/routes/testimonials.js +4 -4
  241. package/dist/routes/thank-you.js +8 -8
  242. package/dist/skeleton.js +29 -29
  243. package/dist/{store-lookup-WBKOYMDU.js → store-lookup-S6JUSKNH.js} +11 -11
  244. package/dist/{store-lookup-WBKOYMDU.js.map → store-lookup-S6JUSKNH.js.map} +1 -1
  245. package/dist/tanstack.js +20 -20
  246. package/dist/utils/baseHead.js +2 -2
  247. package/dist/utils/index.js +6 -6
  248. package/dist/utils/shared-host-language.d.ts +5 -0
  249. package/dist/utils/shared-host-language.d.ts.map +1 -1
  250. package/dist/utils/store-base.d.ts +60 -0
  251. package/dist/utils/store-base.d.ts.map +1 -1
  252. package/dist/utils/store-identity.d.ts +14 -0
  253. package/dist/utils/store-identity.d.ts.map +1 -1
  254. package/dist/vite/index.js +3 -3
  255. package/package.json +1 -1
  256. package/tailwind/components/home/FixedProducts.tsx.txt +2 -2
  257. package/tailwind/components/product/ProductCard.tsx.txt +2 -1
  258. package/tailwind/routes/root/beforeLoad.ts.txt +37 -3
  259. package/dist/chunk-CAAIQPEN.js.map +0 -1
  260. package/dist/chunk-T2752RH7.js.map +0 -1
  261. package/dist/chunk-V6IKYNU6.js.map +0 -1
  262. package/dist/chunk-ZXEJ46OF.js.map +0 -1
  263. package/dist/document-class-B57F7JZW.js +0 -33
@@ -1,48 +1,48 @@
1
1
  import { NoContent } from './chunk-33FWLJXY.js';
2
- import { product, parseNextPageToken } from './chunk-R72B5P4R.js';
3
- import { ProductCard } from './chunk-CAAIQPEN.js';
2
+ import { product, parseNextPageToken } from './chunk-ZUVBDALM.js';
3
+ import { ProductCard } from './chunk-PVOJJ2BV.js';
4
4
  import './chunk-Y32RHCOH.js';
5
- import './chunk-HPK6GB7G.js';
5
+ import './chunk-O63WBEAC.js';
6
6
  import './chunk-Q77J3D2W.js';
7
- import './chunk-5ABT7QLS.js';
8
- import './chunk-6T4HGLQM.js';
9
- import './chunk-5V4W3GBI.js';
7
+ import './chunk-EMAAVDEK.js';
8
+ import './chunk-5T4MJAUN.js';
9
+ import './chunk-WAKCWE6P.js';
10
10
  import './chunk-X55R4VVK.js';
11
11
  import './chunk-YL6X3ZMG.js';
12
- import './chunk-LILNJBFU.js';
12
+ import './chunk-IEKP3HYS.js';
13
13
  import './chunk-OXMUPNMH.js';
14
- import './chunk-3BDSQIYZ.js';
14
+ import './chunk-5RBXCPG6.js';
15
15
  import './chunk-VVZNW5CB.js';
16
- import './chunk-EGI7F57E.js';
16
+ import './chunk-DPQIVZ4T.js';
17
17
  import './chunk-GD26FI4J.js';
18
- import './chunk-SLBO4SEE.js';
19
- import './chunk-MGG4XAJ5.js';
20
- import './chunk-MJHYLDXL.js';
18
+ import './chunk-6YEE3VHL.js';
19
+ import './chunk-P2PPBXHD.js';
20
+ import './chunk-O3XMYDNC.js';
21
21
  import './chunk-OUW6WESU.js';
22
- import './chunk-IHOUADLX.js';
22
+ import './chunk-JK45RUVV.js';
23
23
  import './chunk-HI5V5X3S.js';
24
- import './chunk-BAJBKIGI.js';
25
- import './chunk-GBJK6KKM.js';
24
+ import './chunk-2ZC5YGMI.js';
25
+ import './chunk-PYXAPLNB.js';
26
26
  import './chunk-6T55LXJL.js';
27
27
  import './chunk-Z653O7MX.js';
28
28
  import './chunk-ZCH7W7DZ.js';
29
- import './chunk-H7LRGY7U.js';
29
+ import './chunk-B57KIBQL.js';
30
30
  import './chunk-JWXJPJBO.js';
31
31
  import './chunk-CW625T2E.js';
32
32
  import './chunk-7V36I5GT.js';
33
33
  import './chunk-6WI7R2BD.js';
34
- import './chunk-M5WTY3EH.js';
34
+ import './chunk-5EAISVPV.js';
35
35
  import './chunk-OAMIDZKW.js';
36
- import './chunk-CUURFACL.js';
36
+ import './chunk-BYGVKW3M.js';
37
37
  import './chunk-OQIIJRAS.js';
38
38
  import './chunk-V2ZDTY6H.js';
39
- import './chunk-3AIK4QGW.js';
39
+ import './chunk-PPFD456V.js';
40
40
  import './chunk-5XDPAKF5.js';
41
41
  import './chunk-GCPEMNSU.js';
42
- import './chunk-CXKA35FJ.js';
42
+ import './chunk-RB7RHMKJ.js';
43
43
  import './chunk-Z5M4YYWT.js';
44
44
  import { useTranslation } from './chunk-TYNZ5B2B.js';
45
- import './chunk-W2A5AWNA.js';
45
+ import './chunk-LBZNLTBM.js';
46
46
  import './chunk-AXW67SY7.js';
47
47
  import './chunk-BYMOPN2S.js';
48
48
  import './chunk-SKLEJJ6M.js';
@@ -50,10 +50,10 @@ import './chunk-6BZ5TKEV.js';
50
50
  import './chunk-FZKRSGLP.js';
51
51
  import './chunk-KYMWEUN2.js';
52
52
  import './chunk-YA6ABQB7.js';
53
- import './chunk-QMWP2ZP6.js';
54
- import './chunk-6TFM3UTF.js';
55
- import './chunk-XMRNYUQY.js';
56
- import './chunk-T2752RH7.js';
53
+ import './chunk-R7QCNL62.js';
54
+ import './chunk-ULF4LPVA.js';
55
+ import './chunk-7XAGU6CT.js';
56
+ import './chunk-4E6FD5W7.js';
57
57
  import './chunk-6K34BCUP.js';
58
58
  import './chunk-T72DAX7R.js';
59
59
  import './chunk-DF6FBKDN.js';
@@ -104,5 +104,5 @@ function LatestProducts({ data }) {
104
104
  }
105
105
 
106
106
  export { LatestProducts };
107
- //# sourceMappingURL=LatestProducts-VHN2P5TE.js.map
108
- //# sourceMappingURL=LatestProducts-VHN2P5TE.js.map
107
+ //# sourceMappingURL=LatestProducts-YYKQNL5N.js.map
108
+ //# sourceMappingURL=LatestProducts-YYKQNL5N.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/home/LatestProducts.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,SAAS,cAAA,CAAe,EAAE,IAAA,EAAK,EAAwB;AAC5D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,OAAA,GAAU,OAAsB,IAAI,CAAA;AAE1C,EAAA,MAAM,MAAA,GAAS,YAAY,YAAY;AACrC,IAAA,MAAM,MAAA,GAAS,MAAM,OAAA,CAAQ,IAAA,CAAK,EAAE,MAAA,EAAQ,QAAA,EAAU,GAAG,kBAAA,CAAmB,OAAA,CAAQ,OAAO,CAAA,EAAG,CAAA;AAC9F,IAAA,OAAA,CAAQ,UAAU,MAAA,CAAO,IAAA;AACzB,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,KAAA,IAAS,CAAA,CAAE,6BAAA,EAA+B,iBAAiB,CAAA,EAAE,CAAA,EACzE,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACC,MAAA;AAAA,QACA,IAAA,EAAK,UAAA;AAAA,QACL,cAAA,EAAe,gCAAA;AAAA,QACf,QAAA,sBAAW,mBAAA,EAAA,EAAoB,CAAA;AAAA,QAC/B,YAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe,CAAA;AAAA,QACf,KAAA,kBACE,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,oBAAA;AAAA,YACL,OAAA,EAAS,CAAA,CAAE,8BAAA,EAAgC,oCAAoC;AAAA;AAAA,SACjF;AAAA,QAEF,GAAG,CAAC,GAAA,EAAK,aAAa,CAAA,CAAE,GAAA,EAAK,YAAY,GAAG,CAAA;AAAA,QAE3C,WAAC,QAAA,KACA,QAAA,CAAS,GAAA,CAAI,CAAC,MAAM,KAAA,qBAClB,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YAEC,OAAA,EAAS,IAAA;AAAA,YACT,aAAA,EAAe,CAAC,CAAC,IAAA,CAAK,YAAY,KAAA,GAAQ;AAAA,WAAA;AAAA,UAFrC,IAAA,CAAK;AAAA,SAIb;AAAA;AAAA;AAEL,GAAA,EACF,CAAA;AAEJ","file":"LatestProducts-VHN2P5TE.js","sourcesContent":["import { useCallback, useRef } from 'react';\nimport { ProductCardSkeleton, SallaProductsList } from '@salla.sa/twilight-components-react';\nimport { parseNextPageToken, product } from '../../api/product';\nimport { ProductCard } from '../product/ProductCard';\nimport { NoContent } from '../common/NoContent';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { Product } from '../../types';\n\nexport interface LatestProductsProps {\n data: {\n title?: string;\n priority?: boolean;\n [key: string]: unknown;\n };\n}\n\n/**\n * Twig's `latest-products` block (the Store app's LatestProductsWidget): the store's newest\n * products, loading more as the customer scrolls. A home page with no blocks shows it.\n */\nexport function LatestProducts({ data }: LatestProductsProps) {\n const { t } = useTranslation();\n const nextRef = useRef<string | null>(null);\n\n const loader = useCallback(async () => {\n const result = await product.list({ source: 'latest', ...parseNextPageToken(nextRef.current) });\n nextRef.current = result.next;\n return result;\n }, []);\n\n return (\n <>\n <div className=\"s-block__title\">\n <h2>{data.title || t('blocks.home.latest_products', 'Latest Products')}</h2>\n </div>\n <SallaProductsList<Product>\n loader={loader}\n mode=\"infinite\"\n itemsClassName=\"s-products-list-vertical-cards\"\n skeleton={<ProductCardSkeleton />}\n skeletonType=\"item\"\n skeletonCount={8}\n empty={\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.categories.no_products', 'No products found in this category')}\n />\n }\n t={(key, fallback) => t(key, fallback || key)}\n >\n {(products) =>\n products.map((item, index) => (\n <ProductCard\n key={item.id}\n product={item}\n imagePriority={!!data.priority && index < 2}\n />\n ))\n }\n </SallaProductsList>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/home/LatestProducts.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,SAAS,cAAA,CAAe,EAAE,IAAA,EAAK,EAAwB;AAC5D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,OAAA,GAAU,OAAsB,IAAI,CAAA;AAE1C,EAAA,MAAM,MAAA,GAAS,YAAY,YAAY;AACrC,IAAA,MAAM,MAAA,GAAS,MAAM,OAAA,CAAQ,IAAA,CAAK,EAAE,MAAA,EAAQ,QAAA,EAAU,GAAG,kBAAA,CAAmB,OAAA,CAAQ,OAAO,CAAA,EAAG,CAAA;AAC9F,IAAA,OAAA,CAAQ,UAAU,MAAA,CAAO,IAAA;AACzB,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,KAAA,IAAS,CAAA,CAAE,6BAAA,EAA+B,iBAAiB,CAAA,EAAE,CAAA,EACzE,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACC,MAAA;AAAA,QACA,IAAA,EAAK,UAAA;AAAA,QACL,cAAA,EAAe,gCAAA;AAAA,QACf,QAAA,sBAAW,mBAAA,EAAA,EAAoB,CAAA;AAAA,QAC/B,YAAA,EAAa,MAAA;AAAA,QACb,aAAA,EAAe,CAAA;AAAA,QACf,KAAA,kBACE,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,oBAAA;AAAA,YACL,OAAA,EAAS,CAAA,CAAE,8BAAA,EAAgC,oCAAoC;AAAA;AAAA,SACjF;AAAA,QAEF,GAAG,CAAC,GAAA,EAAK,aAAa,CAAA,CAAE,GAAA,EAAK,YAAY,GAAG,CAAA;AAAA,QAE3C,WAAC,QAAA,KACA,QAAA,CAAS,GAAA,CAAI,CAAC,MAAM,KAAA,qBAClB,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YAEC,OAAA,EAAS,IAAA;AAAA,YACT,aAAA,EAAe,CAAC,CAAC,IAAA,CAAK,YAAY,KAAA,GAAQ;AAAA,WAAA;AAAA,UAFrC,IAAA,CAAK;AAAA,SAIb;AAAA;AAAA;AAEL,GAAA,EACF,CAAA;AAEJ","file":"LatestProducts-YYKQNL5N.js","sourcesContent":["import { useCallback, useRef } from 'react';\nimport { ProductCardSkeleton, SallaProductsList } from '@salla.sa/twilight-components-react';\nimport { parseNextPageToken, product } from '../../api/product';\nimport { ProductCard } from '../product/ProductCard';\nimport { NoContent } from '../common/NoContent';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { Product } from '../../types';\n\nexport interface LatestProductsProps {\n data: {\n title?: string;\n priority?: boolean;\n [key: string]: unknown;\n };\n}\n\n/**\n * Twig's `latest-products` block (the Store app's LatestProductsWidget): the store's newest\n * products, loading more as the customer scrolls. A home page with no blocks shows it.\n */\nexport function LatestProducts({ data }: LatestProductsProps) {\n const { t } = useTranslation();\n const nextRef = useRef<string | null>(null);\n\n const loader = useCallback(async () => {\n const result = await product.list({ source: 'latest', ...parseNextPageToken(nextRef.current) });\n nextRef.current = result.next;\n return result;\n }, []);\n\n return (\n <>\n <div className=\"s-block__title\">\n <h2>{data.title || t('blocks.home.latest_products', 'Latest Products')}</h2>\n </div>\n <SallaProductsList<Product>\n loader={loader}\n mode=\"infinite\"\n itemsClassName=\"s-products-list-vertical-cards\"\n skeleton={<ProductCardSkeleton />}\n skeletonType=\"item\"\n skeletonCount={8}\n empty={\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.categories.no_products', 'No products found in this category')}\n />\n }\n t={(key, fallback) => t(key, fallback || key)}\n >\n {(products) =>\n products.map((item, index) => (\n <ProductCard\n key={item.id}\n product={item}\n imagePriority={!!data.priority && index < 2}\n />\n ))\n }\n </SallaProductsList>\n </>\n );\n}\n"]}
@@ -1,44 +1,44 @@
1
- import './chunk-HPK6GB7G.js';
1
+ import './chunk-O63WBEAC.js';
2
2
  import './chunk-Q77J3D2W.js';
3
- import './chunk-5ABT7QLS.js';
4
- import './chunk-6T4HGLQM.js';
5
- import './chunk-5V4W3GBI.js';
3
+ import './chunk-EMAAVDEK.js';
4
+ import './chunk-5T4MJAUN.js';
5
+ import './chunk-WAKCWE6P.js';
6
6
  import './chunk-X55R4VVK.js';
7
7
  import './chunk-YL6X3ZMG.js';
8
- import './chunk-LILNJBFU.js';
8
+ import './chunk-IEKP3HYS.js';
9
9
  import './chunk-OXMUPNMH.js';
10
- import './chunk-3BDSQIYZ.js';
10
+ import './chunk-5RBXCPG6.js';
11
11
  import './chunk-VVZNW5CB.js';
12
- import './chunk-EGI7F57E.js';
12
+ import './chunk-DPQIVZ4T.js';
13
13
  import './chunk-GD26FI4J.js';
14
- import './chunk-SLBO4SEE.js';
15
- import './chunk-MGG4XAJ5.js';
16
- import './chunk-MJHYLDXL.js';
14
+ import './chunk-6YEE3VHL.js';
15
+ import './chunk-P2PPBXHD.js';
16
+ import './chunk-O3XMYDNC.js';
17
17
  import './chunk-OUW6WESU.js';
18
- import './chunk-IHOUADLX.js';
18
+ import './chunk-JK45RUVV.js';
19
19
  import './chunk-HI5V5X3S.js';
20
- import './chunk-BAJBKIGI.js';
21
- import './chunk-GBJK6KKM.js';
20
+ import './chunk-2ZC5YGMI.js';
21
+ import './chunk-PYXAPLNB.js';
22
22
  import './chunk-6T55LXJL.js';
23
23
  import './chunk-Z653O7MX.js';
24
24
  import './chunk-ZCH7W7DZ.js';
25
- import './chunk-H7LRGY7U.js';
25
+ import './chunk-B57KIBQL.js';
26
26
  import './chunk-JWXJPJBO.js';
27
27
  import './chunk-CW625T2E.js';
28
28
  import './chunk-7V36I5GT.js';
29
29
  import './chunk-6WI7R2BD.js';
30
- import './chunk-M5WTY3EH.js';
30
+ import './chunk-5EAISVPV.js';
31
31
  import './chunk-OAMIDZKW.js';
32
- import './chunk-CUURFACL.js';
32
+ import './chunk-BYGVKW3M.js';
33
33
  import './chunk-OQIIJRAS.js';
34
34
  import './chunk-V2ZDTY6H.js';
35
- import './chunk-3AIK4QGW.js';
35
+ import './chunk-PPFD456V.js';
36
36
  import { HookSlot } from './chunk-5XDPAKF5.js';
37
37
  import './chunk-GCPEMNSU.js';
38
- import './chunk-CXKA35FJ.js';
38
+ import './chunk-RB7RHMKJ.js';
39
39
  import './chunk-Z5M4YYWT.js';
40
40
  import './chunk-TYNZ5B2B.js';
41
- import { LazyBreadcrumb } from './chunk-W2A5AWNA.js';
41
+ import { LazyBreadcrumb } from './chunk-LBZNLTBM.js';
42
42
  import './chunk-AXW67SY7.js';
43
43
  import './chunk-BYMOPN2S.js';
44
44
  import './chunk-SKLEJJ6M.js';
@@ -46,10 +46,10 @@ import './chunk-6BZ5TKEV.js';
46
46
  import './chunk-FZKRSGLP.js';
47
47
  import './chunk-KYMWEUN2.js';
48
48
  import './chunk-YA6ABQB7.js';
49
- import './chunk-QMWP2ZP6.js';
50
- import './chunk-6TFM3UTF.js';
51
- import './chunk-XMRNYUQY.js';
52
- import './chunk-T2752RH7.js';
49
+ import './chunk-R7QCNL62.js';
50
+ import './chunk-ULF4LPVA.js';
51
+ import './chunk-7XAGU6CT.js';
52
+ import './chunk-4E6FD5W7.js';
53
53
  import './chunk-6K34BCUP.js';
54
54
  import './chunk-T72DAX7R.js';
55
55
  import './chunk-DF6FBKDN.js';
@@ -70,5 +70,5 @@ function LoyaltyPage({ page }) {
70
70
  }
71
71
 
72
72
  export { LoyaltyPage };
73
- //# sourceMappingURL=LoyaltyPage-PVK7FBFE.js.map
74
- //# sourceMappingURL=LoyaltyPage-PVK7FBFE.js.map
73
+ //# sourceMappingURL=LoyaltyPage-MROFMZXV.js.map
74
+ //# sourceMappingURL=LoyaltyPage-MROFMZXV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,SAAS,WAAA,CAAY,EAAE,IAAA,EAAK,EAAqB;AACtD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,eAAA,EAAgB,CAAA;AAAA,oBAC/B,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAW,IAAA,EAAY,CAAA;AAAA,0BACvB,mBAAA,EAAA,EAAoB;AAAA,KAAA,EACvB,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,aAAA,EAAc;AAAA,GAAA,EAC/B,CAAA;AAEJ","file":"LoyaltyPage-PVK7FBFE.js","sourcesContent":["import { SallaLoyaltyProgram } from '@salla.sa/twilight-components-react/loyalty-program';\nimport type { LoyaltyPageProps } from './types';\nimport { Breadcrumb } from '../../components/common';\nimport { HookSlot } from '../../hooks';\n\nexport function LoyaltyPage({ page }: LoyaltyPageProps) {\n return (\n <>\n <HookSlot name=\"loyalty:start\" />\n <div className=\"container mb-20\">\n <Breadcrumb page={page} />\n <SallaLoyaltyProgram />\n </div>\n <HookSlot name=\"loyalty:end\" />\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,SAAS,WAAA,CAAY,EAAE,IAAA,EAAK,EAAqB;AACtD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,eAAA,EAAgB,CAAA;AAAA,oBAC/B,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAW,IAAA,EAAY,CAAA;AAAA,0BACvB,mBAAA,EAAA,EAAoB;AAAA,KAAA,EACvB,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,aAAA,EAAc;AAAA,GAAA,EAC/B,CAAA;AAEJ","file":"LoyaltyPage-MROFMZXV.js","sourcesContent":["import { SallaLoyaltyProgram } from '@salla.sa/twilight-components-react/loyalty-program';\nimport type { LoyaltyPageProps } from './types';\nimport { Breadcrumb } from '../../components/common';\nimport { HookSlot } from '../../hooks';\n\nexport function LoyaltyPage({ page }: LoyaltyPageProps) {\n return (\n <>\n <HookSlot name=\"loyalty:start\" />\n <div className=\"container mb-20\">\n <Breadcrumb page={page} />\n <SallaLoyaltyProgram />\n </div>\n <HookSlot name=\"loyalty:end\" />\n </>\n );\n}\n"]}
@@ -1,15 +1,15 @@
1
- import { LazyCustomerLayout } from './chunk-DQEJV5SR.js';
2
- import './chunk-CUURFACL.js';
1
+ import { LazyCustomerLayout } from './chunk-FCCGJ4DI.js';
2
+ import './chunk-BYGVKW3M.js';
3
3
  import './chunk-OQIIJRAS.js';
4
4
  import './chunk-V2ZDTY6H.js';
5
- import './chunk-3AIK4QGW.js';
5
+ import './chunk-PPFD456V.js';
6
6
  import './chunk-5XDPAKF5.js';
7
7
  import './chunk-GCPEMNSU.js';
8
- import './chunk-CXKA35FJ.js';
8
+ import './chunk-RB7RHMKJ.js';
9
9
  import './chunk-Z5M4YYWT.js';
10
10
  import './chunk-TYNZ5B2B.js';
11
- import './chunk-XMRNYUQY.js';
12
- import './chunk-T2752RH7.js';
11
+ import './chunk-7XAGU6CT.js';
12
+ import './chunk-4E6FD5W7.js';
13
13
  import './chunk-6K34BCUP.js';
14
14
  import './chunk-T72DAX7R.js';
15
15
  import './chunk-DF6FBKDN.js';
@@ -23,5 +23,5 @@ function LoyaltyPointsPage({ page }) {
23
23
  }
24
24
 
25
25
  export { LoyaltyPointsPage };
26
- //# sourceMappingURL=LoyaltyPointsPage-WYCO453U.js.map
27
- //# sourceMappingURL=LoyaltyPointsPage-WYCO453U.js.map
26
+ //# sourceMappingURL=LoyaltyPointsPage-DVHJOAKP.js.map
27
+ //# sourceMappingURL=LoyaltyPointsPage-DVHJOAKP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/loyalty/LoyaltyPointsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIO,SAAS,iBAAA,CAAkB,EAAE,IAAA,EAAK,EAA2B;AAClE,EAAA,uBACE,GAAA,CAAC,kBAAA,EAAA,EAAe,IAAA,EACd,QAAA,kBAAA,GAAA,CAAC,6BAA0B,CAAA,EAC7B,CAAA;AAEJ","file":"LoyaltyPointsPage-WYCO453U.js","sourcesContent":["import { SallaLoyaltyPointsHistory } from '@salla.sa/twilight-components-react/loyalty-points-history';\nimport type { LoyaltyPointsPageProps } from './types';\nimport { CustomerLayout } from '../../components/layout';\n\nexport function LoyaltyPointsPage({ page }: LoyaltyPointsPageProps) {\n return (\n <CustomerLayout page={page}>\n <SallaLoyaltyPointsHistory />\n </CustomerLayout>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/loyalty/LoyaltyPointsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIO,SAAS,iBAAA,CAAkB,EAAE,IAAA,EAAK,EAA2B;AAClE,EAAA,uBACE,GAAA,CAAC,kBAAA,EAAA,EAAe,IAAA,EACd,QAAA,kBAAA,GAAA,CAAC,6BAA0B,CAAA,EAC7B,CAAA;AAEJ","file":"LoyaltyPointsPage-DVHJOAKP.js","sourcesContent":["import { SallaLoyaltyPointsHistory } from '@salla.sa/twilight-components-react/loyalty-points-history';\nimport type { LoyaltyPointsPageProps } from './types';\nimport { CustomerLayout } from '../../components/layout';\n\nexport function LoyaltyPointsPage({ page }: LoyaltyPointsPageProps) {\n return (\n <CustomerLayout page={page}>\n <SallaLoyaltyPointsHistory />\n </CustomerLayout>\n );\n}\n"]}
@@ -1,13 +1,13 @@
1
- import { menu } from './chunk-C7LAIXEO.js';
2
- import './chunk-CXKA35FJ.js';
1
+ import { menu } from './chunk-RY6VPXG6.js';
2
+ import './chunk-RB7RHMKJ.js';
3
3
  import './chunk-Z5M4YYWT.js';
4
4
  import { useTranslation } from './chunk-TYNZ5B2B.js';
5
- import './chunk-W2A5AWNA.js';
5
+ import './chunk-LBZNLTBM.js';
6
6
  import { Link } from './chunk-AXW67SY7.js';
7
7
  import './chunk-BYMOPN2S.js';
8
8
  import './chunk-SKLEJJ6M.js';
9
- import './chunk-XMRNYUQY.js';
10
- import './chunk-T2752RH7.js';
9
+ import './chunk-7XAGU6CT.js';
10
+ import './chunk-4E6FD5W7.js';
11
11
  import './chunk-6K34BCUP.js';
12
12
  import './chunk-T72DAX7R.js';
13
13
  import { useTwilight } from './chunk-DF6FBKDN.js';
@@ -70,5 +70,5 @@ function MainMenu() {
70
70
  }
71
71
 
72
72
  export { MainMenu };
73
- //# sourceMappingURL=MainMenu-Y2PAFESM.js.map
74
- //# sourceMappingURL=MainMenu-Y2PAFESM.js.map
73
+ //# sourceMappingURL=MainMenu-GQO5KOTU.js.map
74
+ //# sourceMappingURL=MainMenu-GQO5KOTU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":"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","file":"MainMenu-Y2PAFESM.js","sourcesContent":["import { useMemo, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nconst SKELETON_ITEMS = [\n { id: 'first', width: 'w-16' },\n { id: 'second', width: 'w-20' },\n { id: 'third', width: 'w-24' },\n { id: 'fourth', width: 'w-16' },\n { id: 'fifth', width: 'w-20' },\n];\n\nconst MainMenuSkeleton = memo(function MainMenuSkeleton() {\n return (\n <nav>\n <ul className=\"main-menu\">\n {SKELETON_ITEMS.map(({ id, width }) => (\n <li key={id} className=\"!hidden lg:!block root-level\">\n <Link to=\"#\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-4 ${width}`} />\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n});\n\nexport function MainMenu() {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const { visibleMenus, hiddenMenus } = useMemo(() => {\n const enableMore = theme?.settings?.is_more_button_enabled;\n const visibleCount = 7;\n\n if (enableMore && menus.length > visibleCount) {\n return {\n visibleMenus: menus.slice(0, visibleCount),\n hiddenMenus: menus.slice(visibleCount),\n };\n }\n\n return { visibleMenus: menus, hiddenMenus: [] };\n }, [menus, theme?.settings?.enable_more_menu, theme?.settings?.is_more_button_enabled]);\n\n if (isLoading) {\n return <MainMenuSkeleton />;\n }\n\n const renderItem = (item: MenuItem, isChild = false, inMoreMenu = false) => {\n const hasChildren = item.has_children && item.children && item.children.length > 0;\n const showDropdown = hasChildren && !inMoreMenu;\n\n return (\n <li\n key={item.id}\n className={`${isChild ? 'relative' : '!hidden lg:!block root-level'} ${hasChildren ? 'has-children' : ''}`}\n >\n <Link to={item.url}>\n <span>{item.title}</span>\n </Link>\n {showDropdown && (\n <div className=\"sub-menu w-56\">\n <ul>{item?.children?.map((child: MenuItem) => renderItem(child, true))}</ul>\n </div>\n )}\n </li>\n );\n };\n\n return (\n <nav>\n <ul className=\"main-menu\">\n {visibleMenus.map((item) => renderItem(item))}\n {hiddenMenus.length > 0 && (\n <li id=\"more-menu-dropdown\" className=\"!hidden lg:!block root-level has-children\">\n {/* No destination, so no href: the tab index keeps it reachable by keyboard. */}\n <Link to=\"#\" {...{ tabIndex: 0 }}>\n <span>{t('common.titles.more', 'More')}</span>\n </Link>\n <div className=\"sub-menu w-56\">\n <ul>{hiddenMenus.map((item) => renderItem(item, true, true))}</ul>\n </div>\n </li>\n )}\n </ul>\n </nav>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":"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","file":"MainMenu-GQO5KOTU.js","sourcesContent":["import { useMemo, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nconst SKELETON_ITEMS = [\n { id: 'first', width: 'w-16' },\n { id: 'second', width: 'w-20' },\n { id: 'third', width: 'w-24' },\n { id: 'fourth', width: 'w-16' },\n { id: 'fifth', width: 'w-20' },\n];\n\nconst MainMenuSkeleton = memo(function MainMenuSkeleton() {\n return (\n <nav>\n <ul className=\"main-menu\">\n {SKELETON_ITEMS.map(({ id, width }) => (\n <li key={id} className=\"!hidden lg:!block root-level\">\n <Link to=\"#\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-4 ${width}`} />\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n});\n\nexport function MainMenu() {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const { visibleMenus, hiddenMenus } = useMemo(() => {\n const enableMore = theme?.settings?.is_more_button_enabled;\n const visibleCount = 7;\n\n if (enableMore && menus.length > visibleCount) {\n return {\n visibleMenus: menus.slice(0, visibleCount),\n hiddenMenus: menus.slice(visibleCount),\n };\n }\n\n return { visibleMenus: menus, hiddenMenus: [] };\n }, [menus, theme?.settings?.enable_more_menu, theme?.settings?.is_more_button_enabled]);\n\n if (isLoading) {\n return <MainMenuSkeleton />;\n }\n\n const renderItem = (item: MenuItem, isChild = false, inMoreMenu = false) => {\n const hasChildren = item.has_children && item.children && item.children.length > 0;\n const showDropdown = hasChildren && !inMoreMenu;\n\n return (\n <li\n key={item.id}\n className={`${isChild ? 'relative' : '!hidden lg:!block root-level'} ${hasChildren ? 'has-children' : ''}`}\n >\n <Link to={item.url}>\n <span>{item.title}</span>\n </Link>\n {showDropdown && (\n <div className=\"sub-menu w-56\">\n <ul>{item?.children?.map((child: MenuItem) => renderItem(child, true))}</ul>\n </div>\n )}\n </li>\n );\n };\n\n return (\n <nav>\n <ul className=\"main-menu\">\n {visibleMenus.map((item) => renderItem(item))}\n {hiddenMenus.length > 0 && (\n <li id=\"more-menu-dropdown\" className=\"!hidden lg:!block root-level has-children\">\n {/* No destination, so no href: the tab index keeps it reachable by keyboard. */}\n <Link to=\"#\" {...{ tabIndex: 0 }}>\n <span>{t('common.titles.more', 'More')}</span>\n </Link>\n <div className=\"sub-menu w-56\">\n <ul>{hiddenMenus.map((item) => renderItem(item, true, true))}</ul>\n </div>\n </li>\n )}\n </ul>\n </nav>\n );\n}\n"]}
@@ -1,44 +1,44 @@
1
- export { MasterLayout } from './chunk-HPK6GB7G.js';
1
+ export { MasterLayout } from './chunk-O63WBEAC.js';
2
2
  import './chunk-Q77J3D2W.js';
3
- import './chunk-5ABT7QLS.js';
4
- import './chunk-6T4HGLQM.js';
5
- import './chunk-5V4W3GBI.js';
3
+ import './chunk-EMAAVDEK.js';
4
+ import './chunk-5T4MJAUN.js';
5
+ import './chunk-WAKCWE6P.js';
6
6
  import './chunk-X55R4VVK.js';
7
7
  import './chunk-YL6X3ZMG.js';
8
- import './chunk-LILNJBFU.js';
8
+ import './chunk-IEKP3HYS.js';
9
9
  import './chunk-OXMUPNMH.js';
10
- import './chunk-3BDSQIYZ.js';
10
+ import './chunk-5RBXCPG6.js';
11
11
  import './chunk-VVZNW5CB.js';
12
- import './chunk-EGI7F57E.js';
12
+ import './chunk-DPQIVZ4T.js';
13
13
  import './chunk-GD26FI4J.js';
14
- import './chunk-SLBO4SEE.js';
15
- import './chunk-MGG4XAJ5.js';
16
- import './chunk-MJHYLDXL.js';
14
+ import './chunk-6YEE3VHL.js';
15
+ import './chunk-P2PPBXHD.js';
16
+ import './chunk-O3XMYDNC.js';
17
17
  import './chunk-OUW6WESU.js';
18
- import './chunk-IHOUADLX.js';
18
+ import './chunk-JK45RUVV.js';
19
19
  import './chunk-HI5V5X3S.js';
20
- import './chunk-BAJBKIGI.js';
21
- import './chunk-GBJK6KKM.js';
20
+ import './chunk-2ZC5YGMI.js';
21
+ import './chunk-PYXAPLNB.js';
22
22
  import './chunk-6T55LXJL.js';
23
23
  import './chunk-Z653O7MX.js';
24
24
  import './chunk-ZCH7W7DZ.js';
25
- import './chunk-H7LRGY7U.js';
25
+ import './chunk-B57KIBQL.js';
26
26
  import './chunk-JWXJPJBO.js';
27
27
  import './chunk-CW625T2E.js';
28
28
  import './chunk-7V36I5GT.js';
29
29
  import './chunk-6WI7R2BD.js';
30
- import './chunk-M5WTY3EH.js';
30
+ import './chunk-5EAISVPV.js';
31
31
  import './chunk-OAMIDZKW.js';
32
- import './chunk-CUURFACL.js';
32
+ import './chunk-BYGVKW3M.js';
33
33
  import './chunk-OQIIJRAS.js';
34
34
  import './chunk-V2ZDTY6H.js';
35
- import './chunk-3AIK4QGW.js';
35
+ import './chunk-PPFD456V.js';
36
36
  import './chunk-5XDPAKF5.js';
37
37
  import './chunk-GCPEMNSU.js';
38
- import './chunk-CXKA35FJ.js';
38
+ import './chunk-RB7RHMKJ.js';
39
39
  import './chunk-Z5M4YYWT.js';
40
40
  import './chunk-TYNZ5B2B.js';
41
- import './chunk-W2A5AWNA.js';
41
+ import './chunk-LBZNLTBM.js';
42
42
  import './chunk-AXW67SY7.js';
43
43
  import './chunk-BYMOPN2S.js';
44
44
  import './chunk-SKLEJJ6M.js';
@@ -46,14 +46,14 @@ import './chunk-6BZ5TKEV.js';
46
46
  import './chunk-FZKRSGLP.js';
47
47
  import './chunk-KYMWEUN2.js';
48
48
  import './chunk-YA6ABQB7.js';
49
- import './chunk-QMWP2ZP6.js';
50
- import './chunk-6TFM3UTF.js';
51
- import './chunk-XMRNYUQY.js';
52
- import './chunk-T2752RH7.js';
49
+ import './chunk-R7QCNL62.js';
50
+ import './chunk-ULF4LPVA.js';
51
+ import './chunk-7XAGU6CT.js';
52
+ import './chunk-4E6FD5W7.js';
53
53
  import './chunk-6K34BCUP.js';
54
54
  import './chunk-T72DAX7R.js';
55
55
  import './chunk-DF6FBKDN.js';
56
56
  import './chunk-VYGA5AT5.js';
57
57
  import './chunk-DGUM43GV.js';
58
- //# sourceMappingURL=MasterLayout-EBLVT53G.js.map
59
- //# sourceMappingURL=MasterLayout-EBLVT53G.js.map
58
+ //# sourceMappingURL=MasterLayout-ZJBJ7EHM.js.map
59
+ //# sourceMappingURL=MasterLayout-ZJBJ7EHM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-EBLVT53G.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-ZJBJ7EHM.js"}
@@ -1,46 +1,46 @@
1
- import { menu } from './chunk-C7LAIXEO.js';
1
+ import { menu } from './chunk-RY6VPXG6.js';
2
2
  import { Drawer } from './chunk-6TKIUG5C.js';
3
- import './chunk-HPK6GB7G.js';
3
+ import './chunk-O63WBEAC.js';
4
4
  import './chunk-Q77J3D2W.js';
5
- import './chunk-5ABT7QLS.js';
6
- import './chunk-6T4HGLQM.js';
7
- import './chunk-5V4W3GBI.js';
5
+ import './chunk-EMAAVDEK.js';
6
+ import './chunk-5T4MJAUN.js';
7
+ import './chunk-WAKCWE6P.js';
8
8
  import './chunk-X55R4VVK.js';
9
9
  import './chunk-YL6X3ZMG.js';
10
- import './chunk-LILNJBFU.js';
10
+ import './chunk-IEKP3HYS.js';
11
11
  import './chunk-OXMUPNMH.js';
12
- import './chunk-3BDSQIYZ.js';
12
+ import './chunk-5RBXCPG6.js';
13
13
  import './chunk-VVZNW5CB.js';
14
- import './chunk-EGI7F57E.js';
14
+ import './chunk-DPQIVZ4T.js';
15
15
  import './chunk-GD26FI4J.js';
16
- import './chunk-SLBO4SEE.js';
17
- import './chunk-MGG4XAJ5.js';
18
- import './chunk-MJHYLDXL.js';
16
+ import './chunk-6YEE3VHL.js';
17
+ import './chunk-P2PPBXHD.js';
18
+ import './chunk-O3XMYDNC.js';
19
19
  import './chunk-OUW6WESU.js';
20
- import './chunk-IHOUADLX.js';
20
+ import './chunk-JK45RUVV.js';
21
21
  import './chunk-HI5V5X3S.js';
22
- import './chunk-BAJBKIGI.js';
23
- import './chunk-GBJK6KKM.js';
22
+ import './chunk-2ZC5YGMI.js';
23
+ import './chunk-PYXAPLNB.js';
24
24
  import './chunk-6T55LXJL.js';
25
25
  import './chunk-Z653O7MX.js';
26
26
  import './chunk-ZCH7W7DZ.js';
27
- import './chunk-H7LRGY7U.js';
27
+ import './chunk-B57KIBQL.js';
28
28
  import './chunk-JWXJPJBO.js';
29
29
  import './chunk-CW625T2E.js';
30
30
  import './chunk-7V36I5GT.js';
31
31
  import './chunk-6WI7R2BD.js';
32
- import './chunk-M5WTY3EH.js';
32
+ import './chunk-5EAISVPV.js';
33
33
  import './chunk-OAMIDZKW.js';
34
- import './chunk-CUURFACL.js';
34
+ import './chunk-BYGVKW3M.js';
35
35
  import './chunk-OQIIJRAS.js';
36
36
  import './chunk-V2ZDTY6H.js';
37
- import './chunk-3AIK4QGW.js';
37
+ import './chunk-PPFD456V.js';
38
38
  import './chunk-5XDPAKF5.js';
39
39
  import './chunk-GCPEMNSU.js';
40
- import './chunk-CXKA35FJ.js';
40
+ import './chunk-RB7RHMKJ.js';
41
41
  import './chunk-Z5M4YYWT.js';
42
42
  import { useTranslation } from './chunk-TYNZ5B2B.js';
43
- import './chunk-W2A5AWNA.js';
43
+ import './chunk-LBZNLTBM.js';
44
44
  import { Link } from './chunk-AXW67SY7.js';
45
45
  import './chunk-BYMOPN2S.js';
46
46
  import './chunk-SKLEJJ6M.js';
@@ -48,10 +48,10 @@ import './chunk-6BZ5TKEV.js';
48
48
  import './chunk-FZKRSGLP.js';
49
49
  import './chunk-KYMWEUN2.js';
50
50
  import './chunk-YA6ABQB7.js';
51
- import './chunk-QMWP2ZP6.js';
52
- import './chunk-6TFM3UTF.js';
53
- import './chunk-XMRNYUQY.js';
54
- import './chunk-T2752RH7.js';
51
+ import './chunk-R7QCNL62.js';
52
+ import './chunk-ULF4LPVA.js';
53
+ import './chunk-7XAGU6CT.js';
54
+ import './chunk-4E6FD5W7.js';
55
55
  import './chunk-6K34BCUP.js';
56
56
  import './chunk-T72DAX7R.js';
57
57
  import { useTwilight } from './chunk-DF6FBKDN.js';
@@ -177,5 +177,5 @@ function MobileMenuContent({ onClose }) {
177
177
  }
178
178
 
179
179
  export { MobileMenu };
180
- //# sourceMappingURL=MobileMenu-YIL4MEWX.js.map
181
- //# sourceMappingURL=MobileMenu-YIL4MEWX.js.map
180
+ //# sourceMappingURL=MobileMenu-TZSFYHPW.js.map
181
+ //# sourceMappingURL=MobileMenu-TZSFYHPW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-YIL4MEWX.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\nconst SKELETON_WIDTHS = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span\n className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${SKELETON_WIDTHS[i]}`}\n />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu(props: MobileMenuProps) {\n if (!props.isOpen) return null;\n return <MobileMenuContent {...props} />;\n}\n\nfunction MobileMenuContent({ onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([]);\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1] ?? { title: '', items: menus };\n const isRootLevel = menuStack.length === 0;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n useEffect(() => {\n document.body.classList.add('menu-opened');\n return () => document.body.classList.remove('menu-opened');\n }, []);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={onClose}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-TZSFYHPW.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\nconst SKELETON_WIDTHS = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span\n className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${SKELETON_WIDTHS[i]}`}\n />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu(props: MobileMenuProps) {\n if (!props.isOpen) return null;\n return <MobileMenuContent {...props} />;\n}\n\nfunction MobileMenuContent({ onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([]);\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1] ?? { title: '', items: menus };\n const isRootLevel = menuStack.length === 0;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n useEffect(() => {\n document.body.classList.add('menu-opened');\n return () => document.body.classList.remove('menu-opened');\n }, []);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={onClose}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}