@nok-integration/storefront-react 0.22.1 → 0.22.3

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.
@@ -5500,7 +5500,7 @@ function resolveAssetUrl(src, base) {
5500
5500
  if (!src.startsWith("/") || src.startsWith("//")) return src;
5501
5501
  return `${base.replace(/\/+$/, "")}${src}`;
5502
5502
  }
5503
- const MAX_AGE_MS = 5 * 6e4;
5503
+ const MAX_AGE_MS$1 = 5 * 6e4;
5504
5504
  const CAPACITY = 60;
5505
5505
  class ProductCache {
5506
5506
  constructor(now = () => Date.now()) {
@@ -5515,7 +5515,7 @@ class ProductCache {
5515
5515
  const key = ProductCache.keyFor(sku, market);
5516
5516
  const entry = this.entries.get(key);
5517
5517
  if (!entry) return void 0;
5518
- if (this.now() - entry.at > MAX_AGE_MS) {
5518
+ if (this.now() - entry.at > MAX_AGE_MS$1) {
5519
5519
  this.entries.delete(key);
5520
5520
  return void 0;
5521
5521
  }
@@ -5543,6 +5543,37 @@ class ProductCache {
5543
5543
  this.entries.clear();
5544
5544
  }
5545
5545
  }
5546
+ const MAX_AGE_MS = 5 * 6e4;
5547
+ class CartCache {
5548
+ constructor(now = () => Date.now()) {
5549
+ this.now = now;
5550
+ }
5551
+ now;
5552
+ entry = null;
5553
+ version = 0;
5554
+ get() {
5555
+ if (!this.entry) return void 0;
5556
+ if (this.now() - this.entry.at > MAX_AGE_MS) {
5557
+ this.entry = null;
5558
+ return void 0;
5559
+ }
5560
+ return this.entry.cart;
5561
+ }
5562
+ set(cart2) {
5563
+ this.entry = {
5564
+ cart: cart2,
5565
+ at: this.now()
5566
+ };
5567
+ this.version += 1;
5568
+ }
5569
+ get revision() {
5570
+ return this.version;
5571
+ }
5572
+ clear() {
5573
+ this.entry = null;
5574
+ this.version += 1;
5575
+ }
5576
+ }
5546
5577
  function createShopFetch(opts) {
5547
5578
  const baseFetch = opts.fetchImpl ?? globalThis.fetch;
5548
5579
  if (!baseFetch) throw new Error("No fetch implementation available");
@@ -5643,6 +5674,7 @@ function NoScreenTitle({ children }) {
5643
5674
  });
5644
5675
  }
5645
5676
  const ShopContext = createContext(null);
5677
+ const CartCacheContext = createContext(null);
5646
5678
  function DaznShopProvider({ children, ...config }) {
5647
5679
  const { apiBaseUrl, getToken, market, navigate: hostNavigate, prefetch: hostPrefetch, sessionTransport = "bearer", theme = "auto", notifications = "internal", features, onEvent, locale, assetBaseUrl } = config;
5648
5680
  const listeners = useRef(/* @__PURE__ */ new Set());
@@ -5672,7 +5704,10 @@ function DaznShopProvider({ children, ...config }) {
5672
5704
  } catch {
5673
5705
  }
5674
5706
  }, []);
5675
- const api = useMemo(() => clientExports.createClient({
5707
+ const cartsRef = useRef(null);
5708
+ cartsRef.current ??= new CartCache();
5709
+ const carts = cartsRef.current;
5710
+ const client2 = useMemo(() => clientExports.createClient({
5676
5711
  baseUrl: apiBaseUrl,
5677
5712
  getToken: stableGetToken,
5678
5713
  fetch: createShopFetch({
@@ -5683,6 +5718,33 @@ function DaznShopProvider({ children, ...config }) {
5683
5718
  credentials: sessionTransport === "cookie" ? "include" : "omit",
5684
5719
  market
5685
5720
  }), [apiBaseUrl, stableGetToken, emit, sessionTransport, market]);
5721
+ const api = useMemo(() => {
5722
+ carts.clear();
5723
+ const remember2 = (cart2) => {
5724
+ carts.set(cart2);
5725
+ return cart2;
5726
+ };
5727
+ const read = (fn) => (...args) => {
5728
+ const before = carts.revision;
5729
+ return fn(...args).then((cart2) => carts.revision === before ? remember2(cart2) : cart2);
5730
+ };
5731
+ const write = (fn) => (...args) => fn(...args).then(remember2);
5732
+ return {
5733
+ ...client2,
5734
+ cart: {
5735
+ ...client2.cart,
5736
+ create: read(client2.cart.create),
5737
+ get: read(client2.cart.get),
5738
+ addItem: write(client2.cart.addItem),
5739
+ updateItem: write(client2.cart.updateItem),
5740
+ removeItem: write(client2.cart.removeItem)
5741
+ },
5742
+ vip: {
5743
+ ...client2.vip,
5744
+ addToCart: write(client2.vip.addToCart)
5745
+ }
5746
+ };
5747
+ }, [client2, carts]);
5686
5748
  const navigate = useCallback((to) => {
5687
5749
  emit({
5688
5750
  type: "navigate",
@@ -5719,8 +5781,11 @@ function DaznShopProvider({ children, ...config }) {
5719
5781
  }), [api, market, products, theme, resolvedFeatures, notifications, locale, assetBaseUrl, emit, subscribe, navigate, hostPrefetch]);
5720
5782
  return jsx(ShopContext.Provider, {
5721
5783
  value: value2,
5722
- children: jsx(ScreenTitleProvider, {
5723
- children
5784
+ children: jsx(CartCacheContext.Provider, {
5785
+ value: carts,
5786
+ children: jsx(ScreenTitleProvider, {
5787
+ children
5788
+ })
5724
5789
  })
5725
5790
  });
5726
5791
  }
@@ -5757,6 +5822,9 @@ function useShopFeatures() {
5757
5822
  stockAlerts: true
5758
5823
  };
5759
5824
  }
5825
+ function useCartCache() {
5826
+ return useContext(CartCacheContext);
5827
+ }
5760
5828
  function ShopLink({ to, children, ...rest }) {
5761
5829
  const navigate = useNavigate();
5762
5830
  const prefetch = usePrefetch();
@@ -5899,7 +5967,7 @@ const neutral$2 = "_neutral_1bagf_12";
5899
5967
  const success$1 = "_success_1bagf_17";
5900
5968
  const critical$2 = "_critical_1bagf_22";
5901
5969
  const promo = "_promo_1bagf_27";
5902
- const styles$V = {
5970
+ const styles$W = {
5903
5971
  badge: badge$5,
5904
5972
  neutral: neutral$2,
5905
5973
  success: success$1,
@@ -5908,7 +5976,7 @@ const styles$V = {
5908
5976
  };
5909
5977
  function Badge({ tone = "neutral", children }) {
5910
5978
  return jsx("span", {
5911
- className: [styles$V.badge, styles$V[tone]].join(" "),
5979
+ className: [styles$W.badge, styles$W[tone]].join(" "),
5912
5980
  children
5913
5981
  });
5914
5982
  }
@@ -5917,7 +5985,7 @@ const fullWidth = "_fullWidth_ci424_25";
5917
5985
  const primary = "_primary_ci424_29";
5918
5986
  const secondary = "_secondary_ci424_34";
5919
5987
  const ghost = "_ghost_ci424_40";
5920
- const styles$U = {
5988
+ const styles$V = {
5921
5989
  button: button$1,
5922
5990
  fullWidth,
5923
5991
  primary,
@@ -5925,12 +5993,12 @@ const styles$U = {
5925
5993
  ghost
5926
5994
  };
5927
5995
  const spinner = "_spinner_1rueh_5";
5928
- const styles$T = {
5996
+ const styles$U = {
5929
5997
  spinner
5930
5998
  };
5931
5999
  function Spinner({ className }) {
5932
6000
  return jsx("span", {
5933
- className: [styles$T.spinner, className ?? ""].filter(Boolean).join(" "),
6001
+ className: [styles$U.spinner, className ?? ""].filter(Boolean).join(" "),
5934
6002
  "aria-hidden": "true"
5935
6003
  });
5936
6004
  }
@@ -5939,7 +6007,7 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
5939
6007
  return jsxs("button", {
5940
6008
  ref,
5941
6009
  type,
5942
- className: [styles$U.button, styles$U[variant], fullWidth2 ? styles$U.fullWidth : "", className ?? ""].filter(Boolean).join(" "),
6010
+ className: [styles$V.button, styles$V[variant], fullWidth2 ? styles$V.fullWidth : "", className ?? ""].filter(Boolean).join(" "),
5943
6011
  disabled: isDisabled,
5944
6012
  "aria-busy": loading || void 0,
5945
6013
  ...rest,
@@ -5948,9 +6016,9 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
5948
6016
  })]
5949
6017
  });
5950
6018
  });
5951
- const skeleton = "_skeleton_1nxz7_1";
5952
- const styles$S = {
5953
- skeleton
6019
+ const skeleton$1 = "_skeleton_1nxz7_1";
6020
+ const styles$T = {
6021
+ skeleton: skeleton$1
5954
6022
  };
5955
6023
  function Skeleton({ width, height, radius, className, circle }) {
5956
6024
  const style = {
@@ -5960,13 +6028,13 @@ function Skeleton({ width, height, radius, className, circle }) {
5960
6028
  };
5961
6029
  return jsx("span", {
5962
6030
  "aria-hidden": "true",
5963
- className: [styles$S.skeleton, className ?? ""].filter(Boolean).join(" "),
6031
+ className: [styles$T.skeleton, className ?? ""].filter(Boolean).join(" "),
5964
6032
  style
5965
6033
  });
5966
6034
  }
5967
6035
  const surface$1 = "_surface_stwld_10";
5968
6036
  const fill = "_fill_stwld_35";
5969
- const styles$R = {
6037
+ const styles$S = {
5970
6038
  surface: surface$1,
5971
6039
  fill
5972
6040
  };
@@ -6113,7 +6181,7 @@ const ShopSurface = forwardRef(function ShopSurface2({ tone, fill: fill2 = false
6113
6181
  ...rest,
6114
6182
  ref: attach,
6115
6183
  "data-shop-theme": tone,
6116
- className: [styles$R.surface, fill2 ? styles$R.fill : "", className ?? ""].filter(Boolean).join(" "),
6184
+ className: [styles$S.surface, fill2 ? styles$S.fill : "", className ?? ""].filter(Boolean).join(" "),
6117
6185
  children
6118
6186
  });
6119
6187
  });
@@ -6126,7 +6194,7 @@ const lineMid = "_lineMid_ney0g_45";
6126
6194
  const lineNarrow = "_lineNarrow_ney0g_49";
6127
6195
  const row$9 = "_row_ney0g_53";
6128
6196
  const action$2 = "_action_ney0g_57";
6129
- const styles$Q = {
6197
+ const styles$R = {
6130
6198
  root: root$6,
6131
6199
  inner,
6132
6200
  media: media$3,
@@ -6180,7 +6248,7 @@ function useMoney(defaultLocale) {
6180
6248
  }
6181
6249
  function useLocale(override) {
6182
6250
  const shop = useShopOptional();
6183
- return override ?? shop?.locale ?? shop?.market?.lang ?? (typeof navigator !== "undefined" ? navigator.language : void 0);
6251
+ return override ?? shop?.locale ?? (shop?.market?.lang && shop.market.country && !shop.market.lang.includes("-") ? `${shop.market.lang}-${shop.market.country}` : shop?.market?.lang) ?? (typeof navigator !== "undefined" ? navigator.language : void 0);
6184
6252
  }
6185
6253
  const ES = {
6186
6254
  "(opens {0} in a new tab)": "(abre {0} en una nueva pestaña)",
@@ -6365,6 +6433,7 @@ const ES = {
6365
6433
  "We’ve sent a confirmation to {0}": "Hemos enviado una confirmación a {0}",
6366
6434
  "What do you want to return?": "¿Qué desea devolver?",
6367
6435
  "Your order is confirmed": "Su pedido está confirmado",
6436
+ "Order confirmed": "Pedido confirmado",
6368
6437
  "You’ll receive a shipping label PDF to your email as well.": "Recibirá un PDF de la etiqueta de envío en su correo electrónico.",
6369
6438
  "{0} photographs": "{0} fotografías",
6370
6439
  "{0}, opens in a new tab": "{0}, se abre en una pestaña nueva",
@@ -6429,36 +6498,36 @@ function ScreenSkeleton({ tone, shape = "media" }) {
6429
6498
  return jsx(ShopSurface, {
6430
6499
  tone,
6431
6500
  fill: true,
6432
- className: styles$Q.root,
6501
+ className: styles$R.root,
6433
6502
  children: jsx("div", {
6434
- className: styles$Q.inner,
6503
+ className: styles$R.inner,
6435
6504
  role: "status",
6436
6505
  "aria-label": t("Loading"),
6437
6506
  children: shape === "media" ? jsxs(Fragment, {
6438
6507
  children: [jsx(Skeleton, {
6439
- className: styles$Q.media
6508
+ className: styles$R.media
6440
6509
  }), jsxs("div", {
6441
- className: styles$Q.lines,
6510
+ className: styles$R.lines,
6442
6511
  children: [jsx(Skeleton, {
6443
6512
  height: 22,
6444
- className: styles$Q.lineWide
6513
+ className: styles$R.lineWide
6445
6514
  }), jsx(Skeleton, {
6446
6515
  height: 16,
6447
- className: styles$Q.lineMid
6516
+ className: styles$R.lineMid
6448
6517
  }), jsx(Skeleton, {
6449
6518
  height: 16,
6450
- className: styles$Q.lineNarrow
6519
+ className: styles$R.lineNarrow
6451
6520
  })]
6452
6521
  }), jsx(Skeleton, {
6453
6522
  height: 48,
6454
6523
  radius: 8,
6455
- className: styles$Q.action
6524
+ className: styles$R.action
6456
6525
  })]
6457
6526
  }) : jsx("div", {
6458
- className: styles$Q.lines,
6527
+ className: styles$R.lines,
6459
6528
  children: [0, 1, 2, 3].map((i) => jsx(Skeleton, {
6460
6529
  height: 72,
6461
- className: styles$Q.row
6530
+ className: styles$R.row
6462
6531
  }, i))
6463
6532
  })
6464
6533
  })
@@ -6470,7 +6539,7 @@ const text$6 = "_text_ryf3q_21";
6470
6539
  const title$n = "_title_ryf3q_35";
6471
6540
  const body$9 = "_body_ryf3q_40";
6472
6541
  const action$1 = "_action_ryf3q_48";
6473
- const styles$P = {
6542
+ const styles$Q = {
6474
6543
  root: root$5,
6475
6544
  icon: icon$4,
6476
6545
  text: text$6,
@@ -6480,22 +6549,22 @@ const styles$P = {
6480
6549
  };
6481
6550
  function EmptyState({ title: title2, body: body3, action: action2, icon: icon2 }) {
6482
6551
  return jsxs("div", {
6483
- className: styles$P.root,
6552
+ className: styles$Q.root,
6484
6553
  role: "status",
6485
6554
  children: [icon2 && jsx("div", {
6486
- className: styles$P.icon,
6555
+ className: styles$Q.icon,
6487
6556
  children: icon2
6488
6557
  }), jsxs("div", {
6489
- className: styles$P.text,
6558
+ className: styles$Q.text,
6490
6559
  children: [jsx("h2", {
6491
- className: styles$P.title,
6560
+ className: styles$Q.title,
6492
6561
  children: title2
6493
6562
  }), body3 && jsx("p", {
6494
- className: styles$P.body,
6563
+ className: styles$Q.body,
6495
6564
  children: body3
6496
6565
  })]
6497
6566
  }), action2 && jsx("div", {
6498
- className: styles$P.action,
6567
+ className: styles$Q.action,
6499
6568
  children: action2
6500
6569
  })]
6501
6570
  });
@@ -6632,7 +6701,7 @@ function isDuplicateOrder(err) {
6632
6701
  const root$4 = "_root_1lbpx_1";
6633
6702
  const title$m = "_title_1lbpx_10";
6634
6703
  const body$8 = "_body_1lbpx_15";
6635
- const styles$O = {
6704
+ const styles$P = {
6636
6705
  root: root$4,
6637
6706
  title: title$m,
6638
6707
  body: body$8
@@ -6642,13 +6711,13 @@ function ErrorState({ code, title: title2, body: body3, onRetry, retryLabel }) {
6642
6711
  const treatment = treatmentFor(code);
6643
6712
  const showRetry = Boolean(onRetry) && treatment.retriable;
6644
6713
  return jsxs("div", {
6645
- className: styles$O.root,
6714
+ className: styles$P.root,
6646
6715
  role: "alert",
6647
6716
  children: [jsx("h2", {
6648
- className: styles$O.title,
6717
+ className: styles$P.title,
6649
6718
  children: title2 ?? t(treatment.title)
6650
6719
  }), jsx("p", {
6651
- className: styles$O.body,
6720
+ className: styles$P.body,
6652
6721
  children: body3 ?? t(treatment.body)
6653
6722
  }), showRetry && jsx(Button, {
6654
6723
  variant: "secondary",
@@ -6696,7 +6765,7 @@ const rich = "_rich_oz4st_183";
6696
6765
  const description = "_description_oz4st_198";
6697
6766
  const thumb$4 = "_thumb_oz4st_216";
6698
6767
  const thumbImage = "_thumbImage_oz4st_227";
6699
- const styles$N = {
6768
+ const styles$O = {
6700
6769
  viewport,
6701
6770
  anchor,
6702
6771
  caret,
@@ -6819,41 +6888,41 @@ function ToastProvider({ children }) {
6819
6888
  return jsxs(ToastContext.Provider, {
6820
6889
  value: api,
6821
6890
  children: [children, jsx("div", {
6822
- className: styles$N.viewport,
6891
+ className: styles$O.viewport,
6823
6892
  ref: viewportRef,
6824
6893
  "aria-live": "polite",
6825
6894
  "aria-atomic": "false",
6826
6895
  children: toasts.map((t) => {
6827
6896
  const rich2 = Boolean(t.description || t.image);
6828
6897
  return jsxs("div", {
6829
- className: styles$N.anchor,
6898
+ className: styles$O.anchor,
6830
6899
  children: [t.anchor === "cart" && jsx("span", {
6831
- className: styles$N.caret,
6900
+ className: styles$O.caret,
6832
6901
  children: jsx(Caret, {})
6833
6902
  }), jsxs("div", {
6834
- className: [styles$N.toast, rich2 ? styles$N.rich : styles$N[t.tone]].join(" "),
6903
+ className: [styles$O.toast, rich2 ? styles$O.rich : styles$O[t.tone]].join(" "),
6835
6904
  role: "status",
6836
6905
  children: [t.image && jsx("span", {
6837
- className: styles$N.thumb,
6906
+ className: styles$O.thumb,
6838
6907
  children: jsx(ShopImage, {
6839
6908
  src: t.image,
6840
6909
  alt: "",
6841
6910
  fill: true,
6842
6911
  sizes: "40px",
6843
- className: styles$N.thumbImage
6912
+ className: styles$O.thumbImage
6844
6913
  })
6845
6914
  }), jsxs("span", {
6846
- className: styles$N.text,
6915
+ className: styles$O.text,
6847
6916
  children: [jsx("span", {
6848
- className: styles$N.message,
6917
+ className: styles$O.message,
6849
6918
  children: t.message
6850
6919
  }), t.description && jsx("span", {
6851
- className: styles$N.description,
6920
+ className: styles$O.description,
6852
6921
  children: t.description
6853
6922
  })]
6854
6923
  }), t.action && jsx("button", {
6855
6924
  type: "button",
6856
- className: styles$N.action,
6925
+ className: styles$O.action,
6857
6926
  onClick: () => {
6858
6927
  t.action?.onAction();
6859
6928
  dismiss(t.id);
@@ -6868,15 +6937,15 @@ function ToastProvider({ children }) {
6868
6937
  }
6869
6938
  const badge$4 = "_badge_156ya_2";
6870
6939
  const icon$3 = "_icon_156ya_18";
6871
- const styles$M = {
6940
+ const styles$N = {
6872
6941
  badge: badge$4,
6873
6942
  icon: icon$3
6874
6943
  };
6875
6944
  function SaleBadge({ pct }) {
6876
6945
  return jsxs("span", {
6877
- className: styles$M.badge,
6946
+ className: styles$N.badge,
6878
6947
  children: [jsxs("svg", {
6879
- className: styles$M.icon,
6948
+ className: styles$N.icon,
6880
6949
  width: "12",
6881
6950
  height: "12",
6882
6951
  viewBox: "0 0 24 24",
@@ -6906,7 +6975,7 @@ const badge$3 = "_badge_rvfx9_48";
6906
6975
  const price$4 = "_price_rvfx9_52";
6907
6976
  const compareAt = "_compareAt_rvfx9_57";
6908
6977
  const strikethrough = "_strikethrough_rvfx9_65";
6909
- const styles$L = {
6978
+ const styles$M = {
6910
6979
  root: root$3,
6911
6980
  center: center$1,
6912
6981
  end,
@@ -6924,12 +6993,12 @@ function PriceBlock({ price: price2, compareAt: compareAt2, discountPct: discoun
6924
6993
  const pct = discountPct$1 ?? discountPct(price2, compareAt2);
6925
6994
  const hasCompare = compareAt2 && compareAt2.amount > price2.amount;
6926
6995
  return jsxs("div", {
6927
- className: [styles$L.root, styles$L[size], styles$L[align], styles$L[variant]].join(" "),
6996
+ className: [styles$M.root, styles$M[size], styles$M[align], styles$M[variant]].join(" "),
6928
6997
  children: [jsx("span", {
6929
- className: styles$L.price,
6998
+ className: styles$M.price,
6930
6999
  children: format(price2)
6931
7000
  }), hasCompare && jsxs("span", {
6932
- className: styles$L.compareAt,
7001
+ className: styles$M.compareAt,
6933
7002
  children: [jsx("span", {
6934
7003
  className: "visually-hidden",
6935
7004
  children: t("Was {0}", format(compareAt2))
@@ -6999,7 +7068,7 @@ const past = "_past_1cum7_113";
6999
7068
  const current$1 = "_current_1cum7_118";
7000
7069
  const future = "_future_1cum7_133";
7001
7070
  const date$1 = "_date_1cum7_138";
7002
- const styles$K = {
7071
+ const styles$L = {
7003
7072
  timeline,
7004
7073
  row: row$8,
7005
7074
  line: line$3,
@@ -7033,39 +7102,40 @@ function OrderTimeline({ progress: progress2, estimatedDelivery, locale: localeP
7033
7102
  const t = useT();
7034
7103
  const currentIndex = progress2.findIndex((e) => e.current);
7035
7104
  return jsx("ol", {
7036
- className: styles$K.timeline,
7105
+ className: styles$L.timeline,
7037
7106
  children: progress2.map((entry, i) => {
7038
7107
  const state = stateOf(entry, i, currentIndex);
7039
7108
  const estimate = !entry.at && i === progress2.length - 1 && estimatedDelivery ? formatWindow(estimatedDelivery, locale) : void 0;
7040
7109
  return jsxs("li", {
7041
- className: styles$K.row,
7110
+ className: styles$L.row,
7042
7111
  "aria-current": entry.current ? "step" : void 0,
7043
7112
  children: [jsxs("div", {
7044
- className: styles$K.line,
7113
+ className: styles$L.line,
7045
7114
  children: [jsx("span", {
7046
- className: styles$K.marker,
7115
+ className: styles$L.marker,
7047
7116
  children: state === "future" ? jsx("span", {
7048
- className: styles$K.pending,
7117
+ className: styles$L.pending,
7049
7118
  "aria-hidden": "true"
7050
7119
  }) : jsx(StepTick, {
7051
7120
  tone: state
7052
7121
  })
7053
7122
  }), jsxs("span", {
7054
- className: styles$K.text,
7123
+ className: styles$L.text,
7055
7124
  children: [jsx("span", {
7056
- className: [styles$K.label, styles$K[state]].join(" "),
7125
+ className: [styles$L.label, styles$L[state]].join(" "),
7126
+ "data-state": state,
7057
7127
  children: t(labelFor(entry))
7058
7128
  }), entry.at ? jsx("time", {
7059
- className: styles$K.date,
7129
+ className: styles$L.date,
7060
7130
  dateTime: entry.at,
7061
7131
  children: formatStepDate(entry.at, locale)
7062
7132
  }) : estimate && jsx("span", {
7063
- className: styles$K.date,
7133
+ className: styles$L.date,
7064
7134
  children: estimate
7065
7135
  })]
7066
7136
  })]
7067
7137
  }), i < progress2.length - 1 && jsx("span", {
7068
- className: styles$K.connector,
7138
+ className: styles$L.connector,
7069
7139
  "aria-hidden": "true"
7070
7140
  })]
7071
7141
  }, entry.step);
@@ -7079,7 +7149,7 @@ function stateOf(entry, index, currentIndex) {
7079
7149
  }
7080
7150
  function StepTick({ tone }) {
7081
7151
  return jsxs("svg", {
7082
- className: styles$K.tick,
7152
+ className: styles$L.tick,
7083
7153
  width: "28",
7084
7154
  height: "28",
7085
7155
  viewBox: "0 0 28 28",
@@ -7219,12 +7289,12 @@ const SWATCH_HEX = {
7219
7289
  function swatchColour(name2) {
7220
7290
  return SWATCH_HEX[name2.toLowerCase().trim()] ?? "#c9cdd0";
7221
7291
  }
7222
- const summary = "_summary_1hsxt_2";
7223
- const row$7 = "_row_1hsxt_16";
7224
- const free = "_free_1hsxt_53";
7225
- const pending$1 = "_pending_1hsxt_59";
7226
- const discount = "_discount_1hsxt_69";
7227
- const styles$J = {
7292
+ const summary = "_summary_1k2h8_2";
7293
+ const row$7 = "_row_1k2h8_16";
7294
+ const free = "_free_1k2h8_53";
7295
+ const pending$1 = "_pending_1k2h8_59";
7296
+ const discount = "_discount_1k2h8_69";
7297
+ const styles$K = {
7228
7298
  summary,
7229
7299
  row: row$7,
7230
7300
  free,
@@ -7253,11 +7323,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
7253
7323
  const isDeferred = (key) => deferred.includes(key);
7254
7324
  const visible = rows.filter((row2) => !hidden.includes(row2.key)).filter((row2) => row2.key !== "discount" || discount2 !== void 0);
7255
7325
  return jsx("dl", {
7256
- className: styles$J.summary,
7326
+ className: styles$K.summary,
7257
7327
  children: visible.map(({ label: label2, key }) => {
7258
7328
  if (key === "discount" && discount2) {
7259
7329
  return jsxs("div", {
7260
- className: [styles$J.row, styles$J.discount].join(" "),
7330
+ className: [styles$K.row, styles$K.discount].join(" "),
7261
7331
  children: [jsx("dt", {
7262
7332
  children: t(label2)
7263
7333
  }), jsx("dd", {
@@ -7267,11 +7337,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
7267
7337
  }
7268
7338
  const pending2 = key !== "total" && isDeferred(key);
7269
7339
  return jsxs("div", {
7270
- className: styles$J.row,
7340
+ className: styles$K.row,
7271
7341
  children: [jsx("dt", {
7272
7342
  children: t(label2)
7273
7343
  }), jsx("dd", {
7274
- className: pending2 ? styles$J.pending : void 0,
7344
+ className: pending2 ? styles$K.pending : void 0,
7275
7345
  children: pending2 ? t("Calculated at checkout") : renderValue(key, pricing, format, t)
7276
7346
  })]
7277
7347
  }, key);
@@ -7281,34 +7351,34 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
7281
7351
  function renderValue(key, pricing, format, t) {
7282
7352
  if (key === "shipping" && pricing.shipping.amount === 0) {
7283
7353
  return jsx("span", {
7284
- className: styles$J.free,
7354
+ className: styles$K.free,
7285
7355
  children: t("Free")
7286
7356
  });
7287
7357
  }
7288
7358
  return key === "discount" ? null : format(pricing[key]);
7289
7359
  }
7290
- const lines$1 = "_lines_1lx0d_19";
7291
- const line$2 = "_line_1lx0d_19";
7292
- const thumb$3 = "_thumb_1lx0d_34";
7293
- const image$b = "_image_1lx0d_44";
7294
- const placeholder$8 = "_placeholder_1lx0d_51";
7295
- const lineBody = "_lineBody_1lx0d_56";
7296
- const lineText = "_lineText_1lx0d_65";
7297
- const lineTitle = "_lineTitle_1lx0d_75";
7298
- const lineMeta = "_lineMeta_1lx0d_106";
7299
- const detail$1 = "_detail_1lx0d_103";
7300
- const linePrice = "_linePrice_1lx0d_127";
7301
- const paid$3 = "_paid_1lx0d_139";
7302
- const was$4 = "_was_1lx0d_152";
7303
- const card$4 = "_card_1lx0d_175";
7304
- const cardTitle = "_cardTitle_1lx0d_183";
7305
- const cardBody = "_cardBody_1lx0d_195";
7306
- const summaryCard = "_summaryCard_1lx0d_167";
7307
- const itemsHeader = "_itemsHeader_1lx0d_14";
7308
- const itemsTitle = "_itemsTitle_1lx0d_238";
7309
- const itemsCount = "_itemsCount_1lx0d_249";
7310
- const cardLines = "_cardLines_1lx0d_268";
7311
- const styles$I = {
7360
+ const lines$1 = "_lines_gr6vv_19";
7361
+ const line$2 = "_line_gr6vv_19";
7362
+ const thumb$3 = "_thumb_gr6vv_34";
7363
+ const image$b = "_image_gr6vv_44";
7364
+ const placeholder$8 = "_placeholder_gr6vv_51";
7365
+ const lineBody = "_lineBody_gr6vv_56";
7366
+ const lineText = "_lineText_gr6vv_65";
7367
+ const lineTitle = "_lineTitle_gr6vv_75";
7368
+ const lineMeta = "_lineMeta_gr6vv_106";
7369
+ const detail$1 = "_detail_gr6vv_103";
7370
+ const linePrice = "_linePrice_gr6vv_127";
7371
+ const paid$3 = "_paid_gr6vv_139";
7372
+ const was$4 = "_was_gr6vv_152";
7373
+ const card$4 = "_card_gr6vv_175";
7374
+ const cardTitle = "_cardTitle_gr6vv_183";
7375
+ const cardBody = "_cardBody_gr6vv_195";
7376
+ const summaryCard = "_summaryCard_gr6vv_167";
7377
+ const itemsHeader = "_itemsHeader_gr6vv_14";
7378
+ const itemsTitle = "_itemsTitle_gr6vv_238";
7379
+ const itemsCount = "_itemsCount_gr6vv_249";
7380
+ const cardLines = "_cardLines_gr6vv_268";
7381
+ const styles$J = {
7312
7382
  lines: lines$1,
7313
7383
  line: line$2,
7314
7384
  thumb: thumb$3,
@@ -7351,42 +7421,42 @@ function OrderLine({ item: item2 }) {
7351
7421
  const pct = compareAt2 ? discountPct(item2.unit_price, compareAt2) : void 0;
7352
7422
  const details2 = detailsOf(item2, t);
7353
7423
  return jsxs("li", {
7354
- className: styles$I.line,
7424
+ className: styles$J.line,
7355
7425
  children: [jsx("div", {
7356
- className: styles$I.thumb,
7426
+ className: styles$J.thumb,
7357
7427
  children: item2.image ? jsx(ShopImage, {
7358
7428
  src: item2.image,
7359
7429
  alt: "",
7360
7430
  fill: true,
7361
7431
  sizes: "48px",
7362
- className: styles$I.image
7432
+ className: styles$J.image
7363
7433
  }) : jsx("div", {
7364
- className: styles$I.placeholder,
7434
+ className: styles$J.placeholder,
7365
7435
  "aria-hidden": "true"
7366
7436
  })
7367
7437
  }), jsxs("div", {
7368
- className: styles$I.lineBody,
7438
+ className: styles$J.lineBody,
7369
7439
  children: [jsxs("div", {
7370
- className: styles$I.lineText,
7440
+ className: styles$J.lineText,
7371
7441
  children: [jsx("span", {
7372
- className: styles$I.lineTitle,
7442
+ className: styles$J.lineTitle,
7373
7443
  children: item2.title ?? item2.sku
7374
7444
  }), jsxs("span", {
7375
- className: styles$I.lineMeta,
7445
+ className: styles$J.lineMeta,
7376
7446
  children: [details2.map((detail2) => jsx("span", {
7377
- className: styles$I.detail,
7447
+ className: styles$J.detail,
7378
7448
  children: detail2
7379
7449
  }, detail2)), pct !== void 0 && jsx(SaleBadge, {
7380
7450
  pct
7381
7451
  })]
7382
7452
  })]
7383
7453
  }), jsxs("span", {
7384
- className: styles$I.linePrice,
7454
+ className: styles$J.linePrice,
7385
7455
  children: [jsx("span", {
7386
- className: styles$I.paid,
7456
+ className: styles$J.paid,
7387
7457
  children: format(item2.line_total)
7388
7458
  }), compareAt2 && jsxs("span", {
7389
- className: styles$I.was,
7459
+ className: styles$J.was,
7390
7460
  children: [jsx("span", {
7391
7461
  className: "visually-hidden",
7392
7462
  children: t("Was {0}", format(compareAt2))
@@ -7402,7 +7472,7 @@ function OrderLine({ item: item2 }) {
7402
7472
  function OrderLines({ order }) {
7403
7473
  const t = useT();
7404
7474
  return jsx("ul", {
7405
- className: styles$I.lines,
7475
+ className: styles$J.lines,
7406
7476
  "aria-label": t("Items"),
7407
7477
  children: order.items.map((item2) => jsx(OrderLine, {
7408
7478
  item: item2
@@ -7413,19 +7483,19 @@ function OrderItemsCard({ order }) {
7413
7483
  const t = useT();
7414
7484
  const itemCount = order.items.reduce((n, i) => n + i.qty, 0);
7415
7485
  return jsxs("section", {
7416
- className: styles$I.card,
7486
+ className: styles$J.card,
7417
7487
  "aria-label": t("Items"),
7418
7488
  children: [jsxs("div", {
7419
- className: styles$I.itemsHeader,
7489
+ className: styles$J.itemsHeader,
7420
7490
  children: [jsx("h2", {
7421
- className: styles$I.itemsTitle,
7491
+ className: styles$J.itemsTitle,
7422
7492
  children: t("Items")
7423
7493
  }), jsx("span", {
7424
- className: styles$I.itemsCount,
7494
+ className: styles$J.itemsCount,
7425
7495
  children: itemCount
7426
7496
  })]
7427
7497
  }), jsx("ul", {
7428
- className: [styles$I.lines, styles$I.cardLines].join(" "),
7498
+ className: [styles$J.lines, styles$J.cardLines].join(" "),
7429
7499
  children: order.items.map((item2) => jsx(OrderLine, {
7430
7500
  item: item2
7431
7501
  }, item2.line_ref))
@@ -7435,13 +7505,13 @@ function OrderItemsCard({ order }) {
7435
7505
  function ShippingAddressCard({ order }) {
7436
7506
  const t = useT();
7437
7507
  return jsxs("section", {
7438
- className: styles$I.card,
7508
+ className: styles$J.card,
7439
7509
  "aria-label": t("Shipping address"),
7440
7510
  children: [jsx("h2", {
7441
- className: styles$I.cardTitle,
7511
+ className: styles$J.cardTitle,
7442
7512
  children: t("Shipping address")
7443
7513
  }), jsx("p", {
7444
- className: styles$I.cardBody,
7514
+ className: styles$J.cardBody,
7445
7515
  children: formatAddress(order.ship_to)
7446
7516
  })]
7447
7517
  });
@@ -7449,10 +7519,10 @@ function ShippingAddressCard({ order }) {
7449
7519
  function OrderSummaryCard({ order }) {
7450
7520
  const t = useT();
7451
7521
  return jsxs("section", {
7452
- className: [styles$I.card, styles$I.summaryCard].join(" "),
7522
+ className: [styles$J.card, styles$J.summaryCard].join(" "),
7453
7523
  "aria-label": t("Order summary"),
7454
7524
  children: [jsx("h2", {
7455
- className: styles$I.cardTitle,
7525
+ className: styles$J.cardTitle,
7456
7526
  children: t("Order summary")
7457
7527
  }), jsx(OrderSummary, {
7458
7528
  pricing: toPricing(order),
@@ -7489,7 +7559,7 @@ const handleSlot = "_handleSlot_1f3nh_23";
7489
7559
  const handle = "_handle_1f3nh_23";
7490
7560
  const closeSlot$1 = "_closeSlot_1f3nh_35";
7491
7561
  const close$2 = "_close_1f3nh_35";
7492
- const styles$H = {
7562
+ const styles$I = {
7493
7563
  header: header$6,
7494
7564
  slot,
7495
7565
  handleSlot,
@@ -7517,23 +7587,23 @@ function CloseIcon$1() {
7517
7587
  }
7518
7588
  function SheetHeader({ onClose, closeLabel }) {
7519
7589
  return jsxs("div", {
7520
- className: styles$H.header,
7590
+ className: styles$I.header,
7521
7591
  children: [jsx("div", {
7522
- className: styles$H.slot,
7592
+ className: styles$I.slot,
7523
7593
  "aria-hidden": "true"
7524
7594
  }), jsx("div", {
7525
- className: styles$H.handleSlot,
7595
+ className: styles$I.handleSlot,
7526
7596
  "aria-hidden": "true",
7527
7597
  children: jsx("div", {
7528
- className: styles$H.handle
7598
+ className: styles$I.handle
7529
7599
  })
7530
7600
  }), jsx("button", {
7531
7601
  type: "button",
7532
- className: styles$H.closeSlot,
7602
+ className: styles$I.closeSlot,
7533
7603
  onClick: onClose,
7534
7604
  "aria-label": closeLabel,
7535
7605
  children: jsx("span", {
7536
- className: styles$H.close,
7606
+ className: styles$I.close,
7537
7607
  children: jsx(CloseIcon$1, {})
7538
7608
  })
7539
7609
  })]
@@ -7589,7 +7659,7 @@ const radio = "_radio_1oaa3_95";
7589
7659
  const label$1 = "_label_1oaa3_125";
7590
7660
  const footer$1 = "_footer_1oaa3_134";
7591
7661
  const error$1 = "_error_1oaa3_142";
7592
- const styles$G = {
7662
+ const styles$H = {
7593
7663
  scrim: scrim$5,
7594
7664
  sheet: sheet$3,
7595
7665
  body: body$7,
@@ -7607,12 +7677,12 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
7607
7677
  const t = useT();
7608
7678
  useModalDialog(true, onClose, sheetRef);
7609
7679
  return jsx("div", {
7610
- className: styles$G.scrim,
7680
+ className: styles$H.scrim,
7611
7681
  onClick: onClose,
7612
7682
  children: jsxs(ShopSurface, {
7613
7683
  tone: "light",
7614
7684
  ref: sheetRef,
7615
- className: styles$G.sheet,
7685
+ className: styles$H.sheet,
7616
7686
  role: "dialog",
7617
7687
  "aria-modal": "true",
7618
7688
  "aria-labelledby": "reason-sheet-title",
@@ -7621,23 +7691,23 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
7621
7691
  onClose,
7622
7692
  closeLabel
7623
7693
  }), jsxs("div", {
7624
- className: styles$G.body,
7694
+ className: styles$H.body,
7625
7695
  children: [jsx("h2", {
7626
7696
  id: "reason-sheet-title",
7627
- className: styles$G.title,
7697
+ className: styles$H.title,
7628
7698
  children: t(title2)
7629
7699
  }), jsx("div", {
7630
- className: styles$G.options,
7700
+ className: styles$H.options,
7631
7701
  role: "radiogroup",
7632
7702
  "aria-labelledby": "reason-sheet-title",
7633
7703
  children: options2.map((o) => jsxs("button", {
7634
7704
  type: "button",
7635
7705
  role: "radio",
7636
7706
  "aria-checked": o.value === choice,
7637
- className: styles$G.option,
7707
+ className: styles$H.option,
7638
7708
  onClick: () => setChoice(o.value),
7639
7709
  children: [jsx("span", {
7640
- className: styles$G.radio,
7710
+ className: styles$H.radio,
7641
7711
  "aria-hidden": "true",
7642
7712
  children: o.value === choice && jsxs("svg", {
7643
7713
  width: "20",
@@ -7658,15 +7728,15 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
7658
7728
  })]
7659
7729
  })
7660
7730
  }), jsx("span", {
7661
- className: styles$G.label,
7731
+ className: styles$H.label,
7662
7732
  children: t(o.label)
7663
7733
  })]
7664
7734
  }, o.value))
7665
7735
  })]
7666
7736
  }), jsxs("div", {
7667
- className: styles$G.footer,
7737
+ className: styles$H.footer,
7668
7738
  children: [error2 && jsx("p", {
7669
- className: styles$G.error,
7739
+ className: styles$H.error,
7670
7740
  role: "alert",
7671
7741
  children: error2
7672
7742
  }), jsx(Button, {
@@ -7691,7 +7761,7 @@ const attrs$1 = "_attrs_1pjby_55";
7691
7761
  const price$3 = "_price_1pjby_63";
7692
7762
  const paid$2 = "_paid_1pjby_72";
7693
7763
  const was$3 = "_was_1pjby_80";
7694
- const styles$F = {
7764
+ const styles$G = {
7695
7765
  line: line$1,
7696
7766
  thumb: thumb$2,
7697
7767
  img: img$1,
@@ -7707,35 +7777,35 @@ function ReturnItemRow({ item: item2, className }) {
7707
7777
  const { format } = useMoney();
7708
7778
  const t = useT();
7709
7779
  return jsxs("div", {
7710
- className: [styles$F.line, className ?? ""].join(" ").trim(),
7780
+ className: [styles$G.line, className ?? ""].join(" ").trim(),
7711
7781
  children: [jsx("div", {
7712
- className: styles$F.thumb,
7782
+ className: styles$G.thumb,
7713
7783
  children: item2.image ? jsx(ShopImage, {
7714
7784
  src: item2.image,
7715
7785
  alt: "",
7716
7786
  fill: true,
7717
7787
  sizes: "48px",
7718
- className: styles$F.img
7788
+ className: styles$G.img
7719
7789
  }) : jsx("div", {
7720
- className: styles$F.placeholder,
7790
+ className: styles$G.placeholder,
7721
7791
  "aria-hidden": "true"
7722
7792
  })
7723
7793
  }), jsxs("div", {
7724
- className: styles$F.meta,
7794
+ className: styles$G.meta,
7725
7795
  children: [jsx("p", {
7726
- className: styles$F.name,
7796
+ className: styles$G.name,
7727
7797
  children: item2.title ?? item2.sku
7728
7798
  }), item2.attributes?.size && jsx("p", {
7729
- className: styles$F.attrs,
7799
+ className: styles$G.attrs,
7730
7800
  children: t("Size: {0}", item2.attributes.size)
7731
7801
  })]
7732
7802
  }), jsxs("div", {
7733
- className: styles$F.price,
7803
+ className: styles$G.price,
7734
7804
  children: [jsx("span", {
7735
- className: styles$F.paid,
7805
+ className: styles$G.paid,
7736
7806
  children: format(item2.unit_price)
7737
7807
  }), item2.compare_at_unit_price && jsxs("span", {
7738
- className: styles$F.was,
7808
+ className: styles$G.was,
7739
7809
  children: [jsx("span", {
7740
7810
  className: "visually-hidden",
7741
7811
  children: t("Was {0}", format(item2.compare_at_unit_price))
@@ -7758,7 +7828,7 @@ const check = "_check_15fz5_66";
7758
7828
  const row$6 = "_row_15fz5_110";
7759
7829
  const reason = "_reason_15fz5_135";
7760
7830
  const reasonSet = "_reasonSet_15fz5_155";
7761
- const styles$E = {
7831
+ const styles$F = {
7762
7832
  page: page$6,
7763
7833
  titles: titles$2,
7764
7834
  title: title$k,
@@ -7865,55 +7935,55 @@ function ReturnItemsView({ order, onSubmit, busy = false }) {
7865
7935
  }
7866
7936
  if (returnable.length === 0) {
7867
7937
  return jsx("div", {
7868
- className: styles$E.page,
7938
+ className: styles$F.page,
7869
7939
  children: jsxs("div", {
7870
- className: styles$E.titles,
7940
+ className: styles$F.titles,
7871
7941
  children: [jsx("h1", {
7872
- className: styles$E.title,
7942
+ className: styles$F.title,
7873
7943
  children: t("Nothing left to return")
7874
7944
  }), jsx("p", {
7875
- className: styles$E.subtitle,
7945
+ className: styles$F.subtitle,
7876
7946
  children: t("Every item on this order has already been returned or cancelled.")
7877
7947
  })]
7878
7948
  })
7879
7949
  });
7880
7950
  }
7881
7951
  return jsxs("div", {
7882
- className: styles$E.page,
7952
+ className: styles$F.page,
7883
7953
  children: [jsxs("div", {
7884
- className: styles$E.titles,
7954
+ className: styles$F.titles,
7885
7955
  children: [jsx("h1", {
7886
- className: styles$E.title,
7956
+ className: styles$F.title,
7887
7957
  children: t("What do you want to return?")
7888
7958
  }), jsx("p", {
7889
- className: styles$E.subtitle,
7959
+ className: styles$F.subtitle,
7890
7960
  children: t("Select items you want to return")
7891
7961
  })]
7892
7962
  }), jsx("div", {
7893
- className: styles$E.list,
7963
+ className: styles$F.list,
7894
7964
  children: returnable.map((item2) => {
7895
7965
  const picked = item2.line_ref in chosen;
7896
7966
  const reason2 = chosen[item2.line_ref];
7897
7967
  return jsxs("div", {
7898
- className: styles$E.card,
7968
+ className: styles$F.card,
7899
7969
  children: [jsx("button", {
7900
7970
  type: "button",
7901
7971
  role: "checkbox",
7902
7972
  "aria-checked": picked,
7903
7973
  "aria-label": item2.title ?? item2.sku,
7904
- className: styles$E.checkSlot,
7974
+ className: styles$F.checkSlot,
7905
7975
  onClick: () => toggle2(item2.line_ref),
7906
7976
  children: jsx("span", {
7907
- className: styles$E.check,
7977
+ className: styles$F.check,
7908
7978
  children: picked ? jsx(Tick, {}) : null
7909
7979
  })
7910
7980
  }), jsxs("div", {
7911
- className: styles$E.row,
7981
+ className: styles$F.row,
7912
7982
  children: [jsx(ReturnItemRow, {
7913
7983
  item: item2
7914
7984
  }), jsxs("button", {
7915
7985
  type: "button",
7916
- className: `${styles$E.reason} ${reason2 ? styles$E.reasonSet : ""}`,
7986
+ className: `${styles$F.reason} ${reason2 ? styles$F.reasonSet : ""}`,
7917
7987
  onClick: () => setReasonFor(item2.line_ref),
7918
7988
  "aria-haspopup": "dialog",
7919
7989
  children: [jsx("span", {
@@ -7965,7 +8035,7 @@ const body$6 = "_body_51f4e_113";
7965
8035
  const body2 = "_body2_51f4e_121";
7966
8036
  const download = "_download_51f4e_139";
7967
8037
  const note$1 = "_note_51f4e_161";
7968
- const styles$D = {
8038
+ const styles$E = {
7969
8039
  page: page$5,
7970
8040
  top,
7971
8041
  items: items$2,
@@ -8039,42 +8109,42 @@ function ReturnLabelView({ ret, onDone }) {
8039
8109
  const t = useT();
8040
8110
  const { preparing, unavailable, onDownload } = useLabelDownload(ret.label_url);
8041
8111
  return jsxs("div", {
8042
- className: styles$D.page,
8112
+ className: styles$E.page,
8043
8113
  children: [jsxs("div", {
8044
- className: styles$D.top,
8114
+ className: styles$E.top,
8045
8115
  children: [jsx("div", {
8046
- className: styles$D.items,
8116
+ className: styles$E.items,
8047
8117
  children: ret.items.map((item2) => jsx(ReturnItemRow, {
8048
8118
  item: item2
8049
8119
  }, item2.line_ref))
8050
8120
  }), jsxs("div", {
8051
- className: styles$D.intro,
8121
+ className: styles$E.intro,
8052
8122
  children: [jsx("h1", {
8053
- className: styles$D.title,
8123
+ className: styles$E.title,
8054
8124
  children: t("We’ve generated your return label")
8055
8125
  }), jsx("p", {
8056
- className: styles$D.subtitle,
8126
+ className: styles$E.subtitle,
8057
8127
  children: t("Follow the instructions below to complete your return")
8058
8128
  })]
8059
8129
  }), jsxs("div", {
8060
- className: styles$D.card,
8130
+ className: styles$E.card,
8061
8131
  children: [jsxs("section", {
8062
- className: styles$D.step,
8132
+ className: styles$E.step,
8063
8133
  children: [jsxs("div", {
8064
- className: styles$D.stepHead,
8134
+ className: styles$E.stepHead,
8065
8135
  children: [jsx("span", {
8066
- className: styles$D.number,
8136
+ className: styles$E.number,
8067
8137
  "aria-hidden": "true",
8068
8138
  children: "1"
8069
8139
  }), jsx("h2", {
8070
- className: styles$D.stepTitle,
8140
+ className: styles$E.stepTitle,
8071
8141
  children: t("Download your return label")
8072
8142
  })]
8073
8143
  }), jsx("p", {
8074
- className: styles$D.body,
8144
+ className: styles$E.body,
8075
8145
  children: t("Tap the button below to download your pre-paid return label")
8076
8146
  }), ret.label_url && jsxs("a", {
8077
- className: styles$D.download,
8147
+ className: styles$E.download,
8078
8148
  href: ret.label_url,
8079
8149
  target: "_blank",
8080
8150
  rel: "noopener noreferrer",
@@ -8086,27 +8156,27 @@ function ReturnLabelView({ ret, onDone }) {
8086
8156
  children: ` ${t("(opens in a new tab)")}`
8087
8157
  })]
8088
8158
  }), unavailable && jsx("p", {
8089
- className: styles$D.note,
8159
+ className: styles$E.note,
8090
8160
  role: "status",
8091
8161
  children: t("Your return label is not ready yet. Try again in a moment.")
8092
8162
  }), ret.label_email && jsxs("p", {
8093
- className: styles$D.note,
8163
+ className: styles$E.note,
8094
8164
  children: [t("You’ll receive a shipping label PDF to your email as well."), jsx("br", {}), ret.label_email]
8095
8165
  })]
8096
8166
  }), jsxs("section", {
8097
- className: styles$D.step2,
8167
+ className: styles$E.step2,
8098
8168
  children: [jsxs("div", {
8099
- className: styles$D.stepHead,
8169
+ className: styles$E.stepHead,
8100
8170
  children: [jsx("span", {
8101
- className: styles$D.number,
8171
+ className: styles$E.number,
8102
8172
  "aria-hidden": "true",
8103
8173
  children: "2"
8104
8174
  }), jsx("h2", {
8105
- className: styles$D.stepTitle,
8175
+ className: styles$E.stepTitle,
8106
8176
  children: t("Pack and ship the item")
8107
8177
  })]
8108
8178
  }), jsxs("p", {
8109
- className: styles$D.body2,
8179
+ className: styles$E.body2,
8110
8180
  children: [t("Repackage the item securely and attach the return label to the outside of the package."), jsx("br", {}), t("Drop it off at your local carrier or post office.")]
8111
8181
  })]
8112
8182
  })]
@@ -8134,7 +8204,7 @@ const attrs = "_attrs_g4vus_108";
8134
8204
  const price$2 = "_price_g4vus_123";
8135
8205
  const paid$1 = "_paid_g4vus_132";
8136
8206
  const was$2 = "_was_g4vus_140";
8137
- const styles$C = {
8207
+ const styles$D = {
8138
8208
  page: page$4,
8139
8209
  titles: titles$1,
8140
8210
  title: title$i,
@@ -8168,42 +8238,42 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
8168
8238
  tone: "light",
8169
8239
  fill: true,
8170
8240
  children: jsxs("div", {
8171
- className: styles$C.page,
8241
+ className: styles$D.page,
8172
8242
  children: [jsxs("div", {
8173
- className: styles$C.titles,
8243
+ className: styles$D.titles,
8174
8244
  children: [jsx("h1", {
8175
- className: styles$C.title,
8245
+ className: styles$D.title,
8176
8246
  children: t("Return in progress")
8177
8247
  }), jsx("p", {
8178
- className: styles$C.subtitle,
8248
+ className: styles$D.subtitle,
8179
8249
  children: t("Return #{0} · Reported {1}", ret.return_ref, reported)
8180
8250
  })]
8181
8251
  }), jsx(OrderTimeline, {
8182
8252
  progress: ret.progress,
8183
8253
  locale
8184
8254
  }), jsx("ul", {
8185
- className: styles$C.items,
8255
+ className: styles$D.items,
8186
8256
  children: ret.items.map((item2) => jsxs("li", {
8187
- className: styles$C.item,
8257
+ className: styles$D.item,
8188
8258
  children: [jsx("div", {
8189
- className: styles$C.thumb,
8259
+ className: styles$D.thumb,
8190
8260
  children: item2.image ? jsx(ShopImage, {
8191
8261
  src: item2.image,
8192
8262
  alt: "",
8193
8263
  fill: true,
8194
8264
  sizes: "48px",
8195
- className: styles$C.img
8265
+ className: styles$D.img
8196
8266
  }) : jsx("div", {
8197
- className: styles$C.placeholder,
8267
+ className: styles$D.placeholder,
8198
8268
  "aria-hidden": "true"
8199
8269
  })
8200
8270
  }), jsxs("div", {
8201
- className: styles$C.meta,
8271
+ className: styles$D.meta,
8202
8272
  children: [jsx("p", {
8203
- className: styles$C.name,
8273
+ className: styles$D.name,
8204
8274
  children: item2.title ?? item2.sku
8205
8275
  }), (item2.attributes?.size || pctOff(item2)) && jsxs("p", {
8206
- className: styles$C.attrs,
8276
+ className: styles$D.attrs,
8207
8277
  children: [item2.attributes?.size && jsx("span", {
8208
8278
  children: t("Size: {0}", item2.attributes.size)
8209
8279
  }), pctOff(item2) !== void 0 && jsx(SaleBadge, {
@@ -8211,12 +8281,12 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
8211
8281
  })]
8212
8282
  })]
8213
8283
  }), jsxs("div", {
8214
- className: styles$C.price,
8284
+ className: styles$D.price,
8215
8285
  children: [jsx("span", {
8216
- className: styles$C.paid,
8286
+ className: styles$D.paid,
8217
8287
  children: format(item2.unit_price)
8218
8288
  }), item2.compare_at_unit_price && jsx("span", {
8219
- className: styles$C.was,
8289
+ className: styles$D.was,
8220
8290
  children: format(item2.compare_at_unit_price)
8221
8291
  })]
8222
8292
  })]
@@ -8332,30 +8402,343 @@ function ReturnFlowContent({ orderRef, returnRef, onDone, locale }) {
8332
8402
  busy
8333
8403
  });
8334
8404
  }
8335
- const page$3 = "_page_1iwin_8";
8336
- const widget = "_widget_1iwin_18";
8337
- const titleRow = "_titleRow_1iwin_26";
8338
- const headline$2 = "_headline_1iwin_42";
8339
- const track$5 = "_track_1iwin_74";
8340
- const rule$1 = "_rule_1iwin_99";
8341
- const help$2 = "_help_1iwin_109";
8342
- const helpTitle = "_helpTitle_1iwin_115";
8343
- const helpRows = "_helpRows_1iwin_122";
8344
- const helpRowEnd = "_helpRowEnd_1iwin_131";
8345
- const helpStatus = "_helpStatus_1iwin_139";
8346
- const helpRow = "_helpRow_1iwin_122";
8347
- const cancel = "_cancel_1iwin_197";
8348
- const cancelledHead = "_cancelledHead_1iwin_221";
8349
- const cancelledTitle = "_cancelledTitle_1iwin_227";
8350
- const cancelledMeta = "_cancelledMeta_1iwin_241";
8405
+ function HelpIcon() {
8406
+ return jsx("svg", {
8407
+ width: "24",
8408
+ height: "24",
8409
+ viewBox: "0 0 24 24",
8410
+ fill: "none",
8411
+ "aria-hidden": "true",
8412
+ children: jsxs("g", {
8413
+ transform: "translate(1.93 1.93)",
8414
+ children: [jsx("path", {
8415
+ d: "M10.0781 14.1543C10.52 14.1543 10.8779 14.5123 10.8779 14.9541C10.8778 15.3958 10.5199 15.7539 10.0781 15.7539H10.0693C9.62757 15.7539 9.26963 15.3958 9.26953 14.9541C9.26953 14.5123 9.62751 14.1543 10.0693 14.1543H10.0781Z",
8416
+ fill: "currentColor"
8417
+ }), jsx("path", {
8418
+ d: "M8.21777 4.7168C8.93457 4.29562 9.77726 4.14167 10.5967 4.28223C11.4161 4.42286 12.1599 4.84835 12.6953 5.48438C13.2303 6.12005 13.5233 6.92505 13.5225 7.75586L13.5107 8.00098C13.3992 9.19732 12.4886 10.0076 11.8057 10.4629C11.4401 10.7066 11.0785 10.8882 10.8018 11.0137V11.8223C10.8014 12.2637 10.4425 12.622 10.001 12.6221C9.55954 12.6219 9.20156 12.2637 9.20117 11.8223V10.4775C9.20117 10.1332 9.42146 9.82671 9.74805 9.71777C9.75073 9.71685 9.75671 9.71536 9.76367 9.71289C9.77824 9.70771 9.80199 9.69931 9.83301 9.6875C9.89571 9.66361 9.98896 9.62621 10.1016 9.57617C10.3291 9.47505 10.6264 9.32523 10.918 9.13086C11.5496 8.70973 11.9217 8.23795 11.9219 7.75586C11.9225 7.30239 11.7627 6.86161 11.4707 6.51465C11.1787 6.16788 10.773 5.93611 10.3262 5.85938C9.87921 5.78271 9.41933 5.86603 9.02832 6.0957C8.63742 6.32547 8.34003 6.68657 8.18945 7.11426C8.04274 7.53077 7.58557 7.74995 7.16895 7.60352C6.75252 7.45687 6.53351 7.00053 6.67969 6.58398C6.9556 5.79964 7.50096 5.1381 8.21777 4.7168Z",
8419
+ fill: "currentColor"
8420
+ }), jsx("path", {
8421
+ fillRule: "evenodd",
8422
+ clipRule: "evenodd",
8423
+ d: "M10.0693 0C15.6304 0.000197913 20.1395 4.50828 20.1396 10.0693C20.1395 15.6304 15.6304 20.1395 10.0693 20.1396C4.50828 20.1395 0.000197917 15.6304 0 10.0693C0.00019791 4.50828 4.50828 0.000197906 10.0693 0ZM10.0693 2C5.61285 2.0002 2.0002 5.61285 2 10.0693C2.0002 14.5258 5.61285 18.1395 10.0693 18.1396C14.5258 18.1395 18.1395 14.5258 18.1396 10.0693C18.1395 5.61285 14.5258 2.0002 10.0693 2Z",
8424
+ fill: "currentColor"
8425
+ })]
8426
+ })
8427
+ });
8428
+ }
8429
+ const crumbs$1 = "_crumbs_1qwg2_1";
8430
+ const home = "_home_1qwg2_13";
8431
+ const trail = "_trail_1qwg2_25";
8432
+ const separator = "_separator_1qwg2_31";
8433
+ const current = "_current_1qwg2_37";
8434
+ const help$3 = "_help_1qwg2_42";
8435
+ const helpLabel = "_helpLabel_1qwg2_56";
8436
+ const styles$C = {
8437
+ crumbs: crumbs$1,
8438
+ home,
8439
+ trail,
8440
+ separator,
8441
+ current,
8442
+ help: help$3,
8443
+ helpLabel
8444
+ };
8445
+ function VipBreadcrumb({ title: title2, trail: trail2 = [], onHome }) {
8446
+ const t = useT();
8447
+ return jsx("nav", {
8448
+ "aria-label": t("Breadcrumb"),
8449
+ children: jsxs("ol", {
8450
+ className: styles$C.crumbs,
8451
+ children: [jsx("li", {
8452
+ children: jsx("button", {
8453
+ type: "button",
8454
+ className: styles$C.home,
8455
+ onClick: onHome,
8456
+ children: t("Homepage")
8457
+ })
8458
+ }), trail2.map((crumb, i) => jsxs(Fragment$1, {
8459
+ children: [jsx("li", {
8460
+ className: styles$C.separator,
8461
+ "aria-hidden": "true",
8462
+ children: "›"
8463
+ }), jsx("li", {
8464
+ className: styles$C.trail,
8465
+ children: crumb
8466
+ })]
8467
+ }, i)), jsx("li", {
8468
+ className: styles$C.separator,
8469
+ "aria-hidden": "true",
8470
+ children: "›"
8471
+ }), jsx("li", {
8472
+ "aria-current": "page",
8473
+ className: styles$C.current,
8474
+ children: title2
8475
+ })]
8476
+ })
8477
+ });
8478
+ }
8479
+ function VipHelpLink({ onHelp }) {
8480
+ const t = useT();
8481
+ return jsxs("button", {
8482
+ type: "button",
8483
+ className: styles$C.help,
8484
+ onClick: onHelp,
8485
+ children: [jsx(HelpIcon, {}), jsx("span", {
8486
+ className: styles$C.helpLabel,
8487
+ children: t("Need help with your order?")
8488
+ })]
8489
+ });
8490
+ }
8491
+ const crumbs = "_crumbs_19inq_1";
8492
+ const help$2 = "_help_19inq_2";
8493
+ const skeleton = "_skeleton_19inq_3";
8494
+ const skConnector = "_skConnector_19inq_43";
8495
+ const skMain = "_skMain_19inq_47";
8496
+ const skSubtitle = "_skSubtitle_19inq_53";
8497
+ const skTimeline = "_skTimeline_19inq_57";
8498
+ const skStep = "_skStep_19inq_64";
8499
+ const skStepText = "_skStepText_19inq_71";
8500
+ const skAside = "_skAside_19inq_84";
8501
+ const skLine = "_skLine_19inq_91";
8502
+ const skLineText = "_skLineText_19inq_97";
8503
+ const skMeta = "_skMeta_19inq_105";
8504
+ const skBadge = "_skBadge_19inq_112";
8505
+ const skPrice = "_skPrice_19inq_116";
8506
+ const skCard = "_skCard_19inq_124";
8507
+ const skAddress = "_skAddress_19inq_132";
8508
+ const skSummary = "_skSummary_19inq_137";
8509
+ const skCell = "_skCell_19inq_145";
8510
+ const skHelp = "_skHelp_19inq_150";
8351
8511
  const styles$B = {
8512
+ crumbs,
8513
+ help: help$2,
8514
+ skeleton,
8515
+ skConnector,
8516
+ skMain,
8517
+ skSubtitle,
8518
+ skTimeline,
8519
+ skStep,
8520
+ skStepText,
8521
+ skAside,
8522
+ skLine,
8523
+ skLineText,
8524
+ skMeta,
8525
+ skBadge,
8526
+ skPrice,
8527
+ skCard,
8528
+ skAddress,
8529
+ skSummary,
8530
+ skCell,
8531
+ skHelp
8532
+ };
8533
+ function isWideOrder(order) {
8534
+ return order.vip !== void 0;
8535
+ }
8536
+ function OrderCrumbs({ order, current: current2 }) {
8537
+ const navigate = useNavigate();
8538
+ const title2 = order?.items[0]?.title ?? order?.items[0]?.sku;
8539
+ return jsx("div", {
8540
+ className: styles$B.crumbs,
8541
+ children: jsx(VipBreadcrumb, {
8542
+ title: current2,
8543
+ trail: [title2 ?? jsx(Skeleton, {
8544
+ width: 150,
8545
+ height: 14,
8546
+ radius: 4
8547
+ })],
8548
+ onHome: () => navigate?.("/")
8549
+ })
8550
+ });
8551
+ }
8552
+ function OrderHelpLink({ orderRef, onContactSupport }) {
8553
+ const emit = useShopEvent();
8554
+ return jsx("div", {
8555
+ className: styles$B.help,
8556
+ children: jsx(VipHelpLink, {
8557
+ onHelp: () => {
8558
+ emit({
8559
+ type: "support_requested",
8560
+ orderRef
8561
+ });
8562
+ onContactSupport?.();
8563
+ }
8564
+ })
8565
+ });
8566
+ }
8567
+ function WideOrderSkeleton({ current: current2 }) {
8568
+ const t = useT();
8569
+ return jsxs("div", {
8570
+ className: styles$B.skeleton,
8571
+ "data-shop-layout": "wide",
8572
+ "aria-busy": "true",
8573
+ "aria-label": t("Loading"),
8574
+ children: [jsx(OrderCrumbs, {
8575
+ order: null,
8576
+ current: current2
8577
+ }), jsxs("div", {
8578
+ className: styles$B.skMain,
8579
+ children: [jsx(Skeleton, {
8580
+ width: 202,
8581
+ height: 15,
8582
+ radius: 4
8583
+ }), jsx(Skeleton, {
8584
+ width: 339,
8585
+ height: 14,
8586
+ radius: 4,
8587
+ className: styles$B.skSubtitle
8588
+ }), jsxs("div", {
8589
+ className: styles$B.skTimeline,
8590
+ children: [jsx(SkStep, {
8591
+ lines: [87, 97]
8592
+ }), jsx("span", {
8593
+ className: styles$B.skConnector,
8594
+ style: {
8595
+ height: 46
8596
+ }
8597
+ }), jsx(SkStep, {
8598
+ lines: [73]
8599
+ }), jsx("span", {
8600
+ className: styles$B.skConnector,
8601
+ style: {
8602
+ height: 26
8603
+ }
8604
+ }), jsx(SkStep, {
8605
+ lines: [123, 105]
8606
+ })]
8607
+ })]
8608
+ }), jsxs("div", {
8609
+ className: styles$B.skAside,
8610
+ children: [jsxs("div", {
8611
+ className: styles$B.skLine,
8612
+ children: [jsx(Skeleton, {
8613
+ width: 48,
8614
+ height: 48,
8615
+ radius: 8
8616
+ }), jsxs("div", {
8617
+ className: styles$B.skLineText,
8618
+ children: [jsx(Skeleton, {
8619
+ width: 162,
8620
+ height: 10,
8621
+ radius: 4
8622
+ }), jsxs("span", {
8623
+ className: styles$B.skMeta,
8624
+ children: [jsx(Skeleton, {
8625
+ width: 26,
8626
+ height: 10,
8627
+ radius: 4
8628
+ }), jsx(Skeleton, {
8629
+ width: 12,
8630
+ height: 10,
8631
+ radius: 4
8632
+ }), jsx(Skeleton, {
8633
+ width: 33,
8634
+ height: 8,
8635
+ radius: 4,
8636
+ className: styles$B.skBadge
8637
+ })]
8638
+ })]
8639
+ }), jsxs("div", {
8640
+ className: styles$B.skPrice,
8641
+ children: [jsx(Skeleton, {
8642
+ width: 17,
8643
+ height: 14,
8644
+ radius: 4
8645
+ }), jsx(Skeleton, {
8646
+ width: 42,
8647
+ height: 12,
8648
+ radius: 4
8649
+ })]
8650
+ })]
8651
+ }), jsxs("div", {
8652
+ className: [styles$B.skCard, styles$B.skAddress].join(" "),
8653
+ children: [jsx(Skeleton, {
8654
+ width: 149,
8655
+ height: 18,
8656
+ radius: 4
8657
+ }), jsx(Skeleton, {
8658
+ width: 205,
8659
+ height: 12,
8660
+ radius: 4
8661
+ })]
8662
+ }), jsxs("div", {
8663
+ className: [styles$B.skCard, styles$B.skSummary].join(" "),
8664
+ children: [jsx(Skeleton, {
8665
+ width: 134,
8666
+ height: 18,
8667
+ radius: 4
8668
+ }), [[16, 77, 50, 10], [374, 77, 42, 12], [17, 122, 53, 10], [366, 122, 49, 12], [16, 167, 52, 13], [389, 168, 26, 10], [16, 213, 29, 10], [381, 212, 34, 12]].map(([left2, top2, width, height], i) => jsx("span", {
8669
+ className: styles$B.skCell,
8670
+ style: {
8671
+ left: left2,
8672
+ top: top2
8673
+ },
8674
+ children: jsx(Skeleton, {
8675
+ width,
8676
+ height,
8677
+ radius: 4
8678
+ })
8679
+ }, i))]
8680
+ }), jsx(Skeleton, {
8681
+ height: 48,
8682
+ radius: 8
8683
+ }), jsxs("div", {
8684
+ className: styles$B.skHelp,
8685
+ children: [jsx(Skeleton, {
8686
+ width: 24,
8687
+ height: 24,
8688
+ circle: true
8689
+ }), jsx(Skeleton, {
8690
+ width: 158,
8691
+ height: 13,
8692
+ radius: 4
8693
+ })]
8694
+ })]
8695
+ })]
8696
+ });
8697
+ }
8698
+ function SkStep({ lines: lines2 }) {
8699
+ return jsxs("div", {
8700
+ className: styles$B.skStep,
8701
+ children: [jsx(Skeleton, {
8702
+ width: 24,
8703
+ height: 24,
8704
+ circle: true
8705
+ }), jsx("div", {
8706
+ className: styles$B.skStepText,
8707
+ children: lines2.map((w, i) => jsx(Skeleton, {
8708
+ width: w,
8709
+ height: i === 0 ? 14 : 13,
8710
+ radius: 4
8711
+ }, i))
8712
+ })]
8713
+ });
8714
+ }
8715
+ const page$3 = "_page_j9tz4_8";
8716
+ const widget = "_widget_j9tz4_18";
8717
+ const titleRow = "_titleRow_j9tz4_26";
8718
+ const headline$2 = "_headline_j9tz4_42";
8719
+ const track$5 = "_track_j9tz4_74";
8720
+ const rule$1 = "_rule_j9tz4_99";
8721
+ const help$1 = "_help_j9tz4_109";
8722
+ const helpTitle = "_helpTitle_j9tz4_115";
8723
+ const helpRows = "_helpRows_j9tz4_122";
8724
+ const helpRowEnd = "_helpRowEnd_j9tz4_131";
8725
+ const helpStatus = "_helpStatus_j9tz4_139";
8726
+ const helpRow = "_helpRow_j9tz4_122";
8727
+ const cancel = "_cancel_j9tz4_197";
8728
+ const cancelledHead = "_cancelledHead_j9tz4_221";
8729
+ const cancelledTitle = "_cancelledTitle_j9tz4_227";
8730
+ const cancelledMeta = "_cancelledMeta_j9tz4_241";
8731
+ const aside$1 = "_aside_j9tz4_249";
8732
+ const phoneSkeleton$1 = "_phoneSkeleton_j9tz4_254";
8733
+ const wide$2 = "_wide_j9tz4_258";
8734
+ const styles$A = {
8352
8735
  page: page$3,
8353
8736
  widget,
8354
8737
  titleRow,
8355
8738
  headline: headline$2,
8356
8739
  track: track$5,
8357
8740
  rule: rule$1,
8358
- help: help$2,
8741
+ help: help$1,
8359
8742
  helpTitle,
8360
8743
  helpRows,
8361
8744
  helpRowEnd,
@@ -8364,7 +8747,10 @@ const styles$B = {
8364
8747
  cancel,
8365
8748
  cancelledHead,
8366
8749
  cancelledTitle,
8367
- cancelledMeta
8750
+ cancelledMeta,
8751
+ aside: aside$1,
8752
+ phoneSkeleton: phoneSkeleton$1,
8753
+ wide: wide$2
8368
8754
  };
8369
8755
  function RedirectLink() {
8370
8756
  return jsxs("svg", {
@@ -8454,20 +8840,24 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
8454
8840
  return anchorTop(void 0, void 0, scrollerOf(cancelledPage.current));
8455
8841
  }, [cancelled]);
8456
8842
  if (state === "loading") {
8457
- return jsxs("div", {
8458
- className: styles$B.page,
8459
- children: [jsx(Skeleton, {
8460
- height: 206,
8461
- radius: 8
8462
- }), jsx(Skeleton, {
8463
- height: 48,
8464
- radius: 8
8465
- }), jsx(Skeleton, {
8466
- height: 113,
8467
- radius: 18
8468
- }), jsx(Skeleton, {
8469
- height: 240,
8470
- radius: 18
8843
+ return jsxs(Fragment, {
8844
+ children: [jsxs("div", {
8845
+ className: [styles$A.page, styles$A.phoneSkeleton].join(" "),
8846
+ children: [jsx(Skeleton, {
8847
+ height: 206,
8848
+ radius: 8
8849
+ }), jsx(Skeleton, {
8850
+ height: 48,
8851
+ radius: 8
8852
+ }), jsx(Skeleton, {
8853
+ height: 113,
8854
+ radius: 18
8855
+ }), jsx(Skeleton, {
8856
+ height: 240,
8857
+ radius: 18
8858
+ })]
8859
+ }), jsx(WideOrderSkeleton, {
8860
+ current: t("Order #{0}", shortRef$1(orderRef))
8471
8861
  })]
8472
8862
  });
8473
8863
  }
@@ -8533,15 +8923,15 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
8533
8923
  }
8534
8924
  if (order.status === "cancelled") {
8535
8925
  return jsxs("div", {
8536
- className: styles$B.page,
8926
+ className: styles$A.page,
8537
8927
  ref: cancelledPage,
8538
8928
  children: [jsxs("div", {
8539
- className: styles$B.cancelledHead,
8929
+ className: styles$A.cancelledHead,
8540
8930
  children: [jsx("h1", {
8541
- className: styles$B.cancelledTitle,
8931
+ className: styles$A.cancelledTitle,
8542
8932
  children: t("Order cancelled")
8543
8933
  }), jsx("p", {
8544
- className: styles$B.cancelledMeta,
8934
+ className: styles$A.cancelledMeta,
8545
8935
  children: t("Order #{0} · Placed {1}", shortRef$1(order.order_ref), placedOn(order.placed_at, locale))
8546
8936
  })]
8547
8937
  }), !order.vip && jsx(Button, {
@@ -8559,18 +8949,25 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
8559
8949
  })]
8560
8950
  });
8561
8951
  }
8952
+ const wide2 = isWideOrder(order);
8562
8953
  return jsxs("div", {
8563
- className: styles$B.page,
8564
- children: [jsxs("section", {
8565
- className: styles$B.widget,
8954
+ className: [styles$A.page, wide2 ? styles$A.wide : ""].join(" "),
8955
+ ...wide2 ? {
8956
+ "data-shop-layout": "wide"
8957
+ } : {},
8958
+ children: [wide2 && jsx(OrderCrumbs, {
8959
+ order,
8960
+ current: t("Order #{0}", shortRef$1(order.order_ref))
8961
+ }), jsxs("section", {
8962
+ className: styles$A.widget,
8566
8963
  "aria-label": t("Delivery status"),
8567
8964
  children: [jsxs("div", {
8568
- className: styles$B.titleRow,
8965
+ className: styles$A.titleRow,
8569
8966
  children: [jsx("h1", {
8570
- className: styles$B.headline,
8967
+ className: styles$A.headline,
8571
8968
  children: t("Order #{0}", shortRef$1(order.order_ref))
8572
8969
  }), order.tracking?.url && inTransit && jsxs("a", {
8573
- className: styles$B.track,
8970
+ className: styles$A.track,
8574
8971
  href: order.tracking.url,
8575
8972
  target: "_blank",
8576
8973
  rel: "noopener noreferrer",
@@ -8587,29 +8984,37 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
8587
8984
  locale
8588
8985
  })]
8589
8986
  }), jsx("hr", {
8590
- className: styles$B.rule
8591
- }), jsx(OrderLines, {
8592
- order
8593
- }), jsx(ShippingAddressCard, {
8594
- order
8595
- }), jsx(OrderSummaryCard, {
8596
- order
8597
- }), order.can_cancel && jsx("button", {
8598
- type: "button",
8599
- className: styles$B.cancel,
8600
- onClick: () => setCancelOpen(true),
8601
- children: t("Cancel order")
8602
- }), jsx(NeedHelp, {
8603
- order,
8604
- ...onStartReturn ? {
8605
- onStartReturn
8606
- } : {},
8607
- ...onOpenReturn ? {
8608
- onOpenReturn
8609
- } : {},
8610
- ...onContactSupport ? {
8611
- onContactSupport
8612
- } : {}
8987
+ className: styles$A.rule
8988
+ }), jsxs("div", {
8989
+ className: styles$A.aside,
8990
+ children: [jsx(OrderLines, {
8991
+ order
8992
+ }), jsx(ShippingAddressCard, {
8993
+ order
8994
+ }), jsx(OrderSummaryCard, {
8995
+ order
8996
+ }), order.can_cancel && jsx("button", {
8997
+ type: "button",
8998
+ className: styles$A.cancel,
8999
+ onClick: () => setCancelOpen(true),
9000
+ children: t("Cancel order")
9001
+ }), jsx(NeedHelp, {
9002
+ order,
9003
+ ...onStartReturn ? {
9004
+ onStartReturn
9005
+ } : {},
9006
+ ...onOpenReturn ? {
9007
+ onOpenReturn
9008
+ } : {},
9009
+ ...onContactSupport ? {
9010
+ onContactSupport
9011
+ } : {}
9012
+ }), wide2 && jsx(OrderHelpLink, {
9013
+ orderRef: order.order_ref,
9014
+ ...onContactSupport ? {
9015
+ onContactSupport
9016
+ } : {}
9017
+ })]
8613
9018
  }), cancelOpen && jsx(ReasonSheet, {
8614
9019
  title: "Reason for cancelling",
8615
9020
  options: CANCEL_REASONS,
@@ -8649,14 +9054,14 @@ function NeedHelp({ order, onStartReturn, onOpenReturn, onContactSupport }) {
8649
9054
  if (order.status !== "delivered") return null;
8650
9055
  const returns = order.returns ?? [];
8651
9056
  return jsxs("section", {
8652
- className: styles$B.help,
9057
+ className: styles$A.help,
8653
9058
  "aria-labelledby": "order-help",
8654
9059
  children: [jsx("h2", {
8655
- className: styles$B.helpTitle,
9060
+ className: styles$A.helpTitle,
8656
9061
  id: "order-help",
8657
9062
  children: t("Need help?")
8658
9063
  }), jsxs("div", {
8659
- className: styles$B.helpRows,
9064
+ className: styles$A.helpRows,
8660
9065
  children: [returns.map((ret) => jsx(HelpRow, {
8661
9066
  label: returns.length > 1 ? t("Track return {0}", ret.return_ref) : "Track your return",
8662
9067
  status: RETURN_STATUS[ret.status] ?? ret.status.replace(/_/g, " "),
@@ -8686,14 +9091,14 @@ function HelpRow({ label: label2, status, onClick }) {
8686
9091
  const t = useT();
8687
9092
  return jsxs("button", {
8688
9093
  type: "button",
8689
- className: styles$B.helpRow,
9094
+ className: styles$A.helpRow,
8690
9095
  onClick,
8691
9096
  children: [jsx("span", {
8692
9097
  children: t(label2)
8693
9098
  }), jsxs("span", {
8694
- className: styles$B.helpRowEnd,
9099
+ className: styles$A.helpRowEnd,
8695
9100
  children: [status && jsx("span", {
8696
- className: styles$B.helpStatus,
9101
+ className: styles$A.helpStatus,
8697
9102
  children: t(status)
8698
9103
  }), jsx(ChevronRight$1, {})]
8699
9104
  })]
@@ -8702,21 +9107,27 @@ function HelpRow({ label: label2, status, onClick }) {
8702
9107
  function shortRef$1(orderRef) {
8703
9108
  return orderRef.replace(/^ord_/, "");
8704
9109
  }
8705
- const page$2 = "_page_vqbqs_6";
8706
- const confirmed = "_confirmed_vqbqs_16";
8707
- const title$h = "_title_vqbqs_22";
8708
- const headline$1 = "_headline_vqbqs_47";
8709
- const subtitle$4 = "_subtitle_vqbqs_65";
8710
- const rule = "_rule_vqbqs_77";
8711
- const done = "_done_vqbqs_94";
8712
- const styles$A = {
9110
+ const page$2 = "_page_1c6sm_6";
9111
+ const confirmed = "_confirmed_1c6sm_16";
9112
+ const title$h = "_title_1c6sm_22";
9113
+ const headline$1 = "_headline_1c6sm_47";
9114
+ const subtitle$4 = "_subtitle_1c6sm_65";
9115
+ const rule = "_rule_1c6sm_77";
9116
+ const done = "_done_1c6sm_94";
9117
+ const aside = "_aside_1c6sm_98";
9118
+ const phoneSkeleton = "_phoneSkeleton_1c6sm_103";
9119
+ const wide$1 = "_wide_1c6sm_107";
9120
+ const styles$z = {
8713
9121
  page: page$2,
8714
9122
  confirmed,
8715
9123
  title: title$h,
8716
9124
  headline: headline$1,
8717
9125
  subtitle: subtitle$4,
8718
9126
  rule,
8719
- done
9127
+ done,
9128
+ aside,
9129
+ phoneSkeleton,
9130
+ wide: wide$1
8720
9131
  };
8721
9132
  function OrderConfirmationView(props) {
8722
9133
  return jsx(ShopSurface, {
@@ -8741,7 +9152,7 @@ function confirmationProgress(progress2) {
8741
9152
  };
8742
9153
  });
8743
9154
  }
8744
- function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
9155
+ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone, onContactSupport }) {
8745
9156
  const t = useT();
8746
9157
  const { api } = useShop();
8747
9158
  const locale = useLocale(localeProp);
@@ -8762,20 +9173,24 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
8762
9173
  void load();
8763
9174
  }, [load]);
8764
9175
  if (state === "loading") {
8765
- return jsxs("div", {
8766
- className: styles$A.page,
8767
- children: [jsx(Skeleton, {
8768
- height: 140,
8769
- radius: 8
8770
- }), jsx(Skeleton, {
8771
- height: 72,
8772
- radius: 8
8773
- }), jsx(Skeleton, {
8774
- height: 120,
8775
- radius: 18
8776
- }), jsx(Skeleton, {
8777
- height: 240,
8778
- radius: 18
9176
+ return jsxs(Fragment, {
9177
+ children: [jsxs("div", {
9178
+ className: [styles$z.page, styles$z.phoneSkeleton].join(" "),
9179
+ children: [jsx(Skeleton, {
9180
+ height: 140,
9181
+ radius: 8
9182
+ }), jsx(Skeleton, {
9183
+ height: 72,
9184
+ radius: 8
9185
+ }), jsx(Skeleton, {
9186
+ height: 120,
9187
+ radius: 18
9188
+ }), jsx(Skeleton, {
9189
+ height: 240,
9190
+ radius: 18
9191
+ })]
9192
+ }), jsx(WideOrderSkeleton, {
9193
+ current: t("Order confirmed")
8779
9194
  })]
8780
9195
  });
8781
9196
  }
@@ -8785,18 +9200,25 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
8785
9200
  onRetry: () => void load()
8786
9201
  });
8787
9202
  }
9203
+ const wide2 = isWideOrder(order);
8788
9204
  return jsxs("div", {
8789
- className: styles$A.page,
8790
- children: [jsxs("section", {
8791
- className: styles$A.confirmed,
9205
+ className: [styles$z.page, wide2 ? styles$z.wide : ""].join(" "),
9206
+ ...wide2 ? {
9207
+ "data-shop-layout": "wide"
9208
+ } : {},
9209
+ children: [wide2 && jsx(OrderCrumbs, {
9210
+ order,
9211
+ current: t("Order confirmed")
9212
+ }), jsxs("section", {
9213
+ className: styles$z.confirmed,
8792
9214
  "aria-label": t("Order confirmation"),
8793
9215
  children: [jsxs("div", {
8794
- className: styles$A.title,
9216
+ className: styles$z.title,
8795
9217
  children: [jsx("h1", {
8796
- className: styles$A.headline,
9218
+ className: styles$z.headline,
8797
9219
  children: t("Your order is confirmed")
8798
9220
  }), order.email && jsx("p", {
8799
- className: styles$A.subtitle,
9221
+ className: styles$z.subtitle,
8800
9222
  children: t("We’ve sent a confirmation to {0}", order.email)
8801
9223
  })]
8802
9224
  }), jsx(OrderTimeline, {
@@ -8807,19 +9229,27 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
8807
9229
  locale
8808
9230
  })]
8809
9231
  }), jsx("hr", {
8810
- className: styles$A.rule
8811
- }), jsx(OrderLines, {
8812
- order
8813
- }), jsx(ShippingAddressCard, {
8814
- order
8815
- }), jsx(OrderSummaryCard, {
8816
- order
8817
- }), onDone && jsx(Button, {
8818
- variant: "secondary",
8819
- fullWidth: true,
8820
- className: styles$A.done,
8821
- onClick: onDone,
8822
- children: t("Done")
9232
+ className: styles$z.rule
9233
+ }), jsxs("div", {
9234
+ className: styles$z.aside,
9235
+ children: [jsx(OrderLines, {
9236
+ order
9237
+ }), jsx(ShippingAddressCard, {
9238
+ order
9239
+ }), jsx(OrderSummaryCard, {
9240
+ order
9241
+ }), onDone && jsx(Button, {
9242
+ variant: "secondary",
9243
+ fullWidth: true,
9244
+ className: styles$z.done,
9245
+ onClick: onDone,
9246
+ children: t("Done")
9247
+ }), wide2 && jsx(OrderHelpLink, {
9248
+ orderRef: order.order_ref,
9249
+ ...onContactSupport ? {
9250
+ onContactSupport
9251
+ } : {}
9252
+ })]
8823
9253
  })]
8824
9254
  });
8825
9255
  }
@@ -8828,7 +9258,7 @@ const progress = "_progress_u46qd_22";
8828
9258
  const delivered = "_delivered_u46qd_27";
8829
9259
  const neutral = "_neutral_u46qd_34";
8830
9260
  const critical = "_critical_u46qd_43";
8831
- const styles$z = {
9261
+ const styles$y = {
8832
9262
  badge: badge$2,
8833
9263
  progress,
8834
9264
  delivered,
@@ -8854,7 +9284,7 @@ function OrderStatusBadge({ status }) {
8854
9284
  const label2 = LABEL[status] ?? status.replace(/_/g, " ");
8855
9285
  const tone = TONE[status] ?? "neutral";
8856
9286
  return jsx("span", {
8857
- className: [styles$z.badge, styles$z[tone]].join(" "),
9287
+ className: [styles$y.badge, styles$y[tone]].join(" "),
8858
9288
  children: t(label2)
8859
9289
  });
8860
9290
  }
@@ -8873,7 +9303,7 @@ function ReturnStatusBadge({ status }) {
8873
9303
  const label2 = RETURN_LABEL[status] ?? status.replace(/_/g, " ");
8874
9304
  const tone = RETURN_TONE[status] ?? "neutral";
8875
9305
  return jsx("span", {
8876
- className: [styles$z.badge, styles$z[tone]].join(" "),
9306
+ className: [styles$y.badge, styles$y[tone]].join(" "),
8877
9307
  children: t(label2)
8878
9308
  });
8879
9309
  }
@@ -8894,7 +9324,7 @@ const image$a = "_image_qj11j_160";
8894
9324
  const placeholder$5 = "_placeholder_qj11j_167";
8895
9325
  const more = "_more_qj11j_174";
8896
9326
  const chevron$2 = "_chevron_qj11j_187";
8897
- const styles$y = {
9327
+ const styles$x = {
8898
9328
  page: page$1,
8899
9329
  empty,
8900
9330
  cta: cta$3,
@@ -8972,7 +9402,7 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
8972
9402
  }, [load]);
8973
9403
  if (state === "loading") {
8974
9404
  return jsxs("div", {
8975
- className: styles$y.page,
9405
+ className: styles$x.page,
8976
9406
  children: [jsx(Skeleton, {
8977
9407
  height: 148,
8978
9408
  radius: 12
@@ -8993,14 +9423,14 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
8993
9423
  }
8994
9424
  if (orders2.length === 0 && returns.length === 0) {
8995
9425
  return jsx("div", {
8996
- className: styles$y.empty,
9426
+ className: styles$x.empty,
8997
9427
  children: jsx(EmptyState, {
8998
9428
  title: t("Nothing here yet"),
8999
9429
  body: t("Your orders will show up here once you've shopped."),
9000
9430
  ...onStartShopping ? {
9001
9431
  action: jsx("button", {
9002
9432
  type: "button",
9003
- className: styles$y.cta,
9433
+ className: styles$x.cta,
9004
9434
  onClick: onStartShopping,
9005
9435
  children: t("Continue shopping")
9006
9436
  })
@@ -9018,7 +9448,7 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
9018
9448
  ret
9019
9449
  }))].sort((a, b) => Date.parse(b.at) - Date.parse(a.at));
9020
9450
  return jsx("ul", {
9021
- className: styles$y.page,
9451
+ className: styles$x.page,
9022
9452
  children: rows.map((row2) => jsx("li", {
9023
9453
  children: "order" in row2 ? jsx(OrderCard, {
9024
9454
  order: row2.order,
@@ -9042,39 +9472,39 @@ function ReturnCard({ ret, locale, onOpen }) {
9042
9472
  const items2 = `${ret.item_count} ${ret.item_count === 1 ? t("item") : t("items")}`;
9043
9473
  const body3 = jsxs(Fragment, {
9044
9474
  children: [jsxs("div", {
9045
- className: styles$y.head,
9475
+ className: styles$x.head,
9046
9476
  children: [jsxs("div", {
9047
- className: styles$y.heading,
9477
+ className: styles$x.heading,
9048
9478
  children: [jsx("span", {
9049
- className: styles$y.title,
9479
+ className: styles$x.title,
9050
9480
  children: `${t("Return")} #${shortRef(ret.return_ref)}`
9051
9481
  }), jsx("span", {
9052
- className: styles$y.date,
9482
+ className: styles$x.date,
9053
9483
  children: formatPlaced(ret.reported_at, locale)
9054
9484
  })]
9055
9485
  }), jsx(ReturnStatusBadge, {
9056
9486
  status: ret.status
9057
9487
  })]
9058
9488
  }), jsxs("div", {
9059
- className: styles$y.bottom,
9489
+ className: styles$x.bottom,
9060
9490
  children: [jsx(ReturnThumbnails, {
9061
9491
  ret
9062
9492
  }), jsx("span", {
9063
- className: styles$y.meta,
9493
+ className: styles$x.meta,
9064
9494
  children: `${items2} · ${money2(ret.value)}`
9065
9495
  }), onOpen && jsx("span", {
9066
- className: styles$y.chevron,
9496
+ className: styles$x.chevron,
9067
9497
  children: jsx(Chevron, {})
9068
9498
  })]
9069
9499
  })]
9070
9500
  });
9071
9501
  if (!onOpen) return jsx("div", {
9072
- className: styles$y.card,
9502
+ className: styles$x.card,
9073
9503
  children: body3
9074
9504
  });
9075
9505
  return jsx("button", {
9076
9506
  type: "button",
9077
- className: [styles$y.card, styles$y.tappable].join(" "),
9507
+ className: [styles$x.card, styles$x.tappable].join(" "),
9078
9508
  onClick: onOpen,
9079
9509
  "aria-label": `${t("Return")} ${shortRef(ret.return_ref)}, ${ret.headline}`,
9080
9510
  children: body3
@@ -9087,27 +9517,27 @@ function ReturnThumbnails({ ret }) {
9087
9517
  const overflow = images.length >= TILES && hidden > 1 ? hidden : 0;
9088
9518
  if (images.length === 0) {
9089
9519
  return jsx("div", {
9090
- className: styles$y.strip,
9520
+ className: styles$x.strip,
9091
9521
  children: jsx("div", {
9092
- className: [styles$y.tile, styles$y.placeholder].join(" "),
9522
+ className: [styles$x.tile, styles$x.placeholder].join(" "),
9093
9523
  "aria-hidden": "true"
9094
9524
  })
9095
9525
  });
9096
9526
  }
9097
9527
  return jsx("div", {
9098
- className: styles$y.strip,
9528
+ className: styles$x.strip,
9099
9529
  children: images.map((src, i) => {
9100
9530
  const last = i === images.length - 1;
9101
9531
  return jsxs("div", {
9102
- className: styles$y.tile,
9532
+ className: styles$x.tile,
9103
9533
  children: [jsx(ShopImage, {
9104
9534
  src,
9105
9535
  alt: "",
9106
9536
  fill: true,
9107
9537
  sizes: "56px",
9108
- className: styles$y.image
9538
+ className: styles$x.image
9109
9539
  }), overflow > 0 && last && jsxs("span", {
9110
- className: styles$y.more,
9540
+ className: styles$x.more,
9111
9541
  children: [jsxs("span", {
9112
9542
  "aria-hidden": "true",
9113
9543
  children: ["+", overflow]
@@ -9124,36 +9554,36 @@ function OrderCard({ order, locale, onOpen }) {
9124
9554
  const t = useT();
9125
9555
  const body3 = jsxs(Fragment, {
9126
9556
  children: [jsxs("div", {
9127
- className: styles$y.head,
9557
+ className: styles$x.head,
9128
9558
  children: [jsxs("div", {
9129
- className: styles$y.heading,
9559
+ className: styles$x.heading,
9130
9560
  children: [jsx("span", {
9131
- className: styles$y.title,
9561
+ className: styles$x.title,
9132
9562
  children: t("Order #{0}", shortRef(order.order_ref))
9133
9563
  }), jsx("span", {
9134
- className: styles$y.date,
9564
+ className: styles$x.date,
9135
9565
  children: formatPlaced(order.placed_at, locale)
9136
9566
  })]
9137
9567
  }), jsx(OrderStatusBadge, {
9138
9568
  status: order.status
9139
9569
  })]
9140
9570
  }), jsxs("div", {
9141
- className: styles$y.bottom,
9571
+ className: styles$x.bottom,
9142
9572
  children: [jsx(Thumbnails, {
9143
9573
  order
9144
9574
  }), onOpen && jsx("span", {
9145
- className: styles$y.chevron,
9575
+ className: styles$x.chevron,
9146
9576
  children: jsx(Chevron, {})
9147
9577
  })]
9148
9578
  })]
9149
9579
  });
9150
9580
  if (!onOpen) return jsx("div", {
9151
- className: styles$y.card,
9581
+ className: styles$x.card,
9152
9582
  children: body3
9153
9583
  });
9154
9584
  return jsx("button", {
9155
9585
  type: "button",
9156
- className: [styles$y.card, styles$y.tappable].join(" "),
9586
+ className: [styles$x.card, styles$x.tappable].join(" "),
9157
9587
  onClick: onOpen,
9158
9588
  "aria-label": `Order ${shortRef(order.order_ref)}, ${order.headline}`,
9159
9589
  children: body3
@@ -9166,27 +9596,27 @@ function Thumbnails({ order }) {
9166
9596
  const overflow = images.length >= TILES && hidden > 1 ? hidden : 0;
9167
9597
  if (images.length === 0) {
9168
9598
  return jsx("div", {
9169
- className: styles$y.strip,
9599
+ className: styles$x.strip,
9170
9600
  children: jsx("div", {
9171
- className: [styles$y.tile, styles$y.placeholder].join(" "),
9601
+ className: [styles$x.tile, styles$x.placeholder].join(" "),
9172
9602
  "aria-hidden": "true"
9173
9603
  })
9174
9604
  });
9175
9605
  }
9176
9606
  return jsx("div", {
9177
- className: styles$y.strip,
9607
+ className: styles$x.strip,
9178
9608
  children: images.map((src, i) => {
9179
9609
  const last = i === images.length - 1;
9180
9610
  return jsxs("div", {
9181
- className: styles$y.tile,
9611
+ className: styles$x.tile,
9182
9612
  children: [jsx(ShopImage, {
9183
9613
  src,
9184
9614
  alt: "",
9185
9615
  fill: true,
9186
9616
  sizes: "56px",
9187
- className: styles$y.image
9617
+ className: styles$x.image
9188
9618
  }), overflow > 0 && last && jsxs("span", {
9189
- className: styles$y.more,
9619
+ className: styles$x.more,
9190
9620
  children: [jsxs("span", {
9191
9621
  "aria-hidden": "true",
9192
9622
  children: ["+", overflow]
@@ -9216,7 +9646,7 @@ const swatches = "_swatches_mdi63_1";
9216
9646
  const swatch = "_swatch_mdi63_1";
9217
9647
  const swatchActive = "_swatchActive_mdi63_18";
9218
9648
  const swatchDot = "_swatchDot_mdi63_22";
9219
- const styles$x = {
9649
+ const styles$w = {
9220
9650
  swatches,
9221
9651
  swatch,
9222
9652
  swatchActive,
@@ -9226,12 +9656,12 @@ function ColourSwatches({ variants, className }) {
9226
9656
  const colours = colourOptions(variants);
9227
9657
  if (colours.length === 0) return null;
9228
9658
  return jsx("div", {
9229
- className: [styles$x.swatches, className ?? ""].join(" ").trim(),
9659
+ className: [styles$w.swatches, className ?? ""].join(" ").trim(),
9230
9660
  "aria-hidden": "true",
9231
9661
  children: colours.map((c, i) => jsx("span", {
9232
- className: [styles$x.swatch, i === 0 ? styles$x.swatchActive : ""].join(" "),
9662
+ className: [styles$w.swatch, i === 0 ? styles$w.swatchActive : ""].join(" "),
9233
9663
  children: jsx("span", {
9234
- className: styles$x.swatchDot,
9664
+ className: styles$w.swatchDot,
9235
9665
  style: {
9236
9666
  background: swatchColour(c.value)
9237
9667
  }
@@ -9251,7 +9681,7 @@ const titlePrice$1 = "_titlePrice_yg69t_100";
9251
9681
  const title$f = "_title_yg69t_5";
9252
9682
  const large = "_large_yg69t_185";
9253
9683
  const swatchSlot = "_swatchSlot_yg69t_223";
9254
- const styles$w = {
9684
+ const styles$v = {
9255
9685
  tile: tile$1,
9256
9686
  media: media$2,
9257
9687
  image: image$9,
@@ -9273,37 +9703,37 @@ function ProductTile({ product, priority, size = "default" }) {
9273
9703
  const t = useT();
9274
9704
  return jsxs(ShopLink, {
9275
9705
  to: `/product/${encodeURIComponent(product.sku)}`,
9276
- className: [styles$w.tile, size === "large" ? styles$w.large : ""].join(" "),
9706
+ className: [styles$v.tile, size === "large" ? styles$v.large : ""].join(" "),
9277
9707
  children: [jsxs("div", {
9278
- className: styles$w.media,
9708
+ className: styles$v.media,
9279
9709
  children: [image2 ? jsx(ShopImage, {
9280
9710
  src: image2,
9281
9711
  alt: product.title,
9282
9712
  fill: true,
9283
9713
  sizes: size === "large" ? "(max-width: 480px) 100vw, 480px" : "(max-width: 480px) 45vw, 200px",
9284
- className: styles$w.image,
9714
+ className: styles$v.image,
9285
9715
  priority
9286
9716
  }) : jsx("div", {
9287
- className: styles$w.placeholder,
9717
+ className: styles$v.placeholder,
9288
9718
  "aria-hidden": "true"
9289
9719
  }), anyInStock && topBadge2 && jsx("span", {
9290
- className: styles$w.topBadge,
9720
+ className: styles$v.topBadge,
9291
9721
  children: topBadge2
9292
9722
  }), anyInStock && pct !== void 0 && jsx("span", {
9293
- className: styles$w.saleBadge,
9723
+ className: styles$v.saleBadge,
9294
9724
  children: jsx(SaleBadge, {
9295
9725
  pct
9296
9726
  })
9297
9727
  }), !anyInStock && jsx("span", {
9298
- className: styles$w.oos,
9728
+ className: styles$v.oos,
9299
9729
  children: t("Out of stock")
9300
9730
  })]
9301
9731
  }), jsxs("div", {
9302
- className: styles$w.bottom,
9732
+ className: styles$v.bottom,
9303
9733
  children: [jsxs("div", {
9304
- className: styles$w.titlePrice,
9734
+ className: styles$v.titlePrice,
9305
9735
  children: [jsx("span", {
9306
- className: styles$w.title,
9736
+ className: styles$v.title,
9307
9737
  children: product.title
9308
9738
  }), jsx(PriceBlock, {
9309
9739
  price: product.price,
@@ -9314,7 +9744,7 @@ function ProductTile({ product, priority, size = "default" }) {
9314
9744
  })]
9315
9745
  }), jsx(ColourSwatches, {
9316
9746
  variants: product.variants,
9317
- className: styles$w.swatchSlot
9747
+ className: styles$v.swatchSlot
9318
9748
  })]
9319
9749
  })]
9320
9750
  });
@@ -9334,7 +9764,7 @@ const name = "_name_v48ok_142";
9334
9764
  const price$1 = "_price_v48ok_155";
9335
9765
  const paid = "_paid_v48ok_164";
9336
9766
  const was$1 = "_was_v48ok_170";
9337
- const styles$v = {
9767
+ const styles$u = {
9338
9768
  section: section$3,
9339
9769
  title: title$e,
9340
9770
  link,
@@ -9358,54 +9788,54 @@ function ProductGallery({ title: title2, product }) {
9358
9788
  const inStock = product.variants.some((v) => v.in_stock);
9359
9789
  const images = product.media.length > 0 ? product.media : [void 0];
9360
9790
  return jsxs("section", {
9361
- className: styles$v.section,
9791
+ className: styles$u.section,
9362
9792
  "aria-labelledby": `gallery-${product.sku}`,
9363
9793
  children: [jsx("h2", {
9364
- className: styles$v.title,
9794
+ className: styles$u.title,
9365
9795
  id: `gallery-${product.sku}`,
9366
9796
  children: title2
9367
9797
  }), jsxs(ShopLink, {
9368
9798
  to: `/product/${encodeURIComponent(product.sku)}`,
9369
- className: styles$v.link,
9799
+ className: styles$u.link,
9370
9800
  children: [jsx("ul", {
9371
- className: styles$v.track,
9801
+ className: styles$u.track,
9372
9802
  "aria-label": t("{0} photographs", product.title),
9373
9803
  children: images.map((src, i) => jsxs("li", {
9374
- className: styles$v.frame,
9804
+ className: styles$u.frame,
9375
9805
  children: [src ? jsx(ShopImage, {
9376
9806
  src,
9377
9807
  alt: "",
9378
9808
  fill: true,
9379
9809
  sizes: "165px",
9380
- className: styles$v.image,
9810
+ className: styles$u.image,
9381
9811
  ...i === 0 ? {
9382
9812
  priority: true
9383
9813
  } : {}
9384
9814
  }) : jsx("div", {
9385
- className: styles$v.placeholder,
9815
+ className: styles$u.placeholder,
9386
9816
  "aria-hidden": "true"
9387
9817
  }), i === 0 && inStock && pct !== void 0 && jsx("span", {
9388
- className: styles$v.saleBadge,
9818
+ className: styles$u.saleBadge,
9389
9819
  children: jsx(SaleBadge, {
9390
9820
  pct
9391
9821
  })
9392
9822
  }), i === 0 && !inStock && jsx("span", {
9393
- className: styles$v.oos,
9823
+ className: styles$u.oos,
9394
9824
  children: t("Out of stock")
9395
9825
  })]
9396
9826
  }, src ?? i))
9397
9827
  }), jsxs("div", {
9398
- className: styles$v.caption,
9828
+ className: styles$u.caption,
9399
9829
  children: [jsx("span", {
9400
- className: styles$v.name,
9830
+ className: styles$u.name,
9401
9831
  children: product.title
9402
9832
  }), jsxs("span", {
9403
- className: styles$v.price,
9833
+ className: styles$u.price,
9404
9834
  children: [jsx("span", {
9405
- className: styles$v.paid,
9835
+ className: styles$u.paid,
9406
9836
  children: format(product.price)
9407
9837
  }), product.compare_at && jsxs("span", {
9408
- className: styles$v.was,
9838
+ className: styles$u.was,
9409
9839
  children: [jsx("span", {
9410
9840
  className: "visually-hidden",
9411
9841
  children: t("Was {0}", format(product.compare_at))
@@ -9416,7 +9846,7 @@ function ProductGallery({ title: title2, product }) {
9416
9846
  })]
9417
9847
  }), jsx(ColourSwatches, {
9418
9848
  variants: product.variants,
9419
- className: styles$v.swatchRow
9849
+ className: styles$u.swatchRow
9420
9850
  })]
9421
9851
  })]
9422
9852
  })]
@@ -9427,7 +9857,7 @@ const chips$1 = "_chips_6p29u_8";
9427
9857
  const chip$1 = "_chip_6p29u_8";
9428
9858
  const on = "_on_6p29u_36";
9429
9859
  const clear = "_clear_6p29u_42";
9430
- const styles$u = {
9860
+ const styles$t = {
9431
9861
  bar: bar$1,
9432
9862
  chips: chips$1,
9433
9863
  chip: chip$1,
@@ -9438,24 +9868,24 @@ function FilterBar({ options: options2, active, onToggle, onClear }) {
9438
9868
  const t = useT();
9439
9869
  const hasActive = active.length > 0;
9440
9870
  return jsxs("div", {
9441
- className: styles$u.bar,
9871
+ className: styles$t.bar,
9442
9872
  role: "group",
9443
9873
  "aria-label": t("Filters"),
9444
9874
  children: [jsx("div", {
9445
- className: styles$u.chips,
9875
+ className: styles$t.chips,
9446
9876
  children: options2.map((opt) => {
9447
9877
  const on2 = active.includes(opt.value);
9448
9878
  return jsx("button", {
9449
9879
  type: "button",
9450
9880
  "aria-pressed": on2,
9451
- className: [styles$u.chip, on2 ? styles$u.on : ""].join(" "),
9881
+ className: [styles$t.chip, on2 ? styles$t.on : ""].join(" "),
9452
9882
  onClick: () => onToggle(opt.value),
9453
9883
  children: opt.label
9454
9884
  }, opt.value);
9455
9885
  })
9456
9886
  }), hasActive && onClear && jsx("button", {
9457
9887
  type: "button",
9458
- className: styles$u.clear,
9888
+ className: styles$t.clear,
9459
9889
  onClick: onClear,
9460
9890
  children: t("Clear")
9461
9891
  })]
@@ -9463,7 +9893,7 @@ function FilterBar({ options: options2, active, onToggle, onClear }) {
9463
9893
  }
9464
9894
  const wrap$2 = "_wrap_15ntf_1";
9465
9895
  const grid$1 = "_grid_15ntf_7";
9466
- const styles$t = {
9896
+ const styles$s = {
9467
9897
  wrap: wrap$2,
9468
9898
  grid: grid$1
9469
9899
  };
@@ -9509,7 +9939,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
9509
9939
  }, [loadMore]);
9510
9940
  const visible = active.length === 0 ? products : products.filter((p) => active.includes(p.category));
9511
9941
  return jsxs("div", {
9512
- className: styles$t.wrap,
9942
+ className: styles$s.wrap,
9513
9943
  children: [filters.length > 0 && jsx(FilterBar, {
9514
9944
  options: filters,
9515
9945
  active,
@@ -9524,7 +9954,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
9524
9954
  children: t("Clear filters")
9525
9955
  }) : void 0
9526
9956
  }) : jsx("ul", {
9527
- className: styles$t.grid,
9957
+ className: styles$s.grid,
9528
9958
  children: visible.map((product, i) => jsx("li", {
9529
9959
  children: jsx(ProductTile, {
9530
9960
  product,
@@ -9532,7 +9962,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
9532
9962
  })
9533
9963
  }, product.sku))
9534
9964
  }), loading && jsx("div", {
9535
- className: styles$t.grid,
9965
+ className: styles$s.grid,
9536
9966
  "aria-hidden": "true",
9537
9967
  children: [0, 1].map((i) => jsx(Skeleton, {
9538
9968
  height: 200,
@@ -9551,7 +9981,7 @@ const seeAll = "_seeAll_1rll1_27";
9551
9981
  const track$3 = "_track_1rll1_33";
9552
9982
  const item = "_item_1rll1_67";
9553
9983
  const inset = "_inset_1rll1_79";
9554
- const styles$s = {
9984
+ const styles$r = {
9555
9985
  rail,
9556
9986
  header: header$5,
9557
9987
  title: title$d,
@@ -9564,22 +9994,22 @@ function RailCarousel({ title: title2, products, seeAllTo, inset: inset2 }) {
9564
9994
  const t = useT();
9565
9995
  if (products.length === 0) return null;
9566
9996
  return jsxs("section", {
9567
- className: [styles$s.rail, inset2 ? styles$s.inset : ""].join(" "),
9997
+ className: [styles$r.rail, inset2 ? styles$r.inset : ""].join(" "),
9568
9998
  "aria-label": title2,
9569
9999
  children: [jsxs("div", {
9570
- className: styles$s.header,
10000
+ className: styles$r.header,
9571
10001
  children: [jsx("h2", {
9572
- className: styles$s.title,
10002
+ className: styles$r.title,
9573
10003
  children: title2
9574
10004
  }), seeAllTo && jsx(ShopLink, {
9575
- className: styles$s.seeAll,
10005
+ className: styles$r.seeAll,
9576
10006
  to: seeAllTo,
9577
10007
  children: t("See all")
9578
10008
  })]
9579
10009
  }), jsx("ul", {
9580
- className: styles$s.track,
10010
+ className: styles$r.track,
9581
10011
  children: products.map((product, i) => jsx("li", {
9582
- className: styles$s.item,
10012
+ className: styles$r.item,
9583
10013
  children: jsx(ProductTile, {
9584
10014
  product,
9585
10015
  priority: i < 2
@@ -9598,7 +10028,7 @@ const title$c = "_title_uxpgl_67";
9598
10028
  const close$1 = "_close_uxpgl_71";
9599
10029
  const body$5 = "_body_uxpgl_84";
9600
10030
  const footer = "_footer_uxpgl_97";
9601
- const styles$r = {
10031
+ const styles$q = {
9602
10032
  overlay: overlay$2,
9603
10033
  scrim: scrim$4,
9604
10034
  sheet: sheet$2,
@@ -9638,14 +10068,14 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
9638
10068
  useModalDialog(open, onClose, sheetRef);
9639
10069
  if (!open) return null;
9640
10070
  return jsxs("div", {
9641
- className: styles$r.overlay,
10071
+ className: styles$q.overlay,
9642
10072
  children: [jsx("div", {
9643
- className: styles$r.scrim,
10073
+ className: styles$q.scrim,
9644
10074
  onClick: onClose,
9645
10075
  "aria-hidden": "true"
9646
10076
  }), jsxs(ShopSurface, {
9647
10077
  tone: "light",
9648
- className: styles$r.sheet,
10078
+ className: styles$q.sheet,
9649
10079
  role: "dialog",
9650
10080
  "aria-modal": "true",
9651
10081
  "aria-labelledby": titleId,
@@ -9655,7 +10085,7 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
9655
10085
  transition: "none"
9656
10086
  } : void 0,
9657
10087
  children: [jsx("div", {
9658
- className: styles$r.grabArea,
10088
+ className: styles$q.grabArea,
9659
10089
  onPointerDown: (e) => {
9660
10090
  e.currentTarget.setPointerCapture(e.pointerId);
9661
10091
  onDragStart(e.clientY);
@@ -9664,18 +10094,18 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
9664
10094
  onPointerUp: onDragEnd,
9665
10095
  onPointerCancel: onDragEnd,
9666
10096
  children: jsx("div", {
9667
- className: styles$r.grabber,
10097
+ className: styles$q.grabber,
9668
10098
  "aria-hidden": "true"
9669
10099
  })
9670
10100
  }), jsxs("div", {
9671
- className: styles$r.header,
10101
+ className: styles$q.header,
9672
10102
  children: [jsx("h2", {
9673
10103
  id: titleId,
9674
- className: styles$r.title,
10104
+ className: styles$q.title,
9675
10105
  children: title2
9676
10106
  }), jsx("button", {
9677
10107
  type: "button",
9678
- className: styles$r.close,
10108
+ className: styles$q.close,
9679
10109
  onClick: onClose,
9680
10110
  "aria-label": t("Close"),
9681
10111
  children: jsx("svg", {
@@ -9693,10 +10123,10 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
9693
10123
  })
9694
10124
  })]
9695
10125
  }), jsx("div", {
9696
- className: styles$r.body,
10126
+ className: styles$q.body,
9697
10127
  children
9698
10128
  }), footer2 && jsx("div", {
9699
- className: styles$r.footer,
10129
+ className: styles$q.footer,
9700
10130
  children: footer2
9701
10131
  })]
9702
10132
  })]
@@ -9716,7 +10146,7 @@ const stepper = "_stepper_1rmip_10";
9716
10146
  const cap = "_cap_1rmip_23";
9717
10147
  const button = "_button_1rmip_31";
9718
10148
  const value$1 = "_value_1rmip_50";
9719
- const styles$q = {
10149
+ const styles$p = {
9720
10150
  wrap: wrap$1,
9721
10151
  stepper,
9722
10152
  cap,
@@ -9794,24 +10224,24 @@ function QtyStepper({ qty, max, onChange, onRemove, disabled: disabled2, capDesc
9794
10224
  if (!atMax) onChange(qty + 1);
9795
10225
  }
9796
10226
  return jsxs("div", {
9797
- className: styles$q.wrap,
10227
+ className: styles$p.wrap,
9798
10228
  children: [jsxs("div", {
9799
- className: styles$q.stepper,
10229
+ className: styles$p.stepper,
9800
10230
  children: [jsx("button", {
9801
10231
  type: "button",
9802
- className: styles$q.button,
10232
+ className: styles$p.button,
9803
10233
  onClick: decrement,
9804
10234
  disabled: disabled2,
9805
10235
  "aria-label": willDelete ? t("Remove item") : t("Decrease quantity"),
9806
10236
  children: willDelete ? jsx(TrashIcon, {}) : jsx(MinusIcon, {})
9807
10237
  }), jsx("span", {
9808
- className: styles$q.value,
10238
+ className: styles$p.value,
9809
10239
  "aria-live": "polite",
9810
10240
  "aria-label": `Quantity ${qty}`,
9811
10241
  children: qty
9812
10242
  }), jsx("button", {
9813
10243
  type: "button",
9814
- className: styles$q.button,
10244
+ className: styles$p.button,
9815
10245
  onClick: increment,
9816
10246
  disabled: disabled2 || atMax,
9817
10247
  "aria-label": t("Increase quantity"),
@@ -9820,7 +10250,7 @@ function QtyStepper({ qty, max, onChange, onRemove, disabled: disabled2, capDesc
9820
10250
  })]
9821
10251
  }), atMax && capDescribedBy === void 0 && jsx("span", {
9822
10252
  id: ownCapId,
9823
- className: styles$q.cap,
10253
+ className: styles$p.cap,
9824
10254
  role: "status",
9825
10255
  children: max === 0 ? t("Out of stock") : t("Only {0} left", max)
9826
10256
  })]
@@ -9845,7 +10275,7 @@ const detail = "_detail_1dx14_164";
9845
10275
  const price = "_price_1dx14_183";
9846
10276
  const amount = "_amount_1dx14_191";
9847
10277
  const was = "_was_1dx14_200";
9848
- const styles$p = {
10278
+ const styles$o = {
9849
10279
  line,
9850
10280
  row: row$5,
9851
10281
  pending,
@@ -9879,53 +10309,53 @@ function CartLineItem({ item: item2, title: title2, image: image2, compareAt: co
9879
10309
  const noticeId = useStableId("cart-line-stock");
9880
10310
  const notice = lowStock2 || soldOut ? noticeId : void 0;
9881
10311
  return jsxs("div", {
9882
- className: [styles$p.line, pending2 ? styles$p.pending : ""].join(" "),
10312
+ className: [styles$o.line, pending2 ? styles$o.pending : ""].join(" "),
9883
10313
  children: [jsxs("div", {
9884
- className: styles$p.row,
10314
+ className: styles$o.row,
9885
10315
  children: [jsxs("div", {
9886
- className: styles$p.media,
10316
+ className: styles$o.media,
9887
10317
  children: [displayImage ? jsx(ShopImage, {
9888
10318
  src: displayImage,
9889
10319
  alt: "",
9890
10320
  fill: true,
9891
10321
  sizes: "100px",
9892
- className: styles$p.image
10322
+ className: styles$o.image
9893
10323
  }) : jsx("div", {
9894
- className: styles$p.placeholder,
10324
+ className: styles$o.placeholder,
9895
10325
  "aria-hidden": "true"
9896
10326
  }), soldOut ? jsx("span", {
9897
- className: styles$p.oos,
10327
+ className: styles$o.oos,
9898
10328
  id: noticeId,
9899
10329
  children: t("Out of stock")
9900
10330
  }) : pct !== void 0 && jsx("span", {
9901
- className: styles$p.saleBadge,
10331
+ className: styles$o.saleBadge,
9902
10332
  children: jsx(SaleBadge, {
9903
10333
  pct
9904
10334
  })
9905
10335
  })]
9906
10336
  }), jsxs("div", {
9907
- className: styles$p.info,
10337
+ className: styles$o.info,
9908
10338
  children: [jsxs("div", {
9909
- className: styles$p.head,
10339
+ className: styles$o.head,
9910
10340
  children: [jsxs("div", {
9911
- className: styles$p.meta,
10341
+ className: styles$o.meta,
9912
10342
  children: [jsx("span", {
9913
- className: styles$p.title,
10343
+ className: styles$o.title,
9914
10344
  children: displayTitle
9915
10345
  }), pairs.length > 0 && jsx("div", {
9916
- className: styles$p.details,
10346
+ className: styles$o.details,
9917
10347
  children: pairs.map(({ key, label: label2, value: value2 }) => jsxs("span", {
9918
- className: styles$p.detail,
10348
+ className: styles$o.detail,
9919
10349
  children: [t(label2), ": ", value2]
9920
10350
  }, key))
9921
10351
  })]
9922
10352
  }), jsxs("div", {
9923
- className: styles$p.price,
10353
+ className: styles$o.price,
9924
10354
  children: [jsx("span", {
9925
- className: styles$p.amount,
10355
+ className: styles$o.amount,
9926
10356
  children: format(item2.line_total)
9927
10357
  }), compareAt2 && jsx("span", {
9928
- className: styles$p.was,
10358
+ className: styles$o.was,
9929
10359
  children: format(compareAt2)
9930
10360
  })]
9931
10361
  })]
@@ -9939,10 +10369,10 @@ function CartLineItem({ item: item2, title: title2, image: image2, compareAt: co
9939
10369
  })]
9940
10370
  })]
9941
10371
  }), lowStock2 && jsx("div", {
9942
- className: styles$p.labels,
10372
+ className: styles$o.labels,
9943
10373
  children: jsx("span", {
9944
10374
  id: noticeId,
9945
- className: styles$p.lowStock,
10375
+ className: styles$o.lowStock,
9946
10376
  role: "status",
9947
10377
  children: t("Only {0} left", available)
9948
10378
  })
@@ -9954,7 +10384,7 @@ const row$4 = "_row_w9fja_10";
9954
10384
  const icon$2 = "_icon_w9fja_16";
9955
10385
  const label = "_label_w9fja_22";
9956
10386
  const divider$1 = "_divider_w9fja_29";
9957
- const styles$o = {
10387
+ const styles$n = {
9958
10388
  box: box$1,
9959
10389
  row: row$4,
9960
10390
  icon: icon$2,
@@ -9964,12 +10394,12 @@ const styles$o = {
9964
10394
  function ShippingInfo() {
9965
10395
  const t = useT();
9966
10396
  return jsxs("section", {
9967
- className: styles$o.box,
10397
+ className: styles$n.box,
9968
10398
  "aria-label": t("Shipping and returns"),
9969
10399
  children: [jsxs("div", {
9970
- className: styles$o.row,
10400
+ className: styles$n.row,
9971
10401
  children: [jsx("svg", {
9972
- className: styles$o.icon,
10402
+ className: styles$n.icon,
9973
10403
  width: "24",
9974
10404
  height: "24",
9975
10405
  viewBox: "0 0 24 24",
@@ -9980,16 +10410,16 @@ function ShippingInfo() {
9980
10410
  fill: "currentColor"
9981
10411
  })
9982
10412
  }), jsx("p", {
9983
- className: styles$o.label,
10413
+ className: styles$n.label,
9984
10414
  children: t("Standard or express delivery")
9985
10415
  })]
9986
10416
  }), jsx("div", {
9987
- className: styles$o.divider,
10417
+ className: styles$n.divider,
9988
10418
  role: "presentation"
9989
10419
  }), jsxs("div", {
9990
- className: styles$o.row,
10420
+ className: styles$n.row,
9991
10421
  children: [jsx("svg", {
9992
- className: styles$o.icon,
10422
+ className: styles$n.icon,
9993
10423
  width: "24",
9994
10424
  height: "24",
9995
10425
  viewBox: "0 0 24 24",
@@ -10000,7 +10430,7 @@ function ShippingInfo() {
10000
10430
  fill: "currentColor"
10001
10431
  })
10002
10432
  }), jsx("p", {
10003
- className: styles$o.label,
10433
+ className: styles$n.label,
10004
10434
  children: t("14 days returns")
10005
10435
  })]
10006
10436
  })]
@@ -10011,7 +10441,7 @@ const floating$1 = "_floating_23dkv_52";
10011
10441
  const divider = "_divider_23dkv_58";
10012
10442
  const info$1 = "_info_23dkv_62";
10013
10443
  const actions = "_actions_23dkv_70";
10014
- const styles$n = {
10444
+ const styles$m = {
10015
10445
  bar,
10016
10446
  floating: floating$1,
10017
10447
  divider,
@@ -10020,12 +10450,12 @@ const styles$n = {
10020
10450
  };
10021
10451
  function StickyCtaBar({ children, info: info2, variant = "floating", className }) {
10022
10452
  return jsxs("div", {
10023
- className: [styles$n.bar, styles$n[variant], className ?? ""].join(" "),
10453
+ className: [styles$m.bar, styles$m[variant], className ?? ""].join(" "),
10024
10454
  children: [info2 && jsx("div", {
10025
- className: styles$n.info,
10455
+ className: styles$m.info,
10026
10456
  children: info2
10027
10457
  }), jsx("div", {
10028
- className: styles$n.actions,
10458
+ className: styles$m.actions,
10029
10459
  children
10030
10460
  })]
10031
10461
  });
@@ -10038,7 +10468,7 @@ const sectionHeader = "_sectionHeader_1bdb0_40";
10038
10468
  const sectionTitle = "_sectionTitle_1bdb0_46";
10039
10469
  const count = "_count_1bdb0_67";
10040
10470
  const lines = "_lines_1bdb0_91";
10041
- const styles$m = {
10471
+ const styles$l = {
10042
10472
  surface,
10043
10473
  screen,
10044
10474
  body: body$4,
@@ -10054,7 +10484,7 @@ function CartView(props = {}) {
10054
10484
  return jsx(ShopSurface, {
10055
10485
  tone: "light",
10056
10486
  fill: true,
10057
- className: styles$m.surface,
10487
+ className: styles$l.surface,
10058
10488
  children: jsx(CartViewContent, {
10059
10489
  ...props
10060
10490
  })
@@ -10064,22 +10494,28 @@ function CartViewContent({ onContinueShopping, checkoutLabel } = {}) {
10064
10494
  const t = useT();
10065
10495
  const toast2 = useToast();
10066
10496
  const { api, emit } = useShop();
10067
- const [cart2, setCart] = useState(null);
10068
- const [state, setState] = useState("loading");
10497
+ const carts = useCartCache();
10498
+ const [cart2, setCart] = useState(() => carts?.get() ?? null);
10499
+ const [state, setState] = useState(() => {
10500
+ const seeded = carts?.get();
10501
+ if (!seeded) return "loading";
10502
+ return seeded.items.length === 0 ? "empty" : "ready";
10503
+ });
10069
10504
  const [errorCode, setErrorCode] = useState(void 0);
10070
10505
  const [pendingSku, setPendingSku] = useState(null);
10071
10506
  const [handingOff, setHandingOff] = useState(false);
10072
10507
  const load = useCallback(async () => {
10073
- setState("loading");
10508
+ if (!carts?.get()) setState("loading");
10074
10509
  try {
10075
- const next = await api.cart.get();
10510
+ const fetched = await api.cart.get();
10511
+ const next = carts?.get() ?? fetched;
10076
10512
  setCart(next);
10077
10513
  setState(next.items.length === 0 ? "empty" : "ready");
10078
10514
  } catch (err) {
10079
10515
  setErrorCode(codeOf(err));
10080
10516
  setState("error");
10081
10517
  }
10082
- }, [api]);
10518
+ }, [api, carts]);
10083
10519
  useEffect(() => {
10084
10520
  void load();
10085
10521
  }, [load]);
@@ -10216,22 +10652,22 @@ function CartViewContent({ onContinueShopping, checkoutLabel } = {}) {
10216
10652
  }
10217
10653
  const itemCount = cart2.items.reduce((n, i) => n + i.qty, 0);
10218
10654
  return jsxs("div", {
10219
- className: styles$m.screen,
10655
+ className: styles$l.screen,
10220
10656
  children: [jsxs("div", {
10221
- className: styles$m.body,
10657
+ className: styles$l.body,
10222
10658
  children: [jsxs("section", {
10223
- className: styles$m.items,
10659
+ className: styles$l.items,
10224
10660
  children: [jsxs("div", {
10225
- className: styles$m.sectionHeader,
10661
+ className: styles$l.sectionHeader,
10226
10662
  children: [jsx("h2", {
10227
- className: styles$m.sectionTitle,
10663
+ className: styles$l.sectionTitle,
10228
10664
  children: t("Items")
10229
10665
  }), jsx("span", {
10230
- className: styles$m.count,
10666
+ className: styles$l.count,
10231
10667
  children: itemCount
10232
10668
  })]
10233
10669
  }), jsx("ul", {
10234
- className: styles$m.lines,
10670
+ className: styles$l.lines,
10235
10671
  children: cart2.items.map((item2) => jsx("li", {
10236
10672
  children: jsx(CartLineItem, {
10237
10673
  item: item2,
@@ -10258,7 +10694,7 @@ function CartViewContent({ onContinueShopping, checkoutLabel } = {}) {
10258
10694
  children: jsx(Button, {
10259
10695
  variant: "primary",
10260
10696
  onClick: () => void handOff(cart2),
10261
- disabled: handingOff,
10697
+ loading: handingOff,
10262
10698
  children: checkoutLabel ?? t("Proceed to checkout")
10263
10699
  })
10264
10700
  })]
@@ -10304,7 +10740,7 @@ const placeholder$1 = "_placeholder_1vbj7_31";
10304
10740
  const dots$2 = "_dots_1vbj7_49";
10305
10741
  const dot$2 = "_dot_1vbj7_49";
10306
10742
  const dotActive$2 = "_dotActive_1vbj7_100";
10307
- const styles$l = {
10743
+ const styles$k = {
10308
10744
  gallery: gallery$1,
10309
10745
  track: track$2,
10310
10746
  slide: slide$1,
@@ -10355,30 +10791,30 @@ function MediaGallery({ media: media2, alt, focus }) {
10355
10791
  }
10356
10792
  if (media2.length === 0) {
10357
10793
  return jsx("div", {
10358
- className: styles$l.placeholder,
10794
+ className: styles$k.placeholder,
10359
10795
  "aria-hidden": "true"
10360
10796
  });
10361
10797
  }
10362
10798
  return jsxs("div", {
10363
- className: styles$l.gallery,
10799
+ className: styles$k.gallery,
10364
10800
  children: [jsx("div", {
10365
- className: styles$l.track,
10801
+ className: styles$k.track,
10366
10802
  ref: trackRef,
10367
10803
  role: "group",
10368
10804
  "aria-label": `${alt} images`,
10369
10805
  children: media2.map((src, i) => jsx("div", {
10370
- className: styles$l.slide,
10806
+ className: styles$k.slide,
10371
10807
  children: jsx(ShopImage, {
10372
10808
  src,
10373
10809
  alt: `${alt} — image ${i + 1} of ${media2.length}`,
10374
10810
  fill: true,
10375
10811
  sizes: "(max-width: 480px) 100vw, 480px",
10376
- className: styles$l.image,
10812
+ className: styles$k.image,
10377
10813
  priority: i === 0
10378
10814
  })
10379
10815
  }, src))
10380
10816
  }), media2.length > 1 && jsx("div", {
10381
- className: styles$l.dots,
10817
+ className: styles$k.dots,
10382
10818
  role: "tablist",
10383
10819
  "aria-label": t("Gallery pagination"),
10384
10820
  children: media2.map((src, i) => jsx("button", {
@@ -10386,7 +10822,7 @@ function MediaGallery({ media: media2, alt, focus }) {
10386
10822
  role: "tab",
10387
10823
  "aria-selected": i === active,
10388
10824
  "aria-label": `Go to image ${i + 1}`,
10389
- className: [styles$l.dot, i === active ? styles$l.dotActive : ""].join(" "),
10825
+ className: [styles$k.dot, i === active ? styles$k.dotActive : ""].join(" "),
10390
10826
  onClick: () => goTo(i)
10391
10827
  }, src))
10392
10828
  })]
@@ -10394,7 +10830,7 @@ function MediaGallery({ media: media2, alt, focus }) {
10394
10830
  }
10395
10831
  const row$3 = "_row_l4edh_1";
10396
10832
  const badge$1 = "_badge_l4edh_11";
10397
- const styles$k = {
10833
+ const styles$j = {
10398
10834
  row: row$3,
10399
10835
  badge: badge$1
10400
10836
  };
@@ -10402,9 +10838,9 @@ function PdpBadges({ badges: badges2 }) {
10402
10838
  const flags = badges2.filter((b) => b.trim().length > 0);
10403
10839
  if (flags.length === 0) return null;
10404
10840
  return jsx("ul", {
10405
- className: styles$k.row,
10841
+ className: styles$j.row,
10406
10842
  children: flags.map((flag) => jsx("li", {
10407
- className: styles$k.badge,
10843
+ className: styles$j.badge,
10408
10844
  children: flag
10409
10845
  }, flag))
10410
10846
  });
@@ -10415,7 +10851,7 @@ const thumb = "_thumb_1m6o7_7";
10415
10851
  const main = "_main_1m6o7_34";
10416
10852
  const image$5 = "_image_1m6o7_44";
10417
10853
  const badges = "_badges_1m6o7_49";
10418
- const styles$j = {
10854
+ const styles$i = {
10419
10855
  gallery,
10420
10856
  thumbs,
10421
10857
  thumb,
@@ -10432,14 +10868,14 @@ function DesktopGallery({ media: media2, alt, badges: badges2, focus }) {
10432
10868
  }, [mediaKey, focus, media2.length]);
10433
10869
  const shown = media2[active] ?? media2[0];
10434
10870
  return jsxs("div", {
10435
- className: styles$j.gallery,
10871
+ className: styles$i.gallery,
10436
10872
  children: [media2.length > 0 && jsx("div", {
10437
- className: styles$j.thumbs,
10873
+ className: styles$i.thumbs,
10438
10874
  role: "group",
10439
10875
  "aria-label": t("{0} images", alt),
10440
10876
  children: media2.map((src, i) => jsx("button", {
10441
10877
  type: "button",
10442
- className: styles$j.thumb,
10878
+ className: styles$i.thumb,
10443
10879
  "aria-pressed": i === active,
10444
10880
  "aria-label": t("Show image {0} of {1}", String(i + 1), String(media2.length)),
10445
10881
  onClick: () => setActive(i),
@@ -10448,20 +10884,20 @@ function DesktopGallery({ media: media2, alt, badges: badges2, focus }) {
10448
10884
  alt: "",
10449
10885
  fill: true,
10450
10886
  sizes: "72px",
10451
- className: styles$j.image
10887
+ className: styles$i.image
10452
10888
  })
10453
10889
  }, src))
10454
10890
  }), jsxs("div", {
10455
- className: styles$j.main,
10891
+ className: styles$i.main,
10456
10892
  children: [shown ? jsx(ShopImage, {
10457
10893
  src: shown,
10458
10894
  alt: t("{0} — image {1} of {2}", alt, String(active + 1), String(media2.length)),
10459
10895
  fill: true,
10460
10896
  sizes: "440px",
10461
- className: styles$j.image,
10897
+ className: styles$i.image,
10462
10898
  priority: true
10463
10899
  }) : null, jsx("div", {
10464
- className: styles$j.badges,
10900
+ className: styles$i.badges,
10465
10901
  children: jsx(PdpBadges, {
10466
10902
  badges: badges2
10467
10903
  })
@@ -10494,7 +10930,7 @@ const fabric = "_fabric_r4azu_328";
10494
10930
  const fabricLabel = "_fabricLabel_r4azu_336";
10495
10931
  const fabricText = "_fabricText_r4azu_344";
10496
10932
  const notes = "_notes_r4azu_355";
10497
- const styles$i = {
10933
+ const styles$h = {
10498
10934
  scrim: scrim$3,
10499
10935
  sheet: sheet$1,
10500
10936
  body: body$3,
@@ -10548,12 +10984,12 @@ function SizeGuideSheet({ guide, onClose }) {
10548
10984
  const shown = useMemo(() => authored && unit2 && unit2 !== authored ? rows.map((row2) => row2.map((cell) => convert(cell, authored, unit2))) : rows, [rows, authored, unit2]);
10549
10985
  useModalDialog(true, onClose, sheetRef);
10550
10986
  return jsx("div", {
10551
- className: styles$i.scrim,
10987
+ className: styles$h.scrim,
10552
10988
  onClick: onClose,
10553
10989
  children: jsxs(ShopSurface, {
10554
10990
  tone: "light",
10555
10991
  ref: sheetRef,
10556
- className: styles$i.sheet,
10992
+ className: styles$h.sheet,
10557
10993
  role: "dialog",
10558
10994
  "aria-modal": "true",
10559
10995
  "aria-labelledby": "size-guide-title",
@@ -10562,36 +10998,36 @@ function SizeGuideSheet({ guide, onClose }) {
10562
10998
  onClose,
10563
10999
  closeLabel: t("Close size guide")
10564
11000
  }), jsxs("div", {
10565
- className: styles$i.body,
11001
+ className: styles$h.body,
10566
11002
  children: [jsxs("div", {
10567
- className: styles$i.titles,
11003
+ className: styles$h.titles,
10568
11004
  children: [jsx("h2", {
10569
11005
  id: "size-guide-title",
10570
- className: styles$i.title,
11006
+ className: styles$h.title,
10571
11007
  children: guide.title
10572
11008
  }), guide.subtitle && jsx("p", {
10573
- className: styles$i.subtitle,
11009
+ className: styles$h.subtitle,
10574
11010
  children: guide.subtitle
10575
11011
  })]
10576
11012
  }), hasTable && authored && unit2 && jsx("div", {
10577
- className: styles$i.units,
11013
+ className: styles$h.units,
10578
11014
  role: "radiogroup",
10579
11015
  "aria-label": t("Measurement unit"),
10580
11016
  children: [authored, otherUnit(authored)].map((u) => jsx("button", {
10581
11017
  type: "button",
10582
11018
  role: "radio",
10583
11019
  "aria-checked": u === unit2,
10584
- className: `${styles$i.unit} ${u === unit2 ? styles$i.unitOn : styles$i.unitOff}`,
11020
+ className: `${styles$h.unit} ${u === unit2 ? styles$h.unitOn : styles$h.unitOff}`,
10585
11021
  onClick: () => setUnit(u),
10586
11022
  children: UNIT_LABEL[u]
10587
11023
  }, u))
10588
11024
  }), hasTable && jsx("div", {
10589
- className: styles$i.tableWrap,
11025
+ className: styles$h.tableWrap,
10590
11026
  children: jsxs("table", {
10591
- className: styles$i.table,
11027
+ className: styles$h.table,
10592
11028
  children: [jsx("colgroup", {
10593
11029
  children: columns.map((c, i) => jsx("col", {
10594
- className: i === 0 || i === columns.length - 1 ? styles$i.colEdge : styles$i.col
11030
+ className: i === 0 || i === columns.length - 1 ? styles$h.colEdge : styles$h.col
10595
11031
  }, c))
10596
11032
  }), jsx("thead", {
10597
11033
  children: jsx("tr", {
@@ -10612,39 +11048,39 @@ function SizeGuideSheet({ guide, onClose }) {
10612
11048
  })]
10613
11049
  })
10614
11050
  }), guide.note && jsx("p", {
10615
- className: styles$i.note,
11051
+ className: styles$h.note,
10616
11052
  children: guide.note
10617
11053
  }), measurements.length > 0 && jsxs("section", {
10618
- className: styles$i.how,
11054
+ className: styles$h.how,
10619
11055
  "aria-labelledby": "size-guide-how",
10620
11056
  children: [jsx("h3", {
10621
11057
  id: "size-guide-how",
10622
- className: styles$i.howTitle,
11058
+ className: styles$h.howTitle,
10623
11059
  children: t("How to measure")
10624
11060
  }), jsx("dl", {
10625
- className: styles$i.howList,
11061
+ className: styles$h.howList,
10626
11062
  children: measurements.map((m) => jsxs("div", {
10627
- className: styles$i.howItem,
11063
+ className: styles$h.howItem,
10628
11064
  children: [jsx("dt", {
10629
- className: styles$i.howLabel,
11065
+ className: styles$h.howLabel,
10630
11066
  children: m.label
10631
11067
  }), jsx("dd", {
10632
- className: styles$i.howText,
11068
+ className: styles$h.howText,
10633
11069
  children: m.description
10634
11070
  })]
10635
11071
  }, m.label))
10636
11072
  })]
10637
11073
  }), guide.fabric && jsxs("div", {
10638
- className: styles$i.fabric,
11074
+ className: styles$h.fabric,
10639
11075
  children: [jsx("p", {
10640
- className: styles$i.fabricLabel,
11076
+ className: styles$h.fabricLabel,
10641
11077
  children: t("Fabric")
10642
11078
  }), jsx("p", {
10643
- className: styles$i.fabricText,
11079
+ className: styles$h.fabricText,
10644
11080
  children: guide.fabric
10645
11081
  })]
10646
11082
  }), notes2.length > 0 && jsx("ul", {
10647
- className: styles$i.notes,
11083
+ className: styles$h.notes,
10648
11084
  children: notes2.map((n) => jsx("li", {
10649
11085
  children: n
10650
11086
  }, n))
@@ -10653,18 +11089,18 @@ function SizeGuideSheet({ guide, onClose }) {
10653
11089
  })
10654
11090
  });
10655
11091
  }
10656
- const root$2 = "_root_1q3xe_1";
10657
- const header$3 = "_header_1q3xe_11";
10658
- const title$9 = "_title_1q3xe_18";
10659
- const chips = "_chips_1q3xe_26";
10660
- const chip = "_chip_1q3xe_26";
10661
- const selected$2 = "_selected_1q3xe_50";
10662
- const disabled$1 = "_disabled_1q3xe_62";
10663
- const lowStock = "_lowStock_1q3xe_74";
10664
- const error = "_error_1q3xe_84";
10665
- const sizeGuide = "_sizeGuide_1q3xe_91";
10666
- const info = "_info_1q3xe_115";
10667
- const styles$h = {
11092
+ const root$2 = "_root_u44hz_1";
11093
+ const header$3 = "_header_u44hz_11";
11094
+ const title$9 = "_title_u44hz_18";
11095
+ const chips = "_chips_u44hz_26";
11096
+ const chip = "_chip_u44hz_26";
11097
+ const selected$2 = "_selected_u44hz_50";
11098
+ const disabled$1 = "_disabled_u44hz_62";
11099
+ const lowStock = "_lowStock_u44hz_74";
11100
+ const error = "_error_u44hz_84";
11101
+ const sizeGuide = "_sizeGuide_u44hz_93";
11102
+ const info = "_info_u44hz_117";
11103
+ const styles$g = {
10668
11104
  root: root$2,
10669
11105
  header: header$3,
10670
11106
  title: title$9,
@@ -10682,22 +11118,22 @@ function SizeSelector({ sizes: sizes2, selected: selected2, onSelect, error: err
10682
11118
  const [guideOpen, setGuideOpen] = useState(false);
10683
11119
  const showGuide = useShopFeatures().sizeCharts && guide !== void 0;
10684
11120
  return jsxs("section", {
10685
- className: styles$h.root,
11121
+ className: styles$g.root,
10686
11122
  "aria-labelledby": "size-heading",
10687
11123
  children: [jsxs("div", {
10688
- className: styles$h.header,
11124
+ className: styles$g.header,
10689
11125
  children: [jsx("h2", {
10690
11126
  id: "size-heading",
10691
- className: styles$h.title,
11127
+ className: styles$g.title,
10692
11128
  children: t("Size")
10693
11129
  }), showGuide && jsxs("button", {
10694
11130
  type: "button",
10695
- className: styles$h.sizeGuide,
11131
+ className: styles$g.sizeGuide,
10696
11132
  onClick: () => setGuideOpen(true),
10697
11133
  "aria-haspopup": "dialog",
10698
11134
  "aria-expanded": guideOpen,
10699
11135
  children: [t("Size guide"), jsxs("svg", {
10700
- className: styles$h.info,
11136
+ className: styles$g.info,
10701
11137
  width: "12",
10702
11138
  height: "12",
10703
11139
  viewBox: "0 0 12 12",
@@ -10723,7 +11159,7 @@ function SizeSelector({ sizes: sizes2, selected: selected2, onSelect, error: err
10723
11159
  })]
10724
11160
  })]
10725
11161
  }), jsx("div", {
10726
- className: styles$h.chips,
11162
+ className: styles$g.chips,
10727
11163
  role: "radiogroup",
10728
11164
  "aria-label": t("Size"),
10729
11165
  "aria-required": "true",
@@ -10736,7 +11172,7 @@ function SizeSelector({ sizes: sizes2, selected: selected2, onSelect, error: err
10736
11172
  "aria-checked": isSelected,
10737
11173
  "aria-disabled": disabled2 || void 0,
10738
11174
  disabled: disabled2,
10739
- className: [styles$h.chip, isSelected ? styles$h.selected : "", disabled2 ? styles$h.disabled : ""].filter(Boolean).join(" "),
11175
+ className: [styles$g.chip, isSelected ? styles$g.selected : "", disabled2 ? styles$g.disabled : ""].filter(Boolean).join(" "),
10740
11176
  onClick: () => !disabled2 && onSelect(size.value),
10741
11177
  children: [size.value, disabled2 && jsx("span", {
10742
11178
  className: "visually-hidden",
@@ -10745,11 +11181,11 @@ function SizeSelector({ sizes: sizes2, selected: selected2, onSelect, error: err
10745
11181
  }, size.value);
10746
11182
  })
10747
11183
  }), error2 && jsx("p", {
10748
- className: styles$h.error,
11184
+ className: styles$g.error,
10749
11185
  role: "alert",
10750
11186
  children: t("Please select a size")
10751
11187
  }), lowStock2 && !error2 && jsx("p", {
10752
- className: styles$h.lowStock,
11188
+ className: styles$g.lowStock,
10753
11189
  role: "status",
10754
11190
  children: lowStock2
10755
11191
  }), showGuide && guideOpen && jsx(SizeGuideSheet, {
@@ -10770,7 +11206,7 @@ const image$4 = "_image_1h4ny_64";
10770
11206
  const placeholder = "_placeholder_1h4ny_68";
10771
11207
  const scrim$2 = "_scrim_1h4ny_76";
10772
11208
  const stockBadge = "_stockBadge_1h4ny_95";
10773
- const styles$g = {
11209
+ const styles$f = {
10774
11210
  root: root$1,
10775
11211
  header: header$2,
10776
11212
  title: title$8,
@@ -10787,20 +11223,20 @@ const styles$g = {
10787
11223
  function ColorSelector({ colours, selected: selected2, onSelect }) {
10788
11224
  const t = useT();
10789
11225
  return jsxs("section", {
10790
- className: styles$g.root,
11226
+ className: styles$f.root,
10791
11227
  "aria-labelledby": "colour-heading",
10792
11228
  children: [jsxs("p", {
10793
- className: styles$g.header,
11229
+ className: styles$f.header,
10794
11230
  children: [jsx("span", {
10795
11231
  id: "colour-heading",
10796
- className: styles$g.title,
11232
+ className: styles$f.title,
10797
11233
  children: "Color:"
10798
11234
  }), " ", jsx("span", {
10799
- className: styles$g.value,
11235
+ className: styles$f.value,
10800
11236
  children: selected2 ?? "Select"
10801
11237
  })]
10802
11238
  }), jsx("div", {
10803
- className: styles$g.tiles,
11239
+ className: styles$f.tiles,
10804
11240
  role: "radiogroup",
10805
11241
  "aria-label": t("Color"),
10806
11242
  "aria-required": "true",
@@ -10813,26 +11249,26 @@ function ColorSelector({ colours, selected: selected2, onSelect }) {
10813
11249
  role: "radio",
10814
11250
  "aria-checked": isSelected,
10815
11251
  "aria-label": `${c.value}${soldOut ? " (out of stock)" : ""}`,
10816
- className: [styles$g.tile, isSelected ? styles$g.selected : ""].filter(Boolean).join(" "),
11252
+ className: [styles$f.tile, isSelected ? styles$f.selected : ""].filter(Boolean).join(" "),
10817
11253
  onClick: () => onSelect(c.value),
10818
11254
  children: [jsxs("span", {
10819
- className: styles$g.media,
11255
+ className: styles$f.media,
10820
11256
  children: [c.image ? jsx(ShopImage, {
10821
11257
  src: c.image,
10822
11258
  alt: "",
10823
11259
  fill: true,
10824
11260
  sizes: "79px",
10825
- className: styles$g.image
11261
+ className: styles$f.image
10826
11262
  }) : jsx("span", {
10827
- className: styles$g.placeholder,
11263
+ className: styles$f.placeholder,
10828
11264
  "aria-hidden": "true"
10829
11265
  }), soldOut && jsx("span", {
10830
- className: styles$g.scrim,
11266
+ className: styles$f.scrim,
10831
11267
  "aria-hidden": "true",
10832
11268
  children: t("Out of stock")
10833
11269
  })]
10834
11270
  }), lowStock2 && jsx("span", {
10835
- className: styles$g.stockBadge,
11271
+ className: styles$f.stockBadge,
10836
11272
  "aria-hidden": "true",
10837
11273
  children: t("{0} left", c.remaining)
10838
11274
  })]
@@ -10847,7 +11283,7 @@ const options = "_options_1mnz1_16";
10847
11283
  const option = "_option_1mnz1_16";
10848
11284
  const selected = "_selected_1mnz1_36";
10849
11285
  const disabled = "_disabled_1mnz1_42";
10850
- const styles$f = {
11286
+ const styles$e = {
10851
11287
  fieldset,
10852
11288
  legend,
10853
11289
  options,
@@ -10865,12 +11301,12 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
10865
11301
  return values.length > 0 ? values.join(" · ") : variant.sku;
10866
11302
  }
10867
11303
  return jsxs("fieldset", {
10868
- className: styles$f.fieldset,
11304
+ className: styles$e.fieldset,
10869
11305
  children: [jsx("legend", {
10870
- className: styles$f.legend,
11306
+ className: styles$e.legend,
10871
11307
  children: t("Select an option")
10872
11308
  }), jsx("div", {
10873
- className: styles$f.options,
11309
+ className: styles$e.options,
10874
11310
  role: "radiogroup",
10875
11311
  "aria-label": t("Variant"),
10876
11312
  children: variants.map((variant) => {
@@ -10882,7 +11318,7 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
10882
11318
  "aria-checked": selected2,
10883
11319
  "aria-disabled": disabled2 || void 0,
10884
11320
  disabled: disabled2,
10885
- className: [styles$f.option, selected2 ? styles$f.selected : "", disabled2 ? styles$f.disabled : ""].filter(Boolean).join(" "),
11321
+ className: [styles$e.option, selected2 ? styles$e.selected : "", disabled2 ? styles$e.disabled : ""].filter(Boolean).join(" "),
10886
11322
  onClick: () => !disabled2 && onSelect(variant.sku),
10887
11323
  children: [labelFor2(variant), disabled2 && jsx("span", {
10888
11324
  className: "visually-hidden",
@@ -10893,14 +11329,14 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
10893
11329
  })]
10894
11330
  });
10895
11331
  }
10896
- const root = "_root_9cj0g_2";
10897
- const group = "_group_9cj0g_8";
10898
- const title$7 = "_title_9cj0g_14";
10899
- const body$2 = "_body_9cj0g_22";
10900
- const paragraph = "_paragraph_9cj0g_26";
10901
- const clamped = "_clamped_9cj0g_46";
10902
- const toggle = "_toggle_9cj0g_51";
10903
- const styles$e = {
11332
+ const root = "_root_1gy1f_2";
11333
+ const group = "_group_1gy1f_8";
11334
+ const title$7 = "_title_1gy1f_14";
11335
+ const body$2 = "_body_1gy1f_22";
11336
+ const paragraph = "_paragraph_1gy1f_26";
11337
+ const clamped = "_clamped_1gy1f_46";
11338
+ const toggle = "_toggle_1gy1f_58";
11339
+ const styles$d = {
10904
11340
  root,
10905
11341
  group,
10906
11342
  title: title$7,
@@ -10921,7 +11357,11 @@ function ProductDetails({ description: description2 }) {
10921
11357
  if (expanded) return;
10922
11358
  const el = bodyRef.current;
10923
11359
  if (!el) return;
10924
- const measure = () => setClipped(el.scrollHeight - el.clientHeight > 1);
11360
+ const measure = () => {
11361
+ const first = el.firstElementChild;
11362
+ const firstClipped = first ? first.scrollHeight - first.clientHeight > 1 : false;
11363
+ setClipped(firstClipped || el.scrollHeight - el.clientHeight > 1);
11364
+ };
10925
11365
  measure();
10926
11366
  const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
10927
11367
  observer?.observe(el);
@@ -10938,25 +11378,25 @@ function ProductDetails({ description: description2 }) {
10938
11378
  const t = useT();
10939
11379
  if (paragraphs.length === 0) return null;
10940
11380
  return jsxs("section", {
10941
- className: styles$e.root,
11381
+ className: styles$d.root,
10942
11382
  "aria-labelledby": "details-heading",
10943
11383
  children: [jsxs("div", {
10944
- className: styles$e.group,
11384
+ className: styles$d.group,
10945
11385
  children: [jsx("h2", {
10946
11386
  id: "details-heading",
10947
- className: styles$e.title,
11387
+ className: styles$d.title,
10948
11388
  children: t("Product details")
10949
11389
  }), jsx("div", {
10950
11390
  ref: bodyRef,
10951
- className: [styles$e.body, expanded ? "" : styles$e.clamped].join(" "),
11391
+ className: [styles$d.body, expanded ? "" : styles$d.clamped].join(" "),
10952
11392
  children: paragraphs.map((p) => jsx("p", {
10953
- className: styles$e.paragraph,
11393
+ className: styles$d.paragraph,
10954
11394
  children: p
10955
11395
  }, p))
10956
11396
  })]
10957
11397
  }), clipped ? jsx("button", {
10958
11398
  type: "button",
10959
- className: styles$e.toggle,
11399
+ className: styles$d.toggle,
10960
11400
  "aria-expanded": expanded,
10961
11401
  onClick: () => setExpanded((v) => !v),
10962
11402
  children: expanded ? t("Less") : t("more")
@@ -10967,7 +11407,7 @@ const banner = "_banner_1xvw4_2";
10967
11407
  const message = "_message_1xvw4_14";
10968
11408
  const icon$1 = "_icon_1xvw4_22";
10969
11409
  const timer = "_timer_1xvw4_27";
10970
- const styles$d = {
11410
+ const styles$c = {
10971
11411
  banner,
10972
11412
  message,
10973
11413
  icon: icon$1,
@@ -10991,11 +11431,11 @@ function PromoBanner({ promo: promo2 }) {
10991
11431
  const remaining = promo2.ends_at && now !== null ? new Date(promo2.ends_at).getTime() - now : null;
10992
11432
  const showTimer = remaining !== null && remaining > 0;
10993
11433
  return jsxs("div", {
10994
- className: styles$d.banner,
11434
+ className: styles$c.banner,
10995
11435
  children: [jsxs("span", {
10996
- className: styles$d.message,
11436
+ className: styles$c.message,
10997
11437
  children: [jsxs("svg", {
10998
- className: styles$d.icon,
11438
+ className: styles$c.icon,
10999
11439
  width: "24",
11000
11440
  height: "24",
11001
11441
  viewBox: "0 0 24 24",
@@ -11017,7 +11457,7 @@ function PromoBanner({ promo: promo2 }) {
11017
11457
  })]
11018
11458
  }), promo2.message]
11019
11459
  }), showTimer && jsxs("span", {
11020
- className: styles$d.timer,
11460
+ className: styles$c.timer,
11021
11461
  children: [jsxs("svg", {
11022
11462
  width: "16",
11023
11463
  height: "16",
@@ -11051,14 +11491,14 @@ const availability = "_availability_1479k_55";
11051
11491
  const low = "_low_1479k_62";
11052
11492
  const oos = "_oos_1479k_66";
11053
11493
  const breadcrumb = "_breadcrumb_1479k_70";
11054
- const help$1 = "_help_1479k_71";
11494
+ const help = "_help_1479k_71";
11055
11495
  const desktopGallery = "_desktopGallery_1479k_72";
11056
11496
  const wide = "_wide_1479k_77";
11057
11497
  const phoneGallery = "_phoneGallery_1479k_101";
11058
11498
  const introBadges = "_introBadges_1479k_115";
11059
11499
  const sizes = "_sizes_1479k_119";
11060
11500
  const cta$2 = "_cta_1479k_123";
11061
- const styles$c = {
11501
+ const styles$b = {
11062
11502
  page,
11063
11503
  content,
11064
11504
  intro,
@@ -11069,7 +11509,7 @@ const styles$c = {
11069
11509
  low,
11070
11510
  oos,
11071
11511
  breadcrumb,
11072
- help: help$1,
11512
+ help,
11073
11513
  desktopGallery,
11074
11514
  wide,
11075
11515
  phoneGallery,
@@ -11305,15 +11745,15 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11305
11745
  return jsxs(ShopSurface, {
11306
11746
  tone: "light",
11307
11747
  fill: true,
11308
- className: [styles$c.page, claim ? styles$c.wide : ""].join(" "),
11748
+ className: [styles$b.page, claim ? styles$b.wide : ""].join(" "),
11309
11749
  ...claim ? {
11310
11750
  "data-shop-layout": "wide"
11311
11751
  } : {},
11312
11752
  children: [breadcrumb2 && jsx("div", {
11313
- className: styles$c.breadcrumb,
11753
+ className: styles$b.breadcrumb,
11314
11754
  children: breadcrumb2
11315
11755
  }), jsx("div", {
11316
- className: styles$c.phoneGallery,
11756
+ className: styles$b.phoneGallery,
11317
11757
  children: jsx(MediaGallery, {
11318
11758
  media: media2,
11319
11759
  alt: product.title,
@@ -11322,7 +11762,7 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11322
11762
  } : {}
11323
11763
  })
11324
11764
  }), claim && jsx("div", {
11325
- className: styles$c.desktopGallery,
11765
+ className: styles$b.desktopGallery,
11326
11766
  children: jsx(DesktopGallery, {
11327
11767
  media: media2,
11328
11768
  alt: product.title,
@@ -11332,20 +11772,20 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11332
11772
  } : {}
11333
11773
  })
11334
11774
  }), jsxs("div", {
11335
- className: styles$c.content,
11775
+ className: styles$b.content,
11336
11776
  children: [jsxs("div", {
11337
- className: styles$c.intro,
11777
+ className: styles$b.intro,
11338
11778
  children: [jsx("div", {
11339
- className: styles$c.introBadges,
11779
+ className: styles$b.introBadges,
11340
11780
  children: jsx(PdpBadges, {
11341
11781
  badges: product.badges ?? []
11342
11782
  })
11343
11783
  }), jsxs("div", {
11344
- className: styles$c.productInfo,
11784
+ className: styles$b.productInfo,
11345
11785
  children: [jsxs("div", {
11346
- className: styles$c.titlePrice,
11786
+ className: styles$b.titlePrice,
11347
11787
  children: [jsx("h1", {
11348
- className: styles$c.title,
11788
+ className: styles$b.title,
11349
11789
  children: product.title
11350
11790
  }), jsx(PriceBlock, {
11351
11791
  price: claim ? {
@@ -11362,7 +11802,7 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11362
11802
  })]
11363
11803
  })]
11364
11804
  }), stockNotice && jsx("p", {
11365
- className: [styles$c.availability, anyInStock ? styles$c.low : styles$c.oos].join(" "),
11805
+ className: [styles$b.availability, anyInStock ? styles$b.low : styles$b.oos].join(" "),
11366
11806
  role: "status",
11367
11807
  children: availabilityLabel
11368
11808
  }), hasColours && jsx("div", {
@@ -11374,7 +11814,7 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11374
11814
  })
11375
11815
  }), hasSizes && jsx("div", {
11376
11816
  ref: sizeRef,
11377
- className: styles$c.sizes,
11817
+ className: styles$b.sizes,
11378
11818
  children: jsx(SizeSelector, {
11379
11819
  sizes: sizes2,
11380
11820
  selected: selectedSize,
@@ -11397,10 +11837,10 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [], c
11397
11837
  inset: true
11398
11838
  })]
11399
11839
  }), jsx(StickyCtaBar, {
11400
- className: styles$c.cta,
11840
+ className: styles$b.cta,
11401
11841
  children: cta2
11402
11842
  }), help2 && jsx("div", {
11403
- className: styles$c.help,
11843
+ className: styles$b.help,
11404
11844
  children: help2
11405
11845
  })]
11406
11846
  });
@@ -11413,7 +11853,7 @@ const text$3 = "_text_1tiqx_108";
11413
11853
  const title$5 = "_title_1tiqx_157";
11414
11854
  const subtitle$2 = "_subtitle_1tiqx_168";
11415
11855
  const noImage = "_noImage_1tiqx_183";
11416
- const styles$b = {
11856
+ const styles$a = {
11417
11857
  hero: hero$2,
11418
11858
  image: image$3,
11419
11859
  scrim: scrim$1,
@@ -11429,10 +11869,10 @@ function PcpHero({ hero: hero2 }) {
11429
11869
  const t = useT();
11430
11870
  return jsxs("section", {
11431
11871
  ref: heroRef,
11432
- className: [styles$b.hero, hero2.image ? "" : styles$b.noImage].join(" "),
11872
+ className: [styles$a.hero, hero2.image ? "" : styles$a.noImage].join(" "),
11433
11873
  children: [hero2.image && jsxs(Fragment, {
11434
11874
  children: [jsx("div", {
11435
- className: styles$b.image,
11875
+ className: styles$a.image,
11436
11876
  children: jsx(ShopImage, {
11437
11877
  src: hero2.image,
11438
11878
  alt: "",
@@ -11441,19 +11881,19 @@ function PcpHero({ hero: hero2 }) {
11441
11881
  priority: true
11442
11882
  })
11443
11883
  }), jsx("div", {
11444
- className: styles$b.scrim,
11884
+ className: styles$a.scrim,
11445
11885
  "aria-hidden": "true"
11446
11886
  }), jsx("div", {
11447
- className: styles$b.fade,
11887
+ className: styles$a.fade,
11448
11888
  "aria-hidden": "true"
11449
11889
  })]
11450
11890
  }), jsxs("div", {
11451
- className: styles$b.text,
11891
+ className: styles$a.text,
11452
11892
  children: [jsx("h1", {
11453
- className: styles$b.title,
11893
+ className: styles$a.title,
11454
11894
  children: t(hero2.title)
11455
11895
  }), hero2.subtitle && jsx("p", {
11456
- className: styles$b.subtitle,
11896
+ className: styles$a.subtitle,
11457
11897
  children: t(hero2.subtitle)
11458
11898
  })]
11459
11899
  })]
@@ -11462,14 +11902,14 @@ function PcpHero({ hero: hero2 }) {
11462
11902
  const text$2 = "_text_1saw4_6";
11463
11903
  const center = "_center_1saw4_18";
11464
11904
  const left = "_left_1saw4_23";
11465
- const styles$a = {
11905
+ const styles$9 = {
11466
11906
  text: text$2,
11467
11907
  center,
11468
11908
  left
11469
11909
  };
11470
11910
  function LifestyleText({ text: text2, align = "center" }) {
11471
11911
  return jsx("p", {
11472
- className: [styles$a.text, align === "left" ? styles$a.left : styles$a.center].join(" "),
11912
+ className: [styles$9.text, align === "left" ? styles$9.left : styles$9.center].join(" "),
11473
11913
  children: text2
11474
11914
  });
11475
11915
  }
@@ -11481,7 +11921,7 @@ const image$2 = "_image_79nr3_46";
11481
11921
  const dots$1 = "_dots_79nr3_51";
11482
11922
  const dot$1 = "_dot_79nr3_51";
11483
11923
  const dotActive$1 = "_dotActive_79nr3_76";
11484
- const styles$9 = {
11924
+ const styles$8 = {
11485
11925
  wrap,
11486
11926
  box,
11487
11927
  track: track$1,
@@ -11505,36 +11945,36 @@ function LifestyleImage({ images, videos }) {
11505
11945
  }, []);
11506
11946
  if (images.length === 0) return null;
11507
11947
  return jsx("div", {
11508
- className: styles$9.wrap,
11948
+ className: styles$8.wrap,
11509
11949
  children: jsxs("div", {
11510
- className: styles$9.box,
11950
+ className: styles$8.box,
11511
11951
  children: [jsx("ul", {
11512
- className: styles$9.track,
11952
+ className: styles$8.track,
11513
11953
  ref: trackRef,
11514
11954
  children: images.map((src, i) => {
11515
11955
  const clip = videos?.[i];
11516
11956
  return jsx("li", {
11517
- className: styles$9.slide,
11957
+ className: styles$8.slide,
11518
11958
  children: clip ? jsx(ShopVideo, {
11519
11959
  src: clip,
11520
11960
  poster: src,
11521
11961
  fill: true,
11522
- className: styles$9.image
11962
+ className: styles$8.image
11523
11963
  }) : jsx(ShopImage, {
11524
11964
  src,
11525
11965
  alt: "",
11526
11966
  fill: true,
11527
11967
  sizes: "(max-width: 480px) 100vw, 480px",
11528
- className: styles$9.image,
11968
+ className: styles$8.image,
11529
11969
  priority: i === 0
11530
11970
  })
11531
11971
  }, src);
11532
11972
  })
11533
11973
  }), images.length > 1 && jsx("div", {
11534
- className: styles$9.dots,
11974
+ className: styles$8.dots,
11535
11975
  "aria-hidden": "true",
11536
11976
  children: images.map((src, i) => jsx("span", {
11537
- className: [styles$9.dot, i === active ? styles$9.dotActive : ""].join(" ")
11977
+ className: [styles$8.dot, i === active ? styles$8.dotActive : ""].join(" ")
11538
11978
  }, src))
11539
11979
  })]
11540
11980
  })
@@ -11548,7 +11988,7 @@ const author = "_author_qsxtq_58";
11548
11988
  const dots = "_dots_qsxtq_69";
11549
11989
  const dot = "_dot_qsxtq_69";
11550
11990
  const dotActive = "_dotActive_qsxtq_85";
11551
- const styles$8 = {
11991
+ const styles$7 = {
11552
11992
  section: section$2,
11553
11993
  track,
11554
11994
  card,
@@ -11572,26 +12012,26 @@ function ReviewCarousel({ quotes }) {
11572
12012
  return () => track2.removeEventListener("scroll", onScroll);
11573
12013
  }, []);
11574
12014
  return jsxs("section", {
11575
- className: styles$8.section,
12015
+ className: styles$7.section,
11576
12016
  "aria-label": t("Reviews"),
11577
12017
  children: [jsx("ul", {
11578
- className: styles$8.track,
12018
+ className: styles$7.track,
11579
12019
  ref: trackRef,
11580
12020
  children: quotes.map((q, i) => jsxs("li", {
11581
- className: styles$8.card,
12021
+ className: styles$7.card,
11582
12022
  children: [jsxs("blockquote", {
11583
- className: styles$8.quote,
12023
+ className: styles$7.quote,
11584
12024
  children: ["“", q.quote, "”"]
11585
12025
  }), jsx("p", {
11586
- className: styles$8.author,
12026
+ className: styles$7.author,
11587
12027
  children: q.author
11588
12028
  })]
11589
12029
  }, i))
11590
12030
  }), quotes.length > 1 && jsx("div", {
11591
- className: styles$8.dots,
12031
+ className: styles$7.dots,
11592
12032
  "aria-hidden": "true",
11593
12033
  children: quotes.map((_, i) => jsx("span", {
11594
- className: [styles$8.dot, i === active ? styles$8.dotActive : ""].join(" ")
12034
+ className: [styles$7.dot, i === active ? styles$7.dotActive : ""].join(" ")
11595
12035
  }, i))
11596
12036
  })]
11597
12037
  });
@@ -11600,7 +12040,7 @@ const section$1 = "_section_1nrsi_1";
11600
12040
  const row$2 = "_row_1nrsi_9";
11601
12041
  const title$4 = "_title_1nrsi_20";
11602
12042
  const body$1 = "_body_1nrsi_43";
11603
- const styles$7 = {
12043
+ const styles$6 = {
11604
12044
  section: section$1,
11605
12045
  row: row$2,
11606
12046
  title: title$4,
@@ -11609,15 +12049,15 @@ const styles$7 = {
11609
12049
  function WhyUs({ items: items2 }) {
11610
12050
  const t = useT();
11611
12051
  return jsx("section", {
11612
- className: styles$7.section,
12052
+ className: styles$6.section,
11613
12053
  "aria-label": t("Why shop with us"),
11614
12054
  children: items2.map((it, i) => jsxs("div", {
11615
- className: styles$7.row,
12055
+ className: styles$6.row,
11616
12056
  children: [jsx("p", {
11617
- className: styles$7.title,
12057
+ className: styles$6.title,
11618
12058
  children: it.title
11619
12059
  }), jsx("p", {
11620
- className: styles$7.body,
12060
+ className: styles$6.body,
11621
12061
  children: it.body
11622
12062
  })]
11623
12063
  }, i))
@@ -11627,7 +12067,7 @@ const section = "_section_snuuj_1";
11627
12067
  const title$3 = "_title_snuuj_10";
11628
12068
  const list$1 = "_list_snuuj_17";
11629
12069
  const row$1 = "_row_snuuj_32";
11630
- const styles$6 = {
12070
+ const styles$5 = {
11631
12071
  section,
11632
12072
  title: title$3,
11633
12073
  list: list$1,
@@ -11636,17 +12076,17 @@ const styles$6 = {
11636
12076
  function ExploreList({ title: title2, links }) {
11637
12077
  const t = useT();
11638
12078
  return jsxs("section", {
11639
- className: styles$6.section,
12079
+ className: styles$5.section,
11640
12080
  "aria-label": title2,
11641
12081
  children: [jsx("h2", {
11642
- className: styles$6.title,
12082
+ className: styles$5.title,
11643
12083
  children: title2
11644
12084
  }), jsx("ul", {
11645
- className: styles$6.list,
12085
+ className: styles$5.list,
11646
12086
  children: links.map((l) => jsx("li", {
11647
12087
  children: jsxs(ShopLink, {
11648
12088
  to: `/category/${encodeURIComponent(l.code)}`,
11649
- className: styles$6.row,
12089
+ className: styles$5.row,
11650
12090
  children: [jsx("span", {
11651
12091
  children: t(l.label)
11652
12092
  }), jsx("svg", {
@@ -11674,7 +12114,7 @@ const featured = "_featured_1kft8_36";
11674
12114
  const gridBlock = "_gridBlock_1kft8_37";
11675
12115
  const blockTitle = "_blockTitle_1kft8_44";
11676
12116
  const grid = "_grid_1kft8_37";
11677
- const styles$5 = {
12117
+ const styles$4 = {
11678
12118
  pcp,
11679
12119
  blocks,
11680
12120
  featured,
@@ -11697,9 +12137,9 @@ function Block({ block }) {
11697
12137
  });
11698
12138
  case "featured":
11699
12139
  return jsxs("div", {
11700
- className: styles$5.featured,
12140
+ className: styles$4.featured,
11701
12141
  children: [block.title && jsx("h2", {
11702
- className: styles$5.blockTitle,
12142
+ className: styles$4.blockTitle,
11703
12143
  children: t(block.title)
11704
12144
  }), jsx(ProductTile, {
11705
12145
  product: block.product,
@@ -11719,12 +12159,12 @@ function Block({ block }) {
11719
12159
  });
11720
12160
  case "grid":
11721
12161
  return jsxs("div", {
11722
- className: styles$5.gridBlock,
12162
+ className: styles$4.gridBlock,
11723
12163
  children: [block.title && jsx("h2", {
11724
- className: styles$5.blockTitle,
12164
+ className: styles$4.blockTitle,
11725
12165
  children: t(block.title)
11726
12166
  }), jsx("ul", {
11727
- className: styles$5.grid,
12167
+ className: styles$4.grid,
11728
12168
  children: block.products.map((p) => jsx("li", {
11729
12169
  children: jsx(ProductTile, {
11730
12170
  product: p
@@ -11753,11 +12193,11 @@ function CategoryContent({ page: page2 }) {
11753
12193
  return jsxs(ShopSurface, {
11754
12194
  tone: "dark",
11755
12195
  fill: true,
11756
- className: styles$5.pcp,
12196
+ className: styles$4.pcp,
11757
12197
  children: [jsx(PcpHero, {
11758
12198
  hero: page2.hero
11759
12199
  }), jsx("div", {
11760
- className: styles$5.blocks,
12200
+ className: styles$4.blocks,
11761
12201
  children: page2.blocks.map((block, i) => jsx(Block, {
11762
12202
  block
11763
12203
  }, i))
@@ -11943,7 +12383,7 @@ const cta$1 = "_cta_dctyt_79";
11943
12383
  const video = "_video_dctyt_83";
11944
12384
  const desktopOnly = "_desktopOnly_dctyt_87";
11945
12385
  const phoneOnly = "_phoneOnly_dctyt_97";
11946
- const styles$4 = {
12386
+ const styles$3 = {
11947
12387
  hero: hero$1,
11948
12388
  image: image$1,
11949
12389
  foot,
@@ -11971,9 +12411,9 @@ function VipHero({ hero: hero2, onContinue }) {
11971
12411
  "data-shop-layout": "wide",
11972
12412
  children: jsxs("section", {
11973
12413
  ref,
11974
- className: styles$4.hero,
12414
+ className: styles$3.hero,
11975
12415
  children: [hero2.image && jsx("div", {
11976
- className: [styles$4.image, wide2 ? styles$4.phoneOnly : ""].join(" "),
12416
+ className: [styles$3.image, wide2 ? styles$3.phoneOnly : ""].join(" "),
11977
12417
  children: jsx(ShopImage, {
11978
12418
  src: hero2.image,
11979
12419
  alt: "",
@@ -11982,7 +12422,7 @@ function VipHero({ hero: hero2, onContinue }) {
11982
12422
  priority: true
11983
12423
  })
11984
12424
  }), wide2 && jsxs("div", {
11985
- className: [styles$4.image, styles$4.desktopOnly].join(" "),
12425
+ className: [styles$3.image, styles$3.desktopOnly].join(" "),
11986
12426
  children: [desktopImage && jsx(ShopImage, {
11987
12427
  src: desktopImage,
11988
12428
  alt: "",
@@ -11994,28 +12434,28 @@ function VipHero({ hero: hero2, onContinue }) {
11994
12434
  poster: desktopImage
11995
12435
  } : {},
11996
12436
  fill: true,
11997
- className: styles$4.video
12437
+ className: styles$3.video
11998
12438
  })]
11999
12439
  }), jsxs("div", {
12000
- className: styles$4.foot,
12440
+ className: styles$3.foot,
12001
12441
  children: [jsxs("div", {
12002
- className: styles$4.text,
12442
+ className: styles$3.text,
12003
12443
  children: [jsx("img", {
12004
12444
  src: assetUrl("/figma/home/dazn-logo.svg"),
12005
12445
  alt: t("DAZN"),
12006
- className: styles$4.logo
12446
+ className: styles$3.logo
12007
12447
  }), jsxs("div", {
12008
- className: styles$4.copy,
12448
+ className: styles$3.copy,
12009
12449
  children: [jsx("h1", {
12010
- className: styles$4.headline,
12450
+ className: styles$3.headline,
12011
12451
  children: hero2.headline
12012
12452
  }), hero2.body && jsx("p", {
12013
- className: styles$4.body,
12453
+ className: styles$3.body,
12014
12454
  children: hero2.body
12015
12455
  })]
12016
12456
  })]
12017
12457
  }), jsx("div", {
12018
- className: styles$4.cta,
12458
+ className: styles$3.cta,
12019
12459
  children: jsx(Button, {
12020
12460
  variant: "primary",
12021
12461
  fullWidth: true,
@@ -12027,81 +12467,6 @@ function VipHero({ hero: hero2, onContinue }) {
12027
12467
  })
12028
12468
  });
12029
12469
  }
12030
- function HelpIcon() {
12031
- return jsx("svg", {
12032
- width: "24",
12033
- height: "24",
12034
- viewBox: "0 0 24 24",
12035
- fill: "none",
12036
- "aria-hidden": "true",
12037
- children: jsxs("g", {
12038
- transform: "translate(1.93 1.93)",
12039
- children: [jsx("path", {
12040
- d: "M10.0781 14.1543C10.52 14.1543 10.8779 14.5123 10.8779 14.9541C10.8778 15.3958 10.5199 15.7539 10.0781 15.7539H10.0693C9.62757 15.7539 9.26963 15.3958 9.26953 14.9541C9.26953 14.5123 9.62751 14.1543 10.0693 14.1543H10.0781Z",
12041
- fill: "currentColor"
12042
- }), jsx("path", {
12043
- d: "M8.21777 4.7168C8.93457 4.29562 9.77726 4.14167 10.5967 4.28223C11.4161 4.42286 12.1599 4.84835 12.6953 5.48438C13.2303 6.12005 13.5233 6.92505 13.5225 7.75586L13.5107 8.00098C13.3992 9.19732 12.4886 10.0076 11.8057 10.4629C11.4401 10.7066 11.0785 10.8882 10.8018 11.0137V11.8223C10.8014 12.2637 10.4425 12.622 10.001 12.6221C9.55954 12.6219 9.20156 12.2637 9.20117 11.8223V10.4775C9.20117 10.1332 9.42146 9.82671 9.74805 9.71777C9.75073 9.71685 9.75671 9.71536 9.76367 9.71289C9.77824 9.70771 9.80199 9.69931 9.83301 9.6875C9.89571 9.66361 9.98896 9.62621 10.1016 9.57617C10.3291 9.47505 10.6264 9.32523 10.918 9.13086C11.5496 8.70973 11.9217 8.23795 11.9219 7.75586C11.9225 7.30239 11.7627 6.86161 11.4707 6.51465C11.1787 6.16788 10.773 5.93611 10.3262 5.85938C9.87921 5.78271 9.41933 5.86603 9.02832 6.0957C8.63742 6.32547 8.34003 6.68657 8.18945 7.11426C8.04274 7.53077 7.58557 7.74995 7.16895 7.60352C6.75252 7.45687 6.53351 7.00053 6.67969 6.58398C6.9556 5.79964 7.50096 5.1381 8.21777 4.7168Z",
12044
- fill: "currentColor"
12045
- }), jsx("path", {
12046
- fillRule: "evenodd",
12047
- clipRule: "evenodd",
12048
- d: "M10.0693 0C15.6304 0.000197913 20.1395 4.50828 20.1396 10.0693C20.1395 15.6304 15.6304 20.1395 10.0693 20.1396C4.50828 20.1395 0.000197917 15.6304 0 10.0693C0.00019791 4.50828 4.50828 0.000197906 10.0693 0ZM10.0693 2C5.61285 2.0002 2.0002 5.61285 2 10.0693C2.0002 14.5258 5.61285 18.1395 10.0693 18.1396C14.5258 18.1395 18.1395 14.5258 18.1396 10.0693C18.1395 5.61285 14.5258 2.0002 10.0693 2Z",
12049
- fill: "currentColor"
12050
- })]
12051
- })
12052
- });
12053
- }
12054
- const crumbs = "_crumbs_wl5mz_1";
12055
- const home = "_home_wl5mz_13";
12056
- const separator = "_separator_wl5mz_25";
12057
- const current = "_current_wl5mz_31";
12058
- const help = "_help_wl5mz_36";
12059
- const helpLabel = "_helpLabel_wl5mz_50";
12060
- const styles$3 = {
12061
- crumbs,
12062
- home,
12063
- separator,
12064
- current,
12065
- help,
12066
- helpLabel
12067
- };
12068
- function VipBreadcrumb({ title: title2, onHome }) {
12069
- const t = useT();
12070
- return jsx("nav", {
12071
- "aria-label": t("Breadcrumb"),
12072
- children: jsxs("ol", {
12073
- className: styles$3.crumbs,
12074
- children: [jsx("li", {
12075
- children: jsx("button", {
12076
- type: "button",
12077
- className: styles$3.home,
12078
- onClick: onHome,
12079
- children: t("Homepage")
12080
- })
12081
- }), jsx("li", {
12082
- className: styles$3.separator,
12083
- "aria-hidden": "true",
12084
- children: "›"
12085
- }), jsx("li", {
12086
- "aria-current": "page",
12087
- className: styles$3.current,
12088
- children: title2
12089
- })]
12090
- })
12091
- });
12092
- }
12093
- function VipHelpLink({ onHelp }) {
12094
- const t = useT();
12095
- return jsxs("button", {
12096
- type: "button",
12097
- className: styles$3.help,
12098
- onClick: onHelp,
12099
- children: [jsx(HelpIcon, {}), jsx("span", {
12100
- className: styles$3.helpLabel,
12101
- children: t("Need help with your order?")
12102
- })]
12103
- });
12104
- }
12105
12470
  function VipLandingView({ token, onUnavailable, onHelp }) {
12106
12471
  const t = useT();
12107
12472
  const { api, emit } = useShop();
@@ -12638,7 +13003,11 @@ function useCartCount() {
12638
13003
  const shop = useShopOptional();
12639
13004
  const api = shop?.api;
12640
13005
  const subscribe = shop?.subscribe;
12641
- const [count2, setCount] = useState(null);
13006
+ const carts = useCartCache();
13007
+ const [count2, setCount] = useState(() => {
13008
+ const seeded = carts?.get();
13009
+ return seeded ? seeded.items.reduce((n, i) => n + i.qty, 0) : null;
13010
+ });
12642
13011
  useEffect(() => {
12643
13012
  if (!api) return;
12644
13013
  let live = true;