@postnord/pn-marketweb-components 3.3.1 → 3.3.3
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-address-autofill.cjs.entry.js +2 -2
- package/cjs/pn-address-autofill.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/input/pn-address-autofill/pn-address-autofill.js +2 -2
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
- package/collection/components/media/pn-media-block/pn-media-block.css +1 -2
- package/components/pn-address-autofill.js +2 -2
- package/components/pn-address-autofill.js.map +1 -1
- package/components/pn-media-block.js +1 -1
- package/components/pn-media-block.js.map +1 -1
- package/esm/pn-address-autofill.entry.js +2 -2
- package/esm/pn-address-autofill.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-d5a4ada5.entry.js +2 -0
- package/pn-market-web-components/p-d5a4ada5.entry.js.map +1 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/p-acbe60df.entry.js +0 -2
- package/pn-market-web-components/p-acbe60df.entry.js.map +0 -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 +1 @@
|
|
|
1
|
-
{"file":"pn-address-autofill.js","mappings":"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","names":["PnAddressAutofill"],"sources":["src/components/input/pn-address-autofill/pn-address-autofill.scss?tag=pn-address-autofill","src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-address-autofill {\n pn-marketweb-input {\n width: 50%;\n }\n\n .input-container-row {\n display: flex;\n //flex-grow: 1;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n .label-container {\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .autocomplete-items {\n position: absolute;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n width: 100%;\n max-height: 30rem;\n overflow-y: auto;\n\n &:hover,\n :focus {\n border: 0.1rem solid $blue400;\n }\n\n div {\n padding: 1.6rem;\n cursor: pointer;\n background-color: #fff;\n border: 0.1rem solid transparent;\n\n &:first-child {\n border-radius: 0.8rem 0.8rem 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 0.8rem 0.8rem;\n }\n\n &:hover {\n background-color: #e0f8ff;\n }\n }\n\n .autocomplete-active {\n background-color: #e0f8ff;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, EventEmitter, Event } from '@stencil/core';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { Root, PostalCodeProps, CityProps, StreetAddressProps, StreetNumberProps } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-address-autofill',\n styleUrl: 'pn-address-autofill.scss',\n})\nexport class PnAddressAutofill {\n @Element() hostElement: Element;\n pnInputPostalCode: HTMLElement = null;\n pnInputCity: HTMLElement = null;\n pnInputStreetAddress: HTMLElement = null;\n pnInputStreetNumber: HTMLElement = null;\n postalCodeInputField: HTMLInputElement = null;\n streetAddressInputField: HTMLInputElement = null;\n streetNumberInputField: HTMLInputElement = null;\n pnInputHiddenValue: HTMLElement = null;\n endpointPath = '/api/location/get-by-location';\n private _postalCodeProps: PostalCodeProps = null;\n private _cityProps: CityProps = null;\n private _streetAddressProps: StreetAddressProps = null;\n private _streetNumberProps: StreetNumberProps = null;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n @Prop() endpoint: string = null;\n @Prop() cache: boolean = true;\n @Prop() countryCode: string = null;\n @Prop() postalCodeProps: string | PostalCodeProps = null;\n @Prop() cityProps: string | CityProps = null;\n @Prop() streetAddressProps: string | StreetAddressProps = null;\n @Prop() streetNumberProps: string | StreetNumberProps = null;\n\n @State() streetAdressArr: string[] = null;\n @State() streetNumberArr: string[] = null;\n @State() city: string = null;\n @State() postalCode: string = null;\n @State() streetAddress: string = null;\n @State() streetNumber: string = null;\n @State() fullAddress: string = null;\n\n @Event() addresscomplete: EventEmitter<string>;\n\n fetchHelper = new FetchHelper('PostalCodeCityAutofill');\n\n componentWillLoad() {\n this.setInitialValues();\n this._postalCodeProps = this.setProps(this.postalCodeProps);\n this._cityProps = this.setProps(this.cityProps);\n this._streetAddressProps = this.setProps(this.streetAddressProps);\n this._streetNumberProps = this.setProps(this.streetNumberProps);\n }\n\n setProps(props) {\n if (typeof props === 'string') {\n return JSON.parse(props);\n } else {\n return props;\n }\n }\n\n componentDidLoad() {\n this.postalCodeInputField = this.pnInputPostalCode.querySelector('input');\n this.streetAddressInputField = this.pnInputStreetAddress.querySelector('input');\n this.streetNumberInputField = this.pnInputStreetNumber.querySelector('input');\n this.addEventHandlers();\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n addEventHandlers() {\n const postalCodeSearch = debounce(this.fetchData.bind(this, this.postalCodeInputField), 1000);\n this.postalCodeInputField.addEventListener('keyup', postalCodeSearch);\n this.streetAddressInputField.addEventListener('keyup', this.handleStreetAddressDropdown.bind(this));\n this.streetNumberInputField.addEventListener('focus', this.handleStreetNumberDropdown.bind(this));\n this.addFormFieldEvent();\n }\n\n addFormFieldEvent() {\n const allInputs = this.hostElement.querySelectorAll('input');\n allInputs.forEach(element => {\n ['keyup', 'change'].forEach(eventName => {\n const debounceUpdate = debounce(this.updateHiddenValue.bind(this), 1000);\n element.addEventListener(eventName, debounceUpdate);\n });\n });\n }\n\n updateHiddenValue(e) {\n if (e.target === this.streetNumberInputField) {\n this.streetNumber = this.streetNumberInputField.value;\n }\n\n if (this.postalCode && this.city && this.streetAddress && this.streetNumber) {\n this.fullAddress = `${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`;\n } else {\n this.fullAddress = '';\n }\n\n this.addresscomplete.emit(this.fullAddress);\n }\n\n async fetchData(field, e: KeyboardEvent) {\n if (e) {\n e.preventDefault();\n\n if (e.key === 'Tab') {\n if (this.city) {\n return;\n }\n }\n }\n\n let query = '';\n const isPostalCodeSearch = e && e.target === this.postalCodeInputField;\n const isStreetAddressSearch = field === this.streetAddressInputField && this.city && this.city.length;\n const isStreetNumberSearch = field === this.streetNumberInputField && this.city && this.city.length && this.streetAddress && this.streetAddress.length;\n\n if (isPostalCodeSearch) {\n query = this.postalCodeInputField.value;\n this.streetAdressArr = null;\n this.streetAddressInputField.value = '';\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.city = null;\n this.streetAddress = null;\n this.streetNumber = null;\n }\n if (isStreetAddressSearch) {\n query = `${this.streetAddressInputField.value}, ${this.city}`;\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.streetNumber = null;\n }\n if (isStreetNumberSearch) {\n this.streetAdressArr = null;\n query = `${this.streetAddress}, ${this.city}`;\n }\n\n if (query.length > 0) {\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}`;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n )) as Root;\n\n if (data) {\n if (isPostalCodeSearch) {\n this.city = data.postalCodes ? data.postalCodes[0]?.postalCity : null;\n }\n\n if (isStreetAddressSearch && data.addresses) {\n this.postalCode = this.postalCodeInputField.value;\n this.filterStreetNames(data);\n }\n\n if (isStreetNumberSearch && data.addresses) {\n this.filterStreetNumbers(data);\n }\n }\n }\n }\n\n filterStreetNames = (data: Root) => {\n const addresses: string[] = [];\n this.streetAdressArr = null;\n data.addresses.forEach(item => {\n if (item.postalCode.postalCity === this.city && !addresses.includes(item.street)) {\n addresses.push(item.street);\n }\n });\n this.streetAdressArr = addresses;\n };\n\n filterStreetNumbers = (data: Root) => {\n const streetNumbersResult: string[] = [];\n data.addresses.forEach(item => {\n if (item.postalCode.postalCode === this.postalCode) {\n const { numberFrom, numberTo } = item;\n const from = parseInt(numberFrom);\n const to = parseInt(numberTo);\n\n for (let i = from; i <= to; i++) {\n const nrString = i.toString();\n if (!streetNumbersResult.includes(nrString)) {\n streetNumbersResult.push(i.toString());\n }\n }\n }\n });\n this.streetNumberArr = streetNumbersResult;\n };\n\n async handleStreetAddressDropdown(e) {\n const target = e.target;\n\n if (target === this.streetAddressInputField && target.value.length) {\n if (!this.streetAdressArr || !this.streetAdressArr.length) {\n await this.fetchData(this.streetAddressInputField, null);\n }\n }\n\n if (!target.value || !target.value.length) {\n this.streetAdressArr = null;\n }\n\n if (this.streetAdressArr && this.streetAdressArr.length) {\n this.autoComplete(e, this.streetAdressArr);\n }\n }\n\n async handleStreetNumberDropdown(e) {\n e.preventDefault();\n const target = e.target;\n\n if (target === this.streetNumberInputField) {\n if (!this.streetNumberArr || !this.streetNumberArr.length) {\n await this.fetchData(this.streetNumberInputField, null);\n }\n if (this.streetNumberArr) {\n this.autoComplete(e, this.streetNumberArr);\n }\n }\n }\n\n autoComplete(e, arr: string[]) {\n const inputField = e.target;\n if (arr.length < 1) {\n return;\n }\n\n let currentFocus = 0;\n\n inputField.addEventListener('input', () => {\n const val = inputField.value;\n this.closeAllLists(inputField);\n\n if (!val) {\n return;\n }\n\n currentFocus = -1;\n let list = document.createElement('div');\n list.setAttribute('id', 'autocomplete-list' + inputField.name);\n list.setAttribute('class', 'autocomplete-items');\n inputField.parentElement.appendChild(list);\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].substring(0, val.length).toUpperCase() == val.toUpperCase()) {\n let option = document.createElement('div');\n option.innerHTML = '<strong>' + arr[i].substring(0, val.length) + '</strong>';\n option.innerHTML += arr[i].substring(val.length);\n option.innerHTML += \"<input type='hidden' value='\" + arr[i] + \"'>\";\n option.addEventListener('click', clickEvent => {\n const inputParrent = inputField.closest('pn-marketweb-input');\n let eventTarget = clickEvent.target as HTMLElement;\n if (eventTarget.nodeName === 'STRONG') {\n eventTarget = eventTarget.parentElement;\n }\n inputParrent.value = eventTarget.getElementsByTagName('input')[0].value;\n\n if (inputField === this.streetNumberInputField) {\n this.streetNumber = inputParrent.value;\n }\n if (inputField === this.streetAddressInputField) {\n this.streetAddress = inputParrent.value;\n }\n\n this.closeAllLists(clickEvent.target);\n inputField.focus();\n });\n\n list.appendChild(option);\n }\n }\n });\n\n inputField.addEventListener('keydown', keydownEvent => {\n const listElement = document.getElementById('autocomplete-list' + inputField.name);\n let element;\n if (listElement) {\n element = listElement.getElementsByTagName('div');\n } else {\n element = listElement;\n }\n\n //If arrow DOWN key is pressed\n if (keydownEvent.keyCode == 40) {\n currentFocus++;\n this.addActive(element, currentFocus);\n }\n\n //If the arrow UP key is pressed\n if (keydownEvent.keyCode == 38) {\n currentFocus--;\n this.addActive(element, currentFocus);\n }\n\n //If the ENTER key is pressed\n if (keydownEvent.keyCode == 13) {\n keydownEvent.preventDefault();\n if (currentFocus > -1) {\n if (element) {\n element[currentFocus].click();\n }\n }\n }\n });\n }\n\n //close all autocomplete lists in the document, except the one passed as an argument:\n closeAllLists(elmnt) {\n const lists = document.getElementsByClassName('autocomplete-items');\n for (let i = 0; i < lists.length; i++) {\n if (elmnt != lists[i]) {\n lists[i].parentNode.removeChild(lists[i]);\n }\n }\n }\n\n //a function to classify an item as \"active\":\n addActive(elmnt, currentFocus) {\n if (!elmnt) return;\n this.removeActive(elmnt);\n if (currentFocus >= elmnt.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = elmnt.length - 1;\n elmnt[currentFocus].classList.add('autocomplete-active');\n }\n\n //a function to remove the \"active\" class from all autocomplete items:\n removeActive(elmnt) {\n for (let i = 0; i < elmnt.length; i++) {\n elmnt[i].classList.remove('autocomplete-active');\n }\n }\n\n render() {\n return (\n <Host class=\"pn-address-autofill\">\n {this._postalCodeProps?.postalCodeCityLabel ? (\n <div class=\"label-container\">\n <label>{`${this._postalCodeProps.postalCodeCityLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._postalCodeProps?.postalCodeInputName}\n required={this._postalCodeProps?.postalCodeInputRequired}\n placeholder={this._postalCodeProps?.postalCodeInputPlaceholder}\n ref={el => (this.pnInputPostalCode = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._postalCodeProps?.postalCodeInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._cityProps?.cityInputName}\n disabled\n value={this.city}\n placeholder={this._cityProps?.cityInputPlaceholder}\n autocomplete=\"off\"\n helpertext={this._cityProps?.cityInputHelpertext}\n ></pn-marketweb-input>\n </div>\n\n {this._streetAddressProps?.streetAddressNumberLabel ? (\n <div class=\"label-container\">\n <label>{`${this._streetAddressProps.streetAddressNumberLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._streetAddressProps?.streetAddressInputName}\n required={this._streetAddressProps?.streetAddressInputRequired}\n value={this.streetAddress}\n placeholder={this._streetAddressProps?.streetAddressInputPlaceholder}\n ref={el => (this.pnInputStreetAddress = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetAddressProps?.streetAddressInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._streetNumberProps?.streetNumberInputName}\n required={this._streetNumberProps?.streetNumberInputRequired}\n value={this.streetNumber}\n placeholder={this._streetNumberProps?.streetNumberInputPlaceholder}\n ref={el => (this.pnInputStreetNumber = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetNumberProps?.streetNumberInputHelpertext}\n ></pn-marketweb-input>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-address-autofill.js","mappings":"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","names":["PnAddressAutofill"],"sources":["src/components/input/pn-address-autofill/pn-address-autofill.scss?tag=pn-address-autofill","src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-address-autofill {\n pn-marketweb-input {\n width: 50%;\n }\n\n .input-container-row {\n display: flex;\n //flex-grow: 1;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n .label-container {\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .autocomplete-items {\n position: absolute;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n width: 100%;\n max-height: 30rem;\n overflow-y: auto;\n\n &:hover,\n :focus {\n border: 0.1rem solid $blue400;\n }\n\n div {\n padding: 1.6rem;\n cursor: pointer;\n background-color: #fff;\n border: 0.1rem solid transparent;\n\n &:first-child {\n border-radius: 0.8rem 0.8rem 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 0.8rem 0.8rem;\n }\n\n &:hover {\n background-color: #e0f8ff;\n }\n }\n\n .autocomplete-active {\n background-color: #e0f8ff;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, EventEmitter, Event } from '@stencil/core';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { Root, PostalCodeProps, CityProps, StreetAddressProps, StreetNumberProps } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-address-autofill',\n styleUrl: 'pn-address-autofill.scss',\n})\nexport class PnAddressAutofill {\n @Element() hostElement: Element;\n pnInputPostalCode: HTMLElement = null;\n pnInputCity: HTMLElement = null;\n pnInputStreetAddress: HTMLElement = null;\n pnInputStreetNumber: HTMLElement = null;\n postalCodeInputField: HTMLInputElement = null;\n streetAddressInputField: HTMLInputElement = null;\n streetNumberInputField: HTMLInputElement = null;\n pnInputHiddenValue: HTMLElement = null;\n endpointPath = '/api/location/get-by-location';\n private _postalCodeProps: PostalCodeProps = null;\n private _cityProps: CityProps = null;\n private _streetAddressProps: StreetAddressProps = null;\n private _streetNumberProps: StreetNumberProps = null;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n @Prop() endpoint: string = null;\n @Prop() cache: boolean = true;\n @Prop() countryCode: string = null;\n @Prop() postalCodeProps: string | PostalCodeProps = null;\n @Prop() cityProps: string | CityProps = null;\n @Prop() streetAddressProps: string | StreetAddressProps = null;\n @Prop() streetNumberProps: string | StreetNumberProps = null;\n\n @State() streetAdressArr: string[] = null;\n @State() streetNumberArr: string[] = null;\n @State() city: string = null;\n @State() postalCode: string = null;\n @State() streetAddress: string = null;\n @State() streetNumber: string = null;\n @State() fullAddress: string = null;\n\n @Event() addresscomplete: EventEmitter<string>;\n\n fetchHelper = new FetchHelper('PostalCodeCityAutofill');\n\n componentWillLoad() {\n this.setInitialValues();\n this._postalCodeProps = this.setProps(this.postalCodeProps);\n this._cityProps = this.setProps(this.cityProps);\n this._streetAddressProps = this.setProps(this.streetAddressProps);\n this._streetNumberProps = this.setProps(this.streetNumberProps);\n }\n\n setProps(props) {\n if (typeof props === 'string') {\n return JSON.parse(props);\n } else {\n return props;\n }\n }\n\n componentDidLoad() {\n this.postalCodeInputField = this.pnInputPostalCode.querySelector('input');\n this.streetAddressInputField = this.pnInputStreetAddress.querySelector('input');\n this.streetNumberInputField = this.pnInputStreetNumber.querySelector('input');\n this.addEventHandlers();\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n addEventHandlers() {\n const postalCodeSearch = debounce(this.fetchData.bind(this, this.postalCodeInputField), 1000);\n this.postalCodeInputField.addEventListener('keyup', postalCodeSearch);\n this.streetAddressInputField.addEventListener('keyup', this.handleStreetAddressDropdown.bind(this));\n this.streetNumberInputField.addEventListener('focus', this.handleStreetNumberDropdown.bind(this));\n this.addFormFieldEvent();\n }\n\n addFormFieldEvent() {\n const allInputs = this.hostElement.querySelectorAll('input');\n allInputs.forEach(element => {\n ['keyup', 'change'].forEach(eventName => {\n const debounceUpdate = debounce(this.updateHiddenValue.bind(this), 1000);\n element.addEventListener(eventName, debounceUpdate);\n });\n });\n }\n\n updateHiddenValue(e) {\n if (e.target === this.streetNumberInputField) {\n this.streetNumber = this.streetNumberInputField.value;\n }\n\n if (this.postalCode && this.city && this.streetAddress && this.streetNumber) {\n this.fullAddress = `${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`;\n } else {\n this.fullAddress = '';\n }\n\n this.addresscomplete.emit(this.fullAddress);\n }\n\n async fetchData(field, e: KeyboardEvent) {\n if (e) {\n e.preventDefault();\n\n if (e.key === 'Tab') {\n if (this.city) {\n return;\n }\n }\n }\n\n let query = '';\n const isPostalCodeSearch = e && e.target === this.postalCodeInputField;\n const isStreetAddressSearch = field === this.streetAddressInputField && this.city && this.city.length;\n const isStreetNumberSearch = field === this.streetNumberInputField && this.city && this.city.length && this.streetAddress && this.streetAddress.length;\n\n if (isPostalCodeSearch) {\n query = this.postalCodeInputField.value;\n this.streetAdressArr = null;\n this.streetAddressInputField.value = '';\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.city = null;\n this.streetAddress = null;\n this.streetNumber = null;\n }\n if (isStreetAddressSearch) {\n query = `${this.streetAddressInputField.value}, ${this.city}`;\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.streetNumber = null;\n }\n if (isStreetNumberSearch) {\n this.streetAdressArr = null;\n query = `${this.streetAddress}, ${this.city}`;\n }\n\n if (query.length > 0) {\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}&maxHits=1000`;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n )) as Root;\n\n if (data) {\n if (isPostalCodeSearch) {\n this.city = data.postalCodes ? data.postalCodes[0]?.postalCity : null;\n }\n\n if (isStreetAddressSearch && data.addresses) {\n this.postalCode = this.postalCodeInputField.value;\n this.filterStreetNames(data);\n }\n\n if (isStreetNumberSearch && data.addresses) {\n this.filterStreetNumbers(data);\n }\n }\n }\n }\n\n filterStreetNames = (data: Root) => {\n const addresses: string[] = [];\n this.streetAdressArr = null;\n data.addresses.forEach(item => {\n if (item.postalCode.postalCity === this.city && !addresses.includes(item.street)) {\n addresses.push(item.street);\n }\n });\n this.streetAdressArr = addresses;\n };\n\n filterStreetNumbers = (data: Root) => {\n const streetNumbersResult: string[] = [];\n data.addresses.forEach(item => {\n if (item.postalCode.postalCode === this.postalCode) {\n const { numberFrom, numberTo } = item;\n const from = parseInt(numberFrom);\n const to = parseInt(numberTo);\n\n for (let i = from; i <= to; i++) {\n const nrString = i.toString();\n if (!streetNumbersResult.includes(nrString)) {\n streetNumbersResult.push(i.toString());\n }\n }\n }\n });\n this.streetNumberArr = streetNumbersResult;\n };\n\n async handleStreetAddressDropdown(e) {\n const target = e.target;\n\n if (target === this.streetAddressInputField && target.value.length) {\n if (!this.streetAdressArr || !this.streetAdressArr.length) {\n await this.fetchData(this.streetAddressInputField, null);\n }\n }\n\n if (!target.value || !target.value.length) {\n this.streetAdressArr = null;\n }\n\n if (this.streetAdressArr && this.streetAdressArr.length) {\n this.autoComplete(e, this.streetAdressArr);\n }\n }\n\n async handleStreetNumberDropdown(e) {\n e.preventDefault();\n const target = e.target;\n\n if (target === this.streetNumberInputField) {\n if (!this.streetNumberArr || !this.streetNumberArr.length) {\n await this.fetchData(this.streetNumberInputField, null);\n }\n if (this.streetNumberArr) {\n this.autoComplete(e, this.streetNumberArr);\n }\n }\n }\n\n autoComplete(e, arr: string[]) {\n const inputField = e.target;\n if (arr.length < 1) {\n return;\n }\n\n let currentFocus = 0;\n\n inputField.addEventListener('input', () => {\n const val = inputField.value;\n this.closeAllLists(inputField);\n\n if (!val) {\n return;\n }\n\n currentFocus = -1;\n let list = document.createElement('div');\n list.setAttribute('id', 'autocomplete-list' + inputField.name);\n list.setAttribute('class', 'autocomplete-items');\n inputField.parentElement.appendChild(list);\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].substring(0, val.length).toUpperCase() == val.toUpperCase()) {\n let option = document.createElement('div');\n option.innerHTML = '<strong>' + arr[i].substring(0, val.length) + '</strong>';\n option.innerHTML += arr[i].substring(val.length);\n option.innerHTML += \"<input type='hidden' value='\" + arr[i] + \"'>\";\n option.addEventListener('click', clickEvent => {\n const inputParrent = inputField.closest('pn-marketweb-input');\n let eventTarget = clickEvent.target as HTMLElement;\n if (eventTarget.nodeName === 'STRONG') {\n eventTarget = eventTarget.parentElement;\n }\n inputParrent.value = eventTarget.getElementsByTagName('input')[0].value;\n\n if (inputField === this.streetNumberInputField) {\n this.streetNumber = inputParrent.value;\n }\n if (inputField === this.streetAddressInputField) {\n this.streetAddress = inputParrent.value;\n }\n\n this.closeAllLists(clickEvent.target);\n inputField.focus();\n });\n\n list.appendChild(option);\n }\n }\n });\n\n inputField.addEventListener('keydown', keydownEvent => {\n const listElement = document.getElementById('autocomplete-list' + inputField.name);\n let element;\n if (listElement) {\n element = listElement.getElementsByTagName('div');\n } else {\n element = listElement;\n }\n\n //If arrow DOWN key is pressed\n if (keydownEvent.keyCode == 40) {\n currentFocus++;\n this.addActive(element, currentFocus);\n }\n\n //If the arrow UP key is pressed\n if (keydownEvent.keyCode == 38) {\n currentFocus--;\n this.addActive(element, currentFocus);\n }\n\n //If the ENTER key is pressed\n if (keydownEvent.keyCode == 13) {\n keydownEvent.preventDefault();\n if (currentFocus > -1) {\n if (element) {\n element[currentFocus].click();\n }\n }\n }\n });\n }\n\n //close all autocomplete lists in the document, except the one passed as an argument:\n closeAllLists(elmnt) {\n const lists = document.getElementsByClassName('autocomplete-items');\n for (let i = 0; i < lists.length; i++) {\n if (elmnt != lists[i]) {\n lists[i].parentNode.removeChild(lists[i]);\n }\n }\n }\n\n //a function to classify an item as \"active\":\n addActive(elmnt, currentFocus) {\n if (!elmnt) return;\n this.removeActive(elmnt);\n if (currentFocus >= elmnt.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = elmnt.length - 1;\n elmnt[currentFocus].classList.add('autocomplete-active');\n }\n\n //a function to remove the \"active\" class from all autocomplete items:\n removeActive(elmnt) {\n for (let i = 0; i < elmnt.length; i++) {\n elmnt[i].classList.remove('autocomplete-active');\n }\n }\n\n render() {\n return (\n <Host class=\"pn-address-autofill\">\n {this._postalCodeProps?.postalCodeCityLabel ? (\n <div class=\"label-container\">\n <label>{`${this._postalCodeProps.postalCodeCityLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._postalCodeProps?.postalCodeInputName}\n required={this._postalCodeProps?.postalCodeInputRequired}\n placeholder={this._postalCodeProps?.postalCodeInputPlaceholder}\n ref={el => (this.pnInputPostalCode = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._postalCodeProps?.postalCodeInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._cityProps?.cityInputName}\n disabled\n value={this.city}\n placeholder={this._cityProps?.cityInputPlaceholder}\n autocomplete=\"off\"\n helpertext={this._cityProps?.cityInputHelpertext}\n ></pn-marketweb-input>\n </div>\n\n {this._streetAddressProps?.streetAddressNumberLabel ? (\n <div class=\"label-container\">\n <label>{`${this._streetAddressProps.streetAddressNumberLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._streetAddressProps?.streetAddressInputName}\n required={this._streetAddressProps?.streetAddressInputRequired}\n value={this.streetAddress}\n placeholder={this._streetAddressProps?.streetAddressInputPlaceholder}\n ref={el => (this.pnInputStreetAddress = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetAddressProps?.streetAddressInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._streetNumberProps?.streetNumberInputName}\n required={this._streetNumberProps?.streetNumberInputRequired}\n value={this.streetNumber}\n placeholder={this._streetNumberProps?.streetNumberInputPlaceholder}\n ref={el => (this.pnInputStreetNumber = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetNumberProps?.streetNumberInputHelpertext}\n ></pn-marketweb-input>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -3,7 +3,7 @@ import { d as defineCustomElement$4 } from './pn-play-on-scroll2.js';
|
|
|
3
3
|
import { d as defineCustomElement$3 } from './pn-scroll2.js';
|
|
4
4
|
import { d as defineCustomElement$2 } from './pn-video-overlay2.js';
|
|
5
5
|
|
|
6
|
-
const pnMediaBlockCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}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
|
|
6
|
+
const pnMediaBlockCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}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}}";
|
|
7
7
|
const PnMediaBlockStyle0 = pnMediaBlockCss;
|
|
8
8
|
|
|
9
9
|
const PnmediaBlock = /*@__PURE__*/ proxyCustomElement(class PnmediaBlock extends HTMLElement {
|
|
@@ -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: 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"],"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: 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 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: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"],"version":3}
|
|
@@ -138,7 +138,7 @@ const PnAddressAutofill = class {
|
|
|
138
138
|
}
|
|
139
139
|
if (query.length > 0) {
|
|
140
140
|
const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
|
|
141
|
-
const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}`;
|
|
141
|
+
const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}&maxHits=1000`;
|
|
142
142
|
const data = (await this.fetchHelper.fetchJson(fetchUrl, {
|
|
143
143
|
mode: 'cors',
|
|
144
144
|
}, this.cache));
|
|
@@ -309,7 +309,7 @@ const PnAddressAutofill = class {
|
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
311
|
render() {
|
|
312
|
-
return (h(Host, { key: '
|
|
312
|
+
return (h(Host, { key: 'e0f667ef808c53f3d40b514b3a648447a6a57fd2', class: "pn-address-autofill" }, this._postalCodeProps?.postalCodeCityLabel ? (h("div", { class: "label-container" }, h("label", null, `${this._postalCodeProps.postalCodeCityLabel}`))) : null, h("div", { key: '6e4b2cdefa11b88e5904f1cf9e234abb9a9387f4', class: "input-container-row" }, h("pn-marketweb-input", { key: '599a06260d24a6a2a857e25072388177a09f14c9', type: "text", name: this._postalCodeProps?.postalCodeInputName, required: this._postalCodeProps?.postalCodeInputRequired, placeholder: this._postalCodeProps?.postalCodeInputPlaceholder, ref: el => (this.pnInputPostalCode = el), autocomplete: "off", helpertext: this._postalCodeProps?.postalCodeInputHelpertext }), h("pn-marketweb-input", { key: '251e676f25c64be78351ea3663c36ead103f4c3f', type: "text", name: this._cityProps?.cityInputName, disabled: true, value: this.city, placeholder: this._cityProps?.cityInputPlaceholder, autocomplete: "off", helpertext: this._cityProps?.cityInputHelpertext })), this._streetAddressProps?.streetAddressNumberLabel ? (h("div", { class: "label-container" }, h("label", null, `${this._streetAddressProps.streetAddressNumberLabel}`))) : null, h("div", { key: '71fdc61d6fa1f0b0f4fe8f02eb5d64254f4ca7fd', class: "input-container-row" }, h("pn-marketweb-input", { key: 'd7c21bc51aa24541c910cc2f1adf1708a5897245', type: "text", name: this._streetAddressProps?.streetAddressInputName, required: this._streetAddressProps?.streetAddressInputRequired, value: this.streetAddress, placeholder: this._streetAddressProps?.streetAddressInputPlaceholder, ref: el => (this.pnInputStreetAddress = el), autocomplete: "off", helpertext: this._streetAddressProps?.streetAddressInputHelpertext }), h("pn-marketweb-input", { key: 'b96c0b5ab0632528b44d9e2477208750b61dc8b3', type: "text", name: this._streetNumberProps?.streetNumberInputName, required: this._streetNumberProps?.streetNumberInputRequired, value: this.streetNumber, placeholder: this._streetNumberProps?.streetNumberInputPlaceholder, ref: el => (this.pnInputStreetNumber = el), autocomplete: "off", helpertext: this._streetNumberProps?.streetNumberInputHelpertext }))));
|
|
313
313
|
}
|
|
314
314
|
};
|
|
315
315
|
PnAddressAutofill.style = PnAddressAutofillStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-address-autofill.entry.js","mappings":"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","names":[],"sources":["src/components/input/pn-address-autofill/pn-address-autofill.scss?tag=pn-address-autofill","src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-address-autofill {\n pn-marketweb-input {\n width: 50%;\n }\n\n .input-container-row {\n display: flex;\n //flex-grow: 1;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n .label-container {\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .autocomplete-items {\n position: absolute;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n width: 100%;\n max-height: 30rem;\n overflow-y: auto;\n\n &:hover,\n :focus {\n border: 0.1rem solid $blue400;\n }\n\n div {\n padding: 1.6rem;\n cursor: pointer;\n background-color: #fff;\n border: 0.1rem solid transparent;\n\n &:first-child {\n border-radius: 0.8rem 0.8rem 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 0.8rem 0.8rem;\n }\n\n &:hover {\n background-color: #e0f8ff;\n }\n }\n\n .autocomplete-active {\n background-color: #e0f8ff;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, EventEmitter, Event } from '@stencil/core';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { Root, PostalCodeProps, CityProps, StreetAddressProps, StreetNumberProps } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-address-autofill',\n styleUrl: 'pn-address-autofill.scss',\n})\nexport class PnAddressAutofill {\n @Element() hostElement: Element;\n pnInputPostalCode: HTMLElement = null;\n pnInputCity: HTMLElement = null;\n pnInputStreetAddress: HTMLElement = null;\n pnInputStreetNumber: HTMLElement = null;\n postalCodeInputField: HTMLInputElement = null;\n streetAddressInputField: HTMLInputElement = null;\n streetNumberInputField: HTMLInputElement = null;\n pnInputHiddenValue: HTMLElement = null;\n endpointPath = '/api/location/get-by-location';\n private _postalCodeProps: PostalCodeProps = null;\n private _cityProps: CityProps = null;\n private _streetAddressProps: StreetAddressProps = null;\n private _streetNumberProps: StreetNumberProps = null;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n @Prop() endpoint: string = null;\n @Prop() cache: boolean = true;\n @Prop() countryCode: string = null;\n @Prop() postalCodeProps: string | PostalCodeProps = null;\n @Prop() cityProps: string | CityProps = null;\n @Prop() streetAddressProps: string | StreetAddressProps = null;\n @Prop() streetNumberProps: string | StreetNumberProps = null;\n\n @State() streetAdressArr: string[] = null;\n @State() streetNumberArr: string[] = null;\n @State() city: string = null;\n @State() postalCode: string = null;\n @State() streetAddress: string = null;\n @State() streetNumber: string = null;\n @State() fullAddress: string = null;\n\n @Event() addresscomplete: EventEmitter<string>;\n\n fetchHelper = new FetchHelper('PostalCodeCityAutofill');\n\n componentWillLoad() {\n this.setInitialValues();\n this._postalCodeProps = this.setProps(this.postalCodeProps);\n this._cityProps = this.setProps(this.cityProps);\n this._streetAddressProps = this.setProps(this.streetAddressProps);\n this._streetNumberProps = this.setProps(this.streetNumberProps);\n }\n\n setProps(props) {\n if (typeof props === 'string') {\n return JSON.parse(props);\n } else {\n return props;\n }\n }\n\n componentDidLoad() {\n this.postalCodeInputField = this.pnInputPostalCode.querySelector('input');\n this.streetAddressInputField = this.pnInputStreetAddress.querySelector('input');\n this.streetNumberInputField = this.pnInputStreetNumber.querySelector('input');\n this.addEventHandlers();\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n addEventHandlers() {\n const postalCodeSearch = debounce(this.fetchData.bind(this, this.postalCodeInputField), 1000);\n this.postalCodeInputField.addEventListener('keyup', postalCodeSearch);\n this.streetAddressInputField.addEventListener('keyup', this.handleStreetAddressDropdown.bind(this));\n this.streetNumberInputField.addEventListener('focus', this.handleStreetNumberDropdown.bind(this));\n this.addFormFieldEvent();\n }\n\n addFormFieldEvent() {\n const allInputs = this.hostElement.querySelectorAll('input');\n allInputs.forEach(element => {\n ['keyup', 'change'].forEach(eventName => {\n const debounceUpdate = debounce(this.updateHiddenValue.bind(this), 1000);\n element.addEventListener(eventName, debounceUpdate);\n });\n });\n }\n\n updateHiddenValue(e) {\n if (e.target === this.streetNumberInputField) {\n this.streetNumber = this.streetNumberInputField.value;\n }\n\n if (this.postalCode && this.city && this.streetAddress && this.streetNumber) {\n this.fullAddress = `${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`;\n } else {\n this.fullAddress = '';\n }\n\n this.addresscomplete.emit(this.fullAddress);\n }\n\n async fetchData(field, e: KeyboardEvent) {\n if (e) {\n e.preventDefault();\n\n if (e.key === 'Tab') {\n if (this.city) {\n return;\n }\n }\n }\n\n let query = '';\n const isPostalCodeSearch = e && e.target === this.postalCodeInputField;\n const isStreetAddressSearch = field === this.streetAddressInputField && this.city && this.city.length;\n const isStreetNumberSearch = field === this.streetNumberInputField && this.city && this.city.length && this.streetAddress && this.streetAddress.length;\n\n if (isPostalCodeSearch) {\n query = this.postalCodeInputField.value;\n this.streetAdressArr = null;\n this.streetAddressInputField.value = '';\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.city = null;\n this.streetAddress = null;\n this.streetNumber = null;\n }\n if (isStreetAddressSearch) {\n query = `${this.streetAddressInputField.value}, ${this.city}`;\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.streetNumber = null;\n }\n if (isStreetNumberSearch) {\n this.streetAdressArr = null;\n query = `${this.streetAddress}, ${this.city}`;\n }\n\n if (query.length > 0) {\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}`;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n )) as Root;\n\n if (data) {\n if (isPostalCodeSearch) {\n this.city = data.postalCodes ? data.postalCodes[0]?.postalCity : null;\n }\n\n if (isStreetAddressSearch && data.addresses) {\n this.postalCode = this.postalCodeInputField.value;\n this.filterStreetNames(data);\n }\n\n if (isStreetNumberSearch && data.addresses) {\n this.filterStreetNumbers(data);\n }\n }\n }\n }\n\n filterStreetNames = (data: Root) => {\n const addresses: string[] = [];\n this.streetAdressArr = null;\n data.addresses.forEach(item => {\n if (item.postalCode.postalCity === this.city && !addresses.includes(item.street)) {\n addresses.push(item.street);\n }\n });\n this.streetAdressArr = addresses;\n };\n\n filterStreetNumbers = (data: Root) => {\n const streetNumbersResult: string[] = [];\n data.addresses.forEach(item => {\n if (item.postalCode.postalCode === this.postalCode) {\n const { numberFrom, numberTo } = item;\n const from = parseInt(numberFrom);\n const to = parseInt(numberTo);\n\n for (let i = from; i <= to; i++) {\n const nrString = i.toString();\n if (!streetNumbersResult.includes(nrString)) {\n streetNumbersResult.push(i.toString());\n }\n }\n }\n });\n this.streetNumberArr = streetNumbersResult;\n };\n\n async handleStreetAddressDropdown(e) {\n const target = e.target;\n\n if (target === this.streetAddressInputField && target.value.length) {\n if (!this.streetAdressArr || !this.streetAdressArr.length) {\n await this.fetchData(this.streetAddressInputField, null);\n }\n }\n\n if (!target.value || !target.value.length) {\n this.streetAdressArr = null;\n }\n\n if (this.streetAdressArr && this.streetAdressArr.length) {\n this.autoComplete(e, this.streetAdressArr);\n }\n }\n\n async handleStreetNumberDropdown(e) {\n e.preventDefault();\n const target = e.target;\n\n if (target === this.streetNumberInputField) {\n if (!this.streetNumberArr || !this.streetNumberArr.length) {\n await this.fetchData(this.streetNumberInputField, null);\n }\n if (this.streetNumberArr) {\n this.autoComplete(e, this.streetNumberArr);\n }\n }\n }\n\n autoComplete(e, arr: string[]) {\n const inputField = e.target;\n if (arr.length < 1) {\n return;\n }\n\n let currentFocus = 0;\n\n inputField.addEventListener('input', () => {\n const val = inputField.value;\n this.closeAllLists(inputField);\n\n if (!val) {\n return;\n }\n\n currentFocus = -1;\n let list = document.createElement('div');\n list.setAttribute('id', 'autocomplete-list' + inputField.name);\n list.setAttribute('class', 'autocomplete-items');\n inputField.parentElement.appendChild(list);\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].substring(0, val.length).toUpperCase() == val.toUpperCase()) {\n let option = document.createElement('div');\n option.innerHTML = '<strong>' + arr[i].substring(0, val.length) + '</strong>';\n option.innerHTML += arr[i].substring(val.length);\n option.innerHTML += \"<input type='hidden' value='\" + arr[i] + \"'>\";\n option.addEventListener('click', clickEvent => {\n const inputParrent = inputField.closest('pn-marketweb-input');\n let eventTarget = clickEvent.target as HTMLElement;\n if (eventTarget.nodeName === 'STRONG') {\n eventTarget = eventTarget.parentElement;\n }\n inputParrent.value = eventTarget.getElementsByTagName('input')[0].value;\n\n if (inputField === this.streetNumberInputField) {\n this.streetNumber = inputParrent.value;\n }\n if (inputField === this.streetAddressInputField) {\n this.streetAddress = inputParrent.value;\n }\n\n this.closeAllLists(clickEvent.target);\n inputField.focus();\n });\n\n list.appendChild(option);\n }\n }\n });\n\n inputField.addEventListener('keydown', keydownEvent => {\n const listElement = document.getElementById('autocomplete-list' + inputField.name);\n let element;\n if (listElement) {\n element = listElement.getElementsByTagName('div');\n } else {\n element = listElement;\n }\n\n //If arrow DOWN key is pressed\n if (keydownEvent.keyCode == 40) {\n currentFocus++;\n this.addActive(element, currentFocus);\n }\n\n //If the arrow UP key is pressed\n if (keydownEvent.keyCode == 38) {\n currentFocus--;\n this.addActive(element, currentFocus);\n }\n\n //If the ENTER key is pressed\n if (keydownEvent.keyCode == 13) {\n keydownEvent.preventDefault();\n if (currentFocus > -1) {\n if (element) {\n element[currentFocus].click();\n }\n }\n }\n });\n }\n\n //close all autocomplete lists in the document, except the one passed as an argument:\n closeAllLists(elmnt) {\n const lists = document.getElementsByClassName('autocomplete-items');\n for (let i = 0; i < lists.length; i++) {\n if (elmnt != lists[i]) {\n lists[i].parentNode.removeChild(lists[i]);\n }\n }\n }\n\n //a function to classify an item as \"active\":\n addActive(elmnt, currentFocus) {\n if (!elmnt) return;\n this.removeActive(elmnt);\n if (currentFocus >= elmnt.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = elmnt.length - 1;\n elmnt[currentFocus].classList.add('autocomplete-active');\n }\n\n //a function to remove the \"active\" class from all autocomplete items:\n removeActive(elmnt) {\n for (let i = 0; i < elmnt.length; i++) {\n elmnt[i].classList.remove('autocomplete-active');\n }\n }\n\n render() {\n return (\n <Host class=\"pn-address-autofill\">\n {this._postalCodeProps?.postalCodeCityLabel ? (\n <div class=\"label-container\">\n <label>{`${this._postalCodeProps.postalCodeCityLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._postalCodeProps?.postalCodeInputName}\n required={this._postalCodeProps?.postalCodeInputRequired}\n placeholder={this._postalCodeProps?.postalCodeInputPlaceholder}\n ref={el => (this.pnInputPostalCode = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._postalCodeProps?.postalCodeInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._cityProps?.cityInputName}\n disabled\n value={this.city}\n placeholder={this._cityProps?.cityInputPlaceholder}\n autocomplete=\"off\"\n helpertext={this._cityProps?.cityInputHelpertext}\n ></pn-marketweb-input>\n </div>\n\n {this._streetAddressProps?.streetAddressNumberLabel ? (\n <div class=\"label-container\">\n <label>{`${this._streetAddressProps.streetAddressNumberLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._streetAddressProps?.streetAddressInputName}\n required={this._streetAddressProps?.streetAddressInputRequired}\n value={this.streetAddress}\n placeholder={this._streetAddressProps?.streetAddressInputPlaceholder}\n ref={el => (this.pnInputStreetAddress = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetAddressProps?.streetAddressInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._streetNumberProps?.streetNumberInputName}\n required={this._streetNumberProps?.streetNumberInputRequired}\n value={this.streetNumber}\n placeholder={this._streetNumberProps?.streetNumberInputPlaceholder}\n ref={el => (this.pnInputStreetNumber = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetNumberProps?.streetNumberInputHelpertext}\n ></pn-marketweb-input>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-address-autofill.entry.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,yjCAAyjC,CAAC;AACvlC,gCAAe,oBAAoB;;MCStB,iBAAiB;;;;sBAiB6B,IAAI;2BAEC,IAAI;wBACvC,IAAI;qBACN,IAAI;2BACC,IAAI;+BACkB,IAAI;yBAChB,IAAI;kCACc,IAAI;iCACN,IAAI;+BAEvB,IAAI;+BACJ,IAAI;oBACjB,IAAI;0BACE,IAAI;6BACD,IAAI;4BACL,IAAI;2BACL,IAAI;;;IAhCnC,iBAAiB,GAAgB,IAAI,CAAC;IACtC,WAAW,GAAgB,IAAI,CAAC;IAChC,oBAAoB,GAAgB,IAAI,CAAC;IACzC,mBAAmB,GAAgB,IAAI,CAAC;IACxC,oBAAoB,GAAqB,IAAI,CAAC;IAC9C,uBAAuB,GAAqB,IAAI,CAAC;IACjD,sBAAsB,GAAqB,IAAI,CAAC;IAChD,kBAAkB,GAAgB,IAAI,CAAC;IACvC,YAAY,GAAG,+BAA+B,CAAC;IACvC,gBAAgB,GAAoB,IAAI,CAAC;IACzC,UAAU,GAAc,IAAI,CAAC;IAC7B,mBAAmB,GAAuB,IAAI,CAAC;IAC/C,kBAAkB,GAAsB,IAAI,CAAC;IAsB5C,eAAe,CAAuB;IAE/C,WAAW,GAAG,IAAI,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAExD,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACjE;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IAED,gBAAgB;QACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,MAAM,gBAAgB,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;QAChD,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,CAAC;SACvE;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAC/D,IAAI,CAAC,QAAQ,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1F;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;KACF;IAED,gBAAgB;QACd,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACtE,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,iBAAiB;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7D,SAAS,CAAC,OAAO,CAAC,OAAO;YACvB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS;gBACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;aACrD,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAED,iBAAiB,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3E,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;SAClG;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC7C;IAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAgB;QACrC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;gBACnB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,OAAO;iBACR;aACF;SACF;QAED,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,CAAC;QACvE,MAAM,qBAAqB,GAAG,KAAK,KAAK,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACtG,MAAM,oBAAoB,GAAG,KAAK,KAAK,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAEvJ,IAAI,kBAAkB,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,qBAAqB,EAAE;YACzB,KAAK,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,oBAAoB,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,KAAK,GAAG,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;SAC/C;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxJ,MAAM,QAAQ,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,WAAW,UAAU,KAAK,eAAe,CAAC;YACnH,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC5C,QAAQ,EACR;gBACE,IAAI,EAAE,MAAM;aACb,EACD,IAAI,CAAC,KAAK,CACX,CAAS,CAAC;YAEX,IAAI,IAAI,EAAE;gBACR,IAAI,kBAAkB,EAAE;oBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;iBACvE;gBAED,IAAI,qBAAqB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;oBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBAED,IAAI,oBAAoB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBAChC;aACF;SACF;KACF;IAED,iBAAiB,GAAG,CAAC,IAAU;QAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAChF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;KAClC,CAAC;IAEF,mBAAmB,GAAG,CAAC,IAAU;QAC/B,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;gBAClD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAE9B,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;oBAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC3C,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF;SACF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;KAC5C,CAAC;IAEF,MAAM,2BAA2B,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAExB,IAAI,MAAM,KAAK,IAAI,CAAC,uBAAuB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACzD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACvD,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC5C;KACF;IAED,MAAM,0BAA0B,CAAC,CAAC;QAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAExB,IAAI,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACzD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aAC5C;SACF;KACF;IAED,YAAY,CAAC,CAAC,EAAE,GAAa;QAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,OAAO;SACR;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACnC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO;aACR;YAED,YAAY,GAAG,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACjD,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;oBACtE,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,CAAC,SAAS,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;oBAC9E,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjD,MAAM,CAAC,SAAS,IAAI,8BAA8B,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACnE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU;wBACzC,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;wBAC9D,IAAI,WAAW,GAAG,UAAU,CAAC,MAAqB,CAAC;wBACnD,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;4BACrC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC;yBACzC;wBACD,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBAExE,IAAI,UAAU,KAAK,IAAI,CAAC,sBAAsB,EAAE;4BAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;yBACxC;wBACD,IAAI,UAAU,KAAK,IAAI,CAAC,uBAAuB,EAAE;4BAC/C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;yBACzC;wBAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBACtC,UAAU,CAAC,KAAK,EAAE,CAAC;qBACpB,CAAC,CAAC;oBAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBAC1B;aACF;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,OAAO,CAAC;YACZ,IAAI,WAAW,EAAE;gBACf,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,GAAG,WAAW,CAAC;aACvB;;YAGD,IAAI,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvC;;YAGD,IAAI,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvC;;YAGD,IAAI,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9B,YAAY,CAAC,cAAc,EAAE,CAAC;gBAC9B,IAAI,YAAY,GAAG,CAAC,CAAC,EAAE;oBACrB,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;qBAC/B;iBACF;aACF;SACF,CAAC,CAAC;KACJ;;IAGD,aAAa,CAAC,KAAK;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACrB,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;KACF;;IAGD,SAAS,CAAC,KAAK,EAAE,YAAY;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM;YAAE,YAAY,GAAG,CAAC,CAAC;QACnD,IAAI,YAAY,GAAG,CAAC;YAAE,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,KAAK,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;KAC1D;;IAGD,YAAY,CAAC,KAAK;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAClD;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAC,qBAAqB,IAC9B,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,IACzC,WAAK,KAAK,EAAC,iBAAiB,IAC1B,iBAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAS,CAC3D,IACJ,IAAI,EACR,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2EACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,EAChD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,EACxD,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,EAC9D,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,iBAAiB,GAAG,EAAiB,CAAC,EACvD,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,GACxC,EAEtB,2EACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EACpC,QAAQ,QACR,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAClD,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,mBAAmB,GAC5B,CAClB,EAEL,IAAI,CAAC,mBAAmB,EAAE,wBAAwB,IACjD,WAAK,KAAK,EAAC,iBAAiB,IAC1B,iBAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAS,CACnE,IACJ,IAAI,EACR,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2EACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,EACtD,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,0BAA0B,EAC9D,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,6BAA6B,EACpE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAC1D,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,4BAA4B,GAC9C,EAEtB,2EACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,EACpD,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,EAC5D,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,4BAA4B,EAClE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,mBAAmB,GAAG,EAAiB,CAAC,EACzD,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,GAC5C,CAClB,CACD,EACP;KACH;;;;;;","names":[],"sources":["src/components/input/pn-address-autofill/pn-address-autofill.scss?tag=pn-address-autofill","src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-address-autofill {\n pn-marketweb-input {\n width: 50%;\n }\n\n .input-container-row {\n display: flex;\n //flex-grow: 1;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n .label-container {\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .autocomplete-items {\n position: absolute;\n border-radius: 0.8rem;\n border: 0.1rem solid $gray700;\n width: 100%;\n max-height: 30rem;\n overflow-y: auto;\n\n &:hover,\n :focus {\n border: 0.1rem solid $blue400;\n }\n\n div {\n padding: 1.6rem;\n cursor: pointer;\n background-color: #fff;\n border: 0.1rem solid transparent;\n\n &:first-child {\n border-radius: 0.8rem 0.8rem 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 0.8rem 0.8rem;\n }\n\n &:hover {\n background-color: #e0f8ff;\n }\n }\n\n .autocomplete-active {\n background-color: #e0f8ff;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, EventEmitter, Event } from '@stencil/core';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { Root, PostalCodeProps, CityProps, StreetAddressProps, StreetNumberProps } from './types';\nimport debounce from 'debounce';\n\n@Component({\n tag: 'pn-address-autofill',\n styleUrl: 'pn-address-autofill.scss',\n})\nexport class PnAddressAutofill {\n @Element() hostElement: Element;\n pnInputPostalCode: HTMLElement = null;\n pnInputCity: HTMLElement = null;\n pnInputStreetAddress: HTMLElement = null;\n pnInputStreetNumber: HTMLElement = null;\n postalCodeInputField: HTMLInputElement = null;\n streetAddressInputField: HTMLInputElement = null;\n streetNumberInputField: HTMLInputElement = null;\n pnInputHiddenValue: HTMLElement = null;\n endpointPath = '/api/location/get-by-location';\n private _postalCodeProps: PostalCodeProps = null;\n private _cityProps: CityProps = null;\n private _streetAddressProps: StreetAddressProps = null;\n private _streetNumberProps: StreetNumberProps = null;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n @Prop() endpoint: string = null;\n @Prop() cache: boolean = true;\n @Prop() countryCode: string = null;\n @Prop() postalCodeProps: string | PostalCodeProps = null;\n @Prop() cityProps: string | CityProps = null;\n @Prop() streetAddressProps: string | StreetAddressProps = null;\n @Prop() streetNumberProps: string | StreetNumberProps = null;\n\n @State() streetAdressArr: string[] = null;\n @State() streetNumberArr: string[] = null;\n @State() city: string = null;\n @State() postalCode: string = null;\n @State() streetAddress: string = null;\n @State() streetNumber: string = null;\n @State() fullAddress: string = null;\n\n @Event() addresscomplete: EventEmitter<string>;\n\n fetchHelper = new FetchHelper('PostalCodeCityAutofill');\n\n componentWillLoad() {\n this.setInitialValues();\n this._postalCodeProps = this.setProps(this.postalCodeProps);\n this._cityProps = this.setProps(this.cityProps);\n this._streetAddressProps = this.setProps(this.streetAddressProps);\n this._streetNumberProps = this.setProps(this.streetNumberProps);\n }\n\n setProps(props) {\n if (typeof props === 'string') {\n return JSON.parse(props);\n } else {\n return props;\n }\n }\n\n componentDidLoad() {\n this.postalCodeInputField = this.pnInputPostalCode.querySelector('input');\n this.streetAddressInputField = this.pnInputStreetAddress.querySelector('input');\n this.streetNumberInputField = this.pnInputStreetNumber.querySelector('input');\n this.addEventHandlers();\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n addEventHandlers() {\n const postalCodeSearch = debounce(this.fetchData.bind(this, this.postalCodeInputField), 1000);\n this.postalCodeInputField.addEventListener('keyup', postalCodeSearch);\n this.streetAddressInputField.addEventListener('keyup', this.handleStreetAddressDropdown.bind(this));\n this.streetNumberInputField.addEventListener('focus', this.handleStreetNumberDropdown.bind(this));\n this.addFormFieldEvent();\n }\n\n addFormFieldEvent() {\n const allInputs = this.hostElement.querySelectorAll('input');\n allInputs.forEach(element => {\n ['keyup', 'change'].forEach(eventName => {\n const debounceUpdate = debounce(this.updateHiddenValue.bind(this), 1000);\n element.addEventListener(eventName, debounceUpdate);\n });\n });\n }\n\n updateHiddenValue(e) {\n if (e.target === this.streetNumberInputField) {\n this.streetNumber = this.streetNumberInputField.value;\n }\n\n if (this.postalCode && this.city && this.streetAddress && this.streetNumber) {\n this.fullAddress = `${this.streetAddress} ${this.streetNumber}, ${this.city} ${this.postalCode}`;\n } else {\n this.fullAddress = '';\n }\n\n this.addresscomplete.emit(this.fullAddress);\n }\n\n async fetchData(field, e: KeyboardEvent) {\n if (e) {\n e.preventDefault();\n\n if (e.key === 'Tab') {\n if (this.city) {\n return;\n }\n }\n }\n\n let query = '';\n const isPostalCodeSearch = e && e.target === this.postalCodeInputField;\n const isStreetAddressSearch = field === this.streetAddressInputField && this.city && this.city.length;\n const isStreetNumberSearch = field === this.streetNumberInputField && this.city && this.city.length && this.streetAddress && this.streetAddress.length;\n\n if (isPostalCodeSearch) {\n query = this.postalCodeInputField.value;\n this.streetAdressArr = null;\n this.streetAddressInputField.value = '';\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.city = null;\n this.streetAddress = null;\n this.streetNumber = null;\n }\n if (isStreetAddressSearch) {\n query = `${this.streetAddressInputField.value}, ${this.city}`;\n this.streetNumberArr = null;\n this.streetNumberInputField.value = '';\n this.streetNumber = null;\n }\n if (isStreetNumberSearch) {\n this.streetAdressArr = null;\n query = `${this.streetAddress}, ${this.city}`;\n }\n\n if (query.length > 0) {\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}&maxHits=1000`;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n )) as Root;\n\n if (data) {\n if (isPostalCodeSearch) {\n this.city = data.postalCodes ? data.postalCodes[0]?.postalCity : null;\n }\n\n if (isStreetAddressSearch && data.addresses) {\n this.postalCode = this.postalCodeInputField.value;\n this.filterStreetNames(data);\n }\n\n if (isStreetNumberSearch && data.addresses) {\n this.filterStreetNumbers(data);\n }\n }\n }\n }\n\n filterStreetNames = (data: Root) => {\n const addresses: string[] = [];\n this.streetAdressArr = null;\n data.addresses.forEach(item => {\n if (item.postalCode.postalCity === this.city && !addresses.includes(item.street)) {\n addresses.push(item.street);\n }\n });\n this.streetAdressArr = addresses;\n };\n\n filterStreetNumbers = (data: Root) => {\n const streetNumbersResult: string[] = [];\n data.addresses.forEach(item => {\n if (item.postalCode.postalCode === this.postalCode) {\n const { numberFrom, numberTo } = item;\n const from = parseInt(numberFrom);\n const to = parseInt(numberTo);\n\n for (let i = from; i <= to; i++) {\n const nrString = i.toString();\n if (!streetNumbersResult.includes(nrString)) {\n streetNumbersResult.push(i.toString());\n }\n }\n }\n });\n this.streetNumberArr = streetNumbersResult;\n };\n\n async handleStreetAddressDropdown(e) {\n const target = e.target;\n\n if (target === this.streetAddressInputField && target.value.length) {\n if (!this.streetAdressArr || !this.streetAdressArr.length) {\n await this.fetchData(this.streetAddressInputField, null);\n }\n }\n\n if (!target.value || !target.value.length) {\n this.streetAdressArr = null;\n }\n\n if (this.streetAdressArr && this.streetAdressArr.length) {\n this.autoComplete(e, this.streetAdressArr);\n }\n }\n\n async handleStreetNumberDropdown(e) {\n e.preventDefault();\n const target = e.target;\n\n if (target === this.streetNumberInputField) {\n if (!this.streetNumberArr || !this.streetNumberArr.length) {\n await this.fetchData(this.streetNumberInputField, null);\n }\n if (this.streetNumberArr) {\n this.autoComplete(e, this.streetNumberArr);\n }\n }\n }\n\n autoComplete(e, arr: string[]) {\n const inputField = e.target;\n if (arr.length < 1) {\n return;\n }\n\n let currentFocus = 0;\n\n inputField.addEventListener('input', () => {\n const val = inputField.value;\n this.closeAllLists(inputField);\n\n if (!val) {\n return;\n }\n\n currentFocus = -1;\n let list = document.createElement('div');\n list.setAttribute('id', 'autocomplete-list' + inputField.name);\n list.setAttribute('class', 'autocomplete-items');\n inputField.parentElement.appendChild(list);\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].substring(0, val.length).toUpperCase() == val.toUpperCase()) {\n let option = document.createElement('div');\n option.innerHTML = '<strong>' + arr[i].substring(0, val.length) + '</strong>';\n option.innerHTML += arr[i].substring(val.length);\n option.innerHTML += \"<input type='hidden' value='\" + arr[i] + \"'>\";\n option.addEventListener('click', clickEvent => {\n const inputParrent = inputField.closest('pn-marketweb-input');\n let eventTarget = clickEvent.target as HTMLElement;\n if (eventTarget.nodeName === 'STRONG') {\n eventTarget = eventTarget.parentElement;\n }\n inputParrent.value = eventTarget.getElementsByTagName('input')[0].value;\n\n if (inputField === this.streetNumberInputField) {\n this.streetNumber = inputParrent.value;\n }\n if (inputField === this.streetAddressInputField) {\n this.streetAddress = inputParrent.value;\n }\n\n this.closeAllLists(clickEvent.target);\n inputField.focus();\n });\n\n list.appendChild(option);\n }\n }\n });\n\n inputField.addEventListener('keydown', keydownEvent => {\n const listElement = document.getElementById('autocomplete-list' + inputField.name);\n let element;\n if (listElement) {\n element = listElement.getElementsByTagName('div');\n } else {\n element = listElement;\n }\n\n //If arrow DOWN key is pressed\n if (keydownEvent.keyCode == 40) {\n currentFocus++;\n this.addActive(element, currentFocus);\n }\n\n //If the arrow UP key is pressed\n if (keydownEvent.keyCode == 38) {\n currentFocus--;\n this.addActive(element, currentFocus);\n }\n\n //If the ENTER key is pressed\n if (keydownEvent.keyCode == 13) {\n keydownEvent.preventDefault();\n if (currentFocus > -1) {\n if (element) {\n element[currentFocus].click();\n }\n }\n }\n });\n }\n\n //close all autocomplete lists in the document, except the one passed as an argument:\n closeAllLists(elmnt) {\n const lists = document.getElementsByClassName('autocomplete-items');\n for (let i = 0; i < lists.length; i++) {\n if (elmnt != lists[i]) {\n lists[i].parentNode.removeChild(lists[i]);\n }\n }\n }\n\n //a function to classify an item as \"active\":\n addActive(elmnt, currentFocus) {\n if (!elmnt) return;\n this.removeActive(elmnt);\n if (currentFocus >= elmnt.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = elmnt.length - 1;\n elmnt[currentFocus].classList.add('autocomplete-active');\n }\n\n //a function to remove the \"active\" class from all autocomplete items:\n removeActive(elmnt) {\n for (let i = 0; i < elmnt.length; i++) {\n elmnt[i].classList.remove('autocomplete-active');\n }\n }\n\n render() {\n return (\n <Host class=\"pn-address-autofill\">\n {this._postalCodeProps?.postalCodeCityLabel ? (\n <div class=\"label-container\">\n <label>{`${this._postalCodeProps.postalCodeCityLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._postalCodeProps?.postalCodeInputName}\n required={this._postalCodeProps?.postalCodeInputRequired}\n placeholder={this._postalCodeProps?.postalCodeInputPlaceholder}\n ref={el => (this.pnInputPostalCode = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._postalCodeProps?.postalCodeInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._cityProps?.cityInputName}\n disabled\n value={this.city}\n placeholder={this._cityProps?.cityInputPlaceholder}\n autocomplete=\"off\"\n helpertext={this._cityProps?.cityInputHelpertext}\n ></pn-marketweb-input>\n </div>\n\n {this._streetAddressProps?.streetAddressNumberLabel ? (\n <div class=\"label-container\">\n <label>{`${this._streetAddressProps.streetAddressNumberLabel}`}</label>\n </div>\n ) : null}\n <div class=\"input-container-row\">\n <pn-marketweb-input\n type=\"text\"\n name={this._streetAddressProps?.streetAddressInputName}\n required={this._streetAddressProps?.streetAddressInputRequired}\n value={this.streetAddress}\n placeholder={this._streetAddressProps?.streetAddressInputPlaceholder}\n ref={el => (this.pnInputStreetAddress = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetAddressProps?.streetAddressInputHelpertext}\n ></pn-marketweb-input>\n\n <pn-marketweb-input\n type=\"text\"\n name={this._streetNumberProps?.streetNumberInputName}\n required={this._streetNumberProps?.streetNumberInputRequired}\n value={this.streetNumber}\n placeholder={this._streetNumberProps?.streetNumberInputPlaceholder}\n ref={el => (this.pnInputStreetNumber = el as HTMLElement)}\n autocomplete=\"off\"\n helpertext={this._streetNumberProps?.streetNumberInputHelpertext}\n ></pn-marketweb-input>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, g as getElement, h } from './index-fa51bde4.js';
|
|
2
2
|
|
|
3
|
-
const pnMediaBlockCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}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
|
|
3
|
+
const pnMediaBlockCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}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}}";
|
|
4
4
|
const PnMediaBlockStyle0 = pnMediaBlockCss;
|
|
5
5
|
|
|
6
6
|
const PnmediaBlock = class {
|