@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 +4 -0
- package/dist/index.mjs +77 -26
- package/dist/standalone/storefront.mjs +77 -26
- package/dist/standalone/styles.css +29 -29
- package/dist/styles.css +29 -29
- package/package.json +1 -1
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
|
|
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
|
-
|
|
14832
|
-
|
|
14833
|
-
const
|
|
14834
|
-
const
|
|
14835
|
-
|
|
14836
|
-
const
|
|
14837
|
-
const
|
|
14838
|
-
|
|
14839
|
-
|
|
14840
|
-
|
|
14841
|
-
|
|
14842
|
-
const
|
|
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 =
|
|
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
|
|
16491
|
-
const
|
|
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: [
|
|
16553
|
+
children: [back ? jsx("button", {
|
|
16515
16554
|
type: "button",
|
|
16516
16555
|
className: styles.iconBtn,
|
|
16517
16556
|
"aria-label": backLabel ?? t("Back"),
|
|
16518
|
-
onClick:
|
|
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
|
|
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
|
-
|
|
14832
|
-
|
|
14833
|
-
const
|
|
14834
|
-
const
|
|
14835
|
-
|
|
14836
|
-
const
|
|
14837
|
-
const
|
|
14838
|
-
|
|
14839
|
-
|
|
14840
|
-
|
|
14841
|
-
|
|
14842
|
-
const
|
|
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 =
|
|
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
|
|
16491
|
-
const
|
|
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: [
|
|
16553
|
+
children: [back ? jsx("button", {
|
|
16515
16554
|
type: "button",
|
|
16516
16555
|
className: styles.iconBtn,
|
|
16517
16556
|
"aria-label": backLabel ?? t("Back"),
|
|
16518
|
-
onClick:
|
|
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
|
-
.
|
|
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
|
-
.
|
|
4701
|
+
._image_1ddez_11 {
|
|
4702
4702
|
position: absolute;
|
|
4703
4703
|
inset: 0;
|
|
4704
4704
|
}
|
|
4705
|
-
.
|
|
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
|
-
.
|
|
4717
|
+
._image_1ddez_11 img {
|
|
4718
4718
|
object-fit: cover;
|
|
4719
4719
|
object-position: top center;
|
|
4720
4720
|
}
|
|
4721
|
-
.
|
|
4721
|
+
._foot_1ddez_34 {
|
|
4722
4722
|
position: relative;
|
|
4723
4723
|
display: flex;
|
|
4724
4724
|
flex-direction: column;
|
|
4725
4725
|
}
|
|
4726
|
-
.
|
|
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
|
-
.
|
|
4733
|
+
._text_1ddez_40 ._logo_1ddez_48 {
|
|
4734
4734
|
width: 48px;
|
|
4735
4735
|
height: 48px;
|
|
4736
4736
|
}
|
|
4737
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
4760
|
+
._cta_1ddez_79 {
|
|
4761
4761
|
padding: var(--space-16) var(--space-16) var(--space-24);
|
|
4762
4762
|
}
|
|
4763
|
-
.
|
|
4763
|
+
._video_1ddez_83 {
|
|
4764
4764
|
object-fit: cover;
|
|
4765
4765
|
}
|
|
4766
|
-
.
|
|
4766
|
+
._desktopOnly_1ddez_87 {
|
|
4767
4767
|
display: none;
|
|
4768
4768
|
}
|
|
4769
4769
|
@media (min-width: 1200px) {
|
|
4770
|
-
.
|
|
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
|
-
.
|
|
4774
|
+
._phoneOnly_1ddez_97 {
|
|
4775
4775
|
display: none;
|
|
4776
4776
|
}
|
|
4777
|
-
.
|
|
4777
|
+
._desktopOnly_1ddez_87 {
|
|
4778
4778
|
display: block;
|
|
4779
4779
|
}
|
|
4780
|
-
.
|
|
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
|
-
.
|
|
4788
|
-
.
|
|
4787
|
+
._image_1ddez_11 img,
|
|
4788
|
+
._video_1ddez_83 {
|
|
4789
4789
|
object-position: center;
|
|
4790
4790
|
}
|
|
4791
|
-
.
|
|
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
|
-
.
|
|
4797
|
+
._text_1ddez_40 {
|
|
4798
4798
|
align-items: flex-start;
|
|
4799
4799
|
padding: 0;
|
|
4800
4800
|
}
|
|
4801
|
-
.
|
|
4801
|
+
._text_1ddez_40 ._logo_1ddez_48 {
|
|
4802
4802
|
display: none;
|
|
4803
4803
|
}
|
|
4804
|
-
.
|
|
4804
|
+
._copy_1ddez_53 {
|
|
4805
4805
|
gap: var(--space-16);
|
|
4806
4806
|
text-align: left;
|
|
4807
4807
|
}
|
|
4808
|
-
.
|
|
4808
|
+
._headline_1ddez_62 {
|
|
4809
4809
|
font-size: 64px;
|
|
4810
4810
|
line-height: 0.9375;
|
|
4811
4811
|
letter-spacing: -0.64px;
|
|
4812
4812
|
}
|
|
4813
|
-
.
|
|
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
|
-
.
|
|
4819
|
+
._cta_1ddez_79 {
|
|
4820
4820
|
padding: var(--space-8) 0 0;
|
|
4821
4821
|
}
|
|
4822
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
4701
|
+
._image_1ddez_11 {
|
|
4702
4702
|
position: absolute;
|
|
4703
4703
|
inset: 0;
|
|
4704
4704
|
}
|
|
4705
|
-
.
|
|
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
|
-
.
|
|
4717
|
+
._image_1ddez_11 img {
|
|
4718
4718
|
object-fit: cover;
|
|
4719
4719
|
object-position: top center;
|
|
4720
4720
|
}
|
|
4721
|
-
.
|
|
4721
|
+
._foot_1ddez_34 {
|
|
4722
4722
|
position: relative;
|
|
4723
4723
|
display: flex;
|
|
4724
4724
|
flex-direction: column;
|
|
4725
4725
|
}
|
|
4726
|
-
.
|
|
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
|
-
.
|
|
4733
|
+
._text_1ddez_40 ._logo_1ddez_48 {
|
|
4734
4734
|
width: 48px;
|
|
4735
4735
|
height: 48px;
|
|
4736
4736
|
}
|
|
4737
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
4760
|
+
._cta_1ddez_79 {
|
|
4761
4761
|
padding: var(--space-16) var(--space-16) var(--space-24);
|
|
4762
4762
|
}
|
|
4763
|
-
.
|
|
4763
|
+
._video_1ddez_83 {
|
|
4764
4764
|
object-fit: cover;
|
|
4765
4765
|
}
|
|
4766
|
-
.
|
|
4766
|
+
._desktopOnly_1ddez_87 {
|
|
4767
4767
|
display: none;
|
|
4768
4768
|
}
|
|
4769
4769
|
@media (min-width: 1200px) {
|
|
4770
|
-
.
|
|
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
|
-
.
|
|
4774
|
+
._phoneOnly_1ddez_97 {
|
|
4775
4775
|
display: none;
|
|
4776
4776
|
}
|
|
4777
|
-
.
|
|
4777
|
+
._desktopOnly_1ddez_87 {
|
|
4778
4778
|
display: block;
|
|
4779
4779
|
}
|
|
4780
|
-
.
|
|
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
|
-
.
|
|
4788
|
-
.
|
|
4787
|
+
._image_1ddez_11 img,
|
|
4788
|
+
._video_1ddez_83 {
|
|
4789
4789
|
object-position: center;
|
|
4790
4790
|
}
|
|
4791
|
-
.
|
|
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
|
-
.
|
|
4797
|
+
._text_1ddez_40 {
|
|
4798
4798
|
align-items: flex-start;
|
|
4799
4799
|
padding: 0;
|
|
4800
4800
|
}
|
|
4801
|
-
.
|
|
4801
|
+
._text_1ddez_40 ._logo_1ddez_48 {
|
|
4802
4802
|
display: none;
|
|
4803
4803
|
}
|
|
4804
|
-
.
|
|
4804
|
+
._copy_1ddez_53 {
|
|
4805
4805
|
gap: var(--space-16);
|
|
4806
4806
|
text-align: left;
|
|
4807
4807
|
}
|
|
4808
|
-
.
|
|
4808
|
+
._headline_1ddez_62 {
|
|
4809
4809
|
font-size: 64px;
|
|
4810
4810
|
line-height: 0.9375;
|
|
4811
4811
|
letter-spacing: -0.64px;
|
|
4812
4812
|
}
|
|
4813
|
-
.
|
|
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
|
-
.
|
|
4819
|
+
._cta_1ddez_79 {
|
|
4820
4820
|
padding: var(--space-8) 0 0;
|
|
4821
4821
|
}
|
|
4822
|
-
.
|
|
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.
|
|
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",
|