@postnord/pn-marketweb-components 4.2.1 → 4.2.2

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.
@@ -56,8 +56,9 @@ const PnmediaBlock = class {
56
56
  const scrollTrigger = document.getElementById('scroll-trigger');
57
57
  this.calculatedBlockHeight = this.block.offsetHeight;
58
58
  const overlayElement = this.block.querySelector('#mediaBlockOverlay');
59
- if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {
60
- overlayElement.style.background = `${this.customOverlayBackground}`;
59
+ const bg = this.customOverlayBackground?.trim();
60
+ if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {
61
+ overlayElement.style.background = bg;
61
62
  }
62
63
  if (this.parallaxScroll) {
63
64
  this.observerScroll = new IntersectionObserver(entries => {
@@ -150,7 +151,7 @@ const PnmediaBlock = class {
150
151
  root: this.blockHeight === '100svh' ? this.block : null,
151
152
  threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible
152
153
  };
153
- return (index.h("div", { key: 'f5ae835cc4299ae08a0c781368c6407f359f8c8e', class: classes }, index.h("div", { key: 'c7ddb415c0f9fc3ea505dc38f0a1a6ed61eba35b', class: "media-block__block-container" }, index.h("div", { key: '82e5ebb277e31a683eea026dea5481655076dfb1', class: "media-block__media-container" }, isVideo ? (index.h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (index.h("picture", null, index.h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && index.h("div", { key: '8d2090b3845bce11806a486c714b7b43b5519880', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (index.h("div", { key: '9919ba7c0af23dd1323202badbb68c302d037df1', class: "media-block__content-container" }, this.blockHeading && (index.h(HeadingTag.HeadingTag, { key: '5476764a9c75666dc7bdf45c7b7211a071cf78cd', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && index.h("p", { key: 'd8b7c40d8465c45e8149560446081cc272675fef', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (index.h("div", { key: '1273888646c5e960ce36f4b3ecf03cefe16bc6a2', class: "media-block__cta-link" }, index.h("slot", { key: '80d7f2fe2f1657222d385d3e5263c698ddcfeff6', name: "cta-button" })))))), index.h("div", { key: '19f99b2fffe0d4a9152e8cf956aee689978f502f', id: "scroll-trigger" })));
154
+ return (index.h("div", { key: 'b0b38dea82bee61b3b492011c1363453fec2cd05', class: classes }, index.h("div", { key: '7bdef7349bac14dff6b6c015f10d56cab19bd02f', class: "media-block__block-container" }, index.h("div", { key: '0582a0a37ea40d3f3bc45f0d039200cd294a65c9', class: "media-block__media-container" }, isVideo ? (index.h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (index.h("picture", null, index.h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), index.h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), index.h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && index.h("div", { key: '7f86720e7c7e1e3003d2c212ae2532fb080d392e', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (index.h("div", { key: '13b4205bc442fc60c08fb0d6b4c544953432460e', class: "media-block__content-container" }, this.blockHeading && (index.h(HeadingTag.HeadingTag, { key: '617dc7ca90a9c7c920e5da573976b9dfb2f689a2', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && index.h("p", { key: '2bd746208e65edf856253c04bc4ddfd9f9ed6e93', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (index.h("div", { key: '892a6ae5664dd789df3e4c7e02380729d5923896', class: "media-block__cta-link" }, index.h("slot", { key: 'a2d91572ca5fa7e31bf48228c4d230d4002f62da', name: "cta-button" })))))), index.h("div", { key: '925d7520a304891d3954ca8c195e85473e486e2a', id: "scroll-trigger" })));
154
155
  }
155
156
  };
156
157
  PnmediaBlock.style = PnMediaBlockStyle0;
@@ -1 +1 @@
1
- {"file":"pn-media-block.entry.cjs.js","mappings":"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","names":["h","HeadingTag"],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Element, Prop, h, State } from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector('#mediaBlockOverlay') as HTMLElement;\n if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {\n overlayElement.style.background = `${this.customOverlayBackground}`;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-media-block.entry.cjs.js","mappings":"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","names":["h","HeadingTag"],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n} from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector<HTMLElement>('#mediaBlockOverlay');\n const bg = this.customOverlayBackground?.trim();\n\n if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {\n overlayElement.style.background = bg;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { HeadingTag } from "../../../globals/HeadingTag";
2
- import { h } from "@stencil/core";
2
+ import { h, } from "@stencil/core";
3
3
  function userPrefersReducedMotion() {
4
4
  return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
5
5
  }
@@ -50,8 +50,9 @@ export class PnmediaBlock {
50
50
  const scrollTrigger = document.getElementById('scroll-trigger');
51
51
  this.calculatedBlockHeight = this.block.offsetHeight;
52
52
  const overlayElement = this.block.querySelector('#mediaBlockOverlay');
53
- if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {
54
- overlayElement.style.background = `${this.customOverlayBackground}`;
53
+ const bg = this.customOverlayBackground?.trim();
54
+ if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {
55
+ overlayElement.style.background = bg;
55
56
  }
56
57
  if (this.parallaxScroll) {
57
58
  this.observerScroll = new IntersectionObserver(entries => {
@@ -144,7 +145,7 @@ export class PnmediaBlock {
144
145
  root: this.blockHeight === '100svh' ? this.block : null,
145
146
  threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible
146
147
  };
147
- return (h("div", { key: 'f5ae835cc4299ae08a0c781368c6407f359f8c8e', class: classes }, h("div", { key: 'c7ddb415c0f9fc3ea505dc38f0a1a6ed61eba35b', class: "media-block__block-container" }, h("div", { key: '82e5ebb277e31a683eea026dea5481655076dfb1', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '8d2090b3845bce11806a486c714b7b43b5519880', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '9919ba7c0af23dd1323202badbb68c302d037df1', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '5476764a9c75666dc7bdf45c7b7211a071cf78cd', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: 'd8b7c40d8465c45e8149560446081cc272675fef', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '1273888646c5e960ce36f4b3ecf03cefe16bc6a2', class: "media-block__cta-link" }, h("slot", { key: '80d7f2fe2f1657222d385d3e5263c698ddcfeff6', name: "cta-button" })))))), h("div", { key: '19f99b2fffe0d4a9152e8cf956aee689978f502f', id: "scroll-trigger" })));
148
+ return (h("div", { key: 'b0b38dea82bee61b3b492011c1363453fec2cd05', class: classes }, h("div", { key: '7bdef7349bac14dff6b6c015f10d56cab19bd02f', class: "media-block__block-container" }, h("div", { key: '0582a0a37ea40d3f3bc45f0d039200cd294a65c9', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '7f86720e7c7e1e3003d2c212ae2532fb080d392e', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '13b4205bc442fc60c08fb0d6b4c544953432460e', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '617dc7ca90a9c7c920e5da573976b9dfb2f689a2', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: '2bd746208e65edf856253c04bc4ddfd9f9ed6e93', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '892a6ae5664dd789df3e4c7e02380729d5923896', class: "media-block__cta-link" }, h("slot", { key: 'a2d91572ca5fa7e31bf48228c4d230d4002f62da', name: "cta-button" })))))), h("div", { key: '925d7520a304891d3954ca8c195e85473e486e2a', id: "scroll-trigger" })));
148
149
  }
149
150
  static get is() { return "pn-media-block"; }
150
151
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"pn-media-block.js","sourceRoot":"","sources":["../../../../src/components/media/pn-media-block/pn-media-block.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Element, Prop, h, State } from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector('#mediaBlockOverlay') as HTMLElement;\n if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {\n overlayElement.style.background = `${this.customOverlayBackground}`;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pn-media-block.js","sourceRoot":"","sources":["../../../../src/components/media/pn-media-block/pn-media-block.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HeadingTag } from '@/globals/HeadingTag';\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n} from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector<HTMLElement>('#mediaBlockOverlay');\n const bg = this.customOverlayBackground?.trim();\n\n if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {\n overlayElement.style.background = bg;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"]}
@@ -56,8 +56,9 @@ const PnmediaBlock = /*@__PURE__*/ proxyCustomElement(class PnmediaBlock extends
56
56
  const scrollTrigger = document.getElementById('scroll-trigger');
57
57
  this.calculatedBlockHeight = this.block.offsetHeight;
58
58
  const overlayElement = this.block.querySelector('#mediaBlockOverlay');
59
- if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {
60
- overlayElement.style.background = `${this.customOverlayBackground}`;
59
+ const bg = this.customOverlayBackground?.trim();
60
+ if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {
61
+ overlayElement.style.background = bg;
61
62
  }
62
63
  if (this.parallaxScroll) {
63
64
  this.observerScroll = new IntersectionObserver(entries => {
@@ -150,7 +151,7 @@ const PnmediaBlock = /*@__PURE__*/ proxyCustomElement(class PnmediaBlock extends
150
151
  root: this.blockHeight === '100svh' ? this.block : null,
151
152
  threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible
152
153
  };
153
- return (h("div", { key: 'f5ae835cc4299ae08a0c781368c6407f359f8c8e', class: classes }, h("div", { key: 'c7ddb415c0f9fc3ea505dc38f0a1a6ed61eba35b', class: "media-block__block-container" }, h("div", { key: '82e5ebb277e31a683eea026dea5481655076dfb1', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '8d2090b3845bce11806a486c714b7b43b5519880', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '9919ba7c0af23dd1323202badbb68c302d037df1', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '5476764a9c75666dc7bdf45c7b7211a071cf78cd', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: 'd8b7c40d8465c45e8149560446081cc272675fef', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '1273888646c5e960ce36f4b3ecf03cefe16bc6a2', class: "media-block__cta-link" }, h("slot", { key: '80d7f2fe2f1657222d385d3e5263c698ddcfeff6', name: "cta-button" })))))), h("div", { key: '19f99b2fffe0d4a9152e8cf956aee689978f502f', id: "scroll-trigger" })));
154
+ return (h("div", { key: 'b0b38dea82bee61b3b492011c1363453fec2cd05', class: classes }, h("div", { key: '7bdef7349bac14dff6b6c015f10d56cab19bd02f', class: "media-block__block-container" }, h("div", { key: '0582a0a37ea40d3f3bc45f0d039200cd294a65c9', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '7f86720e7c7e1e3003d2c212ae2532fb080d392e', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '13b4205bc442fc60c08fb0d6b4c544953432460e', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '617dc7ca90a9c7c920e5da573976b9dfb2f689a2', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: '2bd746208e65edf856253c04bc4ddfd9f9ed6e93', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '892a6ae5664dd789df3e4c7e02380729d5923896', class: "media-block__cta-link" }, h("slot", { key: 'a2d91572ca5fa7e31bf48228c4d230d4002f62da', name: "cta-button" })))))), h("div", { key: '925d7520a304891d3954ca8c195e85473e486e2a', id: "scroll-trigger" })));
154
155
  }
155
156
  static get style() { return PnMediaBlockStyle0; }
156
157
  }, [4, "pn-media-block", {
@@ -1 +1 @@
1
- {"file":"pn-media-block.js","mappings":"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","names":[],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Element, Prop, h, State } from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector('#mediaBlockOverlay') as HTMLElement;\n if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {\n overlayElement.style.background = `${this.customOverlayBackground}`;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-media-block.js","mappings":"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","names":[],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n} from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector<HTMLElement>('#mediaBlockOverlay');\n const bg = this.customOverlayBackground?.trim();\n\n if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {\n overlayElement.style.background = bg;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -52,8 +52,9 @@ const PnmediaBlock = class {
52
52
  const scrollTrigger = document.getElementById('scroll-trigger');
53
53
  this.calculatedBlockHeight = this.block.offsetHeight;
54
54
  const overlayElement = this.block.querySelector('#mediaBlockOverlay');
55
- if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {
56
- overlayElement.style.background = `${this.customOverlayBackground}`;
55
+ const bg = this.customOverlayBackground?.trim();
56
+ if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {
57
+ overlayElement.style.background = bg;
57
58
  }
58
59
  if (this.parallaxScroll) {
59
60
  this.observerScroll = new IntersectionObserver(entries => {
@@ -146,7 +147,7 @@ const PnmediaBlock = class {
146
147
  root: this.blockHeight === '100svh' ? this.block : null,
147
148
  threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible
148
149
  };
149
- return (h("div", { key: 'f5ae835cc4299ae08a0c781368c6407f359f8c8e', class: classes }, h("div", { key: 'c7ddb415c0f9fc3ea505dc38f0a1a6ed61eba35b', class: "media-block__block-container" }, h("div", { key: '82e5ebb277e31a683eea026dea5481655076dfb1', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '8d2090b3845bce11806a486c714b7b43b5519880', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '9919ba7c0af23dd1323202badbb68c302d037df1', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '5476764a9c75666dc7bdf45c7b7211a071cf78cd', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: 'd8b7c40d8465c45e8149560446081cc272675fef', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '1273888646c5e960ce36f4b3ecf03cefe16bc6a2', class: "media-block__cta-link" }, h("slot", { key: '80d7f2fe2f1657222d385d3e5263c698ddcfeff6', name: "cta-button" })))))), h("div", { key: '19f99b2fffe0d4a9152e8cf956aee689978f502f', id: "scroll-trigger" })));
150
+ return (h("div", { key: 'b0b38dea82bee61b3b492011c1363453fec2cd05', class: classes }, h("div", { key: '7bdef7349bac14dff6b6c015f10d56cab19bd02f', class: "media-block__block-container" }, h("div", { key: '0582a0a37ea40d3f3bc45f0d039200cd294a65c9', class: "media-block__media-container" }, isVideo ? (h("pn-play-on-scroll", { "show-overlay": this.showOverlayLayer, observerOptions: pnPlayOnScrollObserverOptions, "video-src": this.videoSrc })) : isImage ? (h("picture", null, h("source", { media: "(min-width: 1400px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1224px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1140px)", srcSet: this.imageSrc }), h("source", { media: "(min-width: 1023px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 768px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("source", { media: "(min-width: 500px)", srcSet: this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc }), h("img", { src: this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc, alt: this.imageAltText !== 'undefined' ? this.imageAltText : '', role: this.imageAltText !== 'undefined' ? 'img' : 'presentation', "aria-hidden": this.imageAltText !== 'undefined' ? 'false' : 'true' }))) : null), !isVideo && h("div", { key: '7f86720e7c7e1e3003d2c212ae2532fb080d392e', class: "media-block__overlay-filter", id: "mediaBlockOverlay" }), (this.blockHeading || this.blockPreamble) && (h("div", { key: '13b4205bc442fc60c08fb0d6b4c544953432460e', class: "media-block__content-container" }, this.blockHeading && (h(HeadingTag, { key: '617dc7ca90a9c7c920e5da573976b9dfb2f689a2', level: this.blockHeadingLevel, cssClass: "media-block__block-heading" }, this.blockHeading)), this.blockPreamble && h("p", { key: '2bd746208e65edf856253c04bc4ddfd9f9ed6e93', class: "media-block__preamble" }, this.blockPreamble), hasButtonSlot && (h("div", { key: '892a6ae5664dd789df3e4c7e02380729d5923896', class: "media-block__cta-link" }, h("slot", { key: 'a2d91572ca5fa7e31bf48228c4d230d4002f62da', name: "cta-button" })))))), h("div", { key: '925d7520a304891d3954ca8c195e85473e486e2a', id: "scroll-trigger" })));
150
151
  }
151
152
  };
152
153
  PnmediaBlock.style = PnMediaBlockStyle0;
@@ -1 +1 @@
1
- {"file":"pn-media-block.entry.js","mappings":"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","names":[],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Element, Prop, h, State } from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector('#mediaBlockOverlay') as HTMLElement;\n if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {\n overlayElement.style.background = `${this.customOverlayBackground}`;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-media-block.entry.js","mappings":"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","names":[],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n} from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector<HTMLElement>('#mediaBlockOverlay');\n const bg = this.customOverlayBackground?.trim();\n\n if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {\n overlayElement.style.background = bg;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"version":3}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postnord/pn-marketweb-components",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "description": "PostNord Market Websites Components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,2 +1,2 @@
1
- import{r as e,g as i,h as o}from"./p-b3a13b6a.js";import{H as a}from"./p-885d59e8.js";const n="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-media-block .media-block .media-block__block-container{display:grid;overflow:hidden}pn-media-block .media-block .media-block__media-container,pn-media-block .media-block .media-block__content-container,pn-media-block .media-block .media-block__overlay-filter{grid-area:1/1;width:100%;position:relative}pn-media-block .media-block .media-block__media-container{height:100vh;overflow:hidden;position:relative}pn-media-block .media-block .media-block__media-container img,pn-media-block .media-block .media-block__media-container video{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);object-fit:cover;pointer-events:none;max-width:100%;max-height:none;height:100%;width:100%;pointer-events:none}pn-media-block .media-block .media-block__media-container pn-play-on-scroll{width:100%;height:100%}pn-media-block .media-block .media-block__media-container .scroll-wrapper{width:100%;height:100%}pn-media-block .media-block .media-block__media-container [slot=scroll-affected]{width:100%;height:100%;display:flex}pn-media-block .media-block .media-block__media-container .scroll-wrapper,pn-media-block .media-block .media-block__media-container .scroll-affected{width:100%;height:100%;display:flex}pn-media-block .media-block .media-block__media-container video{width:100%;height:100%}pn-media-block .media-block .media-block__overlay-filter{z-index:2}pn-media-block .media-block .media-block__content-container{z-index:3;display:flex;align-items:center;justify-content:center;transition:opacity 1s;flex-direction:column;margin:0 auto;padding:3.4rem 0;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){pn-media-block .media-block .media-block__content-container{max-width:540px}}@media (min-width: 768px){pn-media-block .media-block .media-block__content-container{max-width:720px}}@media (min-width: 992px){pn-media-block .media-block .media-block__content-container{max-width:960px}}@media (min-width: 1200px){pn-media-block .media-block .media-block__content-container{max-width:1140px}}@media (min-width: 1640px){pn-media-block .media-block .media-block__content-container{max-width:1440px}}@media screen and (min-width: 992px){pn-media-block .media-block .media-block__content-container{padding:6.4rem 0}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container{padding:7.2rem 0}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container{padding:8rem 0}}pn-media-block .media-block .media-block__content-container .media-block__block-heading{max-width:100rem;text-wrap:balance;color:white;font-size:3.2rem;text-align:center;font-weight:700;line-height:1.1;margin-bottom:3rem}@media screen and (min-width: 576px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:4rem}}@media screen and (min-width: 768px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:4.8rem}}@media screen and (min-width: 992px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:5.6rem}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:8rem}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:8.8rem}}pn-media-block .media-block .media-block__content-container .media-block__preamble{max-width:80rem;max-width:80ch;text-wrap:balance;display:flex;color:white;font-size:1.8rem;text-align:center;font-weight:300}@media screen and (min-width: 576px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-size:2rem}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-size:2.4rem}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-weight:500}}pn-media-block .media-block .media-block__content-container .media-block__cta-link{margin-top:3rem}pn-media-block .media-block--height-100svh{min-height:100vh}@supports (height: 100svh){pn-media-block .media-block--height-100svh{height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container{max-height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__overlay-filter{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__overlay-filter{max-height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container picture{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container picture{max-height:100svh}}pn-media-block .media-block--height-65svh{min-height:65svh;overflow:auto}pn-media-block .media-block--height-65svh .media-block__block-container{height:65vh}@supports (max-height: 100svh){pn-media-block .media-block--height-65svh .media-block__block-container{max-height:65svh}}pn-media-block .media-block--height-65svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__overlay-filter{height:65vh}@supports (max-height: 100svh){pn-media-block .media-block--height-65svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__overlay-filter{max-height:65svh}}pn-media-block .media-block--height-65svh .media-block__media-container picture{max-height:none !important;height:auto !important}pn-media-block .media-block--height-dynamic{height:auto;overflow:auto}pn-media-block .media-block--height-dynamic .media-block__block-container{height:auto;max-height:none}pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__overlay-filter{height:auto;max-height:none}pn-media-block .media-block--with-overlay .media-block__block-container .media-block__overlay-filter{z-index:2;background:radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%)}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container,pn-media-block .media-block--fixed-background .media-block__block-container .media-block__overlay-filter{position:relative;overflow:hidden;top:0;width:100%;display:flex !important;clip-path:inset(0)}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container picture{position:absolute;top:0;width:100%;display:flex !important;height:100%}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container picture img{position:fixed;width:100%;height:100%;object-fit:cover;z-index:1}pn-media-block .media-block--video .media-block__content-container{max-width:80%}pn-media-block .media-block--animate-overlay-background .media-block__overlay-filter{background-size:200% 200% !important;animation:overlayBackgroundAnimation 20s ease infinite}@keyframes overlayBackgroundAnimation{0%{background-position:100% 100%}50%{background-position:50% 60%}100%{background-position:100% 100%}}pn-media-block .media-block--margin-bottom{margin-bottom:3.2rem}@media screen and (min-width: 768px){pn-media-block .media-block--margin-bottom{margin-bottom:4rem}}@media screen and (min-width: 992px){pn-media-block .media-block--margin-bottom{margin-bottom:5.6rem}}@media screen and (min-width: 1200px){pn-media-block .media-block--margin-bottom{margin-bottom:7.2rem}}";const t=n;const c=class{constructor(i){e(this,i);this.blockHeight=null;this.imageSrc=null;this.imageSrcSmallScreenFormat=undefined;this.imageAltText="";this.videoSrc=null;this.parallaxScroll=false;this.showOverlayLayer=false;this.customOverlayBackground=null;this.animateOverlayBackground=false;this.scrollSnapBlock=false;this.fixedBackground=false;this.blockHeading=null;this.blockHeadingLevel="h2";this.blockPreamble=null;this.marginBottom=false;this.pnPlayOnScrollObserverOptions={root:document,threshold:1,rootMargin:"220px 0px 220px 0px"};this.calculatedBlockHeight=undefined;this.hasButtonSlot=true}get block(){return i(this)}get hasVideo(){if(this.videoSrc!==null&&this.videoSrc!=="undefined"){return true}return false}get hasImage(){if(this.imageSrc!==null&&this.imageSrc!=="undefined"){return true}return false}observerScroll;observerSnap;componentWillLoad(){this.hasButtonSlot=!!this.block.querySelector('[slot="cta-button"]')}async componentDidLoad(){const e=document.getElementById("scroll-trigger");this.calculatedBlockHeight=this.block.offsetHeight;const i=this.block.querySelector("#mediaBlockOverlay");if(this.customOverlayBackground!=null||this.customOverlayBackground!="undefined"){i.style.background=`${this.customOverlayBackground}`}if(this.parallaxScroll){this.observerScroll=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){window.addEventListener("scroll",this.handleScroll)}else{window.removeEventListener("scroll",this.handleScroll)}}))}),{rootMargin:`0px 0px`});this.observerScroll.observe(e)}if(this.scrollSnapBlock){this.observerSnap=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){if(this.block instanceof HTMLElement){setTimeout((()=>{this.block.scrollIntoView({behavior:"smooth",block:"start"})}),1e3)}else{console.error("this.block is not a valid HTMLElement")}}}))}),{root:document,rootMargin:"100px 0px 100px 0px",threshold:0});this.observerSnap.observe(e)}}disconnectedCallback(){if(this.observerScroll){this.observerScroll.disconnect()}if(this.observerSnap){this.observerSnap.disconnect()}window.removeEventListener("scroll",this.handleScroll)}handleScroll=()=>{const e=this.block.firstElementChild;const i=this.block.querySelector("#scroll-trigger");const o=this.block.querySelector("#overlayed-button-pause-video");const a=i.getBoundingClientRect().top;const n=e.offsetHeight;const t=n-a;const c=.3;const d=.2;const l=this.block.querySelector(".media-block__media-container");const m=this.block.querySelector(".media-block__content-container");if(l!=null){l.style.transform=`translate(0, ${t*(.1+d)}px)`;if(o!=null){o.style.transform=`translate(0, ${-t*(.3+d)}px)`}}if(m){m.style.transform=`translate(0, ${t*(.5+c)}px)`;const e=Math.max(0,1-t/600);m.style.opacity=`${e}`}};render(){const{showOverlayLayer:e,fixedBackground:i,blockHeight:n,scrollSnapBlock:t,hasButtonSlot:c,hasVideo:d,hasImage:l,animateOverlayBackground:m,marginBottom:b}=this;const h=d;const r=l;const k=["media-block",n?`media-block--height-${n}`:"",e?"media-block--with-overlay":"",m?`media-block--animate-overlay-background`:"",h?"media-block--video":"",t?"scroll-snap":"no-scroll-snap",i?"media-block--fixed-background":"",b?"media-block--margin-bottom":""].join(" ");const s={root:this.blockHeight==="100svh"?this.block:null,threshold:[0,.5,1]};return o("div",{key:"f5ae835cc4299ae08a0c781368c6407f359f8c8e",class:k},o("div",{key:"c7ddb415c0f9fc3ea505dc38f0a1a6ed61eba35b",class:"media-block__block-container"},o("div",{key:"82e5ebb277e31a683eea026dea5481655076dfb1",class:"media-block__media-container"},h?o("pn-play-on-scroll",{"show-overlay":this.showOverlayLayer,observerOptions:s,"video-src":this.videoSrc}):r?o("picture",null,o("source",{media:"(min-width: 1400px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1224px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1140px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1023px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("source",{media:"(min-width: 768px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("source",{media:"(min-width: 500px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("img",{src:this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc,alt:this.imageAltText!=="undefined"?this.imageAltText:"",role:this.imageAltText!=="undefined"?"img":"presentation","aria-hidden":this.imageAltText!=="undefined"?"false":"true"})):null),!h&&o("div",{key:"8d2090b3845bce11806a486c714b7b43b5519880",class:"media-block__overlay-filter",id:"mediaBlockOverlay"}),(this.blockHeading||this.blockPreamble)&&o("div",{key:"9919ba7c0af23dd1323202badbb68c302d037df1",class:"media-block__content-container"},this.blockHeading&&o(a,{key:"5476764a9c75666dc7bdf45c7b7211a071cf78cd",level:this.blockHeadingLevel,cssClass:"media-block__block-heading"},this.blockHeading),this.blockPreamble&&o("p",{key:"d8b7c40d8465c45e8149560446081cc272675fef",class:"media-block__preamble"},this.blockPreamble),c&&o("div",{key:"1273888646c5e960ce36f4b3ecf03cefe16bc6a2",class:"media-block__cta-link"},o("slot",{key:"80d7f2fe2f1657222d385d3e5263c698ddcfeff6",name:"cta-button"})))),o("div",{key:"19f99b2fffe0d4a9152e8cf956aee689978f502f",id:"scroll-trigger"}))}};c.style=t;export{c as pn_media_block};
2
- //# sourceMappingURL=p-0f2148b7.entry.js.map
1
+ import{r as e,g as i,h as o}from"./p-b3a13b6a.js";import{H as a}from"./p-885d59e8.js";const n="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-media-block .media-block .media-block__block-container{display:grid;overflow:hidden}pn-media-block .media-block .media-block__media-container,pn-media-block .media-block .media-block__content-container,pn-media-block .media-block .media-block__overlay-filter{grid-area:1/1;width:100%;position:relative}pn-media-block .media-block .media-block__media-container{height:100vh;overflow:hidden;position:relative}pn-media-block .media-block .media-block__media-container img,pn-media-block .media-block .media-block__media-container video{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);object-fit:cover;pointer-events:none;max-width:100%;max-height:none;height:100%;width:100%;pointer-events:none}pn-media-block .media-block .media-block__media-container pn-play-on-scroll{width:100%;height:100%}pn-media-block .media-block .media-block__media-container .scroll-wrapper{width:100%;height:100%}pn-media-block .media-block .media-block__media-container [slot=scroll-affected]{width:100%;height:100%;display:flex}pn-media-block .media-block .media-block__media-container .scroll-wrapper,pn-media-block .media-block .media-block__media-container .scroll-affected{width:100%;height:100%;display:flex}pn-media-block .media-block .media-block__media-container video{width:100%;height:100%}pn-media-block .media-block .media-block__overlay-filter{z-index:2}pn-media-block .media-block .media-block__content-container{z-index:3;display:flex;align-items:center;justify-content:center;transition:opacity 1s;flex-direction:column;margin:0 auto;padding:3.4rem 0;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){pn-media-block .media-block .media-block__content-container{max-width:540px}}@media (min-width: 768px){pn-media-block .media-block .media-block__content-container{max-width:720px}}@media (min-width: 992px){pn-media-block .media-block .media-block__content-container{max-width:960px}}@media (min-width: 1200px){pn-media-block .media-block .media-block__content-container{max-width:1140px}}@media (min-width: 1640px){pn-media-block .media-block .media-block__content-container{max-width:1440px}}@media screen and (min-width: 992px){pn-media-block .media-block .media-block__content-container{padding:6.4rem 0}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container{padding:7.2rem 0}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container{padding:8rem 0}}pn-media-block .media-block .media-block__content-container .media-block__block-heading{max-width:100rem;text-wrap:balance;color:white;font-size:3.2rem;text-align:center;font-weight:700;line-height:1.1;margin-bottom:3rem}@media screen and (min-width: 576px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:4rem}}@media screen and (min-width: 768px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:4.8rem}}@media screen and (min-width: 992px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:5.6rem}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:8rem}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container .media-block__block-heading{font-size:8.8rem}}pn-media-block .media-block .media-block__content-container .media-block__preamble{max-width:80rem;max-width:80ch;text-wrap:balance;display:flex;color:white;font-size:1.8rem;text-align:center;font-weight:300}@media screen and (min-width: 576px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-size:2rem}}@media screen and (min-width: 1200px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-size:2.4rem}}@media screen and (min-width: 1640px){pn-media-block .media-block .media-block__content-container .media-block__preamble{font-weight:500}}pn-media-block .media-block .media-block__content-container .media-block__cta-link{margin-top:3rem}pn-media-block .media-block--height-100svh{min-height:100vh}@supports (height: 100svh){pn-media-block .media-block--height-100svh{height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container{max-height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__overlay-filter{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-100svh .media-block__block-container .media-block__overlay-filter{max-height:100svh}}pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container picture{height:100vh}@supports (max-height: 100svh){pn-media-block .media-block--height-100svh .media-block__block-container .media-block__media-container picture{max-height:100svh}}pn-media-block .media-block--height-65svh{min-height:65svh;overflow:auto}pn-media-block .media-block--height-65svh .media-block__block-container{height:65vh}@supports (max-height: 100svh){pn-media-block .media-block--height-65svh .media-block__block-container{max-height:65svh}}pn-media-block .media-block--height-65svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__overlay-filter{height:65vh}@supports (max-height: 100svh){pn-media-block .media-block--height-65svh .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-65svh .media-block__block-container .media-block__overlay-filter{max-height:65svh}}pn-media-block .media-block--height-65svh .media-block__media-container picture{max-height:none !important;height:auto !important}pn-media-block .media-block--height-dynamic{height:auto;overflow:auto}pn-media-block .media-block--height-dynamic .media-block__block-container{height:auto;max-height:none}pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__media-container,pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__content-container,pn-media-block .media-block--height-dynamic .media-block__block-container .media-block__overlay-filter{height:auto;max-height:none}pn-media-block .media-block--with-overlay .media-block__block-container .media-block__overlay-filter{z-index:2;background:radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%)}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container,pn-media-block .media-block--fixed-background .media-block__block-container .media-block__overlay-filter{position:relative;overflow:hidden;top:0;width:100%;display:flex !important;clip-path:inset(0)}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container picture{position:absolute;top:0;width:100%;display:flex !important;height:100%}pn-media-block .media-block--fixed-background .media-block__block-container .media-block__media-container picture img{position:fixed;width:100%;height:100%;object-fit:cover;z-index:1}pn-media-block .media-block--video .media-block__content-container{max-width:80%}pn-media-block .media-block--animate-overlay-background .media-block__overlay-filter{background-size:200% 200% !important;animation:overlayBackgroundAnimation 20s ease infinite}@keyframes overlayBackgroundAnimation{0%{background-position:100% 100%}50%{background-position:50% 60%}100%{background-position:100% 100%}}pn-media-block .media-block--margin-bottom{margin-bottom:3.2rem}@media screen and (min-width: 768px){pn-media-block .media-block--margin-bottom{margin-bottom:4rem}}@media screen and (min-width: 992px){pn-media-block .media-block--margin-bottom{margin-bottom:5.6rem}}@media screen and (min-width: 1200px){pn-media-block .media-block--margin-bottom{margin-bottom:7.2rem}}";const t=n;const c=class{constructor(i){e(this,i);this.blockHeight=null;this.imageSrc=null;this.imageSrcSmallScreenFormat=undefined;this.imageAltText="";this.videoSrc=null;this.parallaxScroll=false;this.showOverlayLayer=false;this.customOverlayBackground=null;this.animateOverlayBackground=false;this.scrollSnapBlock=false;this.fixedBackground=false;this.blockHeading=null;this.blockHeadingLevel="h2";this.blockPreamble=null;this.marginBottom=false;this.pnPlayOnScrollObserverOptions={root:document,threshold:1,rootMargin:"220px 0px 220px 0px"};this.calculatedBlockHeight=undefined;this.hasButtonSlot=true}get block(){return i(this)}get hasVideo(){if(this.videoSrc!==null&&this.videoSrc!=="undefined"){return true}return false}get hasImage(){if(this.imageSrc!==null&&this.imageSrc!=="undefined"){return true}return false}observerScroll;observerSnap;componentWillLoad(){this.hasButtonSlot=!!this.block.querySelector('[slot="cta-button"]')}async componentDidLoad(){const e=document.getElementById("scroll-trigger");this.calculatedBlockHeight=this.block.offsetHeight;const i=this.block.querySelector("#mediaBlockOverlay");const o=this.customOverlayBackground?.trim();if(i&&o&&o!=="undefined"&&o!=="null"){i.style.background=o}if(this.parallaxScroll){this.observerScroll=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){window.addEventListener("scroll",this.handleScroll)}else{window.removeEventListener("scroll",this.handleScroll)}}))}),{rootMargin:`0px 0px`});this.observerScroll.observe(e)}if(this.scrollSnapBlock){this.observerSnap=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){if(this.block instanceof HTMLElement){setTimeout((()=>{this.block.scrollIntoView({behavior:"smooth",block:"start"})}),1e3)}else{console.error("this.block is not a valid HTMLElement")}}}))}),{root:document,rootMargin:"100px 0px 100px 0px",threshold:0});this.observerSnap.observe(e)}}disconnectedCallback(){if(this.observerScroll){this.observerScroll.disconnect()}if(this.observerSnap){this.observerSnap.disconnect()}window.removeEventListener("scroll",this.handleScroll)}handleScroll=()=>{const e=this.block.firstElementChild;const i=this.block.querySelector("#scroll-trigger");const o=this.block.querySelector("#overlayed-button-pause-video");const a=i.getBoundingClientRect().top;const n=e.offsetHeight;const t=n-a;const c=.3;const d=.2;const l=this.block.querySelector(".media-block__media-container");const m=this.block.querySelector(".media-block__content-container");if(l!=null){l.style.transform=`translate(0, ${t*(.1+d)}px)`;if(o!=null){o.style.transform=`translate(0, ${-t*(.3+d)}px)`}}if(m){m.style.transform=`translate(0, ${t*(.5+c)}px)`;const e=Math.max(0,1-t/600);m.style.opacity=`${e}`}};render(){const{showOverlayLayer:e,fixedBackground:i,blockHeight:n,scrollSnapBlock:t,hasButtonSlot:c,hasVideo:d,hasImage:l,animateOverlayBackground:m,marginBottom:b}=this;const h=d;const r=l;const k=["media-block",n?`media-block--height-${n}`:"",e?"media-block--with-overlay":"",m?`media-block--animate-overlay-background`:"",h?"media-block--video":"",t?"scroll-snap":"no-scroll-snap",i?"media-block--fixed-background":"",b?"media-block--margin-bottom":""].join(" ");const s={root:this.blockHeight==="100svh"?this.block:null,threshold:[0,.5,1]};return o("div",{key:"b0b38dea82bee61b3b492011c1363453fec2cd05",class:k},o("div",{key:"7bdef7349bac14dff6b6c015f10d56cab19bd02f",class:"media-block__block-container"},o("div",{key:"0582a0a37ea40d3f3bc45f0d039200cd294a65c9",class:"media-block__media-container"},h?o("pn-play-on-scroll",{"show-overlay":this.showOverlayLayer,observerOptions:s,"video-src":this.videoSrc}):r?o("picture",null,o("source",{media:"(min-width: 1400px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1224px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1140px)",srcSet:this.imageSrc}),o("source",{media:"(min-width: 1023px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("source",{media:"(min-width: 768px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("source",{media:"(min-width: 500px)",srcSet:this.imageSrcSmallScreenFormat&&this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc}),o("img",{src:this.imageSrcSmallScreenFormat!=="undefined"?this.imageSrcSmallScreenFormat:this.imageSrc,alt:this.imageAltText!=="undefined"?this.imageAltText:"",role:this.imageAltText!=="undefined"?"img":"presentation","aria-hidden":this.imageAltText!=="undefined"?"false":"true"})):null),!h&&o("div",{key:"7f86720e7c7e1e3003d2c212ae2532fb080d392e",class:"media-block__overlay-filter",id:"mediaBlockOverlay"}),(this.blockHeading||this.blockPreamble)&&o("div",{key:"13b4205bc442fc60c08fb0d6b4c544953432460e",class:"media-block__content-container"},this.blockHeading&&o(a,{key:"617dc7ca90a9c7c920e5da573976b9dfb2f689a2",level:this.blockHeadingLevel,cssClass:"media-block__block-heading"},this.blockHeading),this.blockPreamble&&o("p",{key:"2bd746208e65edf856253c04bc4ddfd9f9ed6e93",class:"media-block__preamble"},this.blockPreamble),c&&o("div",{key:"892a6ae5664dd789df3e4c7e02380729d5923896",class:"media-block__cta-link"},o("slot",{key:"a2d91572ca5fa7e31bf48228c4d230d4002f62da",name:"cta-button"})))),o("div",{key:"925d7520a304891d3954ca8c195e85473e486e2a",id:"scroll-trigger"}))}};c.style=t;export{c as pn_media_block};
2
+ //# sourceMappingURL=p-b0845b6e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pnMediaBlockCss","PnMediaBlockStyle0","PnmediaBlock","undefined","root","document","threshold","rootMargin","hasVideo","this","videoSrc","hasImage","imageSrc","observerScroll","observerSnap","componentWillLoad","hasButtonSlot","block","querySelector","componentDidLoad","scrollTrigger","getElementById","calculatedBlockHeight","offsetHeight","overlayElement","bg","customOverlayBackground","trim","style","background","parallaxScroll","IntersectionObserver","entries","forEach","entry","isIntersecting","window","addEventListener","handleScroll","removeEventListener","observe","scrollSnapBlock","HTMLElement","setTimeout","scrollIntoView","behavior","console","error","disconnectedCallback","disconnect","mediaBlockElement","firstElementChild","videoPauseButton","scrollTriggerTop","getBoundingClientRect","top","mediaBlockElementHeight","scrollPosition","parallaxSpeedContent","parallaxSpeedMedia","mediaContainer","content","transform","opacity","Math","max","render","showOverlayLayer","fixedBackground","blockHeight","animateOverlayBackground","marginBottom","isVideo","isImage","classes","join","pnPlayOnScrollObserverOptions","h","key","class","observerOptions","media","srcSet","imageSrcSmallScreenFormat","src","alt","imageAltText","role","id","blockHeading","blockPreamble","HeadingTag","level","blockHeadingLevel","cssClass","name"],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n} from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector<HTMLElement>('#mediaBlockOverlay');\n const bg = this.customOverlayBackground?.trim();\n\n if (overlayElement && bg && bg !== 'undefined' && bg !== 'null') {\n overlayElement.style.background = bg;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAkB,66RACxB,MAAAC,EAAeD,E,MCgBFE,EAAY,M,0CACO,K,cACF,K,+BACiBC,U,kBACb,G,cACJ,K,oBACM,M,sBACE,M,6BACO,K,8BACC,M,qBACT,M,qBACA,M,kBACH,K,uBACK,K,mBACJ,K,kBACA,M,mCAEkC,CACjEC,KAAMC,SACNC,UAAW,EACXC,WAAY,uB,wDAIoB,I,4BAIlC,YAAIC,GACF,GAAIC,KAAKC,WAAa,MAAQD,KAAKC,WAAa,YAAa,CAC3D,OAAO,I,CAET,OAAO,K,CAGT,YAAIC,GACF,GAAIF,KAAKG,WAAa,MAAQH,KAAKG,WAAa,YAAa,CAC3D,OAAO,I,CAET,OAAO,K,CAGDC,eACAC,aAER,iBAAAC,GACEN,KAAKO,gBAAkBP,KAAKQ,MAAMC,cAAc,sB,CAGlD,sBAAMC,GACJ,MAAMC,EAAgBf,SAASgB,eAAe,kBAC9CZ,KAAKa,sBAAwBb,KAAKQ,MAAMM,aAExC,MAAMC,EAAiBf,KAAKQ,MAAMC,cAA2B,sBAC7D,MAAMO,EAAKhB,KAAKiB,yBAAyBC,OAEzC,GAAIH,GAAkBC,GAAMA,IAAO,aAAeA,IAAO,OAAQ,CAC/DD,EAAeI,MAAMC,WAAaJ,C,CAGpC,GAAIhB,KAAKqB,eAAgB,CACvBrB,KAAKI,eAAiB,IAAIkB,sBACxBC,IACEA,EAAQC,SAAQC,IACd,GAAIA,EAAMC,eAAgB,CACxBC,OAAOC,iBAAiB,SAAU5B,KAAK6B,a,KAClC,CACLF,OAAOG,oBAAoB,SAAU9B,KAAK6B,a,IAE5C,GAEJ,CAAE/B,WAAY,YAGhBE,KAAKI,eAAe2B,QAAQpB,E,CAG9B,GAAIX,KAAKgC,gBAAiB,CACxBhC,KAAKK,aAAe,IAAIiB,sBACtBC,IACEA,EAAQC,SAAQC,IACd,GAAIA,EAAMC,eAAgB,CAExB,GAAI1B,KAAKQ,iBAAiByB,YAAa,CACrCC,YAAW,KACTlC,KAAKQ,MAAM2B,eAAe,CAAEC,SAAU,SAAU5B,MAAO,SAAU,GAChE,I,KACE,CACL6B,QAAQC,MAAM,wC,KAGlB,GAEJ,CACE3C,KAAMC,SACNE,WAAY,sBACZD,UAAW,IAIfG,KAAKK,aAAa0B,QAAQpB,E,EAI9B,oBAAA4B,GAEE,GAAIvC,KAAKI,eAAgB,CACvBJ,KAAKI,eAAeoC,Y,CAEtB,GAAIxC,KAAKK,aAAc,CACrBL,KAAKK,aAAamC,Y,CAEpBb,OAAOG,oBAAoB,SAAU9B,KAAK6B,a,CAG5CA,aAAe,KACb,MAAMY,EAAoBzC,KAAKQ,MAAMkC,kBACrC,MAAM/B,EAAgBX,KAAKQ,MAAMC,cAAc,mBAC/C,MAAMkC,EAAmB3C,KAAKQ,MAAMC,cAAc,iCAElD,MAAMmC,EAAmBjC,EAAckC,wBAAwBC,IAC/D,MAAMC,EAA0BN,EAAkB3B,aAElD,MAAMkC,EAAiBD,EAA0BH,EAEjD,MAAMK,EAAuB,GAC7B,MAAMC,EAAqB,GAE3B,MAAMC,EAAiBnD,KAAKQ,MAAMC,cAAc,iCAChD,MAAM2C,EAAUpD,KAAKQ,MAAMC,cAAc,mCAEzC,GAAI0C,GAAkB,KAAM,CAE1BA,EAAehC,MAAMkC,UAAY,gBAAgBL,GAAkB,GAAME,QAEzE,GAAIP,GAAoB,KAAM,CAE5BA,EAAiBxB,MAAMkC,UAAY,iBAAiBL,GAAkB,GAAME,O,EAIhF,GAAIE,EAAS,CAEXA,EAAQjC,MAAMkC,UAAY,gBAAgBL,GAAkB,GAAMC,QAGlE,MAAMK,EAAUC,KAAKC,IAAI,EAAG,EAAIR,EAAiB,KACjDI,EAAQjC,MAAMmC,QAAU,GAAGA,G,GAI/B,MAAAG,GACE,MAAMC,iBAAEA,EAAgBC,gBAAEA,EAAeC,YAAEA,EAAW5B,gBAAEA,EAAezB,cAAEA,EAAaR,SAAEA,EAAQG,SAAEA,EAAQ2D,yBAAEA,EAAwBC,aAAEA,GAAiB9D,KAEvJ,MAAM+D,EAAUhE,EAChB,MAAMiE,EAAU9D,EAEhB,MAAM+D,EAAU,CACd,cACAL,EAAc,uBAAuBA,IAAgB,GACrDF,EAAmB,4BAA8B,GACjDG,EAA2B,0CAA4C,GACvEE,EAAU,qBAAuB,GACjC/B,EAAkB,cAAgB,iBAClC2B,EAAkB,gCAAkC,GACpDG,EAAe,6BAA+B,IAC9CI,KAAK,KAEP,MAAMC,EAA0D,CAC9DxE,KAAMK,KAAK4D,cAAgB,SAAW5D,KAAKQ,MAAQ,KACnDX,UAAW,CAAC,EAAG,GAAK,IAGtB,OACEuE,EAAA,OAAAC,IAAA,2CAAKC,MAAOL,GACVG,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gCACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gCACRP,EACCK,EAAA,oCAAiCpE,KAAK0D,iBAAkBa,gBAAiBJ,EAA6B,YAAanE,KAAKC,WACtH+D,EACFI,EAAA,eACEA,EAAA,UAAQI,MAAM,sBAAsBC,OAAQzE,KAAKG,WACjDiE,EAAA,UAAQI,MAAM,sBAAsBC,OAAQzE,KAAKG,WACjDiE,EAAA,UAAQI,MAAM,sBAAsBC,OAAQzE,KAAKG,WACjDiE,EAAA,UACEI,MAAM,sBACNC,OAAQzE,KAAK0E,2BAA6B1E,KAAK0E,4BAA8B,YAAc1E,KAAK0E,0BAA4B1E,KAAKG,WAEnIiE,EAAA,UACEI,MAAM,qBACNC,OAAQzE,KAAK0E,2BAA6B1E,KAAK0E,4BAA8B,YAAc1E,KAAK0E,0BAA4B1E,KAAKG,WAEnIiE,EAAA,UACEI,MAAM,qBACNC,OAAQzE,KAAK0E,2BAA6B1E,KAAK0E,4BAA8B,YAAc1E,KAAK0E,0BAA4B1E,KAAKG,WAEnIiE,EAAA,OACEO,IAAK3E,KAAK0E,4BAA8B,YAAc1E,KAAK0E,0BAA4B1E,KAAKG,SAC5FyE,IAAK5E,KAAK6E,eAAiB,YAAc7E,KAAK6E,aAAe,GAC7DC,KAAM9E,KAAK6E,eAAiB,YAAc,MAAQ,eAAc,cACnD7E,KAAK6E,eAAiB,YAAc,QAAU,UAG7D,OAGJd,GAAWK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,8BAA8BS,GAAG,uBAEvD/E,KAAKgF,cAAgBhF,KAAKiF,gBAC1Bb,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kCACRtE,KAAKgF,cACJZ,EAACc,EAAU,CAAAb,IAAA,2CAACc,MAAOnF,KAAKoF,kBAAmBC,SAAS,8BACjDrF,KAAKgF,cAGThF,KAAKiF,eAAiBb,EAAA,KAAAC,IAAA,2CAAGC,MAAM,yBAAyBtE,KAAKiF,eAC7D1E,GACC6D,EAAA,OAAAC,IAAA,2CAAKC,MAAM,yBACTF,EAAA,QAAAC,IAAA,2CAAMiB,KAAK,kBAOrBlB,EAAA,OAAAC,IAAA,2CAAKU,GAAG,mB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as e,H as a,b as t}from"./p-b3a13b6a.js";export{s as setNonce}from"./p-b3a13b6a.js";import{g as n}from"./p-e1255160.js";var o=()=>{{i(a.prototype)}const t=import.meta.url;const n={};if(t!==""){n.resourcesUrl=new URL(".",t).href}return e(n)};var i=e=>{const a=e.cloneNode;e.cloneNode=function(e){if(this.nodeName==="TEMPLATE"){return a.call(this,e)}const t=a.call(this,false);const n=this.childNodes;if(e){for(let e=0;e<n.length;e++){if(n[e].nodeType!==2){t.appendChild(n[e].cloneNode(true))}}}return t}};o().then((async e=>{await n();return t(JSON.parse('[["p-d18b9aff",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"siteid":[1],"environment":[1537],"userToken":[1,"user-token"],"userFullname":[1,"user-fullname"],"userLoggedin":[516,"user-loggedin"],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideHomeMenuItem":[1540,"hide-home-menu-item"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"showProfileSelection":[1540,"show-profile-selection"],"showUnifiedLogin":[4,"show-unified-login"],"siteDomainInUrls":[4,"site-domain-in-urls"],"AutocompleteEndpoint":[1,"autocomplete-endpoint"],"sessionForward":[4,"session-forward"],"cache":[4],"searchPlaceholder":[1,"search-placeholder"],"spaMode":[4,"spa-mode"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"useMarketwebLogin":[4,"use-marketweb-login"],"pageId":[1,"page-id"],"i18n":[32],"gotData":[32],"fetchingData":[32],"homePageLink":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"languageOptions":[32],"loginDialog":[32],"minimizeSearch":[32],"loggedIn":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]],{"language":["onLanguageChange"],"market":["onMarketChange"]}]]],["p-368aa69f",[[0,"pn-proxio-findprice",{"endpoint":[1025],"language":[1025],"market":[1025],"showMedium":[4,"show-medium"],"showInternational":[4,"show-international"],"maxAbroadKg":[2,"max-abroad-kg"],"weightListName":[1,"weight-list-name"],"cache":[4],"filteredItems":[32],"weight":[32],"weightvalue":[32],"countrycodevalue":[32],"sizecategory":[32],"data":[32]},null,{"market":["setState"],"language":["setState"],"sizecategory":["filterItems"],"weightvalue":["filterItems"],"countrycodevalue":["filterItems"]}]]],["p-34cb1e2e",[[0,"pn-find-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"weight":[32],"weightvalue":[32],"sourceData":[32],"sizecategory":[32]},null,{"market":["setState"],"language":["setState"],"sizecategory":["filterItems"],"weightvalue":["filterItems"]}]]],["p-92e8e287",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]},null,{"market":["setState"],"language":["setState"],"postagetype":["filterItems"],"deliveryscope":["filterItems"],"weightvalue":["filterItems"]}]]],["p-6b6aeeab",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]},null,{"market":["setState"],"language":["setState"],"postagetype":["filterItems"],"weightvalue":["filterItems"]}]]],["p-317fcddf",[[0,"pn-proxio-pricegroup",{"endpoint":[1025],"language":[1],"market":[1],"tariffid":[1],"cache":[4],"activeWeightIndex":[32],"data":[32],"i18n":[32]},[[0,"activeWeightIndex","setActiveWeightIndex"],[0,"language","setLanguage"]]]]],["p-b20d2e1b",[[0,"pn-product-pricelist-result",{"item":[1040],"description":[16],"shownitems":[16],"showMeasurement":[4,"show-measurement"],"weightText":[32]},null,{"item":["composeItems"]}]]],["p-24bfee5d",[[4,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDomainInUrls":[4,"site-domain-in-urls"],"cache":[4],"theme":[513],"backgroundcolor":[513],"showSwan":[4,"show-swan"],"headingLevel":[1,"heading-level"],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]},null,{"language":["onLanguageChange"],"market":["onMarketChange"]}]]],["p-0f2148b7",[[4,"pn-media-block",{"blockHeight":[1,"block-height"],"imageSrc":[1,"image-src"],"imageSrcSmallScreenFormat":[1,"image-src-small-screen-format"],"imageAltText":[1,"image-alt-text"],"videoSrc":[1,"video-src"],"parallaxScroll":[4,"parallax-scroll"],"showOverlayLayer":[4,"show-overlay-layer"],"customOverlayBackground":[1,"custom-overlay-background"],"animateOverlayBackground":[4,"animate-overlay-background"],"scrollSnapBlock":[4,"scroll-snap-block"],"fixedBackground":[4,"fixed-background"],"blockHeading":[1,"block-heading"],"blockHeadingLevel":[1,"block-heading-level"],"blockPreamble":[1,"block-preamble"],"marginBottom":[4,"margin-bottom"],"pnPlayOnScrollObserverOptions":[32],"calculatedBlockHeight":[32],"hasButtonSlot":[32]}]]],["p-6f6ed930",[[0,"pn-chat",{"endpoint":[1],"customerSegment":[1,"customer-segment"],"mainHeading":[1,"main-heading"],"relatedContentAriaLabel":[1,"related-content-aria-label"],"chatMinimizedAriaLabel":[1,"chat-minimized-aria-label"],"chatOpenedAriaLabel":[1,"chat-opened-aria-label"],"minimizeChatAriaLabel":[1,"minimize-chat-aria-label"],"closeChatAriaLabel":[1,"close-chat-aria-label"],"openChatAriaLabel":[1,"open-chat-aria-label"],"chatControlsAriaLabel":[1,"chat-controls-aria-label"],"chatMessagesAriaLabel":[1,"chat-messages-aria-label"],"sentMessageAriaLabel":[1,"sent-message-aria-label"],"writeChatMessagePlaceholder":[1,"write-chat-message-placeholder"],"waitingForAnswerLabel":[1,"waiting-for-answer-label"],"sendButtonText":[1,"send-button-text"],"loadingText":[1,"loading-text"],"carouselSlidesToShow":[2,"carousel-slides-to-show"],"messages":[1],"language":[1],"market":[1],"itemId":[1,"item-id"],"pnChatId":[1,"pn-chat-id"],"forceOpen":[4,"force-open"],"isLoggedIn":[4,"is-logged-in"],"message":[32],"messagesData":[32],"isMinimized":[32],"isClosed":[32],"lastMessageId":[32],"i18n":[32]},[[0,"keydown","handleKeyDown"]],{"messages":["handleMessagesChange"],"pnChatId":["handleNewChatId"],"forceOpen":["handleSameChatId"],"isMinimized":["scrollToBottom"]}]]],["p-778ae152",[[0,"pn-level-up",{"heading":[1],"headingLevel":[8,"heading-level"],"preamble":[1],"imageUrl":[1,"image-url"],"imageAltText":[1,"image-alt-text"],"endpoint":[1],"webModalContinueOtherDeviceLabel":[1,"web-modal-continue-other-device-label"],"webModalContinueThisDeviceLabel":[1,"web-modal-continue-this-device-label"],"mobileModalContinueThisDeviceLabel":[1,"mobile-modal-continue-this-device-label"],"mobileModalContinueOtherDeviceLabel":[1,"mobile-modal-continue-other-device-label"],"modalInstructionPhoneLineOne":[1,"modal-instruction-phone-line-one"],"modalInstructionPhoneLineTwo":[1,"modal-instruction-phone-line-two"],"modalInstructionPhoneLineThree":[1,"modal-instruction-phone-line-three"],"modalHeadingText":[1,"modal-heading-text"],"modalOutdatedQRMessage":[1,"modal-outdated-q-r-message"],"modalExpiresInMessage":[1,"modal-expires-in-message"],"qrAriaLabel":[1,"qr-aria-label"],"leveledupMessage":[1,"leveledup-message"],"isLeveledUp":[4,"is-leveled-up"],"isLoading":[32],"isRecentLeveledUp":[32],"errorMessage":[32]}]]],["p-dc11fc75",[[0,"pn-multi-row-connected-dropdown",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"label":[1],"firstDropdownLabel":[1,"first-dropdown-label"],"secondDropdownLabel":[1,"second-dropdown-label"],"dropdownPlaceholder":[1,"dropdown-placeholder"],"addRowText":[1,"add-row-text"],"inputFieldLabel":[1,"input-field-label"],"inputFieldPlaceholder":[1,"input-field-placeholder"],"disabledDates":[1,"disabled-dates"],"dateButtonText":[1,"date-button-text"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"allowMultipleRows":[4,"allow-multiple-rows"],"allowMultipleDates":[4,"allow-multiple-dates"],"startDateLabel":[1,"start-date-label"],"endDateLabel":[1,"end-date-label"],"multiDateHelperText":[1,"multi-date-helper-text"],"generateDatesButtonText":[1,"generate-dates-button-text"],"saveDateButtonText":[1,"save-date-button-text"],"noDatesText":[1,"no-dates-text"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"minAmount":[2,"min-amount"],"errorMessageEmpty":[1,"error-message-empty"],"errorMessageMinAmount":[1,"error-message-min-amount"],"minWarningAmount":[2,"min-warning-amount"],"warningMessageMinAmount":[1,"warning-message-min-amount"],"rowCount":[32],"rowData":[32],"formValues":[32]},[[0,"rowValueChange","predefinedValueChange"],[0,"deleteRowEvent","deleteRowEvent"]]]]],["p-e9d495e3",[[0,"pn-dropdown-with-multi-input-rows",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"firstDropdownLabel":[1,"first-dropdown-label"],"firstDropdownHelperText":[1,"first-dropdown-helper-text"],"secondDropdownLabel":[1,"second-dropdown-label"],"secondDropdownHelperText":[1,"second-dropdown-helper-text"],"secondDropdownMax":[2,"second-dropdown-max"],"deleteMultipleRowsWarningText":[1,"delete-multiple-rows-warning-text"],"confirmDeleteButtonText":[1,"confirm-delete-button-text"],"abortDeleteButtonText":[1,"abort-delete-button-text"],"firstInputLabel":[1,"first-input-label"],"firstInputPlaceholder":[1,"first-input-placeholder"],"firstInputMin":[2,"first-input-min"],"firstInputMax":[2,"first-input-max"],"firstInputWarning":[2,"first-input-warning"],"firstInputWarningText":[1,"first-input-warning-text"],"firstInputLowErrorText":[1,"first-input-low-error-text"],"firstInputHighErrorText":[1,"first-input-high-error-text"],"secondInputLabel":[1,"second-input-label"],"secondInputPlaceholder":[1,"second-input-placeholder"],"secondInputMin":[2,"second-input-min"],"secondInputMax":[2,"second-input-max"],"secondInputWarning":[2,"second-input-warning"],"secondInputWarningText":[1,"second-input-warning-text"],"secondInputLowErrorText":[1,"second-input-low-error-text"],"secondInputHighErrorText":[1,"second-input-high-error-text"],"disabledDates":[1,"disabled-dates"],"dateLabel":[1,"date-label"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"sumFieldLabel":[1,"sum-field-label"],"addRowText":[1,"add-row-text"],"elementHelperText":[1,"element-helper-text"],"dropdownDataRoot":[32],"secondDropdownArr":[32],"rowData":[32],"formValues":[32],"firstValidDateString":[32],"lastValidDateString":[32],"rowSum":[32],"minRowCount":[32],"showDeleteConfirm":[32],"i18n":[32]},[[0,"rowValueChange","predefinedValueChange"],[0,"firstInputChange","predefinedValueChange"],[0,"secondInputChange","predefinedValueChange"],[0,"deleteRowEvent","deleteRowEvent"]],{"languageCode":["setTranslations"]}]]],["p-7a721a2a",[[0,"pn-multiple-input",{"label":[1],"placeholder":[1],"addRowButtonText":[1,"add-row-button-text"],"rowData":[32]}]]],["p-aee65729",[[0,"pn-parcel-tracker",{"formActionUrl":[1,"form-action-url"],"heading":[1],"buttonLabel":[1,"button-label"],"locale":[1],"placeholder":[1],"inputName":[1,"input-name"],"currentWidth":[32]},[[9,"resize","handleViewportSizeChange"]]]]],["p-02cc3319",[[0,"pn-pex-pricefinder",{"language":[1],"currency":[1],"apiUrl":[1,"api-url"],"i18n":[32],"fromzip":[32],"tozip":[32],"weight":[32],"when":[32],"response":[32]},[[0,"language","setLanguage"]]]]],["p-bb5a6883",[[0,"pn-share",{"link":[1],"language":[1537],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-d07efc2e",[[4,"pn-stats-info",{"heading":[1],"dataArray":[1,"data-array"],"backgroundUrl":[1,"background-url"],"myParsedArray":[32]},null,{"dataArray":["parseMyArrayProp"]}]]],["p-133c7313",[[0,"pn-address-autofill",{"market":[1537],"environment":[1537],"endpoint":[1],"cache":[4],"countryCode":[1,"country-code"],"language":[1],"postalCodeProps":[1,"postal-code-props"],"cityProps":[1,"city-props"],"streetAddressProps":[1,"street-address-props"],"streetNumberProps":[1,"street-number-props"],"addressNotFoundError":[1,"address-not-found-error"],"postalCode":[32],"city":[32],"streetAddress":[32],"streetNumber":[32],"validAddress":[32],"translation":[32],"postalCodeRequiredLabel":[32],"streetRequiredLabel":[32],"fullAddress":[32],"isLoading":[32]}]]],["p-4aa7cec5",[[4,"pn-animated-tile",{"toggled":[32],"transitionClassName":[32],"animateIcon":[32]},null,{"toggled":["onToggledHandler"]}]]],["p-ebba8dd2",[[0,"pn-app-banner",{"appName":[1,"app-name"],"appDescription":[1,"app-description"],"ctaText":[1,"cta-text"],"appleStoreLink":[1,"apple-store-link"],"googleStoreLink":[1,"google-store-link"],"isClosed":[32],"storeLink":[32],"isLocalStorageAvailable":[32]}]]],["p-ed5c0dcc",[[4,"pn-bonus-progressbar",{"icon":[1],"heading":[1],"sumtext":[513],"theme":[513],"bonuspercentage":[1],"currency":[513],"value":[1538],"min":[1538],"max":[1538],"valuepercentage":[32],"progresspercentage":[32],"levelValues":[32],"currentLevelAdjustedValue":[32]},null,{"currentLevelAdjustedValue":["setValuePercentage"],"value":["setValuePercentage"],"min":["setValuePercentage"],"max":["setValuePercentage"]}]]],["p-3737defb",[[0,"pn-bonus-progressbar-level",{"current":[516],"value":[1538],"bonuspercentage":[1537],"visualpercentage":[1538],"percentage":[32],"max":[32],"min":[32],"currency":[32]}]]],["p-096cbbcb",[[0,"pn-breakpoints",{"breakPointClass":[1,"break-point-class"],"currentWidth":[32]},[[9,"resize","handleViewportSizeChange"]]]]],["p-b697755f",[[0,"pn-chart",{"labels":[1],"dataSets":[1,"data-sets"],"dataChartType":[8,"data-chart-type"],"myChartCtxRef":[32]},null,{"dataSets":["dataChangeHandler"],"labels":["labelsChangeHandler"]}]]],["p-1cb0f3fa",[[4,"pn-charts-card",{"header":[1],"highlight":[1],"preamble":[1],"label":[1],"source":[1],"sourceUrl":[1,"source-url"],"ctaLinkText":[1,"cta-link-text"],"openInNewWindow":[4,"open-in-new-window"]}]]],["p-de55f656",[[4,"pn-cta-block",{"heading":[1],"bodyText":[1,"body-text"],"pnBackgroundColor":[1,"pn-background-color"],"isLarge":[4,"is-large"],"isCentered":[4,"is-centered"],"isSmall":[4,"is-small"],"contentTop":[4,"content-top"]}]]],["p-eafffc4b",[[4,"pn-customernumber-selector",{"language":[1537],"open":[1540],"heading":[1],"description":[1],"i18n":[32]}]]],["p-e1c20440",[[4,"pn-customernumber-selector-option",{"heading":[1],"description":[1],"url":[1]}]]],["p-9fc3711d",[[0,"pn-date-and-time",{"languageCode":[1,"language-code"],"dateAndTimeLabel":[1,"date-and-time-label"],"dateDaysFromToday":[2,"date-days-from-today"],"validTimeRangeMinutes":[2,"valid-time-range-minutes"],"errorMessage":[1,"error-message"],"dateHelperText":[1,"date-helper-text"],"timeHelperText":[1,"time-helper-text"],"disableWeekends":[4,"disable-weekends"],"disabledDates":[1,"disabled-dates"],"datePlaceholder":[1,"date-placeholder"],"minFromHour":[2,"min-from-hour"],"maxToHour":[2,"max-to-hour"],"language":[32],"hourArr":[32],"minuteArr":[32],"formValue":[32],"invalidTimespan":[32],"selectedDate":[32],"selectedFromHour":[32],"selectedFromMin":[32],"selectedToHour":[32],"selectedToMin":[32],"firstValidDateString":[32],"lastValidDateString":[32]}]]],["p-62ce6700",[[4,"pn-dropdown-choice-adds-row",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"addRowDropdownName":[1,"add-row-dropdown-name"],"addRowDropdownPlaceholder":[1,"add-row-dropdown-placeholder"],"addRowDropdownLabel":[1,"add-row-dropdown-label"],"rowNameLabel":[1,"row-name-label"],"rowHasDropdown":[4,"row-has-dropdown"],"rowDropdownLabel":[1,"row-dropdown-label"],"rowDropdownPlaceholder":[1,"row-dropdown-placeholder"],"rowInputLabel":[1,"row-input-label"],"rowDeleteButtonText":[1,"row-delete-button-text"],"totalInputLimit":[2,"total-input-limit"],"minimumInputLimit":[2,"minimum-input-limit"],"inputLimitWarning":[1,"input-limit-warning"],"inputEmptyWarning":[1,"input-empty-warning"],"inputLowError":[1,"input-low-error"],"dropdownEmptyWarning":[1,"dropdown-empty-warning"],"nextRowIndex":[32],"rowSelectDropdownArr":[32],"formValue":[32]},null,{"dropdownData":["dropdownDataWatcher"]}]]],["p-7526d49d",[[4,"pn-hero-block-international",{"heading":[1],"subHeading":[1,"sub-heading"],"preamble":[1],"animateLogo":[4,"animate-logo"],"showSideLoader":[4,"show-side-loader"],"centeredLayout":[4,"centered-layout"]}]]],["p-ad807e2c",[[0,"pn-line-shape"]]],["p-c6db243c",[[4,"pn-link-list",{"heading":[1],"label":[1],"preamble":[1],"url":[1],"showMoreLabel":[1,"show-more-label"],"showMoreUrl":[1,"show-more-url"]}]]],["p-0d67f0af",[[0,"pn-marketweb-icon",{"symbol":[1],"small":[4],"color":[1]}]]],["p-c7d41f58",[[1,"pn-marketweb-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"list":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4],"suggestionObserver":[32],"hasClonedInput":[32],"listSuggestion":[32]},[[0,"input","inputHandler"]]]]],["p-0b7d3d23",[[0,"pn-marketweb-siteheader-login-mypage-button",{"label":[1],"myPageUrl":[1,"my-page-url"]}]]],["p-6d6ae33e",[[0,"pn-marketweb-table",{"mainHeading":[1,"main-heading"],"mainHeadingLevel":[1,"main-heading-level"],"preamble":[1],"subHeadingLevel":[1,"sub-heading-level"],"headers":[1],"rows":[1],"showHeadersInCells":[4,"show-headers-in-cells"],"cellHeaderLevel":[1,"cell-header-level"],"tableRowCtaActionLabel":[1,"table-row-cta-action-label"],"imageColAriaHeader":[1,"image-col-aria-header"],"ctaColAriaHeader":[1,"cta-col-aria-header"],"checkForNewShipments":[4,"check-for-new-shipments"],"endpoint":[1],"language":[1],"market":[1],"toggleDetailLabel":[1,"toggle-detail-label"],"checkForChat":[4,"check-for-chat"],"value":[1537],"shipmentType":[1,"shipment-type"],"contentId":[1,"content-id"],"takeAmountRow":[2,"take-amount-row"],"shipmentCount":[2,"shipment-count"],"i18n":[32],"_headers":[32],"_rows":[32],"_allKeys":[32],"screenInfo":[32]},null,{"language":["onLanguageChange"]}]]],["p-44175dbd",[[4,"pn-product-tile"]]],["p-588525ac",[[4,"pn-profile-modal",{"heading":[1],"continueCtaText":[1,"continue-cta-text"],"choosenCompanyText":[1,"choosen-company-text"],"toText":[1,"to-text"],"chooseCustomerNumberText":[1,"choose-customer-number-text"],"isLoading":[32]},[[0,"urlSelected","onUrlSelected"]]]]],["p-e07d8b18",[[4,"pn-profile-modal-customernumber",{"url":[513],"customernumber":[513],"selected":[516]}]]],["p-e1ccd651",[[4,"pn-profile-modal-profile",{"heading":[513],"description":[513],"url":[513],"selected":[1028],"showCustomerNumbers":[516,"show-customer-numbers"],"pleaseSelectText":[513,"please-select-text"],"visible":[1540],"identifier":[32]}]]],["p-0b092a5c",[[4,"pn-profile-modal-type",{"typeid":[513],"name":[1025],"selected":[1028],"selectedprofile":[1025]},null,{"selected":["onSelectedChange"]}]]],["p-315b9cba",[[4,"pn-profile-selector",{"language":[1537],"returnUrl":[1,"return-url"],"heading":[1],"i18n":[32],"isLoading":[32],"numberOfProfiles":[32]}]]],["p-fc5c33e7",[[0,"pn-profile-selector-option",{"heading":[1],"description":[1],"url":[1]}]]],["p-d3b4c8d7",[[4,"pn-quick-cta",{"heading":[1],"preamble":[1]}]]],["p-8b506b9b",[[4,"pn-quote-card",{"quote":[1],"name":[1],"occupation":[1]}]]],["p-9638d206",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["p-46711387",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]},null,{"isOpen":["onOpen"]}]]],["p-9b709942",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"currentSelection":[4,"current-selection"],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["p-b3605a96",[[4,"pn-sidenav-togglebutton",{"label":[1],"i18n":[32]}]]],["p-5d8eb438",[[4,"pn-spotlight",{"heading":[1],"preamble":[1],"isDynamic":[4,"is-dynamic"],"addDynamic":[32]}]]],["p-6d263c6e",[[4,"pn-teaser-card",{"text":[1],"heading":[1],"label":[1],"headingLevel":[1,"heading-level"],"dataCardColor":[513,"data-card-color"],"dataCardAlignment":[513,"data-card-alignment"],"hasCtaSlotContent":[32],"hasIllustrationSlot":[32]}]]],["p-9c0243fd",[[4,"pn-usp-promoter",{"heading":[1],"headingExtension":[1,"heading-extension"],"bodyText":[1,"body-text"],"backgroundGradient":[1,"background-gradient"],"fullWidth":[4,"full-width"],"rightAlign":[4,"right-align"],"hideMobileImage":[4,"hide-mobile-image"]}]]],["p-4bf2c8ab",[[0,"pn-proxio-findprice-result",{"item":[1040],"activeweight":[1026],"shownitems":[16],"Usp1":[1,"usp-1"],"Usp2":[1,"usp-2"],"Usp3":[1,"usp-3"],"description":[16],"showMeasurement":[4,"show-measurement"],"showInternational":[4,"show-international"],"selectedCountrycode":[1,"selected-countrycode"],"market":[1],"language":[1025],"weightText":[32],"linkId":[32],"shopLabel":[32],"shopUrl":[32],"shopId":[32],"i18n":[32]},null,{"item":["composeItems"],"activeweight":["getPriceString","getProductLink"]}]]],["p-3a298543",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]},null,{"item":["composeItems"]}]]],["p-3d11fd8a",[[0,"pn-play-on-scroll",{"videoSrc":[1,"video-src"],"observerOptions":[16],"showOverlay":[4,"show-overlay"],"videoId":[32],"isManuallyPaused":[32],"isPaused":[32]}]]],["p-02094ddb",[[0,"pn-level-up-modal",{"open":[516],"endpoint":[1],"instructionPhoneLineOne":[1,"instruction-phone-line-one"],"instructionPhoneLineTwo":[1,"instruction-phone-line-two"],"instructionPhoneLineThree":[1,"instruction-phone-line-three"],"headingText":[1,"heading-text"],"outdatedQRMessage":[1,"outdated-q-r-message"],"expiresInMessage":[1,"expires-in-message"],"system":[1],"qrAriaLabel":[1,"qr-aria-label"],"openModalToggle":[32],"isLoading":[32]},null,{"open":["updateOpen"]}]]],["p-ec7a8e5a",[[0,"pn-multi-row-connected-dropdown-row",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"label":[1],"firstDropdownLabel":[1,"first-dropdown-label"],"secondDropdownLabel":[1,"second-dropdown-label"],"dropdownPlaceholder":[1,"dropdown-placeholder"],"addRowText":[1,"add-row-text"],"inputFieldLabel":[1,"input-field-label"],"inputFieldPlaceholder":[1,"input-field-placeholder"],"disabledDates":[1,"disabled-dates"],"dateButtonText":[1,"date-button-text"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"allowMultipleDates":[4,"allow-multiple-dates"],"startDateLabel":[1,"start-date-label"],"endDateLabel":[1,"end-date-label"],"multiDateHelperText":[1,"multi-date-helper-text"],"generateDatesButtonText":[1,"generate-dates-button-text"],"saveDateButtonText":[1,"save-date-button-text"],"noDatesText":[1,"no-dates-text"],"index":[2],"predefinedValue":[1,"predefined-value"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"minAmount":[2,"min-amount"],"errorMessageEmpty":[1,"error-message-empty"],"errorMessageMinAmount":[1,"error-message-min-amount"],"minWarningAmount":[2,"min-warning-amount"],"warningMessageMinAmount":[1,"warning-message-min-amount"],"buttonsArray":[32],"firstDropdownArr":[32],"secondDropdownArr":[32],"firstDropdownClass":[32],"secondDropdownClass":[32],"firstValidDateString":[32],"lastValidDateString":[32],"firstDropdownPlaceholder":[32],"secondDropdownPlaceholder":[32],"startDateValue":[32],"endDateValue":[32],"generatedDatesArr":[32],"selectedButtonValue":[32],"inputFieldValue":[32],"dateValue":[32],"daysArr":[32]},null,{"predefinedValue":["applyPredefinedValue"]}]]],["p-89272a6b",[[0,"pn-dropdown-with-multi-input-rows-row",{"languageCode":[1,"language-code"],"firstInputPlaceholder":[1,"first-input-placeholder"],"firstInputMin":[2,"first-input-min"],"firstInputMax":[2,"first-input-max"],"firstInputWarning":[2,"first-input-warning"],"firstInputWarningText":[1,"first-input-warning-text"],"firstInputLowErrorText":[1,"first-input-low-error-text"],"firstInputHighErrorText":[1,"first-input-high-error-text"],"secondInputPlaceholder":[1,"second-input-placeholder"],"secondInputMin":[2,"second-input-min"],"secondInputMax":[2,"second-input-max"],"secondInputWarning":[2,"second-input-warning"],"secondInputWarningText":[1,"second-input-warning-text"],"secondInputLowErrorText":[1,"second-input-low-error-text"],"secondInputHighErrorText":[1,"second-input-high-error-text"],"dateLabel":[1,"date-label"],"datePlaceholder":[1,"date-placeholder"],"firstValidDate":[1,"first-valid-date"],"lastValidDate":[1,"last-valid-date"],"predefinedValue":[1,"predefined-value"],"rowIndex":[2,"row-index"],"minRowCount":[2,"min-row-count"],"disabledDates":[1,"disabled-dates"],"showFirstInputWarning":[32],"showFirstInputLowError":[32],"showFirstInputHighError":[32],"showSecondInputWarning":[32],"showSecondInputLowError":[32],"showSecondInputHighError":[32],"firstInputValue":[32],"secondInputValue":[32],"dateValue":[32]},null,{"predefinedValue":["applyPredefinedValue"]}]]],["p-6e3c311a",[[4,"pn-share-item",{"link":[1],"text":[1]}]]],["p-2f324058",[[0,"pn-stats-info-data",{"format":[1],"formatStyle":[1,"format-style"],"startValue":[2,"start-value"],"data":[2],"unit":[1],"preamble":[1],"duration":[2],"index":[2],"hasBeenShown":[32],"compId":[32]},null,{"hasBeenShown":["watchStateHandlder"]}]]],["p-c030c263",[[0,"pn-find-price-result",{"item":[1040],"shownitems":[16],"Usp1":[1,"usp-1"],"Usp2":[1,"usp-2"],"Usp3":[1,"usp-3"],"description":[16],"showMeasurement":[4,"show-measurement"],"weightText":[32],"linkId":[32],"shopLabel":[32],"shopUrl":[32],"shopId":[32]},null,{"item":["composeItems"]}]]],["p-4a8ef165",[[4,"pn-chat-message",{"category":[1],"customerSegment":[1,"customer-segment"],"agentName":[1,"agent-name"]}],[0,"pn-marketweb-carousel",{"previousButtonLabel":[1,"previous-button-label"],"nextButtonLabel":[1,"next-button-label"],"ariaNavigationLabel":[1,"aria-navigation-label"],"source":[1],"slidesToShow":[2,"slides-to-show"],"showCarouselButtons":[4,"show-carousel-buttons"],"showFirstSlidePrevButton":[4,"show-first-slide-prev-button"],"showLastSlideNextButton":[4,"show-last-slide-next-button"],"slidesData":[32],"currentSlide":[32],"isDragging":[32],"slideWidth":[32],"goToSlide":[64],"getCurrentSlide":[64]},null,{"source":["handleSourceChange"]}]]],["p-5f904742",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["p-b9774a2d",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["p-e69d8395",[[0,"pn-qr-code-generator",{"url":[1],"countdownSeconds":[2,"countdown-seconds"],"outdatedMessage":[1,"outdated-message"],"expiresInMessage":[1,"expires-in-message"],"updateCodeEverySecond":[4,"update-code-every-second"],"ariaLabel":[1,"aria-label"],"remainingSeconds":[32],"isOutdated":[32],"isFullscreen":[32]},null,{"url":["generateQRCode"]}]]],["p-d49d093f",[[4,"pn-site-footer",{"url":[1],"linktitle":[1],"theme":[513]}],[4,"pn-site-footer-col",{"theme":[513]}],[0,"pn-swan",{"licenseNumber":[1,"license-number"],"language":[1537],"linkTo":[1,"link-to"],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-f962fd3e",[[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["p-6a5cb4ca",[[0,"pn-marketweb-input",{"disabled":[4],"error":[1],"invalid":[4],"helpertext":[1],"label":[1],"placeholder":[1],"inputid":[1],"name":[1],"required":[4],"type":[1025],"autocomplete":[1],"valid":[4],"value":[1],"maxlength":[1],"min":[1],"max":[1],"step":[1],"pattern":[1],"showText":[32]}]]],["p-a6941ea3",[[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]],["p-6f1bf16b",[[4,"pn-scroll",{"observerOptions":[16],"behaviourClasses":[1,"behaviour-classes"],"transitionDurationSeconds":[2,"transition-duration-seconds"],"shouldLoop":[4,"should-loop"],"intersectFunc":[16],"notIntersectFunc":[16],"compId":[32]}],[0,"pn-video-overlay",{"language":[1],"isPaused":[4,"is-paused"],"showOverlay":[4,"show-overlay"],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-4c8bda8f",[[0,"pn-marketweb-siteheader-login-linklist",{"heading":[1],"links":[16],"idNamespace":[1,"id-namespace"],"showUnifiedLogin":[4,"show-unified-login"]}]]],["p-5d70be75",[[4,"pn-titletag",{"icon":[1],"color":[1537]}]]],["p-60e3ba3d",[[0,"pn-marketweb-siteheader-login-links",{"loginDialog":[1040],"idNamespace":[1,"id-namespace"],"loggedin":[516],"username":[1],"showUnifiedLogin":[4,"show-unified-login"]},null,{"loginDialog":["init"]}],[0,"pn-marketweb-siteheader-login-profileselection",{"loginDialog":[1040],"endpoint":[1],"loggedin":[4],"idNamespace":[1,"id-namespace"],"heading":[1],"i18n":[16],"currentProfile":[1040],"profileoptions":[1040],"user":[32],"logoutLink":[32],"userName":[32],"userEmail":[32]}],[0,"pn-marketweb-siteheader-unified-login",{"loggedIn":[4,"logged-in"],"logInLabel":[1,"log-in-label"],"useMarketwebLogin":[4,"use-marketweb-login"],"environment":[1]}],[0,"pn-marketweb-siteheader-login-button",{"label":[1],"useMarketwebLogin":[4,"use-marketweb-login"],"environment":[1]}]]],["p-08c96012",[[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"token":[1],"i18n":[16],"siteUrl":[1,"site-url"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"fullname":[1],"loggedin":[4],"showProfileSelection":[1028,"show-profile-selection"],"showUnifiedLogin":[4,"show-unified-login"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"environment":[1],"useMarketwebLogin":[4,"use-marketweb-login"],"loginLinks":[32],"toggleButtonText":[32],"username":[32]},null,{"i18n":["init"],"loginDialog":["init"]}],[4,"pn-mainnav-level",{"label":[1537],"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]},null,{"label":["setState"],"isOpen":["onOpen"]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]},null,{"value":["setSelectedLanguageName","setTranslations","onValueChange"]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"language":[1537],"siteid":[1],"search":[1040],"primary":[4],"icononly":[4],"autoCompleteOptions":[32]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["p-f6c5c4de",[[4,"pn-proxio-productcard"],[0,"pn-proxio-productcard-description",{"heading":[1],"highlight":[1],"description":[1],"list":[1040]}],[0,"pn-proxio-productcard-information",{"label":[1],"information":[16]}],[0,"pn-proxio-productcard-pricelink",{"price":[1],"vatText":[1,"vat-text"],"link":[1],"linktext":[1]}]]],["p-e55e5b49",[[0,"pn-product-card-info",{"rulle":[1],"paket":[1],"label":[1],"text":[1]}],[0,"pn-product-card-price",{"label":[1],"amount":[1],"currency":[1],"note":[1],"url":[1],"service":[1],"linkid":[1]}],[4,"pn-product-card"]]]]'),e)}));
1
+ import{p as e,H as a,b as t}from"./p-b3a13b6a.js";export{s as setNonce}from"./p-b3a13b6a.js";import{g as n}from"./p-e1255160.js";var o=()=>{{i(a.prototype)}const t=import.meta.url;const n={};if(t!==""){n.resourcesUrl=new URL(".",t).href}return e(n)};var i=e=>{const a=e.cloneNode;e.cloneNode=function(e){if(this.nodeName==="TEMPLATE"){return a.call(this,e)}const t=a.call(this,false);const n=this.childNodes;if(e){for(let e=0;e<n.length;e++){if(n[e].nodeType!==2){t.appendChild(n[e].cloneNode(true))}}}return t}};o().then((async e=>{await n();return t(JSON.parse('[["p-d18b9aff",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"siteid":[1],"environment":[1537],"userToken":[1,"user-token"],"userFullname":[1,"user-fullname"],"userLoggedin":[516,"user-loggedin"],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideHomeMenuItem":[1540,"hide-home-menu-item"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"showProfileSelection":[1540,"show-profile-selection"],"showUnifiedLogin":[4,"show-unified-login"],"siteDomainInUrls":[4,"site-domain-in-urls"],"AutocompleteEndpoint":[1,"autocomplete-endpoint"],"sessionForward":[4,"session-forward"],"cache":[4],"searchPlaceholder":[1,"search-placeholder"],"spaMode":[4,"spa-mode"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"useMarketwebLogin":[4,"use-marketweb-login"],"pageId":[1,"page-id"],"i18n":[32],"gotData":[32],"fetchingData":[32],"homePageLink":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"languageOptions":[32],"loginDialog":[32],"minimizeSearch":[32],"loggedIn":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]],{"language":["onLanguageChange"],"market":["onMarketChange"]}]]],["p-368aa69f",[[0,"pn-proxio-findprice",{"endpoint":[1025],"language":[1025],"market":[1025],"showMedium":[4,"show-medium"],"showInternational":[4,"show-international"],"maxAbroadKg":[2,"max-abroad-kg"],"weightListName":[1,"weight-list-name"],"cache":[4],"filteredItems":[32],"weight":[32],"weightvalue":[32],"countrycodevalue":[32],"sizecategory":[32],"data":[32]},null,{"market":["setState"],"language":["setState"],"sizecategory":["filterItems"],"weightvalue":["filterItems"],"countrycodevalue":["filterItems"]}]]],["p-34cb1e2e",[[0,"pn-find-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"weight":[32],"weightvalue":[32],"sourceData":[32],"sizecategory":[32]},null,{"market":["setState"],"language":["setState"],"sizecategory":["filterItems"],"weightvalue":["filterItems"]}]]],["p-92e8e287",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]},null,{"market":["setState"],"language":["setState"],"postagetype":["filterItems"],"deliveryscope":["filterItems"],"weightvalue":["filterItems"]}]]],["p-6b6aeeab",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]},null,{"market":["setState"],"language":["setState"],"postagetype":["filterItems"],"weightvalue":["filterItems"]}]]],["p-317fcddf",[[0,"pn-proxio-pricegroup",{"endpoint":[1025],"language":[1],"market":[1],"tariffid":[1],"cache":[4],"activeWeightIndex":[32],"data":[32],"i18n":[32]},[[0,"activeWeightIndex","setActiveWeightIndex"],[0,"language","setLanguage"]]]]],["p-b20d2e1b",[[0,"pn-product-pricelist-result",{"item":[1040],"description":[16],"shownitems":[16],"showMeasurement":[4,"show-measurement"],"weightText":[32]},null,{"item":["composeItems"]}]]],["p-24bfee5d",[[4,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDomainInUrls":[4,"site-domain-in-urls"],"cache":[4],"theme":[513],"backgroundcolor":[513],"showSwan":[4,"show-swan"],"headingLevel":[1,"heading-level"],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]},null,{"language":["onLanguageChange"],"market":["onMarketChange"]}]]],["p-b0845b6e",[[4,"pn-media-block",{"blockHeight":[1,"block-height"],"imageSrc":[1,"image-src"],"imageSrcSmallScreenFormat":[1,"image-src-small-screen-format"],"imageAltText":[1,"image-alt-text"],"videoSrc":[1,"video-src"],"parallaxScroll":[4,"parallax-scroll"],"showOverlayLayer":[4,"show-overlay-layer"],"customOverlayBackground":[1,"custom-overlay-background"],"animateOverlayBackground":[4,"animate-overlay-background"],"scrollSnapBlock":[4,"scroll-snap-block"],"fixedBackground":[4,"fixed-background"],"blockHeading":[1,"block-heading"],"blockHeadingLevel":[1,"block-heading-level"],"blockPreamble":[1,"block-preamble"],"marginBottom":[4,"margin-bottom"],"pnPlayOnScrollObserverOptions":[32],"calculatedBlockHeight":[32],"hasButtonSlot":[32]}]]],["p-6f6ed930",[[0,"pn-chat",{"endpoint":[1],"customerSegment":[1,"customer-segment"],"mainHeading":[1,"main-heading"],"relatedContentAriaLabel":[1,"related-content-aria-label"],"chatMinimizedAriaLabel":[1,"chat-minimized-aria-label"],"chatOpenedAriaLabel":[1,"chat-opened-aria-label"],"minimizeChatAriaLabel":[1,"minimize-chat-aria-label"],"closeChatAriaLabel":[1,"close-chat-aria-label"],"openChatAriaLabel":[1,"open-chat-aria-label"],"chatControlsAriaLabel":[1,"chat-controls-aria-label"],"chatMessagesAriaLabel":[1,"chat-messages-aria-label"],"sentMessageAriaLabel":[1,"sent-message-aria-label"],"writeChatMessagePlaceholder":[1,"write-chat-message-placeholder"],"waitingForAnswerLabel":[1,"waiting-for-answer-label"],"sendButtonText":[1,"send-button-text"],"loadingText":[1,"loading-text"],"carouselSlidesToShow":[2,"carousel-slides-to-show"],"messages":[1],"language":[1],"market":[1],"itemId":[1,"item-id"],"pnChatId":[1,"pn-chat-id"],"forceOpen":[4,"force-open"],"isLoggedIn":[4,"is-logged-in"],"message":[32],"messagesData":[32],"isMinimized":[32],"isClosed":[32],"lastMessageId":[32],"i18n":[32]},[[0,"keydown","handleKeyDown"]],{"messages":["handleMessagesChange"],"pnChatId":["handleNewChatId"],"forceOpen":["handleSameChatId"],"isMinimized":["scrollToBottom"]}]]],["p-778ae152",[[0,"pn-level-up",{"heading":[1],"headingLevel":[8,"heading-level"],"preamble":[1],"imageUrl":[1,"image-url"],"imageAltText":[1,"image-alt-text"],"endpoint":[1],"webModalContinueOtherDeviceLabel":[1,"web-modal-continue-other-device-label"],"webModalContinueThisDeviceLabel":[1,"web-modal-continue-this-device-label"],"mobileModalContinueThisDeviceLabel":[1,"mobile-modal-continue-this-device-label"],"mobileModalContinueOtherDeviceLabel":[1,"mobile-modal-continue-other-device-label"],"modalInstructionPhoneLineOne":[1,"modal-instruction-phone-line-one"],"modalInstructionPhoneLineTwo":[1,"modal-instruction-phone-line-two"],"modalInstructionPhoneLineThree":[1,"modal-instruction-phone-line-three"],"modalHeadingText":[1,"modal-heading-text"],"modalOutdatedQRMessage":[1,"modal-outdated-q-r-message"],"modalExpiresInMessage":[1,"modal-expires-in-message"],"qrAriaLabel":[1,"qr-aria-label"],"leveledupMessage":[1,"leveledup-message"],"isLeveledUp":[4,"is-leveled-up"],"isLoading":[32],"isRecentLeveledUp":[32],"errorMessage":[32]}]]],["p-dc11fc75",[[0,"pn-multi-row-connected-dropdown",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"label":[1],"firstDropdownLabel":[1,"first-dropdown-label"],"secondDropdownLabel":[1,"second-dropdown-label"],"dropdownPlaceholder":[1,"dropdown-placeholder"],"addRowText":[1,"add-row-text"],"inputFieldLabel":[1,"input-field-label"],"inputFieldPlaceholder":[1,"input-field-placeholder"],"disabledDates":[1,"disabled-dates"],"dateButtonText":[1,"date-button-text"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"allowMultipleRows":[4,"allow-multiple-rows"],"allowMultipleDates":[4,"allow-multiple-dates"],"startDateLabel":[1,"start-date-label"],"endDateLabel":[1,"end-date-label"],"multiDateHelperText":[1,"multi-date-helper-text"],"generateDatesButtonText":[1,"generate-dates-button-text"],"saveDateButtonText":[1,"save-date-button-text"],"noDatesText":[1,"no-dates-text"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"minAmount":[2,"min-amount"],"errorMessageEmpty":[1,"error-message-empty"],"errorMessageMinAmount":[1,"error-message-min-amount"],"minWarningAmount":[2,"min-warning-amount"],"warningMessageMinAmount":[1,"warning-message-min-amount"],"rowCount":[32],"rowData":[32],"formValues":[32]},[[0,"rowValueChange","predefinedValueChange"],[0,"deleteRowEvent","deleteRowEvent"]]]]],["p-e9d495e3",[[0,"pn-dropdown-with-multi-input-rows",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"firstDropdownLabel":[1,"first-dropdown-label"],"firstDropdownHelperText":[1,"first-dropdown-helper-text"],"secondDropdownLabel":[1,"second-dropdown-label"],"secondDropdownHelperText":[1,"second-dropdown-helper-text"],"secondDropdownMax":[2,"second-dropdown-max"],"deleteMultipleRowsWarningText":[1,"delete-multiple-rows-warning-text"],"confirmDeleteButtonText":[1,"confirm-delete-button-text"],"abortDeleteButtonText":[1,"abort-delete-button-text"],"firstInputLabel":[1,"first-input-label"],"firstInputPlaceholder":[1,"first-input-placeholder"],"firstInputMin":[2,"first-input-min"],"firstInputMax":[2,"first-input-max"],"firstInputWarning":[2,"first-input-warning"],"firstInputWarningText":[1,"first-input-warning-text"],"firstInputLowErrorText":[1,"first-input-low-error-text"],"firstInputHighErrorText":[1,"first-input-high-error-text"],"secondInputLabel":[1,"second-input-label"],"secondInputPlaceholder":[1,"second-input-placeholder"],"secondInputMin":[2,"second-input-min"],"secondInputMax":[2,"second-input-max"],"secondInputWarning":[2,"second-input-warning"],"secondInputWarningText":[1,"second-input-warning-text"],"secondInputLowErrorText":[1,"second-input-low-error-text"],"secondInputHighErrorText":[1,"second-input-high-error-text"],"disabledDates":[1,"disabled-dates"],"dateLabel":[1,"date-label"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"sumFieldLabel":[1,"sum-field-label"],"addRowText":[1,"add-row-text"],"elementHelperText":[1,"element-helper-text"],"dropdownDataRoot":[32],"secondDropdownArr":[32],"rowData":[32],"formValues":[32],"firstValidDateString":[32],"lastValidDateString":[32],"rowSum":[32],"minRowCount":[32],"showDeleteConfirm":[32],"i18n":[32]},[[0,"rowValueChange","predefinedValueChange"],[0,"firstInputChange","predefinedValueChange"],[0,"secondInputChange","predefinedValueChange"],[0,"deleteRowEvent","deleteRowEvent"]],{"languageCode":["setTranslations"]}]]],["p-7a721a2a",[[0,"pn-multiple-input",{"label":[1],"placeholder":[1],"addRowButtonText":[1,"add-row-button-text"],"rowData":[32]}]]],["p-aee65729",[[0,"pn-parcel-tracker",{"formActionUrl":[1,"form-action-url"],"heading":[1],"buttonLabel":[1,"button-label"],"locale":[1],"placeholder":[1],"inputName":[1,"input-name"],"currentWidth":[32]},[[9,"resize","handleViewportSizeChange"]]]]],["p-02cc3319",[[0,"pn-pex-pricefinder",{"language":[1],"currency":[1],"apiUrl":[1,"api-url"],"i18n":[32],"fromzip":[32],"tozip":[32],"weight":[32],"when":[32],"response":[32]},[[0,"language","setLanguage"]]]]],["p-bb5a6883",[[0,"pn-share",{"link":[1],"language":[1537],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-d07efc2e",[[4,"pn-stats-info",{"heading":[1],"dataArray":[1,"data-array"],"backgroundUrl":[1,"background-url"],"myParsedArray":[32]},null,{"dataArray":["parseMyArrayProp"]}]]],["p-133c7313",[[0,"pn-address-autofill",{"market":[1537],"environment":[1537],"endpoint":[1],"cache":[4],"countryCode":[1,"country-code"],"language":[1],"postalCodeProps":[1,"postal-code-props"],"cityProps":[1,"city-props"],"streetAddressProps":[1,"street-address-props"],"streetNumberProps":[1,"street-number-props"],"addressNotFoundError":[1,"address-not-found-error"],"postalCode":[32],"city":[32],"streetAddress":[32],"streetNumber":[32],"validAddress":[32],"translation":[32],"postalCodeRequiredLabel":[32],"streetRequiredLabel":[32],"fullAddress":[32],"isLoading":[32]}]]],["p-4aa7cec5",[[4,"pn-animated-tile",{"toggled":[32],"transitionClassName":[32],"animateIcon":[32]},null,{"toggled":["onToggledHandler"]}]]],["p-ebba8dd2",[[0,"pn-app-banner",{"appName":[1,"app-name"],"appDescription":[1,"app-description"],"ctaText":[1,"cta-text"],"appleStoreLink":[1,"apple-store-link"],"googleStoreLink":[1,"google-store-link"],"isClosed":[32],"storeLink":[32],"isLocalStorageAvailable":[32]}]]],["p-ed5c0dcc",[[4,"pn-bonus-progressbar",{"icon":[1],"heading":[1],"sumtext":[513],"theme":[513],"bonuspercentage":[1],"currency":[513],"value":[1538],"min":[1538],"max":[1538],"valuepercentage":[32],"progresspercentage":[32],"levelValues":[32],"currentLevelAdjustedValue":[32]},null,{"currentLevelAdjustedValue":["setValuePercentage"],"value":["setValuePercentage"],"min":["setValuePercentage"],"max":["setValuePercentage"]}]]],["p-3737defb",[[0,"pn-bonus-progressbar-level",{"current":[516],"value":[1538],"bonuspercentage":[1537],"visualpercentage":[1538],"percentage":[32],"max":[32],"min":[32],"currency":[32]}]]],["p-096cbbcb",[[0,"pn-breakpoints",{"breakPointClass":[1,"break-point-class"],"currentWidth":[32]},[[9,"resize","handleViewportSizeChange"]]]]],["p-b697755f",[[0,"pn-chart",{"labels":[1],"dataSets":[1,"data-sets"],"dataChartType":[8,"data-chart-type"],"myChartCtxRef":[32]},null,{"dataSets":["dataChangeHandler"],"labels":["labelsChangeHandler"]}]]],["p-1cb0f3fa",[[4,"pn-charts-card",{"header":[1],"highlight":[1],"preamble":[1],"label":[1],"source":[1],"sourceUrl":[1,"source-url"],"ctaLinkText":[1,"cta-link-text"],"openInNewWindow":[4,"open-in-new-window"]}]]],["p-de55f656",[[4,"pn-cta-block",{"heading":[1],"bodyText":[1,"body-text"],"pnBackgroundColor":[1,"pn-background-color"],"isLarge":[4,"is-large"],"isCentered":[4,"is-centered"],"isSmall":[4,"is-small"],"contentTop":[4,"content-top"]}]]],["p-eafffc4b",[[4,"pn-customernumber-selector",{"language":[1537],"open":[1540],"heading":[1],"description":[1],"i18n":[32]}]]],["p-e1c20440",[[4,"pn-customernumber-selector-option",{"heading":[1],"description":[1],"url":[1]}]]],["p-9fc3711d",[[0,"pn-date-and-time",{"languageCode":[1,"language-code"],"dateAndTimeLabel":[1,"date-and-time-label"],"dateDaysFromToday":[2,"date-days-from-today"],"validTimeRangeMinutes":[2,"valid-time-range-minutes"],"errorMessage":[1,"error-message"],"dateHelperText":[1,"date-helper-text"],"timeHelperText":[1,"time-helper-text"],"disableWeekends":[4,"disable-weekends"],"disabledDates":[1,"disabled-dates"],"datePlaceholder":[1,"date-placeholder"],"minFromHour":[2,"min-from-hour"],"maxToHour":[2,"max-to-hour"],"language":[32],"hourArr":[32],"minuteArr":[32],"formValue":[32],"invalidTimespan":[32],"selectedDate":[32],"selectedFromHour":[32],"selectedFromMin":[32],"selectedToHour":[32],"selectedToMin":[32],"firstValidDateString":[32],"lastValidDateString":[32]}]]],["p-62ce6700",[[4,"pn-dropdown-choice-adds-row",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"addRowDropdownName":[1,"add-row-dropdown-name"],"addRowDropdownPlaceholder":[1,"add-row-dropdown-placeholder"],"addRowDropdownLabel":[1,"add-row-dropdown-label"],"rowNameLabel":[1,"row-name-label"],"rowHasDropdown":[4,"row-has-dropdown"],"rowDropdownLabel":[1,"row-dropdown-label"],"rowDropdownPlaceholder":[1,"row-dropdown-placeholder"],"rowInputLabel":[1,"row-input-label"],"rowDeleteButtonText":[1,"row-delete-button-text"],"totalInputLimit":[2,"total-input-limit"],"minimumInputLimit":[2,"minimum-input-limit"],"inputLimitWarning":[1,"input-limit-warning"],"inputEmptyWarning":[1,"input-empty-warning"],"inputLowError":[1,"input-low-error"],"dropdownEmptyWarning":[1,"dropdown-empty-warning"],"nextRowIndex":[32],"rowSelectDropdownArr":[32],"formValue":[32]},null,{"dropdownData":["dropdownDataWatcher"]}]]],["p-7526d49d",[[4,"pn-hero-block-international",{"heading":[1],"subHeading":[1,"sub-heading"],"preamble":[1],"animateLogo":[4,"animate-logo"],"showSideLoader":[4,"show-side-loader"],"centeredLayout":[4,"centered-layout"]}]]],["p-ad807e2c",[[0,"pn-line-shape"]]],["p-c6db243c",[[4,"pn-link-list",{"heading":[1],"label":[1],"preamble":[1],"url":[1],"showMoreLabel":[1,"show-more-label"],"showMoreUrl":[1,"show-more-url"]}]]],["p-0d67f0af",[[0,"pn-marketweb-icon",{"symbol":[1],"small":[4],"color":[1]}]]],["p-c7d41f58",[[1,"pn-marketweb-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"list":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4],"suggestionObserver":[32],"hasClonedInput":[32],"listSuggestion":[32]},[[0,"input","inputHandler"]]]]],["p-0b7d3d23",[[0,"pn-marketweb-siteheader-login-mypage-button",{"label":[1],"myPageUrl":[1,"my-page-url"]}]]],["p-6d6ae33e",[[0,"pn-marketweb-table",{"mainHeading":[1,"main-heading"],"mainHeadingLevel":[1,"main-heading-level"],"preamble":[1],"subHeadingLevel":[1,"sub-heading-level"],"headers":[1],"rows":[1],"showHeadersInCells":[4,"show-headers-in-cells"],"cellHeaderLevel":[1,"cell-header-level"],"tableRowCtaActionLabel":[1,"table-row-cta-action-label"],"imageColAriaHeader":[1,"image-col-aria-header"],"ctaColAriaHeader":[1,"cta-col-aria-header"],"checkForNewShipments":[4,"check-for-new-shipments"],"endpoint":[1],"language":[1],"market":[1],"toggleDetailLabel":[1,"toggle-detail-label"],"checkForChat":[4,"check-for-chat"],"value":[1537],"shipmentType":[1,"shipment-type"],"contentId":[1,"content-id"],"takeAmountRow":[2,"take-amount-row"],"shipmentCount":[2,"shipment-count"],"i18n":[32],"_headers":[32],"_rows":[32],"_allKeys":[32],"screenInfo":[32]},null,{"language":["onLanguageChange"]}]]],["p-44175dbd",[[4,"pn-product-tile"]]],["p-588525ac",[[4,"pn-profile-modal",{"heading":[1],"continueCtaText":[1,"continue-cta-text"],"choosenCompanyText":[1,"choosen-company-text"],"toText":[1,"to-text"],"chooseCustomerNumberText":[1,"choose-customer-number-text"],"isLoading":[32]},[[0,"urlSelected","onUrlSelected"]]]]],["p-e07d8b18",[[4,"pn-profile-modal-customernumber",{"url":[513],"customernumber":[513],"selected":[516]}]]],["p-e1ccd651",[[4,"pn-profile-modal-profile",{"heading":[513],"description":[513],"url":[513],"selected":[1028],"showCustomerNumbers":[516,"show-customer-numbers"],"pleaseSelectText":[513,"please-select-text"],"visible":[1540],"identifier":[32]}]]],["p-0b092a5c",[[4,"pn-profile-modal-type",{"typeid":[513],"name":[1025],"selected":[1028],"selectedprofile":[1025]},null,{"selected":["onSelectedChange"]}]]],["p-315b9cba",[[4,"pn-profile-selector",{"language":[1537],"returnUrl":[1,"return-url"],"heading":[1],"i18n":[32],"isLoading":[32],"numberOfProfiles":[32]}]]],["p-fc5c33e7",[[0,"pn-profile-selector-option",{"heading":[1],"description":[1],"url":[1]}]]],["p-d3b4c8d7",[[4,"pn-quick-cta",{"heading":[1],"preamble":[1]}]]],["p-8b506b9b",[[4,"pn-quote-card",{"quote":[1],"name":[1],"occupation":[1]}]]],["p-9638d206",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["p-46711387",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]},null,{"isOpen":["onOpen"]}]]],["p-9b709942",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"currentSelection":[4,"current-selection"],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["p-b3605a96",[[4,"pn-sidenav-togglebutton",{"label":[1],"i18n":[32]}]]],["p-5d8eb438",[[4,"pn-spotlight",{"heading":[1],"preamble":[1],"isDynamic":[4,"is-dynamic"],"addDynamic":[32]}]]],["p-6d263c6e",[[4,"pn-teaser-card",{"text":[1],"heading":[1],"label":[1],"headingLevel":[1,"heading-level"],"dataCardColor":[513,"data-card-color"],"dataCardAlignment":[513,"data-card-alignment"],"hasCtaSlotContent":[32],"hasIllustrationSlot":[32]}]]],["p-9c0243fd",[[4,"pn-usp-promoter",{"heading":[1],"headingExtension":[1,"heading-extension"],"bodyText":[1,"body-text"],"backgroundGradient":[1,"background-gradient"],"fullWidth":[4,"full-width"],"rightAlign":[4,"right-align"],"hideMobileImage":[4,"hide-mobile-image"]}]]],["p-4bf2c8ab",[[0,"pn-proxio-findprice-result",{"item":[1040],"activeweight":[1026],"shownitems":[16],"Usp1":[1,"usp-1"],"Usp2":[1,"usp-2"],"Usp3":[1,"usp-3"],"description":[16],"showMeasurement":[4,"show-measurement"],"showInternational":[4,"show-international"],"selectedCountrycode":[1,"selected-countrycode"],"market":[1],"language":[1025],"weightText":[32],"linkId":[32],"shopLabel":[32],"shopUrl":[32],"shopId":[32],"i18n":[32]},null,{"item":["composeItems"],"activeweight":["getPriceString","getProductLink"]}]]],["p-3a298543",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]},null,{"item":["composeItems"]}]]],["p-3d11fd8a",[[0,"pn-play-on-scroll",{"videoSrc":[1,"video-src"],"observerOptions":[16],"showOverlay":[4,"show-overlay"],"videoId":[32],"isManuallyPaused":[32],"isPaused":[32]}]]],["p-02094ddb",[[0,"pn-level-up-modal",{"open":[516],"endpoint":[1],"instructionPhoneLineOne":[1,"instruction-phone-line-one"],"instructionPhoneLineTwo":[1,"instruction-phone-line-two"],"instructionPhoneLineThree":[1,"instruction-phone-line-three"],"headingText":[1,"heading-text"],"outdatedQRMessage":[1,"outdated-q-r-message"],"expiresInMessage":[1,"expires-in-message"],"system":[1],"qrAriaLabel":[1,"qr-aria-label"],"openModalToggle":[32],"isLoading":[32]},null,{"open":["updateOpen"]}]]],["p-ec7a8e5a",[[0,"pn-multi-row-connected-dropdown-row",{"dropdownData":[1,"dropdown-data"],"languageCode":[1,"language-code"],"label":[1],"firstDropdownLabel":[1,"first-dropdown-label"],"secondDropdownLabel":[1,"second-dropdown-label"],"dropdownPlaceholder":[1,"dropdown-placeholder"],"addRowText":[1,"add-row-text"],"inputFieldLabel":[1,"input-field-label"],"inputFieldPlaceholder":[1,"input-field-placeholder"],"disabledDates":[1,"disabled-dates"],"dateButtonText":[1,"date-button-text"],"datePlaceholder":[1,"date-placeholder"],"dateDaysFromToday":[2,"date-days-from-today"],"allowMultipleDates":[4,"allow-multiple-dates"],"startDateLabel":[1,"start-date-label"],"endDateLabel":[1,"end-date-label"],"multiDateHelperText":[1,"multi-date-helper-text"],"generateDatesButtonText":[1,"generate-dates-button-text"],"saveDateButtonText":[1,"save-date-button-text"],"noDatesText":[1,"no-dates-text"],"index":[2],"predefinedValue":[1,"predefined-value"],"yearsToAddToEndDate":[2,"years-to-add-to-end-date"],"minAmount":[2,"min-amount"],"errorMessageEmpty":[1,"error-message-empty"],"errorMessageMinAmount":[1,"error-message-min-amount"],"minWarningAmount":[2,"min-warning-amount"],"warningMessageMinAmount":[1,"warning-message-min-amount"],"buttonsArray":[32],"firstDropdownArr":[32],"secondDropdownArr":[32],"firstDropdownClass":[32],"secondDropdownClass":[32],"firstValidDateString":[32],"lastValidDateString":[32],"firstDropdownPlaceholder":[32],"secondDropdownPlaceholder":[32],"startDateValue":[32],"endDateValue":[32],"generatedDatesArr":[32],"selectedButtonValue":[32],"inputFieldValue":[32],"dateValue":[32],"daysArr":[32]},null,{"predefinedValue":["applyPredefinedValue"]}]]],["p-89272a6b",[[0,"pn-dropdown-with-multi-input-rows-row",{"languageCode":[1,"language-code"],"firstInputPlaceholder":[1,"first-input-placeholder"],"firstInputMin":[2,"first-input-min"],"firstInputMax":[2,"first-input-max"],"firstInputWarning":[2,"first-input-warning"],"firstInputWarningText":[1,"first-input-warning-text"],"firstInputLowErrorText":[1,"first-input-low-error-text"],"firstInputHighErrorText":[1,"first-input-high-error-text"],"secondInputPlaceholder":[1,"second-input-placeholder"],"secondInputMin":[2,"second-input-min"],"secondInputMax":[2,"second-input-max"],"secondInputWarning":[2,"second-input-warning"],"secondInputWarningText":[1,"second-input-warning-text"],"secondInputLowErrorText":[1,"second-input-low-error-text"],"secondInputHighErrorText":[1,"second-input-high-error-text"],"dateLabel":[1,"date-label"],"datePlaceholder":[1,"date-placeholder"],"firstValidDate":[1,"first-valid-date"],"lastValidDate":[1,"last-valid-date"],"predefinedValue":[1,"predefined-value"],"rowIndex":[2,"row-index"],"minRowCount":[2,"min-row-count"],"disabledDates":[1,"disabled-dates"],"showFirstInputWarning":[32],"showFirstInputLowError":[32],"showFirstInputHighError":[32],"showSecondInputWarning":[32],"showSecondInputLowError":[32],"showSecondInputHighError":[32],"firstInputValue":[32],"secondInputValue":[32],"dateValue":[32]},null,{"predefinedValue":["applyPredefinedValue"]}]]],["p-6e3c311a",[[4,"pn-share-item",{"link":[1],"text":[1]}]]],["p-2f324058",[[0,"pn-stats-info-data",{"format":[1],"formatStyle":[1,"format-style"],"startValue":[2,"start-value"],"data":[2],"unit":[1],"preamble":[1],"duration":[2],"index":[2],"hasBeenShown":[32],"compId":[32]},null,{"hasBeenShown":["watchStateHandlder"]}]]],["p-c030c263",[[0,"pn-find-price-result",{"item":[1040],"shownitems":[16],"Usp1":[1,"usp-1"],"Usp2":[1,"usp-2"],"Usp3":[1,"usp-3"],"description":[16],"showMeasurement":[4,"show-measurement"],"weightText":[32],"linkId":[32],"shopLabel":[32],"shopUrl":[32],"shopId":[32]},null,{"item":["composeItems"]}]]],["p-4a8ef165",[[4,"pn-chat-message",{"category":[1],"customerSegment":[1,"customer-segment"],"agentName":[1,"agent-name"]}],[0,"pn-marketweb-carousel",{"previousButtonLabel":[1,"previous-button-label"],"nextButtonLabel":[1,"next-button-label"],"ariaNavigationLabel":[1,"aria-navigation-label"],"source":[1],"slidesToShow":[2,"slides-to-show"],"showCarouselButtons":[4,"show-carousel-buttons"],"showFirstSlidePrevButton":[4,"show-first-slide-prev-button"],"showLastSlideNextButton":[4,"show-last-slide-next-button"],"slidesData":[32],"currentSlide":[32],"isDragging":[32],"slideWidth":[32],"goToSlide":[64],"getCurrentSlide":[64]},null,{"source":["handleSourceChange"]}]]],["p-5f904742",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["p-b9774a2d",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["p-e69d8395",[[0,"pn-qr-code-generator",{"url":[1],"countdownSeconds":[2,"countdown-seconds"],"outdatedMessage":[1,"outdated-message"],"expiresInMessage":[1,"expires-in-message"],"updateCodeEverySecond":[4,"update-code-every-second"],"ariaLabel":[1,"aria-label"],"remainingSeconds":[32],"isOutdated":[32],"isFullscreen":[32]},null,{"url":["generateQRCode"]}]]],["p-d49d093f",[[4,"pn-site-footer",{"url":[1],"linktitle":[1],"theme":[513]}],[4,"pn-site-footer-col",{"theme":[513]}],[0,"pn-swan",{"licenseNumber":[1,"license-number"],"language":[1537],"linkTo":[1,"link-to"],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-f962fd3e",[[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["p-6a5cb4ca",[[0,"pn-marketweb-input",{"disabled":[4],"error":[1],"invalid":[4],"helpertext":[1],"label":[1],"placeholder":[1],"inputid":[1],"name":[1],"required":[4],"type":[1025],"autocomplete":[1],"valid":[4],"value":[1],"maxlength":[1],"min":[1],"max":[1],"step":[1],"pattern":[1],"showText":[32]}]]],["p-a6941ea3",[[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]],["p-6f1bf16b",[[4,"pn-scroll",{"observerOptions":[16],"behaviourClasses":[1,"behaviour-classes"],"transitionDurationSeconds":[2,"transition-duration-seconds"],"shouldLoop":[4,"should-loop"],"intersectFunc":[16],"notIntersectFunc":[16],"compId":[32]}],[0,"pn-video-overlay",{"language":[1],"isPaused":[4,"is-paused"],"showOverlay":[4,"show-overlay"],"i18n":[32]},null,{"language":["onLanguageChange"]}]]],["p-4c8bda8f",[[0,"pn-marketweb-siteheader-login-linklist",{"heading":[1],"links":[16],"idNamespace":[1,"id-namespace"],"showUnifiedLogin":[4,"show-unified-login"]}]]],["p-5d70be75",[[4,"pn-titletag",{"icon":[1],"color":[1537]}]]],["p-60e3ba3d",[[0,"pn-marketweb-siteheader-login-links",{"loginDialog":[1040],"idNamespace":[1,"id-namespace"],"loggedin":[516],"username":[1],"showUnifiedLogin":[4,"show-unified-login"]},null,{"loginDialog":["init"]}],[0,"pn-marketweb-siteheader-login-profileselection",{"loginDialog":[1040],"endpoint":[1],"loggedin":[4],"idNamespace":[1,"id-namespace"],"heading":[1],"i18n":[16],"currentProfile":[1040],"profileoptions":[1040],"user":[32],"logoutLink":[32],"userName":[32],"userEmail":[32]}],[0,"pn-marketweb-siteheader-unified-login",{"loggedIn":[4,"logged-in"],"logInLabel":[1,"log-in-label"],"useMarketwebLogin":[4,"use-marketweb-login"],"environment":[1]}],[0,"pn-marketweb-siteheader-login-button",{"label":[1],"useMarketwebLogin":[4,"use-marketweb-login"],"environment":[1]}]]],["p-08c96012",[[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"token":[1],"i18n":[16],"siteUrl":[1,"site-url"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"fullname":[1],"loggedin":[4],"showProfileSelection":[1028,"show-profile-selection"],"showUnifiedLogin":[4,"show-unified-login"],"checkUserLoggedInStateInterval":[2,"check-user-logged-in-state-interval"],"environment":[1],"useMarketwebLogin":[4,"use-marketweb-login"],"loginLinks":[32],"toggleButtonText":[32],"username":[32]},null,{"i18n":["init"],"loginDialog":["init"]}],[4,"pn-mainnav-level",{"label":[1537],"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]},null,{"label":["setState"],"isOpen":["onOpen"]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]},null,{"value":["setSelectedLanguageName","setTranslations","onValueChange"]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"language":[1537],"siteid":[1],"search":[1040],"primary":[4],"icononly":[4],"autoCompleteOptions":[32]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["p-f6c5c4de",[[4,"pn-proxio-productcard"],[0,"pn-proxio-productcard-description",{"heading":[1],"highlight":[1],"description":[1],"list":[1040]}],[0,"pn-proxio-productcard-information",{"label":[1],"information":[16]}],[0,"pn-proxio-productcard-pricelink",{"price":[1],"vatText":[1,"vat-text"],"link":[1],"linktext":[1]}]]],["p-e55e5b49",[[0,"pn-product-card-info",{"rulle":[1],"paket":[1],"label":[1],"text":[1]}],[0,"pn-product-card-price",{"label":[1],"amount":[1],"currency":[1],"note":[1],"url":[1],"service":[1],"linkid":[1]}],[4,"pn-product-card"]]]]'),e)}));
2
2
  //# sourceMappingURL=pn-market-web-components.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pnMediaBlockCss","PnMediaBlockStyle0","PnmediaBlock","undefined","root","document","threshold","rootMargin","hasVideo","this","videoSrc","hasImage","imageSrc","observerScroll","observerSnap","componentWillLoad","hasButtonSlot","block","querySelector","componentDidLoad","scrollTrigger","getElementById","calculatedBlockHeight","offsetHeight","overlayElement","customOverlayBackground","style","background","parallaxScroll","IntersectionObserver","entries","forEach","entry","isIntersecting","window","addEventListener","handleScroll","removeEventListener","observe","scrollSnapBlock","HTMLElement","setTimeout","scrollIntoView","behavior","console","error","disconnectedCallback","disconnect","mediaBlockElement","firstElementChild","videoPauseButton","scrollTriggerTop","getBoundingClientRect","top","mediaBlockElementHeight","scrollPosition","parallaxSpeedContent","parallaxSpeedMedia","mediaContainer","content","transform","opacity","Math","max","render","showOverlayLayer","fixedBackground","blockHeight","animateOverlayBackground","marginBottom","isVideo","isImage","classes","join","pnPlayOnScrollObserverOptions","h","key","class","observerOptions","media","srcSet","imageSrcSmallScreenFormat","src","alt","imageAltText","role","id","blockHeading","blockPreamble","HeadingTag","level","blockHeadingLevel","cssClass","name"],"sources":["src/components/media/pn-media-block/pn-media-block.scss?tag=pn-media-block","src/components/media/pn-media-block/pn-media-block.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n$animationDuration: 20s;\n\npn-media-block {\n .media-block {\n .media-block__block-container {\n display: grid;\n overflow: hidden;\n }\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n grid-area: 1 / 1;\n width: 100%;\n position: relative;\n }\n\n .media-block__media-container {\n height: 100vh;\n overflow: hidden;\n position: relative;\n\n img,\n video {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n pointer-events: none;\n max-width: 100%;\n max-height: none;\n height: 100%;\n width: 100%;\n pointer-events: none;\n }\n\n pn-play-on-scroll {\n width: 100%;\n height: 100%;\n }\n\n .scroll-wrapper {\n width: 100%;\n height: 100%;\n }\n\n [slot='scroll-affected'] {\n width: 100%;\n height: 100%;\n display: flex;\n }\n\n .scroll-wrapper,\n .scroll-affected {\n width: 100%;\n height: 100%;\n display: flex;\n }\n video {\n width: 100%;\n height: 100%;\n }\n }\n\n .media-block__overlay-filter {\n z-index: 2;\n }\n\n .media-block__content-container {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 1s;\n flex-direction: column;\n margin: 0 auto;\n padding: 3.4rem 0;\n\n @include inner-container;\n\n @media screen and (min-width: $min-width-lg) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: $min-width-xl) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n padding: 8rem 0;\n }\n\n .media-block__block-heading {\n max-width: 100rem;\n text-wrap: balance;\n color: white;\n font-size: 3.2rem;\n text-align: center;\n font-weight: 700;\n line-height: 1.1;\n margin-bottom: 3rem;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-size: 8.8rem;\n }\n }\n\n .media-block__preamble {\n max-width: 80rem;\n max-width: 80ch;\n text-wrap: balance;\n display: flex;\n color: white;\n font-size: 1.8rem;\n text-align: center;\n font-weight: 300;\n\n @media screen and (min-width: $min-width-sm) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: $min-width-xl) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-xxl) {\n font-weight: 500;\n }\n }\n\n .media-block__cta-link {\n margin-top: 3rem;\n }\n }\n }\n\n .media-block--height-100svh {\n min-height: 100vh;\n\n @supports (height: 100svh) {\n height: 100svh;\n }\n\n .media-block__block-container {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n\n .media-block__media-container picture {\n height: 100vh;\n\n @supports (max-height: 100svh) {\n max-height: 100svh;\n }\n }\n }\n }\n\n .media-block--height-65svh {\n min-height: 65svh;\n overflow: auto;\n\n .media-block__block-container {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: 65vh;\n\n @supports (max-height: 100svh) {\n max-height: 65svh;\n }\n }\n }\n\n .media-block__media-container picture {\n max-height: none !important;\n height: auto !important;\n }\n }\n\n .media-block--height-dynamic {\n height: auto;\n overflow: auto;\n\n .media-block__block-container {\n height: auto;\n max-height: none;\n\n .media-block__media-container,\n .media-block__content-container,\n .media-block__overlay-filter {\n height: auto;\n max-height: none;\n }\n }\n }\n\n .media-block--with-overlay {\n .media-block__block-container .media-block__overlay-filter {\n z-index: 2;\n background: radial-gradient(circle, rgba(13, 35, 75, 0.68) 7%, rgba(13, 35, 75, 0) 80%);\n }\n }\n\n .media-block--fixed-background {\n .media-block__block-container {\n .media-block__media-container,\n .media-block__overlay-filter {\n position: relative;\n overflow: hidden;\n top: 0;\n width: 100%;\n display: flex !important;\n clip-path: inset(0);\n }\n\n .media-block__media-container {\n picture {\n position: absolute;\n top: 0;\n width: 100%;\n display: flex !important;\n height: 100%;\n\n img {\n position: fixed;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n }\n }\n }\n }\n }\n\n .media-block--video {\n .media-block__content-container {\n max-width: 80%;\n }\n }\n\n .media-block--animate-overlay-background {\n .media-block__overlay-filter {\n background-size: 200% 200% !important;\n animation: overlayBackgroundAnimation $animationDuration ease infinite;\n }\n }\n\n @keyframes overlayBackgroundAnimation {\n 0% {\n background-position: 100% 100%;\n }\n 50% {\n background-position: 50% 60%;\n }\n 100% {\n background-position: 100% 100%;\n }\n }\n\n .media-block--margin-bottom {\n margin-bottom: 3.2rem;\n\n @media screen and (min-width:$min-width-md) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:$min-width-lg) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:$min-width-xl) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Element, Prop, h, State } from '@stencil/core';\n\nfunction userPrefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n@Component({\n tag: 'pn-media-block',\n styleUrl: 'pn-media-block.scss',\n})\nexport class PnmediaBlock {\n @Prop() blockHeight: string = null;\n @Prop() imageSrc?: string = null;\n @Prop() imageSrcSmallScreenFormat?: string = undefined;\n @Prop() imageAltText?: string = '';\n @Prop() videoSrc?: string = null;\n @Prop() parallaxScroll: boolean = false;\n @Prop() showOverlayLayer: boolean = false;\n @Prop() customOverlayBackground?: string = null;\n @Prop() animateOverlayBackground: boolean = false;\n @Prop() scrollSnapBlock: boolean = false;\n @Prop() fixedBackground: boolean = false;\n @Prop() blockHeading?: string = null;\n @Prop() blockHeadingLevel?: string = 'h2';\n @Prop() blockPreamble?: string = null;\n @Prop() marginBottom?: boolean = false;\n\n @State() pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: document,\n threshold: 1,\n rootMargin: '220px 0px 220px 0px',\n };\n\n @State() calculatedBlockHeight: number;\n @State() hasButtonSlot: boolean = true;\n\n @Element() block: HTMLElement;\n\n get hasVideo() {\n if (this.videoSrc !== null && this.videoSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n get hasImage() {\n if (this.imageSrc !== null && this.imageSrc !== 'undefined') {\n return true;\n }\n return false;\n }\n\n private observerScroll: IntersectionObserver;\n private observerSnap: IntersectionObserver;\n\n componentWillLoad() {\n this.hasButtonSlot = !!this.block.querySelector('[slot=\"cta-button\"]');\n }\n\n async componentDidLoad() {\n const scrollTrigger = document.getElementById('scroll-trigger');\n this.calculatedBlockHeight = this.block.offsetHeight;\n\n const overlayElement = this.block.querySelector('#mediaBlockOverlay') as HTMLElement;\n if (this.customOverlayBackground != null || this.customOverlayBackground != 'undefined') {\n overlayElement.style.background = `${this.customOverlayBackground}`;\n }\n\n if (this.parallaxScroll) {\n this.observerScroll = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', this.handleScroll);\n } else {\n window.removeEventListener('scroll', this.handleScroll);\n }\n });\n },\n { rootMargin: `0px 0px` },\n );\n\n this.observerScroll.observe(scrollTrigger);\n }\n\n if (this.scrollSnapBlock) {\n this.observerSnap = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n // The block is within 100px of the viewport, scroll it into view\n if (this.block instanceof HTMLElement) {\n setTimeout(() => {\n this.block.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 1000); // Adjust the delay as needed\n } else {\n console.error('this.block is not a valid HTMLElement');\n }\n }\n });\n },\n {\n root: document,\n rootMargin: '100px 0px 100px 0px',\n threshold: 0,\n },\n );\n\n this.observerSnap.observe(scrollTrigger);\n }\n }\n\n disconnectedCallback() {\n // Clean up the observer and event listener when the component is removed\n if (this.observerScroll) {\n this.observerScroll.disconnect();\n }\n if (this.observerSnap) {\n this.observerSnap.disconnect();\n }\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n handleScroll = () => {\n const mediaBlockElement = this.block.firstElementChild as HTMLElement;\n const scrollTrigger = this.block.querySelector('#scroll-trigger') as HTMLElement;\n const videoPauseButton = this.block.querySelector('#overlayed-button-pause-video') as HTMLButtonElement;\n\n const scrollTriggerTop = scrollTrigger.getBoundingClientRect().top;\n const mediaBlockElementHeight = mediaBlockElement.offsetHeight;\n\n const scrollPosition = mediaBlockElementHeight - scrollTriggerTop;\n\n const parallaxSpeedContent = 0.3;\n const parallaxSpeedMedia = 0.2;\n\n const mediaContainer = this.block.querySelector('.media-block__media-container') as HTMLElement;\n const content = this.block.querySelector('.media-block__content-container') as HTMLElement;\n\n if (mediaContainer != null) {\n // Move the image or video at a slower speed\n mediaContainer.style.transform = `translate(0, ${scrollPosition * (0.1 + parallaxSpeedMedia)}px)`;\n\n if (videoPauseButton != null) {\n // Move the pause button up\n videoPauseButton.style.transform = `translate(0, ${-scrollPosition * (0.3 + parallaxSpeedMedia)}px)`;\n }\n }\n\n if (content) {\n // Move the content at a faster speed\n content.style.transform = `translate(0, ${scrollPosition * (0.5 + parallaxSpeedContent)}px)`;\n\n // Change the opacity based on the scroll position\n const opacity = Math.max(0, 1 - scrollPosition / 600);\n content.style.opacity = `${opacity}`;\n }\n };\n\n render() {\n const { showOverlayLayer, fixedBackground, blockHeight, scrollSnapBlock, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground, marginBottom } = this;\n\n const isVideo = hasVideo;\n const isImage = hasImage;\n\n const classes = [\n 'media-block',\n blockHeight ? `media-block--height-${blockHeight}` : '',\n showOverlayLayer ? 'media-block--with-overlay' : '',\n animateOverlayBackground ? `media-block--animate-overlay-background` : '',\n isVideo ? 'media-block--video' : '',\n scrollSnapBlock ? 'scroll-snap' : 'no-scroll-snap',\n fixedBackground ? 'media-block--fixed-background' : '',\n marginBottom ? 'media-block--margin-bottom' : '',\n ].join(' ');\n\n const pnPlayOnScrollObserverOptions: IntersectionObserverInit = {\n root: this.blockHeight === '100svh' ? this.block : null,\n threshold: [0, 0.5, 1], // Callback will be executed when 0%, 50%, and 100% of the target is visible\n };\n\n return (\n <div class={classes}>\n <div class=\"media-block__block-container\">\n <div class=\"media-block__media-container\">\n {isVideo ? (\n <pn-play-on-scroll show-overlay={this.showOverlayLayer} observerOptions={pnPlayOnScrollObserverOptions} video-src={this.videoSrc}></pn-play-on-scroll>\n ) : isImage ? (\n <picture>\n <source media=\"(min-width: 1400px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1224px)\" srcSet={this.imageSrc} />\n <source media=\"(min-width: 1140px)\" srcSet={this.imageSrc} />\n <source\n media=\"(min-width: 1023px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 768px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <source\n media=\"(min-width: 500px)\"\n srcSet={this.imageSrcSmallScreenFormat && this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n />\n <img\n src={this.imageSrcSmallScreenFormat !== 'undefined' ? this.imageSrcSmallScreenFormat : this.imageSrc}\n alt={this.imageAltText !== 'undefined' ? this.imageAltText : ''}\n role={this.imageAltText !== 'undefined' ? 'img' : 'presentation'}\n aria-hidden={this.imageAltText !== 'undefined' ? 'false' : 'true'}\n />\n </picture>\n ) : null}\n </div>\n\n {!isVideo && <div class=\"media-block__overlay-filter\" id=\"mediaBlockOverlay\"></div>}\n\n {(this.blockHeading || this.blockPreamble) && (\n <div class=\"media-block__content-container\">\n {this.blockHeading && (\n <HeadingTag level={this.blockHeadingLevel} cssClass=\"media-block__block-heading\">\n {this.blockHeading}\n </HeadingTag>\n )}\n {this.blockPreamble && <p class=\"media-block__preamble\">{this.blockPreamble}</p>}\n {hasButtonSlot && (\n <div class=\"media-block__cta-link\">\n <slot name=\"cta-button\" />\n </div>\n )}\n </div>\n )}\n </div>\n\n <div id=\"scroll-trigger\"></div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}