@salla.sa/twilight-theme-engine 1.0.54 → 1.0.55

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 (152) hide show
  1. package/dist/{AddToCartForm-ZMGIDWJ2.js → AddToCartForm-4XIOV54P.js} +3 -3
  2. package/dist/{AddToCartForm-ZMGIDWJ2.js.map → AddToCartForm-4XIOV54P.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-SPCVIGER.js → BlogAuthorPage-F74XVWRK.js} +6 -6
  4. package/dist/{BlogAuthorPage-SPCVIGER.js.map → BlogAuthorPage-F74XVWRK.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-2R2U4UVZ.js → BlogCategoryPage-GRGIQQJT.js} +6 -6
  6. package/dist/{BlogCategoryPage-2R2U4UVZ.js.map → BlogCategoryPage-GRGIQQJT.js.map} +1 -1
  7. package/dist/{BlogPage-AJF5L5JE.js → BlogPage-IRNGKPXP.js} +5 -5
  8. package/dist/{BlogPage-AJF5L5JE.js.map → BlogPage-IRNGKPXP.js.map} +1 -1
  9. package/dist/{BlogSinglePage-GPC7G5RZ.js → BlogSinglePage-LFYBQXGO.js} +5 -5
  10. package/dist/{BlogSinglePage-GPC7G5RZ.js.map → BlogSinglePage-LFYBQXGO.js.map} +1 -1
  11. package/dist/{BlogTagPage-SZPOZKYO.js → BlogTagPage-TXKFU2AJ.js} +6 -6
  12. package/dist/{BlogTagPage-SZPOZKYO.js.map → BlogTagPage-TXKFU2AJ.js.map} +1 -1
  13. package/dist/{BrandsPage-7XTWLCMP.js → BrandsPage-F6JUSZ6B.js} +5 -5
  14. package/dist/{BrandsPage-7XTWLCMP.js.map → BrandsPage-F6JUSZ6B.js.map} +1 -1
  15. package/dist/{Breadcrumb-4YCGQ7QL.js → Breadcrumb-CRFFONUE.js} +5 -5
  16. package/dist/{Breadcrumb-4YCGQ7QL.js.map → Breadcrumb-CRFFONUE.js.map} +1 -1
  17. package/dist/{CartItem-THEEFXBX.js → CartItem-5ROWK655.js} +5 -5
  18. package/dist/{CartItem-THEEFXBX.js.map → CartItem-5ROWK655.js.map} +1 -1
  19. package/dist/{CartSummary-DVDFJ2SO.js → CartSummary-C2KAY66B.js} +5 -5
  20. package/dist/{CartSummary-DVDFJ2SO.js.map → CartSummary-C2KAY66B.js.map} +1 -1
  21. package/dist/{Copyright-CEYZUB3X.js → Copyright-3IGLQC4G.js} +3 -3
  22. package/dist/{Copyright-CEYZUB3X.js.map → Copyright-3IGLQC4G.js.map} +1 -1
  23. package/dist/{CustomerLayout-3TIIQDQ2.js → CustomerLayout-74KVJNOT.js} +5 -5
  24. package/dist/{CustomerLayout-3TIIQDQ2.js.map → CustomerLayout-74KVJNOT.js.map} +1 -1
  25. package/dist/{Footer-M7LJ64A6.js → Footer-DCTNLPPN.js} +5 -5
  26. package/dist/{Footer-M7LJ64A6.js.map → Footer-DCTNLPPN.js.map} +1 -1
  27. package/dist/{Header-JMWCXZHK.js → Header-W6VC7PTE.js} +4 -4
  28. package/dist/{Header-JMWCXZHK.js.map → Header-W6VC7PTE.js.map} +1 -1
  29. package/dist/{LoyaltyPage-KRXUKUFF.js → LoyaltyPage-TQC5TUGS.js} +5 -5
  30. package/dist/{LoyaltyPage-KRXUKUFF.js.map → LoyaltyPage-TQC5TUGS.js.map} +1 -1
  31. package/dist/{MainMenu-WHF7ASUW.js → MainMenu-PAODAPEP.js} +3 -3
  32. package/dist/{MainMenu-WHF7ASUW.js.map → MainMenu-PAODAPEP.js.map} +1 -1
  33. package/dist/{MasterLayout-F3FXWM67.js → MasterLayout-VEVLL4PF.js} +5 -5
  34. package/dist/{MasterLayout-F3FXWM67.js.map → MasterLayout-VEVLL4PF.js.map} +1 -1
  35. package/dist/{MobileMenu-ZCJYSGK6.js → MobileMenu-QOSRYLTI.js} +5 -5
  36. package/dist/{MobileMenu-ZCJYSGK6.js.map → MobileMenu-QOSRYLTI.js.map} +1 -1
  37. package/dist/{NotificationsPage-BYVSEORE.js → NotificationsPage-JM45A53H.js} +5 -5
  38. package/dist/{NotificationsPage-BYVSEORE.js.map → NotificationsPage-JM45A53H.js.map} +1 -1
  39. package/dist/{OrderSinglePage-JZBRALXE.js → OrderSinglePage-533BC2RM.js} +5 -5
  40. package/dist/{OrderSinglePage-JZBRALXE.js.map → OrderSinglePage-533BC2RM.js.map} +1 -1
  41. package/dist/{OrdersPage-Z274BZQB.js → OrdersPage-DNOZN744.js} +5 -5
  42. package/dist/{OrdersPage-Z274BZQB.js.map → OrdersPage-DNOZN744.js.map} +1 -1
  43. package/dist/{PageSingle-GOR4L2V6.js → PageSingle-D35HG6RP.js} +3 -3
  44. package/dist/{PageSingle-GOR4L2V6.js.map → PageSingle-D35HG6RP.js.map} +1 -1
  45. package/dist/{ProductDetails-5P26PWUH.js → ProductDetails-DHC35WCA.js} +3 -3
  46. package/dist/{ProductDetails-5P26PWUH.js.map → ProductDetails-DHC35WCA.js.map} +1 -1
  47. package/dist/{ProfilePage-UCPWBRSG.js → ProfilePage-WRQOBQL7.js} +5 -5
  48. package/dist/{ProfilePage-UCPWBRSG.js.map → ProfilePage-WRQOBQL7.js.map} +1 -1
  49. package/dist/{SeoCartWidget-UUFUC5BA.js → SeoCartWidget-4WGVCMAU.js} +5 -5
  50. package/dist/{SeoCartWidget-UUFUC5BA.js.map → SeoCartWidget-4WGVCMAU.js.map} +1 -1
  51. package/dist/{SettingsPage-KUMSRMDA.js → SettingsPage-JF5TRNRB.js} +5 -5
  52. package/dist/{SettingsPage-KUMSRMDA.js.map → SettingsPage-JF5TRNRB.js.map} +1 -1
  53. package/dist/{StoreClosedNotification-ZADX6XF6.js → StoreClosedNotification-M4YIKJ4H.js} +6 -6
  54. package/dist/{StoreClosedNotification-ZADX6XF6.js.map → StoreClosedNotification-M4YIKJ4H.js.map} +1 -1
  55. package/dist/{TestimonialsPage-FIPHRYNP.js → TestimonialsPage-EHYY4L7A.js} +3 -3
  56. package/dist/{TestimonialsPage-FIPHRYNP.js.map → TestimonialsPage-EHYY4L7A.js.map} +1 -1
  57. package/dist/{ThankYouPage-RGBNBHOT.js → ThankYouPage-VWHPFTJ2.js} +5 -5
  58. package/dist/{ThankYouPage-RGBNBHOT.js.map → ThankYouPage-VWHPFTJ2.js.map} +1 -1
  59. package/dist/{WalletPage-OUCUFTEH.js → WalletPage-KT3OPTVS.js} +5 -5
  60. package/dist/{WalletPage-OUCUFTEH.js.map → WalletPage-KT3OPTVS.js.map} +1 -1
  61. package/dist/{WishlistPage-KEWT7Y5L.js → WishlistPage-UZLWR4MV.js} +5 -5
  62. package/dist/{WishlistPage-KEWT7Y5L.js.map → WishlistPage-UZLWR4MV.js.map} +1 -1
  63. package/dist/api/apps.d.ts +2 -12
  64. package/dist/api/apps.d.ts.map +1 -1
  65. package/dist/api/blog.d.ts +3 -18
  66. package/dist/api/blog.d.ts.map +1 -1
  67. package/dist/api/brands.d.ts +2 -12
  68. package/dist/api/brands.d.ts.map +1 -1
  69. package/dist/api/cart.d.ts +1 -6
  70. package/dist/api/cart.d.ts.map +1 -1
  71. package/dist/api/category.d.ts +4 -14
  72. package/dist/api/category.d.ts.map +1 -1
  73. package/dist/api/home.d.ts +1 -6
  74. package/dist/api/home.d.ts.map +1 -1
  75. package/dist/api/loyalty.d.ts +2 -12
  76. package/dist/api/loyalty.d.ts.map +1 -1
  77. package/dist/api/menu.d.ts +1 -6
  78. package/dist/api/menu.d.ts.map +1 -1
  79. package/dist/api/notification.d.ts +1 -6
  80. package/dist/api/notification.d.ts.map +1 -1
  81. package/dist/api/order.d.ts +5 -30
  82. package/dist/api/order.d.ts.map +1 -1
  83. package/dist/api/page.d.ts +1 -6
  84. package/dist/api/page.d.ts.map +1 -1
  85. package/dist/api/product.d.ts +6 -16
  86. package/dist/api/product.d.ts.map +1 -1
  87. package/dist/api/store.d.ts +1 -6
  88. package/dist/api/store.d.ts.map +1 -1
  89. package/dist/api/translations.d.ts +1 -6
  90. package/dist/api/translations.d.ts.map +1 -1
  91. package/dist/api/user.d.ts +1 -6
  92. package/dist/api/user.d.ts.map +1 -1
  93. package/dist/api/wishlist.d.ts +3 -8
  94. package/dist/api/wishlist.d.ts.map +1 -1
  95. package/dist/{chunk-ZFLU5EKG.js → chunk-3QANNFFL.js} +3 -3
  96. package/dist/{chunk-ZFLU5EKG.js.map → chunk-3QANNFFL.js.map} +1 -1
  97. package/dist/{chunk-6DH255C3.js → chunk-432ES3JQ.js} +3 -3
  98. package/dist/{chunk-6DH255C3.js.map → chunk-432ES3JQ.js.map} +1 -1
  99. package/dist/{chunk-7ANJ7LGZ.js → chunk-6AWFKGVQ.js} +5 -5
  100. package/dist/{chunk-7ANJ7LGZ.js.map → chunk-6AWFKGVQ.js.map} +1 -1
  101. package/dist/{chunk-VDBTF3WC.js → chunk-MLTQIIIO.js} +7 -6
  102. package/dist/chunk-MLTQIIIO.js.map +1 -0
  103. package/dist/{chunk-57ZYZKCD.js → chunk-N2ZIFYEG.js} +4 -4
  104. package/dist/{chunk-57ZYZKCD.js.map → chunk-N2ZIFYEG.js.map} +1 -1
  105. package/dist/{chunk-3NSG3KI6.js → chunk-NNHATSNT.js} +6 -6
  106. package/dist/{chunk-3NSG3KI6.js.map → chunk-NNHATSNT.js.map} +1 -1
  107. package/dist/{chunk-IXD32BQX.js → chunk-RDZGBQV2.js} +4 -4
  108. package/dist/{chunk-IXD32BQX.js.map → chunk-RDZGBQV2.js.map} +1 -1
  109. package/dist/{chunk-EGQ6DXLD.js → chunk-RNFT7VLW.js} +4 -4
  110. package/dist/{chunk-EGQ6DXLD.js.map → chunk-RNFT7VLW.js.map} +1 -1
  111. package/dist/{chunk-GLKBT6N6.js → chunk-UWARGCDU.js} +7 -7
  112. package/dist/{chunk-GLKBT6N6.js.map → chunk-UWARGCDU.js.map} +1 -1
  113. package/dist/chunk-W47LLQMQ.js +14 -0
  114. package/dist/{chunk-Q3QX22YI.js.map → chunk-W47LLQMQ.js.map} +1 -1
  115. package/dist/{chunk-BCHT4NRD.js → chunk-XWX3CIL3.js} +3 -3
  116. package/dist/{chunk-BCHT4NRD.js.map → chunk-XWX3CIL3.js.map} +1 -1
  117. package/dist/components/cart/index.js +1 -1
  118. package/dist/components/common/index.js +1 -1
  119. package/dist/components/drawer/index.js +3 -3
  120. package/dist/components/home/index.js +5 -5
  121. package/dist/components/layout/index.js +5 -5
  122. package/dist/components/product/index.js +4 -4
  123. package/dist/components/store/index.js +5 -5
  124. package/dist/{document-class-OCA75GGE.js → document-class-5XQDDNM4.js} +3 -3
  125. package/dist/{document-class-OCA75GGE.js.map → document-class-5XQDDNM4.js.map} +1 -1
  126. package/dist/hooks/index.js +3 -3
  127. package/dist/hooks/useGtm.js +3 -3
  128. package/dist/hooks/useMoney.js +3 -3
  129. package/dist/hooks/useStore.js +3 -3
  130. package/dist/index.js +3 -3
  131. package/dist/{not-found-RM4AHY6T.js → not-found-2RH5NUXW.js} +5 -5
  132. package/dist/{not-found-RM4AHY6T.js.map → not-found-2RH5NUXW.js.map} +1 -1
  133. package/dist/providers/index.js +3 -3
  134. package/dist/routes/account/orders.js +1 -1
  135. package/dist/routes/account.js +6 -6
  136. package/dist/routes/blog.js +5 -5
  137. package/dist/routes/brands.js +1 -1
  138. package/dist/routes/cart.js +7 -7
  139. package/dist/routes/home.js +6 -6
  140. package/dist/routes/loyalty.js +1 -1
  141. package/dist/routes/page.js +1 -1
  142. package/dist/routes/product-listing.js +5 -5
  143. package/dist/routes/product.js +5 -5
  144. package/dist/routes/testimonials.js +1 -1
  145. package/dist/routes/thank-you.js +1 -1
  146. package/dist/skeleton.js +6 -6
  147. package/dist/tanstack/router.d.ts +1 -1
  148. package/dist/tanstack/router.d.ts.map +1 -1
  149. package/dist/tanstack.js +2 -2
  150. package/package.json +11 -11
  151. package/dist/chunk-Q3QX22YI.js +0 -14
  152. package/dist/chunk-VDBTF3WC.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { lazy } from 'react';
2
+
3
+ // src/components/cart/lazy.ts
4
+ var LazyCartItem = lazy(() => import('./CartItem-5ROWK655.js').then((m) => ({ default: m.CartItem })));
5
+ var LazyCartSummary = lazy(
6
+ () => import('./CartSummary-C2KAY66B.js').then((m) => ({ default: m.CartSummary }))
7
+ );
8
+ var LazySeoCartWidget = lazy(
9
+ () => import('./SeoCartWidget-4WGVCMAU.js').then((m) => ({ default: m.SeoCartWidget }))
10
+ );
11
+
12
+ export { LazyCartItem, LazyCartSummary, LazySeoCartWidget };
13
+ //# sourceMappingURL=chunk-W47LLQMQ.js.map
14
+ //# sourceMappingURL=chunk-W47LLQMQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/cart/lazy.ts"],"names":[],"mappings":";;;AAMO,IAAM,YAAA,GAAe,IAAA,CAAK,MAAM,OAAO,wBAAY,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,QAAA,GAAW,CAAC;AAE3F,IAAM,eAAA,GAAkB,IAAA;AAAA,EAAK,MAClC,OAAO,2BAAe,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,WAAA,EAAY,CAAE;AAClE;AAEO,IAAM,iBAAA,GAAoB,IAAA;AAAA,EAAK,MACpC,OAAO,6BAAiB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,aAAA,EAAc,CAAE;AACtE","file":"chunk-Q3QX22YI.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded cart components\n * Use these for code-splitting cart sections\n */\nexport const LazyCartItem = lazy(() => import('./CartItem').then((m) => ({ default: m.CartItem })));\n\nexport const LazyCartSummary = lazy(() =>\n import('./CartSummary').then((m) => ({ default: m.CartSummary }))\n);\n\nexport const LazySeoCartWidget = lazy(() =>\n import('./SeoCartWidget').then((m) => ({ default: m.SeoCartWidget }))\n);\n"]}
1
+ {"version":3,"sources":["../src/components/cart/lazy.ts"],"names":[],"mappings":";;;AAMO,IAAM,YAAA,GAAe,IAAA,CAAK,MAAM,OAAO,wBAAY,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,QAAA,GAAW,CAAC;AAE3F,IAAM,eAAA,GAAkB,IAAA;AAAA,EAAK,MAClC,OAAO,2BAAe,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,WAAA,EAAY,CAAE;AAClE;AAEO,IAAM,iBAAA,GAAoB,IAAA;AAAA,EAAK,MACpC,OAAO,6BAAiB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,aAAA,EAAc,CAAE;AACtE","file":"chunk-W47LLQMQ.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded cart components\n * Use these for code-splitting cart sections\n */\nexport const LazyCartItem = lazy(() => import('./CartItem').then((m) => ({ default: m.CartItem })));\n\nexport const LazyCartSummary = lazy(() =>\n import('./CartSummary').then((m) => ({ default: m.CartSummary }))\n);\n\nexport const LazySeoCartWidget = lazy(() =>\n import('./SeoCartWidget').then((m) => ({ default: m.SeoCartWidget }))\n);\n"]}
@@ -1,6 +1,6 @@
1
1
  import { home } from './chunk-P4DUWQU4.js';
2
2
  import { buildHreflangAlternates } from './chunk-TZ3E5BN4.js';
3
- import { HomeComponentRenderer } from './chunk-IXD32BQX.js';
3
+ import { HomeComponentRenderer } from './chunk-RDZGBQV2.js';
4
4
  import { useDevHomeComponentOverrides } from './chunk-2JV6WZ6O.js';
5
5
  import { RouteId } from './chunk-TFB3QXYH.js';
6
6
  import { getTwilightContext } from './chunk-PJWFEMBX.js';
@@ -80,5 +80,5 @@ function head(ctx) {
80
80
  var Home = { id: RouteId.INDEX, loader, head, Component: HomePage };
81
81
 
82
82
  export { Home, HomeSkeleton, homeLoader };
83
- //# sourceMappingURL=chunk-BCHT4NRD.js.map
84
- //# sourceMappingURL=chunk-BCHT4NRD.js.map
83
+ //# sourceMappingURL=chunk-XWX3CIL3.js.map
84
+ //# sourceMappingURL=chunk-XWX3CIL3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/home/loader.ts","../src/routes/home/HomePage.tsx","../src/routes/home/index.tsx"],"names":["HomeSkeleton","HomePage"],"mappings":"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","file":"chunk-BCHT4NRD.js","sourcesContent":["import { getTwilightContext } from '../../twilight/context';\nimport { home } from '../../api/home';\nimport type { HomeComponentData } from '../../types';\nimport { RouteId } from '../../router/route-ids';\n\nexport interface HomeLoaderData {\n locale: string;\n components: HomeComponentData[];\n page: { slug: string };\n}\n\nexport async function homeLoader(ctx?: { locale?: string }): Promise<HomeLoaderData> {\n const { queryClient } = getTwilightContext();\n const components = await queryClient.ensureQueryData(home.queries.components());\n const result = {\n locale: ctx?.locale || 'ar',\n components: components.map((comp) => ({\n ...comp,\n path: comp.path?.replace('home.', '') || comp.path,\n })),\n page: { slug: RouteId.INDEX },\n };\n return result;\n}\n","import { memo } from 'react';\nimport { useDevHomeComponentOverrides } from '../../dev/dev-settings-store';\nimport { HookSlot } from '../../hooks';\nimport { HomeComponentRenderer } from '../../components/home';\nimport type { HomePageProps } from './types';\nimport { Pulse } from '@salla.sa/twilight-components-react';\n\nexport const HomeSkeleton = memo(function HomeSkeleton() {\n return (\n <>\n <div className=\"s-block container skeleton-block-hero\">\n <Pulse className=\"h-64 sm:h-80 rounded-md\" />\n </div>\n <div className=\"s-block container skeleton-block-products\">\n <Pulse className=\"h-10 w-48 mb-4\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <Pulse key={i} className=\"h-56\" />\n ))}\n </div>\n </div>\n <div className=\"s-block container skeleton-block-products\">\n <Pulse className=\"h-10 w-48 mb-4\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <Pulse key={i} className=\"h-56\" />\n ))}\n </div>\n </div>\n </>\n );\n});\n\nexport const HomePage = memo(function HomePage({ components = [] }: HomePageProps) {\n // Dev-mode only: overlay DevSettingsWidget component-field overrides onto the\n // blocks so edits render live. No-op passthrough in production builds.\n const renderedComponents = useDevHomeComponentOverrides(components);\n return (\n <>\n <HookSlot name=\"home:start\" />\n <HookSlot name=\"home:content\" />\n {renderedComponents.map((data, index) => (\n <HomeComponentRenderer key={data.key ?? JSON.stringify(data)} data={data} index={index} />\n ))}\n <HookSlot name=\"home:end\" />\n </>\n );\n});\n\nexport { HomePage as default };\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport type { HomeLoaderData } from './loader';\nimport { homeLoader } from './loader';\nimport type { TwilightContext } from '../../twilight/context';\nimport { HomePage } from './HomePage';\nimport { RouteId } from '../../router/route-ids';\n\nexport { HomeSkeleton } from './HomePage';\nexport { registerHomeComponents, DefaultHomeComponents } from '../../components/home/register';\nexport { registerHomeComponentConfig } from '../../components/home';\nexport type { HomePageProps } from './types';\nexport type { HomeLoaderData } from './loader';\nexport type {\n HomeComponentsProps,\n AnyHomeComponent,\n HomeComponentConfig,\n} from '../../components/home';\n\nfunction loader(_ctx?: { locale?: string }): Promise<HomeLoaderData> {\n return homeLoader({ locale: _ctx?.locale });\n}\n\nfunction head(ctx: TwilightContext): HeadDescriptor {\n const store = ctx.settings?.store;\n if (!store) return {};\n\n const title = store.meta?.title ?? store.name;\n const description = store.meta?.description ?? store.description;\n const keywords = store.meta?.keywords;\n\n return {\n title,\n description,\n keywords,\n canonical: store.url,\n openGraph: {\n type: 'website',\n title,\n description,\n images: store.logo,\n url: store.url,\n },\n twitter: {\n card: 'summary_large_image',\n title,\n description,\n images: store.logo,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n}\n\nexport const Home = { id: RouteId.INDEX, loader, head, Component: HomePage } as const;\n\nexport { homeLoader };\n"]}
1
+ {"version":3,"sources":["../src/routes/home/loader.ts","../src/routes/home/HomePage.tsx","../src/routes/home/index.tsx"],"names":["HomeSkeleton","HomePage"],"mappings":"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","file":"chunk-XWX3CIL3.js","sourcesContent":["import { getTwilightContext } from '../../twilight/context';\nimport { home } from '../../api/home';\nimport type { HomeComponentData } from '../../types';\nimport { RouteId } from '../../router/route-ids';\n\nexport interface HomeLoaderData {\n locale: string;\n components: HomeComponentData[];\n page: { slug: string };\n}\n\nexport async function homeLoader(ctx?: { locale?: string }): Promise<HomeLoaderData> {\n const { queryClient } = getTwilightContext();\n const components = await queryClient.ensureQueryData(home.queries.components());\n const result = {\n locale: ctx?.locale || 'ar',\n components: components.map((comp) => ({\n ...comp,\n path: comp.path?.replace('home.', '') || comp.path,\n })),\n page: { slug: RouteId.INDEX },\n };\n return result;\n}\n","import { memo } from 'react';\nimport { useDevHomeComponentOverrides } from '../../dev/dev-settings-store';\nimport { HookSlot } from '../../hooks';\nimport { HomeComponentRenderer } from '../../components/home';\nimport type { HomePageProps } from './types';\nimport { Pulse } from '@salla.sa/twilight-components-react';\n\nexport const HomeSkeleton = memo(function HomeSkeleton() {\n return (\n <>\n <div className=\"s-block container skeleton-block-hero\">\n <Pulse className=\"h-64 sm:h-80 rounded-md\" />\n </div>\n <div className=\"s-block container skeleton-block-products\">\n <Pulse className=\"h-10 w-48 mb-4\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <Pulse key={i} className=\"h-56\" />\n ))}\n </div>\n </div>\n <div className=\"s-block container skeleton-block-products\">\n <Pulse className=\"h-10 w-48 mb-4\" />\n <div className=\"grid grid-cols-2 sm:grid-cols-4 gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <Pulse key={i} className=\"h-56\" />\n ))}\n </div>\n </div>\n </>\n );\n});\n\nexport const HomePage = memo(function HomePage({ components = [] }: HomePageProps) {\n // Dev-mode only: overlay DevSettingsWidget component-field overrides onto the\n // blocks so edits render live. No-op passthrough in production builds.\n const renderedComponents = useDevHomeComponentOverrides(components);\n return (\n <>\n <HookSlot name=\"home:start\" />\n <HookSlot name=\"home:content\" />\n {renderedComponents.map((data, index) => (\n <HomeComponentRenderer key={data.key ?? JSON.stringify(data)} data={data} index={index} />\n ))}\n <HookSlot name=\"home:end\" />\n </>\n );\n});\n\nexport { HomePage as default };\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport type { HomeLoaderData } from './loader';\nimport { homeLoader } from './loader';\nimport type { TwilightContext } from '../../twilight/context';\nimport { HomePage } from './HomePage';\nimport { RouteId } from '../../router/route-ids';\n\nexport { HomeSkeleton } from './HomePage';\nexport { registerHomeComponents, DefaultHomeComponents } from '../../components/home/register';\nexport { registerHomeComponentConfig } from '../../components/home';\nexport type { HomePageProps } from './types';\nexport type { HomeLoaderData } from './loader';\nexport type {\n HomeComponentsProps,\n AnyHomeComponent,\n HomeComponentConfig,\n} from '../../components/home';\n\nfunction loader(_ctx?: { locale?: string }): Promise<HomeLoaderData> {\n return homeLoader({ locale: _ctx?.locale });\n}\n\nfunction head(ctx: TwilightContext): HeadDescriptor {\n const store = ctx.settings?.store;\n if (!store) return {};\n\n const title = store.meta?.title ?? store.name;\n const description = store.meta?.description ?? store.description;\n const keywords = store.meta?.keywords;\n\n return {\n title,\n description,\n keywords,\n canonical: store.url,\n openGraph: {\n type: 'website',\n title,\n description,\n images: store.logo,\n url: store.url,\n },\n twitter: {\n card: 'summary_large_image',\n title,\n description,\n images: store.logo,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n}\n\nexport const Home = { id: RouteId.INDEX, loader, head, Component: HomePage } as const;\n\nexport { homeLoader };\n"]}
@@ -1,4 +1,4 @@
1
- export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-Q3QX22YI.js';
1
+ export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-W47LLQMQ.js';
2
2
  import '../../chunk-DGUM43GV.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { BlogSkeleton, LazyBreadcrumb as Breadcrumb, BreadcrumbSkeleton, LazyCurrencySymbol as CurrencySymbol, CustomerLayoutSkeleton, CustomerPageSkeleton, DeferredData, LazyErrorPage as ErrorPage, Image, LazyNoContent as NoContent, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, LazyRenderWhenVisible as RenderWhenVisible, SkeletonPulse, resolveDeferred } from '../../chunk-6DH255C3.js';
1
+ export { BlogSkeleton, LazyBreadcrumb as Breadcrumb, BreadcrumbSkeleton, LazyCurrencySymbol as CurrencySymbol, CustomerLayoutSkeleton, CustomerPageSkeleton, DeferredData, LazyErrorPage as ErrorPage, Image, LazyNoContent as NoContent, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, LazyRenderWhenVisible as RenderWhenVisible, SkeletonPulse, resolveDeferred } from '../../chunk-432ES3JQ.js';
2
2
  export { Link } from '../../chunk-AXW67SY7.js';
3
3
  import '../../chunk-BYMOPN2S.js';
4
4
  import '../../chunk-SKLEJJ6M.js';
@@ -1,6 +1,6 @@
1
1
  export { Drawer } from '../../chunk-6TKIUG5C.js';
2
- import '../../chunk-GLKBT6N6.js';
3
- import '../../chunk-7ANJ7LGZ.js';
2
+ import '../../chunk-UWARGCDU.js';
3
+ import '../../chunk-6AWFKGVQ.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-6IATCGID.js';
@@ -31,7 +31,7 @@ import '../../chunk-YMVLYYLU.js';
31
31
  import '../../chunk-RJPPO3ET.js';
32
32
  import '../../chunk-Q7VWURUR.js';
33
33
  import '../../chunk-GU2KUQVD.js';
34
- import '../../chunk-6DH255C3.js';
34
+ import '../../chunk-432ES3JQ.js';
35
35
  import '../../chunk-AXW67SY7.js';
36
36
  import '../../chunk-BYMOPN2S.js';
37
37
  import '../../chunk-SKLEJJ6M.js';
@@ -1,9 +1,9 @@
1
- export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, ParallaxBackground, PhotosSlider, ProductsSlider, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents } from '../../chunk-IXD32BQX.js';
1
+ export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, ParallaxBackground, PhotosSlider, ProductsSlider, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents } from '../../chunk-RDZGBQV2.js';
2
2
  import '../../chunk-BVB75J3R.js';
3
- import '../../chunk-3NSG3KI6.js';
3
+ import '../../chunk-NNHATSNT.js';
4
4
  import '../../chunk-342EPVXN.js';
5
- import '../../chunk-GLKBT6N6.js';
6
- import '../../chunk-7ANJ7LGZ.js';
5
+ import '../../chunk-UWARGCDU.js';
6
+ import '../../chunk-6AWFKGVQ.js';
7
7
  import '../../chunk-JKIRRMBU.js';
8
8
  import '../../chunk-2JV6WZ6O.js';
9
9
  import '../../chunk-6IATCGID.js';
@@ -34,7 +34,7 @@ import '../../chunk-YMVLYYLU.js';
34
34
  import '../../chunk-RJPPO3ET.js';
35
35
  import '../../chunk-Q7VWURUR.js';
36
36
  import '../../chunk-GU2KUQVD.js';
37
- import '../../chunk-6DH255C3.js';
37
+ import '../../chunk-432ES3JQ.js';
38
38
  import '../../chunk-AXW67SY7.js';
39
39
  import '../../chunk-BYMOPN2S.js';
40
40
  import '../../chunk-SKLEJJ6M.js';
@@ -5,19 +5,19 @@ import '../../chunk-DF6FBKDN.js';
5
5
  import '../../chunk-DGUM43GV.js';
6
6
  import { lazy } from 'react';
7
7
 
8
- var LazyHeader = lazy(() => import('../../Header-JMWCXZHK.js').then((m) => ({ default: m.Header })));
9
- var LazyFooter = lazy(() => import('../../Footer-M7LJ64A6.js').then((m) => ({ default: m.Footer })));
8
+ var LazyHeader = lazy(() => import('../../Header-W6VC7PTE.js').then((m) => ({ default: m.Header })));
9
+ var LazyFooter = lazy(() => import('../../Footer-DCTNLPPN.js').then((m) => ({ default: m.Footer })));
10
10
  var LazyCopyright = lazy(
11
- () => import('../../Copyright-CEYZUB3X.js').then((m) => ({ default: m.Copyright }))
11
+ () => import('../../Copyright-3IGLQC4G.js').then((m) => ({ default: m.Copyright }))
12
12
  );
13
13
  var LazyMasterLayout = lazy(
14
- () => import('../../MasterLayout-F3FXWM67.js').then((m) => ({ default: m.MasterLayout }))
14
+ () => import('../../MasterLayout-VEVLL4PF.js').then((m) => ({ default: m.MasterLayout }))
15
15
  );
16
16
  var LazyWidgetHead = lazy(
17
17
  () => import('../../WidgetHead-RWL7D3CT.js').then((m) => ({ default: m.WidgetHead }))
18
18
  );
19
19
  var LazyCustomerLayout = lazy(
20
- () => import('../../CustomerLayout-3TIIQDQ2.js').then((m) => ({ default: m.CustomerLayout }))
20
+ () => import('../../CustomerLayout-74KVJNOT.js').then((m) => ({ default: m.CustomerLayout }))
21
21
  );
22
22
 
23
23
  export { LazyCopyright as Copyright, LazyCustomerLayout as CustomerLayout, LazyFooter as Footer, LazyHeader as Header, LazyMasterLayout as MasterLayout, LazyWidgetHead as WidgetHead };
@@ -1,7 +1,7 @@
1
- export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-3NSG3KI6.js';
1
+ export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-NNHATSNT.js';
2
2
  import '../../chunk-342EPVXN.js';
3
- import '../../chunk-GLKBT6N6.js';
4
- import '../../chunk-7ANJ7LGZ.js';
3
+ import '../../chunk-UWARGCDU.js';
4
+ import '../../chunk-6AWFKGVQ.js';
5
5
  import '../../chunk-JKIRRMBU.js';
6
6
  import '../../chunk-2JV6WZ6O.js';
7
7
  import '../../chunk-6IATCGID.js';
@@ -32,7 +32,7 @@ import '../../chunk-YMVLYYLU.js';
32
32
  import '../../chunk-RJPPO3ET.js';
33
33
  import '../../chunk-Q7VWURUR.js';
34
34
  import '../../chunk-GU2KUQVD.js';
35
- import '../../chunk-6DH255C3.js';
35
+ import '../../chunk-432ES3JQ.js';
36
36
  import '../../chunk-AXW67SY7.js';
37
37
  import '../../chunk-BYMOPN2S.js';
38
38
  import '../../chunk-SKLEJJ6M.js';
@@ -1,6 +1,6 @@
1
- export { StoreClosedNotification } from '../../chunk-ZFLU5EKG.js';
2
- import '../../chunk-GLKBT6N6.js';
3
- import '../../chunk-7ANJ7LGZ.js';
1
+ export { StoreClosedNotification } from '../../chunk-3QANNFFL.js';
2
+ import '../../chunk-UWARGCDU.js';
3
+ import '../../chunk-6AWFKGVQ.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-6IATCGID.js';
@@ -31,7 +31,7 @@ import '../../chunk-YMVLYYLU.js';
31
31
  import '../../chunk-RJPPO3ET.js';
32
32
  import '../../chunk-Q7VWURUR.js';
33
33
  import '../../chunk-GU2KUQVD.js';
34
- import '../../chunk-6DH255C3.js';
34
+ import '../../chunk-432ES3JQ.js';
35
35
  import '../../chunk-AXW67SY7.js';
36
36
  import '../../chunk-BYMOPN2S.js';
37
37
  import '../../chunk-SKLEJJ6M.js';
@@ -45,7 +45,7 @@ import '../../chunk-DGUM43GV.js';
45
45
  import { lazy } from 'react';
46
46
 
47
47
  var LazyStoreClosedNotification = lazy(
48
- () => import('../../StoreClosedNotification-ZADX6XF6.js').then((m) => ({
48
+ () => import('../../StoreClosedNotification-M4YIKJ4H.js').then((m) => ({
49
49
  default: m.StoreClosedNotification
50
50
  }))
51
51
  );
@@ -1,4 +1,4 @@
1
- export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-VDBTF3WC.js';
1
+ export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-MLTQIIIO.js';
2
2
  import './chunk-Z4Y55HWX.js';
3
3
  import './chunk-4D44TJ72.js';
4
4
  import './chunk-R6M6RM6U.js';
@@ -22,5 +22,5 @@ import './chunk-TYNZ5B2B.js';
22
22
  import './chunk-T72DAX7R.js';
23
23
  import './chunk-DF6FBKDN.js';
24
24
  import './chunk-DGUM43GV.js';
25
- //# sourceMappingURL=document-class-OCA75GGE.js.map
26
- //# sourceMappingURL=document-class-OCA75GGE.js.map
25
+ //# sourceMappingURL=document-class-5XQDDNM4.js.map
26
+ //# sourceMappingURL=document-class-5XQDDNM4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-OCA75GGE.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-5XQDDNM4.js"}
@@ -1,5 +1,5 @@
1
- export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-GLKBT6N6.js';
2
- import '../chunk-7ANJ7LGZ.js';
1
+ export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-UWARGCDU.js';
2
+ import '../chunk-6AWFKGVQ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ export { useComments } from '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  export { HookSlot, useIsClient } from '../chunk-Q7VWURUR.js';
32
32
  export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GU2KUQVD.js';
33
- import '../chunk-6DH255C3.js';
33
+ import '../chunk-432ES3JQ.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,5 +1,5 @@
1
- export { useGtm } from '../chunk-GLKBT6N6.js';
2
- import '../chunk-7ANJ7LGZ.js';
1
+ export { useGtm } from '../chunk-UWARGCDU.js';
2
+ import '../chunk-6AWFKGVQ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-6DH255C3.js';
33
+ import '../chunk-432ES3JQ.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,5 +1,5 @@
1
- export { useMoney } from '../chunk-GLKBT6N6.js';
2
- import '../chunk-7ANJ7LGZ.js';
1
+ export { useMoney } from '../chunk-UWARGCDU.js';
2
+ import '../chunk-6AWFKGVQ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-6DH255C3.js';
33
+ import '../chunk-432ES3JQ.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,5 +1,5 @@
1
- export { useStore } from '../chunk-GLKBT6N6.js';
2
- import '../chunk-7ANJ7LGZ.js';
1
+ export { useStore } from '../chunk-UWARGCDU.js';
2
+ import '../chunk-6AWFKGVQ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-6DH255C3.js';
33
+ import '../chunk-432ES3JQ.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  import '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { registry } from './chunk-342EPVXN.js';
2
2
  export { ComponentRegistry, registry } from './chunk-342EPVXN.js';
3
- export { TwilightProvider } from './chunk-GLKBT6N6.js';
4
- import './chunk-7ANJ7LGZ.js';
3
+ export { TwilightProvider } from './chunk-UWARGCDU.js';
4
+ import './chunk-6AWFKGVQ.js';
5
5
  import './chunk-JKIRRMBU.js';
6
6
  import './chunk-2JV6WZ6O.js';
7
7
  import './chunk-6IATCGID.js';
@@ -32,7 +32,7 @@ import './chunk-YMVLYYLU.js';
32
32
  import './chunk-RJPPO3ET.js';
33
33
  import './chunk-Q7VWURUR.js';
34
34
  import './chunk-GU2KUQVD.js';
35
- import './chunk-6DH255C3.js';
35
+ import './chunk-432ES3JQ.js';
36
36
  import './chunk-AXW67SY7.js';
37
37
  import './chunk-BYMOPN2S.js';
38
38
  import './chunk-SKLEJJ6M.js';
@@ -1,6 +1,6 @@
1
1
  import { product } from './chunk-BVB75J3R.js';
2
- import './chunk-GLKBT6N6.js';
3
- import './chunk-7ANJ7LGZ.js';
2
+ import './chunk-UWARGCDU.js';
3
+ import './chunk-6AWFKGVQ.js';
4
4
  import './chunk-JKIRRMBU.js';
5
5
  import './chunk-2JV6WZ6O.js';
6
6
  import './chunk-6IATCGID.js';
@@ -31,7 +31,7 @@ import './chunk-YMVLYYLU.js';
31
31
  import './chunk-RJPPO3ET.js';
32
32
  import { HookSlot } from './chunk-Q7VWURUR.js';
33
33
  import './chunk-GU2KUQVD.js';
34
- import { LazyErrorPage } from './chunk-6DH255C3.js';
34
+ import { LazyErrorPage } from './chunk-432ES3JQ.js';
35
35
  import './chunk-AXW67SY7.js';
36
36
  import './chunk-BYMOPN2S.js';
37
37
  import './chunk-SKLEJJ6M.js';
@@ -117,5 +117,5 @@ function NotFoundPage(props = {}) {
117
117
  }
118
118
 
119
119
  export { NotFoundPage };
120
- //# sourceMappingURL=not-found-RM4AHY6T.js.map
121
- //# sourceMappingURL=not-found-RM4AHY6T.js.map
120
+ //# sourceMappingURL=not-found-2RH5NUXW.js.map
121
+ //# sourceMappingURL=not-found-2RH5NUXW.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-RM4AHY6T.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-2RH5NUXW.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-GLKBT6N6.js';
2
- import '../chunk-7ANJ7LGZ.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-UWARGCDU.js';
2
+ import '../chunk-6AWFKGVQ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
@@ -30,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
30
30
  import '../chunk-RJPPO3ET.js';
31
31
  import '../chunk-Q7VWURUR.js';
32
32
  import '../chunk-GU2KUQVD.js';
33
- import '../chunk-6DH255C3.js';
33
+ import '../chunk-432ES3JQ.js';
34
34
  import '../chunk-AXW67SY7.js';
35
35
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
36
36
  import '../chunk-SKLEJJ6M.js';
@@ -1,4 +1,4 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-57ZYZKCD.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-N2ZIFYEG.js';
2
2
  import '../../chunk-QM75GGXX.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-63GHZIAG.js';
@@ -1,5 +1,5 @@
1
1
  import { wallet } from '../chunk-PZL3JWM2.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-57ZYZKCD.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-N2ZIFYEG.js';
3
3
  import '../chunk-QM75GGXX.js';
4
4
  import { notification } from '../chunk-MENDTTOA.js';
5
5
  import { wishlist } from '../chunk-7XBSSGRK.js';
@@ -30,7 +30,7 @@ async function profileLoader(_ctx) {
30
30
 
31
31
  // src/routes/account/profile/index.tsx
32
32
  var LazyProfilePage = lazy(
33
- () => import('../ProfilePage-UCPWBRSG.js').then((m) => ({ default: m.ProfilePage }))
33
+ () => import('../ProfilePage-WRQOBQL7.js').then((m) => ({ default: m.ProfilePage }))
34
34
  );
35
35
  var ProfilePage = LazyProfilePage;
36
36
  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-KEWT7Y5L.js').then((m) => ({ default: m.WishlistPage }))
74
+ () => import('../WishlistPage-UZLWR4MV.js').then((m) => ({ default: m.WishlistPage }))
75
75
  );
76
76
  var WishlistPage = LazyWishlistPage;
77
77
  var Wishlist = {
@@ -112,7 +112,7 @@ async function walletLoader(ctx) {
112
112
  }
113
113
 
114
114
  // src/routes/account/wallet/index.tsx
115
- var LazyWalletPage = lazy(() => import('../WalletPage-OUCUFTEH.js').then((m) => ({ default: m.WalletPage })));
115
+ var LazyWalletPage = lazy(() => import('../WalletPage-KT3OPTVS.js').then((m) => ({ default: m.WalletPage })));
116
116
  var WalletPage = LazyWalletPage;
117
117
  var Wallet = {
118
118
  id: RouteId.CUSTOMER_WALLET,
@@ -147,7 +147,7 @@ async function notificationsLoader(_ctx) {
147
147
 
148
148
  // src/routes/account/notifications/index.tsx
149
149
  var LazyNotificationsPage = lazy(
150
- () => import('../NotificationsPage-BYVSEORE.js').then((m) => ({ default: m.NotificationsPage }))
150
+ () => import('../NotificationsPage-JM45A53H.js').then((m) => ({ default: m.NotificationsPage }))
151
151
  );
152
152
  var NotificationsPage = LazyNotificationsPage;
153
153
  var Notifications = {
@@ -179,7 +179,7 @@ async function settingsLoader(_ctx) {
179
179
 
180
180
  // src/routes/account/settings/index.tsx
181
181
  var LazySettingsPage = lazy(
182
- () => import('../SettingsPage-KUMSRMDA.js').then((m) => ({ default: m.SettingsPage }))
182
+ () => import('../SettingsPage-JF5TRNRB.js').then((m) => ({ default: m.SettingsPage }))
183
183
  );
184
184
  var SettingsPage = LazySettingsPage;
185
185
  var Settings = {
@@ -134,18 +134,18 @@ async function blogTagLoader({
134
134
  }
135
135
 
136
136
  // src/routes/blog/index.tsx
137
- var LazyBlogPage = lazy(() => import('../BlogPage-AJF5L5JE.js').then((m) => ({ default: m.BlogPage })));
137
+ var LazyBlogPage = lazy(() => import('../BlogPage-IRNGKPXP.js').then((m) => ({ default: m.BlogPage })));
138
138
  var LazyBlogSinglePage = lazy(
139
- () => import('../BlogSinglePage-GPC7G5RZ.js').then((m) => ({ default: m.BlogSinglePage }))
139
+ () => import('../BlogSinglePage-LFYBQXGO.js').then((m) => ({ default: m.BlogSinglePage }))
140
140
  );
141
141
  var LazyBlogAuthorPage = lazy(
142
- () => import('../BlogAuthorPage-SPCVIGER.js').then((m) => ({ default: m.BlogAuthorPage }))
142
+ () => import('../BlogAuthorPage-F74XVWRK.js').then((m) => ({ default: m.BlogAuthorPage }))
143
143
  );
144
144
  var LazyBlogCategoryPage = lazy(
145
- () => import('../BlogCategoryPage-2R2U4UVZ.js').then((m) => ({ default: m.BlogCategoryPage }))
145
+ () => import('../BlogCategoryPage-GRGIQQJT.js').then((m) => ({ default: m.BlogCategoryPage }))
146
146
  );
147
147
  var LazyBlogTagPage = lazy(
148
- () => import('../BlogTagPage-SZPOZKYO.js').then((m) => ({ default: m.BlogTagPage }))
148
+ () => import('../BlogTagPage-TXKFU2AJ.js').then((m) => ({ default: m.BlogTagPage }))
149
149
  );
150
150
  var BlogPage = LazyBlogPage;
151
151
  var BlogSinglePage = LazyBlogSinglePage;
@@ -34,7 +34,7 @@ async function brandsLoader() {
34
34
  }
35
35
 
36
36
  // src/routes/brands/index.tsx
37
- var LazyBrandsPage = lazy(() => import('../BrandsPage-7XTWLCMP.js').then((m) => ({ default: m.BrandsPage })));
37
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-F6JUSZ6B.js').then((m) => ({ default: m.BrandsPage })));
38
38
  var BrandsPage = LazyBrandsPage;
39
39
  async function brandsLoaderWithExtend(_ctx, extend) {
40
40
  const data = await brandsLoader();
@@ -1,16 +1,16 @@
1
1
  import { cart } from '../chunk-QBIW266S.js';
2
2
  import { loyalty } from '../chunk-62SHHET3.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-BCHT4NRD.js';
4
+ import '../chunk-XWX3CIL3.js';
5
5
  import '../chunk-P4DUWQU4.js';
6
6
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
7
- import '../chunk-IXD32BQX.js';
7
+ import '../chunk-RDZGBQV2.js';
8
8
  import '../chunk-BVB75J3R.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-Q3QX22YI.js';
10
- import '../chunk-3NSG3KI6.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-W47LLQMQ.js';
10
+ import '../chunk-NNHATSNT.js';
11
11
  import '../chunk-342EPVXN.js';
12
- import '../chunk-GLKBT6N6.js';
13
- import '../chunk-7ANJ7LGZ.js';
12
+ import '../chunk-UWARGCDU.js';
13
+ import '../chunk-6AWFKGVQ.js';
14
14
  import '../chunk-JKIRRMBU.js';
15
15
  import '../chunk-2JV6WZ6O.js';
16
16
  import '../chunk-6IATCGID.js';
@@ -41,7 +41,7 @@ import '../chunk-YMVLYYLU.js';
41
41
  import '../chunk-RJPPO3ET.js';
42
42
  import { HookSlot } from '../chunk-Q7VWURUR.js';
43
43
  import '../chunk-GU2KUQVD.js';
44
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-6DH255C3.js';
44
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-432ES3JQ.js';
45
45
  import '../chunk-AXW67SY7.js';
46
46
  import '../chunk-BYMOPN2S.js';
47
47
  import '../chunk-SKLEJJ6M.js';
@@ -1,12 +1,12 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-BCHT4NRD.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-XWX3CIL3.js';
2
2
  import '../chunk-P4DUWQU4.js';
3
3
  import '../chunk-TZ3E5BN4.js';
4
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-IXD32BQX.js';
4
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-RDZGBQV2.js';
5
5
  import '../chunk-BVB75J3R.js';
6
- import '../chunk-3NSG3KI6.js';
6
+ import '../chunk-NNHATSNT.js';
7
7
  import '../chunk-342EPVXN.js';
8
- import '../chunk-GLKBT6N6.js';
9
- import '../chunk-7ANJ7LGZ.js';
8
+ import '../chunk-UWARGCDU.js';
9
+ import '../chunk-6AWFKGVQ.js';
10
10
  import '../chunk-JKIRRMBU.js';
11
11
  import '../chunk-2JV6WZ6O.js';
12
12
  import '../chunk-6IATCGID.js';
@@ -37,7 +37,7 @@ import '../chunk-YMVLYYLU.js';
37
37
  import '../chunk-RJPPO3ET.js';
38
38
  import '../chunk-Q7VWURUR.js';
39
39
  import '../chunk-GU2KUQVD.js';
40
- import '../chunk-6DH255C3.js';
40
+ import '../chunk-432ES3JQ.js';
41
41
  import '../chunk-AXW67SY7.js';
42
42
  import '../chunk-BYMOPN2S.js';
43
43
  import '../chunk-SKLEJJ6M.js';
@@ -19,7 +19,7 @@ async function loyaltyLoader() {
19
19
 
20
20
  // src/routes/loyalty/index.tsx
21
21
  var LazyLoyaltyPage = lazy(
22
- () => import('../LoyaltyPage-KRXUKUFF.js').then((m) => ({ default: m.LoyaltyPage }))
22
+ () => import('../LoyaltyPage-TQC5TUGS.js').then((m) => ({ default: m.LoyaltyPage }))
23
23
  );
24
24
  var LoyaltyPage = LazyLoyaltyPage;
25
25
  async function loader(_ctx, extend) {
@@ -28,7 +28,7 @@ async function pageSingleLoader({ params }) {
28
28
  }
29
29
 
30
30
  // src/routes/page/index.tsx
31
- var LazyPageSingle = lazy(() => import('../PageSingle-GOR4L2V6.js').then((m) => ({ default: m.PageSingle })));
31
+ var LazyPageSingle = lazy(() => import('../PageSingle-D35HG6RP.js').then((m) => ({ default: m.PageSingle })));
32
32
  var PageSingleLazy = LazyPageSingle;
33
33
  async function loader(ctx, extend) {
34
34
  const data = await pageSingleLoader({ params: ctx.params });
@@ -2,13 +2,13 @@ import { sortOptions } from '../chunk-6Z4MOC4S.js';
2
2
  import { category } from '../chunk-A2ZO3IR7.js';
3
3
  import { brand } from '../chunk-XEQ6ILIP.js';
4
4
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
5
- import { LazyTestimonials } from '../chunk-IXD32BQX.js';
5
+ import { LazyTestimonials } from '../chunk-RDZGBQV2.js';
6
6
  import { product } from '../chunk-BVB75J3R.js';
7
7
  import { Drawer } from '../chunk-6TKIUG5C.js';
8
- import { ProductCard } from '../chunk-3NSG3KI6.js';
8
+ import { ProductCard } from '../chunk-NNHATSNT.js';
9
9
  import '../chunk-342EPVXN.js';
10
- import { useStore } from '../chunk-GLKBT6N6.js';
11
- import '../chunk-7ANJ7LGZ.js';
10
+ import { useStore } from '../chunk-UWARGCDU.js';
11
+ import '../chunk-6AWFKGVQ.js';
12
12
  import '../chunk-JKIRRMBU.js';
13
13
  import '../chunk-2JV6WZ6O.js';
14
14
  import '../chunk-6IATCGID.js';
@@ -39,7 +39,7 @@ import '../chunk-YMVLYYLU.js';
39
39
  import '../chunk-RJPPO3ET.js';
40
40
  import { HookSlot } from '../chunk-Q7VWURUR.js';
41
41
  import '../chunk-GU2KUQVD.js';
42
- import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-6DH255C3.js';
42
+ import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-432ES3JQ.js';
43
43
  import '../chunk-AXW67SY7.js';
44
44
  import '../chunk-BYMOPN2S.js';
45
45
  import '../chunk-SKLEJJ6M.js';