@nok-integration/storefront-react 0.23.0 → 0.25.0
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/index.d.ts +118 -47
- package/dist/index.mjs +2794 -1648
- package/dist/standalone/storefront.mjs +2794 -1648
- package/dist/standalone/styles.css +1629 -591
- package/dist/styles.css +1629 -591
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare interface BadgeProps {
|
|
|
63
63
|
|
|
64
64
|
export declare type BadgeTone = 'neutral' | 'success' | 'critical' | 'promo';
|
|
65
65
|
|
|
66
|
-
export declare function BottomSheet({ open, onClose, title, children, footer }: BottomSheetProps): JSX.Element | null;
|
|
66
|
+
export declare function BottomSheet({ open, onClose, title, children, footer, wide }: BottomSheetProps): JSX.Element | null;
|
|
67
67
|
|
|
68
68
|
export declare interface BottomSheetProps {
|
|
69
69
|
open: boolean;
|
|
@@ -72,6 +72,7 @@ export declare interface BottomSheetProps {
|
|
|
72
72
|
children: ReactNode;
|
|
73
73
|
/** Optional sticky footer (e.g. a StickyCtaBar). */
|
|
74
74
|
footer?: ReactNode;
|
|
75
|
+
wide?: 'sheet' | 'panel';
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
/**
|
|
@@ -419,13 +420,19 @@ declare const CategoryHero: z.ZodObject<{
|
|
|
419
420
|
title: z.ZodString;
|
|
420
421
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
421
422
|
image: z.ZodOptional<z.ZodString>;
|
|
423
|
+
/**
|
|
424
|
+
* The hero at desktop width (1200px and up). Absent = `image` is used at every width.
|
|
425
|
+
*/
|
|
426
|
+
desktop_image: z.ZodOptional<z.ZodString>;
|
|
422
427
|
}, "strip", z.ZodTypeAny, {
|
|
423
428
|
title: string;
|
|
424
429
|
image?: string | undefined;
|
|
430
|
+
desktop_image?: string | undefined;
|
|
425
431
|
subtitle?: string | undefined;
|
|
426
432
|
}, {
|
|
427
433
|
title: string;
|
|
428
434
|
image?: string | undefined;
|
|
435
|
+
desktop_image?: string | undefined;
|
|
429
436
|
subtitle?: string | undefined;
|
|
430
437
|
}>;
|
|
431
438
|
|
|
@@ -437,13 +444,19 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
437
444
|
title: z.ZodString;
|
|
438
445
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
439
446
|
image: z.ZodOptional<z.ZodString>;
|
|
447
|
+
/**
|
|
448
|
+
* The hero at desktop width (1200px and up). Absent = `image` is used at every width.
|
|
449
|
+
*/
|
|
450
|
+
desktop_image: z.ZodOptional<z.ZodString>;
|
|
440
451
|
}, "strip", z.ZodTypeAny, {
|
|
441
452
|
title: string;
|
|
442
453
|
image?: string | undefined;
|
|
454
|
+
desktop_image?: string | undefined;
|
|
443
455
|
subtitle?: string | undefined;
|
|
444
456
|
}, {
|
|
445
457
|
title: string;
|
|
446
458
|
image?: string | undefined;
|
|
459
|
+
desktop_image?: string | undefined;
|
|
447
460
|
subtitle?: string | undefined;
|
|
448
461
|
}>;
|
|
449
462
|
blocks: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
@@ -1299,14 +1312,22 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
1299
1312
|
kind: z.ZodLiteral<"lifestyle_image">;
|
|
1300
1313
|
images: z.ZodArray<z.ZodString, "many">;
|
|
1301
1314
|
videos: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
|
|
1315
|
+
/**
|
|
1316
|
+
* Parallel to `images`: the still drawn for slide `i` at desktop width (1200px and up),
|
|
1317
|
+
* in place of `images[i]` and of `videos[i]`. `null`, or an index past the end, keeps
|
|
1318
|
+
* that slide as it is at every width. Like `videos`, it never adds a slide.
|
|
1319
|
+
*/
|
|
1320
|
+
desktop_images: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
|
|
1302
1321
|
}, "strip", z.ZodTypeAny, {
|
|
1303
1322
|
kind: "lifestyle_image";
|
|
1304
1323
|
images: string[];
|
|
1305
1324
|
videos?: (string | null)[] | undefined;
|
|
1325
|
+
desktop_images?: (string | null)[] | undefined;
|
|
1306
1326
|
}, {
|
|
1307
1327
|
kind: "lifestyle_image";
|
|
1308
1328
|
images: string[];
|
|
1309
1329
|
videos?: (string | null)[] | undefined;
|
|
1330
|
+
desktop_images?: (string | null)[] | undefined;
|
|
1310
1331
|
}>, z.ZodObject<{
|
|
1311
1332
|
kind: z.ZodLiteral<"grid">;
|
|
1312
1333
|
title: z.ZodOptional<z.ZodString>;
|
|
@@ -1676,6 +1697,7 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
1676
1697
|
hero: {
|
|
1677
1698
|
title: string;
|
|
1678
1699
|
image?: string | undefined;
|
|
1700
|
+
desktop_image?: string | undefined;
|
|
1679
1701
|
subtitle?: string | undefined;
|
|
1680
1702
|
};
|
|
1681
1703
|
blocks: ({
|
|
@@ -1776,6 +1798,7 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
1776
1798
|
kind: "lifestyle_image";
|
|
1777
1799
|
images: string[];
|
|
1778
1800
|
videos?: (string | null)[] | undefined;
|
|
1801
|
+
desktop_images?: (string | null)[] | undefined;
|
|
1779
1802
|
} | {
|
|
1780
1803
|
kind: "grid";
|
|
1781
1804
|
products: {
|
|
@@ -1893,6 +1916,7 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
1893
1916
|
hero: {
|
|
1894
1917
|
title: string;
|
|
1895
1918
|
image?: string | undefined;
|
|
1919
|
+
desktop_image?: string | undefined;
|
|
1896
1920
|
subtitle?: string | undefined;
|
|
1897
1921
|
};
|
|
1898
1922
|
blocks: ({
|
|
@@ -1993,6 +2017,7 @@ declare const CategoryPage: z.ZodObject<{
|
|
|
1993
2017
|
kind: "lifestyle_image";
|
|
1994
2018
|
images: string[];
|
|
1995
2019
|
videos?: (string | null)[] | undefined;
|
|
2020
|
+
desktop_images?: (string | null)[] | undefined;
|
|
1996
2021
|
} | {
|
|
1997
2022
|
kind: "grid";
|
|
1998
2023
|
products: {
|
|
@@ -2371,6 +2396,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
2371
2396
|
title: string;
|
|
2372
2397
|
image?: string | undefined;
|
|
2373
2398
|
subtitle?: string | undefined;
|
|
2399
|
+
desktop_image?: string | undefined;
|
|
2374
2400
|
};
|
|
2375
2401
|
blocks: ({
|
|
2376
2402
|
title: string;
|
|
@@ -2470,6 +2496,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
2470
2496
|
kind: "lifestyle_image";
|
|
2471
2497
|
images: string[];
|
|
2472
2498
|
videos?: (string | null)[] | undefined;
|
|
2499
|
+
desktop_images?: (string | null)[] | undefined;
|
|
2473
2500
|
} | {
|
|
2474
2501
|
kind: "grid";
|
|
2475
2502
|
products: {
|
|
@@ -2593,6 +2620,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
2593
2620
|
key: string;
|
|
2594
2621
|
cta: string;
|
|
2595
2622
|
image?: string | undefined;
|
|
2623
|
+
desktop_image?: string | undefined;
|
|
2596
2624
|
target?: string | undefined;
|
|
2597
2625
|
video?: string | undefined;
|
|
2598
2626
|
focal_y?: number | undefined;
|
|
@@ -2949,7 +2977,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
2949
2977
|
*/
|
|
2950
2978
|
stockAlerts: {
|
|
2951
2979
|
/** "Remind me when available" — idempotent per SKU for the session's principal. */
|
|
2952
|
-
create: (body: StockAlertRequest) => Promise<{
|
|
2980
|
+
create: (body: StockAlertRequest, query?: CartMarketQuery) => Promise<{
|
|
2953
2981
|
sku: string;
|
|
2954
2982
|
created_at: string;
|
|
2955
2983
|
notified_at?: string | undefined;
|
|
@@ -3014,6 +3042,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
3014
3042
|
returned_qty?: number | undefined;
|
|
3015
3043
|
}[];
|
|
3016
3044
|
headline: string;
|
|
3045
|
+
order_ref: string;
|
|
3017
3046
|
totals: {
|
|
3018
3047
|
shipping: {
|
|
3019
3048
|
amount: number;
|
|
@@ -3036,7 +3065,6 @@ declare function createClient(options: ClientOptions): {
|
|
|
3036
3065
|
currency: string;
|
|
3037
3066
|
} | undefined;
|
|
3038
3067
|
};
|
|
3039
|
-
order_ref: string;
|
|
3040
3068
|
placed_at: string;
|
|
3041
3069
|
ship_to: {
|
|
3042
3070
|
country: string;
|
|
@@ -3111,6 +3139,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
3111
3139
|
returned_qty?: number | undefined;
|
|
3112
3140
|
}[];
|
|
3113
3141
|
headline: string;
|
|
3142
|
+
order_ref: string;
|
|
3114
3143
|
totals: {
|
|
3115
3144
|
shipping: {
|
|
3116
3145
|
amount: number;
|
|
@@ -3133,7 +3162,6 @@ declare function createClient(options: ClientOptions): {
|
|
|
3133
3162
|
currency: string;
|
|
3134
3163
|
} | undefined;
|
|
3135
3164
|
};
|
|
3136
|
-
order_ref: string;
|
|
3137
3165
|
placed_at: string;
|
|
3138
3166
|
ship_to: {
|
|
3139
3167
|
country: string;
|
|
@@ -3266,13 +3294,13 @@ declare function createClient(options: ClientOptions): {
|
|
|
3266
3294
|
}>;
|
|
3267
3295
|
};
|
|
3268
3296
|
vip: {
|
|
3269
|
-
resolve: (
|
|
3297
|
+
resolve: (locator: string | VipInviteResolveRequest, query?: CartMarketQuery) => Promise<{
|
|
3270
3298
|
items: {
|
|
3271
3299
|
product_sku: string;
|
|
3272
3300
|
quantity: number;
|
|
3273
3301
|
}[];
|
|
3274
|
-
state: "active";
|
|
3275
3302
|
invite_ref: string;
|
|
3303
|
+
state: "active";
|
|
3276
3304
|
recipient_name: string;
|
|
3277
3305
|
personal_message: string | null;
|
|
3278
3306
|
delivery_rule: "both_free" | "standard_free" | "both_paid";
|
|
@@ -3290,6 +3318,7 @@ declare function createClient(options: ClientOptions): {
|
|
|
3290
3318
|
opens_at: string;
|
|
3291
3319
|
} | {
|
|
3292
3320
|
state: "claimed";
|
|
3321
|
+
order_ref?: string | undefined;
|
|
3293
3322
|
} | {
|
|
3294
3323
|
state: "expired";
|
|
3295
3324
|
} | {
|
|
@@ -3760,7 +3789,7 @@ export declare function isUnauthorized(err: unknown): boolean;
|
|
|
3760
3789
|
* down the page has no business fetching a megabyte before it is anywhere near the screen,
|
|
3761
3790
|
* and `ShopVideo` starts its own download when the slide comes into view.
|
|
3762
3791
|
*/
|
|
3763
|
-
export declare function LifestyleImage({ images, videos }: LifestyleImageProps): JSX.Element | null;
|
|
3792
|
+
export declare function LifestyleImage({ images, videos, desktopImages }: LifestyleImageProps): JSX.Element | null;
|
|
3764
3793
|
|
|
3765
3794
|
declare interface LifestyleImageProps {
|
|
3766
3795
|
images: string[];
|
|
@@ -3770,6 +3799,8 @@ declare interface LifestyleImageProps {
|
|
|
3770
3799
|
* contracts 2.51.0.
|
|
3771
3800
|
*/
|
|
3772
3801
|
videos?: (string | null)[];
|
|
3802
|
+
/** Parallel to `images`: the still drawn for that slide from 1200px wide, `null` for none. */
|
|
3803
|
+
desktopImages?: (string | null)[];
|
|
3773
3804
|
}
|
|
3774
3805
|
|
|
3775
3806
|
/** Editorial text band between PCP sections. */
|
|
@@ -4296,6 +4327,7 @@ declare const OrderDetail: z.ZodObject<{
|
|
|
4296
4327
|
attributes?: Record<string, string> | undefined;
|
|
4297
4328
|
returned_qty?: number | undefined;
|
|
4298
4329
|
}[];
|
|
4330
|
+
order_ref: string & z.BRAND<"OrderRef">;
|
|
4299
4331
|
totals: {
|
|
4300
4332
|
shipping: {
|
|
4301
4333
|
amount: number;
|
|
@@ -4318,7 +4350,6 @@ declare const OrderDetail: z.ZodObject<{
|
|
|
4318
4350
|
currency: string;
|
|
4319
4351
|
} | undefined;
|
|
4320
4352
|
};
|
|
4321
|
-
order_ref: string & z.BRAND<"OrderRef">;
|
|
4322
4353
|
placed_at: string;
|
|
4323
4354
|
ship_to: {
|
|
4324
4355
|
country: string;
|
|
@@ -4386,6 +4417,7 @@ declare const OrderDetail: z.ZodObject<{
|
|
|
4386
4417
|
attributes?: Record<string, string> | undefined;
|
|
4387
4418
|
returned_qty?: number | undefined;
|
|
4388
4419
|
}[];
|
|
4420
|
+
order_ref: string;
|
|
4389
4421
|
totals: {
|
|
4390
4422
|
shipping: {
|
|
4391
4423
|
amount: number;
|
|
@@ -4408,7 +4440,6 @@ declare const OrderDetail: z.ZodObject<{
|
|
|
4408
4440
|
currency: string;
|
|
4409
4441
|
} | undefined;
|
|
4410
4442
|
};
|
|
4411
|
-
order_ref: string;
|
|
4412
4443
|
placed_at: string;
|
|
4413
4444
|
ship_to: {
|
|
4414
4445
|
country: string;
|
|
@@ -4465,7 +4496,7 @@ declare type OrderDetail = z.infer<typeof OrderDetail>;
|
|
|
4465
4496
|
export declare function OrderListView(props: OrderListViewProps): JSX.Element;
|
|
4466
4497
|
|
|
4467
4498
|
export declare interface OrderListViewProps {
|
|
4468
|
-
/** Opens one order. Without it the
|
|
4499
|
+
/** Opens one order on a route of your own. Without it the order opens in place of the list. */
|
|
4469
4500
|
onOpenOrder?: (orderRef: string) => void;
|
|
4470
4501
|
/**
|
|
4471
4502
|
* Open one return on a route of your own.
|
|
@@ -4477,7 +4508,7 @@ export declare interface OrderListViewProps {
|
|
|
4477
4508
|
* landing them on the order is a different answer to the question they asked.
|
|
4478
4509
|
*/
|
|
4479
4510
|
onOpenReturn?: (returnRef: string) => void;
|
|
4480
|
-
/** The empty state's
|
|
4511
|
+
/** The empty state's "Continue shopping". Without it the button navigates to the shop home. */
|
|
4481
4512
|
onStartShopping?: () => void;
|
|
4482
4513
|
/** Overrides the provider's locale for dates. */
|
|
4483
4514
|
locale?: string;
|
|
@@ -4517,7 +4548,7 @@ export declare interface OrderStatusBadgeProps {
|
|
|
4517
4548
|
* The pricing breakdown. DISPLAY ONLY — every value is server-authoritative; the UI
|
|
4518
4549
|
* never sums or computes anything here.
|
|
4519
4550
|
*/
|
|
4520
|
-
export declare function OrderSummary({ pricing, deferred, hidden, rows, discount, }: OrderSummaryProps): JSX.Element;
|
|
4551
|
+
export declare function OrderSummary({ pricing, deferred, hidden, rows, discount, collapsible, }: OrderSummaryProps): JSX.Element;
|
|
4521
4552
|
|
|
4522
4553
|
export declare interface OrderSummaryProps {
|
|
4523
4554
|
pricing: Pricing;
|
|
@@ -4568,6 +4599,7 @@ export declare interface OrderSummaryProps {
|
|
|
4568
4599
|
* the grand total is DAZN's, never the sum of the rows above it.
|
|
4569
4600
|
*/
|
|
4570
4601
|
discount?: Money;
|
|
4602
|
+
collapsible?: boolean;
|
|
4571
4603
|
}
|
|
4572
4604
|
|
|
4573
4605
|
export declare function OrderTimeline({ progress, estimatedDelivery, locale: localeProp, }: OrderTimelineProps): JSX.Element;
|
|
@@ -5733,14 +5765,6 @@ declare interface Review {
|
|
|
5733
5765
|
author: string;
|
|
5734
5766
|
}
|
|
5735
5767
|
|
|
5736
|
-
/**
|
|
5737
|
-
* Tester-quote carousel — swipeable cards with dot pagination.
|
|
5738
|
-
*
|
|
5739
|
-
* These are tester quotes, not customer reviews: no stars and no ratings, and the `author`
|
|
5740
|
-
* under each quote is what says whose words they are — a team and a city, never a person.
|
|
5741
|
-
* A quote must therefore never arrive without one. The block draws no disclaimer line, in
|
|
5742
|
-
* line with the frame.
|
|
5743
|
-
*/
|
|
5744
5768
|
export declare function ReviewCarousel({ quotes }: ReviewCarouselProps): JSX.Element;
|
|
5745
5769
|
|
|
5746
5770
|
declare interface ReviewCarouselProps {
|
|
@@ -5759,6 +5783,18 @@ export declare interface SaleBadgeProps {
|
|
|
5759
5783
|
pct: number;
|
|
5760
5784
|
}
|
|
5761
5785
|
|
|
5786
|
+
export declare interface ScreenCrumb {
|
|
5787
|
+
label: string;
|
|
5788
|
+
to?: ShopRoute;
|
|
5789
|
+
}
|
|
5790
|
+
|
|
5791
|
+
export declare interface ScreenNav {
|
|
5792
|
+
crumbs: ScreenCrumb[];
|
|
5793
|
+
tone: ScreenNavTone;
|
|
5794
|
+
}
|
|
5795
|
+
|
|
5796
|
+
export declare type ScreenNavTone = 'media' | 'light';
|
|
5797
|
+
|
|
5762
5798
|
/**
|
|
5763
5799
|
* What a whole screen looks like while its data is in flight.
|
|
5764
5800
|
*
|
|
@@ -6063,28 +6099,15 @@ export declare interface ShopHeaderProps {
|
|
|
6063
6099
|
className?: string;
|
|
6064
6100
|
}
|
|
6065
6101
|
|
|
6066
|
-
|
|
6067
|
-
* The replacement for `next/image` inside the SDK.
|
|
6068
|
-
*
|
|
6069
|
-
* `next/image` cannot come with us: it needs the Next runtime and its optimiser
|
|
6070
|
-
* endpoint, and the SDK runs in DAZN's bundle where neither exists. So this is a plain
|
|
6071
|
-
* `<img>` with the platform features that actually carry the weight — native lazy
|
|
6072
|
-
* loading, `decoding="async"`, `sizes`, and `fetchpriority` for the LCP image.
|
|
6073
|
-
*
|
|
6074
|
-
* **What is genuinely lost is on-the-fly resizing and format negotiation** (AVIF/WebP
|
|
6075
|
-
* per browser). That is not something a component can polyfill — it is a serving
|
|
6076
|
-
* concern. Whoever serves the catalogue media should emit `srcset`-ready derivatives
|
|
6077
|
-
* and modern formats; until then, this renders the source as given rather than
|
|
6078
|
-
* pretending to optimise it.
|
|
6079
|
-
*
|
|
6080
|
-
* The one rewrite it does perform is rebasing **root-relative** paths onto the host's
|
|
6081
|
-
* `assetBaseUrl` — see {@link resolveAssetUrl}. Without it the SDK's own design imagery
|
|
6082
|
-
* is requested from the host's origin, which does not serve it.
|
|
6083
|
-
*/
|
|
6084
|
-
export declare function ShopImage({ src, alt, fill, width, height, sizes, className, style, priority, }: ShopImageProps): JSX.Element;
|
|
6102
|
+
export declare function ShopImage({ src, desktopSrc, alt, fill, width, height, sizes, className, style, priority, }: ShopImageProps): JSX.Element;
|
|
6085
6103
|
|
|
6086
6104
|
export declare interface ShopImageProps {
|
|
6087
6105
|
src: string;
|
|
6106
|
+
/**
|
|
6107
|
+
* Drawn instead of `src` from 1200px wide. The browser picks one before fetching, so only
|
|
6108
|
+
* the one shown is downloaded and nothing moves when it is chosen.
|
|
6109
|
+
*/
|
|
6110
|
+
desktopSrc?: string;
|
|
6088
6111
|
alt: string;
|
|
6089
6112
|
/**
|
|
6090
6113
|
* Fill the positioned ancestor, as `next/image`'s `fill` does. The parent must be
|
|
@@ -6145,7 +6168,7 @@ export declare interface ShopLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnc
|
|
|
6145
6168
|
* that has one passes `onHelp`. An inert row is marked `aria-disabled`, so a screen reader
|
|
6146
6169
|
* is told what a sighted fan discovers by tapping.
|
|
6147
6170
|
*/
|
|
6148
|
-
export declare function ShopMenuSheet({ open, onClose, onManageOrders, onHelp, closeLabel, label, }: ShopMenuSheetProps): JSX.Element | null;
|
|
6171
|
+
export declare function ShopMenuSheet({ open, onClose, onManageOrders, onHelp, closeLabel, label, placement, }: ShopMenuSheetProps): JSX.Element | null;
|
|
6149
6172
|
|
|
6150
6173
|
export declare interface ShopMenuSheetProps {
|
|
6151
6174
|
open: boolean;
|
|
@@ -6159,6 +6182,16 @@ export declare interface ShopMenuSheetProps {
|
|
|
6159
6182
|
closeLabel?: string;
|
|
6160
6183
|
/** Accessible name for the dialog itself; it has no visible title in the design. */
|
|
6161
6184
|
label?: string;
|
|
6185
|
+
placement?: 'sheet' | 'dropdown';
|
|
6186
|
+
}
|
|
6187
|
+
|
|
6188
|
+
export declare function ShopNav({ onManageOrders, onHelp, menuLabel, className }: ShopNavProps): JSX.Element | null;
|
|
6189
|
+
|
|
6190
|
+
export declare interface ShopNavProps {
|
|
6191
|
+
onManageOrders?: () => void;
|
|
6192
|
+
onHelp?: () => void;
|
|
6193
|
+
menuLabel?: string;
|
|
6194
|
+
className?: string;
|
|
6162
6195
|
}
|
|
6163
6196
|
|
|
6164
6197
|
/**
|
|
@@ -6166,7 +6199,7 @@ export declare interface ShopMenuSheetProps {
|
|
|
6166
6199
|
* implementation detail — see the versioning policy in the component SDK specification.
|
|
6167
6200
|
*/
|
|
6168
6201
|
/** A storefront-relative identifier. NOT a URL expected to resolve on the host. */
|
|
6169
|
-
export declare type ShopRoute = '/' | `/category/${string}` | `/product/${string}` | '/cart'
|
|
6202
|
+
export declare type ShopRoute = '/' | `/category/${string}` | `/product/${string}` | '/cart' | '/orders' | `/vip/${string}`;
|
|
6170
6203
|
|
|
6171
6204
|
/**
|
|
6172
6205
|
* Request: the shopping session id and the one-time code, exactly as they arrive on the
|
|
@@ -6761,6 +6794,10 @@ export declare interface UseProductResult {
|
|
|
6761
6794
|
error: ReturnType<typeof codeOf> | undefined;
|
|
6762
6795
|
}
|
|
6763
6796
|
|
|
6797
|
+
export declare function useScreenNav(): ScreenNav | undefined;
|
|
6798
|
+
|
|
6799
|
+
export declare function useSetScreenNav(crumbs: ScreenCrumb[] | undefined, tone: ScreenNavTone): void;
|
|
6800
|
+
|
|
6764
6801
|
/** The typed, schema-validating commerce client. Requires a provider. */
|
|
6765
6802
|
export declare function useShopApi(): DaznClient;
|
|
6766
6803
|
|
|
@@ -6821,10 +6858,10 @@ export declare interface VariantSelectorProps {
|
|
|
6821
6858
|
labelAttribute?: string;
|
|
6822
6859
|
}
|
|
6823
6860
|
|
|
6824
|
-
declare const VipCartItemRequest: z.ZodObject<{
|
|
6825
|
-
token: z.ZodString;
|
|
6861
|
+
declare const VipCartItemRequest: z.ZodUnion<[z.ZodObject<{
|
|
6826
6862
|
sku: z.ZodString;
|
|
6827
6863
|
qty: z.ZodNumber;
|
|
6864
|
+
token: z.ZodString;
|
|
6828
6865
|
}, "strict", z.ZodTypeAny, {
|
|
6829
6866
|
sku: string;
|
|
6830
6867
|
token: string;
|
|
@@ -6833,7 +6870,19 @@ declare const VipCartItemRequest: z.ZodObject<{
|
|
|
6833
6870
|
sku: string;
|
|
6834
6871
|
token: string;
|
|
6835
6872
|
qty: number;
|
|
6836
|
-
}
|
|
6873
|
+
}>, z.ZodObject<{
|
|
6874
|
+
sku: z.ZodString;
|
|
6875
|
+
qty: z.ZodNumber;
|
|
6876
|
+
invite_ref: z.ZodBranded<z.ZodString, "VipInviteRef">;
|
|
6877
|
+
}, "strict", z.ZodTypeAny, {
|
|
6878
|
+
sku: string;
|
|
6879
|
+
invite_ref: string & z.BRAND<"VipInviteRef">;
|
|
6880
|
+
qty: number;
|
|
6881
|
+
}, {
|
|
6882
|
+
sku: string;
|
|
6883
|
+
invite_ref: string;
|
|
6884
|
+
qty: number;
|
|
6885
|
+
}>]>;
|
|
6837
6886
|
|
|
6838
6887
|
declare type VipCartItemRequest = z.infer<typeof VipCartItemRequest>;
|
|
6839
6888
|
|
|
@@ -6869,6 +6918,22 @@ export declare interface VipHeroProps {
|
|
|
6869
6918
|
onContinue: () => void;
|
|
6870
6919
|
}
|
|
6871
6920
|
|
|
6921
|
+
declare const VipInviteResolveRequest: z.ZodUnion<[z.ZodObject<{
|
|
6922
|
+
token: z.ZodString;
|
|
6923
|
+
}, "strict", z.ZodTypeAny, {
|
|
6924
|
+
token: string;
|
|
6925
|
+
}, {
|
|
6926
|
+
token: string;
|
|
6927
|
+
}>, z.ZodObject<{
|
|
6928
|
+
invite_ref: z.ZodBranded<z.ZodString, "VipInviteRef">;
|
|
6929
|
+
}, "strict", z.ZodTypeAny, {
|
|
6930
|
+
invite_ref: string & z.BRAND<"VipInviteRef">;
|
|
6931
|
+
}, {
|
|
6932
|
+
invite_ref: string;
|
|
6933
|
+
}>]>;
|
|
6934
|
+
|
|
6935
|
+
declare type VipInviteResolveRequest = z.infer<typeof VipInviteResolveRequest>;
|
|
6936
|
+
|
|
6872
6937
|
export declare type VipInviteUnavailableState = Exclude<VipInviteView['state'], 'active'>;
|
|
6873
6938
|
|
|
6874
6939
|
declare const VipInviteView: z.ZodDiscriminatedUnion<"state", [z.ZodObject<{
|
|
@@ -6911,8 +6976,8 @@ declare const VipInviteView: z.ZodDiscriminatedUnion<"state", [z.ZodObject<{
|
|
|
6911
6976
|
desktop_video?: string | null | undefined;
|
|
6912
6977
|
}>>>;
|
|
6913
6978
|
}, "strip", z.ZodTypeAny, {
|
|
6914
|
-
state: "active";
|
|
6915
6979
|
invite_ref: string & z.BRAND<"VipInviteRef">;
|
|
6980
|
+
state: "active";
|
|
6916
6981
|
recipient_name: string;
|
|
6917
6982
|
personal_message: string | null;
|
|
6918
6983
|
delivery_rule: "both_free" | "standard_free" | "both_paid";
|
|
@@ -6930,8 +6995,8 @@ declare const VipInviteView: z.ZodDiscriminatedUnion<"state", [z.ZodObject<{
|
|
|
6930
6995
|
desktop_video?: string | null | undefined;
|
|
6931
6996
|
} | null | undefined;
|
|
6932
6997
|
}, {
|
|
6933
|
-
state: "active";
|
|
6934
6998
|
invite_ref: string;
|
|
6999
|
+
state: "active";
|
|
6935
7000
|
recipient_name: string;
|
|
6936
7001
|
personal_message: string | null;
|
|
6937
7002
|
delivery_rule: "both_free" | "standard_free" | "both_paid";
|
|
@@ -6959,10 +7024,13 @@ declare const VipInviteView: z.ZodDiscriminatedUnion<"state", [z.ZodObject<{
|
|
|
6959
7024
|
opens_at: string;
|
|
6960
7025
|
}>, z.ZodObject<{
|
|
6961
7026
|
state: z.ZodLiteral<"claimed">;
|
|
7027
|
+
order_ref: z.ZodOptional<z.ZodBranded<z.ZodString, "OrderRef">>;
|
|
6962
7028
|
}, "strip", z.ZodTypeAny, {
|
|
6963
7029
|
state: "claimed";
|
|
7030
|
+
order_ref?: (string & z.BRAND<"OrderRef">) | undefined;
|
|
6964
7031
|
}, {
|
|
6965
7032
|
state: "claimed";
|
|
7033
|
+
order_ref?: string | undefined;
|
|
6966
7034
|
}>, z.ZodObject<{
|
|
6967
7035
|
state: z.ZodLiteral<"expired">;
|
|
6968
7036
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -6982,7 +7050,10 @@ declare type VipInviteView = z.infer<typeof VipInviteView>;
|
|
|
6982
7050
|
export declare function VipLandingView({ token, onUnavailable }: VipLandingViewProps): JSX.Element;
|
|
6983
7051
|
|
|
6984
7052
|
export declare interface VipLandingViewProps {
|
|
6985
|
-
/**
|
|
7053
|
+
/**
|
|
7054
|
+
* The last path segment of the URL the recipient opened: the token from the invite link,
|
|
7055
|
+
* or the invite reference that Reorder on a cancelled VIP order navigates to.
|
|
7056
|
+
*/
|
|
6986
7057
|
token: string;
|
|
6987
7058
|
/** Replaces the built-in screen for an invite that cannot be claimed. */
|
|
6988
7059
|
onUnavailable?: (state: VipInviteUnavailableState) => ReactNode;
|