@salla.sa/twilight-theme-engine 1.0.49 → 1.0.51

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 (153) hide show
  1. package/dist/{AddToCartForm-KU2UVYWT.js → AddToCartForm-FWTD6TUV.js} +3 -3
  2. package/dist/{AddToCartForm-KU2UVYWT.js.map → AddToCartForm-FWTD6TUV.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-FJQ76FYU.js → BlogAuthorPage-T5F77W5X.js} +6 -6
  4. package/dist/{BlogAuthorPage-FJQ76FYU.js.map → BlogAuthorPage-T5F77W5X.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-G3NUPFQG.js → BlogCategoryPage-MRLME3PG.js} +6 -6
  6. package/dist/{BlogCategoryPage-G3NUPFQG.js.map → BlogCategoryPage-MRLME3PG.js.map} +1 -1
  7. package/dist/{BlogPage-7C6IWCBB.js → BlogPage-XCVB34G4.js} +5 -5
  8. package/dist/{BlogPage-7C6IWCBB.js.map → BlogPage-XCVB34G4.js.map} +1 -1
  9. package/dist/{BlogSinglePage-JD73WQ4N.js → BlogSinglePage-HYIMMTTJ.js} +5 -5
  10. package/dist/{BlogSinglePage-JD73WQ4N.js.map → BlogSinglePage-HYIMMTTJ.js.map} +1 -1
  11. package/dist/{BlogTagPage-R5NF3YLM.js → BlogTagPage-DLXTXS6O.js} +6 -6
  12. package/dist/{BlogTagPage-R5NF3YLM.js.map → BlogTagPage-DLXTXS6O.js.map} +1 -1
  13. package/dist/{BrandsPage-6HOFLIDG.js → BrandsPage-A7IAQCUS.js} +5 -5
  14. package/dist/{BrandsPage-6HOFLIDG.js.map → BrandsPage-A7IAQCUS.js.map} +1 -1
  15. package/dist/{Breadcrumb-V5UW4TPJ.js → Breadcrumb-7NGZQ7ZM.js} +5 -5
  16. package/dist/{Breadcrumb-V5UW4TPJ.js.map → Breadcrumb-7NGZQ7ZM.js.map} +1 -1
  17. package/dist/{CartItem-ROKMQFVJ.js → CartItem-DCQZ6PVW.js} +5 -5
  18. package/dist/{CartItem-ROKMQFVJ.js.map → CartItem-DCQZ6PVW.js.map} +1 -1
  19. package/dist/{CartSummary-EDAXR4VQ.js → CartSummary-QOWJAMGK.js} +5 -5
  20. package/dist/{CartSummary-EDAXR4VQ.js.map → CartSummary-QOWJAMGK.js.map} +1 -1
  21. package/dist/{Copyright-VRCRWG7U.js → Copyright-WI5AQSJK.js} +3 -3
  22. package/dist/{Copyright-VRCRWG7U.js.map → Copyright-WI5AQSJK.js.map} +1 -1
  23. package/dist/{CustomerLayout-BT7RWQCX.js → CustomerLayout-3P5GSC47.js} +7 -6
  24. package/dist/CustomerLayout-3P5GSC47.js.map +1 -0
  25. package/dist/{Footer-GXA4V3L3.js → Footer-UMC3VBUS.js} +5 -5
  26. package/dist/{Footer-GXA4V3L3.js.map → Footer-UMC3VBUS.js.map} +1 -1
  27. package/dist/{Header-VYEA3QT7.js → Header-WIMDW6SI.js} +4 -4
  28. package/dist/{Header-VYEA3QT7.js.map → Header-WIMDW6SI.js.map} +1 -1
  29. package/dist/{LoyaltyPage-G3BDWISN.js → LoyaltyPage-XETIRHVI.js} +5 -5
  30. package/dist/{LoyaltyPage-G3BDWISN.js.map → LoyaltyPage-XETIRHVI.js.map} +1 -1
  31. package/dist/{MainMenu-XZZDDKQI.js → MainMenu-SQTHIH5O.js} +3 -3
  32. package/dist/{MainMenu-XZZDDKQI.js.map → MainMenu-SQTHIH5O.js.map} +1 -1
  33. package/dist/{MasterLayout-TAH3WY75.js → MasterLayout-724ZWXQP.js} +5 -5
  34. package/dist/{MasterLayout-TAH3WY75.js.map → MasterLayout-724ZWXQP.js.map} +1 -1
  35. package/dist/{MobileMenu-G2G4BA35.js → MobileMenu-3MN67ZGC.js} +5 -5
  36. package/dist/{MobileMenu-G2G4BA35.js.map → MobileMenu-3MN67ZGC.js.map} +1 -1
  37. package/dist/{NotificationsPage-PL3HYLDH.js → NotificationsPage-ZFNG6MA7.js} +5 -5
  38. package/dist/{NotificationsPage-PL3HYLDH.js.map → NotificationsPage-ZFNG6MA7.js.map} +1 -1
  39. package/dist/{OrderSinglePage-TDMSKXVM.js → OrderSinglePage-ZY776GSN.js} +48 -6
  40. package/dist/OrderSinglePage-ZY776GSN.js.map +1 -0
  41. package/dist/{OrdersPage-RGP3F6ZR.js → OrdersPage-T7DB534Z.js} +63 -7
  42. package/dist/OrdersPage-T7DB534Z.js.map +1 -0
  43. package/dist/{PageSingle-HYNH3QYU.js → PageSingle-UB5YESMY.js} +3 -3
  44. package/dist/{PageSingle-HYNH3QYU.js.map → PageSingle-UB5YESMY.js.map} +1 -1
  45. package/dist/{ProductDetails-35OUOV32.js → ProductDetails-ADNGOIMJ.js} +3 -3
  46. package/dist/{ProductDetails-35OUOV32.js.map → ProductDetails-ADNGOIMJ.js.map} +1 -1
  47. package/dist/{ProfilePage-JKAR5TWA.js → ProfilePage-MVRNUM3D.js} +5 -5
  48. package/dist/{ProfilePage-JKAR5TWA.js.map → ProfilePage-MVRNUM3D.js.map} +1 -1
  49. package/dist/{SeoCartWidget-XQLDKKSF.js → SeoCartWidget-DUF6EZF5.js} +5 -5
  50. package/dist/{SeoCartWidget-XQLDKKSF.js.map → SeoCartWidget-DUF6EZF5.js.map} +1 -1
  51. package/dist/{SettingsPage-UDWYTMHZ.js → SettingsPage-VYEI2SBG.js} +5 -5
  52. package/dist/{SettingsPage-UDWYTMHZ.js.map → SettingsPage-VYEI2SBG.js.map} +1 -1
  53. package/dist/{StoreClosedNotification-V5OSQJFG.js → StoreClosedNotification-HVF2UBZB.js} +6 -6
  54. package/dist/{StoreClosedNotification-V5OSQJFG.js.map → StoreClosedNotification-HVF2UBZB.js.map} +1 -1
  55. package/dist/{TestimonialsPage-WJEVEKPA.js → TestimonialsPage-5YGSJDZM.js} +3 -3
  56. package/dist/{TestimonialsPage-WJEVEKPA.js.map → TestimonialsPage-5YGSJDZM.js.map} +1 -1
  57. package/dist/{ThankYouPage-MRJZCNKI.js → ThankYouPage-SYTIN554.js} +11 -5
  58. package/dist/ThankYouPage-SYTIN554.js.map +1 -0
  59. package/dist/{WalletPage-CO4F3XWH.js → WalletPage-C3B2N57Q.js} +5 -5
  60. package/dist/{WalletPage-CO4F3XWH.js.map → WalletPage-C3B2N57Q.js.map} +1 -1
  61. package/dist/{WishlistPage-THOWE6KB.js → WishlistPage-2VFKXDCV.js} +7 -7
  62. package/dist/{WishlistPage-THOWE6KB.js.map → WishlistPage-2VFKXDCV.js.map} +1 -1
  63. package/dist/ambient/salla-components.d.ts +2 -0
  64. package/dist/api/product.d.ts +8 -0
  65. package/dist/api/product.d.ts.map +1 -1
  66. package/dist/api/product.js +1 -1
  67. package/dist/api/wishlist.js +2 -2
  68. package/dist/{chunk-HGNZIUZK.js → chunk-2OED73EU.js} +5 -5
  69. package/dist/{chunk-HGNZIUZK.js.map → chunk-2OED73EU.js.map} +1 -1
  70. package/dist/{chunk-SSMBRYI5.js → chunk-I5FZBPTO.js} +3 -3
  71. package/dist/{chunk-SSMBRYI5.js.map → chunk-I5FZBPTO.js.map} +1 -1
  72. package/dist/{chunk-L3CR2OAD.js → chunk-JLUH5PUI.js} +4 -4
  73. package/dist/{chunk-L3CR2OAD.js.map → chunk-JLUH5PUI.js.map} +1 -1
  74. package/dist/{chunk-C7RST4KQ.js → chunk-MDF2WJVW.js} +10 -8
  75. package/dist/chunk-MDF2WJVW.js.map +1 -0
  76. package/dist/{chunk-O2RQTN7B.js → chunk-NUKWGVYO.js} +4 -4
  77. package/dist/{chunk-O2RQTN7B.js.map → chunk-NUKWGVYO.js.map} +1 -1
  78. package/dist/chunk-P37WZQ5P.js +14 -0
  79. package/dist/{chunk-IBU4RNK5.js.map → chunk-P37WZQ5P.js.map} +1 -1
  80. package/dist/{chunk-44G4RAUR.js → chunk-PCDZ6WM2.js} +8 -7
  81. package/dist/chunk-PCDZ6WM2.js.map +1 -0
  82. package/dist/{chunk-VSBG4G2C.js → chunk-TEOX2GUU.js} +3 -3
  83. package/dist/{chunk-VSBG4G2C.js.map → chunk-TEOX2GUU.js.map} +1 -1
  84. package/dist/{chunk-CBNUZ7LI.js → chunk-UYK4CSL3.js} +28 -3
  85. package/dist/chunk-UYK4CSL3.js.map +1 -0
  86. package/dist/{chunk-QFJPYDY5.js → chunk-UZL4U74W.js} +3 -3
  87. package/dist/{chunk-QFJPYDY5.js.map → chunk-UZL4U74W.js.map} +1 -1
  88. package/dist/{chunk-OWNULELS.js → chunk-VQYTHUI3.js} +5 -5
  89. package/dist/{chunk-OWNULELS.js.map → chunk-VQYTHUI3.js.map} +1 -1
  90. package/dist/{chunk-TP3CKPCJ.js → chunk-WPFAWZPW.js} +4 -4
  91. package/dist/{chunk-TP3CKPCJ.js.map → chunk-WPFAWZPW.js.map} +1 -1
  92. package/dist/{chunk-YZPS7GOM.js → chunk-XC7AJ6I7.js} +3 -3
  93. package/dist/{chunk-YZPS7GOM.js.map → chunk-XC7AJ6I7.js.map} +1 -1
  94. package/dist/components/cart/index.js +1 -1
  95. package/dist/components/common/index.js +1 -1
  96. package/dist/components/drawer/index.js +3 -3
  97. package/dist/components/home/index.js +6 -6
  98. package/dist/components/layout/CustomerLayout.d.ts.map +1 -1
  99. package/dist/components/layout/index.js +5 -5
  100. package/dist/components/product/ProductCard.d.ts.map +1 -1
  101. package/dist/components/product/index.js +4 -4
  102. package/dist/components/store/index.js +5 -5
  103. package/dist/{document-class-FVJTJ6MF.js → document-class-TAD4CME5.js} +4 -4
  104. package/dist/{document-class-FVJTJ6MF.js.map → document-class-TAD4CME5.js.map} +1 -1
  105. package/dist/hooks/index.js +3 -3
  106. package/dist/hooks/useGtm.js +3 -3
  107. package/dist/hooks/useMoney.js +3 -3
  108. package/dist/hooks/usePageConfig.d.ts.map +1 -1
  109. package/dist/hooks/useStore.js +3 -3
  110. package/dist/index.js +3 -3
  111. package/dist/{not-found-XAFDC4TX.js → not-found-RVRWK5EF.js} +53 -7
  112. package/dist/not-found-RVRWK5EF.js.map +1 -0
  113. package/dist/providers/index.js +3 -3
  114. package/dist/routes/account/orders/OrderSinglePage.d.ts +1 -1
  115. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  116. package/dist/routes/account/orders/OrdersPage.d.ts.map +1 -1
  117. package/dist/routes/account/orders.js +1 -1
  118. package/dist/routes/account.js +8 -8
  119. package/dist/routes/blog.js +5 -5
  120. package/dist/routes/brands.js +1 -1
  121. package/dist/routes/cart.js +8 -8
  122. package/dist/routes/home.js +7 -7
  123. package/dist/routes/loyalty.js +1 -1
  124. package/dist/routes/not-found.d.ts +1 -1
  125. package/dist/routes/not-found.d.ts.map +1 -1
  126. package/dist/routes/page.js +1 -1
  127. package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
  128. package/dist/routes/product-listing/useAppliedFilters.d.ts +43 -0
  129. package/dist/routes/product-listing/useAppliedFilters.d.ts.map +1 -0
  130. package/dist/routes/product-listing.js +141 -43
  131. package/dist/routes/product-listing.js.map +1 -1
  132. package/dist/routes/product-short-link.d.ts +20 -0
  133. package/dist/routes/product-short-link.d.ts.map +1 -0
  134. package/dist/routes/product.js +7 -7
  135. package/dist/routes/product.js.map +1 -1
  136. package/dist/routes/testimonials.js +1 -1
  137. package/dist/routes/thank-you/ThankYouPage.d.ts +1 -1
  138. package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
  139. package/dist/routes/thank-you.js +1 -1
  140. package/dist/skeleton.js +7 -7
  141. package/dist/tanstack.js +3 -3
  142. package/dist/types/index.d.ts +7 -0
  143. package/dist/types/index.d.ts.map +1 -1
  144. package/package.json +1 -1
  145. package/dist/CustomerLayout-BT7RWQCX.js.map +0 -1
  146. package/dist/OrderSinglePage-TDMSKXVM.js.map +0 -1
  147. package/dist/OrdersPage-RGP3F6ZR.js.map +0 -1
  148. package/dist/ThankYouPage-MRJZCNKI.js.map +0 -1
  149. package/dist/chunk-44G4RAUR.js.map +0 -1
  150. package/dist/chunk-C7RST4KQ.js.map +0 -1
  151. package/dist/chunk-CBNUZ7LI.js.map +0 -1
  152. package/dist/chunk-IBU4RNK5.js +0 -14
  153. package/dist/not-found-XAFDC4TX.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/api/product.ts"],"names":["product"],"mappings":"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","file":"chunk-CBNUZ7LI.js","sourcesContent":["import { queryOptions, defaultShouldDehydrateQuery } from '@tanstack/react-query';\nimport { api, getActiveScope } from './client';\nimport type { Product } from '../types';\nimport type { Pagination, PaginatedResult } from './types';\nimport { orThrow } from '../providers/NavigationProvider';\nimport { getTwilightContext } from '../twilight/context';\nimport type { ActiveScope } from '../utils/cookies';\n\n// ===== Filter Types =====\n\nexport interface FilterValue {\n key?: string;\n count?: number;\n value?: string;\n from?: number | '*';\n to?: number | '*';\n}\n\nexport interface Filter {\n key?: string;\n label?: string;\n type?: string;\n values?: FilterValue[];\n max?: number;\n min?: number;\n}\n\n// ===== Product List Types =====\n\nexport type ProductsListSource =\n | 'brands'\n | 'categories'\n | 'json'\n | 'landing-page'\n | 'latest'\n | 'offers'\n | 'recently'\n | 'related'\n | 'selected'\n | 'tags'\n | 'top-rated'\n | 'wishlist'\n | 'search'\n | 'sales'\n | 'reorder'\n | 'best_selling';\n\nexport interface ProductsListParams {\n /** Source type (wishlist, latest, brands, etc.) */\n source: ProductsListSource;\n /**\n * The ids the source reads, as an array: category, brand, tag or product ids\n * (`sourceValue: [708738657]`). Sent as `source_value[]`.\n */\n sourceValue?: string | number | number[] | null;\n /** The search words when `source` is `'search'`. Sent as `keyword`; other sources ignore it. */\n keyword?: string;\n /** Page number for offset-based pagination */\n page?: number;\n /** Cursor for cursor-based pagination (from previous response) */\n cursor?: string | null;\n /** Items per page (default: 15) */\n perPage?: number;\n /** Sort option */\n sort?: string;\n /** Enable filters on the response */\n filterable?: boolean;\n /** Abort signal for cancellation */\n signal?: AbortSignal;\n}\n\nexport type ProductsListResult = PaginatedResult<Product> & {\n filters?: Filter[];\n};\n\nexport interface ProductsListResponse {\n data: Product[];\n cursor?: Pagination;\n filters?: Filter[];\n}\n\n// ===== List-card preview cache =====\n// List payloads are a subset of details (one `image`, no `options` / `images[]`).\n// They live on a separate query key so they can paint a sheet/quick-view without\n// being treated as a successful `products/{id}/details` fetch.\n\nfunction queryClientOrNull() {\n try {\n const queryClient = getTwilightContext().queryClient;\n return queryClient && typeof queryClient.setQueryData === 'function' ? queryClient : null;\n } catch {\n return null;\n }\n}\n\nexport function productPreviewQueryKey(id: string) {\n return ['products', 'preview', String(id), { scope: getActiveScope() }] as const;\n}\n\nexport function productDetailQueryKey(id: string) {\n return ['products', 'detail', id, { scope: getActiveScope() }] as const;\n}\n\n/** True when this query is a list-card stand-in — skip it when dehydrating SSR. */\nexport function isProductPreviewQuery(query: { queryKey: readonly unknown[] }): boolean {\n return query.queryKey[0] === 'products' && query.queryKey[1] === 'preview';\n}\n\n/**\n * Default dehydrate policy (success) plus pending SSR-stream queries, minus\n * list-card stand-ins. Replacing the default wholesale would ship error states.\n */\nexport function shouldDehydrateQuery(\n query: Parameters<typeof defaultShouldDehydrateQuery>[0]\n): boolean {\n return (\n !isProductPreviewQuery(query) &&\n (defaultShouldDehydrateQuery(query) || query.state.status === 'pending')\n );\n}\n\n/**\n * Remember a list/card product so `product.queries.detail(id)` can use it as\n * `placeholderData` while details load. No-op if details for this id are already\n * cached. Themes that fetch products outside `product.list` should call this.\n */\nexport function rememberProductPreview(product: Product): void {\n const queryClient = queryClientOrNull();\n if (!queryClient || product?.id == null) return;\n const id = String(product.id);\n if (queryClient.getQueryState(productDetailQueryKey(id))?.status === 'success') return;\n queryClient.setQueryData(productPreviewQueryKey(id), product);\n}\n\nfunction scopeFromQueryKey(queryKey: readonly unknown[]): ActiveScope | null | undefined {\n const last = queryKey[queryKey.length - 1];\n if (last == null || typeof last !== 'object' || !('scope' in last)) return undefined;\n return (last as { scope: ActiveScope | null }).scope;\n}\n\nfunction isSameScope(a: ActiveScope | null | undefined, b: ActiveScope | null): boolean {\n if (a === undefined) return false;\n if (a === b) return true;\n if (a == null || b == null) return a == null && b == null;\n return (\n a.id === b.id &&\n a.type === b.type &&\n a.allocation_id === b.allocation_id &&\n a.allocation_type === b.allocation_type\n );\n}\n\nconst LIST_QUERY_PREFIXES = [\n ['products', 'list'],\n ['wishlist', 'list'],\n] as const;\n\n/**\n * Rebuild the scoped preview index from hydrated list/wishlist queries (SSR\n * dehydrate drops preview keys). Subsequent lookups hit `productPreviewQueryKey`.\n */\nfunction findProductInScopedLists(\n queryClient: NonNullable<ReturnType<typeof queryClientOrNull>>,\n id: string\n): Product | undefined {\n const scope = getActiveScope();\n let found: Product | undefined;\n for (const prefix of LIST_QUERY_PREFIXES) {\n for (const [queryKey, data] of queryClient.getQueriesData<ProductsListResult>({\n queryKey: prefix,\n })) {\n if (!isSameScope(scopeFromQueryKey(queryKey), scope)) continue;\n for (const item of data?.items ?? []) {\n if (item?.id == null) continue;\n rememberProductPreview(item);\n if (!found && String(item.id) === id) found = item;\n }\n }\n }\n return found;\n}\n\n/**\n * List-card product for `placeholderData`. Prefers the preview key; if that was\n * dropped on SSR dehydrate, rebuilds it from the current-scope list/wishlist.\n */\nexport function getProductPreview(id: string): Product | undefined {\n const queryClient = queryClientOrNull();\n if (!queryClient) return undefined;\n const key = String(id);\n return (\n queryClient.getQueryData(productPreviewQueryKey(key)) ??\n findProductInScopedLists(queryClient, key)\n );\n}\n\nfunction rememberProductPreviews(items: Product[]): void {\n for (const item of items) rememberProductPreview(item);\n}\n\n/**\n * Search sends its words as `keyword` (a `sourceValue` string is still read there, as before);\n * every other source sends its ids as `source_value[]`, which the API requires as an array.\n */\nfunction appendSourceParams(\n searchParams: URLSearchParams,\n { source, sourceValue, keyword }: Pick<ProductsListParams, 'source' | 'sourceValue' | 'keyword'>\n): void {\n if (source === 'search') {\n const words = keyword ?? sourceValue;\n if (words !== undefined) searchParams.set('keyword', String(words));\n } else if (Array.isArray(sourceValue)) {\n sourceValue.forEach((val) => searchParams.append('source_value[]', String(val)));\n } else if (sourceValue !== undefined) {\n searchParams.append('source_value[]', String(sourceValue));\n }\n}\n\n// ===== API Functions =====\n\nexport const product = {\n find: async (id: string): Promise<Product> => {\n const endpoint = `products/${id}/details?with[]=images&with[]=category&with[]=rating&with[]=notify_availability&with[]=tags&with[]=brand&with[]=options&with[]=skus&with[]=skus_availability&with[]=included_products&with[]=bundle&with[]=sold_quantity`;\n const { data } = await api.get(endpoint).json<{ data: Product }>();\n return data;\n },\n\n findOrThrow: (id: string): Promise<Product> => orThrow(product.find(id)),\n\n /**\n * Fetch products list with pagination support\n * Used by native ProductsList component for SSR loaders\n *\n * API pattern: GET /products?source=wishlist&page=1\n */\n list: async (params: ProductsListParams): Promise<ProductsListResult> => {\n const {\n source,\n sourceValue,\n keyword,\n page,\n cursor,\n perPage = 16,\n sort,\n filterable,\n signal,\n } = params;\n\n // Build URL with query parameters\n const searchParams = new URLSearchParams();\n searchParams.set('source', source);\n // Only send page when explicitly provided — cursor-based callers omit it entirely\n if (page !== undefined) searchParams.set('page', String(page));\n searchParams.set('per_page', String(perPage));\n\n appendSourceParams(searchParams, { source, sourceValue, keyword });\n\n // Add filterable parameter\n if (filterable !== undefined) {\n searchParams.set('filterable', filterable ? '1' : '0');\n }\n\n // Add sort parameter\n if (sort) {\n searchParams.set('sort', sort);\n }\n\n // Add cursor for cursor-based pagination\n if (cursor) {\n searchParams.set('cursor', cursor);\n }\n\n // Make the request\n const options: Record<string, unknown> = {};\n if (signal) options.signal = signal;\n\n const response = await api\n .get(`products?${searchParams.toString()}`, options as any)\n .json<ProductsListResponse>();\n\n const items = response.data ?? [];\n rememberProductPreviews(items);\n\n return {\n items,\n next: response.cursor?.next ?? null,\n filters: response.filters,\n };\n },\n\n queries: {\n detail: (id: string) =>\n queryOptions({\n // Stock and availability are resolved per branch allocation — same as the list.\n queryKey: productDetailQueryKey(id),\n queryFn: () => product.find(id),\n // List-card product, if one was remembered. Not written as the detail\n // cache entry — `queryFn` still hits products/{id}/details.\n placeholderData: () => getProductPreview(id),\n }),\n list: (params: Omit<ProductsListParams, 'signal'>) =>\n queryOptions({\n // Scope (branch) varies product availability — key must include it.\n queryKey: ['products', 'list', params, { scope: getActiveScope() }],\n queryFn: ({ signal }) => product.list({ ...params, signal }),\n }),\n },\n};\n"]}
@@ -1,14 +0,0 @@
1
- import { lazy } from 'react';
2
-
3
- // src/components/cart/lazy.ts
4
- var LazyCartItem = lazy(() => import('./CartItem-ROKMQFVJ.js').then((m) => ({ default: m.CartItem })));
5
- var LazyCartSummary = lazy(
6
- () => import('./CartSummary-EDAXR4VQ.js').then((m) => ({ default: m.CartSummary }))
7
- );
8
- var LazySeoCartWidget = lazy(
9
- () => import('./SeoCartWidget-XQLDKKSF.js').then((m) => ({ default: m.SeoCartWidget }))
10
- );
11
-
12
- export { LazyCartItem, LazyCartSummary, LazySeoCartWidget };
13
- //# sourceMappingURL=chunk-IBU4RNK5.js.map
14
- //# sourceMappingURL=chunk-IBU4RNK5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/routes/not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,SAAS,YAAA,CAAa,KAAA,GAA2B,EAAC,EAAG;AAC1D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,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,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-XAFDC4TX.js","sourcesContent":["import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\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\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 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"]}