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

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 (412) hide show
  1. package/dist/{AddToCartForm-KIIP7WPE.js → AddToCartForm-H4K4VS3M.js} +24 -25
  2. package/dist/AddToCartForm-H4K4VS3M.js.map +1 -0
  3. package/dist/{BlogAuthorPage-MFG3IQPU.js → BlogAuthorPage-FN4XX2OK.js} +26 -23
  4. package/dist/BlogAuthorPage-FN4XX2OK.js.map +1 -0
  5. package/dist/{BlogCategoryPage-UVGE3GHP.js → BlogCategoryPage-MUHIK4WT.js} +26 -23
  6. package/dist/BlogCategoryPage-MUHIK4WT.js.map +1 -0
  7. package/dist/{BlogPage-UHS6PGXG.js → BlogPage-ZG655QM7.js} +29 -20
  8. package/dist/BlogPage-ZG655QM7.js.map +1 -0
  9. package/dist/{BlogSinglePage-EKHG3EEB.js → BlogSinglePage-FLVGIIL7.js} +21 -19
  10. package/dist/BlogSinglePage-FLVGIIL7.js.map +1 -0
  11. package/dist/{BlogTagPage-YS7XJXCP.js → BlogTagPage-ETQGMVW3.js} +26 -23
  12. package/dist/BlogTagPage-ETQGMVW3.js.map +1 -0
  13. package/dist/{BrandsPage-IR6BCOOA.js → BrandsPage-BCJWSKQ4.js} +20 -19
  14. package/dist/BrandsPage-BCJWSKQ4.js.map +1 -0
  15. package/dist/{Breadcrumb-ZC2CFR3R.js → Breadcrumb-4AANUEKN.js} +20 -19
  16. package/dist/Breadcrumb-4AANUEKN.js.map +1 -0
  17. package/dist/{CartItem-3F7WSPBH.js → CartItem-VMYGVMOT.js} +23 -22
  18. package/dist/CartItem-VMYGVMOT.js.map +1 -0
  19. package/dist/{CartSummary-CWNETS3X.js → CartSummary-W7H5YTN6.js} +20 -19
  20. package/dist/CartSummary-W7H5YTN6.js.map +1 -0
  21. package/dist/Copyright-VREW3OTU.js +9 -0
  22. package/dist/{Copyright-NDRRFPDN.js.map → Copyright-VREW3OTU.js.map} +1 -1
  23. package/dist/{CustomerLayout-D57CJOKS.js → CustomerLayout-HI3MHMOJ.js} +20 -19
  24. package/dist/CustomerLayout-HI3MHMOJ.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-66XHPADY.js +40 -0
  28. package/dist/{Footer-D7ZEGC6L.js.map → Footer-66XHPADY.js.map} +1 -1
  29. package/dist/Header-TZX55FDN.js +15 -0
  30. package/dist/{Header-HF73ZIFG.js.map → Header-TZX55FDN.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-P7IAFKNS.js → LoyaltyPage-JN2KJC7E.js} +25 -24
  34. package/dist/LoyaltyPage-JN2KJC7E.js.map +1 -0
  35. package/dist/{MainMenu-B7AP2G53.js → MainMenu-M2SHKHOK.js} +13 -34
  36. package/dist/MainMenu-M2SHKHOK.js.map +1 -0
  37. package/dist/MasterLayout-2346V2WQ.js +40 -0
  38. package/dist/{MasterLayout-2A2JGJOW.js.map → MasterLayout-2346V2WQ.js.map} +1 -1
  39. package/dist/{MobileMenu-NWBLBWXG.js → MobileMenu-LTGCUCOZ.js} +42 -55
  40. package/dist/MobileMenu-LTGCUCOZ.js.map +1 -0
  41. package/dist/{NotificationsPage-RYSVKPHN.js → NotificationsPage-6D7WS3H2.js} +20 -19
  42. package/dist/NotificationsPage-6D7WS3H2.js.map +1 -0
  43. package/dist/{OrderSinglePage-Y4CWIQZG.js → OrderSinglePage-NAZY23SD.js} +69 -57
  44. package/dist/OrderSinglePage-NAZY23SD.js.map +1 -0
  45. package/dist/{OrdersPage-ERZOMNEJ.js → OrdersPage-ARIDUNIW.js} +21 -20
  46. package/dist/OrdersPage-ARIDUNIW.js.map +1 -0
  47. package/dist/{PageSingle-2FJRQTTK.js → PageSingle-X7FAYXMH.js} +3 -3
  48. package/dist/{PageSingle-2FJRQTTK.js.map → PageSingle-X7FAYXMH.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-GJXX7FBT.js → ProductDetails-M5DBXW7K.js} +11 -10
  54. package/dist/ProductDetails-M5DBXW7K.js.map +1 -0
  55. package/dist/{ProfilePage-7XAPVC5W.js → ProfilePage-YMFZQIKT.js} +20 -19
  56. package/dist/ProfilePage-YMFZQIKT.js.map +1 -0
  57. package/dist/{SeoCartWidget-ZSMB4PZR.js → SeoCartWidget-VVDUBWCT.js} +20 -19
  58. package/dist/SeoCartWidget-VVDUBWCT.js.map +1 -0
  59. package/dist/{SettingsPage-K4KPFS23.js → SettingsPage-P7H7MQHU.js} +20 -19
  60. package/dist/SettingsPage-P7H7MQHU.js.map +1 -0
  61. package/dist/StoreClosedNotification-4WCOB6Y6.js +41 -0
  62. package/dist/{StoreClosedNotification-FM7OGUVZ.js.map → StoreClosedNotification-4WCOB6Y6.js.map} +1 -1
  63. package/dist/{TestimonialsPage-K5XGI4UL.js → TestimonialsPage-OYWHHUB3.js} +4 -4
  64. package/dist/TestimonialsPage-OYWHHUB3.js.map +1 -0
  65. package/dist/{ThankYouPage-2LFEJXD5.js → ThankYouPage-XSZXBUV3.js} +28 -22
  66. package/dist/ThankYouPage-XSZXBUV3.js.map +1 -0
  67. package/dist/{WalletPage-5T432FV5.js → WalletPage-EPD22OHW.js} +20 -19
  68. package/dist/WalletPage-EPD22OHW.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-3KRCEEJ2.js → WishlistPage-I27GDNTK.js} +20 -19
  72. package/dist/WishlistPage-I27GDNTK.js.map +1 -0
  73. package/dist/ambient/virtual-modules.d.ts +28 -0
  74. package/dist/api/brands.js +3 -32
  75. package/dist/api/cart.js +3 -32
  76. package/dist/api/category.js +3 -32
  77. package/dist/api/loyalty.js +3 -32
  78. package/dist/api/order.js +3 -32
  79. package/dist/api/page.js +3 -32
  80. package/dist/api/product.js +3 -32
  81. package/dist/api/translations.d.ts +1 -1
  82. package/dist/api/translations.d.ts.map +1 -1
  83. package/dist/api/translations.js +1 -1
  84. package/dist/chunk-2JV6WZ6O.js +136 -0
  85. package/dist/chunk-2JV6WZ6O.js.map +1 -0
  86. package/dist/{chunk-H6J7FTB6.js → chunk-2ZRLSZ4V.js} +5 -11
  87. package/dist/chunk-2ZRLSZ4V.js.map +1 -0
  88. package/dist/{chunk-OZEQVDBM.js → chunk-3OAVM4PY.js} +4 -4
  89. package/dist/chunk-3OAVM4PY.js.map +1 -0
  90. package/dist/{chunk-77PLWFVT.js → chunk-4LGAJDZV.js} +55 -28
  91. package/dist/chunk-4LGAJDZV.js.map +1 -0
  92. package/dist/{chunk-EX5U2RKM.js → chunk-6JMXDZXL.js} +7 -7
  93. package/dist/{chunk-EX5U2RKM.js.map → chunk-6JMXDZXL.js.map} +1 -1
  94. package/dist/{chunk-XHGF75TM.js → chunk-6TKIUG5C.js} +11 -4
  95. package/dist/chunk-6TKIUG5C.js.map +1 -0
  96. package/dist/{chunk-TQLEQSXE.js → chunk-6Z4MOC4S.js} +3 -19
  97. package/dist/chunk-6Z4MOC4S.js.map +1 -0
  98. package/dist/{chunk-F5B7KCTV.js → chunk-7O5DYSLX.js} +3 -3
  99. package/dist/chunk-7O5DYSLX.js.map +1 -0
  100. package/dist/{chunk-XUUID4XZ.js → chunk-7UZEHQEQ.js} +3 -3
  101. package/dist/{chunk-XUUID4XZ.js.map → chunk-7UZEHQEQ.js.map} +1 -1
  102. package/dist/{chunk-KXI7DU7Y.js → chunk-B2NXQJEO.js} +3 -3
  103. package/dist/{chunk-KXI7DU7Y.js.map → chunk-B2NXQJEO.js.map} +1 -1
  104. package/dist/{chunk-2FU6CVSB.js → chunk-C5X6CVXC.js} +3 -3
  105. package/dist/{chunk-2FU6CVSB.js.map → chunk-C5X6CVXC.js.map} +1 -1
  106. package/dist/chunk-CUG6VOLM.js +10 -0
  107. package/dist/{chunk-3DCZJDDK.js.map → chunk-CUG6VOLM.js.map} +1 -1
  108. package/dist/{chunk-BWFBVXT3.js → chunk-DF6FBKDN.js} +2 -2
  109. package/dist/chunk-DF6FBKDN.js.map +1 -0
  110. package/dist/{chunk-FWZZL6LO.js → chunk-DIVL44G5.js} +65 -43
  111. package/dist/chunk-DIVL44G5.js.map +1 -0
  112. package/dist/{chunk-4YQJ27IO.js → chunk-ENIGLGGV.js} +6 -6
  113. package/dist/chunk-ENIGLGGV.js.map +1 -0
  114. package/dist/{chunk-UE3BUFZI.js → chunk-FZKRSGLP.js} +3 -3
  115. package/dist/{chunk-UE3BUFZI.js.map → chunk-FZKRSGLP.js.map} +1 -1
  116. package/dist/{chunk-7KY4RVH4.js → chunk-GQG4KE5Z.js} +3 -3
  117. package/dist/chunk-GQG4KE5Z.js.map +1 -0
  118. package/dist/{chunk-J37AYLWL.js → chunk-GU2KUQVD.js} +4 -3
  119. package/dist/chunk-GU2KUQVD.js.map +1 -0
  120. package/dist/{chunk-SVZOWI7E.js → chunk-HTGBIA7K.js} +3 -6
  121. package/dist/chunk-HTGBIA7K.js.map +1 -0
  122. package/dist/{chunk-SFR5V2QH.js → chunk-HWVEOUG4.js} +3 -3
  123. package/dist/{chunk-SFR5V2QH.js.map → chunk-HWVEOUG4.js.map} +1 -1
  124. package/dist/{chunk-3UHSMGPY.js → chunk-HX3YKS5W.js} +9 -3
  125. package/dist/chunk-HX3YKS5W.js.map +1 -0
  126. package/dist/{chunk-PDLXJYO3.js → chunk-IWMGDYNN.js} +3 -3
  127. package/dist/chunk-IWMGDYNN.js.map +1 -0
  128. package/dist/{chunk-TFZ2RT6P.js → chunk-JKIRRMBU.js} +3 -3
  129. package/dist/chunk-JKIRRMBU.js.map +1 -0
  130. package/dist/{chunk-M6ICEIWY.js → chunk-KJRALAYM.js} +2 -2
  131. package/dist/chunk-KJRALAYM.js.map +1 -0
  132. package/dist/{chunk-KN7CD7ZL.js → chunk-KZDE3XKU.js} +6 -6
  133. package/dist/chunk-KZDE3XKU.js.map +1 -0
  134. package/dist/{chunk-UIX3W2PN.js → chunk-OAMIDZKW.js} +3 -3
  135. package/dist/chunk-OAMIDZKW.js.map +1 -0
  136. package/dist/{chunk-MXQCE3KA.js → chunk-OBSAH7K6.js} +4 -45
  137. package/dist/chunk-OBSAH7K6.js.map +1 -0
  138. package/dist/{chunk-FUUWI2B6.js → chunk-P26QKBJC.js} +78 -41
  139. package/dist/chunk-P26QKBJC.js.map +1 -0
  140. package/dist/chunk-Q5YIGQTT.js +14 -0
  141. package/dist/{chunk-BGF4LMSE.js.map → chunk-Q5YIGQTT.js.map} +1 -1
  142. package/dist/{chunk-25SSLQAJ.js → chunk-Q7VWURUR.js} +5 -12
  143. package/dist/chunk-Q7VWURUR.js.map +1 -0
  144. package/dist/{chunk-F7MTREKM.js → chunk-RINZVHVS.js} +3 -3
  145. package/dist/chunk-RINZVHVS.js.map +1 -0
  146. package/dist/{chunk-RYBA3JDM.js → chunk-RJPPO3ET.js} +4 -4
  147. package/dist/{chunk-RYBA3JDM.js.map → chunk-RJPPO3ET.js.map} +1 -1
  148. package/dist/{chunk-GOYYO4NI.js → chunk-TP3LCGE7.js} +2 -2
  149. package/dist/{chunk-GOYYO4NI.js.map → chunk-TP3LCGE7.js.map} +1 -1
  150. package/dist/{chunk-TLB7XC4D.js → chunk-TSAQIQCD.js} +10 -9
  151. package/dist/chunk-TSAQIQCD.js.map +1 -0
  152. package/dist/{chunk-VVRYP6IL.js → chunk-TYNZ5B2B.js} +2 -2
  153. package/dist/chunk-TYNZ5B2B.js.map +1 -0
  154. package/dist/{chunk-KIOJB7HI.js → chunk-W6HFR7YA.js} +3 -3
  155. package/dist/chunk-W6HFR7YA.js.map +1 -0
  156. package/dist/{chunk-7ZAP64PR.js → chunk-WUTGBZQR.js} +7 -12
  157. package/dist/chunk-WUTGBZQR.js.map +1 -0
  158. package/dist/{chunk-YOAEGGXM.js → chunk-XK42WXU5.js} +3 -3
  159. package/dist/chunk-XK42WXU5.js.map +1 -0
  160. package/dist/{chunk-ERQIOVSF.js → chunk-Y62QQRYP.js} +5 -5
  161. package/dist/chunk-Y62QQRYP.js.map +1 -0
  162. package/dist/{chunk-FBFPH5BB.js → chunk-Z4Y55HWX.js} +8 -8
  163. package/dist/chunk-Z4Y55HWX.js.map +1 -0
  164. package/dist/{chunk-KRX225QA.js → chunk-ZNOJPVX3.js} +3 -3
  165. package/dist/chunk-ZNOJPVX3.js.map +1 -0
  166. package/dist/components/cart/CartItem.d.ts.map +1 -1
  167. package/dist/components/cart/PriceQuoteButton.d.ts.map +1 -1
  168. package/dist/components/cart/index.js +1 -1
  169. package/dist/components/collapse/Collapse.d.ts +2 -2
  170. package/dist/components/collapse/Collapse.d.ts.map +1 -1
  171. package/dist/components/collapse/index.js +3 -3
  172. package/dist/components/collapse/index.js.map +1 -1
  173. package/dist/components/common/DeferredData.d.ts +0 -1
  174. package/dist/components/common/DeferredData.d.ts.map +1 -1
  175. package/dist/components/common/ErrorPage.d.ts.map +1 -1
  176. package/dist/components/common/index.js +1 -1
  177. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  178. package/dist/components/drawer/index.js +19 -18
  179. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  180. package/dist/components/dropdown/index.js +17 -1
  181. package/dist/components/dropdown/index.js.map +1 -1
  182. package/dist/components/home/ComponentErrorBoundary.d.ts +1 -1
  183. package/dist/components/home/ComponentErrorBoundary.d.ts.map +1 -1
  184. package/dist/components/home/PhotosSlider.d.ts +1 -0
  185. package/dist/components/home/PhotosSlider.d.ts.map +1 -1
  186. package/dist/components/home/SquarePhotos.d.ts +1 -0
  187. package/dist/components/home/SquarePhotos.d.ts.map +1 -1
  188. package/dist/components/home/StoreFeatures.d.ts.map +1 -1
  189. package/dist/components/home/index.js +21 -20
  190. package/dist/components/layout/Header.d.ts.map +1 -1
  191. package/dist/components/layout/index.js +10 -10
  192. package/dist/components/modal/ImageModal.d.ts.map +1 -1
  193. package/dist/components/modal/Modal.d.ts.map +1 -1
  194. package/dist/components/modal/index.js +2 -2
  195. package/dist/components/navigation/MainMenu.d.ts.map +1 -1
  196. package/dist/components/navigation/MobileMenu.d.ts +1 -1
  197. package/dist/components/navigation/MobileMenu.d.ts.map +1 -1
  198. package/dist/components/product/AddToCartForm.d.ts +1 -1
  199. package/dist/components/product/AddToCartForm.d.ts.map +1 -1
  200. package/dist/components/product/ProductGallery.d.ts.map +1 -1
  201. package/dist/components/product/index.js +19 -18
  202. package/dist/components/store/index.js +20 -19
  203. package/dist/components/store/index.js.map +1 -1
  204. package/dist/components/toast/index.js +47 -2
  205. package/dist/components/toast/index.js.map +1 -1
  206. package/dist/dev/DevSettingsWidget.d.ts +19 -0
  207. package/dist/dev/DevSettingsWidget.d.ts.map +1 -0
  208. package/dist/dev/dev-settings-store.d.ts +62 -0
  209. package/dist/dev/dev-settings-store.d.ts.map +1 -0
  210. package/dist/dev/index.d.ts +9 -0
  211. package/dist/dev/index.d.ts.map +1 -0
  212. package/dist/dev/index.js +330 -0
  213. package/dist/dev/index.js.map +1 -0
  214. package/dist/dev/schema-types.d.ts +43 -0
  215. package/dist/dev/schema-types.d.ts.map +1 -0
  216. package/dist/{document-class-NEP4TMDL.js → document-class-WLNCTQI2.js} +9 -9
  217. package/dist/{document-class-NEP4TMDL.js.map → document-class-WLNCTQI2.js.map} +1 -1
  218. package/dist/hooks/HookRegistry.d.ts +1 -0
  219. package/dist/hooks/HookRegistry.d.ts.map +1 -1
  220. package/dist/hooks/HookRegistry.js +1 -1
  221. package/dist/hooks/HookSlot.d.ts +1 -1
  222. package/dist/hooks/HookSlot.d.ts.map +1 -1
  223. package/dist/hooks/HookSlot.js +3 -3
  224. package/dist/hooks/index.js +18 -17
  225. package/dist/hooks/useBlogLike.js +2 -2
  226. package/dist/hooks/useGtm.js +18 -17
  227. package/dist/hooks/useHook.js +2 -2
  228. package/dist/hooks/useMoney.d.ts.map +1 -1
  229. package/dist/hooks/useMoney.js +18 -17
  230. package/dist/hooks/useNumber.d.ts.map +1 -1
  231. package/dist/hooks/useStore.js +18 -17
  232. package/dist/hooks/useTheme.js +2 -2
  233. package/dist/i18n.d.ts +1 -1
  234. package/dist/i18n.js +1 -1
  235. package/dist/index.d.ts +1 -1
  236. package/dist/index.d.ts.map +1 -1
  237. package/dist/index.js +18 -17
  238. package/dist/index.js.map +1 -1
  239. package/dist/{navigation-MAZHULIR.js → navigation-ZCEGLIHD.js} +5 -5
  240. package/dist/{navigation-MAZHULIR.js.map → navigation-ZCEGLIHD.js.map} +1 -1
  241. package/dist/{navigation-BXQW7Z4X.js → navigation-ZIULIDFF.js} +5 -5
  242. package/dist/{navigation-BXQW7Z4X.js.map → navigation-ZIULIDFF.js.map} +1 -1
  243. package/dist/nextjs/index.d.ts +1 -2
  244. package/dist/nextjs/index.d.ts.map +1 -1
  245. package/dist/nextjs/link.d.ts +0 -4
  246. package/dist/nextjs/link.d.ts.map +1 -1
  247. package/dist/nextjs/router.d.ts +0 -6
  248. package/dist/nextjs/router.d.ts.map +1 -1
  249. package/dist/nextjs.js +2 -7
  250. package/dist/nextjs.js.map +1 -1
  251. package/dist/{not-found-VAZJJIEX.js → not-found-GRNEMF22.js} +20 -19
  252. package/dist/not-found-GRNEMF22.js.map +1 -0
  253. package/dist/providers/{i18n.d.ts → I18nProvider.d.ts} +1 -1
  254. package/dist/providers/I18nProvider.d.ts.map +1 -0
  255. package/dist/providers/NavigationProvider.d.ts +1 -4
  256. package/dist/providers/NavigationProvider.d.ts.map +1 -1
  257. package/dist/providers/TwilightProvider.d.ts +1 -1
  258. package/dist/providers/TwilightProvider.d.ts.map +1 -1
  259. package/dist/providers/index.js +18 -17
  260. package/dist/providers/navigation-setups.d.ts +5 -0
  261. package/dist/providers/navigation-setups.d.ts.map +1 -0
  262. package/dist/providers/twilight-context.d.ts +1 -1
  263. package/dist/providers/twilight-context.d.ts.map +1 -1
  264. package/dist/providers/twilight-init.d.ts +1 -1
  265. package/dist/providers/twilight-init.d.ts.map +1 -1
  266. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  267. package/dist/routes/account/orders.js +4 -33
  268. package/dist/routes/account.js +9 -38
  269. package/dist/routes/account.js.map +1 -1
  270. package/dist/routes/blog/BlogAuthorPage.d.ts.map +1 -1
  271. package/dist/routes/blog/BlogCategoryPage.d.ts.map +1 -1
  272. package/dist/routes/blog/BlogPage.d.ts +1 -1
  273. package/dist/routes/blog/BlogPage.d.ts.map +1 -1
  274. package/dist/routes/blog/BlogSinglePage.d.ts.map +1 -1
  275. package/dist/routes/blog/BlogTagPage.d.ts.map +1 -1
  276. package/dist/routes/blog.js +8 -37
  277. package/dist/routes/blog.js.map +1 -1
  278. package/dist/routes/brands.js +4 -33
  279. package/dist/routes/brands.js.map +1 -1
  280. package/dist/routes/cart.js +25 -24
  281. package/dist/routes/cart.js.map +1 -1
  282. package/dist/routes/home/HomePage.d.ts.map +1 -1
  283. package/dist/routes/home.js +22 -21
  284. package/dist/routes/index.d.ts +2 -2
  285. package/dist/routes/index.d.ts.map +1 -1
  286. package/dist/routes/index.js +4 -34
  287. package/dist/routes/loyalty.js +4 -33
  288. package/dist/routes/loyalty.js.map +1 -1
  289. package/dist/routes/page.js +4 -33
  290. package/dist/routes/page.js.map +1 -1
  291. package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
  292. package/dist/routes/product-listing.js +26 -28
  293. package/dist/routes/product-listing.js.map +1 -1
  294. package/dist/routes/product.js +21 -20
  295. package/dist/routes/product.js.map +1 -1
  296. package/dist/routes/seo-redirects.js +3 -34
  297. package/dist/routes/testimonials.js +1 -1
  298. package/dist/routes/thank-you/ThankYouPage.d.ts +1 -1
  299. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  300. package/dist/routes/thank-you.js +4 -33
  301. package/dist/routes/thank-you.js.map +1 -1
  302. package/dist/skeleton.js +22 -21
  303. package/dist/tanstack/router.d.ts +0 -3
  304. package/dist/tanstack/router.d.ts.map +1 -1
  305. package/dist/tanstack.js +9 -9
  306. package/dist/tanstack.js.map +1 -1
  307. package/dist/types/hooks.d.ts +1 -0
  308. package/dist/types/hooks.d.ts.map +1 -1
  309. package/dist/types/hooks.js +1 -1
  310. package/dist/types/index.js +1 -1
  311. package/dist/{providers/salla-sdk.types.d.ts → types/salla-sdk.d.ts} +3 -1
  312. package/dist/types/salla-sdk.d.ts.map +1 -0
  313. package/dist/{providers/twilight.types.d.ts → types/twilight.d.ts} +4 -4
  314. package/dist/types/twilight.d.ts.map +1 -0
  315. package/dist/utils/breadcrumb.d.ts +0 -1
  316. package/dist/utils/breadcrumb.d.ts.map +1 -1
  317. package/dist/utils/engine-version.d.ts +10 -0
  318. package/dist/utils/engine-version.d.ts.map +1 -0
  319. package/dist/utils/index.js +19 -1
  320. package/dist/utils/index.js.map +1 -1
  321. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  322. package/dist/vite/index.js +172 -2
  323. package/dist/vite/index.js.map +1 -1
  324. package/dist/vite/plugins/twilight-schema.d.ts +18 -0
  325. package/dist/vite/plugins/twilight-schema.d.ts.map +1 -0
  326. package/dist/vite/plugins/twilight-schema.plugin.d.ts +20 -0
  327. package/dist/vite/plugins/twilight-schema.plugin.d.ts.map +1 -0
  328. package/dist/vite/types.d.ts +7 -0
  329. package/dist/vite/types.d.ts.map +1 -1
  330. package/package.json +8 -1
  331. package/dist/AddToCartForm-KIIP7WPE.js.map +0 -1
  332. package/dist/BlogAuthorPage-MFG3IQPU.js.map +0 -1
  333. package/dist/BlogCategoryPage-UVGE3GHP.js.map +0 -1
  334. package/dist/BlogPage-UHS6PGXG.js.map +0 -1
  335. package/dist/BlogSinglePage-EKHG3EEB.js.map +0 -1
  336. package/dist/BlogTagPage-YS7XJXCP.js.map +0 -1
  337. package/dist/BrandsPage-IR6BCOOA.js.map +0 -1
  338. package/dist/Breadcrumb-ZC2CFR3R.js.map +0 -1
  339. package/dist/CartItem-3F7WSPBH.js.map +0 -1
  340. package/dist/CartSummary-CWNETS3X.js.map +0 -1
  341. package/dist/Copyright-NDRRFPDN.js +0 -9
  342. package/dist/CustomerLayout-D57CJOKS.js.map +0 -1
  343. package/dist/ErrorPage-TK4U3ENF.js +0 -6
  344. package/dist/Footer-D7ZEGC6L.js +0 -39
  345. package/dist/Header-HF73ZIFG.js +0 -15
  346. package/dist/ImageModal-WLJM3WIE.js +0 -41
  347. package/dist/ImageModal-WLJM3WIE.js.map +0 -1
  348. package/dist/LoyaltyPage-P7IAFKNS.js.map +0 -1
  349. package/dist/MainMenu-B7AP2G53.js.map +0 -1
  350. package/dist/MasterLayout-2A2JGJOW.js +0 -39
  351. package/dist/MobileMenu-NWBLBWXG.js.map +0 -1
  352. package/dist/NotificationsPage-RYSVKPHN.js.map +0 -1
  353. package/dist/OrderSinglePage-Y4CWIQZG.js.map +0 -1
  354. package/dist/OrdersPage-ERZOMNEJ.js.map +0 -1
  355. package/dist/PreOrderNotification-ZVTGNV7K.js.map +0 -1
  356. package/dist/PriceQuoteButton-RAAPL4N4.js.map +0 -1
  357. package/dist/ProductDetails-GJXX7FBT.js.map +0 -1
  358. package/dist/ProfilePage-7XAPVC5W.js.map +0 -1
  359. package/dist/SeoCartWidget-ZSMB4PZR.js.map +0 -1
  360. package/dist/SettingsPage-K4KPFS23.js.map +0 -1
  361. package/dist/StoreClosedNotification-FM7OGUVZ.js +0 -40
  362. package/dist/TestimonialsPage-K5XGI4UL.js.map +0 -1
  363. package/dist/ThankYouPage-2LFEJXD5.js.map +0 -1
  364. package/dist/WalletPage-5T432FV5.js.map +0 -1
  365. package/dist/WidgetHead-FXEPCB23.js +0 -7
  366. package/dist/WishlistPage-3KRCEEJ2.js.map +0 -1
  367. package/dist/chunk-25SSLQAJ.js.map +0 -1
  368. package/dist/chunk-3DCZJDDK.js +0 -10
  369. package/dist/chunk-3UHSMGPY.js.map +0 -1
  370. package/dist/chunk-4YQJ27IO.js.map +0 -1
  371. package/dist/chunk-77PLWFVT.js.map +0 -1
  372. package/dist/chunk-7KY4RVH4.js.map +0 -1
  373. package/dist/chunk-7ZAP64PR.js.map +0 -1
  374. package/dist/chunk-BGF4LMSE.js +0 -14
  375. package/dist/chunk-BWFBVXT3.js.map +0 -1
  376. package/dist/chunk-ERQIOVSF.js.map +0 -1
  377. package/dist/chunk-F5B7KCTV.js.map +0 -1
  378. package/dist/chunk-F7MTREKM.js.map +0 -1
  379. package/dist/chunk-FBFPH5BB.js.map +0 -1
  380. package/dist/chunk-FUUWI2B6.js.map +0 -1
  381. package/dist/chunk-FWZZL6LO.js.map +0 -1
  382. package/dist/chunk-H6J7FTB6.js.map +0 -1
  383. package/dist/chunk-J37AYLWL.js.map +0 -1
  384. package/dist/chunk-KIOJB7HI.js.map +0 -1
  385. package/dist/chunk-KN7CD7ZL.js.map +0 -1
  386. package/dist/chunk-KRX225QA.js.map +0 -1
  387. package/dist/chunk-M6ICEIWY.js.map +0 -1
  388. package/dist/chunk-MXQCE3KA.js.map +0 -1
  389. package/dist/chunk-OZEQVDBM.js.map +0 -1
  390. package/dist/chunk-PDLXJYO3.js.map +0 -1
  391. package/dist/chunk-SVZOWI7E.js.map +0 -1
  392. package/dist/chunk-TFZ2RT6P.js.map +0 -1
  393. package/dist/chunk-TLB7XC4D.js.map +0 -1
  394. package/dist/chunk-TQLEQSXE.js.map +0 -1
  395. package/dist/chunk-UIX3W2PN.js.map +0 -1
  396. package/dist/chunk-VVRYP6IL.js.map +0 -1
  397. package/dist/chunk-XHGF75TM.js.map +0 -1
  398. package/dist/chunk-YOAEGGXM.js.map +0 -1
  399. package/dist/components/common/types.d.ts +0 -7
  400. package/dist/components/common/types.d.ts.map +0 -1
  401. package/dist/lib/services/index.d.ts +0 -1
  402. package/dist/lib/services/index.d.ts.map +0 -1
  403. package/dist/not-found-VAZJJIEX.js.map +0 -1
  404. package/dist/providers/i18n.d.ts.map +0 -1
  405. package/dist/providers/salla-sdk.types.d.ts.map +0 -1
  406. package/dist/providers/twilight.types.d.ts.map +0 -1
  407. package/dist/router/context.d.ts +0 -3
  408. package/dist/router/context.d.ts.map +0 -1
  409. package/dist/router/index.d.ts +0 -4
  410. package/dist/router/index.d.ts.map +0 -1
  411. package/dist/twilight/index.d.ts +0 -3
  412. package/dist/twilight/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":"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","file":"tanstack.js","sourcesContent":["import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeIdFromCookies,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scopeId = extractScopeIdFromCookies(cookieHeader);\n\n return runWithTwilightContext({ authToken, scopeId }, () => next({ context: { authToken } }));\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":"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","file":"tanstack.js","sourcesContent":["import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeIdFromCookies,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scopeId = extractScopeIdFromCookies(cookieHeader);\n\n return runWithTwilightContext({ authToken, scopeId }, () => next({ context: { authToken } }));\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root/head';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}
@@ -45,6 +45,7 @@ export type HookHandler<T = Record<string, unknown>> = (context: T) => ReactNode
45
45
  * Hook definition with handler and priority.
46
46
  */
47
47
  export interface HookDefinition {
48
+ id: number;
48
49
  handler: HookHandler;
49
50
  priority: number;
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;GASG;AACH,oBAAY,QAAQ;IAElB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,UAAU,eAAe;IAEzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,UAAU,eAAe;IAEzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IAEzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IAEzB,yBAAyB,qCAAqC;IAC9D,mBAAmB,+BAA+B;IAClD,uBAAuB,mCAAmC;IAC1D,kBAAkB,8BAA8B;IAChD,gBAAgB,4BAA4B;IAE5C,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IAErC,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IAEzB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACJ,WAAW,GACX,KAAK,CAAC;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC,CACL,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;GASG;AACH,oBAAY,QAAQ;IAElB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,UAAU,eAAe;IAEzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,UAAU,eAAe;IAEzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IAEzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IAEzB,yBAAyB,qCAAqC;IAC9D,mBAAmB,+BAA+B;IAClD,uBAAuB,mCAAmC;IAC1D,kBAAkB,8BAA8B;IAChD,gBAAgB,4BAA4B;IAE5C,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IAErC,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IAEzB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACJ,WAAW,GACX,KAAK,CAAC;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC,CACL,CAAC"}
@@ -1,4 +1,4 @@
1
- export { HookName } from '../chunk-GOYYO4NI.js';
1
+ export { HookName } from '../chunk-TP3LCGE7.js';
2
2
  import '../chunk-DGUM43GV.js';
3
3
  //# sourceMappingURL=hooks.js.map
4
4
  //# sourceMappingURL=hooks.js.map
@@ -1,4 +1,4 @@
1
- export { HookName } from '../chunk-GOYYO4NI.js';
1
+ export { HookName } from '../chunk-TP3LCGE7.js';
2
2
  import '../chunk-DGUM43GV.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -266,6 +266,8 @@ export interface SallaAnalytics {
266
266
  export interface SallaMobile {
267
267
  /** true only inside a native webview/app; bridge methods no-op otherwise. */
268
268
  isEnabled: () => boolean;
269
+ /** Route an action and payload to the native app. */
270
+ action?: (action: string, payload?: Record<string, unknown>) => unknown;
269
271
  /** Ask native to open a URL externally (in-app/system browser). */
270
272
  openBrowser: (url: string) => unknown;
271
273
  }
@@ -349,4 +351,4 @@ export type LocaleChangeEvent = {
349
351
  locale?: string;
350
352
  };
351
353
  };
352
- //# sourceMappingURL=salla-sdk.types.d.ts.map
354
+ //# sourceMappingURL=salla-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salla-sdk.d.ts","sourceRoot":"","sources":["../../src/types/salla-sdk.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { ReactNode, ComponentType } from 'react';
2
2
  import type { Store, Theme } from '../types';
3
- import type { SallaCurrency, SallaSDK } from './salla-sdk.types';
4
- import type { ClientNav } from './NavigationProvider';
3
+ import type { SallaCurrency, SallaSDK } from './salla-sdk';
4
+ import type { ClientNav } from '../providers/NavigationProvider';
5
5
  import type { LayoutProps } from '../types';
6
- import type { TranslationMessages } from './i18n';
6
+ import type { TranslationMessages } from '../providers/I18nProvider';
7
7
  import type { StoreContext } from '../api/store';
8
8
  import type { TwilightLocation } from '../twilight/context';
9
9
  import type { ToastPosition } from '../components/toast/types';
@@ -92,4 +92,4 @@ export interface TwilightProviderProps {
92
92
  */
93
93
  gtm?: boolean;
94
94
  }
95
- //# sourceMappingURL=twilight.types.d.ts.map
95
+ //# sourceMappingURL=twilight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilight.d.ts","sourceRoot":"","sources":["../../src/types/twilight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,WAAW,CAAC;IAEjB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC3B,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IAC5C;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf"}
@@ -1,5 +1,4 @@
1
1
  import type { Breadcrumb } from '../types';
2
- export declare const BREADCRUMB_REFERRER_KEY = "breadcrumb-referrer";
3
2
  export declare function getBreadcrumbReferrer(): Breadcrumb | null;
4
3
  export declare function setBreadcrumbReferrer(breadcrumb: Breadcrumb): void;
5
4
  //# sourceMappingURL=breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/utils/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,IAAI,CASzD;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAMlE"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/utils/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,IAAI,CASzD;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAMlE"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The engine's own build version, injected by tsup `define` when dist is
3
+ * built. Falls back to 'dev' when the source runs unbundled (vitest, direct
4
+ * src imports in the monorepo).
5
+ *
6
+ * Exposed at runtime as `salla.versions.engine` by `useTwilightInit` so a
7
+ * storefront can always be asked which engine build rendered it.
8
+ */
9
+ export declare const ENGINE_VERSION: string;
10
+ //# sourceMappingURL=engine-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-version.d.ts","sourceRoot":"","sources":["../../src/utils/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAC6D,CAAC"}
@@ -1,8 +1,8 @@
1
- export { getMobileOS, resolveAppStoreUrl, sortOptions } from '../chunk-TQLEQSXE.js';
2
1
  export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
3
2
  export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
4
3
  export { dispatchRouteChanged } from '../chunk-7LP7D75V.js';
5
4
  export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-B3EFOE57.js';
5
+ export { sortOptions } from '../chunk-6Z4MOC4S.js';
6
6
  export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-TZ3E5BN4.js';
7
7
  export { color } from '../chunk-VVZNW5CB.js';
8
8
  export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies, getSallaSDK, getStoreIdentifier } from '../chunk-QYL5OHAV.js';
@@ -11,5 +11,23 @@ export { asset, cdn, isPlaceholder } from '../chunk-ZCH7W7DZ.js';
11
11
  export { mergeDocumentDescriptors, mergeElementAttrs, normalizeClasses, syncAttrsToElement, toReactProps } from '../chunk-CW625T2E.js';
12
12
  import '../chunk-T72DAX7R.js';
13
13
  import '../chunk-DGUM43GV.js';
14
+
15
+ // src/utils/device.ts
16
+ function getMobileOS() {
17
+ if (typeof navigator === "undefined") return "other";
18
+ const ua = navigator.userAgent || "";
19
+ if (/android/i.test(ua)) return "android";
20
+ if (/iPad|iPhone|iPod/.test(ua) || /Macintosh/.test(ua) && navigator.maxTouchPoints > 1) {
21
+ return "ios";
22
+ }
23
+ return "other";
24
+ }
25
+ function resolveAppStoreUrl(apps, os = getMobileOS()) {
26
+ if (!apps) return void 0;
27
+ if (os === "android") return apps.googleplay || apps.appstore;
28
+ return apps.appstore || apps.googleplay;
29
+ }
30
+
31
+ export { getMobileOS, resolveAppStoreUrl };
14
32
  //# sourceMappingURL=index.js.map
15
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":["../../src/utils/device.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AASO,SAAS,WAAA,GAAwB;AACtC,EAAA,IAAI,OAAO,SAAA,KAAc,WAAA,EAAa,OAAO,OAAA;AAC7C,EAAA,MAAM,EAAA,GAAK,UAAU,SAAA,IAAa,EAAA;AAClC,EAAA,IAAI,UAAA,CAAW,IAAA,CAAK,EAAE,CAAA,EAAG,OAAO,SAAA;AAEhC,EAAA,IAAI,kBAAA,CAAmB,IAAA,CAAK,EAAE,CAAA,IAAM,WAAA,CAAY,KAAK,EAAE,CAAA,IAAK,SAAA,CAAU,cAAA,GAAiB,CAAA,EAAI;AACzF,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAA;AACT;AAWO,SAAS,kBAAA,CACd,IAAA,EACA,EAAA,GAAe,WAAA,EAAY,EACP;AACpB,EAAA,IAAI,CAAC,MAAM,OAAO,MAAA;AAClB,EAAA,IAAI,EAAA,KAAO,SAAA,EAAW,OAAO,IAAA,CAAK,cAAc,IAAA,CAAK,QAAA;AACrD,EAAA,OAAO,IAAA,CAAK,YAAY,IAAA,CAAK,UAAA;AAC/B","file":"index.js","sourcesContent":["import type { StoreApps } from '../types';\n\n/** The visitor's mobile operating system, or `'other'` (desktop/unknown/server). */\nexport type MobileOS = 'ios' | 'android' | 'other';\n\n/**\n * Detects the current mobile OS from the User-Agent.\n * Returns `'other'` on the server (no `navigator`) and on desktop/unknown agents.\n */\nexport function getMobileOS(): MobileOS {\n if (typeof navigator === 'undefined') return 'other';\n const ua = navigator.userAgent || '';\n if (/android/i.test(ua)) return 'android';\n // iOS, incl. iPadOS which reports a desktop \"Macintosh\" UA but exposes touch\n if (/iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1)) {\n return 'ios';\n }\n return 'other';\n}\n\n/**\n * Picks the mobile-app store URL for the given OS:\n * - `ios` → App Store, falling back to Google Play\n * - `android` → Google Play, falling back to App Store\n * - `other` → App Store, falling back to Google Play\n *\n * `os` defaults to {@link getMobileOS}; pass `'other'` during SSR/first render\n * to keep the output stable and avoid a hydration mismatch on the resolved URL.\n */\nexport function resolveAppStoreUrl(\n apps?: StoreApps,\n os: MobileOS = getMobileOS()\n): string | undefined {\n if (!apps) return undefined;\n if (os === 'android') return apps.googleplay || apps.appstore;\n return apps.appstore || apps.googleplay;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack.adapter.d.ts","sourceRoot":"","sources":["../../../src/vite/adapters/tanstack.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAOH,OAAO,KAAK,EACV,gBAAgB,EAGhB,aAAa,EACd,MAAM,UAAU,CAAC;AAkBlB,eAAO,MAAM,mBAAmB,EAAE,aAAa,EA6L9C,CAAC;AAytBF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAwCT;AAED,eAAO,MAAM,eAAe,EAAE,gBAyL7B,CAAC"}
1
+ {"version":3,"file":"tanstack.adapter.d.ts","sourceRoot":"","sources":["../../../src/vite/adapters/tanstack.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAQH,OAAO,KAAK,EACV,gBAAgB,EAGhB,aAAa,EACd,MAAM,UAAU,CAAC;AAkBlB,eAAO,MAAM,mBAAmB,EAAE,aAAa,EA6L9C,CAAC;AAytBF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAwCT;AAED,eAAO,MAAM,eAAe,EAAE,gBA2L7B,CAAC"}
@@ -119,6 +119,174 @@ ${entries.join(",\n")}
119
119
  };
120
120
  }
121
121
 
122
+ // src/vite/plugins/twilight-schema.ts
123
+ var TEXTUAL_FORMATS = /* @__PURE__ */ new Set(["text", "textarea", "image", "icon", "line"]);
124
+ function labelOf(entry, fallback) {
125
+ return typeof entry.label === "string" && entry.label.trim() ? entry.label : fallback;
126
+ }
127
+ function titleOf(component) {
128
+ const t = component.title;
129
+ const fallback = component.path ?? component.key ?? "component";
130
+ if (t && typeof t === "object") {
131
+ const obj = t;
132
+ const en = typeof obj.en === "string" ? obj.en : void 0;
133
+ const ar = typeof obj.ar === "string" ? obj.ar : void 0;
134
+ return en || ar || fallback;
135
+ }
136
+ return typeof t === "string" && t ? t : fallback;
137
+ }
138
+ function toOptions(raw) {
139
+ if (!Array.isArray(raw)) return void 0;
140
+ const opts = raw.map((o) => {
141
+ const obj = o ?? {};
142
+ const value = obj.value ?? obj.key ?? "";
143
+ const label = obj.label ?? obj.value ?? obj.key ?? "";
144
+ return { label: String(label), value: String(value) };
145
+ }).filter((o) => o.value !== "");
146
+ return opts.length ? opts : void 0;
147
+ }
148
+ function firstScalar(v) {
149
+ if (Array.isArray(v)) {
150
+ const first = v[0];
151
+ if (first && typeof first === "object") {
152
+ const obj = first;
153
+ return obj.value ?? obj.key ?? void 0;
154
+ }
155
+ return first;
156
+ }
157
+ return v;
158
+ }
159
+ function classify(entry) {
160
+ const id = typeof entry.id === "string" ? entry.id : "";
161
+ if (!id) return null;
162
+ const { type, format } = entry;
163
+ const label = labelOf(entry, id);
164
+ if (type === "static") return null;
165
+ if (type === "boolean") {
166
+ return {
167
+ id,
168
+ label,
169
+ kind: "toggle",
170
+ default: typeof entry.value === "boolean" ? entry.value : false
171
+ };
172
+ }
173
+ if (type === "items" && format === "dropdown-list") {
174
+ const options = toOptions(entry.options);
175
+ if (!options) {
176
+ return {
177
+ id,
178
+ label,
179
+ kind: "readonly",
180
+ default: null,
181
+ note: `remote (${entry.source ?? "dynamic"})`
182
+ };
183
+ }
184
+ const fallback = options[0]?.value;
185
+ const def = firstScalar(entry.value) ?? firstScalar(entry.selected) ?? fallback;
186
+ return { id, label, kind: "select", default: def ?? "", options };
187
+ }
188
+ if (type === "string" && typeof format === "string" && TEXTUAL_FORMATS.has(format)) {
189
+ return { id, label, kind: "text", default: typeof entry.value === "string" ? entry.value : "" };
190
+ }
191
+ return {
192
+ id,
193
+ label,
194
+ kind: "readonly",
195
+ default: null,
196
+ note: `${type ?? "unknown"}/${format ?? "?"}`
197
+ };
198
+ }
199
+ function defaultsFor(fields) {
200
+ const out = {};
201
+ for (const f of fields) {
202
+ if (f.kind !== "readonly") out[f.id] = f.default;
203
+ }
204
+ return out;
205
+ }
206
+ function buildTwilightSchema(raw) {
207
+ const root = raw ?? {};
208
+ const settingsRaw = Array.isArray(root.settings) ? root.settings : [];
209
+ const settings = [];
210
+ for (const s of settingsRaw) {
211
+ const field = classify(s);
212
+ if (field) settings.push(field);
213
+ }
214
+ const componentsRaw = Array.isArray(root.components) ? root.components : [];
215
+ const components = [];
216
+ const componentDefaults = {};
217
+ for (const c of componentsRaw) {
218
+ const path = typeof c.path === "string" && c.path || typeof c.key === "string" && c.key || "";
219
+ if (!path) continue;
220
+ const fieldsRaw = Array.isArray(c.fields) ? c.fields : [];
221
+ const fields = [];
222
+ for (const fr of fieldsRaw) {
223
+ const field = classify(fr);
224
+ if (field) fields.push(field);
225
+ }
226
+ components.push({ path, title: titleOf(c), fields });
227
+ componentDefaults[path] = defaultsFor(fields);
228
+ }
229
+ return {
230
+ settings,
231
+ components,
232
+ settingsDefaults: defaultsFor(settings),
233
+ componentDefaults
234
+ };
235
+ }
236
+
237
+ // src/dev/schema-types.ts
238
+ var EMPTY_DEV_SCHEMA = {
239
+ settings: [],
240
+ components: [],
241
+ settingsDefaults: {},
242
+ componentDefaults: {}
243
+ };
244
+
245
+ // src/vite/plugins/twilight-schema.plugin.ts
246
+ var VIRTUAL_ID2 = "virtual:twilight/schema";
247
+ var RESOLVED_ID2 = "\0" + VIRTUAL_ID2;
248
+ var EMPTY_MODULE = `export default ${JSON.stringify(EMPTY_DEV_SCHEMA)};`;
249
+ function twilightSchemaPlugin(twilightJsonPath = "twilight.json") {
250
+ let filePath;
251
+ let isDevServer = false;
252
+ return {
253
+ name: "twilight:schema",
254
+ configResolved(config) {
255
+ isDevServer = config.command === "serve";
256
+ filePath = resolve(config.root, twilightJsonPath);
257
+ },
258
+ resolveId(id) {
259
+ if (id === VIRTUAL_ID2) return RESOLVED_ID2;
260
+ },
261
+ async load(id) {
262
+ if (id !== RESOLVED_ID2) return;
263
+ if (!isDevServer || !filePath) return EMPTY_MODULE;
264
+ try {
265
+ const raw = JSON.parse(await readFile(filePath, "utf-8"));
266
+ const schema = buildTwilightSchema(raw);
267
+ return `export default ${JSON.stringify(schema)};`;
268
+ } catch {
269
+ return EMPTY_MODULE;
270
+ }
271
+ },
272
+ configureServer(server) {
273
+ if (!filePath) return;
274
+ const target = filePath;
275
+ server.watcher.add(target);
276
+ const invalidate = (file) => {
277
+ if (file !== target) return;
278
+ const mod = server.moduleGraph.getModuleById(RESOLVED_ID2);
279
+ if (mod) {
280
+ server.moduleGraph.invalidateModule(mod);
281
+ server.ws.send({ type: "full-reload" });
282
+ }
283
+ };
284
+ server.watcher.on("change", invalidate);
285
+ server.watcher.on("add", invalidate);
286
+ }
287
+ };
288
+ }
289
+
122
290
  // src/vite/plugins/best-practices/rules/no-deep-component-import.ts
123
291
  var COMPONENT_FOLDERS = [
124
292
  "common",
@@ -913,7 +1081,7 @@ function pkgPattern(subpath) {
913
1081
  return new RegExp(`^${ESCAPED_PKG}${subpath ? "/" + subpath : ""}$`);
914
1082
  }
915
1083
  var ALIASES = !engineSrc ? [] : [
916
- { find: pkgPattern("i18n"), replacement: `${engineSrc}/providers/i18n.ts` },
1084
+ { find: pkgPattern("i18n"), replacement: `${engineSrc}/providers/I18nProvider.tsx` },
917
1085
  { find: pkgPattern("hooks"), replacement: `${engineSrc}/hooks/index.ts` },
918
1086
  {
919
1087
  find: pkgPattern("hooks/useAsyncFn"),
@@ -2086,7 +2254,8 @@ var tanstackAdapter = {
2086
2254
  const {
2087
2255
  srcDirectory = "app",
2088
2256
  baseRoutesImport = "@salla.sa/twilight-theme-engine/routes",
2089
- localesDir
2257
+ localesDir,
2258
+ twilightJson = "twilight.json"
2090
2259
  } = options;
2091
2260
  const projectRoot = process.cwd();
2092
2261
  const allRoutes = tanstackAdapter.generateRouteFiles({ projectRoot, baseRoutesImport });
@@ -2158,6 +2327,7 @@ var tanstackAdapter = {
2158
2327
  routeGeneratorPlugin,
2159
2328
  webHydrationPlugin(),
2160
2329
  themeTranslationsPlugin(localesDir),
2330
+ twilightSchemaPlugin(twilightJson),
2161
2331
  bestPracticesPlugin()
2162
2332
  ];
2163
2333
  }