@salla.sa/twilight-theme-engine 1.0.86 → 1.0.87

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 (147) hide show
  1. package/README.md +4 -3
  2. package/bin/twilight-check-manifest.mjs +16 -0
  3. package/dist/{AddToCartForm-5X2WZDWR.js → AddToCartForm-P644O2QL.js} +4 -4
  4. package/dist/{AddToCartForm-5X2WZDWR.js.map → AddToCartForm-P644O2QL.js.map} +1 -1
  5. package/dist/{BlogAuthorPage-LO7FSSJR.js → BlogAuthorPage-VWSO6MPY.js} +9 -9
  6. package/dist/{BlogAuthorPage-LO7FSSJR.js.map → BlogAuthorPage-VWSO6MPY.js.map} +1 -1
  7. package/dist/{BlogCategoryPage-KKFQ3PGR.js → BlogCategoryPage-K2KSQ6T6.js} +9 -9
  8. package/dist/{BlogCategoryPage-KKFQ3PGR.js.map → BlogCategoryPage-K2KSQ6T6.js.map} +1 -1
  9. package/dist/{BlogPage-VLF3NSGE.js → BlogPage-XRM7VWOZ.js} +8 -8
  10. package/dist/{BlogPage-VLF3NSGE.js.map → BlogPage-XRM7VWOZ.js.map} +1 -1
  11. package/dist/{BlogSinglePage-AVK535IW.js → BlogSinglePage-XIAXT54H.js} +8 -8
  12. package/dist/{BlogSinglePage-AVK535IW.js.map → BlogSinglePage-XIAXT54H.js.map} +1 -1
  13. package/dist/{BlogTagPage-F3T4D7RH.js → BlogTagPage-IHOA267V.js} +9 -9
  14. package/dist/{BlogTagPage-F3T4D7RH.js.map → BlogTagPage-IHOA267V.js.map} +1 -1
  15. package/dist/{BrandsPage-LVSBZSVC.js → BrandsPage-ZFEILRT3.js} +8 -8
  16. package/dist/{BrandsPage-LVSBZSVC.js.map → BrandsPage-ZFEILRT3.js.map} +1 -1
  17. package/dist/{Breadcrumb-VLFTXRFC.js → Breadcrumb-CVSISL2K.js} +8 -8
  18. package/dist/{Breadcrumb-VLFTXRFC.js.map → Breadcrumb-CVSISL2K.js.map} +1 -1
  19. package/dist/{CartItem-G3H34GW6.js → CartItem-EOI7P3JA.js} +8 -8
  20. package/dist/{CartItem-G3H34GW6.js.map → CartItem-EOI7P3JA.js.map} +1 -1
  21. package/dist/{CartSummary-VH37RPUI.js → CartSummary-RZGUBDKJ.js} +8 -8
  22. package/dist/{CartSummary-VH37RPUI.js.map → CartSummary-RZGUBDKJ.js.map} +1 -1
  23. package/dist/{Copyright-HE5ZWINZ.js → Copyright-5BLYSP24.js} +4 -4
  24. package/dist/{Copyright-HE5ZWINZ.js.map → Copyright-5BLYSP24.js.map} +1 -1
  25. package/dist/{CustomerLayout-LKBLOAVW.js → CustomerLayout-6F4BJAMU.js} +8 -8
  26. package/dist/{CustomerLayout-LKBLOAVW.js.map → CustomerLayout-6F4BJAMU.js.map} +1 -1
  27. package/dist/{Footer-HHXAST72.js → Footer-NF2NLDLR.js} +5 -5
  28. package/dist/{Footer-HHXAST72.js.map → Footer-NF2NLDLR.js.map} +1 -1
  29. package/dist/{Header-GEVZM2YG.js → Header-6DQJ5X7J.js} +5 -5
  30. package/dist/{Header-GEVZM2YG.js.map → Header-6DQJ5X7J.js.map} +1 -1
  31. package/dist/{LoyaltyPage-M5CT3CFD.js → LoyaltyPage-YHWHIWCS.js} +8 -8
  32. package/dist/{LoyaltyPage-M5CT3CFD.js.map → LoyaltyPage-YHWHIWCS.js.map} +1 -1
  33. package/dist/{LoyaltyPointsPage-SDJB52U6.js → LoyaltyPointsPage-T6K3H5A5.js} +3 -3
  34. package/dist/{LoyaltyPointsPage-SDJB52U6.js.map → LoyaltyPointsPage-T6K3H5A5.js.map} +1 -1
  35. package/dist/{MainMenu-I7EYS752.js → MainMenu-Y2TAM7DK.js} +4 -4
  36. package/dist/{MainMenu-I7EYS752.js.map → MainMenu-Y2TAM7DK.js.map} +1 -1
  37. package/dist/{MasterLayout-QDK4T3NE.js → MasterLayout-GBEEFFPG.js} +8 -8
  38. package/dist/{MasterLayout-QDK4T3NE.js.map → MasterLayout-GBEEFFPG.js.map} +1 -1
  39. package/dist/{MobileMenu-7VTCWAVJ.js → MobileMenu-RE5XVGZL.js} +8 -8
  40. package/dist/{MobileMenu-7VTCWAVJ.js.map → MobileMenu-RE5XVGZL.js.map} +1 -1
  41. package/dist/{NotificationsPage-QCABE6QD.js → NotificationsPage-QAFWZAS3.js} +8 -8
  42. package/dist/{NotificationsPage-QCABE6QD.js.map → NotificationsPage-QAFWZAS3.js.map} +1 -1
  43. package/dist/{OrderSinglePage-2HVBKBG4.js → OrderSinglePage-T4PRXTKG.js} +8 -8
  44. package/dist/{OrderSinglePage-2HVBKBG4.js.map → OrderSinglePage-T4PRXTKG.js.map} +1 -1
  45. package/dist/{OrdersPage-5MNCPCM3.js → OrdersPage-3S6ZS56E.js} +8 -8
  46. package/dist/{OrdersPage-5MNCPCM3.js.map → OrdersPage-3S6ZS56E.js.map} +1 -1
  47. package/dist/{PageSingle-EN5XIM2B.js → PageSingle-W3UTXDOW.js} +4 -4
  48. package/dist/{PageSingle-EN5XIM2B.js.map → PageSingle-W3UTXDOW.js.map} +1 -1
  49. package/dist/{ProductDetails-UEWQPPDZ.js → ProductDetails-X5A7TG3F.js} +4 -4
  50. package/dist/{ProductDetails-UEWQPPDZ.js.map → ProductDetails-X5A7TG3F.js.map} +1 -1
  51. package/dist/{ProfilePage-TZSU3GHZ.js → ProfilePage-DUH3AILJ.js} +8 -8
  52. package/dist/{ProfilePage-TZSU3GHZ.js.map → ProfilePage-DUH3AILJ.js.map} +1 -1
  53. package/dist/{ReviewsPage-WYZ6CHF2.js → ReviewsPage-2C2P7VS3.js} +4 -4
  54. package/dist/{ReviewsPage-WYZ6CHF2.js.map → ReviewsPage-2C2P7VS3.js.map} +1 -1
  55. package/dist/{SeoCartWidget-5JR5RXQM.js → SeoCartWidget-VYLGEW2I.js} +8 -8
  56. package/dist/{SeoCartWidget-5JR5RXQM.js.map → SeoCartWidget-VYLGEW2I.js.map} +1 -1
  57. package/dist/{SettingsPage-DIDRQXMM.js → SettingsPage-OZJEW6CW.js} +8 -8
  58. package/dist/{SettingsPage-DIDRQXMM.js.map → SettingsPage-OZJEW6CW.js.map} +1 -1
  59. package/dist/{StoreClosedNotification-C2G32E34.js → StoreClosedNotification-QHIZBNXO.js} +9 -9
  60. package/dist/{StoreClosedNotification-C2G32E34.js.map → StoreClosedNotification-QHIZBNXO.js.map} +1 -1
  61. package/dist/{TestimonialsPage-XPHFRBZ7.js → TestimonialsPage-K6WJKKME.js} +4 -4
  62. package/dist/{TestimonialsPage-XPHFRBZ7.js.map → TestimonialsPage-K6WJKKME.js.map} +1 -1
  63. package/dist/{ThankYouPage-UA6YYFB2.js → ThankYouPage-H6QQEI5R.js} +8 -8
  64. package/dist/{ThankYouPage-UA6YYFB2.js.map → ThankYouPage-H6QQEI5R.js.map} +1 -1
  65. package/dist/{WalletPage-AJVV7LVL.js → WalletPage-G5IBGN6B.js} +8 -8
  66. package/dist/{WalletPage-AJVV7LVL.js.map → WalletPage-G5IBGN6B.js.map} +1 -1
  67. package/dist/{WishlistPage-UW6LJLSW.js → WishlistPage-AIOTAB6L.js} +8 -8
  68. package/dist/{WishlistPage-UW6LJLSW.js.map → WishlistPage-AIOTAB6L.js.map} +1 -1
  69. package/dist/{chunk-4WVJJ7SN.js → chunk-BCJTF3V7.js} +3 -3
  70. package/dist/{chunk-4WVJJ7SN.js.map → chunk-BCJTF3V7.js.map} +1 -1
  71. package/dist/{chunk-2HCCIHU7.js → chunk-EZHXVHXY.js} +4 -4
  72. package/dist/{chunk-2HCCIHU7.js.map → chunk-EZHXVHXY.js.map} +1 -1
  73. package/dist/{chunk-U55ZJC2X.js → chunk-FWYKOQV5.js} +4 -4
  74. package/dist/chunk-FWYKOQV5.js.map +1 -0
  75. package/dist/{chunk-E26YG3AO.js → chunk-FYHF62KI.js} +4 -4
  76. package/dist/{chunk-E26YG3AO.js.map → chunk-FYHF62KI.js.map} +1 -1
  77. package/dist/{chunk-HQ7WA37L.js → chunk-GJ5IMPNY.js} +7 -7
  78. package/dist/{chunk-HQ7WA37L.js.map → chunk-GJ5IMPNY.js.map} +1 -1
  79. package/dist/chunk-LWPKBVIE.js +14 -0
  80. package/dist/{chunk-QJYUTRAQ.js.map → chunk-LWPKBVIE.js.map} +1 -1
  81. package/dist/{chunk-WSDG4ZRI.js → chunk-N3BCZIGS.js} +4 -4
  82. package/dist/{chunk-WSDG4ZRI.js.map → chunk-N3BCZIGS.js.map} +1 -1
  83. package/dist/{chunk-X54QP332.js → chunk-NXQZ4RLM.js} +5 -5
  84. package/dist/{chunk-X54QP332.js.map → chunk-NXQZ4RLM.js.map} +1 -1
  85. package/dist/{chunk-BAYGWTNM.js → chunk-PCURRKIH.js} +3 -3
  86. package/dist/{chunk-BAYGWTNM.js.map → chunk-PCURRKIH.js.map} +1 -1
  87. package/dist/{chunk-PWTXR4RR.js → chunk-PU2LHFDQ.js} +8 -9
  88. package/dist/chunk-PU2LHFDQ.js.map +1 -0
  89. package/dist/{chunk-CLBFF2CY.js → chunk-UQIVX4YA.js} +3 -3
  90. package/dist/{chunk-CLBFF2CY.js.map → chunk-UQIVX4YA.js.map} +1 -1
  91. package/dist/chunk-X5NK4TZH.js +228 -0
  92. package/dist/chunk-X5NK4TZH.js.map +1 -0
  93. package/dist/{chunk-KP3VYG4F.js → chunk-XKNXYQ2K.js} +6 -6
  94. package/dist/{chunk-KP3VYG4F.js.map → chunk-XKNXYQ2K.js.map} +1 -1
  95. package/dist/{chunk-DBXH3EMJ.js → chunk-XO7B3VWS.js} +3 -3
  96. package/dist/{chunk-DBXH3EMJ.js.map → chunk-XO7B3VWS.js.map} +1 -1
  97. package/dist/cli/check-manifest.d.ts +10 -0
  98. package/dist/cli/check-manifest.d.ts.map +1 -0
  99. package/dist/cli/check-manifest.js +44 -0
  100. package/dist/cli/check-manifest.js.map +1 -0
  101. package/dist/components/cart/index.js +1 -1
  102. package/dist/components/common/index.js +2 -2
  103. package/dist/components/drawer/index.js +6 -6
  104. package/dist/components/home/index.js +8 -8
  105. package/dist/components/layout/Footer.d.ts.map +1 -1
  106. package/dist/components/layout/MasterLayout.d.ts.map +1 -1
  107. package/dist/components/layout/index.js +1 -1
  108. package/dist/components/product/index.js +7 -7
  109. package/dist/components/store/index.js +8 -8
  110. package/dist/{document-class-7AXAAWGZ.js → document-class-FRL7JHWD.js} +3 -3
  111. package/dist/{document-class-7AXAAWGZ.js.map → document-class-FRL7JHWD.js.map} +1 -1
  112. package/dist/hooks/index.js +6 -6
  113. package/dist/hooks/useGtm.js +6 -6
  114. package/dist/hooks/useMoney.js +6 -6
  115. package/dist/hooks/useStore.js +6 -6
  116. package/dist/index.js +6 -6
  117. package/dist/{not-found-3EEMQZMU.js → not-found-E6AR4CZ4.js} +8 -8
  118. package/dist/{not-found-3EEMQZMU.js.map → not-found-E6AR4CZ4.js.map} +1 -1
  119. package/dist/providers/index.js +6 -6
  120. package/dist/routes/account/orders.js +1 -1
  121. package/dist/routes/account.js +6 -6
  122. package/dist/routes/blog.js +5 -5
  123. package/dist/routes/brands.js +1 -1
  124. package/dist/routes/cart.js +10 -10
  125. package/dist/routes/home.js +9 -9
  126. package/dist/routes/loyalty.js +2 -2
  127. package/dist/routes/page.js +1 -1
  128. package/dist/routes/product-listing.js +8 -8
  129. package/dist/routes/product.js +8 -8
  130. package/dist/routes/testimonials.js +2 -2
  131. package/dist/routes/thank-you.js +1 -1
  132. package/dist/skeleton.js +9 -9
  133. package/dist/tanstack.js +3 -3
  134. package/dist/utils/index.js +1 -1
  135. package/dist/vite/index.d.ts +1 -1
  136. package/dist/vite/index.d.ts.map +1 -1
  137. package/dist/vite/index.js +15 -26
  138. package/dist/vite/index.js.map +1 -1
  139. package/dist/vite/plugins/twilight-manifest.d.ts +23 -0
  140. package/dist/vite/plugins/twilight-manifest.d.ts.map +1 -1
  141. package/dist/vite/plugins/twilight-schema.plugin.d.ts.map +1 -1
  142. package/package.json +5 -1
  143. package/tailwind/components/layout/Footer.tsx.txt +1 -3
  144. package/tailwind/components/layout/MasterLayout.tsx.txt +0 -1
  145. package/dist/chunk-PWTXR4RR.js.map +0 -1
  146. package/dist/chunk-QJYUTRAQ.js +0 -14
  147. package/dist/chunk-U55ZJC2X.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-4WVJJ7SN.js';
1
+ export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-BCJTF3V7.js';
2
2
  import './chunk-Z4Y55HWX.js';
3
3
  import './chunk-3LXB4VFK.js';
4
4
  import './chunk-MKVCFBVF.js';
@@ -23,5 +23,5 @@ import './chunk-N2S25NXP.js';
23
23
  import './chunk-T72DAX7R.js';
24
24
  import './chunk-DF6FBKDN.js';
25
25
  import './chunk-DGUM43GV.js';
26
- //# sourceMappingURL=document-class-7AXAAWGZ.js.map
27
- //# sourceMappingURL=document-class-7AXAAWGZ.js.map
26
+ //# sourceMappingURL=document-class-FRL7JHWD.js.map
27
+ //# sourceMappingURL=document-class-FRL7JHWD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-7AXAAWGZ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-FRL7JHWD.js"}
@@ -1,8 +1,8 @@
1
- export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-PWTXR4RR.js';
2
- import '../chunk-X54QP332.js';
3
- import '../chunk-U55ZJC2X.js';
4
- import '../chunk-2JV6WZ6O.js';
1
+ export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-PU2LHFDQ.js';
2
+ import '../chunk-NXQZ4RLM.js';
3
+ import '../chunk-FWYKOQV5.js';
5
4
  import '../chunk-E7WWO3V3.js';
5
+ import '../chunk-2JV6WZ6O.js';
6
6
  import '../chunk-RV54D2D7.js';
7
7
  import '../chunk-ZVZGLEZ6.js';
8
8
  import '../chunk-VVZNW5CB.js';
@@ -32,10 +32,10 @@ export { HookSlot, useIsClient } from '../chunk-5XDPAKF5.js';
32
32
  export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GCPEMNSU.js';
33
33
  import '../chunk-QGOPTVV5.js';
34
34
  import '../chunk-TYNZ5B2B.js';
35
- import '../chunk-DBXH3EMJ.js';
35
+ import '../chunk-XO7B3VWS.js';
36
36
  import '../chunk-AXW67SY7.js';
37
- import '../chunk-SKLEJJ6M.js';
38
37
  import '../chunk-BYMOPN2S.js';
38
+ import '../chunk-SKLEJJ6M.js';
39
39
  export { useAsyncFn } from '../chunk-6BZ5TKEV.js';
40
40
  export { useTheme } from '../chunk-FZKRSGLP.js';
41
41
  import '../chunk-7V5HOZW4.js';
@@ -1,8 +1,8 @@
1
- export { useGtm } from '../chunk-PWTXR4RR.js';
2
- import '../chunk-X54QP332.js';
3
- import '../chunk-U55ZJC2X.js';
4
- import '../chunk-2JV6WZ6O.js';
1
+ export { useGtm } from '../chunk-PU2LHFDQ.js';
2
+ import '../chunk-NXQZ4RLM.js';
3
+ import '../chunk-FWYKOQV5.js';
5
4
  import '../chunk-E7WWO3V3.js';
5
+ import '../chunk-2JV6WZ6O.js';
6
6
  import '../chunk-RV54D2D7.js';
7
7
  import '../chunk-ZVZGLEZ6.js';
8
8
  import '../chunk-VVZNW5CB.js';
@@ -32,10 +32,10 @@ import '../chunk-5XDPAKF5.js';
32
32
  import '../chunk-GCPEMNSU.js';
33
33
  import '../chunk-QGOPTVV5.js';
34
34
  import '../chunk-TYNZ5B2B.js';
35
- import '../chunk-DBXH3EMJ.js';
35
+ import '../chunk-XO7B3VWS.js';
36
36
  import '../chunk-AXW67SY7.js';
37
- import '../chunk-SKLEJJ6M.js';
38
37
  import '../chunk-BYMOPN2S.js';
38
+ import '../chunk-SKLEJJ6M.js';
39
39
  import '../chunk-6BZ5TKEV.js';
40
40
  import '../chunk-FZKRSGLP.js';
41
41
  import '../chunk-7V5HOZW4.js';
@@ -1,8 +1,8 @@
1
- export { useMoney } from '../chunk-PWTXR4RR.js';
2
- import '../chunk-X54QP332.js';
3
- import '../chunk-U55ZJC2X.js';
4
- import '../chunk-2JV6WZ6O.js';
1
+ export { useMoney } from '../chunk-PU2LHFDQ.js';
2
+ import '../chunk-NXQZ4RLM.js';
3
+ import '../chunk-FWYKOQV5.js';
5
4
  import '../chunk-E7WWO3V3.js';
5
+ import '../chunk-2JV6WZ6O.js';
6
6
  import '../chunk-RV54D2D7.js';
7
7
  import '../chunk-ZVZGLEZ6.js';
8
8
  import '../chunk-VVZNW5CB.js';
@@ -32,10 +32,10 @@ import '../chunk-5XDPAKF5.js';
32
32
  import '../chunk-GCPEMNSU.js';
33
33
  import '../chunk-QGOPTVV5.js';
34
34
  import '../chunk-TYNZ5B2B.js';
35
- import '../chunk-DBXH3EMJ.js';
35
+ import '../chunk-XO7B3VWS.js';
36
36
  import '../chunk-AXW67SY7.js';
37
- import '../chunk-SKLEJJ6M.js';
38
37
  import '../chunk-BYMOPN2S.js';
38
+ import '../chunk-SKLEJJ6M.js';
39
39
  import '../chunk-6BZ5TKEV.js';
40
40
  import '../chunk-FZKRSGLP.js';
41
41
  import '../chunk-7V5HOZW4.js';
@@ -1,8 +1,8 @@
1
- export { useStore } from '../chunk-PWTXR4RR.js';
2
- import '../chunk-X54QP332.js';
3
- import '../chunk-U55ZJC2X.js';
4
- import '../chunk-2JV6WZ6O.js';
1
+ export { useStore } from '../chunk-PU2LHFDQ.js';
2
+ import '../chunk-NXQZ4RLM.js';
3
+ import '../chunk-FWYKOQV5.js';
5
4
  import '../chunk-E7WWO3V3.js';
5
+ import '../chunk-2JV6WZ6O.js';
6
6
  import '../chunk-RV54D2D7.js';
7
7
  import '../chunk-ZVZGLEZ6.js';
8
8
  import '../chunk-VVZNW5CB.js';
@@ -32,10 +32,10 @@ import '../chunk-5XDPAKF5.js';
32
32
  import '../chunk-GCPEMNSU.js';
33
33
  import '../chunk-QGOPTVV5.js';
34
34
  import '../chunk-TYNZ5B2B.js';
35
- import '../chunk-DBXH3EMJ.js';
35
+ import '../chunk-XO7B3VWS.js';
36
36
  import '../chunk-AXW67SY7.js';
37
- import '../chunk-SKLEJJ6M.js';
38
37
  import '../chunk-BYMOPN2S.js';
38
+ import '../chunk-SKLEJJ6M.js';
39
39
  import '../chunk-6BZ5TKEV.js';
40
40
  import '../chunk-FZKRSGLP.js';
41
41
  import '../chunk-7V5HOZW4.js';
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { registry } from './chunk-Y32RHCOH.js';
2
2
  export { ComponentRegistry, registry } from './chunk-Y32RHCOH.js';
3
- export { TwilightProvider } from './chunk-PWTXR4RR.js';
4
- import './chunk-X54QP332.js';
5
- import './chunk-U55ZJC2X.js';
6
- import './chunk-2JV6WZ6O.js';
3
+ export { TwilightProvider } from './chunk-PU2LHFDQ.js';
4
+ import './chunk-NXQZ4RLM.js';
5
+ import './chunk-FWYKOQV5.js';
7
6
  import './chunk-E7WWO3V3.js';
7
+ import './chunk-2JV6WZ6O.js';
8
8
  import './chunk-RV54D2D7.js';
9
9
  import './chunk-ZVZGLEZ6.js';
10
10
  import './chunk-VVZNW5CB.js';
@@ -34,10 +34,10 @@ import './chunk-5XDPAKF5.js';
34
34
  import './chunk-GCPEMNSU.js';
35
35
  import './chunk-QGOPTVV5.js';
36
36
  import './chunk-TYNZ5B2B.js';
37
- import './chunk-DBXH3EMJ.js';
37
+ import './chunk-XO7B3VWS.js';
38
38
  import './chunk-AXW67SY7.js';
39
- import './chunk-SKLEJJ6M.js';
40
39
  import './chunk-BYMOPN2S.js';
40
+ import './chunk-SKLEJJ6M.js';
41
41
  import './chunk-6BZ5TKEV.js';
42
42
  import './chunk-FZKRSGLP.js';
43
43
  import './chunk-7V5HOZW4.js';
@@ -1,9 +1,9 @@
1
1
  import { product } from './chunk-556OT3BN.js';
2
- import './chunk-PWTXR4RR.js';
3
- import './chunk-X54QP332.js';
4
- import './chunk-U55ZJC2X.js';
5
- import './chunk-2JV6WZ6O.js';
2
+ import './chunk-PU2LHFDQ.js';
3
+ import './chunk-NXQZ4RLM.js';
4
+ import './chunk-FWYKOQV5.js';
6
5
  import './chunk-E7WWO3V3.js';
6
+ import './chunk-2JV6WZ6O.js';
7
7
  import './chunk-RV54D2D7.js';
8
8
  import './chunk-ZVZGLEZ6.js';
9
9
  import './chunk-VVZNW5CB.js';
@@ -33,10 +33,10 @@ import { HookSlot } from './chunk-5XDPAKF5.js';
33
33
  import './chunk-GCPEMNSU.js';
34
34
  import './chunk-QGOPTVV5.js';
35
35
  import { useTranslation } from './chunk-TYNZ5B2B.js';
36
- import { LazyErrorPage } from './chunk-DBXH3EMJ.js';
36
+ import { LazyErrorPage } from './chunk-XO7B3VWS.js';
37
37
  import './chunk-AXW67SY7.js';
38
- import './chunk-SKLEJJ6M.js';
39
38
  import './chunk-BYMOPN2S.js';
39
+ import './chunk-SKLEJJ6M.js';
40
40
  import './chunk-6BZ5TKEV.js';
41
41
  import './chunk-FZKRSGLP.js';
42
42
  import './chunk-7V5HOZW4.js';
@@ -149,5 +149,5 @@ function NotFoundPage(props = {}) {
149
149
  }
150
150
 
151
151
  export { NotFoundPage };
152
- //# sourceMappingURL=not-found-3EEMQZMU.js.map
153
- //# sourceMappingURL=not-found-3EEMQZMU.js.map
152
+ //# sourceMappingURL=not-found-E6AR4CZ4.js.map
153
+ //# sourceMappingURL=not-found-E6AR4CZ4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-3EEMQZMU.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-E6AR4CZ4.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-PWTXR4RR.js';
2
- import '../chunk-X54QP332.js';
3
- import '../chunk-U55ZJC2X.js';
4
- import '../chunk-2JV6WZ6O.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-PU2LHFDQ.js';
2
+ import '../chunk-NXQZ4RLM.js';
3
+ import '../chunk-FWYKOQV5.js';
5
4
  import '../chunk-E7WWO3V3.js';
5
+ import '../chunk-2JV6WZ6O.js';
6
6
  import '../chunk-RV54D2D7.js';
7
7
  import '../chunk-ZVZGLEZ6.js';
8
8
  import '../chunk-VVZNW5CB.js';
@@ -32,10 +32,10 @@ import '../chunk-5XDPAKF5.js';
32
32
  import '../chunk-GCPEMNSU.js';
33
33
  import '../chunk-QGOPTVV5.js';
34
34
  import '../chunk-TYNZ5B2B.js';
35
- import '../chunk-DBXH3EMJ.js';
35
+ import '../chunk-XO7B3VWS.js';
36
36
  import '../chunk-AXW67SY7.js';
37
- import '../chunk-SKLEJJ6M.js';
38
37
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
38
+ import '../chunk-SKLEJJ6M.js';
39
39
  import '../chunk-6BZ5TKEV.js';
40
40
  import '../chunk-FZKRSGLP.js';
41
41
  import '../chunk-7V5HOZW4.js';
@@ -1,4 +1,4 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-E26YG3AO.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-FYHF62KI.js';
2
2
  import '../../chunk-YGJMUJVR.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-6ZMNTJM3.js';
@@ -1,5 +1,5 @@
1
1
  import { wallet } from '../chunk-HQAFPDJK.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-E26YG3AO.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-FYHF62KI.js';
3
3
  import '../chunk-YGJMUJVR.js';
4
4
  import { notification } from '../chunk-6OOTDFC7.js';
5
5
  import { wishlist } from '../chunk-I4LYRR2O.js';
@@ -29,7 +29,7 @@ async function profileLoader(_ctx) {
29
29
 
30
30
  // src/routes/account/profile/index.tsx
31
31
  var LazyProfilePage = lazy(
32
- () => import('../ProfilePage-TZSU3GHZ.js').then((m) => ({ default: m.ProfilePage }))
32
+ () => import('../ProfilePage-DUH3AILJ.js').then((m) => ({ default: m.ProfilePage }))
33
33
  );
34
34
  var ProfilePage = LazyProfilePage;
35
35
  var Profile = {
@@ -71,7 +71,7 @@ async function wishlistLoader(ctx) {
71
71
 
72
72
  // src/routes/account/wishlist/index.tsx
73
73
  var LazyWishlistPage = lazy(
74
- () => import('../WishlistPage-UW6LJLSW.js').then((m) => ({ default: m.WishlistPage }))
74
+ () => import('../WishlistPage-AIOTAB6L.js').then((m) => ({ default: m.WishlistPage }))
75
75
  );
76
76
  var WishlistPage = LazyWishlistPage;
77
77
  var Wishlist = {
@@ -113,7 +113,7 @@ async function walletLoader(ctx) {
113
113
  }
114
114
 
115
115
  // src/routes/account/wallet/index.tsx
116
- var LazyWalletPage = lazy(() => import('../WalletPage-AJVV7LVL.js').then((m) => ({ default: m.WalletPage })));
116
+ var LazyWalletPage = lazy(() => import('../WalletPage-G5IBGN6B.js').then((m) => ({ default: m.WalletPage })));
117
117
  var WalletPage = LazyWalletPage;
118
118
  var Wallet = {
119
119
  id: RouteId.CUSTOMER_WALLET,
@@ -149,7 +149,7 @@ async function notificationsLoader(_ctx) {
149
149
 
150
150
  // src/routes/account/notifications/index.tsx
151
151
  var LazyNotificationsPage = lazy(
152
- () => import('../NotificationsPage-QCABE6QD.js').then((m) => ({ default: m.NotificationsPage }))
152
+ () => import('../NotificationsPage-QAFWZAS3.js').then((m) => ({ default: m.NotificationsPage }))
153
153
  );
154
154
  var NotificationsPage = LazyNotificationsPage;
155
155
  var Notifications = {
@@ -182,7 +182,7 @@ async function settingsLoader(_ctx) {
182
182
 
183
183
  // src/routes/account/settings/index.tsx
184
184
  var LazySettingsPage = lazy(
185
- () => import('../SettingsPage-DIDRQXMM.js').then((m) => ({ default: m.SettingsPage }))
185
+ () => import('../SettingsPage-OZJEW6CW.js').then((m) => ({ default: m.SettingsPage }))
186
186
  );
187
187
  var SettingsPage = LazySettingsPage;
188
188
  var Settings = {
@@ -143,18 +143,18 @@ async function blogTagLoader({
143
143
  }
144
144
 
145
145
  // src/routes/blog/index.tsx
146
- var LazyBlogPage = lazy(() => import('../BlogPage-VLF3NSGE.js').then((m) => ({ default: m.BlogPage })));
146
+ var LazyBlogPage = lazy(() => import('../BlogPage-XRM7VWOZ.js').then((m) => ({ default: m.BlogPage })));
147
147
  var LazyBlogSinglePage = lazy(
148
- () => import('../BlogSinglePage-AVK535IW.js').then((m) => ({ default: m.BlogSinglePage }))
148
+ () => import('../BlogSinglePage-XIAXT54H.js').then((m) => ({ default: m.BlogSinglePage }))
149
149
  );
150
150
  var LazyBlogAuthorPage = lazy(
151
- () => import('../BlogAuthorPage-LO7FSSJR.js').then((m) => ({ default: m.BlogAuthorPage }))
151
+ () => import('../BlogAuthorPage-VWSO6MPY.js').then((m) => ({ default: m.BlogAuthorPage }))
152
152
  );
153
153
  var LazyBlogCategoryPage = lazy(
154
- () => import('../BlogCategoryPage-KKFQ3PGR.js').then((m) => ({ default: m.BlogCategoryPage }))
154
+ () => import('../BlogCategoryPage-K2KSQ6T6.js').then((m) => ({ default: m.BlogCategoryPage }))
155
155
  );
156
156
  var LazyBlogTagPage = lazy(
157
- () => import('../BlogTagPage-F3T4D7RH.js').then((m) => ({ default: m.BlogTagPage }))
157
+ () => import('../BlogTagPage-IHOA267V.js').then((m) => ({ default: m.BlogTagPage }))
158
158
  );
159
159
  var BlogPage = LazyBlogPage;
160
160
  var BlogSinglePage = LazyBlogSinglePage;
@@ -22,7 +22,7 @@ async function brandsLoader() {
22
22
  }
23
23
 
24
24
  // src/routes/brands/index.tsx
25
- var LazyBrandsPage = lazy(() => import('../BrandsPage-LVSBZSVC.js').then((m) => ({ default: m.BrandsPage })));
25
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-ZFEILRT3.js').then((m) => ({ default: m.BrandsPage })));
26
26
  var BrandsPage = LazyBrandsPage;
27
27
  async function brandsLoaderWithExtend(_ctx, extend) {
28
28
  const data = await brandsLoader();
@@ -1,18 +1,18 @@
1
1
  import { cart } from '../chunk-27Z442XF.js';
2
2
  import { loyalty } from '../chunk-B2G7S4UR.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-BAYGWTNM.js';
5
- import '../chunk-WSDG4ZRI.js';
4
+ import '../chunk-PCURRKIH.js';
5
+ import '../chunk-N3BCZIGS.js';
6
6
  import '../chunk-FZYR4BA2.js';
7
7
  import '../chunk-556OT3BN.js';
8
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-QJYUTRAQ.js';
9
- import '../chunk-KP3VYG4F.js';
8
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-LWPKBVIE.js';
9
+ import '../chunk-XKNXYQ2K.js';
10
10
  import '../chunk-Y32RHCOH.js';
11
- import '../chunk-PWTXR4RR.js';
12
- import '../chunk-X54QP332.js';
13
- import '../chunk-U55ZJC2X.js';
14
- import '../chunk-2JV6WZ6O.js';
11
+ import '../chunk-PU2LHFDQ.js';
12
+ import '../chunk-NXQZ4RLM.js';
13
+ import '../chunk-FWYKOQV5.js';
15
14
  import '../chunk-E7WWO3V3.js';
15
+ import '../chunk-2JV6WZ6O.js';
16
16
  import '../chunk-RV54D2D7.js';
17
17
  import '../chunk-ZVZGLEZ6.js';
18
18
  import '../chunk-VVZNW5CB.js';
@@ -42,10 +42,10 @@ import { HookSlot } from '../chunk-5XDPAKF5.js';
42
42
  import '../chunk-GCPEMNSU.js';
43
43
  import '../chunk-QGOPTVV5.js';
44
44
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
45
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-DBXH3EMJ.js';
45
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-XO7B3VWS.js';
46
46
  import '../chunk-AXW67SY7.js';
47
- import '../chunk-SKLEJJ6M.js';
48
47
  import '../chunk-BYMOPN2S.js';
48
+ import '../chunk-SKLEJJ6M.js';
49
49
  import '../chunk-6BZ5TKEV.js';
50
50
  import '../chunk-FZKRSGLP.js';
51
51
  import '../chunk-7V5HOZW4.js';
@@ -1,14 +1,14 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-BAYGWTNM.js';
2
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-WSDG4ZRI.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-PCURRKIH.js';
2
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-N3BCZIGS.js';
3
3
  import '../chunk-FZYR4BA2.js';
4
4
  import '../chunk-556OT3BN.js';
5
- import '../chunk-KP3VYG4F.js';
5
+ import '../chunk-XKNXYQ2K.js';
6
6
  import '../chunk-Y32RHCOH.js';
7
- import '../chunk-PWTXR4RR.js';
8
- import '../chunk-X54QP332.js';
9
- import '../chunk-U55ZJC2X.js';
10
- import '../chunk-2JV6WZ6O.js';
7
+ import '../chunk-PU2LHFDQ.js';
8
+ import '../chunk-NXQZ4RLM.js';
9
+ import '../chunk-FWYKOQV5.js';
11
10
  import '../chunk-E7WWO3V3.js';
11
+ import '../chunk-2JV6WZ6O.js';
12
12
  import '../chunk-RV54D2D7.js';
13
13
  import '../chunk-ZVZGLEZ6.js';
14
14
  import '../chunk-VVZNW5CB.js';
@@ -38,10 +38,10 @@ import '../chunk-5XDPAKF5.js';
38
38
  import '../chunk-GCPEMNSU.js';
39
39
  import '../chunk-QGOPTVV5.js';
40
40
  import '../chunk-TYNZ5B2B.js';
41
- import '../chunk-DBXH3EMJ.js';
41
+ import '../chunk-XO7B3VWS.js';
42
42
  import '../chunk-AXW67SY7.js';
43
- import '../chunk-SKLEJJ6M.js';
44
43
  import '../chunk-BYMOPN2S.js';
44
+ import '../chunk-SKLEJJ6M.js';
45
45
  import '../chunk-6BZ5TKEV.js';
46
46
  import '../chunk-FZKRSGLP.js';
47
47
  import '../chunk-7V5HOZW4.js';
@@ -56,10 +56,10 @@ async function loyaltyPointsLoader(locale) {
56
56
 
57
57
  // src/routes/loyalty/index.tsx
58
58
  var LazyLoyaltyPage = lazy(
59
- () => import('../LoyaltyPage-M5CT3CFD.js').then((m) => ({ default: m.LoyaltyPage }))
59
+ () => import('../LoyaltyPage-YHWHIWCS.js').then((m) => ({ default: m.LoyaltyPage }))
60
60
  );
61
61
  var LazyLoyaltyPointsPage = lazy(
62
- () => import('../LoyaltyPointsPage-SDJB52U6.js').then((m) => ({ default: m.LoyaltyPointsPage }))
62
+ () => import('../LoyaltyPointsPage-T6K3H5A5.js').then((m) => ({ default: m.LoyaltyPointsPage }))
63
63
  );
64
64
  var LoyaltyPage = LazyLoyaltyPage;
65
65
  var LoyaltyPointsPage = LazyLoyaltyPointsPage;
@@ -27,7 +27,7 @@ async function pageSingleLoader({ params }) {
27
27
  }
28
28
 
29
29
  // src/routes/page/index.tsx
30
- var LazyPageSingle = lazy(() => import('../PageSingle-EN5XIM2B.js').then((m) => ({ default: m.PageSingle })));
30
+ var LazyPageSingle = lazy(() => import('../PageSingle-W3UTXDOW.js').then((m) => ({ default: m.PageSingle })));
31
31
  var PageSingleLazy = LazyPageSingle;
32
32
  async function loader(ctx, extend) {
33
33
  const data = await pageSingleLoader({ params: ctx.params });
@@ -1,17 +1,17 @@
1
1
  import { sortOptions } from '../chunk-6Z4MOC4S.js';
2
2
  import { category } from '../chunk-GAXVDCMA.js';
3
3
  import { brand } from '../chunk-7X4XGKXO.js';
4
- import { useReorderButtons, LazyTestimonials } from '../chunk-WSDG4ZRI.js';
4
+ import { useReorderButtons, LazyTestimonials } from '../chunk-N3BCZIGS.js';
5
5
  import '../chunk-FZYR4BA2.js';
6
6
  import { product, parseNextPageToken } from '../chunk-556OT3BN.js';
7
7
  import { Drawer } from '../chunk-6TKIUG5C.js';
8
- import { ProductCard } from '../chunk-KP3VYG4F.js';
8
+ import { ProductCard } from '../chunk-XKNXYQ2K.js';
9
9
  import { registry, COMPONENT_KEYS } from '../chunk-Y32RHCOH.js';
10
- import { useStore } from '../chunk-PWTXR4RR.js';
11
- import '../chunk-X54QP332.js';
12
- import '../chunk-U55ZJC2X.js';
13
- import '../chunk-2JV6WZ6O.js';
10
+ import { useStore } from '../chunk-PU2LHFDQ.js';
11
+ import '../chunk-NXQZ4RLM.js';
12
+ import '../chunk-FWYKOQV5.js';
14
13
  import '../chunk-E7WWO3V3.js';
14
+ import '../chunk-2JV6WZ6O.js';
15
15
  import '../chunk-RV54D2D7.js';
16
16
  import '../chunk-ZVZGLEZ6.js';
17
17
  import '../chunk-VVZNW5CB.js';
@@ -41,10 +41,10 @@ import { HookSlot } from '../chunk-5XDPAKF5.js';
41
41
  import '../chunk-GCPEMNSU.js';
42
42
  import { getAuthToken } from '../chunk-QGOPTVV5.js';
43
43
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
44
- import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-DBXH3EMJ.js';
44
+ import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-XO7B3VWS.js';
45
45
  import '../chunk-AXW67SY7.js';
46
- import '../chunk-SKLEJJ6M.js';
47
46
  import '../chunk-BYMOPN2S.js';
47
+ import '../chunk-SKLEJJ6M.js';
48
48
  import '../chunk-6BZ5TKEV.js';
49
49
  import '../chunk-FZKRSGLP.js';
50
50
  import '../chunk-7V5HOZW4.js';
@@ -1,13 +1,13 @@
1
- import { ProductsSlider, LazyTestimonials } from '../chunk-WSDG4ZRI.js';
1
+ import { ProductsSlider, LazyTestimonials } from '../chunk-N3BCZIGS.js';
2
2
  import '../chunk-FZYR4BA2.js';
3
3
  import { product } from '../chunk-556OT3BN.js';
4
- import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-KP3VYG4F.js';
4
+ import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-XKNXYQ2K.js';
5
5
  import '../chunk-Y32RHCOH.js';
6
- import { fastCheckoutScript } from '../chunk-PWTXR4RR.js';
7
- import '../chunk-X54QP332.js';
8
- import '../chunk-U55ZJC2X.js';
9
- import '../chunk-2JV6WZ6O.js';
6
+ import { fastCheckoutScript } from '../chunk-PU2LHFDQ.js';
7
+ import '../chunk-NXQZ4RLM.js';
8
+ import '../chunk-FWYKOQV5.js';
10
9
  import '../chunk-E7WWO3V3.js';
10
+ import '../chunk-2JV6WZ6O.js';
11
11
  import '../chunk-RV54D2D7.js';
12
12
  import '../chunk-ZVZGLEZ6.js';
13
13
  import '../chunk-VVZNW5CB.js';
@@ -37,10 +37,10 @@ import { HookSlot } from '../chunk-5XDPAKF5.js';
37
37
  import '../chunk-GCPEMNSU.js';
38
38
  import { getActiveCurrency } from '../chunk-QGOPTVV5.js';
39
39
  import { useTranslation } from '../chunk-TYNZ5B2B.js';
40
- import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-DBXH3EMJ.js';
40
+ import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-XO7B3VWS.js';
41
41
  import '../chunk-AXW67SY7.js';
42
- import '../chunk-SKLEJJ6M.js';
43
42
  import '../chunk-BYMOPN2S.js';
43
+ import '../chunk-SKLEJJ6M.js';
44
44
  import '../chunk-6BZ5TKEV.js';
45
45
  import '../chunk-FZKRSGLP.js';
46
46
  import '../chunk-7V5HOZW4.js';
@@ -32,10 +32,10 @@ async function reviewsLoader() {
32
32
 
33
33
  // src/routes/testimonials/index.tsx
34
34
  var LazyTestimonialsPage = lazy(
35
- () => import('../TestimonialsPage-XPHFRBZ7.js').then((m) => ({ default: m.TestimonialsPage }))
35
+ () => import('../TestimonialsPage-K6WJKKME.js').then((m) => ({ default: m.TestimonialsPage }))
36
36
  );
37
37
  var LazyReviewsPage = lazy(
38
- () => import('../ReviewsPage-WYZ6CHF2.js').then((m) => ({ default: m.ReviewsPage }))
38
+ () => import('../ReviewsPage-2C2P7VS3.js').then((m) => ({ default: m.ReviewsPage }))
39
39
  );
40
40
  var TestimonialsPage = LazyTestimonialsPage;
41
41
  var ReviewsPage = LazyReviewsPage;
@@ -38,7 +38,7 @@ async function thankYouLoader({
38
38
 
39
39
  // src/routes/thank-you/index.tsx
40
40
  var LazyThankYouPage = lazy(
41
- () => import('../ThankYouPage-UA6YYFB2.js').then((m) => ({ default: m.ThankYouPage }))
41
+ () => import('../ThankYouPage-H6QQEI5R.js').then((m) => ({ default: m.ThankYouPage }))
42
42
  );
43
43
  var ThankYouPage = LazyThankYouPage;
44
44
  async function loader(ctx, extend) {
package/dist/skeleton.js CHANGED
@@ -1,15 +1,15 @@
1
1
  export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
2
- export { HomeSkeleton } from './chunk-BAYGWTNM.js';
3
- import './chunk-WSDG4ZRI.js';
2
+ export { HomeSkeleton } from './chunk-PCURRKIH.js';
3
+ import './chunk-N3BCZIGS.js';
4
4
  import './chunk-FZYR4BA2.js';
5
5
  import './chunk-556OT3BN.js';
6
- import './chunk-KP3VYG4F.js';
6
+ import './chunk-XKNXYQ2K.js';
7
7
  import './chunk-Y32RHCOH.js';
8
- import './chunk-PWTXR4RR.js';
9
- import './chunk-X54QP332.js';
10
- import './chunk-U55ZJC2X.js';
11
- import './chunk-2JV6WZ6O.js';
8
+ import './chunk-PU2LHFDQ.js';
9
+ import './chunk-NXQZ4RLM.js';
10
+ import './chunk-FWYKOQV5.js';
12
11
  import './chunk-E7WWO3V3.js';
12
+ import './chunk-2JV6WZ6O.js';
13
13
  import './chunk-RV54D2D7.js';
14
14
  import './chunk-ZVZGLEZ6.js';
15
15
  import './chunk-VVZNW5CB.js';
@@ -39,10 +39,10 @@ import './chunk-5XDPAKF5.js';
39
39
  import './chunk-GCPEMNSU.js';
40
40
  import './chunk-QGOPTVV5.js';
41
41
  import './chunk-TYNZ5B2B.js';
42
- import './chunk-DBXH3EMJ.js';
42
+ import './chunk-XO7B3VWS.js';
43
43
  import './chunk-AXW67SY7.js';
44
- import './chunk-SKLEJJ6M.js';
45
44
  import './chunk-BYMOPN2S.js';
45
+ import './chunk-SKLEJJ6M.js';
46
46
  import './chunk-6BZ5TKEV.js';
47
47
  import './chunk-FZKRSGLP.js';
48
48
  import './chunk-7V5HOZW4.js';
package/dist/tanstack.js CHANGED
@@ -1,8 +1,8 @@
1
- export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-4WVJJ7SN.js';
2
- import './chunk-Z4Y55HWX.js';
3
- import { CRITICAL_STYLE_HREF } from './chunk-4FJGZQD3.js';
1
+ export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-BCJTF3V7.js';
4
2
  import { requestHostOf } from './chunk-UGLZPGPF.js';
5
3
  export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-UGLZPGPF.js';
4
+ import './chunk-Z4Y55HWX.js';
5
+ import { CRITICAL_STYLE_HREF } from './chunk-4FJGZQD3.js';
6
6
  export { tanstackHeadAdapter as head, withHead } from './chunk-3LXB4VFK.js';
7
7
  import './chunk-MKVCFBVF.js';
8
8
  import './chunk-BNI6SKFL.js';
@@ -1,5 +1,5 @@
1
- export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
2
1
  export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
2
+ export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
3
3
  export { dispatchRouteChanged } from '../chunk-MKVCFBVF.js';
4
4
  export { sortOptions } from '../chunk-6Z4MOC4S.js';
5
5
  export { color } from '../chunk-VVZNW5CB.js';
@@ -3,5 +3,5 @@ export { default } from './twilight-react';
3
3
  export { getFrameworkAdapter, tanstackAdapter as tanstack, nextjsAdapter as nextjs, } from './adapters';
4
4
  export { bestPracticesPlugin } from './plugins/best-practices/best-practices.plugin';
5
5
  export type { BestPracticesOptions } from './plugins/best-practices/types';
6
- export { REACT_THEME_TYPE, getThemeType, isReactThemeManifest, describeThemeTypeIssue, type TwilightManifest, } from './plugins/twilight-manifest';
6
+ export { REACT_THEME_TYPE, getThemeType, isReactThemeManifest, describeThemeTypeIssue, validateTwilightManifest, type ManifestIssue, type ManifestValidation, type TwilightManifest, } from './plugins/twilight-manifest';
7
7
  //# sourceMappingURL=index.d.ts.map