@nok-integration/storefront-react 0.29.14 → 0.29.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6115,6 +6115,8 @@ export declare type ShopEvent = {
6115
6115
  | {
6116
6116
  type: 'support_requested';
6117
6117
  orderRef: string;
6118
+ } | {
6119
+ type: 'help_requested';
6118
6120
  }
6119
6121
  /**
6120
6122
  * The fan confirmed a cancellation and the engine accepted it.
@@ -6222,6 +6224,7 @@ export declare interface ShopHeaderProps {
6222
6224
  * and cannot know which screen it is over.
6223
6225
  */
6224
6226
  onMenu?: () => void;
6227
+ onHelp?: () => void;
6225
6228
  /**
6226
6229
  * The screen name, drawn between the back control and the icons (Figma `mobile/header`
6227
6230
  * carries "DAZN Shop" here on the shop entry).
@@ -6277,6 +6280,7 @@ export declare interface ShopHeaderProps {
6277
6280
  /** Accessible name for the back control, for a host that is not in English. */
6278
6281
  backLabel?: string;
6279
6282
  menuLabel?: string;
6283
+ helpLabel?: string;
6280
6284
  closeLabel?: string;
6281
6285
  className?: string;
6282
6286
  }
package/dist/index.mjs CHANGED
@@ -5761,6 +5761,7 @@ async function restoreSetAside(cart2, writer, query, { force = false } = {}) {
5761
5761
  const ScreenTitleContext = createContext({
5762
5762
  title: void 0,
5763
5763
  trailing: "default",
5764
+ leading: "default",
5764
5765
  claim: () => () => {
5765
5766
  }
5766
5767
  });
@@ -5768,23 +5769,27 @@ const SuppressedContext = createContext(false);
5768
5769
  function ScreenTitleProvider({ children }) {
5769
5770
  const [title2, setTitle] = useState(void 0);
5770
5771
  const [trailing, setTrailing] = useState("default");
5772
+ const [leading2, setLeading] = useState("default");
5771
5773
  const held = useRef(void 0);
5772
- const claim = useCallback((next, nextTrailing) => {
5774
+ const claim = useCallback((next, nextTrailing, nextLeading) => {
5773
5775
  held.current = next;
5774
5776
  setTitle(next);
5775
5777
  setTrailing(nextTrailing);
5778
+ setLeading(nextLeading);
5776
5779
  return () => {
5777
5780
  if (held.current !== next) return;
5778
5781
  held.current = void 0;
5779
5782
  setTitle(void 0);
5780
5783
  setTrailing("default");
5784
+ setLeading("default");
5781
5785
  };
5782
5786
  }, []);
5783
5787
  const value2 = useMemo(() => ({
5784
5788
  title: title2,
5785
5789
  trailing,
5790
+ leading: leading2,
5786
5791
  claim
5787
- }), [title2, trailing, claim]);
5792
+ }), [title2, trailing, leading2, claim]);
5788
5793
  return jsx(ScreenTitleContext.Provider, {
5789
5794
  value: value2,
5790
5795
  children: jsx(ScreenNavProvider, {
@@ -5800,13 +5805,16 @@ function useScreenTitle() {
5800
5805
  function useScreenTrailing() {
5801
5806
  return useContext(ScreenTitleContext).trailing;
5802
5807
  }
5803
- function useSetScreenTitle(title2, trailing = "default") {
5808
+ function useScreenLeading() {
5809
+ return useContext(ScreenTitleContext).leading;
5810
+ }
5811
+ function useSetScreenTitle(title2, trailing = "default", leading2 = "default") {
5804
5812
  const { claim } = useContext(ScreenTitleContext);
5805
5813
  const suppressed = useContext(SuppressedContext);
5806
5814
  useEffect(() => {
5807
5815
  if (suppressed || title2 === void 0) return;
5808
- return claim(title2, trailing);
5809
- }, [claim, title2, trailing, suppressed]);
5816
+ return claim(title2, trailing, leading2);
5817
+ }, [claim, title2, trailing, leading2, suppressed]);
5810
5818
  }
5811
5819
  function NoScreenTitle({ children }) {
5812
5820
  return jsx(SuppressedContext.Provider, {
@@ -6523,6 +6531,7 @@ const ES = {
6523
6531
  "Gallery pagination": "Paginación de la galería",
6524
6532
  "Go to image {0}": "Ir a la imagen {0}",
6525
6533
  "Heavyweight comfort built for training days and off-duty moments": "Comodidad y resistencia pensadas para los días de entrenamiento y los momentos de ocio",
6534
+ Help: "Ayuda",
6526
6535
  "Help & Support": "Ayuda y asistencia",
6527
6536
  Hoodies: "Sudaderas con capucha",
6528
6537
  "Increase quantity": "Aumentar la cantidad",
@@ -14828,18 +14837,41 @@ function requireDist() {
14828
14837
  return dist;
14829
14838
  }
14830
14839
  var distExports = requireDist();
14831
- const hero$1 = "_hero_15sq4_1";
14832
- const image$1 = "_image_15sq4_11";
14833
- const foot = "_foot_15sq4_34";
14834
- const text$1 = "_text_15sq4_40";
14835
- const logo$1 = "_logo_15sq4_48";
14836
- const copy$1 = "_copy_15sq4_53";
14837
- const headline = "_headline_15sq4_62";
14838
- const body = "_body_15sq4_70";
14839
- const cta$2 = "_cta_15sq4_79";
14840
- const video = "_video_15sq4_83";
14841
- const desktopOnly = "_desktopOnly_15sq4_87";
14842
- const phoneOnly$1 = "_phoneOnly_15sq4_97";
14840
+ function useRoomBelow(ref, property) {
14841
+ useEffect(() => {
14842
+ const el = ref.current;
14843
+ const host = el?.parentElement?.parentElement;
14844
+ if (!el || !host) return;
14845
+ const measure = () => {
14846
+ const room = Math.round(host.getBoundingClientRect().bottom - el.getBoundingClientRect().top);
14847
+ if (room > 0) el.style.setProperty(property, `${room}px`);
14848
+ else el.style.removeProperty(property);
14849
+ };
14850
+ measure();
14851
+ const frame2 = typeof requestAnimationFrame === "undefined" ? void 0 : requestAnimationFrame(measure);
14852
+ window.addEventListener("resize", measure);
14853
+ const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
14854
+ observer?.observe(host);
14855
+ return () => {
14856
+ if (frame2 !== void 0) cancelAnimationFrame(frame2);
14857
+ window.removeEventListener("resize", measure);
14858
+ observer?.disconnect();
14859
+ el.style.removeProperty(property);
14860
+ };
14861
+ }, [ref, property]);
14862
+ }
14863
+ const hero$1 = "_hero_1ddez_1";
14864
+ const image$1 = "_image_1ddez_11";
14865
+ const foot = "_foot_1ddez_34";
14866
+ const text$1 = "_text_1ddez_40";
14867
+ const logo$1 = "_logo_1ddez_48";
14868
+ const copy$1 = "_copy_1ddez_53";
14869
+ const headline = "_headline_1ddez_62";
14870
+ const body = "_body_1ddez_70";
14871
+ const cta$2 = "_cta_1ddez_79";
14872
+ const video = "_video_1ddez_83";
14873
+ const desktopOnly = "_desktopOnly_1ddez_87";
14874
+ const phoneOnly$1 = "_phoneOnly_1ddez_97";
14843
14875
  const hero$2 = {
14844
14876
  hero: hero$1,
14845
14877
  image: image$1,
@@ -14859,6 +14891,7 @@ function VipHero({ hero: hero2, onContinue }) {
14859
14891
  const assetUrl = useAssetUrl();
14860
14892
  const ref = useRef(null);
14861
14893
  useTopOffset(ref, "--vip-hero-top");
14894
+ useRoomBelow(ref, "--vip-hero-room");
14862
14895
  useSetScreenBackdrop("media");
14863
14896
  const desktopImage = hero2.desktop_image ?? null;
14864
14897
  const desktopVideo = hero2.desktop_video ?? null;
@@ -14937,6 +14970,7 @@ function VipInviteNotice({ title: title2, body: body3 }) {
14937
14970
  const navigate = useNavigate();
14938
14971
  const ref = useRef(null);
14939
14972
  useTopOffset(ref, "--vip-hero-top");
14973
+ useRoomBelow(ref, "--vip-hero-room");
14940
14974
  useSetScreenBackdrop("media");
14941
14975
  const explore = () => {
14942
14976
  if (navigate) {
@@ -15091,7 +15125,7 @@ function VipLandingView({ token, onUnavailable, screen: screen2 = "hero" }) {
15091
15125
  const [attempt, setAttempt] = useState(0);
15092
15126
  const emitRef = useRef(emit);
15093
15127
  emitRef.current = emit;
15094
- useSetScreenTitle(t("DAZN Shop"), "none");
15128
+ useSetScreenTitle(screen2 === "product" ? "" : t("DAZN Shop"), "help", screen2 === "product" ? "default" : "none");
15095
15129
  useEffect(() => {
15096
15130
  const target = locatorOf(token);
15097
15131
  if (!target) {
@@ -16480,17 +16514,22 @@ function CheckoutBar({ title: title2, onClose, closeLabel, className }) {
16480
16514
  })]
16481
16515
  });
16482
16516
  }
16483
- function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingProp, scrolled: scrolled2, backLabel, menuLabel, className }) {
16517
+ function ShopBar({ onBack, onMenu, onHelp, helpLabel, title: title2, showCart, floating: floatingProp, scrolled: scrolled2, backLabel, menuLabel, className }) {
16484
16518
  const backdrop = useScreenBackdrop();
16485
- const floating2 = floatingProp ?? backdrop === "media";
16519
+ const floating2 = backdrop === "media" || (floatingProp ?? false);
16486
16520
  const t = useT();
16521
+ const emit = useShopEvent();
16522
+ const leading2 = useScreenLeading();
16523
+ const back = leading2 === "none" ? void 0 : onBack;
16487
16524
  const cartCount = useCartCount();
16488
16525
  const screenTitle = useScreenTitle();
16489
16526
  const shownTitle = title2 ?? screenTitle;
16490
- const bare = useScreenTrailing() === "none";
16491
- const cartOn = showCart ?? !bare;
16527
+ const trailing = useScreenTrailing();
16528
+ const help2 = trailing === "help";
16529
+ const bare = trailing !== "default";
16530
+ const cartOn = help2 ? false : showCart ?? !bare;
16492
16531
  const menu = bare ? void 0 : onMenu;
16493
- const hasTrailing = cartOn || Boolean(menu);
16532
+ const hasTrailing = cartOn || Boolean(menu) || help2;
16494
16533
  const nav = useScreenNav();
16495
16534
  const navClaimed = useShopNavClaimed();
16496
16535
  const wide2 = Boolean(nav && nav.crumbs.length > 0);
@@ -16511,13 +16550,13 @@ function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingPr
16511
16550
  } : {}
16512
16551
  }) : null, jsxs("header", {
16513
16552
  className: classes,
16514
- children: [onBack ? jsx("button", {
16553
+ children: [back ? jsx("button", {
16515
16554
  type: "button",
16516
16555
  className: styles.iconBtn,
16517
16556
  "aria-label": backLabel ?? t("Back"),
16518
- onClick: onBack,
16557
+ onClick: back,
16519
16558
  children: jsx(ChevronLeft, {})
16520
- }) : jsx("span", {
16559
+ }) : leading2 === "none" ? null : jsx("span", {
16521
16560
  className: styles.spacer,
16522
16561
  "aria-hidden": "true"
16523
16562
  }), shownTitle ? jsx("span", {
@@ -16533,6 +16572,17 @@ function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingPr
16533
16572
  "aria-hidden": "true",
16534
16573
  children: cartCount > 99 ? "99+" : cartCount
16535
16574
  }) : null]
16575
+ }) : null, help2 ? jsx("button", {
16576
+ type: "button",
16577
+ className: `${styles.iconBtn} ${styles.menuBtn}`,
16578
+ "aria-label": helpLabel ?? t("Help"),
16579
+ onClick: () => {
16580
+ emit({
16581
+ type: "help_requested"
16582
+ });
16583
+ onHelp?.();
16584
+ },
16585
+ children: jsx(HelpIcon, {})
16536
16586
  }) : null, menu ? jsx("button", {
16537
16587
  type: "button",
16538
16588
  className: `${styles.iconBtn} ${styles.menuBtn}`,
@@ -16629,6 +16679,7 @@ function toGa4Event(event) {
16629
16679
  case "ready":
16630
16680
  case "navigate":
16631
16681
  case "support_requested":
16682
+ case "help_requested":
16632
16683
  case "order_cancellation_requested":
16633
16684
  case "reorder_requested":
16634
16685
  case "session_required":
@@ -5761,6 +5761,7 @@ async function restoreSetAside(cart2, writer, query, { force = false } = {}) {
5761
5761
  const ScreenTitleContext = createContext({
5762
5762
  title: void 0,
5763
5763
  trailing: "default",
5764
+ leading: "default",
5764
5765
  claim: () => () => {
5765
5766
  }
5766
5767
  });
@@ -5768,23 +5769,27 @@ const SuppressedContext = createContext(false);
5768
5769
  function ScreenTitleProvider({ children }) {
5769
5770
  const [title2, setTitle] = useState(void 0);
5770
5771
  const [trailing, setTrailing] = useState("default");
5772
+ const [leading2, setLeading] = useState("default");
5771
5773
  const held = useRef(void 0);
5772
- const claim = useCallback((next, nextTrailing) => {
5774
+ const claim = useCallback((next, nextTrailing, nextLeading) => {
5773
5775
  held.current = next;
5774
5776
  setTitle(next);
5775
5777
  setTrailing(nextTrailing);
5778
+ setLeading(nextLeading);
5776
5779
  return () => {
5777
5780
  if (held.current !== next) return;
5778
5781
  held.current = void 0;
5779
5782
  setTitle(void 0);
5780
5783
  setTrailing("default");
5784
+ setLeading("default");
5781
5785
  };
5782
5786
  }, []);
5783
5787
  const value2 = useMemo(() => ({
5784
5788
  title: title2,
5785
5789
  trailing,
5790
+ leading: leading2,
5786
5791
  claim
5787
- }), [title2, trailing, claim]);
5792
+ }), [title2, trailing, leading2, claim]);
5788
5793
  return jsx(ScreenTitleContext.Provider, {
5789
5794
  value: value2,
5790
5795
  children: jsx(ScreenNavProvider, {
@@ -5800,13 +5805,16 @@ function useScreenTitle() {
5800
5805
  function useScreenTrailing() {
5801
5806
  return useContext(ScreenTitleContext).trailing;
5802
5807
  }
5803
- function useSetScreenTitle(title2, trailing = "default") {
5808
+ function useScreenLeading() {
5809
+ return useContext(ScreenTitleContext).leading;
5810
+ }
5811
+ function useSetScreenTitle(title2, trailing = "default", leading2 = "default") {
5804
5812
  const { claim } = useContext(ScreenTitleContext);
5805
5813
  const suppressed = useContext(SuppressedContext);
5806
5814
  useEffect(() => {
5807
5815
  if (suppressed || title2 === void 0) return;
5808
- return claim(title2, trailing);
5809
- }, [claim, title2, trailing, suppressed]);
5816
+ return claim(title2, trailing, leading2);
5817
+ }, [claim, title2, trailing, leading2, suppressed]);
5810
5818
  }
5811
5819
  function NoScreenTitle({ children }) {
5812
5820
  return jsx(SuppressedContext.Provider, {
@@ -6523,6 +6531,7 @@ const ES = {
6523
6531
  "Gallery pagination": "Paginación de la galería",
6524
6532
  "Go to image {0}": "Ir a la imagen {0}",
6525
6533
  "Heavyweight comfort built for training days and off-duty moments": "Comodidad y resistencia pensadas para los días de entrenamiento y los momentos de ocio",
6534
+ Help: "Ayuda",
6526
6535
  "Help & Support": "Ayuda y asistencia",
6527
6536
  Hoodies: "Sudaderas con capucha",
6528
6537
  "Increase quantity": "Aumentar la cantidad",
@@ -14828,18 +14837,41 @@ function requireDist() {
14828
14837
  return dist;
14829
14838
  }
14830
14839
  var distExports = requireDist();
14831
- const hero$1 = "_hero_15sq4_1";
14832
- const image$1 = "_image_15sq4_11";
14833
- const foot = "_foot_15sq4_34";
14834
- const text$1 = "_text_15sq4_40";
14835
- const logo$1 = "_logo_15sq4_48";
14836
- const copy$1 = "_copy_15sq4_53";
14837
- const headline = "_headline_15sq4_62";
14838
- const body = "_body_15sq4_70";
14839
- const cta$2 = "_cta_15sq4_79";
14840
- const video = "_video_15sq4_83";
14841
- const desktopOnly = "_desktopOnly_15sq4_87";
14842
- const phoneOnly$1 = "_phoneOnly_15sq4_97";
14840
+ function useRoomBelow(ref, property) {
14841
+ useEffect(() => {
14842
+ const el = ref.current;
14843
+ const host = el?.parentElement?.parentElement;
14844
+ if (!el || !host) return;
14845
+ const measure = () => {
14846
+ const room = Math.round(host.getBoundingClientRect().bottom - el.getBoundingClientRect().top);
14847
+ if (room > 0) el.style.setProperty(property, `${room}px`);
14848
+ else el.style.removeProperty(property);
14849
+ };
14850
+ measure();
14851
+ const frame2 = typeof requestAnimationFrame === "undefined" ? void 0 : requestAnimationFrame(measure);
14852
+ window.addEventListener("resize", measure);
14853
+ const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
14854
+ observer?.observe(host);
14855
+ return () => {
14856
+ if (frame2 !== void 0) cancelAnimationFrame(frame2);
14857
+ window.removeEventListener("resize", measure);
14858
+ observer?.disconnect();
14859
+ el.style.removeProperty(property);
14860
+ };
14861
+ }, [ref, property]);
14862
+ }
14863
+ const hero$1 = "_hero_1ddez_1";
14864
+ const image$1 = "_image_1ddez_11";
14865
+ const foot = "_foot_1ddez_34";
14866
+ const text$1 = "_text_1ddez_40";
14867
+ const logo$1 = "_logo_1ddez_48";
14868
+ const copy$1 = "_copy_1ddez_53";
14869
+ const headline = "_headline_1ddez_62";
14870
+ const body = "_body_1ddez_70";
14871
+ const cta$2 = "_cta_1ddez_79";
14872
+ const video = "_video_1ddez_83";
14873
+ const desktopOnly = "_desktopOnly_1ddez_87";
14874
+ const phoneOnly$1 = "_phoneOnly_1ddez_97";
14843
14875
  const hero$2 = {
14844
14876
  hero: hero$1,
14845
14877
  image: image$1,
@@ -14859,6 +14891,7 @@ function VipHero({ hero: hero2, onContinue }) {
14859
14891
  const assetUrl = useAssetUrl();
14860
14892
  const ref = useRef(null);
14861
14893
  useTopOffset(ref, "--vip-hero-top");
14894
+ useRoomBelow(ref, "--vip-hero-room");
14862
14895
  useSetScreenBackdrop("media");
14863
14896
  const desktopImage = hero2.desktop_image ?? null;
14864
14897
  const desktopVideo = hero2.desktop_video ?? null;
@@ -14937,6 +14970,7 @@ function VipInviteNotice({ title: title2, body: body3 }) {
14937
14970
  const navigate = useNavigate();
14938
14971
  const ref = useRef(null);
14939
14972
  useTopOffset(ref, "--vip-hero-top");
14973
+ useRoomBelow(ref, "--vip-hero-room");
14940
14974
  useSetScreenBackdrop("media");
14941
14975
  const explore = () => {
14942
14976
  if (navigate) {
@@ -15091,7 +15125,7 @@ function VipLandingView({ token, onUnavailable, screen: screen2 = "hero" }) {
15091
15125
  const [attempt, setAttempt] = useState(0);
15092
15126
  const emitRef = useRef(emit);
15093
15127
  emitRef.current = emit;
15094
- useSetScreenTitle(t("DAZN Shop"), "none");
15128
+ useSetScreenTitle(screen2 === "product" ? "" : t("DAZN Shop"), "help", screen2 === "product" ? "default" : "none");
15095
15129
  useEffect(() => {
15096
15130
  const target = locatorOf(token);
15097
15131
  if (!target) {
@@ -16480,17 +16514,22 @@ function CheckoutBar({ title: title2, onClose, closeLabel, className }) {
16480
16514
  })]
16481
16515
  });
16482
16516
  }
16483
- function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingProp, scrolled: scrolled2, backLabel, menuLabel, className }) {
16517
+ function ShopBar({ onBack, onMenu, onHelp, helpLabel, title: title2, showCart, floating: floatingProp, scrolled: scrolled2, backLabel, menuLabel, className }) {
16484
16518
  const backdrop = useScreenBackdrop();
16485
- const floating2 = floatingProp ?? backdrop === "media";
16519
+ const floating2 = backdrop === "media" || (floatingProp ?? false);
16486
16520
  const t = useT();
16521
+ const emit = useShopEvent();
16522
+ const leading2 = useScreenLeading();
16523
+ const back = leading2 === "none" ? void 0 : onBack;
16487
16524
  const cartCount = useCartCount();
16488
16525
  const screenTitle = useScreenTitle();
16489
16526
  const shownTitle = title2 ?? screenTitle;
16490
- const bare = useScreenTrailing() === "none";
16491
- const cartOn = showCart ?? !bare;
16527
+ const trailing = useScreenTrailing();
16528
+ const help2 = trailing === "help";
16529
+ const bare = trailing !== "default";
16530
+ const cartOn = help2 ? false : showCart ?? !bare;
16492
16531
  const menu = bare ? void 0 : onMenu;
16493
- const hasTrailing = cartOn || Boolean(menu);
16532
+ const hasTrailing = cartOn || Boolean(menu) || help2;
16494
16533
  const nav = useScreenNav();
16495
16534
  const navClaimed = useShopNavClaimed();
16496
16535
  const wide2 = Boolean(nav && nav.crumbs.length > 0);
@@ -16511,13 +16550,13 @@ function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingPr
16511
16550
  } : {}
16512
16551
  }) : null, jsxs("header", {
16513
16552
  className: classes,
16514
- children: [onBack ? jsx("button", {
16553
+ children: [back ? jsx("button", {
16515
16554
  type: "button",
16516
16555
  className: styles.iconBtn,
16517
16556
  "aria-label": backLabel ?? t("Back"),
16518
- onClick: onBack,
16557
+ onClick: back,
16519
16558
  children: jsx(ChevronLeft, {})
16520
- }) : jsx("span", {
16559
+ }) : leading2 === "none" ? null : jsx("span", {
16521
16560
  className: styles.spacer,
16522
16561
  "aria-hidden": "true"
16523
16562
  }), shownTitle ? jsx("span", {
@@ -16533,6 +16572,17 @@ function ShopBar({ onBack, onMenu, title: title2, showCart, floating: floatingPr
16533
16572
  "aria-hidden": "true",
16534
16573
  children: cartCount > 99 ? "99+" : cartCount
16535
16574
  }) : null]
16575
+ }) : null, help2 ? jsx("button", {
16576
+ type: "button",
16577
+ className: `${styles.iconBtn} ${styles.menuBtn}`,
16578
+ "aria-label": helpLabel ?? t("Help"),
16579
+ onClick: () => {
16580
+ emit({
16581
+ type: "help_requested"
16582
+ });
16583
+ onHelp?.();
16584
+ },
16585
+ children: jsx(HelpIcon, {})
16536
16586
  }) : null, menu ? jsx("button", {
16537
16587
  type: "button",
16538
16588
  className: `${styles.iconBtn} ${styles.menuBtn}`,
@@ -16629,6 +16679,7 @@ function toGa4Event(event) {
16629
16679
  case "ready":
16630
16680
  case "navigate":
16631
16681
  case "support_requested":
16682
+ case "help_requested":
16632
16683
  case "order_cancellation_requested":
16633
16684
  case "reorder_requested":
16634
16685
  case "session_required":
@@ -4689,20 +4689,20 @@
4689
4689
  display: block;
4690
4690
  }
4691
4691
  }
4692
- ._hero_15sq4_1 {
4692
+ ._hero_1ddez_1 {
4693
4693
  position: relative;
4694
4694
  display: flex;
4695
4695
  flex-direction: column;
4696
4696
  justify-content: flex-end;
4697
- min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)));
4697
+ min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)), var(--vip-hero-room, 0px));
4698
4698
  overflow: hidden;
4699
4699
  background: var(--color-surface-default);
4700
4700
  }
4701
- ._image_15sq4_11 {
4701
+ ._image_1ddez_11 {
4702
4702
  position: absolute;
4703
4703
  inset: 0;
4704
4704
  }
4705
- ._image_15sq4_11::after {
4705
+ ._image_1ddez_11::after {
4706
4706
  content: "";
4707
4707
  position: absolute;
4708
4708
  inset: 0;
@@ -4714,27 +4714,27 @@
4714
4714
  rgba(8, 14, 18, 0) 382px);
4715
4715
  pointer-events: none;
4716
4716
  }
4717
- ._image_15sq4_11 img {
4717
+ ._image_1ddez_11 img {
4718
4718
  object-fit: cover;
4719
4719
  object-position: top center;
4720
4720
  }
4721
- ._foot_15sq4_34 {
4721
+ ._foot_1ddez_34 {
4722
4722
  position: relative;
4723
4723
  display: flex;
4724
4724
  flex-direction: column;
4725
4725
  }
4726
- ._text_15sq4_40 {
4726
+ ._text_1ddez_40 {
4727
4727
  display: flex;
4728
4728
  flex-direction: column;
4729
4729
  align-items: center;
4730
4730
  gap: var(--space-16);
4731
4731
  padding: 0 var(--space-16) var(--space-8);
4732
4732
  }
4733
- ._text_15sq4_40 ._logo_15sq4_48 {
4733
+ ._text_1ddez_40 ._logo_1ddez_48 {
4734
4734
  width: 48px;
4735
4735
  height: 48px;
4736
4736
  }
4737
- ._copy_15sq4_53 {
4737
+ ._copy_1ddez_53 {
4738
4738
  display: flex;
4739
4739
  flex-direction: column;
4740
4740
  gap: 6px;
@@ -4742,14 +4742,14 @@
4742
4742
  text-align: center;
4743
4743
  overflow-wrap: break-word;
4744
4744
  }
4745
- ._headline_15sq4_62 {
4745
+ ._headline_1ddez_62 {
4746
4746
  margin: 0;
4747
4747
  font-size: 36px;
4748
4748
  line-height: 1.1;
4749
4749
  font-weight: var(--font-weight-bold);
4750
4750
  color: var(--color-text-default);
4751
4751
  }
4752
- ._body_15sq4_70 {
4752
+ ._body_1ddez_70 {
4753
4753
  margin: 0;
4754
4754
  font-size: var(--type-paragraph-size);
4755
4755
  line-height: var(--type-paragraph-line);
@@ -4757,69 +4757,69 @@
4757
4757
  color: var(--color-text-default);
4758
4758
  white-space: pre-line;
4759
4759
  }
4760
- ._cta_15sq4_79 {
4760
+ ._cta_1ddez_79 {
4761
4761
  padding: var(--space-16) var(--space-16) var(--space-24);
4762
4762
  }
4763
- ._video_15sq4_83 {
4763
+ ._video_1ddez_83 {
4764
4764
  object-fit: cover;
4765
4765
  }
4766
- ._desktopOnly_15sq4_87 {
4766
+ ._desktopOnly_1ddez_87 {
4767
4767
  display: none;
4768
4768
  }
4769
4769
  @media (min-width: 1200px) {
4770
- ._hero_15sq4_1 {
4770
+ ._hero_1ddez_1 {
4771
4771
  justify-content: center;
4772
- min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)));
4772
+ min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)), var(--vip-hero-room, 0px));
4773
4773
  }
4774
- ._phoneOnly_15sq4_97 {
4774
+ ._phoneOnly_1ddez_97 {
4775
4775
  display: none;
4776
4776
  }
4777
- ._desktopOnly_15sq4_87 {
4777
+ ._desktopOnly_1ddez_87 {
4778
4778
  display: block;
4779
4779
  }
4780
- ._image_15sq4_11::after {
4780
+ ._image_1ddez_11::after {
4781
4781
  background:
4782
4782
  linear-gradient(
4783
4783
  to right,
4784
4784
  rgba(8, 14, 18, 0.9) 0,
4785
4785
  rgba(8, 14, 18, 0) 53.33%);
4786
4786
  }
4787
- ._image_15sq4_11 img,
4788
- ._video_15sq4_83 {
4787
+ ._image_1ddez_11 img,
4788
+ ._video_1ddez_83 {
4789
4789
  object-position: center;
4790
4790
  }
4791
- ._foot_15sq4_34 {
4791
+ ._foot_1ddez_34 {
4792
4792
  gap: var(--space-16);
4793
4793
  width: 100%;
4794
4794
  max-width: 624px;
4795
4795
  padding-left: 64px;
4796
4796
  }
4797
- ._text_15sq4_40 {
4797
+ ._text_1ddez_40 {
4798
4798
  align-items: flex-start;
4799
4799
  padding: 0;
4800
4800
  }
4801
- ._text_15sq4_40 ._logo_15sq4_48 {
4801
+ ._text_1ddez_40 ._logo_1ddez_48 {
4802
4802
  display: none;
4803
4803
  }
4804
- ._copy_15sq4_53 {
4804
+ ._copy_1ddez_53 {
4805
4805
  gap: var(--space-16);
4806
4806
  text-align: left;
4807
4807
  }
4808
- ._headline_15sq4_62 {
4808
+ ._headline_1ddez_62 {
4809
4809
  font-size: 64px;
4810
4810
  line-height: 0.9375;
4811
4811
  letter-spacing: -0.64px;
4812
4812
  }
4813
- ._body_15sq4_70 {
4813
+ ._body_1ddez_70 {
4814
4814
  max-width: 520px;
4815
4815
  font-size: 20px;
4816
4816
  line-height: 1.4;
4817
4817
  white-space: normal;
4818
4818
  }
4819
- ._cta_15sq4_79 {
4819
+ ._cta_1ddez_79 {
4820
4820
  padding: var(--space-8) 0 0;
4821
4821
  }
4822
- ._cta_15sq4_79 > * {
4822
+ ._cta_1ddez_79 > * {
4823
4823
  width: auto;
4824
4824
  min-width: 173px;
4825
4825
  }
package/dist/styles.css CHANGED
@@ -4689,20 +4689,20 @@
4689
4689
  display: block;
4690
4690
  }
4691
4691
  }
4692
- ._hero_15sq4_1 {
4692
+ ._hero_1ddez_1 {
4693
4693
  position: relative;
4694
4694
  display: flex;
4695
4695
  flex-direction: column;
4696
4696
  justify-content: flex-end;
4697
- min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)));
4697
+ min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)), var(--vip-hero-room, 0px));
4698
4698
  overflow: hidden;
4699
4699
  background: var(--color-surface-default);
4700
4700
  }
4701
- ._image_15sq4_11 {
4701
+ ._image_1ddez_11 {
4702
4702
  position: absolute;
4703
4703
  inset: 0;
4704
4704
  }
4705
- ._image_15sq4_11::after {
4705
+ ._image_1ddez_11::after {
4706
4706
  content: "";
4707
4707
  position: absolute;
4708
4708
  inset: 0;
@@ -4714,27 +4714,27 @@
4714
4714
  rgba(8, 14, 18, 0) 382px);
4715
4715
  pointer-events: none;
4716
4716
  }
4717
- ._image_15sq4_11 img {
4717
+ ._image_1ddez_11 img {
4718
4718
  object-fit: cover;
4719
4719
  object-position: top center;
4720
4720
  }
4721
- ._foot_15sq4_34 {
4721
+ ._foot_1ddez_34 {
4722
4722
  position: relative;
4723
4723
  display: flex;
4724
4724
  flex-direction: column;
4725
4725
  }
4726
- ._text_15sq4_40 {
4726
+ ._text_1ddez_40 {
4727
4727
  display: flex;
4728
4728
  flex-direction: column;
4729
4729
  align-items: center;
4730
4730
  gap: var(--space-16);
4731
4731
  padding: 0 var(--space-16) var(--space-8);
4732
4732
  }
4733
- ._text_15sq4_40 ._logo_15sq4_48 {
4733
+ ._text_1ddez_40 ._logo_1ddez_48 {
4734
4734
  width: 48px;
4735
4735
  height: 48px;
4736
4736
  }
4737
- ._copy_15sq4_53 {
4737
+ ._copy_1ddez_53 {
4738
4738
  display: flex;
4739
4739
  flex-direction: column;
4740
4740
  gap: 6px;
@@ -4742,14 +4742,14 @@
4742
4742
  text-align: center;
4743
4743
  overflow-wrap: break-word;
4744
4744
  }
4745
- ._headline_15sq4_62 {
4745
+ ._headline_1ddez_62 {
4746
4746
  margin: 0;
4747
4747
  font-size: 36px;
4748
4748
  line-height: 1.1;
4749
4749
  font-weight: var(--font-weight-bold);
4750
4750
  color: var(--color-text-default);
4751
4751
  }
4752
- ._body_15sq4_70 {
4752
+ ._body_1ddez_70 {
4753
4753
  margin: 0;
4754
4754
  font-size: var(--type-paragraph-size);
4755
4755
  line-height: var(--type-paragraph-line);
@@ -4757,69 +4757,69 @@
4757
4757
  color: var(--color-text-default);
4758
4758
  white-space: pre-line;
4759
4759
  }
4760
- ._cta_15sq4_79 {
4760
+ ._cta_1ddez_79 {
4761
4761
  padding: var(--space-16) var(--space-16) var(--space-24);
4762
4762
  }
4763
- ._video_15sq4_83 {
4763
+ ._video_1ddez_83 {
4764
4764
  object-fit: cover;
4765
4765
  }
4766
- ._desktopOnly_15sq4_87 {
4766
+ ._desktopOnly_1ddez_87 {
4767
4767
  display: none;
4768
4768
  }
4769
4769
  @media (min-width: 1200px) {
4770
- ._hero_15sq4_1 {
4770
+ ._hero_1ddez_1 {
4771
4771
  justify-content: center;
4772
- min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)));
4772
+ min-height: max(480px, calc(100svh - var(--vip-hero-top, 0px)), var(--vip-hero-room, 0px));
4773
4773
  }
4774
- ._phoneOnly_15sq4_97 {
4774
+ ._phoneOnly_1ddez_97 {
4775
4775
  display: none;
4776
4776
  }
4777
- ._desktopOnly_15sq4_87 {
4777
+ ._desktopOnly_1ddez_87 {
4778
4778
  display: block;
4779
4779
  }
4780
- ._image_15sq4_11::after {
4780
+ ._image_1ddez_11::after {
4781
4781
  background:
4782
4782
  linear-gradient(
4783
4783
  to right,
4784
4784
  rgba(8, 14, 18, 0.9) 0,
4785
4785
  rgba(8, 14, 18, 0) 53.33%);
4786
4786
  }
4787
- ._image_15sq4_11 img,
4788
- ._video_15sq4_83 {
4787
+ ._image_1ddez_11 img,
4788
+ ._video_1ddez_83 {
4789
4789
  object-position: center;
4790
4790
  }
4791
- ._foot_15sq4_34 {
4791
+ ._foot_1ddez_34 {
4792
4792
  gap: var(--space-16);
4793
4793
  width: 100%;
4794
4794
  max-width: 624px;
4795
4795
  padding-left: 64px;
4796
4796
  }
4797
- ._text_15sq4_40 {
4797
+ ._text_1ddez_40 {
4798
4798
  align-items: flex-start;
4799
4799
  padding: 0;
4800
4800
  }
4801
- ._text_15sq4_40 ._logo_15sq4_48 {
4801
+ ._text_1ddez_40 ._logo_1ddez_48 {
4802
4802
  display: none;
4803
4803
  }
4804
- ._copy_15sq4_53 {
4804
+ ._copy_1ddez_53 {
4805
4805
  gap: var(--space-16);
4806
4806
  text-align: left;
4807
4807
  }
4808
- ._headline_15sq4_62 {
4808
+ ._headline_1ddez_62 {
4809
4809
  font-size: 64px;
4810
4810
  line-height: 0.9375;
4811
4811
  letter-spacing: -0.64px;
4812
4812
  }
4813
- ._body_15sq4_70 {
4813
+ ._body_1ddez_70 {
4814
4814
  max-width: 520px;
4815
4815
  font-size: 20px;
4816
4816
  line-height: 1.4;
4817
4817
  white-space: normal;
4818
4818
  }
4819
- ._cta_15sq4_79 {
4819
+ ._cta_1ddez_79 {
4820
4820
  padding: var(--space-8) 0 0;
4821
4821
  }
4822
- ._cta_15sq4_79 > * {
4822
+ ._cta_1ddez_79 > * {
4823
4823
  width: auto;
4824
4824
  min-width: 173px;
4825
4825
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nok-integration/storefront-react",
3
- "version": "0.29.14",
3
+ "version": "0.29.16",
4
4
  "description": "Mountable React storefront components: catalogue, product detail and cart, mounted directly into a host DOM tree. No iframe.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",