@nok-integration/storefront-react 0.19.14 → 0.19.16

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.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
- import { useContext, useEffect, useState, useRef, useCallback, useMemo, createContext, forwardRef } from "react";
3
+ import { useContext, useEffect, useState, useRef, useCallback, useMemo, createContext, forwardRef, Fragment as Fragment$1 } from "react";
4
4
  var client = {};
5
5
  var catalog = {};
6
6
  var zod = {};
@@ -4392,6 +4392,7 @@ function requireContent() {
4392
4392
  cta: zod_1.z.string().min(1),
4393
4393
  target: zod_1.z.string().min(1).optional(),
4394
4394
  image: zod_1.z.string().min(1).optional(),
4395
+ video: zod_1.z.string().min(1).optional(),
4395
4396
  focal_y: zod_1.z.number().int().min(0).max(100).optional()
4396
4397
  });
4397
4398
  exports.HomeContent = zod_1.z.object({
@@ -4673,7 +4674,8 @@ function requireOrderTracking() {
4673
4674
  image: common_1.Url.optional(),
4674
4675
  attributes: common_1.Attributes.optional(),
4675
4676
  cancelled_qty: zod_1.z.number().int().nonnegative(),
4676
- refunded_qty: zod_1.z.number().int().nonnegative()
4677
+ refunded_qty: zod_1.z.number().int().nonnegative(),
4678
+ returned_qty: zod_1.z.number().int().nonnegative().optional()
4677
4679
  });
4678
4680
  exports.OrderSummaryItem = zod_1.z.object({
4679
4681
  order_ref: ids_1.OrderRef,
@@ -5338,12 +5340,70 @@ function ShopImage({ src, alt, fill: fill2 = false, width, height, sizes, classN
5338
5340
  fetchPriority: priority ? "high" : void 0
5339
5341
  });
5340
5342
  }
5343
+ function ShopVideo({ src, poster, fill: fill2 = false, className, style, priority = false }) {
5344
+ const assetUrl = useAssetUrl();
5345
+ const ref = useRef(null);
5346
+ useEffect(() => {
5347
+ const el = ref.current;
5348
+ if (!el || typeof IntersectionObserver === "undefined") return;
5349
+ const reduced = window.matchMedia?.("(prefers-reduced-motion: reduce)");
5350
+ const play = () => {
5351
+ if (reduced?.matches) {
5352
+ el.pause();
5353
+ return;
5354
+ }
5355
+ void el.play().catch(() => {
5356
+ });
5357
+ };
5358
+ const observer = new IntersectionObserver((entries) => {
5359
+ for (const entry of entries) {
5360
+ if (entry.isIntersecting) {
5361
+ if (el.preload === "none") el.preload = "auto";
5362
+ play();
5363
+ } else {
5364
+ el.pause();
5365
+ }
5366
+ }
5367
+ }, {
5368
+ threshold: 0.25
5369
+ });
5370
+ observer.observe(el);
5371
+ reduced?.addEventListener("change", play);
5372
+ return () => {
5373
+ observer.disconnect();
5374
+ reduced?.removeEventListener("change", play);
5375
+ };
5376
+ }, []);
5377
+ const fillStyle = fill2 ? {
5378
+ position: "absolute",
5379
+ inset: 0,
5380
+ width: "100%",
5381
+ height: "100%"
5382
+ } : {};
5383
+ return jsx("video", {
5384
+ ref,
5385
+ src: assetUrl(src),
5386
+ poster: poster ? assetUrl(poster) : void 0,
5387
+ className,
5388
+ style: {
5389
+ ...fillStyle,
5390
+ ...style
5391
+ },
5392
+ autoPlay: true,
5393
+ loop: true,
5394
+ muted: true,
5395
+ playsInline: true,
5396
+ preload: priority ? "auto" : "none",
5397
+ "aria-hidden": true,
5398
+ tabIndex: -1
5399
+ });
5400
+ }
5341
5401
  const badge$5 = "_badge_1bagf_1";
5342
5402
  const neutral$1 = "_neutral_1bagf_12";
5343
5403
  const success$1 = "_success_1bagf_17";
5344
5404
  const critical$1 = "_critical_1bagf_22";
5345
5405
  const promo = "_promo_1bagf_27";
5346
- const styles$P = {
5406
+ const styles$Q = {
5347
5407
  badge: badge$5,
5348
5408
  neutral: neutral$1,
5349
5409
  success: success$1,
@@ -5352,7 +5412,7 @@ const styles$P = {
5352
5412
  };
5353
5413
  function Badge({ tone = "neutral", children }) {
5354
5414
  return jsx("span", {
5355
- className: [styles$P.badge, styles$P[tone]].join(" "),
5415
+ className: [styles$Q.badge, styles$Q[tone]].join(" "),
5356
5416
  children
5357
5417
  });
5358
5418
  }
@@ -5363,7 +5423,7 @@ const secondary = "_secondary_1u2uh_34";
5363
5423
  const ghost = "_ghost_1u2uh_40";
5364
5424
  const spinner = "_spinner_1u2uh_83";
5365
5425
  const spin = "_spin_1u2uh_83";
5366
- const styles$O = {
5426
+ const styles$P = {
5367
5427
  button: button$1,
5368
5428
  fullWidth,
5369
5429
  primary,
@@ -5377,12 +5437,12 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
5377
5437
  return jsxs("button", {
5378
5438
  ref,
5379
5439
  type,
5380
- className: [styles$O.button, styles$O[variant], fullWidth2 ? styles$O.fullWidth : "", className ?? ""].filter(Boolean).join(" "),
5440
+ className: [styles$P.button, styles$P[variant], fullWidth2 ? styles$P.fullWidth : "", className ?? ""].filter(Boolean).join(" "),
5381
5441
  disabled: isDisabled,
5382
5442
  "aria-busy": loading || void 0,
5383
5443
  ...rest,
5384
5444
  children: [loading && jsx("span", {
5385
- className: styles$O.spinner,
5445
+ className: styles$P.spinner,
5386
5446
  "aria-hidden": "true"
5387
5447
  }), jsx("span", {
5388
5448
  children
@@ -5390,7 +5450,7 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
5390
5450
  });
5391
5451
  });
5392
5452
  const skeleton = "_skeleton_1nxz7_1";
5393
- const styles$N = {
5453
+ const styles$O = {
5394
5454
  skeleton
5395
5455
  };
5396
5456
  function Skeleton({ width, height, radius, className, circle }) {
@@ -5401,13 +5461,13 @@ function Skeleton({ width, height, radius, className, circle }) {
5401
5461
  };
5402
5462
  return jsx("span", {
5403
5463
  "aria-hidden": "true",
5404
- className: [styles$N.skeleton, className ?? ""].filter(Boolean).join(" "),
5464
+ className: [styles$O.skeleton, className ?? ""].filter(Boolean).join(" "),
5405
5465
  style
5406
5466
  });
5407
5467
  }
5408
5468
  const surface$1 = "_surface_cfqo9_10";
5409
5469
  const fill = "_fill_cfqo9_35";
5410
- const styles$M = {
5470
+ const styles$N = {
5411
5471
  surface: surface$1,
5412
5472
  fill
5413
5473
  };
@@ -5465,7 +5525,7 @@ const ShopSurface = forwardRef(function ShopSurface2({ tone, fill: fill2 = false
5465
5525
  ...rest,
5466
5526
  ref: attach,
5467
5527
  "data-shop-theme": tone,
5468
- className: [styles$M.surface, fill2 ? styles$M.fill : "", className ?? ""].filter(Boolean).join(" "),
5528
+ className: [styles$N.surface, fill2 ? styles$N.fill : "", className ?? ""].filter(Boolean).join(" "),
5469
5529
  children
5470
5530
  });
5471
5531
  });
@@ -5478,7 +5538,7 @@ const lineMid = "_lineMid_ney0g_45";
5478
5538
  const lineNarrow = "_lineNarrow_ney0g_49";
5479
5539
  const row$9 = "_row_ney0g_53";
5480
5540
  const action$2 = "_action_ney0g_57";
5481
- const styles$L = {
5541
+ const styles$M = {
5482
5542
  root: root$6,
5483
5543
  inner,
5484
5544
  media: media$3,
@@ -5555,7 +5615,6 @@ const ES = {
5555
5615
  "Close size guide": "Cerrar la guía de tallas",
5556
5616
  Color: "Color",
5557
5617
  "Color:": "Color:",
5558
- "Complete the look with everyday essentials and finishing details": "Completa tu look con básicos para el día a día y detalles que marcan la diferencia",
5559
5618
  "Continue shopping": "Seguir comprando",
5560
5619
  DAZN: "DAZN",
5561
5620
  "DAZN Shop": "Tienda DAZN",
@@ -5618,7 +5677,6 @@ const ES = {
5618
5677
  "Shipping address": "Dirección de envío",
5619
5678
  "Shipping and returns": "Envíos y devoluciones",
5620
5679
  "Shop menu": "Menú de la tienda",
5621
- "Shop now": "Comprar ahora",
5622
5680
  Size: "Talla",
5623
5681
  "Size guide": "Guía de tallas",
5624
5682
  "Something looks off": "Algo no va bien",
@@ -5626,6 +5684,7 @@ const ES = {
5626
5684
  "Standard or express delivery": "Envío estándar o urgente",
5627
5685
  Subtotal: "Subtotal",
5628
5686
  "Swipe down for more": "Desliza hacia abajo para ver más",
5687
+ "The DAZN Shop collection": "La colección de DAZN Shop",
5629
5688
  "T-Shirts": "Camisetas",
5630
5689
  Tax: "Impuestos",
5631
5690
  "That is not possible right now": "Eso no es posible en este momento",
@@ -5691,36 +5750,36 @@ function ScreenSkeleton({ tone, shape = "media" }) {
5691
5750
  return jsx(ShopSurface, {
5692
5751
  tone,
5693
5752
  fill: true,
5694
- className: styles$L.root,
5753
+ className: styles$M.root,
5695
5754
  children: jsx("div", {
5696
- className: styles$L.inner,
5755
+ className: styles$M.inner,
5697
5756
  role: "status",
5698
5757
  "aria-label": t("Loading"),
5699
5758
  children: shape === "media" ? jsxs(Fragment, {
5700
5759
  children: [jsx(Skeleton, {
5701
- className: styles$L.media
5760
+ className: styles$M.media
5702
5761
  }), jsxs("div", {
5703
- className: styles$L.lines,
5762
+ className: styles$M.lines,
5704
5763
  children: [jsx(Skeleton, {
5705
5764
  height: 22,
5706
- className: styles$L.lineWide
5765
+ className: styles$M.lineWide
5707
5766
  }), jsx(Skeleton, {
5708
5767
  height: 16,
5709
- className: styles$L.lineMid
5768
+ className: styles$M.lineMid
5710
5769
  }), jsx(Skeleton, {
5711
5770
  height: 16,
5712
- className: styles$L.lineNarrow
5771
+ className: styles$M.lineNarrow
5713
5772
  })]
5714
5773
  }), jsx(Skeleton, {
5715
5774
  height: 48,
5716
5775
  radius: 8,
5717
- className: styles$L.action
5776
+ className: styles$M.action
5718
5777
  })]
5719
5778
  }) : jsx("div", {
5720
- className: styles$L.lines,
5779
+ className: styles$M.lines,
5721
5780
  children: [0, 1, 2, 3].map((i) => jsx(Skeleton, {
5722
5781
  height: 72,
5723
- className: styles$L.row
5782
+ className: styles$M.row
5724
5783
  }, i))
5725
5784
  })
5726
5785
  })
@@ -5732,7 +5791,7 @@ const text$5 = "_text_ryf3q_21";
5732
5791
  const title$n = "_title_ryf3q_35";
5733
5792
  const body$8 = "_body_ryf3q_40";
5734
5793
  const action$1 = "_action_ryf3q_48";
5735
- const styles$K = {
5794
+ const styles$L = {
5736
5795
  root: root$5,
5737
5796
  icon: icon$4,
5738
5797
  text: text$5,
@@ -5742,22 +5801,22 @@ const styles$K = {
5742
5801
  };
5743
5802
  function EmptyState({ title: title2, body: body3, action: action2, icon: icon2 }) {
5744
5803
  return jsxs("div", {
5745
- className: styles$K.root,
5804
+ className: styles$L.root,
5746
5805
  role: "status",
5747
5806
  children: [icon2 && jsx("div", {
5748
- className: styles$K.icon,
5807
+ className: styles$L.icon,
5749
5808
  children: icon2
5750
5809
  }), jsxs("div", {
5751
- className: styles$K.text,
5810
+ className: styles$L.text,
5752
5811
  children: [jsx("h2", {
5753
- className: styles$K.title,
5812
+ className: styles$L.title,
5754
5813
  children: title2
5755
5814
  }), body3 && jsx("p", {
5756
- className: styles$K.body,
5815
+ className: styles$L.body,
5757
5816
  children: body3
5758
5817
  })]
5759
5818
  }), action2 && jsx("div", {
5760
- className: styles$K.action,
5819
+ className: styles$L.action,
5761
5820
  children: action2
5762
5821
  })]
5763
5822
  });
@@ -5879,7 +5938,7 @@ function isDuplicateOrder(err) {
5879
5938
  const root$4 = "_root_1lbpx_1";
5880
5939
  const title$m = "_title_1lbpx_10";
5881
5940
  const body$7 = "_body_1lbpx_15";
5882
- const styles$J = {
5941
+ const styles$K = {
5883
5942
  root: root$4,
5884
5943
  title: title$m,
5885
5944
  body: body$7
@@ -5889,13 +5948,13 @@ function ErrorState({ code, title: title2, body: body3, onRetry, retryLabel }) {
5889
5948
  const treatment = treatmentFor(code);
5890
5949
  const showRetry = Boolean(onRetry) && treatment.retriable;
5891
5950
  return jsxs("div", {
5892
- className: styles$J.root,
5951
+ className: styles$K.root,
5893
5952
  role: "alert",
5894
5953
  children: [jsx("h2", {
5895
- className: styles$J.title,
5954
+ className: styles$K.title,
5896
5955
  children: title2 ?? t(treatment.title)
5897
5956
  }), jsx("p", {
5898
- className: styles$J.body,
5957
+ className: styles$K.body,
5899
5958
  children: body3 ?? t(treatment.body)
5900
5959
  }), showRetry && jsx(Button, {
5901
5960
  variant: "secondary",
@@ -5943,7 +6002,7 @@ const rich = "_rich_5aafz_183";
5943
6002
  const description = "_description_5aafz_198";
5944
6003
  const thumb$3 = "_thumb_5aafz_216";
5945
6004
  const thumbImage = "_thumbImage_5aafz_227";
5946
- const styles$I = {
6005
+ const styles$J = {
5947
6006
  viewport,
5948
6007
  anchor,
5949
6008
  caret,
@@ -6066,41 +6125,41 @@ function ToastProvider({ children }) {
6066
6125
  return jsxs(ToastContext.Provider, {
6067
6126
  value: api,
6068
6127
  children: [children, jsx("div", {
6069
- className: styles$I.viewport,
6128
+ className: styles$J.viewport,
6070
6129
  ref: viewportRef,
6071
6130
  "aria-live": "polite",
6072
6131
  "aria-atomic": "false",
6073
6132
  children: toasts.map((t) => {
6074
6133
  const rich2 = Boolean(t.description || t.image);
6075
6134
  return jsxs("div", {
6076
- className: styles$I.anchor,
6135
+ className: styles$J.anchor,
6077
6136
  children: [t.anchor === "cart" && jsx("span", {
6078
- className: styles$I.caret,
6137
+ className: styles$J.caret,
6079
6138
  children: jsx(Caret, {})
6080
6139
  }), jsxs("div", {
6081
- className: [styles$I.toast, rich2 ? styles$I.rich : styles$I[t.tone]].join(" "),
6140
+ className: [styles$J.toast, rich2 ? styles$J.rich : styles$J[t.tone]].join(" "),
6082
6141
  role: "status",
6083
6142
  children: [t.image && jsx("span", {
6084
- className: styles$I.thumb,
6143
+ className: styles$J.thumb,
6085
6144
  children: jsx(ShopImage, {
6086
6145
  src: t.image,
6087
6146
  alt: "",
6088
6147
  fill: true,
6089
6148
  sizes: "40px",
6090
- className: styles$I.thumbImage
6149
+ className: styles$J.thumbImage
6091
6150
  })
6092
6151
  }), jsxs("span", {
6093
- className: styles$I.text,
6152
+ className: styles$J.text,
6094
6153
  children: [jsx("span", {
6095
- className: styles$I.message,
6154
+ className: styles$J.message,
6096
6155
  children: t.message
6097
6156
  }), t.description && jsx("span", {
6098
- className: styles$I.description,
6157
+ className: styles$J.description,
6099
6158
  children: t.description
6100
6159
  })]
6101
6160
  }), t.action && jsx("button", {
6102
6161
  type: "button",
6103
- className: styles$I.action,
6162
+ className: styles$J.action,
6104
6163
  onClick: () => {
6105
6164
  t.action?.onAction();
6106
6165
  dismiss(t.id);
@@ -6115,15 +6174,15 @@ function ToastProvider({ children }) {
6115
6174
  }
6116
6175
  const badge$4 = "_badge_156ya_2";
6117
6176
  const icon$3 = "_icon_156ya_18";
6118
- const styles$H = {
6177
+ const styles$I = {
6119
6178
  badge: badge$4,
6120
6179
  icon: icon$3
6121
6180
  };
6122
6181
  function SaleBadge({ pct }) {
6123
6182
  return jsxs("span", {
6124
- className: styles$H.badge,
6183
+ className: styles$I.badge,
6125
6184
  children: [jsxs("svg", {
6126
- className: styles$H.icon,
6185
+ className: styles$I.icon,
6127
6186
  width: "12",
6128
6187
  height: "12",
6129
6188
  viewBox: "0 0 24 24",
@@ -6153,7 +6212,7 @@ const badge$3 = "_badge_rvfx9_48";
6153
6212
  const price$4 = "_price_rvfx9_52";
6154
6213
  const compareAt = "_compareAt_rvfx9_57";
6155
6214
  const strikethrough = "_strikethrough_rvfx9_65";
6156
- const styles$G = {
6215
+ const styles$H = {
6157
6216
  root: root$3,
6158
6217
  center: center$1,
6159
6218
  end,
@@ -6170,12 +6229,12 @@ function PriceBlock({ price: price2, compareAt: compareAt2, discountPct: discoun
6170
6229
  const pct = discountPct$1 ?? discountPct(price2, compareAt2);
6171
6230
  const hasCompare = compareAt2 && compareAt2.amount > price2.amount;
6172
6231
  return jsxs("div", {
6173
- className: [styles$G.root, styles$G[size], styles$G[align], styles$G[variant]].join(" "),
6232
+ className: [styles$H.root, styles$H[size], styles$H[align], styles$H[variant]].join(" "),
6174
6233
  children: [jsx("span", {
6175
- className: styles$G.price,
6234
+ className: styles$H.price,
6176
6235
  children: format(price2)
6177
6236
  }), hasCompare && jsxs("span", {
6178
- className: styles$G.compareAt,
6237
+ className: styles$H.compareAt,
6179
6238
  children: [jsx("span", {
6180
6239
  className: "visually-hidden",
6181
6240
  children: `Was ${format(compareAt2)}`
@@ -6201,7 +6260,7 @@ const past = "_past_1cum7_113";
6201
6260
  const current = "_current_1cum7_118";
6202
6261
  const future = "_future_1cum7_133";
6203
6262
  const date$1 = "_date_1cum7_138";
6204
- const styles$F = {
6263
+ const styles$G = {
6205
6264
  timeline,
6206
6265
  row: row$8,
6207
6266
  line: line$3,
@@ -6220,39 +6279,39 @@ function OrderTimeline({ progress: progress2, estimatedDelivery, locale: localeP
6220
6279
  const locale = useLocale(localeProp);
6221
6280
  const currentIndex = progress2.findIndex((e) => e.current);
6222
6281
  return jsx("ol", {
6223
- className: styles$F.timeline,
6282
+ className: styles$G.timeline,
6224
6283
  children: progress2.map((entry, i) => {
6225
6284
  const state = stateOf(entry, i, currentIndex);
6226
6285
  const estimate = !entry.at && i === progress2.length - 1 && estimatedDelivery ? formatWindow(estimatedDelivery, locale) : void 0;
6227
6286
  return jsxs("li", {
6228
- className: styles$F.row,
6287
+ className: styles$G.row,
6229
6288
  "aria-current": entry.current ? "step" : void 0,
6230
6289
  children: [jsxs("div", {
6231
- className: styles$F.line,
6290
+ className: styles$G.line,
6232
6291
  children: [jsx("span", {
6233
- className: styles$F.marker,
6292
+ className: styles$G.marker,
6234
6293
  children: state === "future" ? jsx("span", {
6235
- className: styles$F.pending,
6294
+ className: styles$G.pending,
6236
6295
  "aria-hidden": "true"
6237
6296
  }) : jsx(StepTick, {
6238
6297
  tone: state
6239
6298
  })
6240
6299
  }), jsxs("span", {
6241
- className: styles$F.text,
6300
+ className: styles$G.text,
6242
6301
  children: [jsx("span", {
6243
- className: [styles$F.label, styles$F[state]].join(" "),
6302
+ className: [styles$G.label, styles$G[state]].join(" "),
6244
6303
  children: entry.label
6245
6304
  }), entry.at ? jsx("time", {
6246
- className: styles$F.date,
6305
+ className: styles$G.date,
6247
6306
  dateTime: entry.at,
6248
6307
  children: formatStepDate(entry.at, locale)
6249
6308
  }) : estimate && jsx("span", {
6250
- className: styles$F.date,
6309
+ className: styles$G.date,
6251
6310
  children: estimate
6252
6311
  })]
6253
6312
  })]
6254
6313
  }), i < progress2.length - 1 && jsx("span", {
6255
- className: styles$F.connector,
6314
+ className: styles$G.connector,
6256
6315
  "aria-hidden": "true"
6257
6316
  })]
6258
6317
  }, entry.step);
@@ -6266,7 +6325,7 @@ function stateOf(entry, index, currentIndex) {
6266
6325
  }
6267
6326
  function StepTick({ tone }) {
6268
6327
  return jsxs("svg", {
6269
- className: styles$F.tick,
6328
+ className: styles$G.tick,
6270
6329
  width: "28",
6271
6330
  height: "28",
6272
6331
  viewBox: "0 0 28 28",
@@ -6411,7 +6470,7 @@ const row$7 = "_row_1hsxt_16";
6411
6470
  const free = "_free_1hsxt_53";
6412
6471
  const pending$1 = "_pending_1hsxt_59";
6413
6472
  const discount = "_discount_1hsxt_69";
6414
- const styles$E = {
6473
+ const styles$F = {
6415
6474
  summary,
6416
6475
  row: row$7,
6417
6476
  free,
@@ -6440,11 +6499,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
6440
6499
  const isDeferred = (key) => deferred.includes(key);
6441
6500
  const visible = rows.filter((row2) => !hidden.includes(row2.key)).filter((row2) => row2.key !== "discount" || discount2 !== void 0);
6442
6501
  return jsx("dl", {
6443
- className: styles$E.summary,
6502
+ className: styles$F.summary,
6444
6503
  children: visible.map(({ label: label2, key }) => {
6445
6504
  if (key === "discount" && discount2) {
6446
6505
  return jsxs("div", {
6447
- className: [styles$E.row, styles$E.discount].join(" "),
6506
+ className: [styles$F.row, styles$F.discount].join(" "),
6448
6507
  children: [jsx("dt", {
6449
6508
  children: t(label2)
6450
6509
  }), jsx("dd", {
@@ -6454,11 +6513,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
6454
6513
  }
6455
6514
  const pending2 = key !== "total" && isDeferred(key);
6456
6515
  return jsxs("div", {
6457
- className: styles$E.row,
6516
+ className: styles$F.row,
6458
6517
  children: [jsx("dt", {
6459
6518
  children: t(label2)
6460
6519
  }), jsx("dd", {
6461
- className: pending2 ? styles$E.pending : void 0,
6520
+ className: pending2 ? styles$F.pending : void 0,
6462
6521
  children: pending2 ? t("Calculated at checkout") : renderValue(key, pricing, format, t)
6463
6522
  })]
6464
6523
  }, key);
@@ -6468,7 +6527,7 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
6468
6527
  function renderValue(key, pricing, format, t) {
6469
6528
  if (key === "shipping" && pricing.shipping.amount === 0) {
6470
6529
  return jsx("span", {
6471
- className: styles$E.free,
6530
+ className: styles$F.free,
6472
6531
  children: t("Free")
6473
6532
  });
6474
6533
  }
@@ -6491,7 +6550,7 @@ const card$4 = "_card_1vmnm_173";
6491
6550
  const cardTitle = "_cardTitle_1vmnm_181";
6492
6551
  const cardBody = "_cardBody_1vmnm_193";
6493
6552
  const summaryCard = "_summaryCard_1vmnm_165";
6494
- const styles$D = {
6553
+ const styles$E = {
6495
6554
  lines: lines$1,
6496
6555
  line: line$2,
6497
6556
  thumb: thumb$2,
@@ -6530,42 +6589,42 @@ function OrderLine({ item: item2 }) {
6530
6589
  const pct = compareAt2 ? discountPct(item2.unit_price, compareAt2) : void 0;
6531
6590
  const details2 = detailsOf(item2, t);
6532
6591
  return jsxs("li", {
6533
- className: styles$D.line,
6592
+ className: styles$E.line,
6534
6593
  children: [jsx("div", {
6535
- className: styles$D.thumb,
6594
+ className: styles$E.thumb,
6536
6595
  children: item2.image ? jsx(ShopImage, {
6537
6596
  src: item2.image,
6538
6597
  alt: "",
6539
6598
  fill: true,
6540
6599
  sizes: "48px",
6541
- className: styles$D.image
6600
+ className: styles$E.image
6542
6601
  }) : jsx("div", {
6543
- className: styles$D.placeholder,
6602
+ className: styles$E.placeholder,
6544
6603
  "aria-hidden": "true"
6545
6604
  })
6546
6605
  }), jsxs("div", {
6547
- className: styles$D.lineBody,
6606
+ className: styles$E.lineBody,
6548
6607
  children: [jsxs("div", {
6549
- className: styles$D.lineText,
6608
+ className: styles$E.lineText,
6550
6609
  children: [jsx("span", {
6551
- className: styles$D.lineTitle,
6610
+ className: styles$E.lineTitle,
6552
6611
  children: item2.title ?? item2.sku
6553
6612
  }), jsxs("span", {
6554
- className: styles$D.lineMeta,
6613
+ className: styles$E.lineMeta,
6555
6614
  children: [details2.map((detail2) => jsx("span", {
6556
- className: styles$D.detail,
6615
+ className: styles$E.detail,
6557
6616
  children: detail2
6558
6617
  }, detail2)), pct !== void 0 && jsx(SaleBadge, {
6559
6618
  pct
6560
6619
  })]
6561
6620
  })]
6562
6621
  }), jsxs("span", {
6563
- className: styles$D.linePrice,
6622
+ className: styles$E.linePrice,
6564
6623
  children: [jsx("span", {
6565
- className: styles$D.paid,
6624
+ className: styles$E.paid,
6566
6625
  children: format(item2.line_total)
6567
6626
  }), compareAt2 && jsxs("span", {
6568
- className: styles$D.was,
6627
+ className: styles$E.was,
6569
6628
  children: [jsx("span", {
6570
6629
  className: "visually-hidden",
6571
6630
  children: `Was ${format(compareAt2)}`
@@ -6581,7 +6640,7 @@ function OrderLine({ item: item2 }) {
6581
6640
  function OrderLines({ order }) {
6582
6641
  const t = useT();
6583
6642
  return jsx("ul", {
6584
- className: styles$D.lines,
6643
+ className: styles$E.lines,
6585
6644
  "aria-label": t("Items"),
6586
6645
  children: order.items.map((item2) => jsx(OrderLine, {
6587
6646
  item: item2
@@ -6591,13 +6650,13 @@ function OrderLines({ order }) {
6591
6650
  function ShippingAddressCard({ order }) {
6592
6651
  const t = useT();
6593
6652
  return jsxs("section", {
6594
- className: styles$D.card,
6653
+ className: styles$E.card,
6595
6654
  "aria-label": t("Shipping address"),
6596
6655
  children: [jsx("h2", {
6597
- className: styles$D.cardTitle,
6656
+ className: styles$E.cardTitle,
6598
6657
  children: "Shipping address"
6599
6658
  }), jsx("p", {
6600
- className: styles$D.cardBody,
6659
+ className: styles$E.cardBody,
6601
6660
  children: formatAddress(order.ship_to)
6602
6661
  })]
6603
6662
  });
@@ -6605,10 +6664,10 @@ function ShippingAddressCard({ order }) {
6605
6664
  function OrderSummaryCard({ order }) {
6606
6665
  const t = useT();
6607
6666
  return jsxs("section", {
6608
- className: [styles$D.card, styles$D.summaryCard].join(" "),
6667
+ className: [styles$E.card, styles$E.summaryCard].join(" "),
6609
6668
  "aria-label": t("Order summary"),
6610
6669
  children: [jsx("h2", {
6611
- className: styles$D.cardTitle,
6670
+ className: styles$E.cardTitle,
6612
6671
  children: "Order summary"
6613
6672
  }), jsx(OrderSummary, {
6614
6673
  pricing: toPricing(order),
@@ -6645,7 +6704,7 @@ const handleSlot = "_handleSlot_1f3nh_23";
6645
6704
  const handle = "_handle_1f3nh_23";
6646
6705
  const closeSlot$1 = "_closeSlot_1f3nh_35";
6647
6706
  const close$2 = "_close_1f3nh_35";
6648
- const styles$C = {
6707
+ const styles$D = {
6649
6708
  header: header$6,
6650
6709
  slot,
6651
6710
  handleSlot,
@@ -6673,23 +6732,23 @@ function CloseIcon$1() {
6673
6732
  }
6674
6733
  function SheetHeader({ onClose, closeLabel }) {
6675
6734
  return jsxs("div", {
6676
- className: styles$C.header,
6735
+ className: styles$D.header,
6677
6736
  children: [jsx("div", {
6678
- className: styles$C.slot,
6737
+ className: styles$D.slot,
6679
6738
  "aria-hidden": "true"
6680
6739
  }), jsx("div", {
6681
- className: styles$C.handleSlot,
6740
+ className: styles$D.handleSlot,
6682
6741
  "aria-hidden": "true",
6683
6742
  children: jsx("div", {
6684
- className: styles$C.handle
6743
+ className: styles$D.handle
6685
6744
  })
6686
6745
  }), jsx("button", {
6687
6746
  type: "button",
6688
- className: styles$C.closeSlot,
6747
+ className: styles$D.closeSlot,
6689
6748
  onClick: onClose,
6690
6749
  "aria-label": closeLabel,
6691
6750
  children: jsx("span", {
6692
- className: styles$C.close,
6751
+ className: styles$D.close,
6693
6752
  children: jsx(CloseIcon$1, {})
6694
6753
  })
6695
6754
  })]
@@ -6745,7 +6804,7 @@ const radio = "_radio_7on4q_88";
6745
6804
  const label$1 = "_label_7on4q_118";
6746
6805
  const footer$1 = "_footer_7on4q_127";
6747
6806
  const error$1 = "_error_7on4q_135";
6748
- const styles$B = {
6807
+ const styles$C = {
6749
6808
  scrim: scrim$5,
6750
6809
  sheet: sheet$3,
6751
6810
  body: body$6,
@@ -6762,12 +6821,12 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
6762
6821
  const [choice, setChoice] = useState(selected2);
6763
6822
  useModalDialog(true, onClose, sheetRef);
6764
6823
  return jsx("div", {
6765
- className: styles$B.scrim,
6824
+ className: styles$C.scrim,
6766
6825
  onClick: onClose,
6767
6826
  children: jsxs(ShopSurface, {
6768
6827
  tone: "light",
6769
6828
  ref: sheetRef,
6770
- className: styles$B.sheet,
6829
+ className: styles$C.sheet,
6771
6830
  role: "dialog",
6772
6831
  "aria-modal": "true",
6773
6832
  "aria-labelledby": "reason-sheet-title",
@@ -6776,23 +6835,23 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
6776
6835
  onClose,
6777
6836
  closeLabel
6778
6837
  }), jsxs("div", {
6779
- className: styles$B.body,
6838
+ className: styles$C.body,
6780
6839
  children: [jsx("h2", {
6781
6840
  id: "reason-sheet-title",
6782
- className: styles$B.title,
6841
+ className: styles$C.title,
6783
6842
  children: title2
6784
6843
  }), jsx("div", {
6785
- className: styles$B.options,
6844
+ className: styles$C.options,
6786
6845
  role: "radiogroup",
6787
6846
  "aria-labelledby": "reason-sheet-title",
6788
6847
  children: options2.map((o) => jsxs("button", {
6789
6848
  type: "button",
6790
6849
  role: "radio",
6791
6850
  "aria-checked": o.value === choice,
6792
- className: styles$B.option,
6851
+ className: styles$C.option,
6793
6852
  onClick: () => setChoice(o.value),
6794
6853
  children: [jsx("span", {
6795
- className: styles$B.radio,
6854
+ className: styles$C.radio,
6796
6855
  "aria-hidden": "true",
6797
6856
  children: o.value === choice && jsxs("svg", {
6798
6857
  width: "20",
@@ -6813,15 +6872,15 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
6813
6872
  })]
6814
6873
  })
6815
6874
  }), jsx("span", {
6816
- className: styles$B.label,
6875
+ className: styles$C.label,
6817
6876
  children: o.label
6818
6877
  })]
6819
6878
  }, o.value))
6820
6879
  })]
6821
6880
  }), jsxs("div", {
6822
- className: styles$B.footer,
6881
+ className: styles$C.footer,
6823
6882
  children: [error2 && jsx("p", {
6824
- className: styles$B.error,
6883
+ className: styles$C.error,
6825
6884
  role: "alert",
6826
6885
  children: error2
6827
6886
  }), jsx(Button, {
@@ -6857,7 +6916,7 @@ const paid$2 = "_paid_1c7ro_176";
6857
6916
  const was$3 = "_was_1c7ro_184";
6858
6917
  const reason = "_reason_1c7ro_199";
6859
6918
  const reasonSet = "_reasonSet_1c7ro_217";
6860
- const styles$A = {
6919
+ const styles$B = {
6861
6920
  page: page$6,
6862
6921
  titles: titles$2,
6863
6922
  title: title$k,
@@ -6937,15 +6996,18 @@ const RETURN_REASONS = [{
6937
6996
  label: "Changed my mind"
6938
6997
  }];
6939
6998
  const REASON_LABEL = new Map(RETURN_REASONS.map((r) => [r.value, r.label]));
6999
+ function unitsLeft(item2) {
7000
+ return item2.qty - item2.cancelled_qty - item2.refunded_qty - (item2.returned_qty ?? 0);
7001
+ }
6940
7002
  function ReturnItemsView({ order, onSubmit, busy = false }) {
6941
7003
  const { format } = useMoney();
6942
7004
  const [chosen, setChosen] = useState({});
6943
7005
  const [reasonFor, setReasonFor] = useState(null);
6944
- const returnable = useMemo(() => order.items.filter((i) => i.qty - i.cancelled_qty - i.refunded_qty > 0), [order.items]);
7006
+ const returnable = useMemo(() => order.items.filter((i) => unitsLeft(i) > 0), [order.items]);
6945
7007
  const selected2 = Object.entries(chosen).filter(([, reason2]) => reason2 !== void 0);
6946
7008
  const canSubmit = selected2.length > 0;
6947
7009
  function remaining(item2) {
6948
- return item2.qty - item2.cancelled_qty - item2.refunded_qty;
7010
+ return unitsLeft(item2);
6949
7011
  }
6950
7012
  function toggle2(lineRef) {
6951
7013
  if (lineRef in chosen) {
@@ -6973,72 +7035,72 @@ function ReturnItemsView({ order, onSubmit, busy = false }) {
6973
7035
  if (items2.length > 0) onSubmit(items2);
6974
7036
  }
6975
7037
  return jsxs("div", {
6976
- className: styles$A.page,
7038
+ className: styles$B.page,
6977
7039
  children: [jsxs("div", {
6978
- className: styles$A.titles,
7040
+ className: styles$B.titles,
6979
7041
  children: [jsx("h1", {
6980
- className: styles$A.title,
7042
+ className: styles$B.title,
6981
7043
  children: "What do you want to return?"
6982
7044
  }), jsx("p", {
6983
- className: styles$A.subtitle,
7045
+ className: styles$B.subtitle,
6984
7046
  children: "Select items you want to return"
6985
7047
  })]
6986
7048
  }), jsx("div", {
6987
- className: styles$A.list,
7049
+ className: styles$B.list,
6988
7050
  children: returnable.map((item2) => {
6989
7051
  const picked = item2.line_ref in chosen;
6990
7052
  const reason2 = chosen[item2.line_ref];
6991
7053
  return jsxs("div", {
6992
- className: styles$A.card,
7054
+ className: styles$B.card,
6993
7055
  children: [jsx("button", {
6994
7056
  type: "button",
6995
7057
  role: "checkbox",
6996
7058
  "aria-checked": picked,
6997
7059
  "aria-label": item2.title ?? item2.sku,
6998
- className: styles$A.checkSlot,
7060
+ className: styles$B.checkSlot,
6999
7061
  onClick: () => toggle2(item2.line_ref),
7000
7062
  children: jsx("span", {
7001
- className: styles$A.check,
7063
+ className: styles$B.check,
7002
7064
  children: picked ? jsx(Tick, {}) : null
7003
7065
  })
7004
7066
  }), jsxs("div", {
7005
- className: styles$A.row,
7067
+ className: styles$B.row,
7006
7068
  children: [jsxs("div", {
7007
- className: styles$A.line,
7069
+ className: styles$B.line,
7008
7070
  children: [jsx("div", {
7009
- className: styles$A.thumb,
7071
+ className: styles$B.thumb,
7010
7072
  children: item2.image ? jsx(ShopImage, {
7011
7073
  src: item2.image,
7012
7074
  alt: "",
7013
7075
  fill: true,
7014
7076
  sizes: "48px",
7015
- className: styles$A.img
7077
+ className: styles$B.img
7016
7078
  }) : jsx("div", {
7017
- className: styles$A.placeholder,
7079
+ className: styles$B.placeholder,
7018
7080
  "aria-hidden": "true"
7019
7081
  })
7020
7082
  }), jsxs("div", {
7021
- className: styles$A.meta,
7083
+ className: styles$B.meta,
7022
7084
  children: [jsx("p", {
7023
- className: styles$A.name,
7085
+ className: styles$B.name,
7024
7086
  children: item2.title ?? item2.sku
7025
7087
  }), item2.attributes?.size && jsx("p", {
7026
- className: styles$A.attrs,
7088
+ className: styles$B.attrs,
7027
7089
  children: `Size: ${item2.attributes.size}`
7028
7090
  })]
7029
7091
  }), jsxs("div", {
7030
- className: styles$A.price,
7092
+ className: styles$B.price,
7031
7093
  children: [jsx("span", {
7032
- className: styles$A.paid,
7094
+ className: styles$B.paid,
7033
7095
  children: format(item2.unit_price)
7034
7096
  }), item2.compare_at_unit_price && jsx("span", {
7035
- className: styles$A.was,
7097
+ className: styles$B.was,
7036
7098
  children: format(item2.compare_at_unit_price)
7037
7099
  })]
7038
7100
  })]
7039
7101
  }), jsxs("button", {
7040
7102
  type: "button",
7041
- className: `${styles$A.reason} ${reason2 ? styles$A.reasonSet : ""}`,
7103
+ className: `${styles$B.reason} ${reason2 ? styles$B.reasonSet : ""}`,
7042
7104
  onClick: () => setReasonFor(item2.line_ref),
7043
7105
  "aria-haspopup": "dialog",
7044
7106
  children: [jsx("span", {
@@ -7088,7 +7150,7 @@ const body$5 = "_body_1r0ea_95";
7088
7150
  const body2 = "_body2_1r0ea_103";
7089
7151
  const download = "_download_1r0ea_121";
7090
7152
  const note$1 = "_note_1r0ea_143";
7091
- const styles$z = {
7153
+ const styles$A = {
7092
7154
  page: page$5,
7093
7155
  intro: intro$1,
7094
7156
  title: title$j,
@@ -7106,35 +7168,35 @@ const styles$z = {
7106
7168
  };
7107
7169
  function ReturnLabelView({ ret, onDone }) {
7108
7170
  return jsxs("div", {
7109
- className: styles$z.page,
7171
+ className: styles$A.page,
7110
7172
  children: [jsxs("div", {
7111
- className: styles$z.intro,
7173
+ className: styles$A.intro,
7112
7174
  children: [jsx("h1", {
7113
- className: styles$z.title,
7175
+ className: styles$A.title,
7114
7176
  children: "We’ve generated your return label"
7115
7177
  }), jsx("p", {
7116
- className: styles$z.subtitle,
7178
+ className: styles$A.subtitle,
7117
7179
  children: "Follow the instructions below to complete your return"
7118
7180
  })]
7119
7181
  }), jsxs("div", {
7120
- className: styles$z.card,
7182
+ className: styles$A.card,
7121
7183
  children: [jsxs("section", {
7122
- className: styles$z.step,
7184
+ className: styles$A.step,
7123
7185
  children: [jsxs("div", {
7124
- className: styles$z.stepHead,
7186
+ className: styles$A.stepHead,
7125
7187
  children: [jsx("span", {
7126
- className: styles$z.number,
7188
+ className: styles$A.number,
7127
7189
  "aria-hidden": "true",
7128
7190
  children: "1"
7129
7191
  }), jsx("h2", {
7130
- className: styles$z.stepTitle,
7192
+ className: styles$A.stepTitle,
7131
7193
  children: "Download your return label"
7132
7194
  })]
7133
7195
  }), jsx("p", {
7134
- className: styles$z.body,
7196
+ className: styles$A.body,
7135
7197
  children: "Tap the button below to download your pre-paid return label"
7136
7198
  }), ret.label_url && jsxs("a", {
7137
- className: styles$z.download,
7199
+ className: styles$A.download,
7138
7200
  href: ret.label_url,
7139
7201
  target: "_blank",
7140
7202
  rel: "noopener noreferrer",
@@ -7143,23 +7205,23 @@ function ReturnLabelView({ ret, onDone }) {
7143
7205
  children: " (opens in a new tab)"
7144
7206
  })]
7145
7207
  }), ret.label_email && jsxs("p", {
7146
- className: styles$z.note,
7208
+ className: styles$A.note,
7147
7209
  children: ["You’ll receive a shipping label PDF to your email as well.", jsx("br", {}), ret.label_email]
7148
7210
  })]
7149
7211
  }), jsxs("section", {
7150
- className: styles$z.step2,
7212
+ className: styles$A.step2,
7151
7213
  children: [jsxs("div", {
7152
- className: styles$z.stepHead,
7214
+ className: styles$A.stepHead,
7153
7215
  children: [jsx("span", {
7154
- className: styles$z.number,
7216
+ className: styles$A.number,
7155
7217
  "aria-hidden": "true",
7156
7218
  children: "2"
7157
7219
  }), jsx("h2", {
7158
- className: styles$z.stepTitle,
7220
+ className: styles$A.stepTitle,
7159
7221
  children: "Pack and ship the item"
7160
7222
  })]
7161
7223
  }), jsxs("p", {
7162
- className: styles$z.body2,
7224
+ className: styles$A.body2,
7163
7225
  children: ["Repackage the item securely and attach the return label to the outside of the package.", jsx("br", {}), "Drop it off at your local carrier or post office."]
7164
7226
  })]
7165
7227
  })]
@@ -7186,7 +7248,7 @@ const attrs = "_attrs_o44fl_100";
7186
7248
  const price$2 = "_price_o44fl_115";
7187
7249
  const paid$1 = "_paid_o44fl_124";
7188
7250
  const was$2 = "_was_o44fl_132";
7189
- const styles$y = {
7251
+ const styles$z = {
7190
7252
  page: page$4,
7191
7253
  titles: titles$1,
7192
7254
  title: title$i,
@@ -7219,42 +7281,42 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
7219
7281
  tone: "light",
7220
7282
  fill: true,
7221
7283
  children: jsxs("div", {
7222
- className: styles$y.page,
7284
+ className: styles$z.page,
7223
7285
  children: [jsxs("div", {
7224
- className: styles$y.titles,
7286
+ className: styles$z.titles,
7225
7287
  children: [jsx("h1", {
7226
- className: styles$y.title,
7288
+ className: styles$z.title,
7227
7289
  children: "Return in progress"
7228
7290
  }), jsx("p", {
7229
- className: styles$y.subtitle,
7291
+ className: styles$z.subtitle,
7230
7292
  children: `Return #${ret.return_ref} · Reported ${reported}`
7231
7293
  })]
7232
7294
  }), jsx(OrderTimeline, {
7233
7295
  progress: ret.progress,
7234
7296
  locale
7235
7297
  }), jsx("ul", {
7236
- className: styles$y.items,
7298
+ className: styles$z.items,
7237
7299
  children: ret.items.map((item2) => jsxs("li", {
7238
- className: styles$y.item,
7300
+ className: styles$z.item,
7239
7301
  children: [jsx("div", {
7240
- className: styles$y.thumb,
7302
+ className: styles$z.thumb,
7241
7303
  children: item2.image ? jsx(ShopImage, {
7242
7304
  src: item2.image,
7243
7305
  alt: "",
7244
7306
  fill: true,
7245
7307
  sizes: "48px",
7246
- className: styles$y.img
7308
+ className: styles$z.img
7247
7309
  }) : jsx("div", {
7248
- className: styles$y.placeholder,
7310
+ className: styles$z.placeholder,
7249
7311
  "aria-hidden": "true"
7250
7312
  })
7251
7313
  }), jsxs("div", {
7252
- className: styles$y.meta,
7314
+ className: styles$z.meta,
7253
7315
  children: [jsx("p", {
7254
- className: styles$y.name,
7316
+ className: styles$z.name,
7255
7317
  children: item2.title ?? item2.sku
7256
7318
  }), (item2.attributes?.size || pctOff(item2)) && jsxs("p", {
7257
- className: styles$y.attrs,
7319
+ className: styles$z.attrs,
7258
7320
  children: [item2.attributes?.size && jsx("span", {
7259
7321
  children: `Size: ${item2.attributes.size}`
7260
7322
  }), pctOff(item2) !== void 0 && jsx(SaleBadge, {
@@ -7262,12 +7324,12 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
7262
7324
  })]
7263
7325
  })]
7264
7326
  }), jsxs("div", {
7265
- className: styles$y.price,
7327
+ className: styles$z.price,
7266
7328
  children: [jsx("span", {
7267
- className: styles$y.paid,
7329
+ className: styles$z.paid,
7268
7330
  children: format(item2.unit_price)
7269
7331
  }), item2.compare_at_unit_price && jsx("span", {
7270
- className: styles$y.was,
7332
+ className: styles$z.was,
7271
7333
  children: format(item2.compare_at_unit_price)
7272
7334
  })]
7273
7335
  })]
@@ -7394,7 +7456,7 @@ const cancel = "_cancel_1v9my_180";
7394
7456
  const cancelledHead = "_cancelledHead_1v9my_204";
7395
7457
  const cancelledTitle = "_cancelledTitle_1v9my_210";
7396
7458
  const cancelledMeta = "_cancelledMeta_1v9my_219";
7397
- const styles$x = {
7459
+ const styles$y = {
7398
7460
  page: page$3,
7399
7461
  widget,
7400
7462
  titleRow,
@@ -7485,7 +7547,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onC
7485
7547
  }, [load]);
7486
7548
  if (state === "loading") {
7487
7549
  return jsxs("div", {
7488
- className: styles$x.page,
7550
+ className: styles$y.page,
7489
7551
  children: [jsx(Skeleton, {
7490
7552
  height: 206,
7491
7553
  radius: 8
@@ -7532,14 +7594,14 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onC
7532
7594
  }
7533
7595
  if (order.status === "cancelled") {
7534
7596
  return jsxs("div", {
7535
- className: styles$x.page,
7597
+ className: styles$y.page,
7536
7598
  children: [jsxs("div", {
7537
- className: styles$x.cancelledHead,
7599
+ className: styles$y.cancelledHead,
7538
7600
  children: [jsx("h1", {
7539
- className: styles$x.cancelledTitle,
7601
+ className: styles$y.cancelledTitle,
7540
7602
  children: "Order cancelled"
7541
7603
  }), jsx("p", {
7542
- className: styles$x.cancelledMeta,
7604
+ className: styles$y.cancelledMeta,
7543
7605
  children: `Order #${shortRef$1(order.order_ref)} · Placed ${placedOn(order.placed_at, locale)}`
7544
7606
  })]
7545
7607
  }), onReorder && jsx(Button, {
@@ -7563,17 +7625,17 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onC
7563
7625
  });
7564
7626
  }
7565
7627
  return jsxs("div", {
7566
- className: styles$x.page,
7628
+ className: styles$y.page,
7567
7629
  children: [jsxs("section", {
7568
- className: styles$x.widget,
7630
+ className: styles$y.widget,
7569
7631
  "aria-label": t("Delivery status"),
7570
7632
  children: [jsxs("div", {
7571
- className: styles$x.titleRow,
7633
+ className: styles$y.titleRow,
7572
7634
  children: [jsx("h1", {
7573
- className: styles$x.headline,
7635
+ className: styles$y.headline,
7574
7636
  children: `Order #${shortRef$1(order.order_ref)}`
7575
7637
  }), order.tracking?.url && inTransit && jsxs("a", {
7576
- className: styles$x.track,
7638
+ className: styles$y.track,
7577
7639
  href: order.tracking.url,
7578
7640
  target: "_blank",
7579
7641
  rel: "noopener noreferrer",
@@ -7590,7 +7652,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onC
7590
7652
  locale
7591
7653
  })]
7592
7654
  }), jsx("hr", {
7593
- className: styles$x.rule
7655
+ className: styles$y.rule
7594
7656
  }), jsx(OrderLines, {
7595
7657
  order
7596
7658
  }), jsx(ShippingAddressCard, {
@@ -7599,7 +7661,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onC
7599
7661
  order
7600
7662
  }), order.can_cancel && jsx("button", {
7601
7663
  type: "button",
7602
- className: styles$x.cancel,
7664
+ className: styles$y.cancel,
7603
7665
  onClick: () => setCancelOpen(true),
7604
7666
  children: "Cancel order"
7605
7667
  }), jsx(NeedHelp, {
@@ -7647,14 +7709,14 @@ function NeedHelp({ order, onStartReturn, onContactSupport }) {
7647
7709
  const emit = useShopEvent();
7648
7710
  if (order.status !== "delivered") return null;
7649
7711
  return jsxs("section", {
7650
- className: styles$x.help,
7712
+ className: styles$y.help,
7651
7713
  "aria-labelledby": "order-help",
7652
7714
  children: [jsx("h2", {
7653
- className: styles$x.helpTitle,
7715
+ className: styles$y.helpTitle,
7654
7716
  id: "order-help",
7655
7717
  children: "Need help?"
7656
7718
  }), jsxs("div", {
7657
- className: styles$x.helpRows,
7719
+ className: styles$y.helpRows,
7658
7720
  children: [order.can_return && onStartReturn && jsx(HelpRow, {
7659
7721
  label: "Start a return",
7660
7722
  onClick: onStartReturn
@@ -7674,7 +7736,7 @@ function NeedHelp({ order, onStartReturn, onContactSupport }) {
7674
7736
  function HelpRow({ label: label2, onClick }) {
7675
7737
  return jsxs("button", {
7676
7738
  type: "button",
7677
- className: styles$x.helpRow,
7739
+ className: styles$y.helpRow,
7678
7740
  onClick,
7679
7741
  children: [jsx("span", {
7680
7742
  children: label2
@@ -7691,7 +7753,7 @@ const headline = "_headline_2uqhz_47";
7691
7753
  const subtitle$4 = "_subtitle_2uqhz_65";
7692
7754
  const rule = "_rule_2uqhz_90";
7693
7755
  const done = "_done_2uqhz_107";
7694
- const styles$w = {
7756
+ const styles$x = {
7695
7757
  page: page$2,
7696
7758
  confirmed,
7697
7759
  title: title$h,
@@ -7744,7 +7806,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
7744
7806
  }, [load]);
7745
7807
  if (state === "loading") {
7746
7808
  return jsxs("div", {
7747
- className: styles$w.page,
7809
+ className: styles$x.page,
7748
7810
  children: [jsx(Skeleton, {
7749
7811
  height: 140,
7750
7812
  radius: 8
@@ -7767,17 +7829,17 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
7767
7829
  });
7768
7830
  }
7769
7831
  return jsxs("div", {
7770
- className: styles$w.page,
7832
+ className: styles$x.page,
7771
7833
  children: [jsxs("section", {
7772
- className: styles$w.confirmed,
7834
+ className: styles$x.confirmed,
7773
7835
  "aria-label": "Order confirmation",
7774
7836
  children: [jsxs("div", {
7775
- className: styles$w.title,
7837
+ className: styles$x.title,
7776
7838
  children: [jsx("h1", {
7777
- className: styles$w.headline,
7839
+ className: styles$x.headline,
7778
7840
  children: "Your order is confirmed"
7779
7841
  }), order.email && jsx("p", {
7780
- className: styles$w.subtitle,
7842
+ className: styles$x.subtitle,
7781
7843
  children: `We’ve sent a confirmation to ${order.email}`
7782
7844
  })]
7783
7845
  }), jsx(OrderTimeline, {
@@ -7788,7 +7850,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
7788
7850
  locale
7789
7851
  })]
7790
7852
  }), jsx("hr", {
7791
- className: styles$w.rule
7853
+ className: styles$x.rule
7792
7854
  }), jsx(OrderLines, {
7793
7855
  order
7794
7856
  }), jsx(ShippingAddressCard, {
@@ -7798,7 +7860,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
7798
7860
  }), onDone && jsx(Button, {
7799
7861
  variant: "secondary",
7800
7862
  fullWidth: true,
7801
- className: styles$w.done,
7863
+ className: styles$x.done,
7802
7864
  onClick: onDone,
7803
7865
  children: "Done"
7804
7866
  })]
@@ -7808,7 +7870,7 @@ const badge$2 = "_badge_ghd02_6";
7808
7870
  const progress = "_progress_ghd02_22";
7809
7871
  const delivered = "_delivered_ghd02_27";
7810
7872
  const cancelled = "_cancelled_ghd02_32";
7811
- const styles$v = {
7873
+ const styles$w = {
7812
7874
  badge: badge$2,
7813
7875
  progress,
7814
7876
  delivered,
@@ -7833,7 +7895,7 @@ function OrderStatusBadge({ status }) {
7833
7895
  const label2 = LABEL[status] ?? status.replace(/_/g, " ");
7834
7896
  const tone = TONE[status] ?? "progress";
7835
7897
  return jsx("span", {
7836
- className: [styles$v.badge, styles$v[tone]].join(" "),
7898
+ className: [styles$w.badge, styles$w[tone]].join(" "),
7837
7899
  children: t(label2)
7838
7900
  });
7839
7901
  }
@@ -7853,7 +7915,7 @@ const image$8 = "_image_6xodo_143";
7853
7915
  const placeholder$5 = "_placeholder_6xodo_147";
7854
7916
  const more = "_more_6xodo_154";
7855
7917
  const chevron$2 = "_chevron_6xodo_167";
7856
- const styles$u = {
7918
+ const styles$v = {
7857
7919
  page: page$1,
7858
7920
  empty,
7859
7921
  cta: cta$1,
@@ -7920,7 +7982,7 @@ function OrderListContent({ onOpenOrder, onStartShopping, locale: localeProp })
7920
7982
  }, [load]);
7921
7983
  if (state === "loading") {
7922
7984
  return jsxs("div", {
7923
- className: styles$u.page,
7985
+ className: styles$v.page,
7924
7986
  children: [jsx(Skeleton, {
7925
7987
  height: 148,
7926
7988
  radius: 12
@@ -7941,14 +8003,14 @@ function OrderListContent({ onOpenOrder, onStartShopping, locale: localeProp })
7941
8003
  }
7942
8004
  if (orders2.length === 0) {
7943
8005
  return jsx("div", {
7944
- className: styles$u.empty,
8006
+ className: styles$v.empty,
7945
8007
  children: jsx(EmptyState, {
7946
8008
  title: t("Nothing here yet"),
7947
8009
  body: "Your orders will show up here once you've shopped.",
7948
8010
  ...onStartShopping ? {
7949
8011
  action: jsx("button", {
7950
8012
  type: "button",
7951
- className: styles$u.cta,
8013
+ className: styles$v.cta,
7952
8014
  onClick: onStartShopping,
7953
8015
  children: "Continue shopping"
7954
8016
  })
@@ -7957,7 +8019,7 @@ function OrderListContent({ onOpenOrder, onStartShopping, locale: localeProp })
7957
8019
  });
7958
8020
  }
7959
8021
  return jsx("ul", {
7960
- className: styles$u.page,
8022
+ className: styles$v.page,
7961
8023
  children: orders2.map((order) => jsx("li", {
7962
8024
  children: jsx(OrderCard, {
7963
8025
  order,
@@ -7972,36 +8034,36 @@ function OrderListContent({ onOpenOrder, onStartShopping, locale: localeProp })
7972
8034
  function OrderCard({ order, locale, onOpen }) {
7973
8035
  const body3 = jsxs(Fragment, {
7974
8036
  children: [jsxs("div", {
7975
- className: styles$u.head,
8037
+ className: styles$v.head,
7976
8038
  children: [jsxs("div", {
7977
- className: styles$u.heading,
8039
+ className: styles$v.heading,
7978
8040
  children: [jsx("span", {
7979
- className: styles$u.title,
8041
+ className: styles$v.title,
7980
8042
  children: `Order #${shortRef(order.order_ref)}`
7981
8043
  }), jsx("span", {
7982
- className: styles$u.date,
8044
+ className: styles$v.date,
7983
8045
  children: formatPlaced(order.placed_at, locale)
7984
8046
  })]
7985
8047
  }), jsx(OrderStatusBadge, {
7986
8048
  status: order.status
7987
8049
  })]
7988
8050
  }), jsxs("div", {
7989
- className: styles$u.bottom,
8051
+ className: styles$v.bottom,
7990
8052
  children: [jsx(Thumbnails, {
7991
8053
  order
7992
8054
  }), onOpen && jsx("span", {
7993
- className: styles$u.chevron,
8055
+ className: styles$v.chevron,
7994
8056
  children: jsx(Chevron, {})
7995
8057
  })]
7996
8058
  })]
7997
8059
  });
7998
8060
  if (!onOpen) return jsx("div", {
7999
- className: styles$u.card,
8061
+ className: styles$v.card,
8000
8062
  children: body3
8001
8063
  });
8002
8064
  return jsx("button", {
8003
8065
  type: "button",
8004
- className: [styles$u.card, styles$u.tappable].join(" "),
8066
+ className: [styles$v.card, styles$v.tappable].join(" "),
8005
8067
  onClick: onOpen,
8006
8068
  "aria-label": `Order ${shortRef(order.order_ref)}, ${order.headline}`,
8007
8069
  children: body3
@@ -8013,27 +8075,27 @@ function Thumbnails({ order }) {
8013
8075
  const overflow = images.length >= TILES && hidden > 1 ? hidden : 0;
8014
8076
  if (images.length === 0) {
8015
8077
  return jsx("div", {
8016
- className: styles$u.strip,
8078
+ className: styles$v.strip,
8017
8079
  children: jsx("div", {
8018
- className: [styles$u.tile, styles$u.placeholder].join(" "),
8080
+ className: [styles$v.tile, styles$v.placeholder].join(" "),
8019
8081
  "aria-hidden": "true"
8020
8082
  })
8021
8083
  });
8022
8084
  }
8023
8085
  return jsx("div", {
8024
- className: styles$u.strip,
8086
+ className: styles$v.strip,
8025
8087
  children: images.map((src, i) => {
8026
8088
  const last = i === images.length - 1;
8027
8089
  return jsxs("div", {
8028
- className: styles$u.tile,
8090
+ className: styles$v.tile,
8029
8091
  children: [jsx(ShopImage, {
8030
8092
  src,
8031
8093
  alt: "",
8032
8094
  fill: true,
8033
8095
  sizes: "56px",
8034
- className: styles$u.image
8096
+ className: styles$v.image
8035
8097
  }), overflow > 0 && last && jsxs("span", {
8036
- className: styles$u.more,
8098
+ className: styles$v.more,
8037
8099
  children: [jsxs("span", {
8038
8100
  "aria-hidden": "true",
8039
8101
  children: ["+", overflow]
@@ -8059,21 +8121,45 @@ function formatPlaced(iso, locale) {
8059
8121
  year: "numeric"
8060
8122
  })}`;
8061
8123
  }
8062
- const tile$1 = "_tile_1a177_7";
8063
- const media$2 = "_media_1a177_15";
8064
- const image$7 = "_image_1a177_25";
8065
- const placeholder$4 = "_placeholder_1a177_29";
8066
- const topBadge = "_topBadge_1a177_37";
8067
- const saleBadge$2 = "_saleBadge_1a177_78";
8068
- const oos$3 = "_oos_1a177_86";
8069
- const bottom = "_bottom_1a177_113";
8070
- const titlePrice$1 = "_titlePrice_1a177_100";
8071
- const title$f = "_title_1a177_5";
8072
- const swatches = "_swatches_1a177_181";
8073
- const swatch = "_swatch_1a177_181";
8074
- const swatchActive = "_swatchActive_1a177_198";
8075
- const swatchDot = "_swatchDot_1a177_202";
8076
- const large = "_large_1a177_213";
8124
+ const swatches = "_swatches_mdi63_1";
8125
+ const swatch = "_swatch_mdi63_1";
8126
+ const swatchActive = "_swatchActive_mdi63_18";
8127
+ const swatchDot = "_swatchDot_mdi63_22";
8128
+ const styles$u = {
8129
+ swatches,
8130
+ swatch,
8131
+ swatchActive,
8132
+ swatchDot
8133
+ };
8134
+ function ColourSwatches({ variants, className }) {
8135
+ const colours = colourOptions(variants);
8136
+ if (colours.length === 0) return null;
8137
+ return jsx("div", {
8138
+ className: [styles$u.swatches, className ?? ""].join(" ").trim(),
8139
+ "aria-hidden": "true",
8140
+ children: colours.map((c, i) => jsx("span", {
8141
+ className: [styles$u.swatch, i === 0 ? styles$u.swatchActive : ""].join(" "),
8142
+ children: jsx("span", {
8143
+ className: styles$u.swatchDot,
8144
+ style: {
8145
+ background: swatchColour(c.value)
8146
+ }
8147
+ })
8148
+ }, c.value))
8149
+ });
8150
+ }
8151
+ const tile$1 = "_tile_yg69t_7";
8152
+ const media$2 = "_media_yg69t_15";
8153
+ const image$7 = "_image_yg69t_25";
8154
+ const placeholder$4 = "_placeholder_yg69t_29";
8155
+ const topBadge = "_topBadge_yg69t_37";
8156
+ const saleBadge$2 = "_saleBadge_yg69t_78";
8157
+ const oos$3 = "_oos_yg69t_86";
8158
+ const bottom = "_bottom_yg69t_113";
8159
+ const titlePrice$1 = "_titlePrice_yg69t_100";
8160
+ const title$f = "_title_yg69t_5";
8161
+ const large = "_large_yg69t_185";
8162
+ const swatchSlot = "_swatchSlot_yg69t_223";
8077
8163
  const styles$t = {
8078
8164
  tile: tile$1,
8079
8165
  media: media$2,
@@ -8085,18 +8171,14 @@ const styles$t = {
8085
8171
  bottom,
8086
8172
  titlePrice: titlePrice$1,
8087
8173
  title: title$f,
8088
- swatches,
8089
- swatch,
8090
- swatchActive,
8091
- swatchDot,
8092
- large
8174
+ large,
8175
+ swatchSlot
8093
8176
  };
8094
8177
  function ProductTile({ product, priority, size = "default" }) {
8095
8178
  const image2 = product.media[0];
8096
8179
  const anyInStock = product.variants.length === 0 ? true : product.variants.some((v) => v.in_stock);
8097
8180
  const topBadge2 = product.badges?.[0];
8098
8181
  const pct = discountPct(product.price, product.compare_at);
8099
- const swatches2 = colourOptions(product.variants);
8100
8182
  return jsxs(ShopLink, {
8101
8183
  to: `/product/${encodeURIComponent(product.sku)}`,
8102
8184
  className: [styles$t.tile, size === "large" ? styles$t.large : ""].join(" "),
@@ -8138,36 +8220,28 @@ function ProductTile({ product, priority, size = "default" }) {
8138
8220
  variant: "strikethrough",
8139
8221
  align: "end"
8140
8222
  })]
8141
- }), swatches2.length > 0 && jsx("div", {
8142
- className: styles$t.swatches,
8143
- "aria-hidden": "true",
8144
- children: swatches2.map((c, i) => jsx("span", {
8145
- className: [styles$t.swatch, i === 0 ? styles$t.swatchActive : ""].join(" "),
8146
- children: jsx("span", {
8147
- className: styles$t.swatchDot,
8148
- style: {
8149
- background: swatchColour(c.value)
8150
- }
8151
- })
8152
- }, c.value))
8223
+ }), jsx(ColourSwatches, {
8224
+ variants: product.variants,
8225
+ className: styles$t.swatchSlot
8153
8226
  })]
8154
8227
  })]
8155
8228
  });
8156
8229
  }
8157
- const section$3 = "_section_1n5an_5";
8158
- const title$e = "_title_1n5an_17";
8159
- const link = "_link_1n5an_26";
8160
- const track$4 = "_track_1n5an_38";
8161
- const frame = "_frame_1n5an_58";
8162
- const image$6 = "_image_1n5an_69";
8163
- const placeholder$3 = "_placeholder_1n5an_73";
8164
- const saleBadge$1 = "_saleBadge_1n5an_85";
8165
- const oos$2 = "_oos_1n5an_93";
8166
- const caption = "_caption_1n5an_109";
8167
- const name = "_name_1n5an_122";
8168
- const price$1 = "_price_1n5an_135";
8169
- const paid = "_paid_1n5an_144";
8170
- const was$1 = "_was_1n5an_150";
8230
+ const section$3 = "_section_v48ok_9";
8231
+ const title$e = "_title_v48ok_21";
8232
+ const link = "_link_v48ok_30";
8233
+ const track$4 = "_track_v48ok_42";
8234
+ const frame = "_frame_v48ok_62";
8235
+ const image$6 = "_image_v48ok_73";
8236
+ const placeholder$3 = "_placeholder_v48ok_77";
8237
+ const saleBadge$1 = "_saleBadge_v48ok_89";
8238
+ const oos$2 = "_oos_v48ok_97";
8239
+ const caption = "_caption_v48ok_113";
8240
+ const swatchRow = "_swatchRow_v48ok_132";
8241
+ const name = "_name_v48ok_142";
8242
+ const price$1 = "_price_v48ok_155";
8243
+ const paid = "_paid_v48ok_164";
8244
+ const was$1 = "_was_v48ok_170";
8171
8245
  const styles$s = {
8172
8246
  section: section$3,
8173
8247
  title: title$e,
@@ -8179,6 +8253,7 @@ const styles$s = {
8179
8253
  saleBadge: saleBadge$1,
8180
8254
  oos: oos$2,
8181
8255
  caption,
8256
+ swatchRow,
8182
8257
  name,
8183
8258
  price: price$1,
8184
8259
  paid,
@@ -8246,6 +8321,9 @@ function ProductGallery({ title: title2, product }) {
8246
8321
  children: format(product.compare_at)
8247
8322
  })]
8248
8323
  })]
8324
+ }), jsx(ColourSwatches, {
8325
+ variants: product.variants,
8326
+ className: styles$s.swatchRow
8249
8327
  })]
8250
8328
  })]
8251
8329
  })]
@@ -10194,14 +10272,14 @@ function LifestyleText({ text: text2, align = "center" }) {
10194
10272
  children: text2
10195
10273
  });
10196
10274
  }
10197
- const wrap = "_wrap_9mquf_1";
10198
- const box = "_box_9mquf_5";
10199
- const track$1 = "_track_9mquf_15";
10200
- const slide = "_slide_9mquf_31";
10201
- const image$1 = "_image_9mquf_38";
10202
- const dots$1 = "_dots_9mquf_43";
10203
- const dot$1 = "_dot_9mquf_43";
10204
- const dotActive$1 = "_dotActive_9mquf_63";
10275
+ const wrap = "_wrap_79nr3_10";
10276
+ const box = "_box_79nr3_14";
10277
+ const track$1 = "_track_79nr3_23";
10278
+ const slide = "_slide_79nr3_39";
10279
+ const image$1 = "_image_79nr3_46";
10280
+ const dots$1 = "_dots_79nr3_51";
10281
+ const dot$1 = "_dot_79nr3_51";
10282
+ const dotActive$1 = "_dotActive_79nr3_76";
10205
10283
  const styles$7 = {
10206
10284
  wrap,
10207
10285
  box,
@@ -10601,29 +10679,28 @@ function ProductView({ sku, initialData, showRecommendations = true, onNotFound
10601
10679
  }
10602
10680
  return unavailable;
10603
10681
  }
10604
- const showcase = "_showcase_a0wva_39";
10605
- const panel = "_panel_a0wva_43";
10606
- const image = "_image_a0wva_71";
10607
- const heroImageBox = "_heroImageBox_a0wva_119";
10608
- const hero = "_hero_a0wva_119";
10609
- const heroContent = "_heroContent_a0wva_190";
10610
- const heroText = "_heroText_a0wva_207";
10611
- const logo = "_logo_a0wva_216";
10612
- const heroTitle = "_heroTitle_a0wva_236";
10613
- const heroSub = "_heroSub_a0wva_260";
10614
- const swipe = "_swipe_a0wva_273";
10615
- const swipeLabel = "_swipeLabel_a0wva_281";
10616
- const chevron$1 = "_chevron_a0wva_287";
10617
- const overlay$1 = "_overlay_a0wva_304";
10618
- const copy = "_copy_a0wva_315";
10619
- const title$2 = "_title_a0wva_320";
10620
- const subtitle$1 = "_subtitle_a0wva_327";
10621
- const cta = "_cta_a0wva_333";
10682
+ const showcase = "_showcase_144lm_44";
10683
+ const panel = "_panel_144lm_48";
10684
+ const image = "_image_144lm_76";
10685
+ const hero = "_hero_144lm_116";
10686
+ const heroContent = "_heroContent_144lm_174";
10687
+ const heroText = "_heroText_144lm_197";
10688
+ const logo = "_logo_144lm_206";
10689
+ const heroTitle = "_heroTitle_144lm_226";
10690
+ const heroSub = "_heroSub_144lm_250";
10691
+ const swipe = "_swipe_144lm_269";
10692
+ const swipeLabel = "_swipeLabel_144lm_276";
10693
+ const chevron$1 = "_chevron_144lm_282";
10694
+ const overlay$1 = "_overlay_144lm_11";
10695
+ const copy = "_copy_144lm_315";
10696
+ const title$2 = "_title_144lm_320";
10697
+ const subtitle$1 = "_subtitle_144lm_327";
10698
+ const cta = "_cta_144lm_333";
10699
+ const mosaic = "_mosaic_144lm_377";
10622
10700
  const styles$2 = {
10623
10701
  showcase,
10624
10702
  panel,
10625
10703
  image,
10626
- heroImageBox,
10627
10704
  hero,
10628
10705
  heroContent,
10629
10706
  heroText,
@@ -10637,7 +10714,8 @@ const styles$2 = {
10637
10714
  copy,
10638
10715
  title: title$2,
10639
10716
  subtitle: subtitle$1,
10640
- cta
10717
+ cta,
10718
+ mosaic
10641
10719
  };
10642
10720
  const SETTLE_MS = 150;
10643
10721
  function useDocumentSnap(ref, enabled = true) {
@@ -10670,40 +10748,29 @@ function useDocumentSnap(ref, enabled = true) {
10670
10748
  }, [ref, enabled]);
10671
10749
  }
10672
10750
  const FALLBACK_PANELS = [{
10673
- key: "all-items",
10674
- title: "All items",
10675
- subtitle: "Heavyweight comfort built for training days and off-duty moments",
10676
- cta: "See more",
10677
- to: "/category/t-shirts",
10678
- image: "/figma/home/new.jpg"
10679
- }, {
10680
10751
  key: "hoodies",
10681
10752
  title: "Hoodies",
10682
10753
  subtitle: "Heavyweight comfort built for training days and off-duty moments",
10683
10754
  cta: "See more",
10684
10755
  to: "/category/hoodies",
10685
- image: "/figma/home/hoodies.jpg"
10756
+ video: "/figma/home/hoodies.mp4",
10757
+ image: "/figma/home/hoodies-poster.jpg"
10758
+ }, {
10759
+ key: "zip-ups",
10760
+ title: "Zip Ups",
10761
+ subtitle: "Everyday essentials with sport-inspired fits and minimal branding",
10762
+ cta: "See more",
10763
+ to: "/category/zip-ups",
10764
+ video: "/figma/home/zip-ups.mp4",
10765
+ image: "/figma/home/zip-ups-poster.jpg"
10686
10766
  }, {
10687
10767
  key: "t-shirts",
10688
10768
  title: "T-Shirts",
10689
10769
  subtitle: "Everyday essentials with sport-inspired fits and minimal branding",
10690
- cta: "Explore",
10691
- to: "/category/t-shirts",
10692
- image: "/figma/home/tshirts.jpg"
10693
- }, {
10694
- key: "jackets",
10695
- title: "Jackets",
10696
- subtitle: "Heavyweight comfort built for training days and off-duty moments",
10697
10770
  cta: "See more",
10698
- to: "/category/jackets",
10699
- image: "/figma/home/jackets.jpg"
10700
- }, {
10701
- key: "seasonal",
10702
- title: "Seasonal",
10703
- subtitle: "Complete the look with everyday essentials and finishing details",
10704
- cta: "Shop now",
10705
- to: "/category/summer",
10706
- image: "/figma/home/accessories.jpg"
10771
+ to: "/category/t-shirts",
10772
+ video: "/figma/home/tshirts.mp4",
10773
+ image: "/figma/home/tshirts-poster.jpg"
10707
10774
  }];
10708
10775
  function CategoryPanel({ panel: panel2 }) {
10709
10776
  return jsxs("section", {
@@ -10714,7 +10781,12 @@ function CategoryPanel({ panel: panel2 }) {
10714
10781
  "--slide-focal-y": `${panel2.focalY}%`
10715
10782
  }
10716
10783
  },
10717
- children: [jsx(ShopImage, {
10784
+ children: [panel2.video ? jsx(ShopVideo, {
10785
+ src: panel2.video,
10786
+ poster: panel2.image,
10787
+ fill: true,
10788
+ className: styles$2.image
10789
+ }) : jsx(ShopImage, {
10718
10790
  src: panel2.image,
10719
10791
  alt: "",
10720
10792
  fill: true,
@@ -10740,6 +10812,19 @@ function CategoryPanel({ panel: panel2 }) {
10740
10812
  })]
10741
10813
  });
10742
10814
  }
10815
+ function MosaicPanel() {
10816
+ const t = useT();
10817
+ return jsx("section", {
10818
+ className: `${styles$2.panel} ${styles$2.mosaic}`,
10819
+ "aria-label": t("The DAZN Shop collection"),
10820
+ children: jsx(ShopVideo, {
10821
+ src: "/figma/home/mosaic.mp4",
10822
+ poster: "/figma/home/mosaic-poster.jpg",
10823
+ fill: true,
10824
+ className: styles$2.image
10825
+ })
10826
+ });
10827
+ }
10743
10828
  function useSlides() {
10744
10829
  const t = useT();
10745
10830
  const shop = useShopOptional();
@@ -10763,6 +10848,9 @@ function useSlides() {
10763
10848
  cta: s.cta,
10764
10849
  to: s.target ? `/category/${s.target}` : "/",
10765
10850
  image: s.image ?? "",
10851
+ ...s.video === void 0 ? {} : {
10852
+ video: s.video
10853
+ },
10766
10854
  ...s.focal_y === void 0 ? {} : {
10767
10855
  focalY: s.focal_y
10768
10856
  }
@@ -10790,16 +10878,12 @@ function HomeShowcase() {
10790
10878
  children: [jsxs("section", {
10791
10879
  className: `${styles$2.panel} ${styles$2.hero}`,
10792
10880
  "aria-label": t("DAZN Shop"),
10793
- children: [jsx("div", {
10794
- className: styles$2.heroImageBox,
10795
- children: jsx(ShopImage, {
10796
- src: "/figma/home/hero.jpg",
10797
- alt: "",
10798
- fill: true,
10799
- priority: true,
10800
- sizes: "(max-width: 480px) 100vw, 480px",
10801
- className: styles$2.image
10802
- })
10881
+ children: [jsx(ShopVideo, {
10882
+ src: "/figma/home/hero.mp4",
10883
+ poster: "/figma/home/hero-poster.jpg",
10884
+ fill: true,
10885
+ priority: true,
10886
+ className: styles$2.image
10803
10887
  }), jsxs("div", {
10804
10888
  className: styles$2.heroContent,
10805
10889
  children: [jsxs("div", {
@@ -10835,9 +10919,11 @@ function HomeShowcase() {
10835
10919
  })]
10836
10920
  })]
10837
10921
  })]
10838
- }), panels.map((p) => jsx(CategoryPanel, {
10839
- panel: p
10840
- }, p.key))]
10922
+ }), panels.map((p, i) => jsxs(Fragment$1, {
10923
+ children: [jsx(CategoryPanel, {
10924
+ panel: p
10925
+ }), i === 0 && jsx(MosaicPanel, {})]
10926
+ }, p.key)), panels.length === 0 && jsx(MosaicPanel, {})]
10841
10927
  })
10842
10928
  });
10843
10929
  }
@@ -11353,6 +11439,7 @@ export {
11353
11439
  ShopLink,
11354
11440
  ShopMenuSheet,
11355
11441
  ShopSurface,
11442
+ ShopVideo,
11356
11443
  SizeGuideSheet,
11357
11444
  SizeSelector,
11358
11445
  Skeleton,