@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 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: (token: string, query?: CartMarketQuery) => Promise<{
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 rows render as static cards rather than dead links. */
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 call to action — the design's "Continue shopping" button. */
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
- /** The token from the invite link: the last path segment of the URL the recipient opened. */
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;