@nok-integration/storefront-react 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2768,6 +2768,7 @@ declare function createClient(options: ClientOptions): {
2768
2768
  desktop_image?: string | undefined;
2769
2769
  target?: string | undefined;
2770
2770
  video?: string | undefined;
2771
+ desktop_video?: string | undefined;
2771
2772
  focal_y?: number | undefined;
2772
2773
  }[];
2773
2774
  }>;
package/dist/index.mjs CHANGED
@@ -4398,6 +4398,7 @@ function requireContent$1() {
4398
4398
  image: zod_1.z.string().min(1).optional(),
4399
4399
  video: zod_1.z.string().min(1).optional(),
4400
4400
  desktop_image: zod_1.z.string().min(1).optional(),
4401
+ desktop_video: zod_1.z.string().min(1).optional(),
4401
4402
  focal_y: zod_1.z.number().int().min(0).max(100).optional()
4402
4403
  });
4403
4404
  exports.HomeContent = zod_1.z.object({
@@ -6529,13 +6530,18 @@ const ES = {
6529
6530
  Shop: "Tienda",
6530
6531
  "Scroll down for more": "Desplázate hacia abajo para ver más",
6531
6532
  "Limited edition": "Edición limitada",
6533
+ "Ringer Tee": "Camiseta ringer",
6534
+ "White ringer tee with DAZN chest logo": "Camiseta ringer blanca con el logo de DAZN en el pecho",
6535
+ "Boxing Hoodie": "Sudadera de boxeo",
6536
+ "The Home of Boxing back print": "Estampado The Home of Boxing en la espalda",
6532
6537
  Previous: "Anterior",
6533
6538
  Next: "Siguiente",
6534
6539
  "Claim yours": "Consigue el tuyo",
6535
6540
  "Sold out": "Agotado",
6536
- "This invitation can no longer be used.": "Esta invitación ya no se puede usar.",
6537
6541
  "This invite is no longer valid": "Esta invitación ya no es válida",
6538
6542
  "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.",
6543
+ "This invite isn't open yet": "Esta invitación aún no está abierta",
6544
+ "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.",
6539
6545
  "Explore DAZN": "Explorar DAZN",
6540
6546
  "Your basket has other items": "Tu cesta tiene otros artículos",
6541
6547
  "Empty your basket to claim this item.": "Vacía tu cesta para conseguir este artículo.",
@@ -9570,7 +9576,7 @@ const date = "_date_cm0rd_115";
9570
9576
  const bottom$1 = "_bottom_cm0rd_120";
9571
9577
  const strip = "_strip_cm0rd_128";
9572
9578
  const meta$1 = "_meta_cm0rd_141";
9573
- const tile$3 = "_tile_cm0rd_150";
9579
+ const tile$4 = "_tile_cm0rd_150";
9574
9580
  const image$b = "_image_cm0rd_160";
9575
9581
  const placeholder$5 = "_placeholder_cm0rd_167";
9576
9582
  const more = "_more_cm0rd_174";
@@ -9610,7 +9616,7 @@ const styles$A = {
9610
9616
  bottom: bottom$1,
9611
9617
  strip,
9612
9618
  meta: meta$1,
9613
- tile: tile$3,
9619
+ tile: tile$4,
9614
9620
  image: image$b,
9615
9621
  placeholder: placeholder$5,
9616
9622
  more,
@@ -10195,7 +10201,7 @@ function ColourSwatches({ variants, className }) {
10195
10201
  }, c.value))
10196
10202
  });
10197
10203
  }
10198
- const tile$2 = "_tile_tdmoy_7";
10204
+ const tile$3 = "_tile_tdmoy_7";
10199
10205
  const media$4 = "_media_tdmoy_15";
10200
10206
  const image$a = "_image_tdmoy_25";
10201
10207
  const placeholder$4 = "_placeholder_tdmoy_29";
@@ -10208,7 +10214,7 @@ const title$g = "_title_tdmoy_5";
10208
10214
  const large = "_large_tdmoy_185";
10209
10215
  const swatchSlot = "_swatchSlot_tdmoy_223";
10210
10216
  const styles$y = {
10211
- tile: tile$2,
10217
+ tile: tile$3,
10212
10218
  media: media$4,
10213
10219
  image: image$a,
10214
10220
  placeholder: placeholder$4,
@@ -11786,7 +11792,7 @@ const header$2 = "_header_1h4ny_9";
11786
11792
  const title$9 = "_title_1h4ny_18";
11787
11793
  const value = "_value_1h4ny_23";
11788
11794
  const tiles$1 = "_tiles_1h4ny_28";
11789
- const tile$1 = "_tile_1h4ny_28";
11795
+ const tile$2 = "_tile_1h4ny_28";
11790
11796
  const selected$1 = "_selected_1h4ny_52";
11791
11797
  const media$2 = "_media_1h4ny_36";
11792
11798
  const image$5 = "_image_1h4ny_64";
@@ -11799,7 +11805,7 @@ const styles$i = {
11799
11805
  title: title$9,
11800
11806
  value,
11801
11807
  tiles: tiles$1,
11802
- tile: tile$1,
11808
+ tile: tile$2,
11803
11809
  selected: selected$1,
11804
11810
  media: media$2,
11805
11811
  image: image$5,
@@ -12781,7 +12787,7 @@ const section = "_section_16kkh_1";
12781
12787
  const title$3 = "_title_16kkh_8";
12782
12788
  const tiles = "_tiles_16kkh_19";
12783
12789
  const item$1 = "_item_16kkh_27";
12784
- const tile = "_tile_16kkh_19";
12790
+ const tile$1 = "_tile_16kkh_19";
12785
12791
  const media$1 = "_media_16kkh_49";
12786
12792
  const image$2 = "_image_16kkh_61";
12787
12793
  const label = "_label_16kkh_65";
@@ -12791,7 +12797,7 @@ const styles$7 = {
12791
12797
  title: title$3,
12792
12798
  tiles,
12793
12799
  item: item$1,
12794
- tile,
12800
+ tile: tile$1,
12795
12801
  media: media$1,
12796
12802
  image: image$2,
12797
12803
  label,
@@ -13498,6 +13504,7 @@ function requireContent() {
13498
13504
  image: zod_1.z.string().min(1).optional(),
13499
13505
  video: zod_1.z.string().min(1).optional(),
13500
13506
  desktop_image: zod_1.z.string().min(1).optional(),
13507
+ desktop_video: zod_1.z.string().min(1).optional(),
13501
13508
  focal_y: zod_1.z.number().int().min(0).max(100).optional()
13502
13509
  });
13503
13510
  exports.HomeContent = zod_1.z.object({
@@ -14723,7 +14730,7 @@ const styles$5 = {
14723
14730
  invalid,
14724
14731
  cta: cta$1
14725
14732
  };
14726
- function VipInviteInvalid() {
14733
+ function VipInviteNotice({ title: title2, body: body3 }) {
14727
14734
  const t = useT();
14728
14735
  const assetUrl = useAssetUrl();
14729
14736
  const navigate = useNavigate();
@@ -14772,10 +14779,10 @@ function VipInviteInvalid() {
14772
14779
  className: hero$2.copy,
14773
14780
  children: [jsx("h1", {
14774
14781
  className: hero$2.headline,
14775
- children: t("This invite is no longer valid")
14782
+ children: title2
14776
14783
  }), jsx("p", {
14777
14784
  className: hero$2.body,
14778
- children: t("It may have expired or already been used. Keep an eye on your inbox for the next drop.")
14785
+ children: body3
14779
14786
  })]
14780
14787
  })]
14781
14788
  }), jsx("div", {
@@ -14791,6 +14798,26 @@ function VipInviteInvalid() {
14791
14798
  })
14792
14799
  });
14793
14800
  }
14801
+ function VipInviteInvalid() {
14802
+ const t = useT();
14803
+ return jsx(VipInviteNotice, {
14804
+ title: t("This invite is no longer valid"),
14805
+ body: t("It may have expired or already been used. Keep an eye on your inbox for the next drop.")
14806
+ });
14807
+ }
14808
+ function VipInviteScheduled({ opensAt }) {
14809
+ const t = useT();
14810
+ const locale = useLocale();
14811
+ const when = new Date(opensAt);
14812
+ const label2 = Number.isNaN(when.getTime()) ? opensAt : new Intl.DateTimeFormat(locale, {
14813
+ dateStyle: "long",
14814
+ timeStyle: "short"
14815
+ }).format(when);
14816
+ return jsx(VipInviteNotice, {
14817
+ title: t("This invite isn't open yet"),
14818
+ body: t("This invite opens on {0}. Come back then to claim your item.", label2)
14819
+ });
14820
+ }
14794
14821
  const crumbs$1 = "_crumbs_thxlv_1";
14795
14822
  const home = "_home_thxlv_13";
14796
14823
  const trail$1 = "_trail_thxlv_25";
@@ -14923,15 +14950,10 @@ function VipLandingView({ token, onUnavailable }) {
14923
14950
  if (onUnavailable) return jsx(Fragment, {
14924
14951
  children: onUnavailable(invite.state)
14925
14952
  });
14926
- if (invite.state !== "scheduled") return jsx(VipInviteInvalid, {});
14927
- return jsx(ShopSurface, {
14928
- tone: "light",
14929
- fill: true,
14930
- children: jsx(EmptyState, {
14931
- title: t("Item unavailable"),
14932
- body: t("This invitation can no longer be used.")
14933
- })
14953
+ if (invite.state === "scheduled") return jsx(VipInviteScheduled, {
14954
+ opensAt: invite.opens_at
14934
14955
  });
14956
+ return jsx(VipInviteInvalid, {});
14935
14957
  }
14936
14958
  return jsx(ActiveLanding, {
14937
14959
  token,
@@ -15019,33 +15041,40 @@ function ActiveLanding({ token, invite }) {
15019
15041
  })
15020
15042
  });
15021
15043
  }
15022
- const showcase = "_showcase_nmp6h_14";
15023
- const panel = "_panel_nmp6h_40";
15024
- const image = "_image_nmp6h_93";
15025
- const desktopArt = "_desktopArt_nmp6h_98";
15026
- const hero = "_hero_nmp6h_137";
15027
- const heroContent = "_heroContent_nmp6h_228";
15028
- const heroText = "_heroText_nmp6h_252";
15029
- const logo = "_logo_nmp6h_261";
15030
- const heroTitle = "_heroTitle_nmp6h_281";
15031
- const heroSub = "_heroSub_nmp6h_305";
15032
- const swipe = "_swipe_nmp6h_324";
15033
- const swipeLabel = "_swipeLabel_nmp6h_331";
15034
- const chevron$1 = "_chevron_nmp6h_337";
15035
- const overlay$1 = "_overlay_nmp6h_11";
15036
- const copy = "_copy_nmp6h_374";
15037
- const title$2 = "_title_nmp6h_386";
15038
- const subtitle$1 = "_subtitle_nmp6h_395";
15039
- const cta = "_cta_nmp6h_403";
15040
- const mosaic = "_mosaic_nmp6h_447";
15041
- const info = "_info_nmp6h_459";
15042
- const band = "_band_nmp6h_463";
15043
- const bandTitle = "_bandTitle_nmp6h_472";
15044
- const products = "_products_nmp6h_484";
15045
- const wideOnly = "_wideOnly_nmp6h_504";
15046
- const phoneOnly = "_phoneOnly_nmp6h_530";
15047
- const phoneArt = "_phoneArt_nmp6h_531";
15048
- const desktopFocal = "_desktopFocal_nmp6h_540";
15044
+ const showcase = "_showcase_qp8eb_14";
15045
+ const panel = "_panel_qp8eb_40";
15046
+ const image = "_image_qp8eb_93";
15047
+ const desktopArt = "_desktopArt_qp8eb_98";
15048
+ const hero = "_hero_qp8eb_137";
15049
+ const heroContent = "_heroContent_qp8eb_228";
15050
+ const heroText = "_heroText_qp8eb_252";
15051
+ const logo = "_logo_qp8eb_261";
15052
+ const heroTitle = "_heroTitle_qp8eb_281";
15053
+ const heroSub = "_heroSub_qp8eb_305";
15054
+ const swipe = "_swipe_qp8eb_324";
15055
+ const swipeLabel = "_swipeLabel_qp8eb_331";
15056
+ const chevron$1 = "_chevron_qp8eb_337";
15057
+ const overlay$1 = "_overlay_qp8eb_11";
15058
+ const copy = "_copy_qp8eb_374";
15059
+ const title$2 = "_title_qp8eb_386";
15060
+ const subtitle$1 = "_subtitle_qp8eb_395";
15061
+ const cta = "_cta_qp8eb_403";
15062
+ const mosaic = "_mosaic_qp8eb_447";
15063
+ const info = "_info_qp8eb_459";
15064
+ const art = "_art_qp8eb_463";
15065
+ const band = "_band_qp8eb_468";
15066
+ const bandTitle = "_bandTitle_qp8eb_477";
15067
+ const products = "_products_qp8eb_489";
15068
+ const wideOnly = "_wideOnly_qp8eb_509";
15069
+ const phoneOnly = "_phoneOnly_qp8eb_535";
15070
+ const phoneArt = "_phoneArt_qp8eb_536";
15071
+ const desktopFocal = "_desktopFocal_qp8eb_545";
15072
+ const diptych = "_diptych_qp8eb_711";
15073
+ const tile = "_tile_qp8eb_716";
15074
+ const tileCopy = "_tileCopy_qp8eb_730";
15075
+ const tileText = "_tileText_qp8eb_743";
15076
+ const tileTitle = "_tileTitle_qp8eb_750";
15077
+ const tileSubtitle = "_tileSubtitle_qp8eb_757";
15049
15078
  const styles$3 = {
15050
15079
  showcase,
15051
15080
  panel,
@@ -15067,13 +15096,20 @@ const styles$3 = {
15067
15096
  cta,
15068
15097
  mosaic,
15069
15098
  info,
15099
+ art,
15070
15100
  band,
15071
15101
  bandTitle,
15072
15102
  products,
15073
15103
  wideOnly,
15074
15104
  phoneOnly,
15075
15105
  phoneArt,
15076
- desktopFocal
15106
+ desktopFocal,
15107
+ diptych,
15108
+ tile,
15109
+ tileCopy,
15110
+ tileText,
15111
+ tileTitle,
15112
+ tileSubtitle
15077
15113
  };
15078
15114
  const useMountEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
15079
15115
  function useDocumentSnap(ref, enabled = true) {
@@ -15214,8 +15250,8 @@ function useDocumentSnap(ref, enabled = true) {
15214
15250
  };
15215
15251
  }, [ref, enabled]);
15216
15252
  }
15217
- const HERO_DESKTOP = "/figma/home/hero-desktop.jpg";
15218
- const BAND_DESKTOP = "/figma/home/band-desktop.jpg";
15253
+ const DESKTOP_POSTER = "/figma/home/desktop-poster.jpg";
15254
+ const DESKTOP_VIDEO = "/figma/home/desktop.mp4";
15219
15255
  const FALLBACK_PANELS = [{
15220
15256
  key: "hoodies",
15221
15257
  title: "Hoodies",
@@ -15224,8 +15260,7 @@ const FALLBACK_PANELS = [{
15224
15260
  to: "/category/hoodies",
15225
15261
  target: "hoodies",
15226
15262
  video: "/figma/home/hoodies.mp4",
15227
- image: "/figma/home/hoodies-poster.jpg",
15228
- desktopImage: BAND_DESKTOP
15263
+ image: "/figma/home/hoodies-poster.jpg"
15229
15264
  }, {
15230
15265
  key: "zip-ups",
15231
15266
  title: "Zip Ups",
@@ -15235,7 +15270,8 @@ const FALLBACK_PANELS = [{
15235
15270
  target: "zip-ups",
15236
15271
  video: "/figma/home/zip-ups.mp4",
15237
15272
  image: "/figma/home/zip-ups-poster.jpg",
15238
- desktopImage: BAND_DESKTOP
15273
+ desktopImage: "/figma/home/desktop-zip-ups-poster.jpg",
15274
+ desktopVideo: "/figma/home/desktop-zip-ups.mp4"
15239
15275
  }, {
15240
15276
  key: "t-shirts",
15241
15277
  title: "T-Shirts",
@@ -15245,7 +15281,8 @@ const FALLBACK_PANELS = [{
15245
15281
  target: "t-shirts",
15246
15282
  video: "/figma/home/tshirts.mp4",
15247
15283
  image: "/figma/home/tshirts-poster.jpg",
15248
- desktopImage: BAND_DESKTOP
15284
+ desktopImage: "/figma/home/desktop-tshirts-poster.jpg",
15285
+ desktopVideo: "/figma/home/desktop-tshirts.mp4"
15249
15286
  }];
15250
15287
  const BAND_LIMIT = 20;
15251
15288
  const WIDE_BAND = 3;
@@ -15281,33 +15318,44 @@ function CategoryPanel({ panel: panel2, wide: wide2 }) {
15281
15318
  return jsxs("section", {
15282
15319
  className: styles$3.panel,
15283
15320
  "aria-label": t(panel2.title),
15321
+ "data-desktop": panel2.desktopImage || panel2.desktopVideo ? "cover" : "products",
15284
15322
  ...panel2.focalY === void 0 ? {} : {
15285
15323
  style: {
15286
15324
  "--slide-focal-y": `${panel2.focalY}%`
15287
15325
  }
15288
15326
  },
15289
- children: [panel2.video ? jsxs(Fragment, {
15290
- children: [jsx(ShopVideo, {
15291
- src: panel2.video,
15292
- poster: panel2.image,
15293
- fill: true,
15294
- className: [styles$3.image, panel2.desktopImage ? styles$3.phoneArt : ""].join(" ")
15295
- }), panel2.desktopImage && jsx(ShopImage, {
15296
- src: panel2.desktopImage,
15327
+ children: [jsxs("div", {
15328
+ className: styles$3.art,
15329
+ children: [panel2.video ? jsxs(Fragment, {
15330
+ children: [jsx(ShopVideo, {
15331
+ src: panel2.video,
15332
+ poster: panel2.image,
15333
+ fill: true,
15334
+ className: [styles$3.image, panel2.desktopImage ? styles$3.phoneArt : ""].join(" ")
15335
+ }), panel2.desktopImage && jsx(ShopImage, {
15336
+ src: panel2.desktopImage,
15337
+ alt: "",
15338
+ fill: true,
15339
+ sizes: "100vw",
15340
+ className: [styles$3.image, styles$3.desktopArt].join(" ")
15341
+ })]
15342
+ }) : jsx(ShopImage, {
15343
+ src: panel2.image,
15344
+ ...panel2.desktopImage ? {
15345
+ desktopSrc: panel2.desktopImage
15346
+ } : {},
15297
15347
  alt: "",
15298
15348
  fill: true,
15299
- sizes: "100vw",
15349
+ sizes: "(max-width: 480px) 100vw, 480px",
15350
+ className: [styles$3.image, panel2.desktopImage ? styles$3.desktopFocal : ""].join(" ")
15351
+ }), wide2 && panel2.desktopVideo && jsx(ShopVideo, {
15352
+ src: panel2.desktopVideo,
15353
+ ...panel2.desktopImage ? {
15354
+ poster: panel2.desktopImage
15355
+ } : {},
15356
+ fill: true,
15300
15357
  className: [styles$3.image, styles$3.desktopArt].join(" ")
15301
15358
  })]
15302
- }) : jsx(ShopImage, {
15303
- src: panel2.image,
15304
- ...panel2.desktopImage ? {
15305
- desktopSrc: panel2.desktopImage
15306
- } : {},
15307
- alt: "",
15308
- fill: true,
15309
- sizes: "(max-width: 480px) 100vw, 480px",
15310
- className: [styles$3.image, panel2.desktopImage ? styles$3.desktopFocal : ""].join(" ")
15311
15359
  }), jsxs("div", {
15312
15360
  className: styles$3.overlay,
15313
15361
  children: [jsxs("div", {
@@ -15344,6 +15392,51 @@ function CategoryPanel({ panel: panel2, wide: wide2 }) {
15344
15392
  })]
15345
15393
  });
15346
15394
  }
15395
+ const DIPTYCH = [{
15396
+ key: "ringer-tee",
15397
+ title: "Ringer Tee",
15398
+ subtitle: "White ringer tee with DAZN chest logo",
15399
+ to: "/category/t-shirts",
15400
+ video: "/figma/home/desktop-ringer-tee.mp4"
15401
+ }, {
15402
+ key: "boxing-hoodie",
15403
+ title: "Boxing Hoodie",
15404
+ subtitle: "The Home of Boxing back print",
15405
+ to: "/product/SKU3-0001",
15406
+ video: "/figma/home/desktop-boxing-hoodie.mp4"
15407
+ }];
15408
+ function DiptychPanel() {
15409
+ const t = useT();
15410
+ return jsx("section", {
15411
+ className: `${styles$3.panel} ${styles$3.diptych}`,
15412
+ children: DIPTYCH.map((tile2) => jsxs("div", {
15413
+ className: styles$3.tile,
15414
+ children: [jsx(ShopVideo, {
15415
+ src: tile2.video,
15416
+ poster: tile2.video.replace(/\.mp4$/, "-poster.jpg"),
15417
+ fill: true,
15418
+ className: styles$3.image
15419
+ }), jsxs("div", {
15420
+ className: styles$3.tileCopy,
15421
+ children: [jsxs("div", {
15422
+ className: styles$3.tileText,
15423
+ children: [jsx("h2", {
15424
+ className: styles$3.tileTitle,
15425
+ children: t(tile2.title)
15426
+ }), jsx("p", {
15427
+ className: styles$3.tileSubtitle,
15428
+ children: t(tile2.subtitle)
15429
+ })]
15430
+ }), jsx(ShopLink, {
15431
+ to: tile2.to,
15432
+ className: styles$3.cta,
15433
+ "aria-label": `${t(tile2.title)} — ${t("See more")}`,
15434
+ children: t("See more")
15435
+ })]
15436
+ })]
15437
+ }, tile2.key))
15438
+ });
15439
+ }
15347
15440
  function MosaicPanel() {
15348
15441
  const t = useT();
15349
15442
  return jsx("section", {
@@ -15389,6 +15482,9 @@ function useSlides() {
15389
15482
  ...s.desktop_image === void 0 ? {} : {
15390
15483
  desktopImage: s.desktop_image
15391
15484
  },
15485
+ ...s.desktop_video === void 0 ? {} : {
15486
+ desktopVideo: s.desktop_video
15487
+ },
15392
15488
  ...s.focal_y === void 0 ? {} : {
15393
15489
  focalY: s.focal_y
15394
15490
  }
@@ -15439,11 +15535,17 @@ function HomeShowcase() {
15439
15535
  priority: true,
15440
15536
  className: [styles$3.image, styles$3.phoneArt].join(" ")
15441
15537
  }), jsx(ShopImage, {
15442
- src: HERO_DESKTOP,
15538
+ src: DESKTOP_POSTER,
15443
15539
  alt: "",
15444
15540
  fill: true,
15445
15541
  sizes: "100vw",
15446
15542
  className: [styles$3.image, styles$3.desktopArt].join(" ")
15543
+ }), wide2 && jsx(ShopVideo, {
15544
+ src: DESKTOP_VIDEO,
15545
+ poster: DESKTOP_POSTER,
15546
+ fill: true,
15547
+ priority: true,
15548
+ className: [styles$3.image, styles$3.desktopArt].join(" ")
15447
15549
  }), jsxs("div", {
15448
15550
  className: styles$3.heroContent,
15449
15551
  children: [jsxs("div", {
@@ -15489,8 +15591,8 @@ function HomeShowcase() {
15489
15591
  children: [jsx(CategoryPanel, {
15490
15592
  panel: p,
15491
15593
  wide: wide2
15492
- }), i === 0 && jsx(MosaicPanel, {})]
15493
- }, p.key)), panels.length === 0 && jsx(MosaicPanel, {})]
15594
+ }), i === 0 && jsx(MosaicPanel, {}), i === 0 && wide2 && jsx(DiptychPanel, {})]
15595
+ }, p.key)), panels.length === 0 && jsx(MosaicPanel, {}), panels.length === 0 && wide2 && jsx(DiptychPanel, {})]
15494
15596
  })
15495
15597
  });
15496
15598
  }