@postnord/pn-marketweb-components 3.3.2 → 3.3.4

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.
Files changed (27) hide show
  1. package/cjs/pn-address-autofill.cjs.entry.js +2 -2
  2. package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
  3. package/cjs/pn-date-and-time.cjs.entry.js +19 -12
  4. package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
  5. package/collection/components/input/pn-address-autofill/pn-address-autofill.js +2 -2
  6. package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
  7. package/collection/components/input/pn-date-and-time/pn-date-and-time.js +19 -12
  8. package/collection/components/input/pn-date-and-time/pn-date-and-time.js.map +1 -1
  9. package/components/pn-address-autofill.js +2 -2
  10. package/components/pn-address-autofill.js.map +1 -1
  11. package/components/pn-date-and-time.js +19 -12
  12. package/components/pn-date-and-time.js.map +1 -1
  13. package/esm/pn-address-autofill.entry.js +2 -2
  14. package/esm/pn-address-autofill.entry.js.map +1 -1
  15. package/esm/pn-date-and-time.entry.js +19 -12
  16. package/esm/pn-date-and-time.entry.js.map +1 -1
  17. package/package.json +1 -1
  18. package/pn-market-web-components/p-bdaf4338.entry.js +2 -0
  19. package/pn-market-web-components/p-bdaf4338.entry.js.map +1 -0
  20. package/pn-market-web-components/p-d5a4ada5.entry.js +2 -0
  21. package/pn-market-web-components/p-d5a4ada5.entry.js.map +1 -0
  22. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  23. package/types/components/input/pn-date-and-time/pn-date-and-time.d.ts +0 -1
  24. package/pn-market-web-components/p-acbe60df.entry.js +0 -2
  25. package/pn-market-web-components/p-acbe60df.entry.js.map +0 -1
  26. package/pn-market-web-components/p-d8a57eba.entry.js +0 -2
  27. package/pn-market-web-components/p-d8a57eba.entry.js.map +0 -1
@@ -142,7 +142,7 @@ const PnAddressAutofill = class {
142
142
  }
143
143
  if (query.length > 0) {
144
144
  const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
145
- const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}`;
145
+ const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}&maxHits=1000`;
146
146
  const data = (await this.fetchHelper.fetchJson(fetchUrl, {
147
147
  mode: 'cors',
148
148
  }, this.cache));
@@ -313,7 +313,7 @@ const PnAddressAutofill = class {
313
313
  }
314
314
  }
315
315
  render() {
316
- return (index.h(index.Host, { key: '31d54cc786afb2a8b9ea3f0122fc146e837e8e97', class: "pn-address-autofill" }, this._postalCodeProps?.postalCodeCityLabel ? (index.h("div", { class: "label-container" }, index.h("label", null, `${this._postalCodeProps.postalCodeCityLabel}`))) : null, index.h("div", { key: 'b4ec3793c6895ba3b52795e80891b842973d6545', class: "input-container-row" }, index.h("pn-marketweb-input", { key: 'e1c3e2f0623a2c012c11db7d197f041dbffebcd6', 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 }), index.h("pn-marketweb-input", { key: '3c88411b408874109fc7014b2306549d6f75cfcd', type: "text", name: this._cityProps?.cityInputName, disabled: true, value: this.city, placeholder: this._cityProps?.cityInputPlaceholder, autocomplete: "off", helpertext: this._cityProps?.cityInputHelpertext })), this._streetAddressProps?.streetAddressNumberLabel ? (index.h("div", { class: "label-container" }, index.h("label", null, `${this._streetAddressProps.streetAddressNumberLabel}`))) : null, index.h("div", { key: '1f3f232bebd83bff4d31b3b79a86d03117e2136d', class: "input-container-row" }, index.h("pn-marketweb-input", { key: '3fae08f0de34286a23b145ffdf02d63ba63981ab', 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 }), index.h("pn-marketweb-input", { key: '9293d6d05fea0fb4df8bfb9a45d608efa6feb202', 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 }))));
316
+ return (index.h(index.Host, { key: 'e0f667ef808c53f3d40b514b3a648447a6a57fd2', class: "pn-address-autofill" }, this._postalCodeProps?.postalCodeCityLabel ? (index.h("div", { class: "label-container" }, index.h("label", null, `${this._postalCodeProps.postalCodeCityLabel}`))) : null, index.h("div", { key: '6e4b2cdefa11b88e5904f1cf9e234abb9a9387f4', class: "input-container-row" }, index.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 }), index.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 ? (index.h("div", { class: "label-container" }, index.h("label", null, `${this._streetAddressProps.streetAddressNumberLabel}`))) : null, index.h("div", { key: '71fdc61d6fa1f0b0f4fe8f02eb5d64254f4ca7fd', class: "input-container-row" }, index.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 }), index.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 }))));
317
317
  }
318
318
  };
319
319
  PnAddressAutofill.style = PnAddressAutofillStyle0;
@@ -1 +1 @@
1
- {"file":"pn-address-autofill.entry.cjs.js","mappings":"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","names":["FetchHelper","MarketWebContextService","debounce","h","Host"],"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.cjs.js","mappings":"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","names":["FetchHelper","MarketWebContextService","debounce","h","Host"],"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}
@@ -91,22 +91,29 @@ const PnDateAndTime = class {
91
91
  handleChange(e) {
92
92
  const target = e.target;
93
93
  if (target === this.pnDatePicker) {
94
- this.selectedDate = e.detail;
94
+ this.selectedDate = e.detail.start;
95
95
  }
96
- if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {
97
- this.handleTimeChange();
98
- }
99
- this.updateHiddenValue();
100
- }
101
- handleTimeChange() {
102
- const fromHourString = this.pnTimeFromHourDropdown.querySelector('[aria-selected=true]')?.textContent;
103
- const fromMinString = this.pnTimeFromMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;
104
- const toHourString = this.pnTimeToHourDropdown.querySelector('[aria-selected=true]')?.textContent;
105
- const toMinString = this.pnTimeToMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;
96
+ const fromHourString = this.pnTimeFromHourDropdown.outerText;
97
+ const fromMinString = this.pnTimeFromMinuteDropdown.outerText;
98
+ const toHourString = this.pnTimeToHourDropdown.outerText;
99
+ const toMinString = this.pnTimeToMinuteDropdown.outerText;
106
100
  this.selectedFromHour = parseInt(fromHourString);
107
101
  this.selectedFromMin = parseInt(fromMinString);
108
102
  this.selectedToHour = parseInt(toHourString);
109
103
  this.selectedToMin = parseInt(toMinString);
104
+ if (target === this.pnTimeFromHourDropdown) {
105
+ this.selectedFromHour = parseInt(e.detail.value);
106
+ }
107
+ if (target === this.pnTimeFromMinuteDropdown) {
108
+ this.selectedFromMin = parseInt(e.detail.value);
109
+ }
110
+ if (target === this.pnTimeToHourDropdown) {
111
+ this.selectedToHour = parseInt(e.detail.value);
112
+ }
113
+ if (target === this.pnTimeToMinuteDropdown) {
114
+ this.selectedToMin = parseInt(e.detail.value);
115
+ }
116
+ this.updateHiddenValue();
110
117
  }
111
118
  updateHiddenValue() {
112
119
  const date = new Date();
@@ -144,7 +151,7 @@ const PnDateAndTime = class {
144
151
  });
145
152
  }
146
153
  render() {
147
- return (index.h(index.Host, { key: '6f7c0f1c403a98ceaadef017f6dfe94e4d09ab06' }, index.h("div", { key: 'c4f95d2e042277cd090fa8a8ce4dd6cd357943ad', class: "date-and-time-group" }, this.dateAndTimeLabel ? (index.h("div", { class: "date-and-time-row" }, index.h("label", null, this.dateAndTimeLabel))) : null, index.h("div", { key: '2c772ab7b24783c634a06879cfede0eaf05952d6', class: "date-and-time-row" }, index.h("pn-date-picker", { key: '6a427ea028bf55b067b0885e2d3b97a0349acdd3', ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? index.h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), index.h("div", { key: '7f74f041493bb4da72d070e90d24d38441c5ebb9', class: "date-and-time-group" }, index.h("div", { key: '7b7b4b4ba67f36cf03c4ee6b80a3cdd55a5c8380', class: "date-and-time-row" }, index.h("pn-select", { key: 'd5d6fe2b881a8770fc1aec24bce38754b6a17db0', ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => index.h("pn-option", { label: hour, value: hour }))), index.h("pn-select", { key: 'bb8dafe866a95e94e0e8a1e53ccff80d0729ec48', ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => index.h("pn-option", { label: minute, value: minute }))), index.h("div", { key: '8281bbfae49ca8ec35a1d651d61a1bd478b70c0a', class: "time-separator" }, index.h("span", { key: 'd7c895902ce3efac4816f21510444914012fca29' }, "-")), index.h("pn-select", { key: '5fa29d4fc4d01a804427bd2119969ec0d6346df6', ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => index.h("pn-option", { label: hour, value: hour }))), index.h("pn-select", { key: '968f33b37cad6d2528a789abd63a89c163642c53', ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => index.h("pn-option", { label: minute, value: minute })))), this.timeHelperText ? index.h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (index.h("small", { class: "date-and-time-row error-message" }, index.h("pn-icon", { icon: alert_info_circle, small: "false", color: "warning" }), this.errorMessage)) : null)));
154
+ return (index.h(index.Host, { key: '427046301b2ac39e7eec2606f03a219a052331c5' }, index.h("div", { key: '229f301ac20c70eea858802f46ba86c408e2079b', class: "date-and-time-group" }, this.dateAndTimeLabel ? (index.h("div", { class: "date-and-time-row" }, index.h("label", null, this.dateAndTimeLabel))) : null, index.h("div", { key: 'e861465a653b789df0058a16153e7b8f894c03de', class: "date-and-time-row" }, index.h("pn-date-picker", { key: '62ddce7306500633d72cdc4d12db989ac3c02b70', ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? index.h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), index.h("div", { key: '238e07b7c5c3e32a57fd4f63f5f0605d8f53020d', class: "date-and-time-group" }, index.h("div", { key: '31157ce2f842378db771141eb003f5c19d6adaed', class: "date-and-time-row" }, index.h("pn-select", { key: 'eb874ddc6dea2d1c62d557712576047c38a9f077', ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => index.h("pn-option", { label: hour, value: hour }))), index.h("pn-select", { key: 'c7721bed19e520e881780b456fa5fe6a20abd2eb', ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => index.h("pn-option", { label: minute, value: minute }))), index.h("div", { key: '6f6532649c8a6eee91b96f5152c0086d77a0c543', class: "time-separator" }, index.h("span", { key: '3e43b12bc5e6f4ed1d8d6330760ced467e39ef5c' }, "-")), index.h("pn-select", { key: 'ebe92ab375e3a9777b6b77b9dd45976cf26c6d9f', ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => index.h("pn-option", { label: hour, value: hour }))), index.h("pn-select", { key: '38c2b11d4f8c0fd5206ffdb6a3bb8194a0ce495d', ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => index.h("pn-option", { label: minute, value: minute })))), this.timeHelperText ? index.h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (index.h("small", { class: "date-and-time-row error-message" }, index.h("pn-icon", { icon: alert_info_circle, small: "false", color: "warning" }), this.errorMessage)) : null)));
148
155
  }
149
156
  };
150
157
  PnDateAndTime.style = PnDateAndTimeStyle0;
@@ -1 +1 @@
1
- {"file":"pn-date-and-time.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_info_circle.js","src/components/input/pn-date-and-time/pn-date-and-time.scss?tag=pn-date-and-time","src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_info_circle = icon;\nexport const alertInfoCircle = icon;\n","@import '../../../globals/main.scss';\n\npn-date-and-time {\n label {\n color: $gray700;\n font-size: 1.4rem;\n }\n\n .time-separator {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .date-and-time-group {\n margin-bottom: 1rem;\n }\n .date-and-time-row {\n display: flex;\n gap: 1rem;\n }\n\n .helper-text {\n margin-top: 0.2rem;\n color: $gray700;\n display: block;\n }\n\n .error-message {\n color: #a70707;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLElement = null;\n pnTimeFromMinuteDropdown: HTMLElement = null;\n pnTimeToHourDropdown: HTMLElement = null;\n pnTimeToMinuteDropdown: HTMLElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() datePlacehodler: string = '';\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number = null;\n @State() selectedFromMin: number = null;\n @State() selectedToHour: number = null;\n @State() selectedToMin: number = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n async setInitialValues() {\n this.setLangugaeCode();\n this.setFirstValidDate();\n\n this.hourArr = this.getNumbersAsStringArr(6, 22, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLangugaeCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[8]);\n this.selectedFromMin = 0;\n this.selectedToHour = parseInt(this.hourArr[12]);\n this.selectedToMin = 0;\n\n this.updateHiddenValue();\n }\n\n addEventHandlers() {\n this.pnDatePicker.addEventListener('dateselection', this.handleChange.bind(this));\n\n this.pnTimeFromHourDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeFromMinuteDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeToHourDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeToMinuteDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n }\n\n handleChange(e) {\n const target = e.target;\n\n if (target === this.pnDatePicker) {\n this.selectedDate = e.detail;\n }\n\n if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {\n this.handleTimeChange();\n }\n\n this.updateHiddenValue();\n }\n\n handleTimeChange() {\n const fromHourString = this.pnTimeFromHourDropdown.querySelector('[aria-selected=true]')?.textContent;\n const fromMinString = this.pnTimeFromMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;\n const toHourString = this.pnTimeToHourDropdown.querySelector('[aria-selected=true]')?.textContent;\n const toMinString = this.pnTimeToMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;\n\n this.selectedFromHour = parseInt(fromHourString);\n this.selectedFromMin = parseInt(fromMinString);\n this.selectedToHour = parseInt(toHourString);\n this.selectedToMin = parseInt(toMinString);\n }\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n\n this.dateandtimerange.emit(this.formValue);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlacehodler}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLElement)}\n name=\"date-and-time-from-houre\"\n placeholder={this.hourArr[8]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-from-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLElement)}\n name=\"date-and-time-to-hour\"\n placeholder={this.hourArr[12]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-to-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-date-and-time.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_info_circle.js","src/components/input/pn-date-and-time/pn-date-and-time.scss?tag=pn-date-and-time","src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_info_circle = icon;\nexport const alertInfoCircle = icon;\n","@import '../../../globals/main.scss';\n\npn-date-and-time {\n label {\n color: $gray700;\n font-size: 1.4rem;\n }\n\n .time-separator {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .date-and-time-group {\n margin-bottom: 1rem;\n }\n .date-and-time-row {\n display: flex;\n gap: 1rem;\n }\n\n .helper-text {\n margin-top: 0.2rem;\n color: $gray700;\n display: block;\n }\n\n .error-message {\n color: #a70707;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLElement = null;\n pnTimeFromMinuteDropdown: HTMLElement = null;\n pnTimeToHourDropdown: HTMLElement = null;\n pnTimeToMinuteDropdown: HTMLElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() datePlacehodler: string = '';\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number = null;\n @State() selectedFromMin: number = null;\n @State() selectedToHour: number = null;\n @State() selectedToMin: number = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n async setInitialValues() {\n this.setLangugaeCode();\n this.setFirstValidDate();\n\n this.hourArr = this.getNumbersAsStringArr(6, 22, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLangugaeCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[8]);\n this.selectedFromMin = 0;\n this.selectedToHour = parseInt(this.hourArr[12]);\n this.selectedToMin = 0;\n\n this.updateHiddenValue();\n }\n\n addEventHandlers() {\n this.pnDatePicker.addEventListener('dateselection', this.handleChange.bind(this));\n\n this.pnTimeFromHourDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeFromMinuteDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeToHourDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n this.pnTimeToMinuteDropdown.addEventListener('selectOption', this.handleChange.bind(this));\n }\n\n handleChange(e) {\n const target = e.target;\n\n if (target === this.pnDatePicker) {\n this.selectedDate = e.detail.start;\n }\n \n const fromHourString = this.pnTimeFromHourDropdown.outerText;\n const fromMinString = this.pnTimeFromMinuteDropdown.outerText;\n const toHourString = this.pnTimeToHourDropdown.outerText;\n const toMinString = this.pnTimeToMinuteDropdown.outerText;\n\n this.selectedFromHour = parseInt(fromHourString);\n this.selectedFromMin = parseInt(fromMinString);\n this.selectedToHour = parseInt(toHourString);\n this.selectedToMin = parseInt(toMinString);\n\n if (target === this.pnTimeFromHourDropdown) {\n this.selectedFromHour = parseInt(e.detail.value);\n }\n\n if (target === this.pnTimeFromMinuteDropdown) {\n this.selectedFromMin = parseInt(e.detail.value);\n }\n\n if (target === this.pnTimeToHourDropdown) {\n this.selectedToHour = parseInt(e.detail.value);\n }\n\n if (target === this.pnTimeToMinuteDropdown) {\n this.selectedToMin = parseInt(e.detail.value);\n }\n\n this.updateHiddenValue();\n }\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n \n this.dateandtimerange.emit(this.formValue);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlacehodler}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLElement)}\n name=\"date-and-time-from-houre\"\n placeholder={this.hourArr[8]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-from-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLElement)}\n name=\"date-and-time-to-hour\"\n placeholder={this.hourArr[12]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-to-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -133,7 +133,7 @@ export class PnAddressAutofill {
133
133
  }
134
134
  if (query.length > 0) {
135
135
  const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
136
- const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}`;
136
+ const fetchUrl = `${endpointBase}${this.endpointPath}?countryCode=${this.countryCode}&query=${query}&maxHits=1000`;
137
137
  const data = (await this.fetchHelper.fetchJson(fetchUrl, {
138
138
  mode: 'cors',
139
139
  }, this.cache));
@@ -304,7 +304,7 @@ export class PnAddressAutofill {
304
304
  }
305
305
  }
306
306
  render() {
307
- return (h(Host, { key: '31d54cc786afb2a8b9ea3f0122fc146e837e8e97', class: "pn-address-autofill" }, this._postalCodeProps?.postalCodeCityLabel ? (h("div", { class: "label-container" }, h("label", null, `${this._postalCodeProps.postalCodeCityLabel}`))) : null, h("div", { key: 'b4ec3793c6895ba3b52795e80891b842973d6545', class: "input-container-row" }, h("pn-marketweb-input", { key: 'e1c3e2f0623a2c012c11db7d197f041dbffebcd6', 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: '3c88411b408874109fc7014b2306549d6f75cfcd', 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: '1f3f232bebd83bff4d31b3b79a86d03117e2136d', class: "input-container-row" }, h("pn-marketweb-input", { key: '3fae08f0de34286a23b145ffdf02d63ba63981ab', 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: '9293d6d05fea0fb4df8bfb9a45d608efa6feb202', 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 }))));
307
+ 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 }))));
308
308
  }
309
309
  static get is() { return "pn-address-autofill"; }
310
310
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"pn-address-autofill.js","sourceRoot":"","sources":["../../../../src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"pn-address-autofill.js","sourceRoot":"","sources":["../../../../src/components/input/pn-address-autofill/pn-address-autofill.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -79,22 +79,29 @@ export class PnDateAndTime {
79
79
  handleChange(e) {
80
80
  const target = e.target;
81
81
  if (target === this.pnDatePicker) {
82
- this.selectedDate = e.detail;
82
+ this.selectedDate = e.detail.start;
83
83
  }
84
- if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {
85
- this.handleTimeChange();
86
- }
87
- this.updateHiddenValue();
88
- }
89
- handleTimeChange() {
90
- const fromHourString = this.pnTimeFromHourDropdown.querySelector('[aria-selected=true]')?.textContent;
91
- const fromMinString = this.pnTimeFromMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;
92
- const toHourString = this.pnTimeToHourDropdown.querySelector('[aria-selected=true]')?.textContent;
93
- const toMinString = this.pnTimeToMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;
84
+ const fromHourString = this.pnTimeFromHourDropdown.outerText;
85
+ const fromMinString = this.pnTimeFromMinuteDropdown.outerText;
86
+ const toHourString = this.pnTimeToHourDropdown.outerText;
87
+ const toMinString = this.pnTimeToMinuteDropdown.outerText;
94
88
  this.selectedFromHour = parseInt(fromHourString);
95
89
  this.selectedFromMin = parseInt(fromMinString);
96
90
  this.selectedToHour = parseInt(toHourString);
97
91
  this.selectedToMin = parseInt(toMinString);
92
+ if (target === this.pnTimeFromHourDropdown) {
93
+ this.selectedFromHour = parseInt(e.detail.value);
94
+ }
95
+ if (target === this.pnTimeFromMinuteDropdown) {
96
+ this.selectedFromMin = parseInt(e.detail.value);
97
+ }
98
+ if (target === this.pnTimeToHourDropdown) {
99
+ this.selectedToHour = parseInt(e.detail.value);
100
+ }
101
+ if (target === this.pnTimeToMinuteDropdown) {
102
+ this.selectedToMin = parseInt(e.detail.value);
103
+ }
104
+ this.updateHiddenValue();
98
105
  }
99
106
  updateHiddenValue() {
100
107
  const date = new Date();
@@ -132,7 +139,7 @@ export class PnDateAndTime {
132
139
  });
133
140
  }
134
141
  render() {
135
- return (h(Host, { key: '6f7c0f1c403a98ceaadef017f6dfe94e4d09ab06' }, h("div", { key: 'c4f95d2e042277cd090fa8a8ce4dd6cd357943ad', class: "date-and-time-group" }, this.dateAndTimeLabel ? (h("div", { class: "date-and-time-row" }, h("label", null, this.dateAndTimeLabel))) : null, h("div", { key: '2c772ab7b24783c634a06879cfede0eaf05952d6', class: "date-and-time-row" }, h("pn-date-picker", { key: '6a427ea028bf55b067b0885e2d3b97a0349acdd3', ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), h("div", { key: '7f74f041493bb4da72d070e90d24d38441c5ebb9', class: "date-and-time-group" }, h("div", { key: '7b7b4b4ba67f36cf03c4ee6b80a3cdd55a5c8380', class: "date-and-time-row" }, h("pn-select", { key: 'd5d6fe2b881a8770fc1aec24bce38754b6a17db0', ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => h("pn-option", { label: hour, value: hour }))), h("pn-select", { key: 'bb8dafe866a95e94e0e8a1e53ccff80d0729ec48', ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => h("pn-option", { label: minute, value: minute }))), h("div", { key: '8281bbfae49ca8ec35a1d651d61a1bd478b70c0a', class: "time-separator" }, h("span", { key: 'd7c895902ce3efac4816f21510444914012fca29' }, "-")), h("pn-select", { key: '5fa29d4fc4d01a804427bd2119969ec0d6346df6', ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => h("pn-option", { label: hour, value: hour }))), h("pn-select", { key: '968f33b37cad6d2528a789abd63a89c163642c53', ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => h("pn-option", { label: minute, value: minute })))), this.timeHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (h("small", { class: "date-and-time-row error-message" }, h("pn-icon", { icon: alert_info_circle, small: "false", color: "warning" }), this.errorMessage)) : null)));
142
+ return (h(Host, { key: '427046301b2ac39e7eec2606f03a219a052331c5' }, h("div", { key: '229f301ac20c70eea858802f46ba86c408e2079b', class: "date-and-time-group" }, this.dateAndTimeLabel ? (h("div", { class: "date-and-time-row" }, h("label", null, this.dateAndTimeLabel))) : null, h("div", { key: 'e861465a653b789df0058a16153e7b8f894c03de', class: "date-and-time-row" }, h("pn-date-picker", { key: '62ddce7306500633d72cdc4d12db989ac3c02b70', ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlacehodler })), this.dateHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), h("div", { key: '238e07b7c5c3e32a57fd4f63f5f0605d8f53020d', class: "date-and-time-group" }, h("div", { key: '31157ce2f842378db771141eb003f5c19d6adaed', class: "date-and-time-row" }, h("pn-select", { key: 'eb874ddc6dea2d1c62d557712576047c38a9f077', ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-houre", placeholder: this.hourArr[8], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => h("pn-option", { label: hour, value: hour }))), h("pn-select", { key: 'c7721bed19e520e881780b456fa5fe6a20abd2eb', ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => h("pn-option", { label: minute, value: minute }))), h("div", { key: '6f6532649c8a6eee91b96f5152c0086d77a0c543', class: "time-separator" }, h("span", { key: '3e43b12bc5e6f4ed1d8d6330760ced467e39ef5c' }, "-")), h("pn-select", { key: 'ebe92ab375e3a9777b6b77b9dd45976cf26c6d9f', ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", placeholder: this.hourArr[12], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour) => h("pn-option", { label: hour, value: hour }))), h("pn-select", { key: '38c2b11d4f8c0fd5206ffdb6a3bb8194a0ce495d', ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", placeholder: this.minuteArr[0], class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute) => h("pn-option", { label: minute, value: minute })))), this.timeHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (h("small", { class: "date-and-time-row error-message" }, h("pn-icon", { icon: alert_info_circle, small: "false", color: "warning" }), this.errorMessage)) : null)));
136
143
  }
137
144
  static get is() { return "pn-date-and-time"; }
138
145
  static get originalStyleUrls() {