@salla.sa/twilight-theme-engine 1.0.87 → 1.0.89
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.
- package/dist/{AddToCartForm-P644O2QL.js → AddToCartForm-DQO6VT4B.js} +3 -3
- package/dist/{AddToCartForm-P644O2QL.js.map → AddToCartForm-DQO6VT4B.js.map} +1 -1
- package/dist/{BlogAuthorPage-VWSO6MPY.js → BlogAuthorPage-V37VUW6D.js} +9 -9
- package/dist/{BlogAuthorPage-VWSO6MPY.js.map → BlogAuthorPage-V37VUW6D.js.map} +1 -1
- package/dist/{BlogCategoryPage-K2KSQ6T6.js → BlogCategoryPage-JNUNJSJZ.js} +9 -9
- package/dist/{BlogCategoryPage-K2KSQ6T6.js.map → BlogCategoryPage-JNUNJSJZ.js.map} +1 -1
- package/dist/{BlogPage-XRM7VWOZ.js → BlogPage-ZUQJEI4Y.js} +8 -8
- package/dist/{BlogPage-XRM7VWOZ.js.map → BlogPage-ZUQJEI4Y.js.map} +1 -1
- package/dist/{BlogSinglePage-XIAXT54H.js → BlogSinglePage-C4DZ77ZZ.js} +8 -8
- package/dist/{BlogSinglePage-XIAXT54H.js.map → BlogSinglePage-C4DZ77ZZ.js.map} +1 -1
- package/dist/{BlogTagPage-IHOA267V.js → BlogTagPage-IOC5THS6.js} +9 -9
- package/dist/{BlogTagPage-IHOA267V.js.map → BlogTagPage-IOC5THS6.js.map} +1 -1
- package/dist/{BrandsPage-ZFEILRT3.js → BrandsPage-FYSSGMW7.js} +8 -8
- package/dist/{BrandsPage-ZFEILRT3.js.map → BrandsPage-FYSSGMW7.js.map} +1 -1
- package/dist/{Breadcrumb-CVSISL2K.js → Breadcrumb-UZKM6E5D.js} +8 -8
- package/dist/{Breadcrumb-CVSISL2K.js.map → Breadcrumb-UZKM6E5D.js.map} +1 -1
- package/dist/{CartItem-EOI7P3JA.js → CartItem-RZHFJNYP.js} +8 -8
- package/dist/{CartItem-EOI7P3JA.js.map → CartItem-RZHFJNYP.js.map} +1 -1
- package/dist/{CartSummary-RZGUBDKJ.js → CartSummary-BTIONT3W.js} +8 -8
- package/dist/{CartSummary-RZGUBDKJ.js.map → CartSummary-BTIONT3W.js.map} +1 -1
- package/dist/{Copyright-5BLYSP24.js → Copyright-ABMWKKLY.js} +3 -3
- package/dist/{Copyright-5BLYSP24.js.map → Copyright-ABMWKKLY.js.map} +1 -1
- package/dist/{CustomerLayout-6F4BJAMU.js → CustomerLayout-SR7WXPZC.js} +8 -8
- package/dist/{CustomerLayout-6F4BJAMU.js.map → CustomerLayout-SR7WXPZC.js.map} +1 -1
- package/dist/{Footer-NF2NLDLR.js → Footer-Y56SQHHG.js} +4 -4
- package/dist/{Footer-NF2NLDLR.js.map → Footer-Y56SQHHG.js.map} +1 -1
- package/dist/{Header-6DQJ5X7J.js → Header-S36FMWQ5.js} +4 -4
- package/dist/{Header-6DQJ5X7J.js.map → Header-S36FMWQ5.js.map} +1 -1
- package/dist/{LoyaltyPage-YHWHIWCS.js → LoyaltyPage-IWCKSJTJ.js} +8 -8
- package/dist/{LoyaltyPage-YHWHIWCS.js.map → LoyaltyPage-IWCKSJTJ.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-T6K3H5A5.js → LoyaltyPointsPage-7DWWY4LM.js} +3 -3
- package/dist/{LoyaltyPointsPage-T6K3H5A5.js.map → LoyaltyPointsPage-7DWWY4LM.js.map} +1 -1
- package/dist/{MainMenu-Y2TAM7DK.js → MainMenu-DBTYYNNI.js} +3 -3
- package/dist/{MainMenu-Y2TAM7DK.js.map → MainMenu-DBTYYNNI.js.map} +1 -1
- package/dist/{MasterLayout-GBEEFFPG.js → MasterLayout-ZXZMATPB.js} +8 -8
- package/dist/{MasterLayout-GBEEFFPG.js.map → MasterLayout-ZXZMATPB.js.map} +1 -1
- package/dist/{MobileMenu-RE5XVGZL.js → MobileMenu-HDGZFWZR.js} +8 -8
- package/dist/{MobileMenu-RE5XVGZL.js.map → MobileMenu-HDGZFWZR.js.map} +1 -1
- package/dist/{NotificationsPage-QAFWZAS3.js → NotificationsPage-7DF3AJLC.js} +8 -8
- package/dist/{NotificationsPage-QAFWZAS3.js.map → NotificationsPage-7DF3AJLC.js.map} +1 -1
- package/dist/{OrderSinglePage-T4PRXTKG.js → OrderSinglePage-FLHEF4AK.js} +8 -8
- package/dist/{OrderSinglePage-T4PRXTKG.js.map → OrderSinglePage-FLHEF4AK.js.map} +1 -1
- package/dist/{OrdersPage-3S6ZS56E.js → OrdersPage-6BVIHODF.js} +8 -8
- package/dist/{OrdersPage-3S6ZS56E.js.map → OrdersPage-6BVIHODF.js.map} +1 -1
- package/dist/{PageSingle-W3UTXDOW.js → PageSingle-DJNL362R.js} +3 -3
- package/dist/{PageSingle-W3UTXDOW.js.map → PageSingle-DJNL362R.js.map} +1 -1
- package/dist/{ProductDetails-X5A7TG3F.js → ProductDetails-PYPZUTCN.js} +3 -3
- package/dist/{ProductDetails-X5A7TG3F.js.map → ProductDetails-PYPZUTCN.js.map} +1 -1
- package/dist/{ProfilePage-DUH3AILJ.js → ProfilePage-6W7C7FXQ.js} +8 -8
- package/dist/{ProfilePage-DUH3AILJ.js.map → ProfilePage-6W7C7FXQ.js.map} +1 -1
- package/dist/{ReviewsPage-2C2P7VS3.js → ReviewsPage-HGXGW7WU.js} +3 -3
- package/dist/{ReviewsPage-2C2P7VS3.js.map → ReviewsPage-HGXGW7WU.js.map} +1 -1
- package/dist/{SeoCartWidget-VYLGEW2I.js → SeoCartWidget-ZB6GY65W.js} +8 -8
- package/dist/{SeoCartWidget-VYLGEW2I.js.map → SeoCartWidget-ZB6GY65W.js.map} +1 -1
- package/dist/{SettingsPage-OZJEW6CW.js → SettingsPage-ZSTD6TOR.js} +8 -8
- package/dist/{SettingsPage-OZJEW6CW.js.map → SettingsPage-ZSTD6TOR.js.map} +1 -1
- package/dist/{StoreClosedNotification-QHIZBNXO.js → StoreClosedNotification-NNCBUMMX.js} +9 -9
- package/dist/{StoreClosedNotification-QHIZBNXO.js.map → StoreClosedNotification-NNCBUMMX.js.map} +1 -1
- package/dist/{TestimonialsPage-K6WJKKME.js → TestimonialsPage-36QYN7RD.js} +3 -3
- package/dist/{TestimonialsPage-K6WJKKME.js.map → TestimonialsPage-36QYN7RD.js.map} +1 -1
- package/dist/{ThankYouPage-H6QQEI5R.js → ThankYouPage-BD42QNKE.js} +8 -8
- package/dist/{ThankYouPage-H6QQEI5R.js.map → ThankYouPage-BD42QNKE.js.map} +1 -1
- package/dist/{WalletPage-G5IBGN6B.js → WalletPage-5LHVR2EA.js} +8 -8
- package/dist/{WalletPage-G5IBGN6B.js.map → WalletPage-5LHVR2EA.js.map} +1 -1
- package/dist/{WishlistPage-AIOTAB6L.js → WishlistPage-2NYODMHF.js} +8 -8
- package/dist/{WishlistPage-AIOTAB6L.js.map → WishlistPage-2NYODMHF.js.map} +1 -1
- package/dist/{chunk-GJ5IMPNY.js → chunk-2NBURJFN.js} +7 -7
- package/dist/{chunk-GJ5IMPNY.js.map → chunk-2NBURJFN.js.map} +1 -1
- package/dist/{chunk-E7WWO3V3.js → chunk-4446UB3M.js} +3 -3
- package/dist/{chunk-E7WWO3V3.js.map → chunk-4446UB3M.js.map} +1 -1
- package/dist/{chunk-N3BCZIGS.js → chunk-4UMNQ4EQ.js} +4 -4
- package/dist/{chunk-N3BCZIGS.js.map → chunk-4UMNQ4EQ.js.map} +1 -1
- package/dist/{chunk-TZ3E5BN4.js → chunk-65KBXGDT.js} +24 -10
- package/dist/chunk-65KBXGDT.js.map +1 -0
- package/dist/{chunk-FYHF62KI.js → chunk-7U5HUPY3.js} +5 -5
- package/dist/{chunk-FYHF62KI.js.map → chunk-7U5HUPY3.js.map} +1 -1
- package/dist/{chunk-NXQZ4RLM.js → chunk-7XM2TC27.js} +5 -5
- package/dist/{chunk-NXQZ4RLM.js.map → chunk-7XM2TC27.js.map} +1 -1
- package/dist/{chunk-3LXB4VFK.js → chunk-DXBYD75N.js} +15 -3
- package/dist/chunk-DXBYD75N.js.map +1 -0
- package/dist/{chunk-UQIVX4YA.js → chunk-JRFGBIX2.js} +3 -3
- package/dist/{chunk-UQIVX4YA.js.map → chunk-JRFGBIX2.js.map} +1 -1
- package/dist/{chunk-EZHXVHXY.js → chunk-JVHC4U2E.js} +4 -4
- package/dist/{chunk-EZHXVHXY.js.map → chunk-JVHC4U2E.js.map} +1 -1
- package/dist/{chunk-XKNXYQ2K.js → chunk-L3U7C2DP.js} +6 -6
- package/dist/{chunk-XKNXYQ2K.js.map → chunk-L3U7C2DP.js.map} +1 -1
- package/dist/{chunk-BCJTF3V7.js → chunk-PNNBK26L.js} +5 -5
- package/dist/{chunk-BCJTF3V7.js.map → chunk-PNNBK26L.js.map} +1 -1
- package/dist/{chunk-PU2LHFDQ.js → chunk-TJGHOSES.js} +16 -14
- package/dist/chunk-TJGHOSES.js.map +1 -0
- package/dist/{chunk-FWYKOQV5.js → chunk-VQNLXDPQ.js} +17 -20
- package/dist/chunk-VQNLXDPQ.js.map +1 -0
- package/dist/chunk-WKSTFIQX.js +14 -0
- package/dist/{chunk-LWPKBVIE.js.map → chunk-WKSTFIQX.js.map} +1 -1
- package/dist/{chunk-PCURRKIH.js → chunk-XKIVS72A.js} +7 -6
- package/dist/chunk-XKIVS72A.js.map +1 -0
- package/dist/{chunk-XO7B3VWS.js → chunk-Z3SSHDVW.js} +3 -3
- package/dist/{chunk-XO7B3VWS.js.map → chunk-Z3SSHDVW.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +6 -6
- package/dist/components/home/index.js +8 -8
- package/dist/components/layout/Footer.d.ts.map +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/product/index.js +7 -7
- package/dist/components/store/index.js +8 -8
- package/dist/{document-class-FRL7JHWD.js → document-class-T4LRZRRH.js} +6 -6
- package/dist/{document-class-FRL7JHWD.js.map → document-class-T4LRZRRH.js.map} +1 -1
- package/dist/hooks/index.js +6 -6
- package/dist/hooks/useGtm.js +6 -6
- package/dist/hooks/useMoney.js +6 -6
- package/dist/hooks/useStore.js +6 -6
- package/dist/index.js +6 -6
- package/dist/{not-found-E6AR4CZ4.js → not-found-3QOH2I4S.js} +8 -8
- package/dist/{not-found-E6AR4CZ4.js.map → not-found-3QOH2I4S.js.map} +1 -1
- package/dist/providers/index.js +6 -6
- package/dist/routes/account/orders.js +2 -2
- package/dist/routes/account.js +7 -7
- package/dist/routes/blog.js +6 -6
- package/dist/routes/brands.js +2 -2
- package/dist/routes/cart.js +10 -10
- package/dist/routes/home/index.d.ts.map +1 -1
- package/dist/routes/home.js +9 -9
- package/dist/routes/loyalty.js +3 -3
- package/dist/routes/page.js +2 -2
- package/dist/routes/product-listing/index.d.ts.map +1 -1
- package/dist/routes/product-listing.js +9 -9
- package/dist/routes/product-listing.js.map +1 -1
- package/dist/routes/product.js +8 -8
- package/dist/routes/testimonials.js +3 -3
- package/dist/routes/thank-you.js +2 -2
- package/dist/skeleton.js +9 -9
- package/dist/tanstack/head.d.ts.map +1 -1
- package/dist/tanstack.js +4 -4
- package/dist/utils/apply-theme.d.ts.map +1 -1
- package/dist/utils/baseHead.d.ts +4 -2
- package/dist/utils/baseHead.d.ts.map +1 -1
- package/dist/utils/baseHead.js +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/vite/index.js +2 -1
- package/dist/vite/index.js.map +1 -1
- package/package.json +1 -1
- package/tailwind/components/layout/Footer.tsx.txt +19 -16
- package/tailwind/routes/home/index.tsx.txt +5 -3
- package/tailwind/routes/product-listing/index.tsx.txt +8 -2
- package/dist/chunk-3LXB4VFK.js.map +0 -1
- package/dist/chunk-FWYKOQV5.js.map +0 -1
- package/dist/chunk-LWPKBVIE.js +0 -14
- package/dist/chunk-PCURRKIH.js.map +0 -1
- package/dist/chunk-PU2LHFDQ.js.map +0 -1
- package/dist/chunk-TZ3E5BN4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/common/lazy.ts","../src/components/common/Image.tsx","../src/components/common/DeferredData.tsx"],"names":["Image","memo","DeferredRenderer","jsx"],"mappings":"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","file":"chunk-XO7B3VWS.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded common components\n * Use these for code-splitting non-critical components\n *\n * NOTE: Skeleton components are sourced from @salla.sa/twilight-components-react\n * because they must render instantly during route transitions.\n */\nexport const LazyBreadcrumb = lazy(() =>\n import('./Breadcrumb').then((m) => ({ default: m.Breadcrumb }))\n);\n\nexport const LazyNoContent = lazy(() =>\n import('./NoContent').then((m) => ({ default: m.NoContent }))\n);\n\nexport const LazyRenderWhenVisible = lazy(() =>\n import('./RenderWhenVisible').then((m) => ({ default: m.RenderWhenVisible }))\n);\n\nexport const LazyCurrencySymbol = lazy(() =>\n import('./CurrencySymbol').then((m) => ({ default: m.CurrencySymbol }))\n);\n\nexport const LazyErrorPage = lazy(() =>\n import('./ErrorPage').then((m) => ({ default: m.ErrorPage }))\n);\n","import { memo } from 'react';\nimport { getCdnImageSrcSet, getCdnImageUrl } from '../../utils/cdn-image';\n\nexport interface ImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n /** Image source URL */\n src?: string;\n /** Alt text for accessibility */\n alt: string;\n /** Whether this image is above the fold / LCP candidate */\n priority?: boolean;\n /** Aspect ratio for CLS prevention (e.g. \"16/9\", \"1/1\", \"4/3\") */\n aspectRatio?: string;\n /** Object fit mode */\n objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';\n /** Mobile image source for <picture> element */\n mobileSrc?: string;\n /** Mobile breakpoint for <source> media query (default: 768px) */\n mobileBreakpoint?: number;\n /** Skip the wrapper div */\n noWrapper?: boolean;\n /**\n * CDN widths for a density `srcset`. Pass `sizes` so the browser picks a\n * candidate close to the displayed CSS size.\n */\n srcSetWidths?: readonly number[];\n}\n\n/**\n * Optimized Image component with native browser lazy loading.\n *\n * - Uses `loading=\"lazy\"` + `decoding=\"async\"` by default for below-the-fold images.\n * - Uses `loading=\"eager\"` + `fetchPriority=\"high\"` for priority (above-the-fold / LCP) images.\n * - Supports responsive `<picture>` with mobile source.\n * - Provides `aspectRatio` for CLS prevention.\n * - When `srcSetWidths` + `sizes` are set, emits a sized CDN `srcset`.\n */\nexport const Image = memo(function Image({\n src,\n alt,\n priority = false,\n aspectRatio,\n objectFit = 'cover',\n mobileSrc,\n mobileBreakpoint = 768,\n noWrapper = false,\n className = '',\n style,\n width,\n height,\n sizes,\n srcSet: srcSetProp,\n srcSetWidths,\n ...rest\n}: ImageProps) {\n if (!src) return null;\n\n const generatedSrcSet =\n srcSetProp || (srcSetWidths?.length ? getCdnImageSrcSet(src, srcSetWidths) : undefined);\n const generatedMobileSrcSet =\n srcSetWidths?.length && mobileSrc ? getCdnImageSrcSet(mobileSrc, srcSetWidths) : undefined;\n const cdnWidth = srcSetWidths?.length\n ? width != null && srcSetWidths.includes(Number(width))\n ? Number(width)\n : srcSetWidths[0]\n : width;\n // Width-only CDN URLs so `src` matches a srcset candidate for preload.\n const cdnOptions = generatedSrcSet ? { width: cdnWidth } : { width: cdnWidth, height };\n\n const optimizedSrc = getCdnImageUrl(src, cdnOptions);\n const optimizedMobileSrc = getCdnImageUrl(mobileSrc, cdnOptions);\n\n const objectFitClass = `object-${objectFit}`;\n const imgClasses = [className, objectFitClass].filter(Boolean).join(' ');\n\n const loadingProps: React.ImgHTMLAttributes<HTMLImageElement> = priority\n ? { loading: 'eager' as const, fetchPriority: 'high' as const, decoding: 'sync' as const }\n : { loading: 'lazy' as const, decoding: 'async' as const };\n\n const hasWrapper = !noWrapper && !!aspectRatio;\n\n const img = (\n <img\n src={optimizedSrc}\n alt={alt}\n className={imgClasses}\n width={width}\n height={height}\n sizes={sizes}\n srcSet={generatedSrcSet}\n // With a wrapper, `style` goes to the wrapper; otherwise it must land on the <img>.\n style={hasWrapper ? undefined : style}\n {...loadingProps}\n {...rest}\n />\n );\n\n const imgElement = optimizedMobileSrc ? (\n <picture>\n <source\n media={`(max-width: ${mobileBreakpoint}px)`}\n srcSet={generatedMobileSrcSet || optimizedMobileSrc}\n sizes={generatedMobileSrcSet ? sizes : undefined}\n />\n {img}\n </picture>\n ) : (\n img\n );\n\n if (!hasWrapper) {\n return imgElement;\n }\n\n return (\n <div className=\"relative overflow-hidden\" style={{ aspectRatio, ...style }}>\n {imgElement}\n </div>\n );\n});\n","import { Suspense, memo, use, type ReactNode } from 'react';\n\nexport interface DeferredDataProps<T> {\n promise: Promise<T> | T;\n fallback: ReactNode;\n children: (data: T) => ReactNode;\n}\n\nconst DEFERRED_KEY = Symbol.for('twilight.deferred');\n\ninterface DeferredState<T> {\n status: 'pending' | 'success' | 'error';\n value?: T;\n error?: unknown;\n}\n\nexport interface DeferredPromise<T> extends Promise<T> {\n [DEFERRED_KEY]?: DeferredState<T>;\n}\n\nconst seenPromises = typeof WeakSet !== 'undefined' ? new WeakSet() : null;\n\nfunction defer<T>(promise: Promise<T>): DeferredPromise<T> {\n const existing = (promise as DeferredPromise<T>)[DEFERRED_KEY];\n if (existing) return promise as DeferredPromise<T>;\n\n const state: DeferredState<T> = { status: 'pending' };\n\n const deferred = promise as DeferredPromise<T>;\n deferred[DEFERRED_KEY] = state;\n\n promise.then(\n (value) => {\n state.status = 'success';\n state.value = value;\n },\n (error) => {\n state.status = 'error';\n state.error = error;\n }\n );\n\n return deferred;\n}\n\nconst DeferredRenderer = memo(function DeferredRenderer<T>({\n promise,\n children,\n}: {\n promise: DeferredPromise<T>;\n children: (data: T) => ReactNode;\n}) {\n const state = promise[DEFERRED_KEY];\n\n if (state?.status === 'success') {\n return children(state.value!);\n }\n\n if (state?.status === 'error') {\n throw state.error;\n }\n\n const data = use(promise);\n return children(data);\n}) as <T>(props: { promise: DeferredPromise<T>; children: (data: T) => ReactNode }) => ReactNode;\n\nfunction DeferredFallback<T>({\n promise,\n fallback,\n children,\n}: {\n promise: DeferredPromise<T>;\n fallback: ReactNode;\n children: (data: T) => ReactNode;\n}) {\n const state = promise[DEFERRED_KEY];\n if (state?.status === 'success') {\n return children(state.value!);\n }\n return <>{fallback}</>;\n}\n\nexport function resolveDeferred<T>(\n promiseOrValue: Promise<T> | T | undefined\n): T | Promise<T> | undefined {\n if (promiseOrValue == null || !(promiseOrValue instanceof Promise)) return promiseOrValue;\n const deferred = defer(promiseOrValue);\n const state = deferred[DEFERRED_KEY];\n if (state?.status === 'success') return state.value as T;\n return promiseOrValue;\n}\n\nexport function DeferredData<T>({ promise, fallback, children }: DeferredDataProps<T>) {\n if (!(promise instanceof Promise)) {\n return children(promise);\n }\n\n if (seenPromises && promise instanceof Promise) seenPromises.add(promise);\n\n const deferred = defer(promise);\n const state = deferred[DEFERRED_KEY];\n\n if (state?.status === 'success') {\n return children(state.value!);\n }\n\n if (state?.status === 'error') {\n throw state.error;\n }\n\n return (\n <Suspense\n fallback={\n <DeferredFallback promise={deferred} fallback={fallback}>\n {children}\n </DeferredFallback>\n }\n >\n <DeferredRenderer promise={deferred}>{children}</DeferredRenderer>\n </Suspense>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/common/lazy.ts","../src/components/common/Image.tsx","../src/components/common/DeferredData.tsx"],"names":["Image","memo","DeferredRenderer","jsx"],"mappings":"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","file":"chunk-Z3SSHDVW.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded common components\n * Use these for code-splitting non-critical components\n *\n * NOTE: Skeleton components are sourced from @salla.sa/twilight-components-react\n * because they must render instantly during route transitions.\n */\nexport const LazyBreadcrumb = lazy(() =>\n import('./Breadcrumb').then((m) => ({ default: m.Breadcrumb }))\n);\n\nexport const LazyNoContent = lazy(() =>\n import('./NoContent').then((m) => ({ default: m.NoContent }))\n);\n\nexport const LazyRenderWhenVisible = lazy(() =>\n import('./RenderWhenVisible').then((m) => ({ default: m.RenderWhenVisible }))\n);\n\nexport const LazyCurrencySymbol = lazy(() =>\n import('./CurrencySymbol').then((m) => ({ default: m.CurrencySymbol }))\n);\n\nexport const LazyErrorPage = lazy(() =>\n import('./ErrorPage').then((m) => ({ default: m.ErrorPage }))\n);\n","import { memo } from 'react';\nimport { getCdnImageSrcSet, getCdnImageUrl } from '../../utils/cdn-image';\n\nexport interface ImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n /** Image source URL */\n src?: string;\n /** Alt text for accessibility */\n alt: string;\n /** Whether this image is above the fold / LCP candidate */\n priority?: boolean;\n /** Aspect ratio for CLS prevention (e.g. \"16/9\", \"1/1\", \"4/3\") */\n aspectRatio?: string;\n /** Object fit mode */\n objectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';\n /** Mobile image source for <picture> element */\n mobileSrc?: string;\n /** Mobile breakpoint for <source> media query (default: 768px) */\n mobileBreakpoint?: number;\n /** Skip the wrapper div */\n noWrapper?: boolean;\n /**\n * CDN widths for a density `srcset`. Pass `sizes` so the browser picks a\n * candidate close to the displayed CSS size.\n */\n srcSetWidths?: readonly number[];\n}\n\n/**\n * Optimized Image component with native browser lazy loading.\n *\n * - Uses `loading=\"lazy\"` + `decoding=\"async\"` by default for below-the-fold images.\n * - Uses `loading=\"eager\"` + `fetchPriority=\"high\"` for priority (above-the-fold / LCP) images.\n * - Supports responsive `<picture>` with mobile source.\n * - Provides `aspectRatio` for CLS prevention.\n * - When `srcSetWidths` + `sizes` are set, emits a sized CDN `srcset`.\n */\nexport const Image = memo(function Image({\n src,\n alt,\n priority = false,\n aspectRatio,\n objectFit = 'cover',\n mobileSrc,\n mobileBreakpoint = 768,\n noWrapper = false,\n className = '',\n style,\n width,\n height,\n sizes,\n srcSet: srcSetProp,\n srcSetWidths,\n ...rest\n}: ImageProps) {\n if (!src) return null;\n\n const generatedSrcSet =\n srcSetProp || (srcSetWidths?.length ? getCdnImageSrcSet(src, srcSetWidths) : undefined);\n const generatedMobileSrcSet =\n srcSetWidths?.length && mobileSrc ? getCdnImageSrcSet(mobileSrc, srcSetWidths) : undefined;\n const cdnWidth = srcSetWidths?.length\n ? width != null && srcSetWidths.includes(Number(width))\n ? Number(width)\n : srcSetWidths[0]\n : width;\n // Width-only CDN URLs so `src` matches a srcset candidate for preload.\n const cdnOptions = generatedSrcSet ? { width: cdnWidth } : { width: cdnWidth, height };\n\n const optimizedSrc = getCdnImageUrl(src, cdnOptions);\n const optimizedMobileSrc = getCdnImageUrl(mobileSrc, cdnOptions);\n\n const objectFitClass = `object-${objectFit}`;\n const imgClasses = [className, objectFitClass].filter(Boolean).join(' ');\n\n const loadingProps: React.ImgHTMLAttributes<HTMLImageElement> = priority\n ? { loading: 'eager' as const, fetchPriority: 'high' as const, decoding: 'sync' as const }\n : { loading: 'lazy' as const, decoding: 'async' as const };\n\n const hasWrapper = !noWrapper && !!aspectRatio;\n\n const img = (\n <img\n src={optimizedSrc}\n alt={alt}\n className={imgClasses}\n width={width}\n height={height}\n sizes={sizes}\n srcSet={generatedSrcSet}\n // With a wrapper, `style` goes to the wrapper; otherwise it must land on the <img>.\n style={hasWrapper ? undefined : style}\n {...loadingProps}\n {...rest}\n />\n );\n\n const imgElement = optimizedMobileSrc ? (\n <picture>\n <source\n media={`(max-width: ${mobileBreakpoint}px)`}\n srcSet={generatedMobileSrcSet || optimizedMobileSrc}\n sizes={generatedMobileSrcSet ? sizes : undefined}\n />\n {img}\n </picture>\n ) : (\n img\n );\n\n if (!hasWrapper) {\n return imgElement;\n }\n\n return (\n <div className=\"relative overflow-hidden\" style={{ aspectRatio, ...style }}>\n {imgElement}\n </div>\n );\n});\n","import { Suspense, memo, use, type ReactNode } from 'react';\n\nexport interface DeferredDataProps<T> {\n promise: Promise<T> | T;\n fallback: ReactNode;\n children: (data: T) => ReactNode;\n}\n\nconst DEFERRED_KEY = Symbol.for('twilight.deferred');\n\ninterface DeferredState<T> {\n status: 'pending' | 'success' | 'error';\n value?: T;\n error?: unknown;\n}\n\nexport interface DeferredPromise<T> extends Promise<T> {\n [DEFERRED_KEY]?: DeferredState<T>;\n}\n\nconst seenPromises = typeof WeakSet !== 'undefined' ? new WeakSet() : null;\n\nfunction defer<T>(promise: Promise<T>): DeferredPromise<T> {\n const existing = (promise as DeferredPromise<T>)[DEFERRED_KEY];\n if (existing) return promise as DeferredPromise<T>;\n\n const state: DeferredState<T> = { status: 'pending' };\n\n const deferred = promise as DeferredPromise<T>;\n deferred[DEFERRED_KEY] = state;\n\n promise.then(\n (value) => {\n state.status = 'success';\n state.value = value;\n },\n (error) => {\n state.status = 'error';\n state.error = error;\n }\n );\n\n return deferred;\n}\n\nconst DeferredRenderer = memo(function DeferredRenderer<T>({\n promise,\n children,\n}: {\n promise: DeferredPromise<T>;\n children: (data: T) => ReactNode;\n}) {\n const state = promise[DEFERRED_KEY];\n\n if (state?.status === 'success') {\n return children(state.value!);\n }\n\n if (state?.status === 'error') {\n throw state.error;\n }\n\n const data = use(promise);\n return children(data);\n}) as <T>(props: { promise: DeferredPromise<T>; children: (data: T) => ReactNode }) => ReactNode;\n\nfunction DeferredFallback<T>({\n promise,\n fallback,\n children,\n}: {\n promise: DeferredPromise<T>;\n fallback: ReactNode;\n children: (data: T) => ReactNode;\n}) {\n const state = promise[DEFERRED_KEY];\n if (state?.status === 'success') {\n return children(state.value!);\n }\n return <>{fallback}</>;\n}\n\nexport function resolveDeferred<T>(\n promiseOrValue: Promise<T> | T | undefined\n): T | Promise<T> | undefined {\n if (promiseOrValue == null || !(promiseOrValue instanceof Promise)) return promiseOrValue;\n const deferred = defer(promiseOrValue);\n const state = deferred[DEFERRED_KEY];\n if (state?.status === 'success') return state.value as T;\n return promiseOrValue;\n}\n\nexport function DeferredData<T>({ promise, fallback, children }: DeferredDataProps<T>) {\n if (!(promise instanceof Promise)) {\n return children(promise);\n }\n\n if (seenPromises && promise instanceof Promise) seenPromises.add(promise);\n\n const deferred = defer(promise);\n const state = deferred[DEFERRED_KEY];\n\n if (state?.status === 'success') {\n return children(state.value!);\n }\n\n if (state?.status === 'error') {\n throw state.error;\n }\n\n return (\n <Suspense\n fallback={\n <DeferredFallback promise={deferred} fallback={fallback}>\n {children}\n </DeferredFallback>\n }\n >\n <DeferredRenderer promise={deferred}>{children}</DeferredRenderer>\n </Suspense>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-
|
|
1
|
+
export { LazyCartItem as CartItem, LazyCartSummary as CartSummary, LazySeoCartWidget as SeoCartWidget } from '../../chunk-WKSTFIQX.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-
|
|
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-Z3SSHDVW.js';
|
|
2
2
|
export { Link } from '../../chunk-AXW67SY7.js';
|
|
3
3
|
import '../../chunk-BYMOPN2S.js';
|
|
4
4
|
import '../../chunk-SKLEJJ6M.js';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export { Drawer } from '../../chunk-6TKIUG5C.js';
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
2
|
+
import '../../chunk-TJGHOSES.js';
|
|
3
|
+
import '../../chunk-7XM2TC27.js';
|
|
4
|
+
import '../../chunk-VQNLXDPQ.js';
|
|
5
|
+
import '../../chunk-4446UB3M.js';
|
|
6
6
|
import '../../chunk-2JV6WZ6O.js';
|
|
7
7
|
import '../../chunk-RV54D2D7.js';
|
|
8
8
|
import '../../chunk-ZVZGLEZ6.js';
|
|
9
9
|
import '../../chunk-VVZNW5CB.js';
|
|
10
10
|
import '../../chunk-5G7NYNX6.js';
|
|
11
11
|
import '../../chunk-GD26FI4J.js';
|
|
12
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-65KBXGDT.js';
|
|
13
13
|
import '../../chunk-6ZMNTJM3.js';
|
|
14
14
|
import '../../chunk-OUW6WESU.js';
|
|
15
15
|
import '../../chunk-SAGXF3MU.js';
|
|
@@ -33,7 +33,7 @@ import '../../chunk-5XDPAKF5.js';
|
|
|
33
33
|
import '../../chunk-GCPEMNSU.js';
|
|
34
34
|
import '../../chunk-QGOPTVV5.js';
|
|
35
35
|
import '../../chunk-TYNZ5B2B.js';
|
|
36
|
-
import '../../chunk-
|
|
36
|
+
import '../../chunk-Z3SSHDVW.js';
|
|
37
37
|
import '../../chunk-AXW67SY7.js';
|
|
38
38
|
import '../../chunk-BYMOPN2S.js';
|
|
39
39
|
import '../../chunk-SKLEJJ6M.js';
|
|
@@ -1,19 +1,19 @@
|
|
|
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-
|
|
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-4UMNQ4EQ.js';
|
|
2
2
|
import '../../chunk-FZYR4BA2.js';
|
|
3
3
|
import '../../chunk-556OT3BN.js';
|
|
4
|
-
import '../../chunk-
|
|
4
|
+
import '../../chunk-L3U7C2DP.js';
|
|
5
5
|
import '../../chunk-Y32RHCOH.js';
|
|
6
|
-
import '../../chunk-
|
|
7
|
-
import '../../chunk-
|
|
8
|
-
import '../../chunk-
|
|
9
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-TJGHOSES.js';
|
|
7
|
+
import '../../chunk-7XM2TC27.js';
|
|
8
|
+
import '../../chunk-VQNLXDPQ.js';
|
|
9
|
+
import '../../chunk-4446UB3M.js';
|
|
10
10
|
import '../../chunk-2JV6WZ6O.js';
|
|
11
11
|
import '../../chunk-RV54D2D7.js';
|
|
12
12
|
import '../../chunk-ZVZGLEZ6.js';
|
|
13
13
|
import '../../chunk-VVZNW5CB.js';
|
|
14
14
|
import '../../chunk-5G7NYNX6.js';
|
|
15
15
|
import '../../chunk-GD26FI4J.js';
|
|
16
|
-
import '../../chunk-
|
|
16
|
+
import '../../chunk-65KBXGDT.js';
|
|
17
17
|
import '../../chunk-6ZMNTJM3.js';
|
|
18
18
|
import '../../chunk-OUW6WESU.js';
|
|
19
19
|
import '../../chunk-SAGXF3MU.js';
|
|
@@ -37,7 +37,7 @@ import '../../chunk-5XDPAKF5.js';
|
|
|
37
37
|
import '../../chunk-GCPEMNSU.js';
|
|
38
38
|
import '../../chunk-QGOPTVV5.js';
|
|
39
39
|
import '../../chunk-TYNZ5B2B.js';
|
|
40
|
-
import '../../chunk-
|
|
40
|
+
import '../../chunk-Z3SSHDVW.js';
|
|
41
41
|
import '../../chunk-AXW67SY7.js';
|
|
42
42
|
import '../../chunk-BYMOPN2S.js';
|
|
43
43
|
import '../../chunk-SKLEJJ6M.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Footer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Footer.tsx"],"names":[],"mappings":"AAsQA,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAe,EAAE,GAAE,WAAgB,+BAsD3D"}
|
|
@@ -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-
|
|
1
|
+
export { LazyCopyright as Copyright, LazyCustomerLayout as CustomerLayout, LazyFooter as Footer, LazyHeader as Header, LazyMasterLayout as MasterLayout, LazyWidgetHead as WidgetHead } from '../../chunk-2NBURJFN.js';
|
|
2
2
|
export { PageAdvertisements } from '../../chunk-DBW7XXNE.js';
|
|
3
3
|
export { pushEqualHeightConfig } from '../../chunk-V2ZDTY6H.js';
|
|
4
4
|
import '../../chunk-IVBOLREE.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-
|
|
1
|
+
export { LazyAddToCartForm as AddToCartForm, ProductCard, LazyProductDetails as ProductDetails, ProductGallery } from '../../chunk-L3U7C2DP.js';
|
|
2
2
|
import '../../chunk-Y32RHCOH.js';
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
6
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-TJGHOSES.js';
|
|
4
|
+
import '../../chunk-7XM2TC27.js';
|
|
5
|
+
import '../../chunk-VQNLXDPQ.js';
|
|
6
|
+
import '../../chunk-4446UB3M.js';
|
|
7
7
|
import '../../chunk-2JV6WZ6O.js';
|
|
8
8
|
import '../../chunk-RV54D2D7.js';
|
|
9
9
|
import '../../chunk-ZVZGLEZ6.js';
|
|
10
10
|
import '../../chunk-VVZNW5CB.js';
|
|
11
11
|
import '../../chunk-5G7NYNX6.js';
|
|
12
12
|
import '../../chunk-GD26FI4J.js';
|
|
13
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-65KBXGDT.js';
|
|
14
14
|
import '../../chunk-6ZMNTJM3.js';
|
|
15
15
|
import '../../chunk-OUW6WESU.js';
|
|
16
16
|
import '../../chunk-SAGXF3MU.js';
|
|
@@ -34,7 +34,7 @@ import '../../chunk-5XDPAKF5.js';
|
|
|
34
34
|
import '../../chunk-GCPEMNSU.js';
|
|
35
35
|
import '../../chunk-QGOPTVV5.js';
|
|
36
36
|
import '../../chunk-TYNZ5B2B.js';
|
|
37
|
-
import '../../chunk-
|
|
37
|
+
import '../../chunk-Z3SSHDVW.js';
|
|
38
38
|
import '../../chunk-AXW67SY7.js';
|
|
39
39
|
import '../../chunk-BYMOPN2S.js';
|
|
40
40
|
import '../../chunk-SKLEJJ6M.js';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { StoreClosedNotification } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
1
|
+
export { StoreClosedNotification } from '../../chunk-JRFGBIX2.js';
|
|
2
|
+
import '../../chunk-TJGHOSES.js';
|
|
3
|
+
import '../../chunk-7XM2TC27.js';
|
|
4
|
+
import '../../chunk-VQNLXDPQ.js';
|
|
5
|
+
import '../../chunk-4446UB3M.js';
|
|
6
6
|
import '../../chunk-2JV6WZ6O.js';
|
|
7
7
|
import '../../chunk-RV54D2D7.js';
|
|
8
8
|
import '../../chunk-ZVZGLEZ6.js';
|
|
9
9
|
import '../../chunk-VVZNW5CB.js';
|
|
10
10
|
import '../../chunk-5G7NYNX6.js';
|
|
11
11
|
import '../../chunk-GD26FI4J.js';
|
|
12
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-65KBXGDT.js';
|
|
13
13
|
import '../../chunk-6ZMNTJM3.js';
|
|
14
14
|
import '../../chunk-OUW6WESU.js';
|
|
15
15
|
import '../../chunk-SAGXF3MU.js';
|
|
@@ -33,7 +33,7 @@ import '../../chunk-5XDPAKF5.js';
|
|
|
33
33
|
import '../../chunk-GCPEMNSU.js';
|
|
34
34
|
import '../../chunk-QGOPTVV5.js';
|
|
35
35
|
import '../../chunk-TYNZ5B2B.js';
|
|
36
|
-
import '../../chunk-
|
|
36
|
+
import '../../chunk-Z3SSHDVW.js';
|
|
37
37
|
import '../../chunk-AXW67SY7.js';
|
|
38
38
|
import '../../chunk-BYMOPN2S.js';
|
|
39
39
|
import '../../chunk-SKLEJJ6M.js';
|
|
@@ -51,7 +51,7 @@ import '../../chunk-DGUM43GV.js';
|
|
|
51
51
|
import { lazy } from 'react';
|
|
52
52
|
|
|
53
53
|
var LazyStoreClosedNotification = lazy(
|
|
54
|
-
() => import('../../StoreClosedNotification-
|
|
54
|
+
() => import('../../StoreClosedNotification-NNCBUMMX.js').then((m) => ({
|
|
55
55
|
default: m.StoreClosedNotification
|
|
56
56
|
}))
|
|
57
57
|
);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-
|
|
1
|
+
export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-PNNBK26L.js';
|
|
2
2
|
import './chunk-Z4Y55HWX.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-DXBYD75N.js';
|
|
4
4
|
import './chunk-MKVCFBVF.js';
|
|
5
5
|
import './chunk-BNI6SKFL.js';
|
|
6
6
|
import './chunk-OH2L4U2C.js';
|
|
7
7
|
import './chunk-556OT3BN.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-4446UB3M.js';
|
|
9
9
|
import './chunk-RV54D2D7.js';
|
|
10
10
|
import './chunk-ZVZGLEZ6.js';
|
|
11
11
|
import './chunk-5G7NYNX6.js';
|
|
12
12
|
import './chunk-GD26FI4J.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-65KBXGDT.js';
|
|
14
14
|
import './chunk-6ZMNTJM3.js';
|
|
15
15
|
import './chunk-OUW6WESU.js';
|
|
16
16
|
import './chunk-JWXJPJBO.js';
|
|
@@ -23,5 +23,5 @@ import './chunk-N2S25NXP.js';
|
|
|
23
23
|
import './chunk-T72DAX7R.js';
|
|
24
24
|
import './chunk-DF6FBKDN.js';
|
|
25
25
|
import './chunk-DGUM43GV.js';
|
|
26
|
-
//# sourceMappingURL=document-class-
|
|
27
|
-
//# sourceMappingURL=document-class-
|
|
26
|
+
//# sourceMappingURL=document-class-T4LRZRRH.js.map
|
|
27
|
+
//# sourceMappingURL=document-class-T4LRZRRH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-T4LRZRRH.js"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { registerDefaultHooks, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore } from '../chunk-TJGHOSES.js';
|
|
2
|
+
import '../chunk-7XM2TC27.js';
|
|
3
|
+
import '../chunk-VQNLXDPQ.js';
|
|
4
|
+
import '../chunk-4446UB3M.js';
|
|
5
5
|
import '../chunk-2JV6WZ6O.js';
|
|
6
6
|
import '../chunk-RV54D2D7.js';
|
|
7
7
|
import '../chunk-ZVZGLEZ6.js';
|
|
8
8
|
import '../chunk-VVZNW5CB.js';
|
|
9
9
|
import '../chunk-5G7NYNX6.js';
|
|
10
10
|
import '../chunk-GD26FI4J.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-65KBXGDT.js';
|
|
12
12
|
import '../chunk-6ZMNTJM3.js';
|
|
13
13
|
import '../chunk-OUW6WESU.js';
|
|
14
14
|
export { useComments } from '../chunk-SAGXF3MU.js';
|
|
@@ -32,7 +32,7 @@ export { HookSlot, useIsClient } from '../chunk-5XDPAKF5.js';
|
|
|
32
32
|
export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GCPEMNSU.js';
|
|
33
33
|
import '../chunk-QGOPTVV5.js';
|
|
34
34
|
import '../chunk-TYNZ5B2B.js';
|
|
35
|
-
import '../chunk-
|
|
35
|
+
import '../chunk-Z3SSHDVW.js';
|
|
36
36
|
import '../chunk-AXW67SY7.js';
|
|
37
37
|
import '../chunk-BYMOPN2S.js';
|
|
38
38
|
import '../chunk-SKLEJJ6M.js';
|
package/dist/hooks/useGtm.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { useGtm } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { useGtm } from '../chunk-TJGHOSES.js';
|
|
2
|
+
import '../chunk-7XM2TC27.js';
|
|
3
|
+
import '../chunk-VQNLXDPQ.js';
|
|
4
|
+
import '../chunk-4446UB3M.js';
|
|
5
5
|
import '../chunk-2JV6WZ6O.js';
|
|
6
6
|
import '../chunk-RV54D2D7.js';
|
|
7
7
|
import '../chunk-ZVZGLEZ6.js';
|
|
8
8
|
import '../chunk-VVZNW5CB.js';
|
|
9
9
|
import '../chunk-5G7NYNX6.js';
|
|
10
10
|
import '../chunk-GD26FI4J.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-65KBXGDT.js';
|
|
12
12
|
import '../chunk-6ZMNTJM3.js';
|
|
13
13
|
import '../chunk-OUW6WESU.js';
|
|
14
14
|
import '../chunk-SAGXF3MU.js';
|
|
@@ -32,7 +32,7 @@ import '../chunk-5XDPAKF5.js';
|
|
|
32
32
|
import '../chunk-GCPEMNSU.js';
|
|
33
33
|
import '../chunk-QGOPTVV5.js';
|
|
34
34
|
import '../chunk-TYNZ5B2B.js';
|
|
35
|
-
import '../chunk-
|
|
35
|
+
import '../chunk-Z3SSHDVW.js';
|
|
36
36
|
import '../chunk-AXW67SY7.js';
|
|
37
37
|
import '../chunk-BYMOPN2S.js';
|
|
38
38
|
import '../chunk-SKLEJJ6M.js';
|
package/dist/hooks/useMoney.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { useMoney } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { useMoney } from '../chunk-TJGHOSES.js';
|
|
2
|
+
import '../chunk-7XM2TC27.js';
|
|
3
|
+
import '../chunk-VQNLXDPQ.js';
|
|
4
|
+
import '../chunk-4446UB3M.js';
|
|
5
5
|
import '../chunk-2JV6WZ6O.js';
|
|
6
6
|
import '../chunk-RV54D2D7.js';
|
|
7
7
|
import '../chunk-ZVZGLEZ6.js';
|
|
8
8
|
import '../chunk-VVZNW5CB.js';
|
|
9
9
|
import '../chunk-5G7NYNX6.js';
|
|
10
10
|
import '../chunk-GD26FI4J.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-65KBXGDT.js';
|
|
12
12
|
import '../chunk-6ZMNTJM3.js';
|
|
13
13
|
import '../chunk-OUW6WESU.js';
|
|
14
14
|
import '../chunk-SAGXF3MU.js';
|
|
@@ -32,7 +32,7 @@ import '../chunk-5XDPAKF5.js';
|
|
|
32
32
|
import '../chunk-GCPEMNSU.js';
|
|
33
33
|
import '../chunk-QGOPTVV5.js';
|
|
34
34
|
import '../chunk-TYNZ5B2B.js';
|
|
35
|
-
import '../chunk-
|
|
35
|
+
import '../chunk-Z3SSHDVW.js';
|
|
36
36
|
import '../chunk-AXW67SY7.js';
|
|
37
37
|
import '../chunk-BYMOPN2S.js';
|
|
38
38
|
import '../chunk-SKLEJJ6M.js';
|
package/dist/hooks/useStore.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { useStore } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { useStore } from '../chunk-TJGHOSES.js';
|
|
2
|
+
import '../chunk-7XM2TC27.js';
|
|
3
|
+
import '../chunk-VQNLXDPQ.js';
|
|
4
|
+
import '../chunk-4446UB3M.js';
|
|
5
5
|
import '../chunk-2JV6WZ6O.js';
|
|
6
6
|
import '../chunk-RV54D2D7.js';
|
|
7
7
|
import '../chunk-ZVZGLEZ6.js';
|
|
8
8
|
import '../chunk-VVZNW5CB.js';
|
|
9
9
|
import '../chunk-5G7NYNX6.js';
|
|
10
10
|
import '../chunk-GD26FI4J.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-65KBXGDT.js';
|
|
12
12
|
import '../chunk-6ZMNTJM3.js';
|
|
13
13
|
import '../chunk-OUW6WESU.js';
|
|
14
14
|
import '../chunk-SAGXF3MU.js';
|
|
@@ -32,7 +32,7 @@ import '../chunk-5XDPAKF5.js';
|
|
|
32
32
|
import '../chunk-GCPEMNSU.js';
|
|
33
33
|
import '../chunk-QGOPTVV5.js';
|
|
34
34
|
import '../chunk-TYNZ5B2B.js';
|
|
35
|
-
import '../chunk-
|
|
35
|
+
import '../chunk-Z3SSHDVW.js';
|
|
36
36
|
import '../chunk-AXW67SY7.js';
|
|
37
37
|
import '../chunk-BYMOPN2S.js';
|
|
38
38
|
import '../chunk-SKLEJJ6M.js';
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { registry } from './chunk-Y32RHCOH.js';
|
|
2
2
|
export { ComponentRegistry, registry } from './chunk-Y32RHCOH.js';
|
|
3
|
-
export { TwilightProvider } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
3
|
+
export { TwilightProvider } from './chunk-TJGHOSES.js';
|
|
4
|
+
import './chunk-7XM2TC27.js';
|
|
5
|
+
import './chunk-VQNLXDPQ.js';
|
|
6
|
+
import './chunk-4446UB3M.js';
|
|
7
7
|
import './chunk-2JV6WZ6O.js';
|
|
8
8
|
import './chunk-RV54D2D7.js';
|
|
9
9
|
import './chunk-ZVZGLEZ6.js';
|
|
10
10
|
import './chunk-VVZNW5CB.js';
|
|
11
11
|
import './chunk-5G7NYNX6.js';
|
|
12
12
|
import './chunk-GD26FI4J.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-65KBXGDT.js';
|
|
14
14
|
export { useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useRouteId } from './chunk-6ZMNTJM3.js';
|
|
15
15
|
export { RouteId } from './chunk-OUW6WESU.js';
|
|
16
16
|
import './chunk-SAGXF3MU.js';
|
|
@@ -34,7 +34,7 @@ import './chunk-5XDPAKF5.js';
|
|
|
34
34
|
import './chunk-GCPEMNSU.js';
|
|
35
35
|
import './chunk-QGOPTVV5.js';
|
|
36
36
|
import './chunk-TYNZ5B2B.js';
|
|
37
|
-
import './chunk-
|
|
37
|
+
import './chunk-Z3SSHDVW.js';
|
|
38
38
|
import './chunk-AXW67SY7.js';
|
|
39
39
|
import './chunk-BYMOPN2S.js';
|
|
40
40
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { product } from './chunk-556OT3BN.js';
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
2
|
+
import './chunk-TJGHOSES.js';
|
|
3
|
+
import './chunk-7XM2TC27.js';
|
|
4
|
+
import './chunk-VQNLXDPQ.js';
|
|
5
|
+
import './chunk-4446UB3M.js';
|
|
6
6
|
import './chunk-2JV6WZ6O.js';
|
|
7
7
|
import './chunk-RV54D2D7.js';
|
|
8
8
|
import './chunk-ZVZGLEZ6.js';
|
|
9
9
|
import './chunk-VVZNW5CB.js';
|
|
10
10
|
import './chunk-5G7NYNX6.js';
|
|
11
11
|
import './chunk-GD26FI4J.js';
|
|
12
|
-
import './chunk-
|
|
12
|
+
import './chunk-65KBXGDT.js';
|
|
13
13
|
import { useLocation, useNavigate } from './chunk-6ZMNTJM3.js';
|
|
14
14
|
import './chunk-OUW6WESU.js';
|
|
15
15
|
import './chunk-SAGXF3MU.js';
|
|
@@ -33,7 +33,7 @@ import { HookSlot } from './chunk-5XDPAKF5.js';
|
|
|
33
33
|
import './chunk-GCPEMNSU.js';
|
|
34
34
|
import './chunk-QGOPTVV5.js';
|
|
35
35
|
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
36
|
-
import { LazyErrorPage } from './chunk-
|
|
36
|
+
import { LazyErrorPage } from './chunk-Z3SSHDVW.js';
|
|
37
37
|
import './chunk-AXW67SY7.js';
|
|
38
38
|
import './chunk-BYMOPN2S.js';
|
|
39
39
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -149,5 +149,5 @@ function NotFoundPage(props = {}) {
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
export { NotFoundPage };
|
|
152
|
-
//# sourceMappingURL=not-found-
|
|
153
|
-
//# sourceMappingURL=not-found-
|
|
152
|
+
//# sourceMappingURL=not-found-3QOH2I4S.js.map
|
|
153
|
+
//# sourceMappingURL=not-found-3QOH2I4S.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-E6AR4CZ4.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** A product URL in the stores' \"new URLs\" format: `{sku}-{name}`, or `p{id}-{name}` without a SKU. */\nconst PRODUCT_KEY = /^([0-9A-Za-z]+)-./;\n\n/** The `{sku}` or `p{id}` key of `/{locale}/{sku}-{name}` or `/{sku}-{name}`, with that locale. */\nexport function parseProductKeyPath(pathname: string): { key: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n const hasLocale = segments.length === 2 && isLocale(segments[0]);\n if (!hasLocale && (segments.length !== 1 || isLocale(segments[0]))) return null;\n const key = segments[segments.length - 1].match(PRODUCT_KEY)?.[1];\n if (!key) return null;\n return hasLocale ? { key, locale: segments[0] } : { key };\n}\n\nfunction productKeyOf(url: string | undefined): string | undefined {\n try {\n const last = new URL(url ?? '').pathname.split('/').filter(Boolean).pop() ?? '';\n return last.match(PRODUCT_KEY)?.[1];\n } catch {\n return undefined;\n }\n}\n\n/** Like Laravel: `p{id}` is the id; anything else is a SKU, which only search can find. */\nasync function findByProductKey(key: string): Promise<number | null> {\n const id = key.match(/^p(\\d+)$/)?.[1];\n if (id) return Number(id);\n const { items } = await product.list({ source: 'search', keyword: key, perPage: 50 });\n const found = items.find((item) => productKeyOf(item.url) === key);\n return found ? Number(found.id) : null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product URL that matched no route, a short link (`/ar/lvXvzln`) or\n * a \"new URLs\" one (`/ar/1213asa-chocolate`), and replaces the URL with the\n * product's page. Returns `true` while a lookup is in flight (so the 404 isn't\n * flashed); settles to `false` when the path is neither or doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const shortLink = parseShortLinkPath(pathname);\n const productKey = parseProductKeyPath(pathname);\n const lookup = shortLink?.code ?? productKey?.key;\n const locale = shortLink?.locale ?? productKey?.locale;\n const isShortLink = !!shortLink;\n const [failed, setFailed] = useState<string | null>(null);\n\n useEffect(() => {\n if (!lookup) return;\n let cancelled = false;\n const productPath = isShortLink\n ? product\n .find(lookup)\n .then((found) => (found?.id ? `${slugFromProductUrl(found.url)}/p${found.id}` : null))\n : findByProductKey(lookup).then((id) => (id ? `-/p${id}` : null));\n productPath\n .then((path) => {\n if (cancelled) return;\n if (!path) return setFailed(lookup);\n navigate(`${locale ? `/${locale}` : ''}/${path}`, { replace: true });\n })\n .catch(() => !cancelled && setFailed(lookup));\n return () => {\n cancelled = true;\n };\n }, [lookup, isShortLink, locale, navigate]);\n\n return !!lookup && failed !== lookup;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) or \"new URLs\" link (`/ar/1213asa-name`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-3QOH2I4S.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"]}
|
package/dist/providers/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-TJGHOSES.js';
|
|
2
|
+
import '../chunk-7XM2TC27.js';
|
|
3
|
+
import '../chunk-VQNLXDPQ.js';
|
|
4
|
+
import '../chunk-4446UB3M.js';
|
|
5
5
|
import '../chunk-2JV6WZ6O.js';
|
|
6
6
|
import '../chunk-RV54D2D7.js';
|
|
7
7
|
import '../chunk-ZVZGLEZ6.js';
|
|
8
8
|
import '../chunk-VVZNW5CB.js';
|
|
9
9
|
import '../chunk-5G7NYNX6.js';
|
|
10
10
|
import '../chunk-GD26FI4J.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-65KBXGDT.js';
|
|
12
12
|
export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-6ZMNTJM3.js';
|
|
13
13
|
export { RouteId } from '../chunk-OUW6WESU.js';
|
|
14
14
|
import '../chunk-SAGXF3MU.js';
|
|
@@ -32,7 +32,7 @@ import '../chunk-5XDPAKF5.js';
|
|
|
32
32
|
import '../chunk-GCPEMNSU.js';
|
|
33
33
|
import '../chunk-QGOPTVV5.js';
|
|
34
34
|
import '../chunk-TYNZ5B2B.js';
|
|
35
|
-
import '../chunk-
|
|
35
|
+
import '../chunk-Z3SSHDVW.js';
|
|
36
36
|
import '../chunk-AXW67SY7.js';
|
|
37
37
|
export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
|
|
38
38
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-
|
|
1
|
+
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-7U5HUPY3.js';
|
|
2
2
|
import '../../chunk-YGJMUJVR.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-65KBXGDT.js';
|
|
4
4
|
import '../../chunk-6ZMNTJM3.js';
|
|
5
5
|
import '../../chunk-OUW6WESU.js';
|
|
6
6
|
import '../../chunk-QGOPTVV5.js';
|
package/dist/routes/account.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { wallet } from '../chunk-HQAFPDJK.js';
|
|
2
|
-
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-
|
|
2
|
+
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-7U5HUPY3.js';
|
|
3
3
|
import '../chunk-YGJMUJVR.js';
|
|
4
4
|
import { notification } from '../chunk-6OOTDFC7.js';
|
|
5
5
|
import { wishlist } from '../chunk-I4LYRR2O.js';
|
|
6
6
|
import '../chunk-556OT3BN.js';
|
|
7
|
-
import { buildHreflangAlternates } from '../chunk-
|
|
7
|
+
import { buildHreflangAlternates } from '../chunk-65KBXGDT.js';
|
|
8
8
|
import { unauthorized, orUnauthorized } from '../chunk-6ZMNTJM3.js';
|
|
9
9
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
10
10
|
import { getAuthToken } from '../chunk-QGOPTVV5.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-
|
|
32
|
+
() => import('../ProfilePage-6W7C7FXQ.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-
|
|
74
|
+
() => import('../WishlistPage-2NYODMHF.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-
|
|
116
|
+
var LazyWalletPage = lazy(() => import('../WalletPage-5LHVR2EA.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-
|
|
152
|
+
() => import('../NotificationsPage-7DF3AJLC.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-
|
|
185
|
+
() => import('../SettingsPage-ZSTD6TOR.js').then((m) => ({ default: m.SettingsPage }))
|
|
186
186
|
);
|
|
187
187
|
var SettingsPage = LazySettingsPage;
|
|
188
188
|
var Settings = {
|