"use strict";(self.heliuxModules=self.heliuxModules||[]).push([[9417],{76178:(t,e,i)=>{i.d(e,{D:()=>s});const s={subscribes:{autofill:t=>`form:${t}:autofill`,suggestedValue:t=>`form:${t}:externalValidation:suggestedValue:selected`},selectors:{input:".formoptions__input",select:".formoptions__select",trigger:".formoptions__trigger",triggertext:".formoptions__triggertext",options:".formoptions__options",optionItems:".formoptions__option",message:".formoptions__message",error:".formoptions__error",errorText:".formoptions__errorText",containerinput:".formcontainer__input"},classes:{opened:"formoptions__select--opened",selected:"formoptions__option--selected",disabled:"formoptions__option--disabled",hover:"formoptions__option--hover",dropdownDisabled:"formoptions--disabled"},keyboard:{open:["Enter","Space","ArrowDown","ArrowUp"],select:["Enter","Space"],close:["Escape","Tab"],next:["ArrowDown","ArrowRight"],prev:["ArrowUp","ArrowLeft"],first:["Home"],last:["End"]},modifiers:{isReadOnly:"isReadOnly",isHidden:"visibility--isHidden-important"},publishes:{formInputHidden:t=>`form:${t}:input:hidden`}}},8894:(t,e,i)=>{i.d(e,{v:()=>c});var s=i(58480),n=i(6301),o=i(12595),a=i(73355),r=i(19842),l=i(92220),d=i(4142);const h={type:"text",types:{TEXT:"text",EMAIL:"email",PHONE:"phone",TEXT_AREA:"textarea",DNB:"dnb",ZIP:"zip",PASSWORD:"password",NUMBER:"number"},validateOn:"keyup",initialDataValue:"henkel",required:!1,selectors:{input:".formtext__input",error:".formtext__error",errorText:".formtext__errorText",counter:".formtext__counter",datalist:".formtext__autocomplete",passwordLabel:".formtext__passwordLabel"},elements:{countryField:t=>`.formoptions__input[name='${t}']`,formStep:".formstepscontainer__step"},subscribes:{getFormId:"form:assign:child",validate:t=>`form:${t}:validate`,validateStep:t=>`form:${t}:step:validate`,autofill:t=>`form:${t}:autofill`,toggleReadonly:(t,e)=>`form:${t}:${e}:toggleReadonly`,suggestedValue:t=>`form:${t}:externalValidation:suggestedValue:selected`},publishes:{change:t=>`form:${t}:input:change`,autofill:t=>`form:${t}:autofill`,toggleReadonly:(t,e)=>`form:${t}:${e}:toggleReadonly`,formInputHidden:t=>`form:${t}:input:hidden`},state:{initial:{isValid:!1,errors:[]}},modifiers:{isHidden:["isHidden","visibility--isHidden-important"],isInValid:"isInValid",isValid:"isValid",isBlur:"isBlur",isFocus:"isFocus",isFilled:"isFilled",isReadOnly:"formtext__wrapper--readOnly"},validations:{text:t=>/[a-zA-ZÀ-ž]+$/.test(t),password:t=>/^((?=.*[a-z])(?=.*[A-Z])(?=.*\d)|(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*\d)(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]))([A-Za-z\d@#$%^&amp;*/\-_+=[\]{}|\\:',?`~&quot;();!.]){8,16}$/.test(t),textarea:t=>/[^]+/.test(t),email:t=>/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(t),tel:t=>/^[0-9+\-# ]*$/.test(t),minlength:(t,e)=>t.trim().length>=e,maxlength:(t,e)=>t.trim().length<=e,required:t=>t.trim().length>0}};class c extends s.ComponentBase{init(){this.config=(0,o.$N)({},h,this.config),this.getElements(),this.touched=!1,this.updatedByUser=!1,this.state={errors:[],...this.config.state.initial,name:this.config.name},this.component=this.el.closest("heliux-formtext"),this.showLetterCounter(),this.zipRelatedElement(),this.findParentForm(),this.populateDefaultData(),this.el.getValue=()=>this.value,this.el.addError=t=>this.addError(t),this.el.isValid=t=>this.isValid(t),this.el.validate=()=>this.validate()}get value(){return this.localValue||this.updatedByUser||(this.localValue=(0,r.CP)(this.input.dataset.value||this.input.value)),this.localValue}set value(t){this.localValue=t,this.input.value=t}getElements(){super.getElements();const{elements:t}=this.config;this.formStep=this.el.closest(t.formStep)}findParentForm(){const t=this.el.closest("form");t?.classList.contains("formcontainer__form--initialised")&&t.id?this.assignForm({formId:t.id,inputId:this.input.id}):(this.assignFormBinded=this.assignForm.bind(this),(0,s.subscribe)(this.config.subscribes.getFormId,this.assignFormBinded))}assignForm(t){const{formId:e,inputId:i}=t;this.input.id===i&&(this.formId=e,this.addEvents())}addEvents(){this.input&&this.input.addEventListener("blur",(()=>this.onBlur())),this.input&&this.input.addEventListener("focus",(()=>this.onFocus())),this.input&&this.input.addEventListener(this.config.validateOn,(()=>this.onChange())),this.passwordLabel&&this.passwordLabel.addEventListener("click",(t=>this.togglePasswordVisibility(t))),(0,s.subscribe)(this.config.subscribes.validate(this.formId),(()=>this.validate())),(0,s.subscribe)(this.config.subscribes.validateStep(this.formId),(({index:t})=>this.validateStep(t))),(0,s.subscribe)(this.config.subscribes.autofill(this.formId),(({data:t,clear:e})=>this.autofill(e,t))),(0,s.subscribe)(this.config.subscribes.suggestedValue(this.formId),this.fillWithSuggestedValue.bind(this)),(0,s.subscribe)(this.config.subscribes.toggleReadonly(this.formId,this.input.name),(t=>this.toggleReadonly(t))),(0,r.HW)((()=>{this.updatedByUser=!1,this.populateDefaultData()}))}onBlur(){this.el.classList.remove(this.config.modifiers.isFocus),this.el.classList.add(this.config.modifiers.isBlur)}onFocus(){this.el.classList.remove(this.config.modifiers.isBlur),this.el.classList.add(this.config.modifiers.isFocus)}onChange(){this.localValue!==this.input.value&&(this.updatedByUser=!0,this.updateValue())}togglePasswordVisibility(t){t.preventDefault();const e=this.input.getAttribute("type")===this.config.types.PASSWORD?this.config.types.TEXT:this.config.types.PASSWORD;this.input.setAttribute("type",e),this.passwordLabel.textContent=e===this.config.types.PASSWORD?this.config.showPasswordLabel:this.config.hidePasswordLabel}zipRelatedElement(){const{type:t}=this.config;if(this.config.types.ZIP!==t)return;const{zipCountryFieldName:e}=this.config,{countryField:i}=this.config.elements;e&&(this.country=this.input.form.querySelector(i(e)))}updateValue(t){this.autoFilled=t||"string"==typeof t,this.state.errors=[],this.value=this.autoFilled?t:this.input.value,this.touched=!0,this.el.classList.add(this.config.modifiers.isInValid),this.validate(),this.showLetterCounter(),0===this.state.errors.length&&this.isValid(),this.updateState()}validateStep(t){this.formStep&&this.formStep.dataset.index===t&&this.validate()}validate(){this.isValid();const t="true"===this.config.required;this.touched=!0;const{type:e,types:i}=this.config,s=this.config.validations[e];let n=!1,o=!0;const a=e===i.NUMBER;if(a){const{validity:t}=this.input;n=t&&t.badInput}if(e===i.EMAIL&&(o=s&&s(this.value)&&this.isEmailAllowed(this.value)),!t||this.config.validations.required(this.value)||n||this.addError(this.config.messages.required),(s&&!s(this.value)||n||!o)&&this.addError(this.config.messages.constraint),a&&!n&&parseInt(this.config.maxlength,10)>1&&!this.config.validations.maxlength(this.value,this.config.maxlength)&&this.addError(this.config.messages.maxlength),1===parseInt(this.config.minlength,10)||this.config.validations.minlength(this.value,this.config.minlength)||n||this.addError(this.config.messages.minlength),this.config.types.ZIP===e){if(!this.country)return;const t=this.country.value;if(!t)return;(0,d.l)(this.value,t)||this.addError(this.config.messages.constraint)}if(["text","textarea","zip","dnb"].includes(e)){const t=document.createElement("span");t.textContent=this.value,this.input.value=t.textContent}}isEmailAllowed(t){const e=t.split("@")[1];if(this.config.allowedDomains.length){const t=this.config.allowedDomains.split(",");return 0===t.length||t.includes(e)}return!0}addError(t=this.config.messages.required){this.state.isValid=!1,t&&t.trim()&&(this.state.errors.push(t),this.updateState())}isValid(){this.state.isValid=!0,this.state.errors=[],this.el.classList.remove(this.config.modifiers.isInValid)}updateState(){!this.state.isValid&&this.touched?(this.el.classList.remove(this.config.modifiers.isValid),this.el.classList.add(this.config.modifiers.isInValid),this.error&&(this.errorText.innerHTML=this.state.errors.join("</br>"),this.error.classList.remove(...(0,a.K)(this.config.modifiers.isHidden)),this.error.setAttribute("aria-invalid",!0))):(this.el.classList.remove(this.config.modifiers.isInValid),""===this.value?this.el.classList.remove(this.config.modifiers.isValid):this.el.classList.add(this.config.modifiers.isValid),this.error&&(this.error.classList.add(...(0,a.K)(this.config.modifiers.isHidden)),this.error.setAttribute("aria-invalid",!1),this.errorText.innerHTML=`${(0,n.R)(this.config.modifiers.isValid)}`),this.isValid()),(0,s.publish)(this.config.publishes.change(this.formId),this.state)}hideWhenPlaceholderPopulated(t){const{publishes:e,modifiers:i}=this.config;this.config.hideWhenPlaceholderPopulated&&this.input.value!==t&&(this.el.classList.add(...(0,a.K)(i.isHidden)),(0,s.publish)(e.formInputHidden(this.formId),{elementId:this.el.id}))}populateDefaultData(){const t=(0,r.CP)(this.value);t&&(this.hideWhenPlaceholderPopulated(t),this.value=t,this.input.value=this.value,this.validate())}showLetterCounter(){const t=parseInt(this.config.minlength,10)>0;this.input.getAttribute("maxLength")?this.counter.innerText=""+(this.input.getAttribute("maxLength")-this.input.value.length):t&&(this.counter.innerText=`${this.input.value.length} / ${this.config.minlength}`)}autofill(t,e={}){if(t&&this.autoFilled)return void this.updateValue("");const i=(0,l.h)(this.input.name,e);if(!i&&"string"!=typeof i&&!this.autoFilled)return;const s=this.input.value;(!s&&i!==s||this.config.readonly)&&this.updateValue(i)}fillWithSuggestedValue(t){Object.keys(t).includes(this.input.name)&&this.updateValue(t[this.input.name]||"")}toggleReadonly(t){t?(this.el.classList.add(this.config.modifiers.isReadOnly),this.input.setAttribute("readonly","true")):(this.el.classList.remove(this.config.modifiers.isReadOnly),this.input.removeAttribute("readonly"))}disconnectedCallback(){(0,s.unsubscribe)(this.config.subscribes.getFormId,this.assignFormBinded)}}},32555:(t,e,i)=>{i.d(e,{N:()=>s});const s=t=>class extends t{init(){super.init(),this.hidableComponent=this.getHidableComponent(),this.initShowHideListeners()}showHideComponent(t){const{isHidden:e}=this.config.modifiers;t===this.hideCheckBoxValue?(this.setAsHidden(),this.setCopiedValue(this.copyFromField.value),this.hidableComponent.classList.add(e)):(this.setAsVisible(),this.hidableComponent.classList.remove(e))}initShowHideListeners(){const t=this.config.showHide;if(!t)return;const{showHideCheckboxId:e}=t;if(!e)return;const i=document.getElementById(e);if(!i)return;const{copyFromFieldId:s}=t;s&&(this.copyFromField=this.setCopyField(s),this.copyFromField&&(this.onShowHideCheckboxChange=this.onShowHideCheckboxChange.bind(this),this.onCopiedFieldChange=this.onCopiedFieldChange.bind(this),this.hideCheckBoxValue=t.hideValue,i.addEventListener("change",(t=>this.onShowHideCheckboxChange(t))),this.copyFromField.addEventListener("change",(t=>this.onCopiedFieldChange(t))),this.showHideComponent(i.checked)))}onCopiedFieldChange(t){this.isHidden()&&this.setCopiedValue(t.target.value)}onShowHideCheckboxChange(t){this.showHideComponent(t.target.checked)}setCopyField(t){return document.querySelector(`#${t} input`)}isHidden(){throw new Error("Method isHidden() must be implemented.")}setAsHidden(){throw new Error("Method setAsHidden() must be implemented.")}setAsVisible(){throw new Error("Method setAsVisible() must be implemented.")}getHidableComponent(){throw new Error("Method getHidableComponent() must be implemented.")}setCopiedValue(){throw new Error("Method setCopiedValue() must be implemented.")}}},78031:(t,e,i)=>{i.d(e,{V:()=>n});var s=i(58480);const n=t=>class extends t{init(){super.init(),this.fieldIsRequired&&(this.showHideFromContainer=this.showHideFromContainer.bind(this),this.showHideSubscription=this.subscribeToShowHideWrapper())}get fieldIsRequired(){return this.config.required}showHideWrapperSubscription(t){return`formOptions:${t}:toggle:wrapper`}getShowHideWrapper(){return this.el?.parentElement.closest(".formshowhidecontainer_base")}subscribeToShowHideWrapper(){const t=this.getShowHideWrapper();if(t){const e={hidden:t.classList.contains("isHidden")},i=this.showHideWrapperSubscription(t.id);return(0,s.subscribe)(i,this.showHideFromContainer),this.showHideFromContainer(e),i}return null}disconnectedCallback(){super.disconnectedCallback(),this.showHideSubscription&&(0,s.unsubscribe)(this.showHideSubscription,this.showHideFromContainer)}showHideFromContainer({hidden:t}){this.hiddenByContainer=t,this.hiddenByContainer&&!this.state.isValid?(this.isValid(),(0,s.publish)(this.config.publishes.change(this.formId),this.state)):this.touched&&this.validate()}}},58692:(t,e,i)=>{i.d(e,{m:()=>s});const s={validateOn:"change",selectors:{validationItems:".formtext__ciamValidation"},dataAttributes:{validationType:"ciamValidation"},publishes:{standby:t=>`form:${t}:standby`,continue:t=>`form:${t}:action:done`,formError:t=>`form:${t}:error`},subscribes:{continueSubmit:t=>`form:${t}:action:done:submit`},errors:{generic:"There was a problem with API",incomplete:"Password is incomplete"},actionType:{ciamRegister:"ciamRegister",ciamChangePassword:"ciamChangePassword",formContainer:"formContainer"},validationRules:{labelOneLowerCase:{name:"Validation message for at least one lowercase letter",regex:/(?=.*[a-z])/},labelOneUpperCase:{name:"Validation message for at least one uppercase letter",regex:/(?=.*[A-Z])/},labelOneDigit:{name:"Validation message for at least one number",regex:/(?=.*\d)/},labelOneSpecial:{name:"Validation message for special symbols",regex:/([$&+,:;=?@#|'<>*()%!\-_~{}`./"^[\]])/},labelLength:{name:"Validation message for between 8 and 64 characters",regex:/^.{8,64}$/}},invalidCharacterRegex:/[^a-zA-Z0-9$&+,:;=?@#|'<>*()%!\-_~{}`./"^ \\[\]]/,modifiers:{isValidated:"isValidated",isIncomplete:"isIncomplete"},validationLabels:{labelOneLowerCase:"1 lowercase character",labelOneUpperCase:"1 uppercase character",labelOneDigit:"1 digit",labelOneSpecial:"1 of the following symbols: @ # % ^ & * - _ + = [ ] { } ( ) | / : ' ; . , ? ! \" ~ ` < >",labelLength:"Between 8 and 64 characters"},validations:{ciamPassword:t=>Object.keys(s.validationRules).reduce(((e,i)=>(s.validationRules[i].regex.test(t)&&e.push(i),e)),[]),invalidCharacter:t=>!!s.invalidCharacterRegex.test(t)}}},82562:(t,e,i)=>{i.d(e,{a:()=>m});var s=i(32555),n=i(58480),o=i(19842),a=i(92220),r=i(12595),l=i(76178);class d extends n.ComponentBase{init(){this.config=(0,r.$N)({},l.D,this.config),this.touched=!1,this.getElements(),this.optionsElements=Array.from(this.options.children),this.activeDesendent="",this.currentKey="",this.currentOptions=[],this.value=this.input.value||"",this.state={...this.config.state.initial,name:this.config.name,selected:this.value},this.isRequired=this.config.required,this.clearTimoutReset=null,this.debouncedReset=(0,n.debounce)(this.resetLetterSearch.bind(this),400)}getElements(){super.getElements();const{elements:t}=this.config;this.formStep=this.el.closest(t.formStep)}findParentForm(){const t=this.el.closest("form");t?.classList.contains("formcontainer__form--initialised")&&t.id?this.assignForm({formId:t.id,inputId:this.input.id}):(this.assignFormBinded=this.assignForm.bind(this),(0,n.subscribe)(this.config.subscribes.getFormId,this.assignFormBinded))}assignForm(t){const{formId:e,inputId:i}=t;this.input.id===i&&(this.formId=e,this.populateDefaultData(),this.addEvents())}addEvents(){this.options.addEventListener("click",(t=>this.activateOption(t.target)),!0),this.trigger.addEventListener("click",(t=>this.open(t)),!0),document.addEventListener("click",(t=>this.close(t))),this.el.addEventListener("keydown",(t=>this.onKeyDown(t)),!0),(0,n.subscribe)(this.config.subscribes.autofill(this.formId),(({data:t,clear:e})=>this.autofill(e,t))),(0,n.subscribe)(this.config.subscribes.suggestedValue(this.formId),this.fillWithSuggestedValue.bind(this)),(0,n.subscribe)(this.config.subscribes.validate(this.formId),(()=>this.validate())),(0,n.subscribe)(this.config.subscribes.validateStep(this.formId),(({index:t})=>this.validateStep(t))),(0,n.subscribe)(this.config.subscribes.toggleReadonly(this.formId,this.config.name),(t=>this.toggleReadonly(t))),(0,o.HW)((()=>{this.populateDefaultData()}))}autofill(t,e={}){if(t&&this.autoFilled)return this.deActivateAllOptions(),this.validate(),void this.updateState();const i=(0,a.h)(this.input.name,e);if(!i&&"string"!=typeof i&&!this.autoFilled)return;const s=this.input.value;i===s&&s||(this.autoFilled=!0,this.setOptionForValue(i),this.onChange())}fillWithSuggestedValue(t={}){Object.keys(t).includes(this.input.name)&&this.setOptionForValue(t[this.input.name]||"")}close(){this.select.classList.remove(this.config.classes.opened),this.trigger.setAttribute("aria-expanded",!1),this.trigger.setAttribute("aria-activedescendant",!1),this.expanded=!1,this.selectedElement&&(this.clearOptionVisualSelectionOnList(this.selectedElement),delete this.selectedElement)}onClick(t){return this.open(t)}open(t){return t&&(t.preventDefault(),t.stopPropagation()),this.select.classList.toggle(this.config.classes.opened),this.expanded=this.select.classList.contains(this.config.classes.opened),this.expanded&&(this.trigger.setAttribute("aria-expanded",this.expanded),this.trigger.setAttribute("aria-activedescendant",this.activeDesendent),this.activeElement||(this.activeElement=this.optionsElements[0]),this.activeElement.focus(),this.checkScroll(this.activeElement)),!0}prevNextOption(t="prev"){const e="next"===t?"nextElementSibling":"previousElementSibling",i=this.selectedElement[e];return i&&this.selectOptionOnDropdownList(i),!1}checkScroll(t){const e=t.parentNode.getBoundingClientRect();t.parentNode.scrollTop+e.height<t.offsetTop+t.offsetHeight&&(t.parentNode.scrollTop=t.offsetTop+t.offsetHeight-e.height),t.parentNode.scrollTop>t.offsetTop&&(t.parentNode.scrollTop=t.offsetTop)}onKeyDown(t){const{altKey:e,ctrlKey:i,metaKey:s}=t,{open:n,next:o,prev:a,close:r,select:l}=this.config.keyboard;if(this.selectedElement||(this.selectedElement=this.activeElement||this.optionsElements[0],this.selectOptionOnDropdownList(this.selectedElement)),this.expanded)r.includes(t.key)&&this.close(),[o,a].forEach((e=>{e.includes(t.key)&&(t.preventDefault(),this.prevNextOption(o===e?"next":"prev"))})),l.includes(t.key)&&(t.preventDefault(),this.activateOption(this.selectedElement)),1!==t.key.length||" "===t.key||e||i||s||(t.preventDefault(),this.selectByLetter(t));else{if(n.includes(t.key))return t.preventDefault(),this.open();1!==t.key.length||" "===t.key||e||i||s||(t.preventDefault(),this.open(),this.selectByLetter(t))}return!1}selectByLetter(t){this.debouncedReset();const e=t.key.toLowerCase();this.currentKey!==e&&(this.currentKey+=e),this.currentKey===e&&0!==this.currentOptions.length||(this.currentOptions=this.optionsElements.filter((t=>t.textContent.toLowerCase().startsWith(this.currentKey))));const i=this.currentOptions.shift();i&&this.selectOptionOnDropdownList(i)}resetLetterSearch(){this.currentKey="",this.currentOptions=[]}onOptionClick(t){return this.activateOption(t)}deActivateAllOptions(){[...this.options.children].forEach((t=>{t.setAttribute("aria-selected",!1),t.classList.remove(this.config.classes.selected)})),this.value="",this.input.value="",this.selectedElement=null,this.activeDesendent=null,this.activeElement=null,this.triggertext.textContent="",this.input.dispatchEvent(new Event("change"))}activateOption(t){if(!t.classList.contains(this.config.classes.disabled)){const e=t.dataset.value;[...this.options.children].forEach((t=>{t.setAttribute("aria-selected",!1),t.classList.remove(this.config.classes.selected)})),t.classList.add(this.config.classes.selected),t.setAttribute("aria-selected",!0),this.input.value=e,this.activeDesendent=t.id,this.activeElement=t,this.triggertext.textContent=t.textContent,this.autoFilled=!1,this.close(),this.onChange(),this.openModalForSelectedValue(e)}}selectOptionOnDropdownList(t){this.selectedElement&&this.clearOptionVisualSelectionOnList(this.selectedElement),this.selectedElement=t,this.selectedElement.classList.add(this.config.classes.hover),this.checkScroll(this.selectedElement),this.trigger.setAttribute("aria-activedescendant",this.selectedElement.id)}clearOptionVisualSelectionOnList(t){t.classList.remove(this.config.classes.hover)}onChange(){if(this.value!==this.input.value){this.state.messages=[],this.state.errors=[],this.state.previous=this.value,this.value=this.input.value,this.state.selected=this.value,this.touched=!0,this.validate(),this.updateState();const t=new Event("change",{bubbles:!0});this.containerinput.dispatchEvent(t)}}validateStep(t){this.formStep&&this.formStep.dataset.index===t&&this.validate()}setHiddenFieldDefaultValueToMakeItValid(){this.valueSetByCodeToValidateHiddenField=!0,this.populateDefaultData(),this.optionsElements.length&&this.setOptionAsInputValue(this.optionsElements[0]),this.updateState()}validate(){this.isValid(),this.touched=!0,this.isRequired&&!this.config.validations.required(this.value)?this.hiddenByShowHide?this.setHiddenFieldDefaultValueToMakeItValid():this.addError(this.config.messages.required):this.config.messages.success&&this.showSuccess(this.config.messages.success)}addError(t){this.state.isValid=!1,t&&(this.state.errors.push(t),this.updateState())}showSuccess(t){t&&(this.state.messages.push(t),this.updateState())}isValid(){this.state.isValid=!0,this.state.messages=[],this.state.errors=[]}hideWhenPlaceholderPopulated(t){const{publishes:e,modifiers:i}=this.config;this.config.hideWhenPlaceholderPopulated&&this.input.value!==t&&(this.el.classList.add(i.isHidden),(0,n.publish)(e.formInputHidden(this.formId),{elementId:this.el.id}))}populateDefaultData(){if(this.options){const t=(0,o.CP)(this.config.placeHolder);if(t&&t.length)this.findOptionForValue(t)&&(this.hideWhenPlaceholderPopulated(t),this.setOptionForValue(t),this.onChange());else{const t=this.optionsElements.find((t=>t.classList.contains(this.config.classes.selected)));t?(this.setOptionAsInputValue(t),this.onChange()):(this.selectOptionOnDropdownList(this.optionsElements[0]),this.config.defaultLabel&&(this.triggertext.textContent=this.config.defaultLabel))}}}findOptionForValue(t){return this.optionsElements.find((e=>e.dataset.value===t))}setOptionForValue(t){const e=this.findOptionForValue(t);e&&this.setOptionAsInputValue(e)}setOptionAsInputValue(t){this.input.value=t.dataset.value,this.activeElement=t,this.selectedElement=t,this.activeDesendent=t.id,this.triggertext.textContent=t.textContent,this.dispatchChange()}dispatchChange(){const t=()=>setTimeout((()=>this.input.dispatchEvent(new Event("change",{bubbles:!0}),0)));"complete"===document.readyState?t():window.addEventListener("load",t)}updateState(){const{modifiers:t,publishes:e}=this.config;this.state.errors.length?(this.errorText.innerHTML=this.state.errors.join("</br>"),this.error.setAttribute("aria-invalid",!0),this.error.classList.remove(t.isHidden),this.message.classList.add(t.isHidden)):(this.state.messages.length&&(this.message.innerHTML=this.state.messages.join("</br>"),this.message.classList.add(t.isHidden)),this.error.setAttribute("aria-invalid",!1),this.error.classList.add(t.isHidden));const i=this.el.classList;!this.state.isValid&&this.touched?(i.remove(t.isValid),i.add(t.isInValid)):(i.remove(t.isInValid),i.add(t.isValid)),(0,n.publish)(e.change(this.formId),this.state)}toggleReadonly(t){t?this.el.classList.add(this.config.modifiers.isReadOnly):this.el.classList.remove(this.config.modifiers.isReadOnly)}disconnectedCallback(){(0,n.unsubscribe)(this.config.subscribes.getFormId,this.assignFormBinded)}openModalForSelectedValue(){}}var h=i(78031);class c extends((0,h.V)(d)){showHideFromContainer({hidden:t}){t?(this.hiddenByShowHide=!0,this.state.isValid||(this.isValid(),this.updateState())):!t&&this.valueSetByCodeToValidateHiddenField?(this.hiddenByShowHide=!1,this.valueSetByCodeToValidateHiddenField=!1,this.deActivateAllOptions(),this.validate(),this.updateState()):(this.hiddenByShowHide=!1,this.touched&&(this.validate(),this.updateState()))}}var u=i(50783);const p={templates:{modal:(t,e,i)=>`\n    <div class="modal">\n      <div class="modal__base ${i}"\n        id="${t}"\n        data-components="Modal">\n        <div class="modal__overlay"></div>\n        <div class="modal__container"\n          role="dialog"\n          aria-labelledby="modal dialog"\n          aria-modal="true">\n          ${e}\n        </div>\n      </div>\n    </div>\n  `}};class m extends((0,s.N)(c)){init(){this.config=(0,r.$N)({},p,this.config),super.init()}isHidden(){return this.fieldIsHidden}setAsHidden(){this.fieldIsHidden=!0}setAsVisible(){this.fieldIsHidden=!1}setCopyField(t){return document.querySelector(`#${t} input`)}setCopiedValue(t){this.setOptionForValue(t),this.onChange()}getHidableComponent(){return this.el.closest("heliux-formoptions")}async openModalForSelectedValue(t){const{experienceFragment:e,templates:i}=this.config;if(e&&t){const s=`${e}/${t.replace(/\s/g,"")}.html`,n=`modal${this.el.id}`;(0,u.BU)(s).then((({fragmentString:t})=>{const e=document.createRange().createContextualFragment(i.modal(n,t,this.el.dataset.customizationclass));document.body.appendChild(e)})).catch((t=>{console.error(t)}))}}}},5239:(t,e,i)=>{i.d(e,{R:()=>s});const s={type:"options",required:!1,elements:{formStep:".formstepscontainer__step",parentShowHideWrapperContainer:".formshowhidecontainer_base"},subscribes:{getFormId:"form:assign:child",validate:t=>`form:${t}:validate`,validateStep:t=>`form:${t}:step:validate`,toggleReadonly:(t,e)=>`form:${t}:${e}:toggleReadonly`},publishes:{change:t=>`form:${t}:input:change`,formInputHidden:t=>`form:${t}:input:hidden`},state:{initial:{isValid:!1,errors:[]}},modifiers:{isHidden:"visibility--isHidden-important",isInValid:"isInValid",isValid:"isValid",error:"error",success:"success",isReadOnly:"formoptions--readOnly"},validations:{required:t=>t.trim().length>0}}},20843:(t,e,i)=>{i.d(e,{a:()=>a});var s=i(58480),n=i(8894),o=i(32555);class a extends((0,o.N)(n.v)){isHidden(){return"hidden"===this.input.type}setAsHidden(){this.input.type="hidden"}setCopiedValue(t){this.input.value=t,this.updateValue(t)}setAsVisible(){this.input.type=this.config.type}getHidableComponent(){return this.el.closest("heliux-formtext")}}(0,s.register)({FormText:a},0)},93599:(t,e,i)=>{i.d(e,{l:()=>s});const s={selectors:{steps:".formstepscontainer__step",header:".formheader__base"},elements:{activeError:".error:not(.isHidden)",formElement:".formelement__wrapper",form:"form",formContainerInput:".formcontainer__input",formContainerBase:".formcontainer__base",stepsContainerBase:".formstepscontainer__base",stepPrevButton:'.calltoaction__wrapper[data-components="FormStepButton"][data-form-step-action="prev"]',notHiddenInputs:".formelement__wrapper:not(.visibility--isHidden-important):not(.isHidden) input.formcontainer__input,\n                      .formelement__wrapper:not(.visibility--isHidden-important):not(.isHidden) textarea.formcontainer__input,\n                      .formelement__wrapper:not(.visibility--isHidden-important):not(.isHidden) .formoptions__items.formcontainer__input,\n                      .formelement__wrapper:not(.visibility--isHidden-important):not(.isHidden) .formoptions__input.formcontainer__input"},subscribes:{changeStep:t=>`form:${t}:step:change`,stepHide:t=>`form:${t}:step:hide`,valid:t=>`form:${t}:valid`,invalid:t=>`form:${t}:invalid`,formInputHidden:t=>`form:${t}:input:hidden`},publishes:{assignChildren:"form:assign:child",stepChanged:t=>`form:${t}:step:changed`,changeStep:t=>`form:${t}:step:change`,stepHide:t=>`form:${t}:step:hide`,stepHidden:t=>`form:${t}:step:hidden`,validateStep:t=>`form:${t}:step:validate`,resetValidation:t=>`form:${t}:resetValidation`,stepChangedTracking:"form:step:changed:tracking"},modifiers:{stepActive:"formstepscontainer__step--active",isHidden:"visibility--isHidden-important"},templates:{lazyLoadingError:t=>`\n      <div class='formstepscontainer__error'>\n        ${t}\n      </div>\n    `},lazyLoadinErrorMessage:"form.step-lazyloading-error",scrollIntoView:{behavior:"smooth",block:"center",inline:"nearest"}}},14719:(t,e,i)=>{i.d(e,{y:()=>a});var s=i(58480),n=i(12595);const o={type:"text",showCounter:!0,skipBuildInValidation:!0,showValidationOnInit:!1,events:{inputInteractionEvent:"input",invalid:"invalid"},selectors:{input:".forminput__input",error:".forminput__errorMessages",counter:".forminput__counter"},classes:{isHidden:"isHidden",userInteraction:"forminput__base--hasUserInteraction",showValidationUserInteraction:"forminput__base--showValidation"},elements:{errorMessage:t=>`.forminput__errorMessage--${t}`,get showValidationUserInteraction(){return`.${o.classes.showValidationUserInteraction}`}},customValidationByType:{email:[],tel:[],text:[],textarea:[]},builtInValidationValues:{type:null,required:null,maxlength:null,minlength:null,pattern:null,max:null,min:null,step:null},builtinValidationAttributes:{TYPE:"type",REQUIRED:"required",MAX_LENGTH:"maxlength",MIN_LENGTH:"minlength",PATTERN:"pattern",MAX:"max",MIN:"min",STEP:"step"},builtinValidityProps:{VALID:"valid",BAD_INPUT:"badInput",CUSTOM_ERROR:"customError",TYPE_MISMATCH:"typeMismatch",PATTERN_MISMATCH:"patternMismatch",RANGE_OVERFLOW:"rangeOverflow",RANGE_UNDERFLOW:"rangeUnderflow",STEP_MISMATCH:"stepMismatch",TOO_LONG:"tooLong",TOO_SHORT:"tooShort",VALUE_MISSING:"valueMissing"},get builtinValidityPropsArray(){return Object.values(this.builtinValidityProps)},get onlyBuiltinValidityPropsArray(){const{CUSTOM_ERROR:t,VALID:e}=this.builtinValidityProps;return this.builtinValidityPropsArray.filter((i=>![t,e].includes(i)))},attributesToValidityPropsRelation:{type:"typeMismatch",required:"valueMissing",maxlength:"tooLong",minlength:"tooShort",pattern:"patternMismatch",max:"rangeOverflow",min:"rangeUnderflow",step:"stepMismatch"},get validityPropsToAttributesRelation(){return Object.fromEntries(Object.entries(this.attributesToValidityPropsRelation).map((t=>t.reverse())))}};class a extends s.ComponentBase{init(){this.config=(0,n.$N)(o,this.extendConfig(),this.config),this.defaultCustomValidity={},this.customValidity={},this.hasCustomValidation=!1,this.customValidityPropsArray=[],this.getElements(),this.setBinds(),this.setDefaultCustomValidity(),this.silentValidationOnInit(),this.addEventListeners(),this.showLetterCounter()}get allBuildInValidityPass(){return this.config.onlyBuiltinValidityPropsArray.every((t=>!this.input.validity[t]))}get allCustomValidityPass(){return this.customValidityPropsArray.every((t=>!this.customValidity[t]))}get isNotRequiredNoValue(){const{required:t}=this.config.builtInValidationValues;return!t&&""===this.input.value}extendConfig(){return{}}setBinds(){this.checkValidityOnUserInteraction=this.checkValidityOnUserInteraction.bind(this),this.showHideBuiltinAndCustomValidation=this.showHideBuiltinAndCustomValidation.bind(this)}setDefaultCustomValidity(){this.customValidationChecks=this.config.customValidationByType[this.config.type].map((t=>(this.defaultCustomValidity[t.checkName]=!1,this.customValidity[t.checkName]=!1,{...t,checkMethod:this.createCustomValidationMethod(t)}))),this.hasCustomValidation=this.customValidationChecks.length,this.customValidityPropsArray=Object.keys(this.customValidity)}createCustomValidationMethod({checkName:t,checkMethod:e,debounceTime:i}){const n=async()=>{let i=!1;try{i=await e(this)}catch(t){console.warn(t),i=!0}this.customValidity[t]=i;const s=(i||!this.allCustomValidityPass)&&t||"";this.setCustomValidationFlag(s),this.showHideErrors()};return i>0?(0,s.debounce)(n,i):n}silentValidationOnInit(){this.hasCustomValidation&&(this.isNotRequiredNoValue||(this.config.showValidationOnInit&&this.toggleShowErrorClass(),this.setCustomValidationFlag(),this.showHideBuiltinAndCustomValidation()))}addEventListeners(){const{events:t}=this.config,{required:e}=this.config.builtInValidationValues;this.input.addEventListener(t.invalid,(()=>this.el.classList.add(this.config.classes.userInteraction)),{once:!0}),this.input.addEventListener(t.invalid,(()=>this.toggleShowErrorClass()),{once:e}),this.input.addEventListener(t.invalid,this.showHideBuiltinAndCustomValidation),this.input.addEventListener(t.inputInteractionEvent,this.checkValidityOnUserInteraction)}toggleShowErrorClass(){const t=this.isNotRequiredNoValue?"remove":"add";this.el.classList[t](this.config.classes.showValidationUserInteraction)}checkValidityOnUserInteraction(){this.allBuildInValidityPass&&this.setCustomValidationFlag(),this.input.checkValidity(),this.showLetterCounter()}showHideBuiltinAndCustomValidation(){this.allBuildInValidityPass?this.runCustomValidation():(this.resetCustomValidity(),this.showHideErrors())}runCustomValidation(){if(this.hasCustomValidation)return this.isNotRequiredNoValue?(this.resetCustomValidationFlag(),void this.resetCustomValidity()):void this.customValidationChecks.forEach((({checkMethod:t})=>{t()}))}showHideErrors(){const{showValidationUserInteraction:t}=this.config.elements,{showValidationOnInit:e}=this.config;if(!e&&!this.el.matches(t))return;const{builtinValidityPropsArray:i}=this.config;this.iterateShowHideErrors(i,!0),this.iterateShowHideErrors(this.customValidityPropsArray,!1)}iterateShowHideErrors(t,e=!0){const{errorMessage:i}=this.config.elements,{validityPropsToAttributesRelation:s}=this.config,n=e?this.input.validity:this.customValidity;t.forEach((t=>{const o=n[t]?"remove":"add",a=e?s[t]:t,r=i(a),l=this.error.querySelector(r);l&&l.classList[o](this.config.classes.isHidden)}))}setCustomValidationFlag(t="CustomValidity"){this.hasCustomValidation&&this.input.setCustomValidity(t)}resetCustomValidationFlag(){this.hasCustomValidation&&this.input.setCustomValidity("")}resetCustomValidity(){this.customValidity={...this.defaultCustomValidity}}showLetterCounter(){if(!this.config.showCounter)return;const{maxLength:t,minLength:e,value:i}=this.input,s=parseInt(t,10),n=parseInt(e,10);s>0?this.counter.innerText=""+(s-i.length):n>0&&(this.counter.innerText=`${i.length} / ${n}`)}}}}]);