@salla.sa/twilight-theme-engine 1.0.78 → 1.0.79

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 (145) hide show
  1. package/dist/{AddToCartForm-54HRWC3X.js → AddToCartForm-J3CS23XW.js} +3 -3
  2. package/dist/{AddToCartForm-54HRWC3X.js.map → AddToCartForm-J3CS23XW.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-JX3B3PAH.js → BlogAuthorPage-FDRXR6LU.js} +8 -8
  4. package/dist/{BlogAuthorPage-JX3B3PAH.js.map → BlogAuthorPage-FDRXR6LU.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-3AMIT55T.js → BlogCategoryPage-D6I67ZSY.js} +8 -8
  6. package/dist/{BlogCategoryPage-3AMIT55T.js.map → BlogCategoryPage-D6I67ZSY.js.map} +1 -1
  7. package/dist/{BlogPage-QXJFRLLI.js → BlogPage-YZL7QTUZ.js} +6 -6
  8. package/dist/{BlogPage-QXJFRLLI.js.map → BlogPage-YZL7QTUZ.js.map} +1 -1
  9. package/dist/{BlogSinglePage-TGK3EW67.js → BlogSinglePage-GU4LRT5F.js} +5 -5
  10. package/dist/{BlogSinglePage-TGK3EW67.js.map → BlogSinglePage-GU4LRT5F.js.map} +1 -1
  11. package/dist/{BlogTagPage-CH34K6U3.js → BlogTagPage-3FMXVXQY.js} +8 -8
  12. package/dist/{BlogTagPage-CH34K6U3.js.map → BlogTagPage-3FMXVXQY.js.map} +1 -1
  13. package/dist/{BrandsPage-4OG5ISYQ.js → BrandsPage-W4H6L42Z.js} +5 -5
  14. package/dist/{BrandsPage-4OG5ISYQ.js.map → BrandsPage-W4H6L42Z.js.map} +1 -1
  15. package/dist/{Breadcrumb-FOOZHQ6F.js → Breadcrumb-4A6J7UJC.js} +5 -5
  16. package/dist/{Breadcrumb-FOOZHQ6F.js.map → Breadcrumb-4A6J7UJC.js.map} +1 -1
  17. package/dist/{CartItem-ZGGYYV3L.js → CartItem-37OQN3K5.js} +5 -5
  18. package/dist/{CartItem-ZGGYYV3L.js.map → CartItem-37OQN3K5.js.map} +1 -1
  19. package/dist/{CartSummary-OZWJKA7L.js → CartSummary-IEITPBV2.js} +5 -5
  20. package/dist/{CartSummary-OZWJKA7L.js.map → CartSummary-IEITPBV2.js.map} +1 -1
  21. package/dist/{Copyright-VU3DD7SP.js → Copyright-CKMFR573.js} +3 -3
  22. package/dist/{Copyright-VU3DD7SP.js.map → Copyright-CKMFR573.js.map} +1 -1
  23. package/dist/{CustomerLayout-OAYEDCLZ.js → CustomerLayout-CBONIGEN.js} +5 -5
  24. package/dist/{CustomerLayout-OAYEDCLZ.js.map → CustomerLayout-CBONIGEN.js.map} +1 -1
  25. package/dist/{Footer-TSG6JFZ5.js → Footer-RDLKZAB5.js} +5 -5
  26. package/dist/{Footer-TSG6JFZ5.js.map → Footer-RDLKZAB5.js.map} +1 -1
  27. package/dist/{Header-LIRGCVD3.js → Header-QKIAQZY6.js} +4 -4
  28. package/dist/{Header-LIRGCVD3.js.map → Header-QKIAQZY6.js.map} +1 -1
  29. package/dist/{LoyaltyPage-2Y277GGL.js → LoyaltyPage-AEHQR7FW.js} +5 -5
  30. package/dist/{LoyaltyPage-2Y277GGL.js.map → LoyaltyPage-AEHQR7FW.js.map} +1 -1
  31. package/dist/{LoyaltyPointsPage-CG2GTB56.js → LoyaltyPointsPage-2CO73G3Y.js} +3 -3
  32. package/dist/{LoyaltyPointsPage-CG2GTB56.js.map → LoyaltyPointsPage-2CO73G3Y.js.map} +1 -1
  33. package/dist/{MainMenu-QRFSHHDS.js → MainMenu-JUZXIVPZ.js} +3 -3
  34. package/dist/{MainMenu-QRFSHHDS.js.map → MainMenu-JUZXIVPZ.js.map} +1 -1
  35. package/dist/{MasterLayout-N4W5RMXN.js → MasterLayout-HMB5U7PF.js} +5 -5
  36. package/dist/{MasterLayout-N4W5RMXN.js.map → MasterLayout-HMB5U7PF.js.map} +1 -1
  37. package/dist/{MobileMenu-VDEAQVV7.js → MobileMenu-ZT3B2KHL.js} +5 -5
  38. package/dist/{MobileMenu-VDEAQVV7.js.map → MobileMenu-ZT3B2KHL.js.map} +1 -1
  39. package/dist/{NotificationsPage-WIZ4KMLE.js → NotificationsPage-KBYATMFP.js} +5 -5
  40. package/dist/{NotificationsPage-WIZ4KMLE.js.map → NotificationsPage-KBYATMFP.js.map} +1 -1
  41. package/dist/{OrderSinglePage-2SPAUVKK.js → OrderSinglePage-635IFE4I.js} +5 -5
  42. package/dist/{OrderSinglePage-2SPAUVKK.js.map → OrderSinglePage-635IFE4I.js.map} +1 -1
  43. package/dist/{OrdersPage-Q4IFEZRW.js → OrdersPage-4RZVEP3S.js} +5 -5
  44. package/dist/{OrdersPage-Q4IFEZRW.js.map → OrdersPage-4RZVEP3S.js.map} +1 -1
  45. package/dist/{PageSingle-MJ36XD2U.js → PageSingle-76JU6EU5.js} +3 -3
  46. package/dist/{PageSingle-MJ36XD2U.js.map → PageSingle-76JU6EU5.js.map} +1 -1
  47. package/dist/{ProductDetails-CQFKXECD.js → ProductDetails-TIAPK27I.js} +3 -3
  48. package/dist/{ProductDetails-CQFKXECD.js.map → ProductDetails-TIAPK27I.js.map} +1 -1
  49. package/dist/{ProfilePage-GG2R7VAB.js → ProfilePage-QEFAXPZV.js} +5 -5
  50. package/dist/{ProfilePage-GG2R7VAB.js.map → ProfilePage-QEFAXPZV.js.map} +1 -1
  51. package/dist/{ReviewsPage-VQF6L27O.js → ReviewsPage-AZHBXIUP.js} +3 -3
  52. package/dist/{ReviewsPage-VQF6L27O.js.map → ReviewsPage-AZHBXIUP.js.map} +1 -1
  53. package/dist/{SeoCartWidget-CAM67YDG.js → SeoCartWidget-OUXZTAJZ.js} +5 -5
  54. package/dist/{SeoCartWidget-CAM67YDG.js.map → SeoCartWidget-OUXZTAJZ.js.map} +1 -1
  55. package/dist/{SettingsPage-T6PFRFYO.js → SettingsPage-ZLVMU4UZ.js} +5 -5
  56. package/dist/{SettingsPage-T6PFRFYO.js.map → SettingsPage-ZLVMU4UZ.js.map} +1 -1
  57. package/dist/{StoreClosedNotification-GFCTOI7N.js → StoreClosedNotification-W6ZKXD3D.js} +6 -6
  58. package/dist/{StoreClosedNotification-GFCTOI7N.js.map → StoreClosedNotification-W6ZKXD3D.js.map} +1 -1
  59. package/dist/{TestimonialsPage-LKSRXIOK.js → TestimonialsPage-NILBDDQU.js} +3 -3
  60. package/dist/{TestimonialsPage-LKSRXIOK.js.map → TestimonialsPage-NILBDDQU.js.map} +1 -1
  61. package/dist/{ThankYouPage-FIZ6XDS7.js → ThankYouPage-63TQ4W6P.js} +5 -5
  62. package/dist/{ThankYouPage-FIZ6XDS7.js.map → ThankYouPage-63TQ4W6P.js.map} +1 -1
  63. package/dist/{WalletPage-3VUXXMTC.js → WalletPage-NJNLNAYG.js} +5 -5
  64. package/dist/{WalletPage-3VUXXMTC.js.map → WalletPage-NJNLNAYG.js.map} +1 -1
  65. package/dist/{WishlistPage-73Q47YZ5.js → WishlistPage-U5UEQHT3.js} +5 -5
  66. package/dist/{WishlistPage-73Q47YZ5.js.map → WishlistPage-U5UEQHT3.js.map} +1 -1
  67. package/dist/{chunk-7Q2DA236.js → chunk-2XBG6OZE.js} +7 -7
  68. package/dist/{chunk-7Q2DA236.js.map → chunk-2XBG6OZE.js.map} +1 -1
  69. package/dist/{chunk-BJ5OXLWT.js → chunk-BFRPOINI.js} +34 -26
  70. package/dist/chunk-BFRPOINI.js.map +1 -0
  71. package/dist/{chunk-LD6AZSPT.js → chunk-DML565ED.js} +3 -3
  72. package/dist/{chunk-LD6AZSPT.js.map → chunk-DML565ED.js.map} +1 -1
  73. package/dist/{chunk-QVFVPVPU.js → chunk-HKYZDYFS.js} +3 -3
  74. package/dist/{chunk-QVFVPVPU.js.map → chunk-HKYZDYFS.js.map} +1 -1
  75. package/dist/{chunk-RYFIWQ6L.js → chunk-KEZMQRKI.js} +12 -3
  76. package/dist/chunk-KEZMQRKI.js.map +1 -0
  77. package/dist/{chunk-6OC3LPYW.js → chunk-O5DM3ZLV.js} +5 -5
  78. package/dist/{chunk-6OC3LPYW.js.map → chunk-O5DM3ZLV.js.map} +1 -1
  79. package/dist/{chunk-AI2FG4XM.js → chunk-QPNRBSGQ.js} +4 -4
  80. package/dist/{chunk-AI2FG4XM.js.map → chunk-QPNRBSGQ.js.map} +1 -1
  81. package/dist/{chunk-FR2X2QSL.js → chunk-S6LP4HSN.js} +7 -7
  82. package/dist/{chunk-FR2X2QSL.js.map → chunk-S6LP4HSN.js.map} +1 -1
  83. package/dist/{chunk-OV7YMZOR.js → chunk-TLWKZRCA.js} +5 -5
  84. package/dist/{chunk-OV7YMZOR.js.map → chunk-TLWKZRCA.js.map} +1 -1
  85. package/dist/{chunk-RSBRAFR3.js → chunk-VBYHGNFN.js} +7 -7
  86. package/dist/{chunk-RSBRAFR3.js.map → chunk-VBYHGNFN.js.map} +1 -1
  87. package/dist/chunk-WVQKECKA.js +14 -0
  88. package/dist/{chunk-7KZSJQOP.js.map → chunk-WVQKECKA.js.map} +1 -1
  89. package/dist/{chunk-342EPVXN.js → chunk-Y32RHCOH.js} +9 -3
  90. package/dist/chunk-Y32RHCOH.js.map +1 -0
  91. package/dist/{chunk-Y52Y5O7I.js → chunk-YITGYJXA.js} +4 -4
  92. package/dist/{chunk-Y52Y5O7I.js.map → chunk-YITGYJXA.js.map} +1 -1
  93. package/dist/{chunk-3OD7SA3B.js → chunk-YS2A3BQW.js} +3 -3
  94. package/dist/{chunk-3OD7SA3B.js.map → chunk-YS2A3BQW.js.map} +1 -1
  95. package/dist/components/ComponentRegistry.d.ts +2 -0
  96. package/dist/components/ComponentRegistry.d.ts.map +1 -1
  97. package/dist/components/cart/index.js +1 -1
  98. package/dist/components/common/index.js +1 -1
  99. package/dist/components/drawer/index.js +3 -3
  100. package/dist/components/home/index.js +6 -6
  101. package/dist/components/layout/index.js +1 -1
  102. package/dist/components/product/index.js +5 -5
  103. package/dist/components/store/index.js +5 -5
  104. package/dist/{document-class-FMIFVKZY.js → document-class-KNBBI2C2.js} +3 -3
  105. package/dist/{document-class-FMIFVKZY.js.map → document-class-KNBBI2C2.js.map} +1 -1
  106. package/dist/hooks/index.js +3 -3
  107. package/dist/hooks/useGtm.js +3 -3
  108. package/dist/hooks/useMoney.js +3 -3
  109. package/dist/hooks/useStore.js +3 -3
  110. package/dist/index.js +5 -5
  111. package/dist/{not-found-QYT5LHOA.js → not-found-D2OMFUGR.js} +5 -5
  112. package/dist/{not-found-QYT5LHOA.js.map → not-found-D2OMFUGR.js.map} +1 -1
  113. package/dist/providers/index.js +3 -3
  114. package/dist/routes/account/orders.js +1 -1
  115. package/dist/routes/account.js +6 -6
  116. package/dist/routes/blog.js +5 -5
  117. package/dist/routes/brands.js +1 -1
  118. package/dist/routes/cart.js +8 -8
  119. package/dist/routes/home.js +7 -7
  120. package/dist/routes/index.js +1 -1
  121. package/dist/routes/loyalty.js +2 -2
  122. package/dist/routes/page.js +1 -1
  123. package/dist/routes/product-listing/index.d.ts +7 -1
  124. package/dist/routes/product-listing/index.d.ts.map +1 -1
  125. package/dist/routes/product-listing.js +27 -13
  126. package/dist/routes/product-listing.js.map +1 -1
  127. package/dist/routes/product.js +6 -6
  128. package/dist/routes/seo-redirects.d.ts +6 -0
  129. package/dist/routes/seo-redirects.d.ts.map +1 -1
  130. package/dist/routes/seo-redirects.js +1 -1
  131. package/dist/routes/testimonials.js +2 -2
  132. package/dist/routes/thank-you.js +1 -1
  133. package/dist/skeleton.js +7 -7
  134. package/dist/tanstack/document-class.d.ts.map +1 -1
  135. package/dist/tanstack/router.d.ts.map +1 -1
  136. package/dist/tanstack.js +2 -2
  137. package/dist/vite/adapters/tanstack.adapter.d.ts +0 -14
  138. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  139. package/dist/vite/index.js +45 -40
  140. package/dist/vite/index.js.map +1 -1
  141. package/package.json +1 -1
  142. package/dist/chunk-342EPVXN.js.map +0 -1
  143. package/dist/chunk-7KZSJQOP.js +0 -14
  144. package/dist/chunk-BJ5OXLWT.js.map +0 -1
  145. package/dist/chunk-RYFIWQ6L.js.map +0 -1
@@ -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-3OD7SA3B.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, ReorderProducts } 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 // `data.key` is the twilight.json catalog id, shared by every placement\n // of that block. Platform blocks send null. Position is unique.\n <HomeComponentRenderer key={index} data={data} index={index} />\n ))}\n <HookSlot name=\"home:end\" />\n <ReorderProducts />\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-YS2A3BQW.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, ReorderProducts } 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 // `data.key` is the twilight.json catalog id, shared by every placement\n // of that block. Platform blocks send null. Position is unique.\n <HomeComponentRenderer key={index} data={data} index={index} />\n ))}\n <HookSlot name=\"home:end\" />\n <ReorderProducts />\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"]}
@@ -16,5 +16,7 @@ export { ComponentRegistry };
16
16
  export declare const COMPONENT_KEYS: {
17
17
  readonly PRODUCT_CARD: "product:card";
18
18
  readonly PRODUCT_GALLERY: "product:gallery";
19
+ readonly PRODUCT_LIST_PAGE: "product:list-page";
20
+ readonly PRODUCT_LIST_SKELETON: "product:list-skeleton";
19
21
  };
20
22
  //# sourceMappingURL=ComponentRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentRegistry.d.ts","sourceRoot":"","sources":["../../src/components/ComponentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,UAAU,CAAC;AAEnE,cAAM,iBAAiB;IACrB,OAAO,CAAC,UAAU,CAA0C;IAE5D,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAOtF,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAatF,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3E,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAK/E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,MAAM,EAAE;IAIhB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAItC,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG9B;AAED,eAAO,MAAM,QAAQ,mBAA0B,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,cAAc;;;CAGjB,CAAC"}
1
+ {"version":3,"file":"ComponentRegistry.d.ts","sourceRoot":"","sources":["../../src/components/ComponentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,UAAU,CAAC;AAEnE,cAAM,iBAAiB;IACrB,OAAO,CAAC,UAAU,CAA0C;IAE5D,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAOtF,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAatF,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3E,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAK/E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,MAAM,EAAE;IAIhB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAItC,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG9B;AAED,eAAO,MAAM,QAAQ,mBAA0B,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-7KZSJQOP.js';
1
+ export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-WVQKECKA.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-LD6AZSPT.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-DML565ED.js';
2
2
  export { Link } from '../../chunk-AXW67SY7.js';
3
3
  import '../../chunk-SKLEJJ6M.js';
4
4
  import '../../chunk-BYMOPN2S.js';
@@ -1,6 +1,6 @@
1
1
  export { Drawer } from '../../chunk-6TKIUG5C.js';
2
- import '../../chunk-FR2X2QSL.js';
3
- import '../../chunk-6OC3LPYW.js';
2
+ import '../../chunk-S6LP4HSN.js';
3
+ import '../../chunk-O5DM3ZLV.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-F2YLRVPH.js';
@@ -27,7 +27,7 @@ import '../../chunk-TYNZ5B2B.js';
27
27
  import '../../chunk-V2ZDTY6H.js';
28
28
  import '../../chunk-5XDPAKF5.js';
29
29
  import '../../chunk-GCPEMNSU.js';
30
- import '../../chunk-LD6AZSPT.js';
30
+ import '../../chunk-DML565ED.js';
31
31
  import '../../chunk-AXW67SY7.js';
32
32
  import '../../chunk-SKLEJJ6M.js';
33
33
  import '../../chunk-BYMOPN2S.js';
@@ -1,10 +1,10 @@
1
- export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, PageBlocks, ParallaxBackground, PhotosSlider, ProductsSlider, ReorderProducts, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents, useReorderButtons } from '../../chunk-OV7YMZOR.js';
1
+ export { BundleComponent, ComponentErrorBoundary, DefaultHomeComponents, FeaturedProductsStyle1, FeaturedProductsStyle2, FeaturedProductsStyle3, FixedBanner, FixedProducts, HomeComponentRenderer, PageBlocks, ParallaxBackground, PhotosSlider, ProductsSlider, ReorderProducts, SquarePhotos, StoreFeatures, LazyTestimonials as Testimonials, Youtube, registerHomeComponentConfig, registerHomeComponents, useReorderButtons } from '../../chunk-TLWKZRCA.js';
2
2
  import '../../chunk-W3LADQOR.js';
3
3
  import '../../chunk-FSCIJ55A.js';
4
- import '../../chunk-7Q2DA236.js';
5
- import '../../chunk-342EPVXN.js';
6
- import '../../chunk-FR2X2QSL.js';
7
- import '../../chunk-6OC3LPYW.js';
4
+ import '../../chunk-2XBG6OZE.js';
5
+ import '../../chunk-Y32RHCOH.js';
6
+ import '../../chunk-S6LP4HSN.js';
7
+ import '../../chunk-O5DM3ZLV.js';
8
8
  import '../../chunk-JKIRRMBU.js';
9
9
  import '../../chunk-2JV6WZ6O.js';
10
10
  import '../../chunk-F2YLRVPH.js';
@@ -31,7 +31,7 @@ import '../../chunk-TYNZ5B2B.js';
31
31
  import '../../chunk-V2ZDTY6H.js';
32
32
  import '../../chunk-5XDPAKF5.js';
33
33
  import '../../chunk-GCPEMNSU.js';
34
- import '../../chunk-LD6AZSPT.js';
34
+ import '../../chunk-DML565ED.js';
35
35
  import '../../chunk-AXW67SY7.js';
36
36
  import '../../chunk-SKLEJJ6M.js';
37
37
  import '../../chunk-BYMOPN2S.js';
@@ -1,4 +1,4 @@
1
- export { LazyCopyright as Copyright, LazyCustomerLayout as CustomerLayout, LazyFooter as Footer, LazyHeader as Header, LazyMasterLayout as MasterLayout, LazyWidgetHead as WidgetHead } from '../../chunk-RSBRAFR3.js';
1
+ export { LazyCopyright as Copyright, LazyCustomerLayout as CustomerLayout, LazyFooter as Footer, LazyHeader as Header, LazyMasterLayout as MasterLayout, LazyWidgetHead as WidgetHead } from '../../chunk-VBYHGNFN.js';
2
2
  export { pushEqualHeightConfig } from '../../chunk-V2ZDTY6H.js';
3
3
  import '../../chunk-5XDPAKF5.js';
4
4
  import '../../chunk-GCPEMNSU.js';
@@ -1,7 +1,7 @@
1
- export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-7Q2DA236.js';
2
- import '../../chunk-342EPVXN.js';
3
- import '../../chunk-FR2X2QSL.js';
4
- import '../../chunk-6OC3LPYW.js';
1
+ export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-2XBG6OZE.js';
2
+ import '../../chunk-Y32RHCOH.js';
3
+ import '../../chunk-S6LP4HSN.js';
4
+ import '../../chunk-O5DM3ZLV.js';
5
5
  import '../../chunk-JKIRRMBU.js';
6
6
  import '../../chunk-2JV6WZ6O.js';
7
7
  import '../../chunk-F2YLRVPH.js';
@@ -28,7 +28,7 @@ import '../../chunk-TYNZ5B2B.js';
28
28
  import '../../chunk-V2ZDTY6H.js';
29
29
  import '../../chunk-5XDPAKF5.js';
30
30
  import '../../chunk-GCPEMNSU.js';
31
- import '../../chunk-LD6AZSPT.js';
31
+ import '../../chunk-DML565ED.js';
32
32
  import '../../chunk-AXW67SY7.js';
33
33
  import '../../chunk-SKLEJJ6M.js';
34
34
  import '../../chunk-BYMOPN2S.js';
@@ -1,6 +1,6 @@
1
- export { StoreClosedNotification } from '../../chunk-QVFVPVPU.js';
2
- import '../../chunk-FR2X2QSL.js';
3
- import '../../chunk-6OC3LPYW.js';
1
+ export { StoreClosedNotification } from '../../chunk-HKYZDYFS.js';
2
+ import '../../chunk-S6LP4HSN.js';
3
+ import '../../chunk-O5DM3ZLV.js';
4
4
  import '../../chunk-JKIRRMBU.js';
5
5
  import '../../chunk-2JV6WZ6O.js';
6
6
  import '../../chunk-F2YLRVPH.js';
@@ -27,7 +27,7 @@ import '../../chunk-TYNZ5B2B.js';
27
27
  import '../../chunk-V2ZDTY6H.js';
28
28
  import '../../chunk-5XDPAKF5.js';
29
29
  import '../../chunk-GCPEMNSU.js';
30
- import '../../chunk-LD6AZSPT.js';
30
+ import '../../chunk-DML565ED.js';
31
31
  import '../../chunk-AXW67SY7.js';
32
32
  import '../../chunk-SKLEJJ6M.js';
33
33
  import '../../chunk-BYMOPN2S.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-GFCTOI7N.js').then((m) => ({
48
+ () => import('../../StoreClosedNotification-W6ZKXD3D.js').then((m) => ({
49
49
  default: m.StoreClosedNotification
50
50
  }))
51
51
  );
@@ -1,4 +1,4 @@
1
- export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-BJ5OXLWT.js';
1
+ export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-BFRPOINI.js';
2
2
  import './chunk-Z4Y55HWX.js';
3
3
  import './chunk-BE3JDKE2.js';
4
4
  import './chunk-2APQP7KK.js';
@@ -20,5 +20,5 @@ import './chunk-N2S25NXP.js';
20
20
  import './chunk-T72DAX7R.js';
21
21
  import './chunk-DF6FBKDN.js';
22
22
  import './chunk-DGUM43GV.js';
23
- //# sourceMappingURL=document-class-FMIFVKZY.js.map
24
- //# sourceMappingURL=document-class-FMIFVKZY.js.map
23
+ //# sourceMappingURL=document-class-KNBBI2C2.js.map
24
+ //# sourceMappingURL=document-class-KNBBI2C2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-FMIFVKZY.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-KNBBI2C2.js"}
@@ -1,5 +1,5 @@
1
- export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-FR2X2QSL.js';
2
- import '../chunk-6OC3LPYW.js';
1
+ export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-S6LP4HSN.js';
2
+ import '../chunk-O5DM3ZLV.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-F2YLRVPH.js';
@@ -26,7 +26,7 @@ import '../chunk-TYNZ5B2B.js';
26
26
  import '../chunk-V2ZDTY6H.js';
27
27
  export { HookSlot, useIsClient } from '../chunk-5XDPAKF5.js';
28
28
  export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GCPEMNSU.js';
29
- import '../chunk-LD6AZSPT.js';
29
+ import '../chunk-DML565ED.js';
30
30
  import '../chunk-AXW67SY7.js';
31
31
  import '../chunk-SKLEJJ6M.js';
32
32
  import '../chunk-BYMOPN2S.js';
@@ -1,5 +1,5 @@
1
- export { useGtm } from '../chunk-FR2X2QSL.js';
2
- import '../chunk-6OC3LPYW.js';
1
+ export { useGtm } from '../chunk-S6LP4HSN.js';
2
+ import '../chunk-O5DM3ZLV.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-F2YLRVPH.js';
@@ -26,7 +26,7 @@ import '../chunk-TYNZ5B2B.js';
26
26
  import '../chunk-V2ZDTY6H.js';
27
27
  import '../chunk-5XDPAKF5.js';
28
28
  import '../chunk-GCPEMNSU.js';
29
- import '../chunk-LD6AZSPT.js';
29
+ import '../chunk-DML565ED.js';
30
30
  import '../chunk-AXW67SY7.js';
31
31
  import '../chunk-SKLEJJ6M.js';
32
32
  import '../chunk-BYMOPN2S.js';
@@ -1,5 +1,5 @@
1
- export { useMoney } from '../chunk-FR2X2QSL.js';
2
- import '../chunk-6OC3LPYW.js';
1
+ export { useMoney } from '../chunk-S6LP4HSN.js';
2
+ import '../chunk-O5DM3ZLV.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-F2YLRVPH.js';
@@ -26,7 +26,7 @@ import '../chunk-TYNZ5B2B.js';
26
26
  import '../chunk-V2ZDTY6H.js';
27
27
  import '../chunk-5XDPAKF5.js';
28
28
  import '../chunk-GCPEMNSU.js';
29
- import '../chunk-LD6AZSPT.js';
29
+ import '../chunk-DML565ED.js';
30
30
  import '../chunk-AXW67SY7.js';
31
31
  import '../chunk-SKLEJJ6M.js';
32
32
  import '../chunk-BYMOPN2S.js';
@@ -1,5 +1,5 @@
1
- export { useStore } from '../chunk-FR2X2QSL.js';
2
- import '../chunk-6OC3LPYW.js';
1
+ export { useStore } from '../chunk-S6LP4HSN.js';
2
+ import '../chunk-O5DM3ZLV.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-F2YLRVPH.js';
@@ -26,7 +26,7 @@ import '../chunk-TYNZ5B2B.js';
26
26
  import '../chunk-V2ZDTY6H.js';
27
27
  import '../chunk-5XDPAKF5.js';
28
28
  import '../chunk-GCPEMNSU.js';
29
- import '../chunk-LD6AZSPT.js';
29
+ import '../chunk-DML565ED.js';
30
30
  import '../chunk-AXW67SY7.js';
31
31
  import '../chunk-SKLEJJ6M.js';
32
32
  import '../chunk-BYMOPN2S.js';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { registry } from './chunk-342EPVXN.js';
2
- export { ComponentRegistry, registry } from './chunk-342EPVXN.js';
3
- export { TwilightProvider } from './chunk-FR2X2QSL.js';
4
- import './chunk-6OC3LPYW.js';
1
+ import { registry } from './chunk-Y32RHCOH.js';
2
+ export { ComponentRegistry, registry } from './chunk-Y32RHCOH.js';
3
+ export { TwilightProvider } from './chunk-S6LP4HSN.js';
4
+ import './chunk-O5DM3ZLV.js';
5
5
  import './chunk-JKIRRMBU.js';
6
6
  import './chunk-2JV6WZ6O.js';
7
7
  import './chunk-F2YLRVPH.js';
@@ -28,7 +28,7 @@ import './chunk-TYNZ5B2B.js';
28
28
  import './chunk-V2ZDTY6H.js';
29
29
  import './chunk-5XDPAKF5.js';
30
30
  import './chunk-GCPEMNSU.js';
31
- import './chunk-LD6AZSPT.js';
31
+ import './chunk-DML565ED.js';
32
32
  import './chunk-AXW67SY7.js';
33
33
  import './chunk-SKLEJJ6M.js';
34
34
  import './chunk-BYMOPN2S.js';
@@ -1,6 +1,6 @@
1
1
  import { product } from './chunk-FSCIJ55A.js';
2
- import './chunk-FR2X2QSL.js';
3
- import './chunk-6OC3LPYW.js';
2
+ import './chunk-S6LP4HSN.js';
3
+ import './chunk-O5DM3ZLV.js';
4
4
  import './chunk-JKIRRMBU.js';
5
5
  import './chunk-2JV6WZ6O.js';
6
6
  import './chunk-F2YLRVPH.js';
@@ -27,7 +27,7 @@ import { useTranslation } from './chunk-TYNZ5B2B.js';
27
27
  import './chunk-V2ZDTY6H.js';
28
28
  import { HookSlot } from './chunk-5XDPAKF5.js';
29
29
  import './chunk-GCPEMNSU.js';
30
- import { LazyErrorPage } from './chunk-LD6AZSPT.js';
30
+ import { LazyErrorPage } from './chunk-DML565ED.js';
31
31
  import './chunk-AXW67SY7.js';
32
32
  import './chunk-SKLEJJ6M.js';
33
33
  import './chunk-BYMOPN2S.js';
@@ -143,5 +143,5 @@ function NotFoundPage(props = {}) {
143
143
  }
144
144
 
145
145
  export { NotFoundPage };
146
- //# sourceMappingURL=not-found-QYT5LHOA.js.map
147
- //# sourceMappingURL=not-found-QYT5LHOA.js.map
146
+ //# sourceMappingURL=not-found-D2OMFUGR.js.map
147
+ //# sourceMappingURL=not-found-D2OMFUGR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAM,UAAA,GAAa,qBAAA;AAOZ,SAAS,mBAAmB,QAAA,EAA4D;AAC7F,EAAA,MAAM,WAAW,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,OAAO,OAAO,CAAA;AACnD,EAAA,IAAI,QAAA,CAAS,MAAA,KAAW,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,CAAC,CAAC,CAAA,IAAK,UAAA,CAAW,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG;AAClF,IAAA,OAAO,EAAE,MAAM,QAAA,CAAS,CAAC,GAAG,MAAA,EAAQ,QAAA,CAAS,CAAC,CAAA,EAAE;AAAA,EAClD;AACA,EAAA,IAAI,QAAA,CAAS,MAAA,KAAW,CAAA,IAAK,CAAC,SAAS,QAAA,CAAS,CAAC,CAAC,CAAA,IAAK,UAAA,CAAW,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG;AACnF,IAAA,OAAO,EAAE,IAAA,EAAM,QAAA,CAAS,CAAC,CAAA,EAAE;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAGA,IAAM,WAAA,GAAc,mBAAA;AAGb,SAAS,oBAAoB,QAAA,EAA2D;AAC7F,EAAA,MAAM,WAAW,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,OAAO,OAAO,CAAA;AACnD,EAAA,MAAM,YAAY,QAAA,CAAS,MAAA,KAAW,KAAK,QAAA,CAAS,QAAA,CAAS,CAAC,CAAC,CAAA;AAC/D,EAAA,IAAI,CAAC,SAAA,KAAc,QAAA,CAAS,MAAA,KAAW,CAAA,IAAK,SAAS,QAAA,CAAS,CAAC,CAAC,CAAA,CAAA,EAAI,OAAO,IAAA;AAC3E,EAAA,MAAM,GAAA,GAAM,SAAS,QAAA,CAAS,MAAA,GAAS,CAAC,CAAA,CAAE,KAAA,CAAM,WAAW,CAAA,GAAI,CAAC,CAAA;AAChE,EAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AACjB,EAAA,OAAO,SAAA,GAAY,EAAE,GAAA,EAAK,MAAA,EAAQ,SAAS,CAAC,CAAA,EAAE,GAAI,EAAE,GAAA,EAAI;AAC1D;AAEA,SAAS,aAAa,GAAA,EAA6C;AACjE,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,GAAA,IAAO,EAAE,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,KAAI,IAAK,EAAA;AAC7E,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,WAAW,CAAA,GAAI,CAAC,CAAA;AAAA,EACpC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,MAAA;AAAA,EACT;AACF;AAGA,eAAe,iBAAiB,GAAA,EAAqC;AACnE,EAAA,MAAM,EAAA,GAAK,GAAA,CAAI,KAAA,CAAM,UAAU,IAAI,CAAC,CAAA;AACpC,EAAA,IAAI,EAAA,EAAI,OAAO,MAAA,CAAO,EAAE,CAAA;AACxB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,OAAA,CAAQ,IAAA,CAAK,EAAE,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,GAAA,EAAK,OAAA,EAAS,IAAI,CAAA;AACpF,EAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,CAAC,SAAS,YAAA,CAAa,IAAA,CAAK,GAAG,CAAA,KAAM,GAAG,CAAA;AACjE,EAAA,OAAO,KAAA,GAAQ,MAAA,CAAO,KAAA,CAAM,EAAE,CAAA,GAAI,IAAA;AACpC;AAGO,SAAS,mBAAmB,GAAA,EAAiC;AAClE,EAAA,IAAI;AACF,IAAA,MAAM,QAAA,GAAW,IAAI,GAAA,CAAI,GAAA,IAAO,EAAE,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA;AACtE,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,QAAA,CAAS,MAAA,GAAS,CAAC,CAAA,IAAK,EAAA;AAC9C,IAAA,OAAO,QAAA,CAAS,IAAA,CAAK,IAAI,CAAA,IAAK,QAAA,CAAS,MAAA,GAAS,CAAA,GAAI,QAAA,CAAS,QAAA,CAAS,MAAA,GAAS,CAAC,CAAA,GAAI,GAAA;AAAA,EACtF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,GAAA;AAAA,EACT;AACF;AAQO,SAAS,mBAAA,GAA+B;AAC7C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,WAAA,EAAY;AACjC,EAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,EAAA,MAAM,SAAA,GAAY,mBAAmB,QAAQ,CAAA;AAC7C,EAAA,MAAM,UAAA,GAAa,oBAAoB,QAAQ,CAAA;AAC/C,EAAA,MAAM,MAAA,GAAS,SAAA,EAAW,IAAA,IAAQ,UAAA,EAAY,GAAA;AAC9C,EAAA,MAAM,MAAA,GAAS,SAAA,EAAW,MAAA,IAAU,UAAA,EAAY,MAAA;AAChD,EAAA,MAAM,WAAA,GAAc,CAAC,CAAC,SAAA;AACtB,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAwB,IAAI,CAAA;AAExD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAA,EAAQ;AACb,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,MAAM,WAAA,GAAc,WAAA,GAChB,OAAA,CACG,IAAA,CAAK,MAAM,CAAA,CACX,IAAA,CAAK,CAAC,KAAA,KAAW,KAAA,EAAO,EAAA,GAAK,CAAA,EAAG,kBAAA,CAAmB,MAAM,GAAG,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,EAAE,CAAA,CAAA,GAAK,IAAK,CAAA,GACvF,iBAAiB,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,EAAA,KAAQ,EAAA,GAAK,CAAA,GAAA,EAAM,EAAE,KAAK,IAAK,CAAA;AAClE,IAAA,WAAA,CACG,IAAA,CAAK,CAAC,IAAA,KAAS;AACd,MAAA,IAAI,SAAA,EAAW;AACf,MAAA,IAAI,CAAC,IAAA,EAAM,OAAO,SAAA,CAAU,MAAM,CAAA;AAClC,MAAA,QAAA,CAAS,CAAA,EAAG,MAAA,GAAS,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,IACrE,CAAC,EACA,KAAA,CAAM,MAAM,CAAC,SAAA,IAAa,SAAA,CAAU,MAAM,CAAC,CAAA;AAC9C,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,GAAG,CAAC,MAAA,EAAQ,WAAA,EAAa,MAAA,EAAQ,QAAQ,CAAC,CAAA;AAE1C,EAAA,OAAO,CAAC,CAAC,MAAA,IAAU,MAAA,KAAW,MAAA;AAChC;ACpFO,SAAS,YAAA,CAAa,KAAA,GAA2B,EAAC,EAAG;AAC1D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,MAAM,qBAAqB,mBAAA,EAAoB;AAE/C,EAAA,MAAM;AAAA,IACJ,KAAA,GAAQ,CAAA,CAAE,mBAAmB,CAAA,IAAK,gBAAA;AAAA,IAClC,OAAA,GAAU,CAAA,CAAE,8BAA8B,CAAA,IACxC,gEAAA;AAAA,IACF,YAAA,GAAe,IAAA;AAAA,IACf,YAAA,GAAe,CAAA,CAAE,2BAA2B,CAAA,IAAK,cAAA;AAAA,IACjD;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,IAAI,oBAAoB,OAAO,IAAA;AAE/B,EAAA,uBACE,IAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,GAAA;AAAA,MACN,KAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,aAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,gBAAA,EAAiB,CAAA;AAAA,wBAChC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kBAAA,EAAmB,CAAA;AAAA,wBAClC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,cAAA,EAAe;AAAA;AAAA;AAAA,GAChC;AAEJ","file":"not-found-QYT5LHOA.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-D2OMFUGR.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,5 +1,5 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-FR2X2QSL.js';
2
- import '../chunk-6OC3LPYW.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-S6LP4HSN.js';
2
+ import '../chunk-O5DM3ZLV.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-F2YLRVPH.js';
@@ -26,7 +26,7 @@ import '../chunk-TYNZ5B2B.js';
26
26
  import '../chunk-V2ZDTY6H.js';
27
27
  import '../chunk-5XDPAKF5.js';
28
28
  import '../chunk-GCPEMNSU.js';
29
- import '../chunk-LD6AZSPT.js';
29
+ import '../chunk-DML565ED.js';
30
30
  import '../chunk-AXW67SY7.js';
31
31
  import '../chunk-SKLEJJ6M.js';
32
32
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
@@ -1,4 +1,4 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-AI2FG4XM.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-QPNRBSGQ.js';
2
2
  import '../../chunk-PKNHFIY4.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
4
  import '../../chunk-VPPSRRGK.js';
@@ -1,5 +1,5 @@
1
1
  import { wallet } from '../chunk-SLXGP6KF.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-AI2FG4XM.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-QPNRBSGQ.js';
3
3
  import '../chunk-PKNHFIY4.js';
4
4
  import { notification } from '../chunk-3GZ5OOAK.js';
5
5
  import { wishlist } from '../chunk-EUWKQJNI.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-GG2R7VAB.js').then((m) => ({ default: m.ProfilePage }))
32
+ () => import('../ProfilePage-QEFAXPZV.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-73Q47YZ5.js').then((m) => ({ default: m.WishlistPage }))
74
+ () => import('../WishlistPage-U5UEQHT3.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-3VUXXMTC.js').then((m) => ({ default: m.WalletPage })));
116
+ var LazyWalletPage = lazy(() => import('../WalletPage-NJNLNAYG.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-WIZ4KMLE.js').then((m) => ({ default: m.NotificationsPage }))
152
+ () => import('../NotificationsPage-KBYATMFP.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-T6PFRFYO.js').then((m) => ({ default: m.SettingsPage }))
185
+ () => import('../SettingsPage-ZLVMU4UZ.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-QXJFRLLI.js').then((m) => ({ default: m.BlogPage })));
146
+ var LazyBlogPage = lazy(() => import('../BlogPage-YZL7QTUZ.js').then((m) => ({ default: m.BlogPage })));
147
147
  var LazyBlogSinglePage = lazy(
148
- () => import('../BlogSinglePage-TGK3EW67.js').then((m) => ({ default: m.BlogSinglePage }))
148
+ () => import('../BlogSinglePage-GU4LRT5F.js').then((m) => ({ default: m.BlogSinglePage }))
149
149
  );
150
150
  var LazyBlogAuthorPage = lazy(
151
- () => import('../BlogAuthorPage-JX3B3PAH.js').then((m) => ({ default: m.BlogAuthorPage }))
151
+ () => import('../BlogAuthorPage-FDRXR6LU.js').then((m) => ({ default: m.BlogAuthorPage }))
152
152
  );
153
153
  var LazyBlogCategoryPage = lazy(
154
- () => import('../BlogCategoryPage-3AMIT55T.js').then((m) => ({ default: m.BlogCategoryPage }))
154
+ () => import('../BlogCategoryPage-D6I67ZSY.js').then((m) => ({ default: m.BlogCategoryPage }))
155
155
  );
156
156
  var LazyBlogTagPage = lazy(
157
- () => import('../BlogTagPage-CH34K6U3.js').then((m) => ({ default: m.BlogTagPage }))
157
+ () => import('../BlogTagPage-3FMXVXQY.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-4OG5ISYQ.js').then((m) => ({ default: m.BrandsPage })));
25
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-W4H6L42Z.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,16 +1,16 @@
1
1
  import { cart } from '../chunk-J2VJGXIX.js';
2
2
  import { loyalty } from '../chunk-NJWKVTQD.js';
3
3
  import { CartSkeleton } from '../chunk-N7CCSGZF.js';
4
- import '../chunk-3OD7SA3B.js';
4
+ import '../chunk-YS2A3BQW.js';
5
5
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
6
- import '../chunk-OV7YMZOR.js';
6
+ import '../chunk-TLWKZRCA.js';
7
7
  import '../chunk-W3LADQOR.js';
8
8
  import '../chunk-FSCIJ55A.js';
9
- import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-7KZSJQOP.js';
10
- import '../chunk-7Q2DA236.js';
11
- import '../chunk-342EPVXN.js';
12
- import '../chunk-FR2X2QSL.js';
13
- import '../chunk-6OC3LPYW.js';
9
+ import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-WVQKECKA.js';
10
+ import '../chunk-2XBG6OZE.js';
11
+ import '../chunk-Y32RHCOH.js';
12
+ import '../chunk-S6LP4HSN.js';
13
+ import '../chunk-O5DM3ZLV.js';
14
14
  import '../chunk-JKIRRMBU.js';
15
15
  import '../chunk-2JV6WZ6O.js';
16
16
  import '../chunk-F2YLRVPH.js';
@@ -37,7 +37,7 @@ import { useTranslation } from '../chunk-TYNZ5B2B.js';
37
37
  import '../chunk-V2ZDTY6H.js';
38
38
  import { HookSlot } from '../chunk-5XDPAKF5.js';
39
39
  import '../chunk-GCPEMNSU.js';
40
- import { LazyBreadcrumb, LazyNoContent } from '../chunk-LD6AZSPT.js';
40
+ import { LazyBreadcrumb, LazyNoContent } from '../chunk-DML565ED.js';
41
41
  import '../chunk-AXW67SY7.js';
42
42
  import '../chunk-SKLEJJ6M.js';
43
43
  import '../chunk-BYMOPN2S.js';
@@ -1,12 +1,12 @@
1
- export { Home, HomeSkeleton, homeLoader } from '../chunk-3OD7SA3B.js';
1
+ export { Home, HomeSkeleton, homeLoader } from '../chunk-YS2A3BQW.js';
2
2
  import '../chunk-TZ3E5BN4.js';
3
- export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-OV7YMZOR.js';
3
+ export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-TLWKZRCA.js';
4
4
  import '../chunk-W3LADQOR.js';
5
5
  import '../chunk-FSCIJ55A.js';
6
- import '../chunk-7Q2DA236.js';
7
- import '../chunk-342EPVXN.js';
8
- import '../chunk-FR2X2QSL.js';
9
- import '../chunk-6OC3LPYW.js';
6
+ import '../chunk-2XBG6OZE.js';
7
+ import '../chunk-Y32RHCOH.js';
8
+ import '../chunk-S6LP4HSN.js';
9
+ import '../chunk-O5DM3ZLV.js';
10
10
  import '../chunk-JKIRRMBU.js';
11
11
  import '../chunk-2JV6WZ6O.js';
12
12
  import '../chunk-F2YLRVPH.js';
@@ -33,7 +33,7 @@ import '../chunk-TYNZ5B2B.js';
33
33
  import '../chunk-V2ZDTY6H.js';
34
34
  import '../chunk-5XDPAKF5.js';
35
35
  import '../chunk-GCPEMNSU.js';
36
- import '../chunk-LD6AZSPT.js';
36
+ import '../chunk-DML565ED.js';
37
37
  import '../chunk-AXW67SY7.js';
38
38
  import '../chunk-SKLEJJ6M.js';
39
39
  import '../chunk-BYMOPN2S.js';
@@ -1,4 +1,4 @@
1
- export { slugBrandRedirectLoader } from '../chunk-RYFIWQ6L.js';
1
+ export { slugBrandRedirectLoader } from '../chunk-KEZMQRKI.js';
2
2
  import '../chunk-VPPSRRGK.js';
3
3
  import '../chunk-OUW6WESU.js';
4
4
  import '../chunk-BP6LUZXJ.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-2Y277GGL.js').then((m) => ({ default: m.LoyaltyPage }))
59
+ () => import('../LoyaltyPage-AEHQR7FW.js').then((m) => ({ default: m.LoyaltyPage }))
60
60
  );
61
61
  var LazyLoyaltyPointsPage = lazy(
62
- () => import('../LoyaltyPointsPage-CG2GTB56.js').then((m) => ({ default: m.LoyaltyPointsPage }))
62
+ () => import('../LoyaltyPointsPage-2CO73G3Y.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-MJ36XD2U.js').then((m) => ({ default: m.PageSingle })));
30
+ var LazyPageSingle = lazy(() => import('../PageSingle-76JU6EU5.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 });
@@ -4,11 +4,17 @@ import type { ProductListLoaderData } from './types';
4
4
  import type { TwilightContext } from '../../twilight/context';
5
5
  import { ProductListPage } from './ProductListPage';
6
6
  export declare function head(ctx: TwilightContext, data: ProductListLoaderData): HeadDescriptor;
7
+ export interface ProductListSkeletonProps {
8
+ hideFilters?: boolean;
9
+ }
10
+ declare function ProductListingPage(props: ProductListLoaderData): import("react").JSX.Element;
11
+ declare function ProductListingPending({ hideFilters }: ProductListSkeletonProps): import("react").JSX.Element;
7
12
  export declare const ProductListing: {
8
13
  readonly id: "product.index";
9
14
  readonly loader: typeof productListLoader;
10
15
  readonly head: typeof head;
11
- readonly Component: typeof ProductListPage;
16
+ readonly Component: typeof ProductListingPage;
17
+ readonly Pending: typeof ProductListingPending;
12
18
  };
13
19
  export { ProductListPage };
14
20
  export { productListLoader };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,SAAS,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAkCtF;AAED,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,SAAS,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,wBAAgB,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAyCtF;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,+BAIvD;AAED,iBAAS,qBAAqB,CAAC,EAAE,WAAW,EAAE,EAAE,wBAAwB,+BAGvE;AAED,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}