@nok-integration/storefront-react 0.19.8 → 0.19.10

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.mjs CHANGED
@@ -8053,21 +8053,21 @@ function formatPlaced(iso, locale) {
8053
8053
  year: "numeric"
8054
8054
  })}`;
8055
8055
  }
8056
- const tile$1 = "_tile_1io44_7";
8057
- const media$2 = "_media_1io44_15";
8058
- const image$7 = "_image_1io44_25";
8059
- const placeholder$4 = "_placeholder_1io44_29";
8060
- const topBadge = "_topBadge_1io44_37";
8061
- const saleBadge$2 = "_saleBadge_1io44_78";
8062
- const oos$3 = "_oos_1io44_86";
8063
- const bottom = "_bottom_1io44_113";
8064
- const titlePrice$1 = "_titlePrice_1io44_100";
8065
- const title$f = "_title_1io44_5";
8066
- const swatches = "_swatches_1io44_179";
8067
- const swatch = "_swatch_1io44_179";
8068
- const swatchActive = "_swatchActive_1io44_196";
8069
- const swatchDot = "_swatchDot_1io44_200";
8070
- const large = "_large_1io44_211";
8056
+ const tile$1 = "_tile_1a177_7";
8057
+ const media$2 = "_media_1a177_15";
8058
+ const image$7 = "_image_1a177_25";
8059
+ const placeholder$4 = "_placeholder_1a177_29";
8060
+ const topBadge = "_topBadge_1a177_37";
8061
+ const saleBadge$2 = "_saleBadge_1a177_78";
8062
+ const oos$3 = "_oos_1a177_86";
8063
+ const bottom = "_bottom_1a177_113";
8064
+ const titlePrice$1 = "_titlePrice_1a177_100";
8065
+ const title$f = "_title_1a177_5";
8066
+ const swatches = "_swatches_1a177_181";
8067
+ const swatch = "_swatch_1a177_181";
8068
+ const swatchActive = "_swatchActive_1a177_198";
8069
+ const swatchDot = "_swatchDot_1a177_202";
8070
+ const large = "_large_1a177_213";
8071
8071
  const styles$t = {
8072
8072
  tile: tile$1,
8073
8073
  media: media$2,
@@ -10567,24 +10567,24 @@ function ProductView({ sku, initialData, showRecommendations = true, onNotFound
10567
10567
  }
10568
10568
  return unavailable;
10569
10569
  }
10570
- const showcase = "_showcase_1y51o_40";
10571
- const panel = "_panel_1y51o_59";
10572
- const image = "_image_1y51o_88";
10573
- const heroImageBox = "_heroImageBox_1y51o_136";
10574
- const hero = "_hero_1y51o_136";
10575
- const heroContent = "_heroContent_1y51o_207";
10576
- const heroText = "_heroText_1y51o_224";
10577
- const logo = "_logo_1y51o_233";
10578
- const heroTitle = "_heroTitle_1y51o_253";
10579
- const heroSub = "_heroSub_1y51o_277";
10580
- const swipe = "_swipe_1y51o_290";
10581
- const swipeLabel = "_swipeLabel_1y51o_298";
10582
- const chevron$1 = "_chevron_1y51o_304";
10583
- const overlay$1 = "_overlay_1y51o_321";
10584
- const copy = "_copy_1y51o_332";
10585
- const title$2 = "_title_1y51o_337";
10586
- const subtitle$1 = "_subtitle_1y51o_344";
10587
- const cta = "_cta_1y51o_350";
10570
+ const showcase = "_showcase_a0wva_39";
10571
+ const panel = "_panel_a0wva_43";
10572
+ const image = "_image_a0wva_71";
10573
+ const heroImageBox = "_heroImageBox_a0wva_119";
10574
+ const hero = "_hero_a0wva_119";
10575
+ const heroContent = "_heroContent_a0wva_190";
10576
+ const heroText = "_heroText_a0wva_207";
10577
+ const logo = "_logo_a0wva_216";
10578
+ const heroTitle = "_heroTitle_a0wva_236";
10579
+ const heroSub = "_heroSub_a0wva_260";
10580
+ const swipe = "_swipe_a0wva_273";
10581
+ const swipeLabel = "_swipeLabel_a0wva_281";
10582
+ const chevron$1 = "_chevron_a0wva_287";
10583
+ const overlay$1 = "_overlay_a0wva_304";
10584
+ const copy = "_copy_a0wva_315";
10585
+ const title$2 = "_title_a0wva_320";
10586
+ const subtitle$1 = "_subtitle_a0wva_327";
10587
+ const cta = "_cta_a0wva_333";
10588
10588
  const styles$2 = {
10589
10589
  showcase,
10590
10590
  panel,
@@ -10605,41 +10605,35 @@ const styles$2 = {
10605
10605
  subtitle: subtitle$1,
10606
10606
  cta
10607
10607
  };
10608
- const SETTLE_MS = 250;
10609
- function useViewportHeight(ref, property, enabled = true) {
10608
+ const SETTLE_MS = 150;
10609
+ function useDocumentSnap(ref, enabled = true) {
10610
10610
  useEffect(() => {
10611
10611
  const el = ref.current;
10612
- if (!el || !enabled) return;
10612
+ if (!el || !enabled || typeof document === "undefined") return;
10613
+ const root2 = document.documentElement;
10614
+ const previousType = root2.style.scrollSnapType;
10615
+ const previousPadding = root2.style.scrollPaddingTop;
10613
10616
  let timer2;
10614
- const read = () => Math.round(window.visualViewport?.height ?? window.innerHeight);
10615
- const apply = () => {
10616
- const height = read();
10617
- if (height > 0) el.style.setProperty(property, `${height}px`);
10618
- };
10619
- const applySettled = () => {
10620
- const previous = el.clientHeight;
10621
- const index = previous > 0 ? Math.round(el.scrollTop / previous) : 0;
10622
- apply();
10623
- if (el.clientHeight > 0) el.scrollTo({
10624
- top: index * el.clientHeight,
10625
- behavior: "auto"
10626
- });
10617
+ const syncPadding = () => {
10618
+ const top = getComputedStyle(el).getPropertyValue("--showcase-top").trim();
10619
+ root2.style.scrollPaddingTop = top === "" ? "0px" : top;
10627
10620
  };
10628
10621
  const schedule = () => {
10629
10622
  if (timer2) clearTimeout(timer2);
10630
- timer2 = setTimeout(applySettled, SETTLE_MS);
10623
+ timer2 = setTimeout(syncPadding, SETTLE_MS);
10631
10624
  };
10632
- apply();
10625
+ root2.style.scrollSnapType = "y mandatory";
10626
+ syncPadding();
10633
10627
  window.addEventListener("resize", schedule);
10634
10628
  window.addEventListener("orientationchange", schedule);
10635
- window.visualViewport?.addEventListener("resize", schedule);
10636
10629
  return () => {
10637
10630
  if (timer2) clearTimeout(timer2);
10638
10631
  window.removeEventListener("resize", schedule);
10639
10632
  window.removeEventListener("orientationchange", schedule);
10640
- window.visualViewport?.removeEventListener("resize", schedule);
10633
+ root2.style.scrollSnapType = previousType;
10634
+ root2.style.scrollPaddingTop = previousPadding;
10641
10635
  };
10642
- }, [ref, property, enabled]);
10636
+ }, [ref, enabled]);
10643
10637
  }
10644
10638
  const FALLBACK_PANELS = [{
10645
10639
  key: "all-items",
@@ -10753,7 +10747,7 @@ function HomeShowcase() {
10753
10747
  const panels = useSlides();
10754
10748
  const showcaseRef = useRef(null);
10755
10749
  useTopOffset(showcaseRef, "--showcase-top");
10756
- useViewportHeight(showcaseRef, "--showcase-vh");
10750
+ useDocumentSnap(showcaseRef);
10757
10751
  return jsx(ShopSurface, {
10758
10752
  tone: "dark",
10759
10753
  children: jsxs("div", {
@@ -8053,21 +8053,21 @@ function formatPlaced(iso, locale) {
8053
8053
  year: "numeric"
8054
8054
  })}`;
8055
8055
  }
8056
- const tile$1 = "_tile_1io44_7";
8057
- const media$2 = "_media_1io44_15";
8058
- const image$7 = "_image_1io44_25";
8059
- const placeholder$4 = "_placeholder_1io44_29";
8060
- const topBadge = "_topBadge_1io44_37";
8061
- const saleBadge$2 = "_saleBadge_1io44_78";
8062
- const oos$3 = "_oos_1io44_86";
8063
- const bottom = "_bottom_1io44_113";
8064
- const titlePrice$1 = "_titlePrice_1io44_100";
8065
- const title$f = "_title_1io44_5";
8066
- const swatches = "_swatches_1io44_179";
8067
- const swatch = "_swatch_1io44_179";
8068
- const swatchActive = "_swatchActive_1io44_196";
8069
- const swatchDot = "_swatchDot_1io44_200";
8070
- const large = "_large_1io44_211";
8056
+ const tile$1 = "_tile_1a177_7";
8057
+ const media$2 = "_media_1a177_15";
8058
+ const image$7 = "_image_1a177_25";
8059
+ const placeholder$4 = "_placeholder_1a177_29";
8060
+ const topBadge = "_topBadge_1a177_37";
8061
+ const saleBadge$2 = "_saleBadge_1a177_78";
8062
+ const oos$3 = "_oos_1a177_86";
8063
+ const bottom = "_bottom_1a177_113";
8064
+ const titlePrice$1 = "_titlePrice_1a177_100";
8065
+ const title$f = "_title_1a177_5";
8066
+ const swatches = "_swatches_1a177_181";
8067
+ const swatch = "_swatch_1a177_181";
8068
+ const swatchActive = "_swatchActive_1a177_198";
8069
+ const swatchDot = "_swatchDot_1a177_202";
8070
+ const large = "_large_1a177_213";
8071
8071
  const styles$t = {
8072
8072
  tile: tile$1,
8073
8073
  media: media$2,
@@ -10567,24 +10567,24 @@ function ProductView({ sku, initialData, showRecommendations = true, onNotFound
10567
10567
  }
10568
10568
  return unavailable;
10569
10569
  }
10570
- const showcase = "_showcase_1y51o_40";
10571
- const panel = "_panel_1y51o_59";
10572
- const image = "_image_1y51o_88";
10573
- const heroImageBox = "_heroImageBox_1y51o_136";
10574
- const hero = "_hero_1y51o_136";
10575
- const heroContent = "_heroContent_1y51o_207";
10576
- const heroText = "_heroText_1y51o_224";
10577
- const logo = "_logo_1y51o_233";
10578
- const heroTitle = "_heroTitle_1y51o_253";
10579
- const heroSub = "_heroSub_1y51o_277";
10580
- const swipe = "_swipe_1y51o_290";
10581
- const swipeLabel = "_swipeLabel_1y51o_298";
10582
- const chevron$1 = "_chevron_1y51o_304";
10583
- const overlay$1 = "_overlay_1y51o_321";
10584
- const copy = "_copy_1y51o_332";
10585
- const title$2 = "_title_1y51o_337";
10586
- const subtitle$1 = "_subtitle_1y51o_344";
10587
- const cta = "_cta_1y51o_350";
10570
+ const showcase = "_showcase_a0wva_39";
10571
+ const panel = "_panel_a0wva_43";
10572
+ const image = "_image_a0wva_71";
10573
+ const heroImageBox = "_heroImageBox_a0wva_119";
10574
+ const hero = "_hero_a0wva_119";
10575
+ const heroContent = "_heroContent_a0wva_190";
10576
+ const heroText = "_heroText_a0wva_207";
10577
+ const logo = "_logo_a0wva_216";
10578
+ const heroTitle = "_heroTitle_a0wva_236";
10579
+ const heroSub = "_heroSub_a0wva_260";
10580
+ const swipe = "_swipe_a0wva_273";
10581
+ const swipeLabel = "_swipeLabel_a0wva_281";
10582
+ const chevron$1 = "_chevron_a0wva_287";
10583
+ const overlay$1 = "_overlay_a0wva_304";
10584
+ const copy = "_copy_a0wva_315";
10585
+ const title$2 = "_title_a0wva_320";
10586
+ const subtitle$1 = "_subtitle_a0wva_327";
10587
+ const cta = "_cta_a0wva_333";
10588
10588
  const styles$2 = {
10589
10589
  showcase,
10590
10590
  panel,
@@ -10605,41 +10605,35 @@ const styles$2 = {
10605
10605
  subtitle: subtitle$1,
10606
10606
  cta
10607
10607
  };
10608
- const SETTLE_MS = 250;
10609
- function useViewportHeight(ref, property, enabled = true) {
10608
+ const SETTLE_MS = 150;
10609
+ function useDocumentSnap(ref, enabled = true) {
10610
10610
  useEffect(() => {
10611
10611
  const el = ref.current;
10612
- if (!el || !enabled) return;
10612
+ if (!el || !enabled || typeof document === "undefined") return;
10613
+ const root2 = document.documentElement;
10614
+ const previousType = root2.style.scrollSnapType;
10615
+ const previousPadding = root2.style.scrollPaddingTop;
10613
10616
  let timer2;
10614
- const read = () => Math.round(window.visualViewport?.height ?? window.innerHeight);
10615
- const apply = () => {
10616
- const height = read();
10617
- if (height > 0) el.style.setProperty(property, `${height}px`);
10618
- };
10619
- const applySettled = () => {
10620
- const previous = el.clientHeight;
10621
- const index = previous > 0 ? Math.round(el.scrollTop / previous) : 0;
10622
- apply();
10623
- if (el.clientHeight > 0) el.scrollTo({
10624
- top: index * el.clientHeight,
10625
- behavior: "auto"
10626
- });
10617
+ const syncPadding = () => {
10618
+ const top = getComputedStyle(el).getPropertyValue("--showcase-top").trim();
10619
+ root2.style.scrollPaddingTop = top === "" ? "0px" : top;
10627
10620
  };
10628
10621
  const schedule = () => {
10629
10622
  if (timer2) clearTimeout(timer2);
10630
- timer2 = setTimeout(applySettled, SETTLE_MS);
10623
+ timer2 = setTimeout(syncPadding, SETTLE_MS);
10631
10624
  };
10632
- apply();
10625
+ root2.style.scrollSnapType = "y mandatory";
10626
+ syncPadding();
10633
10627
  window.addEventListener("resize", schedule);
10634
10628
  window.addEventListener("orientationchange", schedule);
10635
- window.visualViewport?.addEventListener("resize", schedule);
10636
10629
  return () => {
10637
10630
  if (timer2) clearTimeout(timer2);
10638
10631
  window.removeEventListener("resize", schedule);
10639
10632
  window.removeEventListener("orientationchange", schedule);
10640
- window.visualViewport?.removeEventListener("resize", schedule);
10633
+ root2.style.scrollSnapType = previousType;
10634
+ root2.style.scrollPaddingTop = previousPadding;
10641
10635
  };
10642
- }, [ref, property, enabled]);
10636
+ }, [ref, enabled]);
10643
10637
  }
10644
10638
  const FALLBACK_PANELS = [{
10645
10639
  key: "all-items",
@@ -10753,7 +10747,7 @@ function HomeShowcase() {
10753
10747
  const panels = useSlides();
10754
10748
  const showcaseRef = useRef(null);
10755
10749
  useTopOffset(showcaseRef, "--showcase-top");
10756
- useViewportHeight(showcaseRef, "--showcase-vh");
10750
+ useDocumentSnap(showcaseRef);
10757
10751
  return jsx(ShopSurface, {
10758
10752
  tone: "dark",
10759
10753
  children: jsxs("div", {
@@ -38,6 +38,8 @@
38
38
  --color-surface-bold: #6d7377;
39
39
  --color-border-default: #dddedf;
40
40
  --color-border-subtle: #ced0d2;
41
+ --color-border-full-color-subtle: #6d7377;
42
+ --color-border-full-color-max: #f9fafa;
41
43
  --color-border-transparent-soft: rgba(0, 0, 0, 0.1);
42
44
  --color-state-text-success: #147e4a;
43
45
  --color-state-surface-success-soft: #def1e9;
@@ -1706,14 +1708,14 @@
1706
1708
  height: 24px;
1707
1709
  color: var(--color-text-default);
1708
1710
  }
1709
- ._tile_1io44_7 {
1711
+ ._tile_1a177_7 {
1710
1712
  display: flex;
1711
1713
  flex-direction: column;
1712
1714
  gap: var(--space-12);
1713
1715
  text-decoration: none;
1714
1716
  color: inherit;
1715
1717
  }
1716
- ._media_1io44_15 {
1718
+ ._media_1a177_15 {
1717
1719
  position: relative;
1718
1720
  width: 100%;
1719
1721
  aspect-ratio: 165 / 220;
@@ -1721,15 +1723,15 @@
1721
1723
  overflow: hidden;
1722
1724
  background: var(--color-surface-soft);
1723
1725
  }
1724
- ._image_1io44_25 {
1726
+ ._image_1a177_25 {
1725
1727
  object-fit: cover;
1726
1728
  }
1727
- ._placeholder_1io44_29 {
1729
+ ._placeholder_1a177_29 {
1728
1730
  width: 100%;
1729
1731
  height: 100%;
1730
1732
  background: var(--color-surface-soft);
1731
1733
  }
1732
- ._topBadge_1io44_37 {
1734
+ ._topBadge_1a177_37 {
1733
1735
  position: absolute;
1734
1736
  top: var(--space-8);
1735
1737
  left: var(--space-8);
@@ -1750,13 +1752,13 @@
1750
1752
  text-transform: uppercase;
1751
1753
  white-space: nowrap;
1752
1754
  }
1753
- ._saleBadge_1io44_78 {
1755
+ ._saleBadge_1a177_78 {
1754
1756
  position: absolute;
1755
1757
  display: flex;
1756
1758
  bottom: var(--space-8);
1757
1759
  left: var(--space-8);
1758
1760
  }
1759
- ._oos_1io44_86 {
1761
+ ._oos_1a177_86 {
1760
1762
  position: absolute;
1761
1763
  inset: 0;
1762
1764
  display: flex;
@@ -1768,17 +1770,17 @@
1768
1770
  font-size: var(--type-trimmed-sm-size);
1769
1771
  font-weight: var(--font-weight-bold);
1770
1772
  }
1771
- ._bottom_1io44_113 {
1773
+ ._bottom_1a177_113 {
1772
1774
  display: flex;
1773
1775
  flex-direction: column;
1774
1776
  gap: var(--space-16);
1775
1777
  }
1776
- ._titlePrice_1io44_100 {
1778
+ ._titlePrice_1a177_100 {
1777
1779
  display: flex;
1778
1780
  flex-direction: column;
1779
1781
  gap: var(--space-16);
1780
1782
  }
1781
- ._title_1io44_5 {
1783
+ ._title_1a177_5 {
1782
1784
  font-size: var(--type-paragraph-size);
1783
1785
  line-height: 21px;
1784
1786
  padding: 5px 0;
@@ -1792,41 +1794,41 @@
1792
1794
  overflow: hidden;
1793
1795
  min-height: calc(2 * 21px + 10px);
1794
1796
  }
1795
- ._titlePrice_1io44_100 > :last-child {
1797
+ ._titlePrice_1a177_100 > :last-child {
1796
1798
  line-height: 11px;
1797
1799
  }
1798
- ._swatches_1io44_179 {
1800
+ ._swatches_1a177_181 {
1799
1801
  display: flex;
1800
1802
  gap: var(--space-4);
1801
1803
  align-items: center;
1802
1804
  }
1803
- ._swatch_1io44_179 {
1805
+ ._swatch_1a177_181 {
1804
1806
  display: inline-flex;
1805
1807
  padding: 2px;
1806
- box-shadow: inset 0 0 0 0.5px var(--color-border-subtle);
1808
+ box-shadow: inset 0 0 0 0.5px var(--color-border-full-color-subtle);
1807
1809
  border-radius: var(--radius-2);
1808
1810
  }
1809
- ._swatchActive_1io44_196 {
1810
- box-shadow: inset 0 0 0 0.5px var(--color-surface-max);
1811
+ ._swatchActive_1a177_198 {
1812
+ box-shadow: inset 0 0 0 0.5px var(--color-border-full-color-max);
1811
1813
  }
1812
- ._swatchDot_1io44_200 {
1814
+ ._swatchDot_1a177_202 {
1813
1815
  display: block;
1814
1816
  width: 14px;
1815
1817
  height: 14px;
1816
1818
  border-radius: var(--radius-2);
1817
1819
  }
1818
- ._large_1io44_211 {
1820
+ ._large_1a177_213 {
1819
1821
  padding: 0 var(--space-16);
1820
1822
  }
1821
- ._large_1io44_211 ._media_1io44_15 {
1823
+ ._large_1a177_213 ._media_1a177_15 {
1822
1824
  aspect-ratio: 343 / 457;
1823
1825
  }
1824
- ._large_1io44_211 ._title_1io44_5 {
1826
+ ._large_1a177_213 ._title_1a177_5 {
1825
1827
  font-size: 18px;
1826
1828
  line-height: 23px;
1827
1829
  min-height: 0;
1828
1830
  }
1829
- ._tile_1io44_7:not(._large_1io44_211) ._swatches_1io44_179 {
1831
+ ._tile_1a177_7:not(._large_1a177_213) ._swatches_1a177_181 {
1830
1832
  display: none;
1831
1833
  }
1832
1834
  ._section_1n5an_5 {
@@ -3397,31 +3399,22 @@
3397
3399
  column-gap: var(--space-12);
3398
3400
  row-gap: var(--space-24);
3399
3401
  }
3400
- ._showcase_1y51o_40 {
3401
- height: calc(var(--showcase-vh, 100svh) - var(--showcase-top, 0px));
3402
- overflow-y: auto;
3403
- scroll-snap-type: y mandatory;
3404
- overscroll-behavior-y: contain;
3405
- -webkit-overflow-scrolling: touch;
3402
+ ._showcase_a0wva_39 {
3406
3403
  background: #080e12;
3407
- scrollbar-width: none;
3408
- }
3409
- ._showcase_1y51o_40::-webkit-scrollbar {
3410
- display: none;
3411
3404
  }
3412
- ._panel_1y51o_59 {
3405
+ ._panel_a0wva_43 {
3413
3406
  position: relative;
3414
- height: calc(var(--showcase-vh, 100svh) - var(--showcase-top, 0px));
3407
+ height: calc(100lvh - var(--showcase-top, 0px));
3415
3408
  scroll-snap-align: start;
3416
3409
  scroll-snap-stop: always;
3417
3410
  overflow: hidden;
3418
3411
  background: #080e12;
3419
3412
  }
3420
- ._image_1y51o_88 {
3413
+ ._image_a0wva_71 {
3421
3414
  object-fit: cover;
3422
3415
  object-position: 50% var(--slide-focal-y, 50%);
3423
3416
  }
3424
- ._heroImageBox_1y51o_136 {
3417
+ ._heroImageBox_a0wva_119 {
3425
3418
  position: absolute;
3426
3419
  top: 31px;
3427
3420
  left: 0;
@@ -3429,7 +3422,7 @@
3429
3422
  aspect-ratio: 750 / 1348;
3430
3423
  overflow: hidden;
3431
3424
  }
3432
- ._hero_1y51o_136::after {
3425
+ ._hero_a0wva_119::after {
3433
3426
  content: "";
3434
3427
  position: absolute;
3435
3428
  inset: 0;
@@ -3444,10 +3437,10 @@
3444
3437
  rgba(8, 14, 18, 1) 90%);
3445
3438
  pointer-events: none;
3446
3439
  }
3447
- ._hero_1y51o_136 ._image_1y51o_88 {
3440
+ ._hero_a0wva_119 ._image_a0wva_71 {
3448
3441
  object-position: top;
3449
3442
  }
3450
- ._hero_1y51o_136 ._heroContent_1y51o_207 {
3443
+ ._hero_a0wva_119 ._heroContent_a0wva_190 {
3451
3444
  position: absolute;
3452
3445
  bottom: 0;
3453
3446
  left: 0;
@@ -3458,7 +3451,7 @@
3458
3451
  gap: 24px;
3459
3452
  align-items: stretch;
3460
3453
  }
3461
- ._heroText_1y51o_224 {
3454
+ ._heroText_a0wva_207 {
3462
3455
  display: flex;
3463
3456
  flex-direction: column;
3464
3457
  gap: 8px;
@@ -3466,11 +3459,11 @@
3466
3459
  padding: 0 24px;
3467
3460
  text-align: center;
3468
3461
  }
3469
- ._heroText_1y51o_224 ._logo_1y51o_233 {
3462
+ ._heroText_a0wva_207 ._logo_a0wva_216 {
3470
3463
  width: 48px;
3471
3464
  height: 48px;
3472
3465
  }
3473
- ._heroTitle_1y51o_253 {
3466
+ ._heroTitle_a0wva_236 {
3474
3467
  width: 100%;
3475
3468
  margin: 0;
3476
3469
  font-family:
@@ -3485,14 +3478,14 @@
3485
3478
  letter-spacing: -1.12px;
3486
3479
  color: #f9fafa;
3487
3480
  }
3488
- ._heroSub_1y51o_277 {
3481
+ ._heroSub_a0wva_260 {
3489
3482
  margin: 0;
3490
3483
  font-size: 16px;
3491
3484
  line-height: 1.55;
3492
3485
  color: #f9fafa;
3493
3486
  max-width: 327px;
3494
3487
  }
3495
- ._swipe_1y51o_290 {
3488
+ ._swipe_a0wva_273 {
3496
3489
  display: flex;
3497
3490
  flex-direction: column;
3498
3491
  align-items: center;
@@ -3500,19 +3493,19 @@
3500
3493
  padding: 8px 0;
3501
3494
  background: #080e12;
3502
3495
  }
3503
- ._swipeLabel_1y51o_298 {
3496
+ ._swipeLabel_a0wva_281 {
3504
3497
  margin: 0;
3505
3498
  font-size: 14px;
3506
3499
  line-height: 1;
3507
3500
  color: rgba(255, 255, 255, 0.54);
3508
3501
  }
3509
- ._chevron_1y51o_304 {
3502
+ ._chevron_a0wva_287 {
3510
3503
  width: 24px;
3511
3504
  height: 24px;
3512
3505
  color: rgba(255, 255, 255, 0.54);
3513
- animation: _bob_1y51o_1 1.8s ease-in-out infinite;
3506
+ animation: _bob_a0wva_1 1.8s ease-in-out infinite;
3514
3507
  }
3515
- @keyframes _bob_1y51o_1 {
3508
+ @keyframes _bob_a0wva_1 {
3516
3509
  0%, 100% {
3517
3510
  transform: translateY(0);
3518
3511
  }
@@ -3520,7 +3513,7 @@
3520
3513
  transform: translateY(4px);
3521
3514
  }
3522
3515
  }
3523
- ._overlay_1y51o_321 {
3516
+ ._overlay_a0wva_304 {
3524
3517
  position: absolute;
3525
3518
  inset: 0;
3526
3519
  z-index: 1;
@@ -3531,25 +3524,25 @@
3531
3524
  align-items: flex-start;
3532
3525
  padding: 0 24px 24px;
3533
3526
  }
3534
- ._copy_1y51o_332 {
3527
+ ._copy_a0wva_315 {
3535
3528
  display: flex;
3536
3529
  flex-direction: column;
3537
3530
  gap: 8px;
3538
3531
  }
3539
- ._title_1y51o_337 {
3532
+ ._title_a0wva_320 {
3540
3533
  margin: 0;
3541
3534
  font-size: 32px;
3542
3535
  line-height: 1.2;
3543
3536
  font-weight: 700;
3544
3537
  color: #f9fafa;
3545
3538
  }
3546
- ._subtitle_1y51o_344 {
3539
+ ._subtitle_a0wva_327 {
3547
3540
  margin: 0;
3548
3541
  font-size: 16px;
3549
3542
  line-height: 1.55;
3550
3543
  color: #f9fafa;
3551
3544
  }
3552
- ._cta_1y51o_350 {
3545
+ ._cta_a0wva_333 {
3553
3546
  display: inline-flex;
3554
3547
  align-items: center;
3555
3548
  justify-content: center;
@@ -3563,15 +3556,15 @@
3563
3556
  font-weight: 700;
3564
3557
  text-decoration: none;
3565
3558
  }
3566
- ._cta_1y51o_350::after {
3559
+ ._cta_a0wva_333::after {
3567
3560
  content: "";
3568
3561
  position: absolute;
3569
3562
  inset: 0;
3570
3563
  }
3571
- ._cta_1y51o_350:active {
3564
+ ._cta_a0wva_333:active {
3572
3565
  background: rgba(249, 250, 250, 0.12);
3573
3566
  }
3574
- ._cta_1y51o_350:focus-visible {
3567
+ ._cta_a0wva_333:focus-visible {
3575
3568
  outline: none;
3576
3569
  box-shadow: var(--focus-ring);
3577
3570
  }
package/dist/styles.css CHANGED
@@ -38,6 +38,8 @@
38
38
  --color-surface-bold: #6d7377;
39
39
  --color-border-default: #dddedf;
40
40
  --color-border-subtle: #ced0d2;
41
+ --color-border-full-color-subtle: #6d7377;
42
+ --color-border-full-color-max: #f9fafa;
41
43
  --color-border-transparent-soft: rgba(0, 0, 0, 0.1);
42
44
  --color-state-text-success: #147e4a;
43
45
  --color-state-surface-success-soft: #def1e9;
@@ -1706,14 +1708,14 @@
1706
1708
  height: 24px;
1707
1709
  color: var(--color-text-default);
1708
1710
  }
1709
- ._tile_1io44_7 {
1711
+ ._tile_1a177_7 {
1710
1712
  display: flex;
1711
1713
  flex-direction: column;
1712
1714
  gap: var(--space-12);
1713
1715
  text-decoration: none;
1714
1716
  color: inherit;
1715
1717
  }
1716
- ._media_1io44_15 {
1718
+ ._media_1a177_15 {
1717
1719
  position: relative;
1718
1720
  width: 100%;
1719
1721
  aspect-ratio: 165 / 220;
@@ -1721,15 +1723,15 @@
1721
1723
  overflow: hidden;
1722
1724
  background: var(--color-surface-soft);
1723
1725
  }
1724
- ._image_1io44_25 {
1726
+ ._image_1a177_25 {
1725
1727
  object-fit: cover;
1726
1728
  }
1727
- ._placeholder_1io44_29 {
1729
+ ._placeholder_1a177_29 {
1728
1730
  width: 100%;
1729
1731
  height: 100%;
1730
1732
  background: var(--color-surface-soft);
1731
1733
  }
1732
- ._topBadge_1io44_37 {
1734
+ ._topBadge_1a177_37 {
1733
1735
  position: absolute;
1734
1736
  top: var(--space-8);
1735
1737
  left: var(--space-8);
@@ -1750,13 +1752,13 @@
1750
1752
  text-transform: uppercase;
1751
1753
  white-space: nowrap;
1752
1754
  }
1753
- ._saleBadge_1io44_78 {
1755
+ ._saleBadge_1a177_78 {
1754
1756
  position: absolute;
1755
1757
  display: flex;
1756
1758
  bottom: var(--space-8);
1757
1759
  left: var(--space-8);
1758
1760
  }
1759
- ._oos_1io44_86 {
1761
+ ._oos_1a177_86 {
1760
1762
  position: absolute;
1761
1763
  inset: 0;
1762
1764
  display: flex;
@@ -1768,17 +1770,17 @@
1768
1770
  font-size: var(--type-trimmed-sm-size);
1769
1771
  font-weight: var(--font-weight-bold);
1770
1772
  }
1771
- ._bottom_1io44_113 {
1773
+ ._bottom_1a177_113 {
1772
1774
  display: flex;
1773
1775
  flex-direction: column;
1774
1776
  gap: var(--space-16);
1775
1777
  }
1776
- ._titlePrice_1io44_100 {
1778
+ ._titlePrice_1a177_100 {
1777
1779
  display: flex;
1778
1780
  flex-direction: column;
1779
1781
  gap: var(--space-16);
1780
1782
  }
1781
- ._title_1io44_5 {
1783
+ ._title_1a177_5 {
1782
1784
  font-size: var(--type-paragraph-size);
1783
1785
  line-height: 21px;
1784
1786
  padding: 5px 0;
@@ -1792,41 +1794,41 @@
1792
1794
  overflow: hidden;
1793
1795
  min-height: calc(2 * 21px + 10px);
1794
1796
  }
1795
- ._titlePrice_1io44_100 > :last-child {
1797
+ ._titlePrice_1a177_100 > :last-child {
1796
1798
  line-height: 11px;
1797
1799
  }
1798
- ._swatches_1io44_179 {
1800
+ ._swatches_1a177_181 {
1799
1801
  display: flex;
1800
1802
  gap: var(--space-4);
1801
1803
  align-items: center;
1802
1804
  }
1803
- ._swatch_1io44_179 {
1805
+ ._swatch_1a177_181 {
1804
1806
  display: inline-flex;
1805
1807
  padding: 2px;
1806
- box-shadow: inset 0 0 0 0.5px var(--color-border-subtle);
1808
+ box-shadow: inset 0 0 0 0.5px var(--color-border-full-color-subtle);
1807
1809
  border-radius: var(--radius-2);
1808
1810
  }
1809
- ._swatchActive_1io44_196 {
1810
- box-shadow: inset 0 0 0 0.5px var(--color-surface-max);
1811
+ ._swatchActive_1a177_198 {
1812
+ box-shadow: inset 0 0 0 0.5px var(--color-border-full-color-max);
1811
1813
  }
1812
- ._swatchDot_1io44_200 {
1814
+ ._swatchDot_1a177_202 {
1813
1815
  display: block;
1814
1816
  width: 14px;
1815
1817
  height: 14px;
1816
1818
  border-radius: var(--radius-2);
1817
1819
  }
1818
- ._large_1io44_211 {
1820
+ ._large_1a177_213 {
1819
1821
  padding: 0 var(--space-16);
1820
1822
  }
1821
- ._large_1io44_211 ._media_1io44_15 {
1823
+ ._large_1a177_213 ._media_1a177_15 {
1822
1824
  aspect-ratio: 343 / 457;
1823
1825
  }
1824
- ._large_1io44_211 ._title_1io44_5 {
1826
+ ._large_1a177_213 ._title_1a177_5 {
1825
1827
  font-size: 18px;
1826
1828
  line-height: 23px;
1827
1829
  min-height: 0;
1828
1830
  }
1829
- ._tile_1io44_7:not(._large_1io44_211) ._swatches_1io44_179 {
1831
+ ._tile_1a177_7:not(._large_1a177_213) ._swatches_1a177_181 {
1830
1832
  display: none;
1831
1833
  }
1832
1834
  ._section_1n5an_5 {
@@ -3397,31 +3399,22 @@
3397
3399
  column-gap: var(--space-12);
3398
3400
  row-gap: var(--space-24);
3399
3401
  }
3400
- ._showcase_1y51o_40 {
3401
- height: calc(var(--showcase-vh, 100svh) - var(--showcase-top, 0px));
3402
- overflow-y: auto;
3403
- scroll-snap-type: y mandatory;
3404
- overscroll-behavior-y: contain;
3405
- -webkit-overflow-scrolling: touch;
3402
+ ._showcase_a0wva_39 {
3406
3403
  background: #080e12;
3407
- scrollbar-width: none;
3408
- }
3409
- ._showcase_1y51o_40::-webkit-scrollbar {
3410
- display: none;
3411
3404
  }
3412
- ._panel_1y51o_59 {
3405
+ ._panel_a0wva_43 {
3413
3406
  position: relative;
3414
- height: calc(var(--showcase-vh, 100svh) - var(--showcase-top, 0px));
3407
+ height: calc(100lvh - var(--showcase-top, 0px));
3415
3408
  scroll-snap-align: start;
3416
3409
  scroll-snap-stop: always;
3417
3410
  overflow: hidden;
3418
3411
  background: #080e12;
3419
3412
  }
3420
- ._image_1y51o_88 {
3413
+ ._image_a0wva_71 {
3421
3414
  object-fit: cover;
3422
3415
  object-position: 50% var(--slide-focal-y, 50%);
3423
3416
  }
3424
- ._heroImageBox_1y51o_136 {
3417
+ ._heroImageBox_a0wva_119 {
3425
3418
  position: absolute;
3426
3419
  top: 31px;
3427
3420
  left: 0;
@@ -3429,7 +3422,7 @@
3429
3422
  aspect-ratio: 750 / 1348;
3430
3423
  overflow: hidden;
3431
3424
  }
3432
- ._hero_1y51o_136::after {
3425
+ ._hero_a0wva_119::after {
3433
3426
  content: "";
3434
3427
  position: absolute;
3435
3428
  inset: 0;
@@ -3444,10 +3437,10 @@
3444
3437
  rgba(8, 14, 18, 1) 90%);
3445
3438
  pointer-events: none;
3446
3439
  }
3447
- ._hero_1y51o_136 ._image_1y51o_88 {
3440
+ ._hero_a0wva_119 ._image_a0wva_71 {
3448
3441
  object-position: top;
3449
3442
  }
3450
- ._hero_1y51o_136 ._heroContent_1y51o_207 {
3443
+ ._hero_a0wva_119 ._heroContent_a0wva_190 {
3451
3444
  position: absolute;
3452
3445
  bottom: 0;
3453
3446
  left: 0;
@@ -3458,7 +3451,7 @@
3458
3451
  gap: 24px;
3459
3452
  align-items: stretch;
3460
3453
  }
3461
- ._heroText_1y51o_224 {
3454
+ ._heroText_a0wva_207 {
3462
3455
  display: flex;
3463
3456
  flex-direction: column;
3464
3457
  gap: 8px;
@@ -3466,11 +3459,11 @@
3466
3459
  padding: 0 24px;
3467
3460
  text-align: center;
3468
3461
  }
3469
- ._heroText_1y51o_224 ._logo_1y51o_233 {
3462
+ ._heroText_a0wva_207 ._logo_a0wva_216 {
3470
3463
  width: 48px;
3471
3464
  height: 48px;
3472
3465
  }
3473
- ._heroTitle_1y51o_253 {
3466
+ ._heroTitle_a0wva_236 {
3474
3467
  width: 100%;
3475
3468
  margin: 0;
3476
3469
  font-family:
@@ -3485,14 +3478,14 @@
3485
3478
  letter-spacing: -1.12px;
3486
3479
  color: #f9fafa;
3487
3480
  }
3488
- ._heroSub_1y51o_277 {
3481
+ ._heroSub_a0wva_260 {
3489
3482
  margin: 0;
3490
3483
  font-size: 16px;
3491
3484
  line-height: 1.55;
3492
3485
  color: #f9fafa;
3493
3486
  max-width: 327px;
3494
3487
  }
3495
- ._swipe_1y51o_290 {
3488
+ ._swipe_a0wva_273 {
3496
3489
  display: flex;
3497
3490
  flex-direction: column;
3498
3491
  align-items: center;
@@ -3500,19 +3493,19 @@
3500
3493
  padding: 8px 0;
3501
3494
  background: #080e12;
3502
3495
  }
3503
- ._swipeLabel_1y51o_298 {
3496
+ ._swipeLabel_a0wva_281 {
3504
3497
  margin: 0;
3505
3498
  font-size: 14px;
3506
3499
  line-height: 1;
3507
3500
  color: rgba(255, 255, 255, 0.54);
3508
3501
  }
3509
- ._chevron_1y51o_304 {
3502
+ ._chevron_a0wva_287 {
3510
3503
  width: 24px;
3511
3504
  height: 24px;
3512
3505
  color: rgba(255, 255, 255, 0.54);
3513
- animation: _bob_1y51o_1 1.8s ease-in-out infinite;
3506
+ animation: _bob_a0wva_1 1.8s ease-in-out infinite;
3514
3507
  }
3515
- @keyframes _bob_1y51o_1 {
3508
+ @keyframes _bob_a0wva_1 {
3516
3509
  0%, 100% {
3517
3510
  transform: translateY(0);
3518
3511
  }
@@ -3520,7 +3513,7 @@
3520
3513
  transform: translateY(4px);
3521
3514
  }
3522
3515
  }
3523
- ._overlay_1y51o_321 {
3516
+ ._overlay_a0wva_304 {
3524
3517
  position: absolute;
3525
3518
  inset: 0;
3526
3519
  z-index: 1;
@@ -3531,25 +3524,25 @@
3531
3524
  align-items: flex-start;
3532
3525
  padding: 0 24px 24px;
3533
3526
  }
3534
- ._copy_1y51o_332 {
3527
+ ._copy_a0wva_315 {
3535
3528
  display: flex;
3536
3529
  flex-direction: column;
3537
3530
  gap: 8px;
3538
3531
  }
3539
- ._title_1y51o_337 {
3532
+ ._title_a0wva_320 {
3540
3533
  margin: 0;
3541
3534
  font-size: 32px;
3542
3535
  line-height: 1.2;
3543
3536
  font-weight: 700;
3544
3537
  color: #f9fafa;
3545
3538
  }
3546
- ._subtitle_1y51o_344 {
3539
+ ._subtitle_a0wva_327 {
3547
3540
  margin: 0;
3548
3541
  font-size: 16px;
3549
3542
  line-height: 1.55;
3550
3543
  color: #f9fafa;
3551
3544
  }
3552
- ._cta_1y51o_350 {
3545
+ ._cta_a0wva_333 {
3553
3546
  display: inline-flex;
3554
3547
  align-items: center;
3555
3548
  justify-content: center;
@@ -3563,15 +3556,15 @@
3563
3556
  font-weight: 700;
3564
3557
  text-decoration: none;
3565
3558
  }
3566
- ._cta_1y51o_350::after {
3559
+ ._cta_a0wva_333::after {
3567
3560
  content: "";
3568
3561
  position: absolute;
3569
3562
  inset: 0;
3570
3563
  }
3571
- ._cta_1y51o_350:active {
3564
+ ._cta_a0wva_333:active {
3572
3565
  background: rgba(249, 250, 250, 0.12);
3573
3566
  }
3574
- ._cta_1y51o_350:focus-visible {
3567
+ ._cta_a0wva_333:focus-visible {
3575
3568
  outline: none;
3576
3569
  box-shadow: var(--focus-ring);
3577
3570
  }
package/package.json CHANGED
@@ -1,14 +1,11 @@
1
1
  {
2
2
  "name": "@nok-integration/storefront-react",
3
- "version": "0.19.8",
3
+ "version": "0.19.10",
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
- "publishConfig": {
7
- "access": "public",
8
- "registry": "https://registry.npmjs.org/"
9
- },
10
6
  "type": "module",
11
7
  "main": "./dist/index.mjs",
8
+ "module": "./dist/index.mjs",
12
9
  "types": "./dist/index.d.ts",
13
10
  "exports": {
14
11
  ".": {
@@ -23,34 +20,18 @@
23
20
  "dist",
24
21
  "!dist/**/*.map"
25
22
  ],
26
- "scripts": {
27
- "build": "pnpm build:package && pnpm build:standalone",
28
- "build:package": "vite build",
29
- "build:standalone": "BUILD_TARGET=standalone vite build",
30
- "typecheck": "tsc --noEmit",
31
- "build:partner": "PARTNER_DROP=1 pnpm build && pnpm pack"
32
- },
23
+ "sideEffects": [
24
+ "*.css"
25
+ ],
33
26
  "peerDependencies": {
34
27
  "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
35
28
  "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
36
29
  },
37
- "devDependencies": {
38
- "@microsoft/api-extractor": "^7.58.12",
39
- "@raqmix/contracts": "^2.0.0",
40
- "@types/react": "^19.1.0",
41
- "@types/react-dom": "^19.1.0",
42
- "@vitejs/plugin-react": "^4.3.4",
43
- "esbuild": "^0.28.1",
44
- "terser": "^5.50.0",
45
- "typescript": "^5.7.3",
46
- "vite": "^7.0.0",
47
- "vite-plugin-dts": "^5.0.3"
48
- },
49
- "module": "./dist/index.mjs",
50
- "sideEffects": [
51
- "*.css"
52
- ],
53
30
  "dependencies": {
54
31
  "zod": "^3.24.1"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public",
35
+ "registry": "https://registry.npmjs.org/"
55
36
  }
56
37
  }