@postnord/pn-marketweb-components 3.3.0 → 3.3.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.
- package/cjs/pn-cta-block.cjs.entry.js +1 -1
- package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
- package/cjs/pn-media-block.cjs.entry.js +1 -1
- package/cjs/pn-media-block.cjs.entry.js.map +1 -1
- package/collection/components/cta/pn-cta-block/pn-cta-block.css +5 -1
- package/collection/components/media/pn-media-block/pn-media-block.css +1 -2
- package/components/pn-cta-block.js +1 -1
- package/components/pn-cta-block.js.map +1 -1
- package/components/pn-media-block.js +1 -1
- package/components/pn-media-block.js.map +1 -1
- package/esm/pn-cta-block.entry.js +1 -1
- package/esm/pn-cta-block.entry.js.map +1 -1
- package/esm/pn-media-block.entry.js +1 -1
- package/esm/pn-media-block.entry.js.map +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/p-42c9386d.entry.js +2 -0
- package/pn-market-web-components/p-42c9386d.entry.js.map +1 -0
- package/pn-market-web-components/{p-fbc07c7a.entry.js → p-69a56d5c.entry.js} +2 -2
- package/pn-market-web-components/{p-fbc07c7a.entry.js.map → p-69a56d5c.entry.js.map} +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/p-c5856c0b.entry.js +0 -2
- package/pn-market-web-components/p-c5856c0b.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pnMediaBlockCss","PnMediaBlockStyle0","PnmediaBlock","undefined","root","document","threshold","rootMargin","blockHeadingLevelChecked","this","blockHeading","console","warn","blockHeadingLevel","hasVideo","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","error","disconnectedCallback","disconnect","mediaBlockElement","firstElementChild","videoPauseButton","scrollTriggerTop","getBoundingClientRect","top","mediaBlockElementHeight","scrollPosition","parallaxSpeedContent","parallaxSpeedMedia","mediaContainer","content","transform","opacity","Math","max","render","showOverlayLayer","fixedBackground","blockHeight","animateOverlayBackground","HeadingTag","isVideo","isImage","classes","join","pnPlayOnScrollObserverOptions","h","key","class","observerOptions","media","srcSet","imageSrcSmallScreenFormat","src","alt","imageAltText","role","id","blockPreamble","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: 992px) {\n padding: 6.4rem 0;\n }\n\n @media screen and (min-width: 1200px) {\n padding: 7.2rem 0;\n }\n\n @media screen and (min-width: 1640px) {\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: 576px) {\n font-size: 4rem;\n }\n\n @media screen and (min-width: 768px) {\n font-size: 4.8rem;\n }\n\n @media screen and (min-width: 992px) {\n font-size: 5.6rem;\n }\n\n @media screen and (min-width: 1200px) {\n font-size: 8rem;\n }\n\n @media screen and (min-width: 1640px) {\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: 576px) {\n font-size: 2rem;\n }\n\n @media screen and (min-width: 1200px) {\n font-size: 2.4rem;\n }\n\n @media screen and (min-width: 1640px) {\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 img {\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 clip-path: inset(0);\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:768px) {\n margin-bottom: 4rem;\n }\n\n @media screen and (min-width:992px) {\n margin-bottom: 5.6rem;\n }\n\n @media screen and (min-width:1200px) {\n margin-bottom: 7.2rem;\n }\n }\n}\n","import { 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?: number = 2;\n @Prop() blockPreamble?: string = null;\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 blockHeadingLevelChecked() {\n if (this.blockHeading && this.blockHeading !== null) {\n console.warn('blockHeadingLevel is required when blockHeading is set');\n return undefined;\n }\n return this.blockHeadingLevel;\n }\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, blockHeadingLevelChecked, hasButtonSlot, hasVideo, hasImage, animateOverlayBackground } = this;\n const HeadingTag = `h${blockHeadingLevelChecked ?? 2}`;\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 ].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 && <HeadingTag class=\"media-block__block-heading\">{this.blockHeading}</HeadingTag>}\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":[]}
|