@nok-integration/storefront-react 0.27.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4393,6 +4393,7 @@ function requireContent$1() {
4393
4393
  key: zod_1.z.string().min(1),
4394
4394
  title: zod_1.z.string().min(1),
4395
4395
  subtitle: zod_1.z.string(),
4396
+ desktop_subtitle: zod_1.z.string().min(1).optional(),
4396
4397
  cta: zod_1.z.string().min(1),
4397
4398
  target: zod_1.z.string().min(1).optional(),
4398
4399
  image: zod_1.z.string().min(1).optional(),
@@ -6530,13 +6531,21 @@ const ES = {
6530
6531
  Shop: "Tienda",
6531
6532
  "Scroll down for more": "Desplázate hacia abajo para ver más",
6532
6533
  "Limited edition": "Edición limitada",
6534
+ "Ringer Tee": "Camiseta ringer",
6535
+ "White ringer tee with DAZN chest logo": "Camiseta ringer blanca con el logo de DAZN en el pecho",
6536
+ "Boxing Hoodie": "Sudadera de boxeo",
6537
+ "The Home of Boxing back print": "Estampado The Home of Boxing en la espalda",
6538
+ "Heavyweight fits, ringside energy": "Tejido grueso, energía de ring",
6539
+ "Layer up, matchday ready": "Abrígate, listo para el partido",
6540
+ "Everyday tees, fan-first graphics": "Camisetas para cada día, gráficos para la afición",
6533
6541
  Previous: "Anterior",
6534
6542
  Next: "Siguiente",
6535
6543
  "Claim yours": "Consigue el tuyo",
6536
6544
  "Sold out": "Agotado",
6537
- "This invitation can no longer be used.": "Esta invitación ya no se puede usar.",
6538
6545
  "This invite is no longer valid": "Esta invitación ya no es válida",
6539
6546
  "It may have expired or already been used. Keep an eye on your inbox for the next drop.": "Puede que haya caducado o que ya se haya usado. Estate atento a tu bandeja de entrada para el próximo lanzamiento.",
6547
+ "This invite isn't open yet": "Esta invitación aún no está abierta",
6548
+ "This invite opens on {0}. Come back then to claim your item.": "Esta invitación se abrirá el {0}. Vuelve entonces para conseguir tu artículo.",
6540
6549
  "Explore DAZN": "Explorar DAZN",
6541
6550
  "Your basket has other items": "Tu cesta tiene otros artículos",
6542
6551
  "Empty your basket to claim this item.": "Vacía tu cesta para conseguir este artículo.",
@@ -9571,7 +9580,7 @@ const date = "_date_cm0rd_115";
9571
9580
  const bottom$1 = "_bottom_cm0rd_120";
9572
9581
  const strip = "_strip_cm0rd_128";
9573
9582
  const meta$1 = "_meta_cm0rd_141";
9574
- const tile$3 = "_tile_cm0rd_150";
9583
+ const tile$4 = "_tile_cm0rd_150";
9575
9584
  const image$b = "_image_cm0rd_160";
9576
9585
  const placeholder$5 = "_placeholder_cm0rd_167";
9577
9586
  const more = "_more_cm0rd_174";
@@ -9611,7 +9620,7 @@ const styles$A = {
9611
9620
  bottom: bottom$1,
9612
9621
  strip,
9613
9622
  meta: meta$1,
9614
- tile: tile$3,
9623
+ tile: tile$4,
9615
9624
  image: image$b,
9616
9625
  placeholder: placeholder$5,
9617
9626
  more,
@@ -10196,7 +10205,7 @@ function ColourSwatches({ variants, className }) {
10196
10205
  }, c.value))
10197
10206
  });
10198
10207
  }
10199
- const tile$2 = "_tile_tdmoy_7";
10208
+ const tile$3 = "_tile_tdmoy_7";
10200
10209
  const media$4 = "_media_tdmoy_15";
10201
10210
  const image$a = "_image_tdmoy_25";
10202
10211
  const placeholder$4 = "_placeholder_tdmoy_29";
@@ -10209,7 +10218,7 @@ const title$g = "_title_tdmoy_5";
10209
10218
  const large = "_large_tdmoy_185";
10210
10219
  const swatchSlot = "_swatchSlot_tdmoy_223";
10211
10220
  const styles$y = {
10212
- tile: tile$2,
10221
+ tile: tile$3,
10213
10222
  media: media$4,
10214
10223
  image: image$a,
10215
10224
  placeholder: placeholder$4,
@@ -11787,7 +11796,7 @@ const header$2 = "_header_1h4ny_9";
11787
11796
  const title$9 = "_title_1h4ny_18";
11788
11797
  const value = "_value_1h4ny_23";
11789
11798
  const tiles$1 = "_tiles_1h4ny_28";
11790
- const tile$1 = "_tile_1h4ny_28";
11799
+ const tile$2 = "_tile_1h4ny_28";
11791
11800
  const selected$1 = "_selected_1h4ny_52";
11792
11801
  const media$2 = "_media_1h4ny_36";
11793
11802
  const image$5 = "_image_1h4ny_64";
@@ -11800,7 +11809,7 @@ const styles$i = {
11800
11809
  title: title$9,
11801
11810
  value,
11802
11811
  tiles: tiles$1,
11803
- tile: tile$1,
11812
+ tile: tile$2,
11804
11813
  selected: selected$1,
11805
11814
  media: media$2,
11806
11815
  image: image$5,
@@ -12782,7 +12791,7 @@ const section = "_section_16kkh_1";
12782
12791
  const title$3 = "_title_16kkh_8";
12783
12792
  const tiles = "_tiles_16kkh_19";
12784
12793
  const item$1 = "_item_16kkh_27";
12785
- const tile = "_tile_16kkh_19";
12794
+ const tile$1 = "_tile_16kkh_19";
12786
12795
  const media$1 = "_media_16kkh_49";
12787
12796
  const image$2 = "_image_16kkh_61";
12788
12797
  const label = "_label_16kkh_65";
@@ -12792,7 +12801,7 @@ const styles$7 = {
12792
12801
  title: title$3,
12793
12802
  tiles,
12794
12803
  item: item$1,
12795
- tile,
12804
+ tile: tile$1,
12796
12805
  media: media$1,
12797
12806
  image: image$2,
12798
12807
  label,
@@ -13494,6 +13503,7 @@ function requireContent() {
13494
13503
  key: zod_1.z.string().min(1),
13495
13504
  title: zod_1.z.string().min(1),
13496
13505
  subtitle: zod_1.z.string(),
13506
+ desktop_subtitle: zod_1.z.string().min(1).optional(),
13497
13507
  cta: zod_1.z.string().min(1),
13498
13508
  target: zod_1.z.string().min(1).optional(),
13499
13509
  image: zod_1.z.string().min(1).optional(),
@@ -14725,7 +14735,7 @@ const styles$5 = {
14725
14735
  invalid,
14726
14736
  cta: cta$1
14727
14737
  };
14728
- function VipInviteInvalid() {
14738
+ function VipInviteNotice({ title: title2, body: body3 }) {
14729
14739
  const t = useT();
14730
14740
  const assetUrl = useAssetUrl();
14731
14741
  const navigate = useNavigate();
@@ -14774,10 +14784,10 @@ function VipInviteInvalid() {
14774
14784
  className: hero$2.copy,
14775
14785
  children: [jsx("h1", {
14776
14786
  className: hero$2.headline,
14777
- children: t("This invite is no longer valid")
14787
+ children: title2
14778
14788
  }), jsx("p", {
14779
14789
  className: hero$2.body,
14780
- children: t("It may have expired or already been used. Keep an eye on your inbox for the next drop.")
14790
+ children: body3
14781
14791
  })]
14782
14792
  })]
14783
14793
  }), jsx("div", {
@@ -14793,6 +14803,26 @@ function VipInviteInvalid() {
14793
14803
  })
14794
14804
  });
14795
14805
  }
14806
+ function VipInviteInvalid() {
14807
+ const t = useT();
14808
+ return jsx(VipInviteNotice, {
14809
+ title: t("This invite is no longer valid"),
14810
+ body: t("It may have expired or already been used. Keep an eye on your inbox for the next drop.")
14811
+ });
14812
+ }
14813
+ function VipInviteScheduled({ opensAt }) {
14814
+ const t = useT();
14815
+ const locale = useLocale();
14816
+ const when = new Date(opensAt);
14817
+ const label2 = Number.isNaN(when.getTime()) ? opensAt : new Intl.DateTimeFormat(locale, {
14818
+ dateStyle: "long",
14819
+ timeStyle: "short"
14820
+ }).format(when);
14821
+ return jsx(VipInviteNotice, {
14822
+ title: t("This invite isn't open yet"),
14823
+ body: t("This invite opens on {0}. Come back then to claim your item.", label2)
14824
+ });
14825
+ }
14796
14826
  const crumbs$1 = "_crumbs_thxlv_1";
14797
14827
  const home = "_home_thxlv_13";
14798
14828
  const trail$1 = "_trail_thxlv_25";
@@ -14925,15 +14955,10 @@ function VipLandingView({ token, onUnavailable }) {
14925
14955
  if (onUnavailable) return jsx(Fragment, {
14926
14956
  children: onUnavailable(invite.state)
14927
14957
  });
14928
- if (invite.state !== "scheduled") return jsx(VipInviteInvalid, {});
14929
- return jsx(ShopSurface, {
14930
- tone: "light",
14931
- fill: true,
14932
- children: jsx(EmptyState, {
14933
- title: t("Item unavailable"),
14934
- body: t("This invitation can no longer be used.")
14935
- })
14958
+ if (invite.state === "scheduled") return jsx(VipInviteScheduled, {
14959
+ opensAt: invite.opens_at
14936
14960
  });
14961
+ return jsx(VipInviteInvalid, {});
14937
14962
  }
14938
14963
  return jsx(ActiveLanding, {
14939
14964
  token,
@@ -15021,33 +15046,40 @@ function ActiveLanding({ token, invite }) {
15021
15046
  })
15022
15047
  });
15023
15048
  }
15024
- const showcase = "_showcase_nmp6h_14";
15025
- const panel = "_panel_nmp6h_40";
15026
- const image = "_image_nmp6h_93";
15027
- const desktopArt = "_desktopArt_nmp6h_98";
15028
- const hero = "_hero_nmp6h_137";
15029
- const heroContent = "_heroContent_nmp6h_228";
15030
- const heroText = "_heroText_nmp6h_252";
15031
- const logo = "_logo_nmp6h_261";
15032
- const heroTitle = "_heroTitle_nmp6h_281";
15033
- const heroSub = "_heroSub_nmp6h_305";
15034
- const swipe = "_swipe_nmp6h_324";
15035
- const swipeLabel = "_swipeLabel_nmp6h_331";
15036
- const chevron$1 = "_chevron_nmp6h_337";
15037
- const overlay$1 = "_overlay_nmp6h_11";
15038
- const copy = "_copy_nmp6h_374";
15039
- const title$2 = "_title_nmp6h_386";
15040
- const subtitle$1 = "_subtitle_nmp6h_395";
15041
- const cta = "_cta_nmp6h_403";
15042
- const mosaic = "_mosaic_nmp6h_447";
15043
- const info = "_info_nmp6h_459";
15044
- const band = "_band_nmp6h_463";
15045
- const bandTitle = "_bandTitle_nmp6h_472";
15046
- const products = "_products_nmp6h_484";
15047
- const wideOnly = "_wideOnly_nmp6h_504";
15048
- const phoneOnly = "_phoneOnly_nmp6h_530";
15049
- const phoneArt = "_phoneArt_nmp6h_531";
15050
- const desktopFocal = "_desktopFocal_nmp6h_540";
15049
+ const showcase = "_showcase_sml7n_14";
15050
+ const panel = "_panel_sml7n_40";
15051
+ const image = "_image_sml7n_93";
15052
+ const desktopArt = "_desktopArt_sml7n_98";
15053
+ const hero = "_hero_sml7n_137";
15054
+ const heroContent = "_heroContent_sml7n_228";
15055
+ const heroText = "_heroText_sml7n_252";
15056
+ const logo = "_logo_sml7n_261";
15057
+ const heroTitle = "_heroTitle_sml7n_281";
15058
+ const heroSub = "_heroSub_sml7n_305";
15059
+ const swipe = "_swipe_sml7n_324";
15060
+ const swipeLabel = "_swipeLabel_sml7n_331";
15061
+ const chevron$1 = "_chevron_sml7n_337";
15062
+ const overlay$1 = "_overlay_sml7n_11";
15063
+ const copy = "_copy_sml7n_374";
15064
+ const title$2 = "_title_sml7n_386";
15065
+ const subtitle$1 = "_subtitle_sml7n_395";
15066
+ const cta = "_cta_sml7n_403";
15067
+ const mosaic = "_mosaic_sml7n_447";
15068
+ const info = "_info_sml7n_459";
15069
+ const art = "_art_sml7n_463";
15070
+ const band = "_band_sml7n_468";
15071
+ const bandTitle = "_bandTitle_sml7n_477";
15072
+ const products = "_products_sml7n_489";
15073
+ const wideOnly = "_wideOnly_sml7n_509";
15074
+ const phoneOnly = "_phoneOnly_sml7n_535";
15075
+ const phoneArt = "_phoneArt_sml7n_536";
15076
+ const desktopFocal = "_desktopFocal_sml7n_545";
15077
+ const diptych = "_diptych_sml7n_736";
15078
+ const tile = "_tile_sml7n_741";
15079
+ const tileCopy = "_tileCopy_sml7n_755";
15080
+ const tileText = "_tileText_sml7n_768";
15081
+ const tileTitle = "_tileTitle_sml7n_775";
15082
+ const tileSubtitle = "_tileSubtitle_sml7n_782";
15051
15083
  const styles$3 = {
15052
15084
  showcase,
15053
15085
  panel,
@@ -15069,13 +15101,20 @@ const styles$3 = {
15069
15101
  cta,
15070
15102
  mosaic,
15071
15103
  info,
15104
+ art,
15072
15105
  band,
15073
15106
  bandTitle,
15074
15107
  products,
15075
15108
  wideOnly,
15076
15109
  phoneOnly,
15077
15110
  phoneArt,
15078
- desktopFocal
15111
+ desktopFocal,
15112
+ diptych,
15113
+ tile,
15114
+ tileCopy,
15115
+ tileText,
15116
+ tileTitle,
15117
+ tileSubtitle
15079
15118
  };
15080
15119
  const useMountEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
15081
15120
  function useDocumentSnap(ref, enabled = true) {
@@ -15227,8 +15266,7 @@ const FALLBACK_PANELS = [{
15227
15266
  target: "hoodies",
15228
15267
  video: "/figma/home/hoodies.mp4",
15229
15268
  image: "/figma/home/hoodies-poster.jpg",
15230
- desktopImage: DESKTOP_POSTER,
15231
- desktopVideo: DESKTOP_VIDEO
15269
+ desktopSubtitle: "Heavyweight fits, ringside energy"
15232
15270
  }, {
15233
15271
  key: "zip-ups",
15234
15272
  title: "Zip Ups",
@@ -15238,8 +15276,9 @@ const FALLBACK_PANELS = [{
15238
15276
  target: "zip-ups",
15239
15277
  video: "/figma/home/zip-ups.mp4",
15240
15278
  image: "/figma/home/zip-ups-poster.jpg",
15241
- desktopImage: DESKTOP_POSTER,
15242
- desktopVideo: DESKTOP_VIDEO
15279
+ desktopImage: "/figma/home/desktop-zip-ups-poster.jpg",
15280
+ desktopVideo: "/figma/home/desktop-zip-ups.mp4",
15281
+ desktopSubtitle: "Layer up, matchday ready"
15243
15282
  }, {
15244
15283
  key: "t-shirts",
15245
15284
  title: "T-Shirts",
@@ -15249,8 +15288,9 @@ const FALLBACK_PANELS = [{
15249
15288
  target: "t-shirts",
15250
15289
  video: "/figma/home/tshirts.mp4",
15251
15290
  image: "/figma/home/tshirts-poster.jpg",
15252
- desktopImage: DESKTOP_POSTER,
15253
- desktopVideo: DESKTOP_VIDEO
15291
+ desktopImage: "/figma/home/desktop-tshirts-poster.jpg",
15292
+ desktopVideo: "/figma/home/desktop-tshirts.mp4",
15293
+ desktopSubtitle: "Everyday tees, fan-first graphics"
15254
15294
  }];
15255
15295
  const BAND_LIMIT = 20;
15256
15296
  const WIDE_BAND = 3;
@@ -15286,40 +15326,44 @@ function CategoryPanel({ panel: panel2, wide: wide2 }) {
15286
15326
  return jsxs("section", {
15287
15327
  className: styles$3.panel,
15288
15328
  "aria-label": t(panel2.title),
15329
+ "data-desktop": panel2.desktopImage || panel2.desktopVideo ? "cover" : "products",
15289
15330
  ...panel2.focalY === void 0 ? {} : {
15290
15331
  style: {
15291
15332
  "--slide-focal-y": `${panel2.focalY}%`
15292
15333
  }
15293
15334
  },
15294
- children: [panel2.video ? jsxs(Fragment, {
15295
- children: [jsx(ShopVideo, {
15296
- src: panel2.video,
15297
- poster: panel2.image,
15298
- fill: true,
15299
- className: [styles$3.image, panel2.desktopImage ? styles$3.phoneArt : ""].join(" ")
15300
- }), panel2.desktopImage && jsx(ShopImage, {
15301
- src: panel2.desktopImage,
15335
+ children: [jsxs("div", {
15336
+ className: styles$3.art,
15337
+ children: [panel2.video ? jsxs(Fragment, {
15338
+ children: [jsx(ShopVideo, {
15339
+ src: panel2.video,
15340
+ poster: panel2.image,
15341
+ fill: true,
15342
+ className: [styles$3.image, panel2.desktopImage ? styles$3.phoneArt : ""].join(" ")
15343
+ }), panel2.desktopImage && jsx(ShopImage, {
15344
+ src: panel2.desktopImage,
15345
+ alt: "",
15346
+ fill: true,
15347
+ sizes: "100vw",
15348
+ className: [styles$3.image, styles$3.desktopArt].join(" ")
15349
+ })]
15350
+ }) : jsx(ShopImage, {
15351
+ src: panel2.image,
15352
+ ...panel2.desktopImage ? {
15353
+ desktopSrc: panel2.desktopImage
15354
+ } : {},
15302
15355
  alt: "",
15303
15356
  fill: true,
15304
- sizes: "100vw",
15357
+ sizes: "(max-width: 480px) 100vw, 480px",
15358
+ className: [styles$3.image, panel2.desktopImage ? styles$3.desktopFocal : ""].join(" ")
15359
+ }), wide2 && panel2.desktopVideo && jsx(ShopVideo, {
15360
+ src: panel2.desktopVideo,
15361
+ ...panel2.desktopImage ? {
15362
+ poster: panel2.desktopImage
15363
+ } : {},
15364
+ fill: true,
15305
15365
  className: [styles$3.image, styles$3.desktopArt].join(" ")
15306
15366
  })]
15307
- }) : jsx(ShopImage, {
15308
- src: panel2.image,
15309
- ...panel2.desktopImage ? {
15310
- desktopSrc: panel2.desktopImage
15311
- } : {},
15312
- alt: "",
15313
- fill: true,
15314
- sizes: "(max-width: 480px) 100vw, 480px",
15315
- className: [styles$3.image, panel2.desktopImage ? styles$3.desktopFocal : ""].join(" ")
15316
- }), wide2 && panel2.desktopVideo && jsx(ShopVideo, {
15317
- src: panel2.desktopVideo,
15318
- ...panel2.desktopImage ? {
15319
- poster: panel2.desktopImage
15320
- } : {},
15321
- fill: true,
15322
- className: [styles$3.image, styles$3.desktopArt].join(" ")
15323
15367
  }), jsxs("div", {
15324
15368
  className: styles$3.overlay,
15325
15369
  children: [jsxs("div", {
@@ -15331,7 +15375,15 @@ function CategoryPanel({ panel: panel2, wide: wide2 }) {
15331
15375
  children: t(panel2.title)
15332
15376
  }), jsx("p", {
15333
15377
  className: styles$3.subtitle,
15334
- children: t(panel2.subtitle)
15378
+ children: panel2.desktopSubtitle ? jsxs(Fragment, {
15379
+ children: [jsx("span", {
15380
+ className: styles$3.phoneOnly,
15381
+ children: t(panel2.subtitle)
15382
+ }), jsx("span", {
15383
+ className: styles$3.wideOnly,
15384
+ children: t(panel2.desktopSubtitle)
15385
+ })]
15386
+ }) : t(panel2.subtitle)
15335
15387
  })]
15336
15388
  }), jsx(ShopLink, {
15337
15389
  to: panel2.to,
@@ -15356,6 +15408,51 @@ function CategoryPanel({ panel: panel2, wide: wide2 }) {
15356
15408
  })]
15357
15409
  });
15358
15410
  }
15411
+ const DIPTYCH = [{
15412
+ key: "ringer-tee",
15413
+ title: "Ringer Tee",
15414
+ subtitle: "White ringer tee with DAZN chest logo",
15415
+ to: "/category/t-shirts",
15416
+ video: "/figma/home/desktop-ringer-tee.mp4"
15417
+ }, {
15418
+ key: "boxing-hoodie",
15419
+ title: "Boxing Hoodie",
15420
+ subtitle: "The Home of Boxing back print",
15421
+ to: "/product/SKU3-0001",
15422
+ video: "/figma/home/desktop-boxing-hoodie.mp4"
15423
+ }];
15424
+ function DiptychPanel() {
15425
+ const t = useT();
15426
+ return jsx("section", {
15427
+ className: `${styles$3.panel} ${styles$3.diptych}`,
15428
+ children: DIPTYCH.map((tile2) => jsxs("div", {
15429
+ className: styles$3.tile,
15430
+ children: [jsx(ShopVideo, {
15431
+ src: tile2.video,
15432
+ poster: tile2.video.replace(/\.mp4$/, "-poster.jpg"),
15433
+ fill: true,
15434
+ className: styles$3.image
15435
+ }), jsxs("div", {
15436
+ className: styles$3.tileCopy,
15437
+ children: [jsxs("div", {
15438
+ className: styles$3.tileText,
15439
+ children: [jsx("h2", {
15440
+ className: styles$3.tileTitle,
15441
+ children: t(tile2.title)
15442
+ }), jsx("p", {
15443
+ className: styles$3.tileSubtitle,
15444
+ children: t(tile2.subtitle)
15445
+ })]
15446
+ }), jsx(ShopLink, {
15447
+ to: tile2.to,
15448
+ className: styles$3.cta,
15449
+ "aria-label": `${t(tile2.title)} — ${t("See more")}`,
15450
+ children: t("See more")
15451
+ })]
15452
+ })]
15453
+ }, tile2.key))
15454
+ });
15455
+ }
15359
15456
  function MosaicPanel() {
15360
15457
  const t = useT();
15361
15458
  return jsx("section", {
@@ -15377,6 +15474,9 @@ function useSlides() {
15377
15474
  ...p,
15378
15475
  title: t(p.title),
15379
15476
  subtitle: t(p.subtitle),
15477
+ ...p.desktopSubtitle === void 0 ? {} : {
15478
+ desktopSubtitle: t(p.desktopSubtitle)
15479
+ },
15380
15480
  cta: t(p.cta)
15381
15481
  })), [t]);
15382
15482
  useEffect(() => {
@@ -15404,6 +15504,9 @@ function useSlides() {
15404
15504
  ...s.desktop_video === void 0 ? {} : {
15405
15505
  desktopVideo: s.desktop_video
15406
15506
  },
15507
+ ...s.desktop_subtitle === void 0 ? {} : {
15508
+ desktopSubtitle: s.desktop_subtitle
15509
+ },
15407
15510
  ...s.focal_y === void 0 ? {} : {
15408
15511
  focalY: s.focal_y
15409
15512
  }
@@ -15510,8 +15613,8 @@ function HomeShowcase() {
15510
15613
  children: [jsx(CategoryPanel, {
15511
15614
  panel: p,
15512
15615
  wide: wide2
15513
- }), i === 0 && jsx(MosaicPanel, {})]
15514
- }, p.key)), panels.length === 0 && jsx(MosaicPanel, {})]
15616
+ }), i === 0 && jsx(MosaicPanel, {}), i === 0 && wide2 && jsx(DiptychPanel, {})]
15617
+ }, p.key)), panels.length === 0 && jsx(MosaicPanel, {}), panels.length === 0 && wide2 && jsx(DiptychPanel, {})]
15515
15618
  })
15516
15619
  });
15517
15620
  }