@salla.sa/twilight-theme-engine 1.0.0-beta.9 → 1.0.1

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 (461) hide show
  1. package/dist/{AddToCartForm-VS67AFNL.js → AddToCartForm-E6LDRNGM.js} +24 -25
  2. package/dist/AddToCartForm-E6LDRNGM.js.map +1 -0
  3. package/dist/{BlogAuthorPage-276K2KQS.js → BlogAuthorPage-SK7ZTUPN.js} +30 -27
  4. package/dist/BlogAuthorPage-SK7ZTUPN.js.map +1 -0
  5. package/dist/{BlogCategoryPage-GF5PLRG7.js → BlogCategoryPage-XEUUE3H2.js} +30 -27
  6. package/dist/BlogCategoryPage-XEUUE3H2.js.map +1 -0
  7. package/dist/{BlogPage-BU672BXD.js → BlogPage-67ZEZTMY.js} +33 -24
  8. package/dist/BlogPage-67ZEZTMY.js.map +1 -0
  9. package/dist/{BlogSinglePage-ELV4S5EV.js → BlogSinglePage-H5NWL37R.js} +25 -23
  10. package/dist/BlogSinglePage-H5NWL37R.js.map +1 -0
  11. package/dist/{BlogTagPage-TXQP6ZOI.js → BlogTagPage-I6YXVDTH.js} +30 -27
  12. package/dist/BlogTagPage-I6YXVDTH.js.map +1 -0
  13. package/dist/{BrandsPage-C6ZHC4KC.js → BrandsPage-RVK36ZAV.js} +24 -23
  14. package/dist/BrandsPage-RVK36ZAV.js.map +1 -0
  15. package/dist/{Breadcrumb-TG4UTNRM.js → Breadcrumb-KINELHN4.js} +24 -23
  16. package/dist/Breadcrumb-KINELHN4.js.map +1 -0
  17. package/dist/{CartItem-55JV6HDS.js → CartItem-YPIGZYJX.js} +27 -26
  18. package/dist/CartItem-YPIGZYJX.js.map +1 -0
  19. package/dist/{CartSummary-CUWMHHMD.js → CartSummary-FHG4IR4S.js} +24 -23
  20. package/dist/CartSummary-FHG4IR4S.js.map +1 -0
  21. package/dist/Copyright-TWAHRC7V.js +9 -0
  22. package/dist/{Copyright-PG76AVV6.js.map → Copyright-TWAHRC7V.js.map} +1 -1
  23. package/dist/{CustomerLayout-SLNVCNZ6.js → CustomerLayout-NI3HBOZB.js} +24 -23
  24. package/dist/CustomerLayout-NI3HBOZB.js.map +1 -0
  25. package/dist/ErrorPage-XGBROULF.js +6 -0
  26. package/dist/{ErrorPage-TK4U3ENF.js.map → ErrorPage-XGBROULF.js.map} +1 -1
  27. package/dist/Footer-6XXLPWRH.js +40 -0
  28. package/dist/{Footer-MZDSEK57.js.map → Footer-6XXLPWRH.js.map} +1 -1
  29. package/dist/Header-56YZL6PB.js +15 -0
  30. package/dist/{Header-CXFKDTOA.js.map → Header-56YZL6PB.js.map} +1 -1
  31. package/dist/ImageModal-LHFSYPSU.js +32 -0
  32. package/dist/ImageModal-LHFSYPSU.js.map +1 -0
  33. package/dist/{LoyaltyPage-AIA3CUYI.js → LoyaltyPage-3QLMFVWD.js} +29 -28
  34. package/dist/LoyaltyPage-3QLMFVWD.js.map +1 -0
  35. package/dist/{MainMenu-T3M5RB7L.js → MainMenu-TDLQET2Y.js} +16 -37
  36. package/dist/MainMenu-TDLQET2Y.js.map +1 -0
  37. package/dist/MasterLayout-4IYMFDYJ.js +40 -0
  38. package/dist/{MasterLayout-QUBHRA32.js.map → MasterLayout-4IYMFDYJ.js.map} +1 -1
  39. package/dist/{MobileMenu-6D52JOQA.js → MobileMenu-GVXPV5HQ.js} +47 -60
  40. package/dist/MobileMenu-GVXPV5HQ.js.map +1 -0
  41. package/dist/{NotificationsPage-6H45SAS7.js → NotificationsPage-AOZRDULT.js} +24 -23
  42. package/dist/NotificationsPage-AOZRDULT.js.map +1 -0
  43. package/dist/{OrderSinglePage-GP2M3YVH.js → OrderSinglePage-M6GBDZPD.js} +73 -61
  44. package/dist/OrderSinglePage-M6GBDZPD.js.map +1 -0
  45. package/dist/{OrdersPage-OQGJLTQP.js → OrdersPage-DJMOQVJP.js} +25 -24
  46. package/dist/OrdersPage-DJMOQVJP.js.map +1 -0
  47. package/dist/{PageSingle-44NVAUIT.js → PageSingle-TQC47BEK.js} +3 -3
  48. package/dist/{PageSingle-44NVAUIT.js.map → PageSingle-TQC47BEK.js.map} +1 -1
  49. package/dist/{PreOrderNotification-ZVTGNV7K.js → PreOrderNotification-OP57EA6F.js} +3 -3
  50. package/dist/PreOrderNotification-OP57EA6F.js.map +1 -0
  51. package/dist/{PriceQuoteButton-RAAPL4N4.js → PriceQuoteButton-CGRNHY3E.js} +6 -6
  52. package/dist/PriceQuoteButton-CGRNHY3E.js.map +1 -0
  53. package/dist/{ProductDetails-2JUCRU4W.js → ProductDetails-4YZW7CKN.js} +11 -10
  54. package/dist/ProductDetails-4YZW7CKN.js.map +1 -0
  55. package/dist/{ProfilePage-XGZ2HCQH.js → ProfilePage-KFR7PX6Z.js} +24 -23
  56. package/dist/ProfilePage-KFR7PX6Z.js.map +1 -0
  57. package/dist/{SeoCartWidget-PDK6IQ2H.js → SeoCartWidget-N6KHTRZA.js} +24 -23
  58. package/dist/SeoCartWidget-N6KHTRZA.js.map +1 -0
  59. package/dist/{SettingsPage-VCQNV2PP.js → SettingsPage-7VCOR3YR.js} +24 -23
  60. package/dist/SettingsPage-7VCOR3YR.js.map +1 -0
  61. package/dist/StoreClosedNotification-7XSPEVKM.js +41 -0
  62. package/dist/{StoreClosedNotification-3JRNBNQK.js.map → StoreClosedNotification-7XSPEVKM.js.map} +1 -1
  63. package/dist/{TestimonialsPage-ENMVJ4QG.js → TestimonialsPage-YWWIGHDX.js} +4 -4
  64. package/dist/TestimonialsPage-YWWIGHDX.js.map +1 -0
  65. package/dist/{ThankYouPage-4FTP6E2Y.js → ThankYouPage-O6NMGVNQ.js} +32 -26
  66. package/dist/ThankYouPage-O6NMGVNQ.js.map +1 -0
  67. package/dist/{WalletPage-VKV44EEG.js → WalletPage-TGFDG6JQ.js} +25 -24
  68. package/dist/WalletPage-TGFDG6JQ.js.map +1 -0
  69. package/dist/WidgetHead-RWL7D3CT.js +7 -0
  70. package/dist/{WidgetHead-FXEPCB23.js.map → WidgetHead-RWL7D3CT.js.map} +1 -1
  71. package/dist/{WishlistPage-GJZCXQUY.js → WishlistPage-XDXSQXME.js} +25 -24
  72. package/dist/WishlistPage-XDXSQXME.js.map +1 -0
  73. package/dist/ambient/virtual-modules.d.ts +28 -0
  74. package/dist/api/apps.js +2 -2
  75. package/dist/api/brands.js +5 -34
  76. package/dist/api/cart.js +5 -34
  77. package/dist/api/category.js +5 -34
  78. package/dist/api/client.d.ts.map +1 -1
  79. package/dist/api/client.js +2 -2
  80. package/dist/api/home.js +3 -3
  81. package/dist/api/loyalty.js +5 -34
  82. package/dist/api/menu.js +3 -3
  83. package/dist/api/notification.js +3 -3
  84. package/dist/api/order.js +5 -34
  85. package/dist/api/page.js +5 -34
  86. package/dist/api/product.js +5 -34
  87. package/dist/api/profile.js +2 -2
  88. package/dist/api/store.js +3 -3
  89. package/dist/api/translations.d.ts +1 -1
  90. package/dist/api/translations.d.ts.map +1 -1
  91. package/dist/api/translations.js +3 -3
  92. package/dist/api/user.js +3 -3
  93. package/dist/api/wishlist.js +3 -3
  94. package/dist/{chunk-THXWAZX2.js → chunk-2FG3NNIK.js} +12 -17
  95. package/dist/chunk-2FG3NNIK.js.map +1 -0
  96. package/dist/chunk-2JV6WZ6O.js +136 -0
  97. package/dist/chunk-2JV6WZ6O.js.map +1 -0
  98. package/dist/{chunk-TQUHDSKQ.js → chunk-2TB2LTL2.js} +3 -11
  99. package/dist/chunk-2TB2LTL2.js.map +1 -0
  100. package/dist/{chunk-JIJOXZPF.js → chunk-2ZRLSZ4V.js} +6 -12
  101. package/dist/chunk-2ZRLSZ4V.js.map +1 -0
  102. package/dist/{chunk-HL3HSO4R.js → chunk-4UG4W72N.js} +5 -5
  103. package/dist/chunk-4UG4W72N.js.map +1 -0
  104. package/dist/{chunk-GFMVML6I.js → chunk-6D7SF3YR.js} +3 -3
  105. package/dist/{chunk-GFMVML6I.js.map → chunk-6D7SF3YR.js.map} +1 -1
  106. package/dist/{chunk-FCZRF6DB.js → chunk-6NBBXERE.js} +3 -3
  107. package/dist/{chunk-FCZRF6DB.js.map → chunk-6NBBXERE.js.map} +1 -1
  108. package/dist/{chunk-5DZ7HLSO.js → chunk-6Q5BFHFA.js} +3 -3
  109. package/dist/{chunk-5DZ7HLSO.js.map → chunk-6Q5BFHFA.js.map} +1 -1
  110. package/dist/{chunk-XHGF75TM.js → chunk-6TKIUG5C.js} +11 -4
  111. package/dist/chunk-6TKIUG5C.js.map +1 -0
  112. package/dist/{chunk-TQLEQSXE.js → chunk-6Z4MOC4S.js} +3 -19
  113. package/dist/chunk-6Z4MOC4S.js.map +1 -0
  114. package/dist/{chunk-SUFCEN4T.js → chunk-7LP7D75V.js} +3 -3
  115. package/dist/{chunk-SUFCEN4T.js.map → chunk-7LP7D75V.js.map} +1 -1
  116. package/dist/{chunk-GS3G4O2R.js → chunk-7O5DYSLX.js} +4 -4
  117. package/dist/chunk-7O5DYSLX.js.map +1 -0
  118. package/dist/{chunk-EB7X4YMZ.js → chunk-7UZEHQEQ.js} +4 -4
  119. package/dist/{chunk-EB7X4YMZ.js.map → chunk-7UZEHQEQ.js.map} +1 -1
  120. package/dist/{chunk-REQC7YOE.js → chunk-A4HWQ5PP.js} +9 -14
  121. package/dist/chunk-A4HWQ5PP.js.map +1 -0
  122. package/dist/{chunk-D4SRWUMH.js → chunk-B2NXQJEO.js} +4 -4
  123. package/dist/{chunk-D4SRWUMH.js.map → chunk-B2NXQJEO.js.map} +1 -1
  124. package/dist/{chunk-2FU6CVSB.js → chunk-C5X6CVXC.js} +3 -3
  125. package/dist/{chunk-2FU6CVSB.js.map → chunk-C5X6CVXC.js.map} +1 -1
  126. package/dist/{chunk-S6AVEFCN.js → chunk-CJEBLY6D.js} +19 -12
  127. package/dist/chunk-CJEBLY6D.js.map +1 -0
  128. package/dist/chunk-CUG6VOLM.js +10 -0
  129. package/dist/{chunk-3DCZJDDK.js.map → chunk-CUG6VOLM.js.map} +1 -1
  130. package/dist/{chunk-BWFBVXT3.js → chunk-DF6FBKDN.js} +2 -2
  131. package/dist/chunk-DF6FBKDN.js.map +1 -0
  132. package/dist/{chunk-SAZBQNQK.js → chunk-DHXE3JE6.js} +7 -7
  133. package/dist/chunk-DHXE3JE6.js.map +1 -0
  134. package/dist/{chunk-YRKMHN7W.js → chunk-EHKTHLXK.js} +3 -3
  135. package/dist/{chunk-YRKMHN7W.js.map → chunk-EHKTHLXK.js.map} +1 -1
  136. package/dist/{chunk-U33UQAWO.js → chunk-FH5YDZFQ.js} +10 -9
  137. package/dist/chunk-FH5YDZFQ.js.map +1 -0
  138. package/dist/{chunk-UE3BUFZI.js → chunk-FZKRSGLP.js} +3 -3
  139. package/dist/{chunk-UE3BUFZI.js.map → chunk-FZKRSGLP.js.map} +1 -1
  140. package/dist/{chunk-C5GWTTB6.js → chunk-GQG4KE5Z.js} +4 -4
  141. package/dist/chunk-GQG4KE5Z.js.map +1 -0
  142. package/dist/{chunk-J37AYLWL.js → chunk-GU2KUQVD.js} +4 -3
  143. package/dist/chunk-GU2KUQVD.js.map +1 -0
  144. package/dist/{chunk-SVZOWI7E.js → chunk-HTGBIA7K.js} +3 -6
  145. package/dist/chunk-HTGBIA7K.js.map +1 -0
  146. package/dist/{chunk-ZZ7Q5LEG.js → chunk-HWVEOUG4.js} +3 -3
  147. package/dist/{chunk-ZZ7Q5LEG.js.map → chunk-HWVEOUG4.js.map} +1 -1
  148. package/dist/{chunk-3UHSMGPY.js → chunk-HX3YKS5W.js} +9 -3
  149. package/dist/chunk-HX3YKS5W.js.map +1 -0
  150. package/dist/{chunk-WA5QBFRU.js → chunk-I5Z4NJBB.js} +4 -4
  151. package/dist/{chunk-WA5QBFRU.js.map → chunk-I5Z4NJBB.js.map} +1 -1
  152. package/dist/{chunk-TWAHYRKI.js → chunk-IWMGDYNN.js} +4 -4
  153. package/dist/chunk-IWMGDYNN.js.map +1 -0
  154. package/dist/{chunk-TFZ2RT6P.js → chunk-JKIRRMBU.js} +3 -3
  155. package/dist/chunk-JKIRRMBU.js.map +1 -0
  156. package/dist/{chunk-YU36GBMB.js → chunk-KCKHA75V.js} +3 -3
  157. package/dist/{chunk-YU36GBMB.js.map → chunk-KCKHA75V.js.map} +1 -1
  158. package/dist/{chunk-W4CSWDEH.js → chunk-KIPZQN3Y.js} +2 -7
  159. package/dist/chunk-KIPZQN3Y.js.map +1 -0
  160. package/dist/{chunk-2SUOZEX2.js → chunk-KJRALAYM.js} +3 -3
  161. package/dist/chunk-KJRALAYM.js.map +1 -0
  162. package/dist/{chunk-O7Z6BIPP.js → chunk-LSDIFHXZ.js} +4 -4
  163. package/dist/{chunk-O7Z6BIPP.js.map → chunk-LSDIFHXZ.js.map} +1 -1
  164. package/dist/{chunk-7RVUSB5C.js → chunk-NBHI5X36.js} +4 -4
  165. package/dist/{chunk-7RVUSB5C.js.map → chunk-NBHI5X36.js.map} +1 -1
  166. package/dist/{chunk-UIX3W2PN.js → chunk-OAMIDZKW.js} +3 -3
  167. package/dist/chunk-OAMIDZKW.js.map +1 -0
  168. package/dist/{chunk-MXQCE3KA.js → chunk-OBSAH7K6.js} +4 -45
  169. package/dist/chunk-OBSAH7K6.js.map +1 -0
  170. package/dist/chunk-P4M64WVZ.js +14 -0
  171. package/dist/{chunk-ZOCDYJPX.js.map → chunk-P4M64WVZ.js.map} +1 -1
  172. package/dist/{chunk-25SSLQAJ.js → chunk-Q7VWURUR.js} +5 -12
  173. package/dist/chunk-Q7VWURUR.js.map +1 -0
  174. package/dist/{chunk-SSQ75CKA.js → chunk-RINZVHVS.js} +4 -4
  175. package/dist/chunk-RINZVHVS.js.map +1 -0
  176. package/dist/{chunk-RYBA3JDM.js → chunk-RJPPO3ET.js} +4 -4
  177. package/dist/{chunk-RYBA3JDM.js.map → chunk-RJPPO3ET.js.map} +1 -1
  178. package/dist/{chunk-433EFDBW.js → chunk-SM7VMQZY.js} +4 -4
  179. package/dist/chunk-SM7VMQZY.js.map +1 -0
  180. package/dist/{chunk-GTM2GV2N.js → chunk-SSZR6JBK.js} +65 -43
  181. package/dist/chunk-SSZR6JBK.js.map +1 -0
  182. package/dist/{chunk-Q6MQLAYL.js → chunk-TCSNNCRH.js} +3 -3
  183. package/dist/{chunk-Q6MQLAYL.js.map → chunk-TCSNNCRH.js.map} +1 -1
  184. package/dist/{chunk-IILTG4A6.js → chunk-THMQ2Z3N.js} +84 -63
  185. package/dist/chunk-THMQ2Z3N.js.map +1 -0
  186. package/dist/{chunk-GOYYO4NI.js → chunk-TP3LCGE7.js} +2 -2
  187. package/dist/{chunk-GOYYO4NI.js.map → chunk-TP3LCGE7.js.map} +1 -1
  188. package/dist/{chunk-VVRYP6IL.js → chunk-TYNZ5B2B.js} +2 -2
  189. package/dist/chunk-TYNZ5B2B.js.map +1 -0
  190. package/dist/{chunk-CI4HKXVH.js → chunk-W6HFR7YA.js} +4 -4
  191. package/dist/chunk-W6HFR7YA.js.map +1 -0
  192. package/dist/{chunk-P43TLDS6.js → chunk-XECKVHG7.js} +6 -6
  193. package/dist/chunk-XECKVHG7.js.map +1 -0
  194. package/dist/{chunk-4AYOFKHU.js → chunk-XK42WXU5.js} +3 -3
  195. package/dist/chunk-XK42WXU5.js.map +1 -0
  196. package/dist/{chunk-FBFPH5BB.js → chunk-Z4Y55HWX.js} +8 -8
  197. package/dist/chunk-Z4Y55HWX.js.map +1 -0
  198. package/dist/{chunk-6LQFMCWK.js → chunk-ZNOJPVX3.js} +4 -4
  199. package/dist/chunk-ZNOJPVX3.js.map +1 -0
  200. package/dist/components/cart/CartItem.d.ts.map +1 -1
  201. package/dist/components/cart/PriceQuoteButton.d.ts.map +1 -1
  202. package/dist/components/cart/index.js +1 -1
  203. package/dist/components/collapse/Collapse.d.ts +2 -2
  204. package/dist/components/collapse/Collapse.d.ts.map +1 -1
  205. package/dist/components/collapse/index.js +3 -3
  206. package/dist/components/collapse/index.js.map +1 -1
  207. package/dist/components/common/DeferredData.d.ts +0 -1
  208. package/dist/components/common/DeferredData.d.ts.map +1 -1
  209. package/dist/components/common/ErrorPage.d.ts.map +1 -1
  210. package/dist/components/common/index.js +1 -1
  211. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  212. package/dist/components/drawer/index.js +23 -22
  213. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  214. package/dist/components/dropdown/index.js +17 -1
  215. package/dist/components/dropdown/index.js.map +1 -1
  216. package/dist/components/home/ComponentErrorBoundary.d.ts +1 -1
  217. package/dist/components/home/ComponentErrorBoundary.d.ts.map +1 -1
  218. package/dist/components/home/PhotosSlider.d.ts +1 -0
  219. package/dist/components/home/PhotosSlider.d.ts.map +1 -1
  220. package/dist/components/home/SquarePhotos.d.ts +1 -0
  221. package/dist/components/home/SquarePhotos.d.ts.map +1 -1
  222. package/dist/components/home/StoreFeatures.d.ts.map +1 -1
  223. package/dist/components/home/index.js +25 -24
  224. package/dist/components/layout/Header.d.ts.map +1 -1
  225. package/dist/components/layout/index.js +10 -10
  226. package/dist/components/modal/ImageModal.d.ts.map +1 -1
  227. package/dist/components/modal/Modal.d.ts.map +1 -1
  228. package/dist/components/modal/index.js +2 -2
  229. package/dist/components/navigation/MainMenu.d.ts.map +1 -1
  230. package/dist/components/navigation/MobileMenu.d.ts +1 -1
  231. package/dist/components/navigation/MobileMenu.d.ts.map +1 -1
  232. package/dist/components/product/AddToCartForm.d.ts +1 -1
  233. package/dist/components/product/AddToCartForm.d.ts.map +1 -1
  234. package/dist/components/product/ProductGallery.d.ts.map +1 -1
  235. package/dist/components/product/index.js +23 -22
  236. package/dist/components/store/index.js +24 -23
  237. package/dist/components/store/index.js.map +1 -1
  238. package/dist/components/toast/index.js +47 -2
  239. package/dist/components/toast/index.js.map +1 -1
  240. package/dist/dev/DevSettingsWidget.d.ts +19 -0
  241. package/dist/dev/DevSettingsWidget.d.ts.map +1 -0
  242. package/dist/dev/dev-settings-store.d.ts +62 -0
  243. package/dist/dev/dev-settings-store.d.ts.map +1 -0
  244. package/dist/dev/index.d.ts +9 -0
  245. package/dist/dev/index.d.ts.map +1 -0
  246. package/dist/dev/index.js +330 -0
  247. package/dist/dev/index.js.map +1 -0
  248. package/dist/dev/schema-types.d.ts +43 -0
  249. package/dist/dev/schema-types.d.ts.map +1 -0
  250. package/dist/document-class-4EILSNLT.js +21 -0
  251. package/dist/{document-class-V5XSWLMX.js.map → document-class-4EILSNLT.js.map} +1 -1
  252. package/dist/hooks/HookRegistry.d.ts +1 -0
  253. package/dist/hooks/HookRegistry.d.ts.map +1 -1
  254. package/dist/hooks/HookRegistry.js +1 -1
  255. package/dist/hooks/HookSlot.d.ts +1 -1
  256. package/dist/hooks/HookSlot.d.ts.map +1 -1
  257. package/dist/hooks/HookSlot.js +3 -3
  258. package/dist/hooks/index.d.ts +0 -1
  259. package/dist/hooks/index.d.ts.map +1 -1
  260. package/dist/hooks/index.js +22 -21
  261. package/dist/hooks/useBlogLike.js +2 -2
  262. package/dist/hooks/useGtm.js +22 -21
  263. package/dist/hooks/useHook.js +2 -2
  264. package/dist/hooks/useMoney.d.ts.map +1 -1
  265. package/dist/hooks/useMoney.js +22 -21
  266. package/dist/hooks/useNumber.d.ts.map +1 -1
  267. package/dist/hooks/useStore.js +22 -21
  268. package/dist/hooks/useTheme.js +2 -2
  269. package/dist/hooks/useUser.js +4 -4
  270. package/dist/i18n.d.ts +1 -1
  271. package/dist/i18n.js +1 -1
  272. package/dist/index.d.ts +1 -3
  273. package/dist/index.d.ts.map +1 -1
  274. package/dist/index.js +22 -21
  275. package/dist/index.js.map +1 -1
  276. package/dist/navigation-ZCEGLIHD.js +10 -0
  277. package/dist/{navigation-77T2NTFS.js.map → navigation-ZCEGLIHD.js.map} +1 -1
  278. package/dist/{navigation-JPUI67XY.js → navigation-ZIULIDFF.js} +6 -6
  279. package/dist/{navigation-JPUI67XY.js.map → navigation-ZIULIDFF.js.map} +1 -1
  280. package/dist/nextjs/index.d.ts +1 -2
  281. package/dist/nextjs/index.d.ts.map +1 -1
  282. package/dist/nextjs/link.d.ts +0 -4
  283. package/dist/nextjs/link.d.ts.map +1 -1
  284. package/dist/nextjs/router.d.ts +0 -6
  285. package/dist/nextjs/router.d.ts.map +1 -1
  286. package/dist/nextjs.js +2 -7
  287. package/dist/nextjs.js.map +1 -1
  288. package/dist/{not-found-73ZVE5QO.js → not-found-MGLRWOWH.js} +24 -23
  289. package/dist/not-found-MGLRWOWH.js.map +1 -0
  290. package/dist/providers/{i18n.d.ts → I18nProvider.d.ts} +1 -1
  291. package/dist/providers/I18nProvider.d.ts.map +1 -0
  292. package/dist/providers/NavigationProvider.d.ts +1 -4
  293. package/dist/providers/NavigationProvider.d.ts.map +1 -1
  294. package/dist/providers/TwilightProvider.d.ts +1 -1
  295. package/dist/providers/TwilightProvider.d.ts.map +1 -1
  296. package/dist/providers/index.js +22 -21
  297. package/dist/providers/navigation-setups.d.ts +5 -0
  298. package/dist/providers/navigation-setups.d.ts.map +1 -0
  299. package/dist/providers/twilight-context.d.ts +1 -1
  300. package/dist/providers/twilight-context.d.ts.map +1 -1
  301. package/dist/providers/twilight-init.d.ts +1 -2
  302. package/dist/providers/twilight-init.d.ts.map +1 -1
  303. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  304. package/dist/routes/account/orders.js +6 -35
  305. package/dist/routes/account.js +14 -43
  306. package/dist/routes/account.js.map +1 -1
  307. package/dist/routes/blog/BlogAuthorPage.d.ts.map +1 -1
  308. package/dist/routes/blog/BlogCategoryPage.d.ts.map +1 -1
  309. package/dist/routes/blog/BlogPage.d.ts +1 -1
  310. package/dist/routes/blog/BlogPage.d.ts.map +1 -1
  311. package/dist/routes/blog/BlogSinglePage.d.ts.map +1 -1
  312. package/dist/routes/blog/BlogTagPage.d.ts.map +1 -1
  313. package/dist/routes/blog.js +10 -39
  314. package/dist/routes/blog.js.map +1 -1
  315. package/dist/routes/brands.js +6 -35
  316. package/dist/routes/brands.js.map +1 -1
  317. package/dist/routes/cart.js +30 -29
  318. package/dist/routes/cart.js.map +1 -1
  319. package/dist/routes/home/HomePage.d.ts.map +1 -1
  320. package/dist/routes/home.js +27 -26
  321. package/dist/routes/index.d.ts +2 -2
  322. package/dist/routes/index.d.ts.map +1 -1
  323. package/dist/routes/index.js +5 -35
  324. package/dist/routes/loyalty.js +6 -35
  325. package/dist/routes/loyalty.js.map +1 -1
  326. package/dist/routes/page.js +6 -35
  327. package/dist/routes/page.js.map +1 -1
  328. package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
  329. package/dist/routes/product-listing.js +30 -32
  330. package/dist/routes/product-listing.js.map +1 -1
  331. package/dist/routes/product.js +25 -24
  332. package/dist/routes/product.js.map +1 -1
  333. package/dist/routes/root/beforeLoad.d.ts +0 -2
  334. package/dist/routes/root/beforeLoad.d.ts.map +1 -1
  335. package/dist/routes/seo-redirects.js +4 -35
  336. package/dist/routes/testimonials.js +2 -2
  337. package/dist/routes/thank-you/ThankYouPage.d.ts +1 -1
  338. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  339. package/dist/routes/thank-you.js +6 -35
  340. package/dist/routes/thank-you.js.map +1 -1
  341. package/dist/skeleton.js +27 -26
  342. package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
  343. package/dist/tanstack/router.d.ts +0 -3
  344. package/dist/tanstack/router.d.ts.map +1 -1
  345. package/dist/tanstack.js +16 -31
  346. package/dist/tanstack.js.map +1 -1
  347. package/dist/twilight/context.d.ts +0 -1
  348. package/dist/twilight/context.d.ts.map +1 -1
  349. package/dist/types/hooks.d.ts +1 -0
  350. package/dist/types/hooks.d.ts.map +1 -1
  351. package/dist/types/hooks.js +1 -1
  352. package/dist/types/index.js +1 -1
  353. package/dist/{providers/salla-sdk.types.d.ts → types/salla-sdk.d.ts} +3 -1
  354. package/dist/types/salla-sdk.d.ts.map +1 -0
  355. package/dist/{providers/twilight.types.d.ts → types/twilight.d.ts} +4 -5
  356. package/dist/types/twilight.d.ts.map +1 -0
  357. package/dist/utils/breadcrumb.d.ts +0 -1
  358. package/dist/utils/breadcrumb.d.ts.map +1 -1
  359. package/dist/utils/engine-version.d.ts +10 -0
  360. package/dist/utils/engine-version.d.ts.map +1 -0
  361. package/dist/utils/index.js +21 -3
  362. package/dist/utils/index.js.map +1 -1
  363. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  364. package/dist/vite/index.js +174 -4
  365. package/dist/vite/index.js.map +1 -1
  366. package/dist/vite/plugins/twilight-schema.d.ts +18 -0
  367. package/dist/vite/plugins/twilight-schema.d.ts.map +1 -0
  368. package/dist/vite/plugins/twilight-schema.plugin.d.ts +20 -0
  369. package/dist/vite/plugins/twilight-schema.plugin.d.ts.map +1 -0
  370. package/dist/vite/types.d.ts +7 -0
  371. package/dist/vite/types.d.ts.map +1 -1
  372. package/package.json +10 -3
  373. package/dist/AddToCartForm-VS67AFNL.js.map +0 -1
  374. package/dist/BlogAuthorPage-276K2KQS.js.map +0 -1
  375. package/dist/BlogCategoryPage-GF5PLRG7.js.map +0 -1
  376. package/dist/BlogPage-BU672BXD.js.map +0 -1
  377. package/dist/BlogSinglePage-ELV4S5EV.js.map +0 -1
  378. package/dist/BlogTagPage-TXQP6ZOI.js.map +0 -1
  379. package/dist/BrandsPage-C6ZHC4KC.js.map +0 -1
  380. package/dist/Breadcrumb-TG4UTNRM.js.map +0 -1
  381. package/dist/CartItem-55JV6HDS.js.map +0 -1
  382. package/dist/CartSummary-CUWMHHMD.js.map +0 -1
  383. package/dist/Copyright-PG76AVV6.js +0 -9
  384. package/dist/CustomerLayout-SLNVCNZ6.js.map +0 -1
  385. package/dist/ErrorPage-TK4U3ENF.js +0 -6
  386. package/dist/Footer-MZDSEK57.js +0 -39
  387. package/dist/Header-CXFKDTOA.js +0 -15
  388. package/dist/ImageModal-WLJM3WIE.js +0 -41
  389. package/dist/ImageModal-WLJM3WIE.js.map +0 -1
  390. package/dist/LoyaltyPage-AIA3CUYI.js.map +0 -1
  391. package/dist/MainMenu-T3M5RB7L.js.map +0 -1
  392. package/dist/MasterLayout-QUBHRA32.js +0 -39
  393. package/dist/MobileMenu-6D52JOQA.js.map +0 -1
  394. package/dist/NotificationsPage-6H45SAS7.js.map +0 -1
  395. package/dist/OrderSinglePage-GP2M3YVH.js.map +0 -1
  396. package/dist/OrdersPage-OQGJLTQP.js.map +0 -1
  397. package/dist/PreOrderNotification-ZVTGNV7K.js.map +0 -1
  398. package/dist/PriceQuoteButton-RAAPL4N4.js.map +0 -1
  399. package/dist/ProductDetails-2JUCRU4W.js.map +0 -1
  400. package/dist/ProfilePage-XGZ2HCQH.js.map +0 -1
  401. package/dist/SeoCartWidget-PDK6IQ2H.js.map +0 -1
  402. package/dist/SettingsPage-VCQNV2PP.js.map +0 -1
  403. package/dist/StoreClosedNotification-3JRNBNQK.js +0 -40
  404. package/dist/TestimonialsPage-ENMVJ4QG.js.map +0 -1
  405. package/dist/ThankYouPage-4FTP6E2Y.js.map +0 -1
  406. package/dist/WalletPage-VKV44EEG.js.map +0 -1
  407. package/dist/WidgetHead-FXEPCB23.js +0 -7
  408. package/dist/WishlistPage-GJZCXQUY.js.map +0 -1
  409. package/dist/chunk-25SSLQAJ.js.map +0 -1
  410. package/dist/chunk-2SUOZEX2.js.map +0 -1
  411. package/dist/chunk-3DCZJDDK.js +0 -10
  412. package/dist/chunk-3UHSMGPY.js.map +0 -1
  413. package/dist/chunk-433EFDBW.js.map +0 -1
  414. package/dist/chunk-4AYOFKHU.js.map +0 -1
  415. package/dist/chunk-6LQFMCWK.js.map +0 -1
  416. package/dist/chunk-BWFBVXT3.js.map +0 -1
  417. package/dist/chunk-C5GWTTB6.js.map +0 -1
  418. package/dist/chunk-CI4HKXVH.js.map +0 -1
  419. package/dist/chunk-FBFPH5BB.js.map +0 -1
  420. package/dist/chunk-GS3G4O2R.js.map +0 -1
  421. package/dist/chunk-GTM2GV2N.js.map +0 -1
  422. package/dist/chunk-HL3HSO4R.js.map +0 -1
  423. package/dist/chunk-IILTG4A6.js.map +0 -1
  424. package/dist/chunk-J37AYLWL.js.map +0 -1
  425. package/dist/chunk-JIJOXZPF.js.map +0 -1
  426. package/dist/chunk-MXQCE3KA.js.map +0 -1
  427. package/dist/chunk-P43TLDS6.js.map +0 -1
  428. package/dist/chunk-REQC7YOE.js.map +0 -1
  429. package/dist/chunk-S6AVEFCN.js.map +0 -1
  430. package/dist/chunk-SAZBQNQK.js.map +0 -1
  431. package/dist/chunk-SSQ75CKA.js.map +0 -1
  432. package/dist/chunk-SVZOWI7E.js.map +0 -1
  433. package/dist/chunk-TFZ2RT6P.js.map +0 -1
  434. package/dist/chunk-THXWAZX2.js.map +0 -1
  435. package/dist/chunk-TQLEQSXE.js.map +0 -1
  436. package/dist/chunk-TQUHDSKQ.js.map +0 -1
  437. package/dist/chunk-TWAHYRKI.js.map +0 -1
  438. package/dist/chunk-U33UQAWO.js.map +0 -1
  439. package/dist/chunk-UIX3W2PN.js.map +0 -1
  440. package/dist/chunk-VVRYP6IL.js.map +0 -1
  441. package/dist/chunk-W4CSWDEH.js.map +0 -1
  442. package/dist/chunk-XHGF75TM.js.map +0 -1
  443. package/dist/chunk-ZOCDYJPX.js +0 -14
  444. package/dist/components/common/types.d.ts +0 -7
  445. package/dist/components/common/types.d.ts.map +0 -1
  446. package/dist/document-class-V5XSWLMX.js +0 -21
  447. package/dist/hooks/useIsMobile.d.ts +0 -2
  448. package/dist/hooks/useIsMobile.d.ts.map +0 -1
  449. package/dist/lib/services/index.d.ts +0 -1
  450. package/dist/lib/services/index.d.ts.map +0 -1
  451. package/dist/navigation-77T2NTFS.js +0 -10
  452. package/dist/not-found-73ZVE5QO.js.map +0 -1
  453. package/dist/providers/i18n.d.ts.map +0 -1
  454. package/dist/providers/salla-sdk.types.d.ts.map +0 -1
  455. package/dist/providers/twilight.types.d.ts.map +0 -1
  456. package/dist/router/context.d.ts +0 -3
  457. package/dist/router/context.d.ts.map +0 -1
  458. package/dist/router/index.d.ts +0 -4
  459. package/dist/router/index.d.ts.map +0 -1
  460. package/dist/twilight/index.d.ts +0 -3
  461. package/dist/twilight/index.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/home/ProductsSlider.tsx","../src/components/home/StoreFeatures.tsx","../src/components/home/FixedBanner.tsx","../src/components/home/FixedProducts.tsx","../src/components/home/FeaturedProductsStyle1.tsx","../src/components/home/FeaturedProductsStyle2.tsx","../src/components/home/FeaturedProductsStyle3.tsx","../src/components/home/ParallaxBackground.tsx","../src/components/home/PhotosSlider.tsx","../src/components/home/SquarePhotos.tsx","../src/components/home/Youtube.tsx","../src/components/home/BundleComponent.tsx","../src/components/home/lazy.ts","../src/components/home/register.ts","../src/components/home/ComponentErrorBoundary.tsx","../src/components/home/HomePageRenderer.tsx"],"names":["product","StoreFeatures","jsx","memo","FixedBanner","Fragment","jsxs","Suspense","FeaturedProductsStyle1","useCallback","FeaturedProductsStyle2","useState","SallaButton","SallaProductsSlider","FeaturedProductsStyle3","ParallaxBackground","PhotosSlider","SquarePhotos","Youtube","BundleComponent","useEffect","FallbackComponent","ProductsSliderSkeleton","FixedProductsSkeleton","HomeComponentRenderer","Component"],"mappings":"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","file":"chunk-SSZR6JBK.js","sourcesContent":["import { Suspense, useCallback, useMemo } from 'react';\nimport { product, ProductsListSource } from '../../api/product';\nimport { ProductCard } from '../../components/product';\nimport { ProductsSliderSkeleton, SallaProductsSlider } from '@salla.sa/twilight-components-react';\nimport { useTranslation } from '../../providers/I18nProvider';\n\ninterface ProductsSourceConfig {\n source: ProductsListSource;\n source_value?: number | number[] | null;\n}\n\nexport interface ProductsSliderProps {\n data: {\n products: ProductsSourceConfig;\n title?: string;\n display_all_url?: string;\n position?: number;\n priority?: boolean;\n show_controls?: boolean;\n controls_outer?: boolean;\n loop?: boolean;\n centered?: boolean;\n slides_per_view?: number | 'auto';\n direction?: 'rtl' | 'ltr';\n autoplay?: boolean;\n [key: string]: unknown;\n };\n}\n\nexport function ProductsSlider({ data }: ProductsSliderProps) {\n const { t } = useTranslation();\n const {\n products,\n title,\n display_all_url: displayAllUrl,\n position = 1,\n priority = false,\n show_controls: showControls,\n controls_outer: controlsOuter,\n loop,\n centered,\n slides_per_view: slidesPerView,\n direction,\n autoplay,\n } = data;\n\n const sliderProps = useMemo(\n () => ({\n id: `slider-${position}`,\n displayAllTitle: t('blocks.home.display_all', 'View All'),\n ...(showControls !== undefined && { showControls }),\n ...(controlsOuter !== undefined && { controlsOuter }),\n ...(loop !== undefined && { loop }),\n ...(centered !== undefined && { centered }),\n ...(slidesPerView !== undefined && { slidesPerView }),\n ...(direction !== undefined && { direction }),\n }),\n [position, t, showControls, controlsOuter, loop, centered, slidesPerView, direction]\n );\n\n const loader = useCallback(\n () =>\n product.list({\n source: products.source,\n sourceValue: products.source_value,\n }),\n [products.source, products.source_value]\n );\n\n return (\n <Suspense fallback={<ProductsSliderSkeleton />}>\n <SallaProductsSlider\n id={`best-offers-${position}-slider`}\n loader={loader}\n sliderProps={sliderProps}\n {...(displayAllUrl ? { displayAllUrl } : {})}\n {...(title ? { blockTitle: title } : {})}\n {...(autoplay !== undefined ? { autoplay } : {})}\n skeleton={<ProductsSliderSkeleton />}\n >\n {(product, index) => (\n <ProductCard product={product} imagePriority={priority && index < 2} />\n )}\n </SallaProductsSlider>\n </Suspense>\n );\n}\n","import { memo } from 'react';\nimport type { Feature } from '../../types';\n\nexport interface StoreFeaturesProps {\n data: {\n features: Feature[];\n [key: string]: unknown;\n };\n}\n\nexport const StoreFeatures = memo(function StoreFeatures({ data }: StoreFeaturesProps) {\n const { features } = data;\n\n if (!features.length) return null;\n\n return (\n <>\n <div className=\"grid grid-cols-[repeat(2,minmax(0,1fr))] md:grid-cols-[repeat(3,minmax(0,1fr))] gap-4 sm:gap-6 xl:gap-8\">\n {features.map((feature) => (\n <div\n key={`${feature.icon}:${feature.title}:${feature.description ?? ''}`}\n className=\"s-block--features__item\"\n >\n <div className=\"feature-icon\">\n <i className={feature.icon}></i>\n </div>\n <h2>{feature.title}</h2>\n <p>{feature.description}</p>\n </div>\n ))}\n </div>\n </>\n );\n});\n","import { memo } from 'react';\nimport { Link } from '../common';\n\nexport interface FixedBannerComponentProps {\n data: {\n image: {\n url: string;\n alt?: string;\n small_url?: string;\n };\n url?: string;\n title?: string;\n position?: number;\n [key: string]: unknown;\n };\n priority?: boolean;\n}\n\nexport const FixedBanner = memo(function FixedBanner(props: FixedBannerComponentProps) {\n const { data, priority = false } = props;\n const image = data.image?.url;\n\n if (!image) {\n return null;\n }\n\n const url = data.url;\n const altText = data.image.alt?.trim() ? data.image.alt : data.title || 'fixed banner';\n\n const imgProps = priority\n ? {\n loading: 'eager' as const,\n fetchPriority: 'high' as const,\n decoding: 'sync' as const,\n }\n : {\n loading: 'lazy' as const,\n decoding: 'async' as const,\n };\n\n const smallUrl = data.image.small_url;\n\n return (\n <>\n <div className=\"container\">\n <Link\n to={url || '#'}\n className=\"banner banner--fixed overflow-hidden\"\n aria-label={`Banner ${altText}`}\n >\n <picture>\n {smallUrl && <source media=\"(max-width: 767px)\" srcSet={smallUrl} />}\n <img\n width=\"1200\"\n height=\"300\"\n src={image}\n alt={altText}\n style={{ maxWidth: '100%', objectFit: 'contain' }}\n loading={imgProps.loading}\n decoding={imgProps.decoding}\n {...(priority && { fetchPriority: imgProps.fetchPriority })}\n />\n </picture>\n </Link>\n </div>\n </>\n );\n});\n","import { Suspense } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { FixedProductsSkeleton } from '@salla.sa/twilight-components-react';\nimport { Link } from '../common';\nimport { product, ProductsListSource } from '../../api/product';\nimport { ProductCard } from '../../components/product';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nexport interface FixedProductsProps {\n data: {\n products: { source: ProductsListSource; source_value?: number[] | null };\n title?: string;\n limit?: number | string;\n display_all_url?: string | null;\n key?: string | null;\n isVertical?: boolean;\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport function FixedProducts({ data }: FixedProductsProps) {\n const { t } = useTranslation();\n\n const title = data.title;\n const limit = data.limit ? Number(data.limit) : undefined;\n const isVertical = data.isVertical ?? true;\n\n const { data: result, isLoading } = useQuery(\n product.queries.list({\n source: data.products.source,\n sourceValue: data.products?.source_value,\n perPage: limit,\n })\n );\n\n const products = result?.items ?? [];\n\n if (isLoading) {\n return <FixedProductsSkeleton />;\n }\n\n if (!products.length) return null;\n\n return (\n <Suspense fallback={<FixedProductsSkeleton />}>\n {title && (\n <div className=\"s-block__title\">\n <div className=\"right-side\">\n <h2>{title}</h2>\n </div>\n {data.display_all_url && (\n <Link to={data.display_all_url} className=\"s-block__display-all\">\n {t('blocks.home.display_all', 'View All')}\n <i className=\"sicon-arrow-left\"></i>\n </Link>\n )}\n </div>\n )}\n <div\n className={\n 's-products-list-wrapper ' +\n (isVertical ? 's-products-list-vertical-cards' : 's-products-list-horizontal-cards')\n }\n >\n {products.slice(0, 4).map((product) => (\n <ProductCard key={product.id} product={product} />\n ))}\n </div>\n </Suspense>\n );\n}\n","import { memo, useState, useCallback } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport type { Product } from '../../types';\n\ninterface SectionItem {\n title?: string;\n name?: string;\n type?: string;\n id?: string;\n products?: Product[];\n limit?: number;\n}\n\ninterface MainProduct {\n id?: string;\n title?: string;\n value?: string;\n product?: Product;\n}\n\nexport interface FeaturedProductsStyle1Props {\n data: {\n items: SectionItem[];\n main_product?: MainProduct;\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport const FeaturedProductsStyle1 = memo(function FeaturedProductsStyle1({\n data,\n}: FeaturedProductsStyle1Props) {\n const items = data.items || [];\n const mainProduct = data.main_product;\n\n const [activeTab, setActiveTab] = useState<string>(items[0]?.id || '');\n const [isAnimating, setIsAnimating] = useState(false);\n\n const handleTabClick = useCallback(\n (tabId: string) => {\n if (tabId === activeTab) return;\n setIsAnimating(true);\n setActiveTab(tabId);\n setTimeout(() => setIsAnimating(false), 100);\n },\n [activeTab]\n );\n\n if (!items.length) return null;\n\n const hasMultipleSections = items.length > 1;\n\n return (\n <>\n <div className=\"s-block__title\">\n <div className=\"right-side\">\n <h2>{mainProduct?.title}</h2>\n </div>\n {hasMultipleSections && (\n <div className=\"tabs hide-scroll hidden lg:flex\">\n {items.map((section) => (\n <SallaButton\n key={section.id}\n shape=\"link\"\n onClick={() => handleTabClick(section.id || '')}\n className={`tab-trigger ${activeTab === section.id ? 'is-active' : ''}`}\n >\n {section.title || section.name}\n </SallaButton>\n ))}\n </div>\n )}\n </div>\n\n <div className={`grid grid-cols-1 gap-8 ${mainProduct?.product ? 'lg:grid-cols-2' : ''}`}>\n {mainProduct?.product && (\n <div className=\"flex flex-col\">\n <custom-salla-product-card\n shadow-on-hover\n product={JSON.stringify(mainProduct.product)}\n isSpecial\n ></custom-salla-product-card>\n </div>\n )}\n <div className=\"flex flex-col\">\n {hasMultipleSections && (\n <div className=\"tabs mb-4 sm:mb-8 hide-scroll lg:hidden\">\n {items.map((section) => (\n <SallaButton\n key={section.id}\n shape=\"link\"\n onClick={() => handleTabClick(section.id || '')}\n className={`tab-trigger ${activeTab === section.id ? 'is-active' : ''}`}\n >\n {section.title || section.name}\n </SallaButton>\n ))}\n </div>\n )}\n\n <div className=\"tabs-wrapper flex flex-1\">\n {items.map((section) => {\n const isActive = activeTab === section.id;\n return (\n <div\n key={section.id}\n className={`tabs__item grid-cols-2 ${mainProduct?.product ? '' : 'lg:grid-cols-4'} ${isActive ? 'is-active' : ''} ${isAnimating && isActive ? 'opacity-0 translate-y-3' : ''} ${!isAnimating && isActive ? 'opacity-100 translate-y-0' : ''}`}\n >\n {section.products\n ?.slice(0, mainProduct?.product ? 4 : 8)\n .map((product, productIndex) => (\n <custom-salla-product-card\n key={product.id || productIndex}\n product={JSON.stringify(product)}\n ></custom-salla-product-card>\n ))}\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </>\n );\n});\n","import { memo, useState, useCallback } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaProductsList } from '@salla.sa/twilight-components-react';\nimport { SallaProductsSlider } from '@salla.sa/twilight-components-react';\nimport { product, ProductsListSource } from '../../api/product';\nimport { ProductCard } from '../../components/product';\n\ninterface ProductSource {\n source: ProductsListSource;\n limit?: number;\n source_value?: number | number[];\n}\n\ninterface SectionItem {\n title?: string;\n name?: string;\n type?: string;\n id?: string;\n products: ProductSource;\n limit?: number;\n}\n\nexport interface FeaturedProductsStyle2Props {\n data: {\n items: SectionItem[];\n position?: number;\n is_slider?: boolean;\n [key: string]: unknown;\n };\n}\n\nexport const FeaturedProductsStyle2 = memo(function FeaturedProductsStyle2({\n data,\n}: FeaturedProductsStyle2Props) {\n const items = data.items || [];\n const isSlider = data.is_slider ?? true;\n\n const [activeTab, setActiveTab] = useState<string>(items[0]?.id || '');\n const [isAnimating, setIsAnimating] = useState(false);\n\n const handleTabClick = useCallback(\n (tabId: string) => {\n if (tabId === activeTab) return;\n setIsAnimating(true);\n setActiveTab(tabId);\n setTimeout(() => setIsAnimating(false), 100);\n },\n [activeTab]\n );\n\n const loader = useCallback(\n (source: ProductsListSource, value?: number | number[], limit?: number) => {\n return () =>\n product.list({\n source: source,\n sourceValue: value,\n perPage: limit,\n });\n },\n []\n );\n\n if (!items.length) return null;\n\n const hasMultipleSections = items.length > 1;\n\n return (\n <>\n <div className=\"container\">\n {hasMultipleSections && (\n <div className=\"tabs hide-scroll\">\n {items.map((section) => (\n <SallaButton\n key={section.id}\n fill=\"outline\"\n onClick={() => handleTabClick(section.id || '')}\n className={`tab-trigger ${activeTab === section.id ? 'is-active' : ''}`}\n >\n {section.title || section.name}\n </SallaButton>\n ))}\n </div>\n )}\n\n <div className=\"tabs-wrapper\">\n {items.map((section) => {\n const isActive = activeTab === section.id;\n return (\n <div\n key={section.id}\n className={`tabs__item ${isActive ? 'is-active' : ''} ${isAnimating && isActive ? 'opacity-0 translate-y-3' : ''} ${!isAnimating && isActive ? 'opacity-100 translate-y-0' : ''}`}\n >\n {isSlider ? (\n <SallaProductsSlider\n loader={loader(\n section.products.source,\n section.products?.source_value,\n section.products?.limit\n )}\n sliderProps={{ id: `section-${section.id}-slider` }}\n >\n {(product) => (\n <ProductCard className=\"s-products-slider-card\" product={product} />\n )}\n </SallaProductsSlider>\n ) : (\n <SallaProductsList\n loader={loader(\n section.products.source,\n section.products?.source_value,\n section.products?.limit\n )}\n itemsClassName=\"s-products-list-horizontal-cards\"\n >\n {(products) =>\n products.map((product) => <ProductCard key={product.id} product={product} />)\n }\n </SallaProductsList>\n )}\n </div>\n );\n })}\n </div>\n </div>\n </>\n );\n});\n","import { memo } from 'react';\nimport { ProductCard } from '../product/ProductCard';\nimport type { Product } from '../../types';\n\ninterface SectionItem {\n title?: string;\n name?: string;\n type?: string;\n products?: Product[];\n featured_product?: Product;\n limit?: number;\n id?: string;\n}\n\nexport interface FeaturedProductsStyle3Props {\n data: {\n items: SectionItem[];\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport const FeaturedProductsStyle3 = memo(function FeaturedProductsStyle3({\n data,\n}: FeaturedProductsStyle3Props) {\n const items = data.items || [];\n\n if (!items.length) return null;\n\n return (\n <>\n <div className=\"inner\">\n {items.map((section, sectionIndex) => (\n <div key={section.id || sectionIndex}>\n <div className=\"s-block__title\">\n <h2>{section.title}</h2>\n </div>\n <div className=\"flex-1 grid lg:grid-cols-2 gap-4 sm:gap-8\">\n {section.featured_product ? (\n <>\n <ProductCard product={section.featured_product} layout=\"fullImage\" withShadow />\n <div className=\"grid gap-4 sm:gap-8\">\n {section.products?.slice(0, 3).map((product, idx) => (\n <ProductCard\n key={product.id}\n product={product}\n layout=\"minimal\"\n withShadow\n index={idx}\n />\n ))}\n </div>\n </>\n ) : (\n section.products?.map((product, idx) => (\n <ProductCard\n key={product.id}\n product={product}\n layout=\"minimal\"\n withShadow\n index={idx}\n />\n ))\n )}\n </div>\n </div>\n ))}\n </div>\n </>\n );\n});\n","import { memo } from 'react';\nimport { Link } from '../common';\n\ninterface ImageData {\n url?: string;\n}\n\nexport interface ParallaxBackgroundProps {\n data: {\n image: ImageData;\n url?: string;\n title?: string;\n link_text?: string;\n is_opacity?: boolean;\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport const ParallaxBackground = memo(function ParallaxBackground({\n data,\n}: ParallaxBackgroundProps) {\n const { image, url, title, link_text: linkText, is_opacity: isOpacity = false } = data;\n\n if (!image?.url) return null;\n\n return (\n <>\n <div className=\"full-banner-entry\" style={{ backgroundImage: `url(${image.url})` }}>\n <div\n className={`overlay h-full w-full ${isOpacity ? 'bg-black' : ''} opacity-60 absolute top-0 left-0`}\n ></div>\n <div className=\"flex h-full items-center justify-center p-5 xs:p-11 relative\">\n <div>\n {title && <h2 className=\"text-2xl font-bold leading-12\">{title}</h2>}\n\n {url && linkText && (\n <Link\n to={url}\n className=\"inline-block text-white text-sm border rounded-md font-bold px-8 py-4\"\n >\n {linkText}\n </Link>\n )}\n </div>\n </div>\n </div>\n </>\n );\n});\n","import { memo } from 'react';\nimport { SallaSlider } from '@salla.sa/twilight-components-react/slider';\nimport { Link, Image } from '../common';\n\ninterface PhotoItem {\n id?: string | number;\n url?: string;\n link_type?: string;\n image?: string;\n}\n\nexport interface PhotosSliderProps {\n data: {\n items: PhotoItem[];\n position?: number;\n is_repeated?: boolean;\n [key: string]: unknown;\n };\n}\n\nexport const PhotosSlider = memo(function PhotosSlider({ data }: PhotosSliderProps) {\n const items = data.items || [];\n const position = data.position ?? 1;\n\n if (!items.length) return null;\n\n return (\n <>\n <SallaSlider\n type=\"carousel\"\n className=\"home-slider photos-slider\"\n centered\n autoPlay\n pagination\n id={`photos-${position}-slider`}\n sliderConfig={{ watchOverflow: true }}\n >\n <div slot=\"items\">\n {items.map((item, index) => (\n <div\n key={item.id ?? `${item.url ?? ''}:${item.image ?? ''}`}\n className=\"swiper-slide\"\n style={{ aspectRatio: '1200/300' }}\n >\n <Link to={item.url || '#'}>\n <Image\n src={item.image}\n className=\"w-full h-full object-contain rounded-md\"\n alt={`image-slider-${index}`}\n width={1200}\n height={300}\n priority={index === 0}\n />\n </Link>\n </div>\n ))}\n </div>\n </SallaSlider>\n </>\n );\n});\n","import { memo } from 'react';\nimport { Link } from '../common';\n\ninterface ImageData {\n url?: string;\n alt?: string;\n}\n\ninterface SquarePhotoItem {\n id?: string | number;\n url?: string;\n link_type?: string;\n image?: ImageData;\n text?: string;\n}\n\nexport interface SquarePhotosProps {\n data: {\n title?: string;\n items: SquarePhotoItem[];\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport const SquarePhotos = memo(function SquarePhotos({ data }: SquarePhotosProps) {\n const items = data.items || [];\n const title = data.title;\n\n if (!items.length) return null;\n\n const gridCols =\n items.length <= 3 ? `one-row md:grid-cols-${items.length}` : 'md:grid-cols-3 two-row';\n\n return (\n <>\n {title && (\n <div className=\"s-block__title\">\n <div className=\"right-side\">\n <h2>{title}</h2>\n </div>\n </div>\n )}\n\n <div className={`grid ${gridCols} grid-flow-row gap-3 sm:gap-8`}>\n {items.map((item) => (\n <Link\n {...(item.link_type === 'external_link' ? { target: '_blank' } : {})}\n key={item.id ?? item.image?.url ?? item.url}\n className={`banner-entry square-photos ${item.text ? 'has-overlay with-hover' : ''}`}\n style={{ backgroundImage: `url(${item.image?.url})` }}\n to={item.url || '#'}\n >\n {item.text && (\n <h3 className=\"text-with-border\">\n <span>{item.text}</span>\n </h3>\n )}\n </Link>\n ))}\n </div>\n </>\n );\n});\n","import { memo, useEffect, useState } from 'react';\n\nexport interface YoutubeProps {\n data: {\n youtube_id: string;\n position?: number;\n [key: string]: unknown;\n };\n}\n\nexport const Youtube = memo(function Youtube({ data }: YoutubeProps) {\n const { youtube_id: youtubeId } = data;\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n if (!youtubeId) return;\n\n // Lazy load the lite-youtube web component\n let mounted = true;\n import('@justinribeiro/lite-youtube')\n .then(() => {\n if (mounted) setIsLoaded(true);\n })\n .catch((err) => {\n console.error('Failed to load lite-youtube:', err);\n });\n\n return () => {\n mounted = false;\n };\n }, [youtubeId]);\n\n if (!youtubeId) return null;\n\n return (\n <>\n <div className=\"container\">\n <div className=\"videoWrapper\">\n {isLoaded ? (\n <lite-youtube videoid={youtubeId} params=\"rel=0\"></lite-youtube>\n ) : (\n <div className=\"animate-pulse bg-gray-200 w-full h-full min-h-[300px] rounded\" />\n )}\n </div>\n </div>\n </>\n );\n});\n","import { memo, useState, useEffect } from 'react';\n\nexport interface BundleComponentProps {\n data: {\n component_name: string;\n bundle_id: string;\n [key: string]: unknown;\n };\n}\n\nexport const BundleComponent = memo(function BundleComponent(props: BundleComponentProps) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) {\n return null;\n }\n\n const { component_name: componentName, bundle_id: bundleId, ...rest } = props.data;\n const config = JSON.stringify(rest);\n\n return (\n <>\n <salla-custom-component\n component-name={componentName}\n bundle-id={bundleId}\n config={config}\n suppressHydrationWarning\n />\n </>\n );\n});\n","import { lazy } from 'react';\n\nexport { ProductsSlider as LazyProductsSlider } from './ProductsSlider';\nexport { StoreFeatures as LazyStoreFeatures } from './StoreFeatures';\nexport { FixedBanner as LazyFixedBanner } from './FixedBanner';\nexport { FixedProducts as LazyFixedProducts } from './FixedProducts';\nexport { FeaturedProductsStyle1 as LazyFeaturedProductsStyle1 } from './FeaturedProductsStyle1';\nexport { FeaturedProductsStyle2 as LazyFeaturedProductsStyle2 } from './FeaturedProductsStyle2';\nexport { FeaturedProductsStyle3 as LazyFeaturedProductsStyle3 } from './FeaturedProductsStyle3';\nexport { ParallaxBackground as LazyParallaxBackground } from './ParallaxBackground';\nexport { PhotosSlider as LazyPhotosSlider } from './PhotosSlider';\nexport { SquarePhotos as LazySquarePhotos } from './SquarePhotos';\nexport const LazyTestimonials = lazy(() =>\n import('./Testimonials').then((m) => ({ default: m.Testimonials }))\n);\nexport { Youtube as LazyYoutube } from './Youtube';\nexport { BundleComponent as LazyBundleComponent } from './BundleComponent';\n","import {\n LazyProductsSlider,\n LazyStoreFeatures,\n LazyFixedBanner,\n LazyFixedProducts,\n LazyFeaturedProductsStyle1,\n LazyFeaturedProductsStyle2,\n LazyFeaturedProductsStyle3,\n LazyParallaxBackground,\n LazyPhotosSlider,\n LazySquarePhotos,\n LazyTestimonials,\n LazyYoutube,\n LazyBundleComponent,\n} from './lazy';\nimport type { AnyHomeComponent } from './types';\nimport { registry } from '../ComponentRegistry';\n\nexport const DefaultHomeComponents: Record<string, AnyHomeComponent | null> = {\n 'fixed-banner': LazyFixedBanner,\n 'photos-slider': LazyPhotosSlider,\n testimonial: LazyTestimonials,\n 'store-features': LazyStoreFeatures,\n youtube: LazyYoutube,\n 'square-photos': LazySquarePhotos,\n 'fixed-products': LazyFixedProducts,\n 'products-slider': LazyProductsSlider,\n 'parallax-background': LazyParallaxBackground,\n 'featured-products:style1': LazyFeaturedProductsStyle1,\n 'featured-products:style2': LazyFeaturedProductsStyle2,\n 'featured-products:style3': LazyFeaturedProductsStyle3,\n 'bundle-component': LazyBundleComponent,\n};\n\nexport function registerHomeComponents(\n components: Record<string, AnyHomeComponent | null> = DefaultHomeComponents,\n prefix = 'home:'\n): void {\n Object.entries(components).forEach(([path, component]) => {\n if (component) {\n registry.register(`${prefix}${path}`, component);\n }\n });\n}\n","import { Component, type ReactNode, type ErrorInfo } from 'react';\nimport { TwilightContext } from '../../providers/twilight-context';\nimport type { TwilightContextValue } from '../../types/twilight';\nimport type { HomeComponentData } from '../../types';\n\ninterface ComponentErrorBoundaryProps {\n children: ReactNode;\n data: HomeComponentData;\n position: number;\n}\n\ninterface ComponentErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\nfunction DevelopmentErrorCard({ error, data }: { error: Error; data: HomeComponentData }) {\n return (\n <section\n dir=\"ltr\"\n className=\"s-block container overflow-hidden bg-red-50 border border-red-300 p-4\"\n >\n <p className=\"text-red-800 text-sm font-bold\">Home Component Error: {data.path}</p>\n <p className=\"text-red-700 text-sm mt-2\">{error.message}</p>\n <details className=\"mt-2\">\n <summary className=\"text-xs cursor-pointer text-red-600\">Stack Trace</summary>\n <pre className=\"text-xs mt-1 overflow-auto max-h-32 text-red-700\">{error.stack}</pre>\n </details>\n <details className=\"mt-2\">\n <summary className=\"text-xs cursor-pointer text-red-600\">Component Data</summary>\n <pre className=\"text-xs mt-1 overflow-auto max-h-32 text-red-700\">\n {JSON.stringify(data, null, 2)}\n </pre>\n </details>\n </section>\n );\n}\n\nexport class ComponentErrorBoundary extends Component<\n ComponentErrorBoundaryProps,\n ComponentErrorBoundaryState\n> {\n static contextType = TwilightContext;\n\n declare context: TwilightContextValue | null;\n\n constructor(props: ComponentErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): ComponentErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n if (!this.context) {\n console.error('[ComponentErrorBoundary] Must be used within TwilightProvider');\n return;\n }\n const { log } = this.context;\n const { data, position } = this.props;\n\n log.groupCollapsed(`HomeComponent Error: ${data.path || 'unknown'}`);\n log.error('ERROR', error.message);\n log.label('COMPONENT', data.path || 'unknown');\n log.label('POSITION', position);\n log.label('URL', typeof window !== 'undefined' ? window.location.href : 'SSR');\n log.label('TIME', new Date().toISOString());\n log.trace('STACK TRACE', error.stack || '');\n log.trace('COMPONENT STACK', errorInfo.componentStack || '');\n log.dir('COMPONENT DATA', data);\n log.groupEnd();\n }\n\n render(): ReactNode {\n const { hasError, error } = this.state;\n const { children, data } = this.props;\n\n if (hasError && error) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n\n return <DevelopmentErrorCard error={error} data={data} />;\n }\n\n return children;\n }\n}\n","import { memo, useEffect, useRef, type ReactNode } from 'react';\nimport { registry } from '../ComponentRegistry';\nimport { RenderWhenVisible } from '../common';\nimport { ComponentErrorBoundary } from './ComponentErrorBoundary';\nimport type { AnyHomeComponent } from './index';\nimport type { HomeComponentData } from '../../types';\nimport {\n BackgroundSliderSkeleton,\n BulletDeliverySkeleton,\n FixedProductsSkeleton,\n ListSkeleton,\n ProductsSliderSkeleton,\n Pulse,\n ReviewItemSkeleton,\n SliderSkeleton,\n} from '@salla.sa/twilight-components-react';\n\nfunction SquareGridSkeleton() {\n return (\n <div className=\"s-block container grid grid-cols-2 sm:grid-cols-4 gap-4 py-8\">\n {[1, 2, 3, 4].map((i) => (\n <Pulse key={i} className=\"aspect-square\" />\n ))}\n </div>\n );\n}\n\nexport type HomeComponentsProps = {\n data: HomeComponentData & {\n position?: number;\n [key: string]: unknown;\n };\n};\n\n/**\n * Fallback component for unknown/unregistered components\n * Only shows in development mode\n */\nconst FallbackComponent = memo(function FallbackComponent({ data }: HomeComponentsProps) {\n if (process.env.NODE_ENV === 'production') return null;\n\n return (\n <section\n dir=\"ltr\"\n className=\"s-block container overflow-hidden bg-yellow-50 border border-yellow-200 p-4\"\n >\n <p className=\"text-yellow-800 text-sm\">\n <strong>Unknown component:</strong> {data.path}\n </p>\n <p className=\"text-yellow-700 text-xs mt-1\">\n Register it in setup.ts: <code>registry.register('home:{data.path}', YourComponent)</code>\n </p>\n <details className=\"mt-2\">\n <summary className=\"text-xs cursor-pointer\">Component Data</summary>\n <pre className=\"text-xs mt-1 overflow-auto max-h-32\">{JSON.stringify(data, null, 2)}</pre>\n </details>\n </section>\n );\n});\n\n/**\n * Get the React component for a given home component path\n * Looks up from registry only - theme must register components\n */\nfunction getComponentByPath(data: HomeComponentData): AnyHomeComponent {\n const { path, view_style: viewStyle } = data;\n\n // 1. Check for view_style variant first\n if (viewStyle) {\n const variantKey = `home:${path}:${viewStyle}`;\n const variant = registry.resolve(variantKey);\n if (variant) {\n return variant as AnyHomeComponent;\n }\n }\n\n // 2. Check registry for component\n const registryKey = `home:${path}`;\n const component = registry.resolve(registryKey);\n if (component) {\n return component as AnyHomeComponent;\n }\n\n // 3. Fallback for unknown components\n return FallbackComponent;\n}\n\n/**\n * Render-shell config for a home block: the values the lazy-load wrapper\n * (`RenderWhenVisible`) needs *before* the block mounts — reserved height, the\n * skeleton placeholder, and the wrapper's className/id.\n *\n * Themes register config for blocks they own via `registerHomeComponentConfig`;\n * the engine knows nothing about theme-specific blocks.\n */\nexport type HomeComponentConfig = {\n height?: string;\n className?: string | ((data: HomeComponentData) => string);\n id?: string | ((data: HomeComponentData) => string);\n placeholder?: ReactNode;\n};\n\nconst COMPONENT_CONFIG: Record<string, HomeComponentConfig> = {\n 'products-slider': { height: '450px', placeholder: <ProductsSliderSkeleton /> },\n 'fixed-products': { height: '450px', placeholder: <FixedProductsSkeleton /> },\n 'featured-products': {\n height: '450px',\n placeholder: <ProductsSliderSkeleton />,\n className: (data) => {\n const style = data.view_style;\n if (style === 'style1')\n return 's-block s-block--featured-products s-block-tabs s-block--special-products container tabs-initialized';\n if (style === 'style2')\n return `s-block s-block--featured-products s-block-tabs s-block--tabs-produtcs s-block--full-bg tabs-initialized ${data.is_slider ? 'as-slider' : 'as-grid'} bg-gray-100 py-8 sm:py-16`;\n if (style === 'style3')\n return `s-block s-block--featured-products s-block--features-products${Array.isArray(data.items) && data.items.length > 1 ? ' two-cols' : ''} container`;\n return 's-block s-block--featured-products container overflow-hidden';\n },\n id: (data) => `featured-products-${data.view_style}-${data.position ?? 0}`,\n },\n testimonial: { height: '350px', placeholder: <ReviewItemSkeleton /> },\n 'store-features': { height: '200px', placeholder: <BulletDeliverySkeleton /> },\n 'parallax-background': { height: '500px', placeholder: <BackgroundSliderSkeleton /> },\n 'fixed-banner': { height: '350px', placeholder: <BackgroundSliderSkeleton /> },\n 'photos-slider': {\n height: 'clamp(130px, 30vw, 350px)',\n placeholder: <SliderSkeleton />,\n className: (data) =>\n `s-block s-block--photos-slider${data.is_repeated ? ' repeated-block' : ''}`,\n },\n 'square-photos': { height: '250px', placeholder: <SquareGridSkeleton /> },\n youtube: { height: '350px', placeholder: <SliderSkeleton /> },\n 'bundle-component': {\n height: '400px',\n placeholder: <ProductsSliderSkeleton />,\n className: (data) => `s-block s-block--bundle-${data.component_name}`,\n },\n 'main-links': {\n height: '200px',\n placeholder: <ListSkeleton />,\n className: (data) => {\n const mergeWithTop = data.merge_links_with_top_component;\n const position = data.position;\n return [\n 's-block',\n 's-block--main-links',\n mergeWithTop && position ? 'merge-with-top-component' : '',\n !data.title && mergeWithTop ? 'merged-has-no-title' : '',\n ]\n .filter(Boolean)\n .join(' ');\n },\n },\n 'square-links': { height: '200px', placeholder: <SquareGridSkeleton /> },\n};\n\n/**\n * Theme-registered render-shell config, keyed by home component path. Themes own\n * the display of their blocks by registering config here; at render time a path's\n * theme entry replaces (not field-merges) the engine's built-in `COMPONENT_CONFIG`\n * entry for that path.\n */\nconst themeComponentConfig: Record<string, HomeComponentConfig> = {};\n\n/**\n * Register render-shell config for home blocks a theme owns (height, placeholder,\n * className, id). Merges by path and overwrites existing keys, so it is safe to\n * call more than once and idempotent for the same keys.\n */\nexport function registerHomeComponentConfig(config: Record<string, HomeComponentConfig>): void {\n Object.assign(themeComponentConfig, config);\n}\n\n/**\n * Resolve a block's render-shell config: theme-registered config takes precedence\n * over the engine's built-in config; returns `undefined` when neither defines the\n * path so the renderer can apply generic defaults.\n */\nfunction resolveComponentConfig(path: string): HomeComponentConfig | undefined {\n return themeComponentConfig[path] ?? COMPONENT_CONFIG[path];\n}\n\n/**\n * Memoized component renderer with scroll-based lazy loading\n * Components only mount when scrolled into view - preventing API calls until needed\n */\nexport const HomeComponentRenderer = memo(function HomeComponentRenderer({\n data,\n index,\n}: {\n data: HomeComponentData;\n index: number;\n}) {\n const renderCountRef = useRef(0);\n renderCountRef.current += 1;\n\n if (process.env.NODE_ENV === 'development') {\n console.log(\n `[HomeComponentRenderer] RENDER: path=${data.path}, index=${index}, renderCount=${renderCountRef.current}`\n );\n }\n\n useEffect(() => {\n console.log(\n `[HomeComponentRenderer] MOUNT: path=${data.path}, index=${index}, renderCount=${renderCountRef.current}`\n );\n return () => {\n console.log(`[HomeComponentRenderer] UNMOUNT: path=${data.path}, index=${index}`);\n };\n }, [data.path, index]);\n\n const isFirstComponent = index <= 2;\n const Component = getComponentByPath(data);\n\n const config = resolveComponentConfig(data.path);\n\n const resolvedClassName = config?.className\n ? typeof config.className === 'function'\n ? config.className(data)\n : config.className\n : `s-block s-block--${data.path}`;\n const resolvedId = config?.id\n ? typeof config.id === 'function'\n ? config.id(data)\n : config.id\n : undefined;\n const height = config?.height || '400px';\n\n const content = (\n <ComponentErrorBoundary data={data} position={index + 1}>\n <Component data={{ ...data, position: index + 1, priority: isFirstComponent }} />\n </ComponentErrorBoundary>\n );\n\n return (\n <RenderWhenVisible\n rootMargin=\"50px\"\n className={resolvedClassName}\n id={resolvedId}\n estimatedHeight={height}\n renderOnMount={isFirstComponent}\n placeholder={config?.placeholder ?? <ProductsSliderSkeleton />}\n >\n {content}\n </RenderWhenVisible>\n );\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { api } from './chunk-TQUHDSKQ.js';
1
+ import { api } from './chunk-2TB2LTL2.js';
2
2
  import { queryOptions } from '@tanstack/react-query';
3
3
 
4
4
  var user = {
@@ -19,5 +19,5 @@ var user = {
19
19
  };
20
20
 
21
21
  export { user };
22
- //# sourceMappingURL=chunk-Q6MQLAYL.js.map
23
- //# sourceMappingURL=chunk-Q6MQLAYL.js.map
22
+ //# sourceMappingURL=chunk-TCSNNCRH.js.map
23
+ //# sourceMappingURL=chunk-TCSNNCRH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/user.ts"],"names":[],"mappings":";;;AAIO,IAAM,IAAA,GAAO;AAAA,EAClB,KAAK,YAAkC;AACrC,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,GAAA,CACV,GAAA,CAAI,WAAW,CAAA,CACf,MAAmC,CACnC,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,CAAE,IAAA,EAAM,IAAA,EAAM,QAAgB,CAAE,CAAA;AAAA,IACvD,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AACzC,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,MACP,YAAA,CAA0B;AAAA,MACxB,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,SAAS,IAAA,CAAK;AAAA,KACf;AAAA;AAEP","file":"chunk-Q6MQLAYL.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { User } from '../types';\n\nexport const user = {\n get: async (): Promise<User | null> => {\n try {\n return await api\n .get('auth/user')\n .json<{ data: Omit<User, 'type'> }>()\n .then((r) => ({ ...r.data, type: 'user' as const }));\n } catch (error) {\n console.debug('[user.get] Failed:', error);\n return null;\n }\n },\n\n queries: {\n current: () =>\n queryOptions<User | null>({\n queryKey: ['user', 'current'],\n queryFn: user.get,\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/api/user.ts"],"names":[],"mappings":";;;AAIO,IAAM,IAAA,GAAO;AAAA,EAClB,KAAK,YAAkC;AACrC,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,GAAA,CACV,GAAA,CAAI,WAAW,CAAA,CACf,MAAmC,CACnC,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,CAAE,IAAA,EAAM,IAAA,EAAM,QAAgB,CAAE,CAAA;AAAA,IACvD,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AACzC,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,MACP,YAAA,CAA0B;AAAA,MACxB,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,SAAS,IAAA,CAAK;AAAA,KACf;AAAA;AAEP","file":"chunk-TCSNNCRH.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { User } from '../types';\n\nexport const user = {\n get: async (): Promise<User | null> => {\n try {\n return await api\n .get('auth/user')\n .json<{ data: Omit<User, 'type'> }>()\n .then((r) => ({ ...r.data, type: 'user' as const }));\n } catch (error) {\n console.debug('[user.get] Failed:', error);\n return null;\n }\n },\n\n queries: {\n current: () =>\n queryOptions<User | null>({\n queryKey: ['user', 'current'],\n queryFn: user.get,\n }),\n },\n};\n"]}
@@ -1,22 +1,23 @@
1
- import { Header } from './chunk-U33UQAWO.js';
2
- import { Copyright } from './chunk-TFZ2RT6P.js';
3
- import { useLocation, useIsHome, navigationSetups, NavigationInterceptor } from './chunk-JIJOXZPF.js';
1
+ import { Header } from './chunk-FH5YDZFQ.js';
2
+ import { Copyright } from './chunk-JKIRRMBU.js';
3
+ import { useDevSettingsOverrides } from './chunk-2JV6WZ6O.js';
4
4
  import { color } from './chunk-VVZNW5CB.js';
5
- import { useUser } from './chunk-WA5QBFRU.js';
5
+ import { useLocation, useIsHome, NavigationInterceptor } from './chunk-2ZRLSZ4V.js';
6
+ import { useUser } from './chunk-I5Z4NJBB.js';
6
7
  import { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, syncSdkLocale } from './chunk-QYL5OHAV.js';
7
- import { getTwilightContext, updateTwilightContext } from './chunk-W4CSWDEH.js';
8
+ import { getTwilightContext, updateTwilightContext } from './chunk-KIPZQN3Y.js';
8
9
  import { useAsset } from './chunk-Z653O7MX.js';
9
10
  import { DocumentClassProvider, useDocumentClass } from './chunk-JWXJPJBO.js';
10
- import { useTranslation, I18nProvider } from './chunk-VVRYP6IL.js';
11
+ import { useTranslation, I18nProvider } from './chunk-TYNZ5B2B.js';
11
12
  import { FALLBACK_LOCALE, getLanguageInfo } from './chunk-T72DAX7R.js';
12
- import { WidgetHead } from './chunk-RYBA3JDM.js';
13
- import { HookSlot } from './chunk-25SSLQAJ.js';
14
- import { hookRegistry } from './chunk-J37AYLWL.js';
15
- import { Image } from './chunk-433EFDBW.js';
13
+ import { WidgetHead } from './chunk-RJPPO3ET.js';
14
+ import { HookSlot } from './chunk-Q7VWURUR.js';
15
+ import { hookRegistry } from './chunk-GU2KUQVD.js';
16
+ import { Image } from './chunk-SM7VMQZY.js';
16
17
  import { Link } from './chunk-AXW67SY7.js';
17
- import { LazyImageModal } from './chunk-3DCZJDDK.js';
18
- import { Toaster } from './chunk-MXQCE3KA.js';
19
- import { useTwilight, TwilightContext } from './chunk-BWFBVXT3.js';
18
+ import { LazyImageModal } from './chunk-CUG6VOLM.js';
19
+ import { Toaster } from './chunk-OBSAH7K6.js';
20
+ import { useTwilight, TwilightContext } from './chunk-DF6FBKDN.js';
20
21
  import React2, { lazy, Suspense, useCallback, useMemo, useRef, useEffect, useState } from 'react';
21
22
  import { SallaAppsIcons } from '@salla.sa/twilight-components-react/apps-icons';
22
23
  import { SallaContacts } from '@salla.sa/twilight-components-react/contacts';
@@ -102,6 +103,11 @@ function ThemeDocumentSync({
102
103
  }, [theme]);
103
104
  return null;
104
105
  }
106
+
107
+ // src/utils/engine-version.ts
108
+ var ENGINE_VERSION = "1.0.1" ;
109
+
110
+ // src/providers/twilight-init.ts
105
111
  function getSalla() {
106
112
  if (typeof window === "undefined") return void 0;
107
113
  return window.salla;
@@ -120,7 +126,7 @@ function useTwilightInit({
120
126
  const [storeData, setStoreData] = useState(
121
127
  () => settingsData?.store ?? {}
122
128
  );
123
- const [themeData] = useState(() => {
129
+ const [baseTheme] = useState(() => {
124
130
  const theme = settingsData?.theme;
125
131
  if (theme) {
126
132
  return {
@@ -130,9 +136,21 @@ function useTwilightInit({
130
136
  }
131
137
  return { is_rtl: initialLanguage.dir === "rtl" };
132
138
  });
139
+ const devOverrides = useDevSettingsOverrides();
140
+ const themeData = useMemo(() => {
141
+ if (import.meta.env.DEV && devOverrides.enabled) {
142
+ const overrides = devOverrides.settings;
143
+ if (overrides && Object.keys(overrides).length > 0) {
144
+ return {
145
+ ...baseTheme,
146
+ settings: { ...baseTheme.settings ?? {}, ...overrides }
147
+ };
148
+ }
149
+ }
150
+ return baseTheme;
151
+ }, [baseTheme, devOverrides]);
133
152
  const [currency] = useState(null);
134
153
  const [isMobileWebview] = useState(false);
135
- const [isMobile] = useState(() => getTwilightContext().isMobile);
136
154
  useEffect(() => {
137
155
  if (!isBrowser || !themeData) return;
138
156
  const sdk = getSalla();
@@ -142,6 +160,8 @@ function useTwilightInit({
142
160
  useEffect(() => {
143
161
  const sdk = getSalla();
144
162
  if (!sdk) return;
163
+ const sdkWithVersions = sdk;
164
+ sdkWithVersions.versions = { ...sdkWithVersions.versions, engine: ENGINE_VERSION };
145
165
  if (initialLocale) {
146
166
  syncSdkLocale(initialLocale);
147
167
  }
@@ -177,13 +197,18 @@ function useTwilightInit({
177
197
  setStoreData,
178
198
  themeData,
179
199
  currency,
180
- isMobileWebview,
181
- isMobile
200
+ isMobileWebview
182
201
  };
183
202
  }
203
+ var navigationSetups = {
204
+ tanstack: lazy(
205
+ () => import('./navigation-ZCEGLIHD.js').then((m) => ({ default: m.NavigationSetup }))
206
+ ),
207
+ nextjs: lazy(() => import('./navigation-ZIULIDFF.js').then((m) => ({ default: m.NavigationSetup })))
208
+ };
184
209
  var routeDocumentSyncs = {
185
210
  tanstack: lazy(
186
- () => import('./document-class-V5XSWLMX.js').then((m) => ({
211
+ () => import('./document-class-4EILSNLT.js').then((m) => ({
187
212
  default: m.TanStackDocumentSync
188
213
  }))
189
214
  )
@@ -251,13 +276,13 @@ function useDate() {
251
276
 
252
277
  // src/hooks/useNumber.ts
253
278
  var ARABIC_NUMERALS = ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"];
279
+ var toArabic = (input) => {
280
+ const str = String(input);
281
+ return str.replace(/[0-9]/g, (d) => ARABIC_NUMERALS[parseInt(d)]);
282
+ };
254
283
  function useNumber() {
255
284
  const { store } = useTwilight();
256
285
  const useArabicNumerals = store?.settings?.arabic_numbers_enabled ?? false;
257
- const toArabic = (input) => {
258
- const str = String(input);
259
- return str.replace(/[0-9]/g, (d) => ARABIC_NUMERALS[parseInt(d)]);
260
- };
261
286
  const format = (number) => {
262
287
  return useArabicNumerals ? toArabic(number) : String(number);
263
288
  };
@@ -272,6 +297,33 @@ function useNumber() {
272
297
  }
273
298
  var AR_LOCALE = "ar";
274
299
  var SAR_CURRENCY = "SAR";
300
+ var intlCache = /* @__PURE__ */ new Map();
301
+ function getCachedIntl(loc, opts) {
302
+ const key = `${loc}|${JSON.stringify(opts)}`;
303
+ let fmt = intlCache.get(key);
304
+ if (!fmt) {
305
+ fmt = new Intl.NumberFormat(loc, opts);
306
+ intlCache.set(key, fmt);
307
+ }
308
+ return fmt;
309
+ }
310
+ var parse = (moneyString) => {
311
+ const cleaned = moneyString.replace(/[^\d.,٬٫]/g, "");
312
+ const normalized = cleaned.replace(/٬/g, "").replace(/٫/g, ".");
313
+ const parts = normalized.split(/[.,]/);
314
+ if (parts.length > 2) {
315
+ return parseFloat(`${parts.slice(0, -1).join("")}.${parts[parts.length - 1]}`);
316
+ }
317
+ return parseFloat(normalized.replace(/,/g, ""));
318
+ };
319
+ var isValid = (value) => {
320
+ if (typeof value === "number" && !isNaN(value) && isFinite(value)) return true;
321
+ if (typeof value === "string") {
322
+ const parsed = parseFloat(value);
323
+ return !isNaN(parsed) && isFinite(parsed);
324
+ }
325
+ return false;
326
+ };
275
327
  function useMoney() {
276
328
  const { store } = useTwilight();
277
329
  const { locale } = useTranslation();
@@ -291,7 +343,7 @@ function useMoney() {
291
343
  const showDash = type === "product" ? store?.settings?.product?.show_price_as_dash : false;
292
344
  return showDash ? "-" : "";
293
345
  }
294
- let formatted = new Intl.NumberFormat(loc, {
346
+ let formatted = getCachedIntl(loc, {
295
347
  minimumFractionDigits: 2,
296
348
  maximumFractionDigits: 2
297
349
  }).format(numericAmount);
@@ -306,7 +358,7 @@ function useMoney() {
306
358
  ] });
307
359
  }
308
360
  try {
309
- return new Intl.NumberFormat(loc, {
361
+ return getCachedIntl(loc, {
310
362
  style: "currency",
311
363
  currency,
312
364
  minimumFractionDigits: 2,
@@ -316,23 +368,6 @@ function useMoney() {
316
368
  return `${formatted} ${currency}`;
317
369
  }
318
370
  };
319
- const parse = (moneyString) => {
320
- const cleaned = moneyString.replace(/[^\d.,٬٫]/g, "");
321
- const normalized = cleaned.replace(/٬/g, "").replace(/٫/g, ".");
322
- const parts = normalized.split(/[.,]/);
323
- if (parts.length > 2) {
324
- return parseFloat(`${parts.slice(0, -1).join("")}.${parts[parts.length - 1]}`);
325
- }
326
- return parseFloat(normalized.replace(/,/g, ""));
327
- };
328
- const isValid = (value) => {
329
- if (typeof value === "number" && !isNaN(value) && isFinite(value)) return true;
330
- if (typeof value === "string") {
331
- const parsed = parseFloat(value);
332
- return !isNaN(parsed) && isFinite(parsed);
333
- }
334
- return false;
335
- };
336
371
  return { format, parse, isValid };
337
372
  }
338
373
  function eventId(prefix) {
@@ -644,19 +679,6 @@ function usePageConfig(pageData) {
644
679
  });
645
680
  }, []);
646
681
  }
647
- var MOBILE_BREAKPOINT = 768;
648
- function useIsMobile() {
649
- const { isMobile: serverIsMobile } = useTwilight();
650
- const [isMobile, setIsMobile] = useState(serverIsMobile);
651
- useEffect(() => {
652
- const mq = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);
653
- setIsMobile(mq.matches);
654
- const handler = (e) => setIsMobile(e.matches);
655
- mq.addEventListener("change", handler);
656
- return () => mq.removeEventListener("change", handler);
657
- }, []);
658
- return isMobile;
659
- }
660
682
 
661
683
  // src/utils/breadcrumb.ts
662
684
  var BREADCRUMB_REFERRER_KEY = "breadcrumb-referrer";
@@ -718,15 +740,15 @@ var LazySiftSnippet = lazy(
718
740
  () => import('./SiftSnippet-5FCU6TR6.js').then((m) => ({ default: m.SiftSnippet }))
719
741
  );
720
742
  var LazyStoreClosedNotification = lazy(
721
- () => import('./StoreClosedNotification-3JRNBNQK.js').then((m) => ({
743
+ () => import('./StoreClosedNotification-7XSPEVKM.js').then((m) => ({
722
744
  default: m.StoreClosedNotification
723
745
  }))
724
746
  );
725
747
  var LazyPriceQuoteButton = lazy(
726
- () => import('./PriceQuoteButton-RAAPL4N4.js').then((m) => ({ default: m.PriceQuoteButton }))
748
+ () => import('./PriceQuoteButton-CGRNHY3E.js').then((m) => ({ default: m.PriceQuoteButton }))
727
749
  );
728
750
  var LazyPreOrderNotification = lazy(
729
- () => import('./PreOrderNotification-ZVTGNV7K.js').then((m) => ({
751
+ () => import('./PreOrderNotification-OP57EA6F.js').then((m) => ({
730
752
  default: m.PreOrderNotification
731
753
  }))
732
754
  );
@@ -1029,7 +1051,7 @@ function TwilightProvider({
1029
1051
  sdk.event.off("api::token.injected", handleTokenFetched);
1030
1052
  };
1031
1053
  }, []);
1032
- const { isReady, storeData, setStoreData, themeData, currency, isMobileWebview, isMobile } = useTwilightInit({
1054
+ const { isReady, storeData, setStoreData, themeData, currency, isMobileWebview } = useTwilightInit({
1033
1055
  debug,
1034
1056
  initialData,
1035
1057
  onReady,
@@ -1060,7 +1082,6 @@ function TwilightProvider({
1060
1082
  const contextValue = useMemo(
1061
1083
  () => ({
1062
1084
  isReady,
1063
- isMobile,
1064
1085
  store: storeData,
1065
1086
  _setStore: setStoreData,
1066
1087
  theme: themeData,
@@ -1095,7 +1116,7 @@ function TwilightProvider({
1095
1116
  return getTwilightContext().extras;
1096
1117
  }
1097
1118
  }),
1098
- [isReady, isMobile, storeData, setStoreData, themeData, currency, config, log, authToken]
1119
+ [isReady, storeData, setStoreData, themeData, currency, config, log, authToken]
1099
1120
  );
1100
1121
  const framework = client !== false ? client?.framework ?? "tanstack" : null;
1101
1122
  const LazyNavSetup = framework ? navigationSetups[framework] : null;
@@ -1181,6 +1202,6 @@ function useStore() {
1181
1202
  return { ...store, refresh };
1182
1203
  }
1183
1204
 
1184
- export { Footer, MasterLayout, TwilightProvider, registerDefaultHooks, registerDocumentSync, routeDocumentSyncs, useBreadcrumbs, useDate, useGtm, useIsMobile, useMoney, useNumber, useOpeningHours, usePageConfig, useStore };
1185
- //# sourceMappingURL=chunk-IILTG4A6.js.map
1186
- //# sourceMappingURL=chunk-IILTG4A6.js.map
1205
+ export { Footer, MasterLayout, TwilightProvider, registerDefaultHooks, registerDocumentSync, routeDocumentSyncs, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore };
1206
+ //# sourceMappingURL=chunk-THMQ2Z3N.js.map
1207
+ //# sourceMappingURL=chunk-THMQ2Z3N.js.map