1"use strict";(self.heliuxModules=self.heliuxModules||[]).push([[4435],{46575(t,e,i){var r=i(23029),s=i(49530),n=i(50388),o=i(53954),a=i(90991),c=i(85501),u=(i(74423),i(31526)),h=i(80129),l=i(9209),m=i(12595),d=i(51113),f=i(78529),g=i(40606);const p=!!window?.Granite?.author;var b=i(2371),S=i(50783),y=i(81),k=i(73355),v=i(37376),E=i(37252),A=i(42033),T=i(15731),w=i(92220),P=i(63645),I=i(87587),F=i(11060),x=i(75756),L=i(47533);const _={selectors:{error:".formcontainer__errorMessage",errorText:".formcontainer__errorMessage-text",errorTpl:".formcontainer__errorTemplate",success:".formcontainer__successMessage",form:".formcontainer__form",inputs:".formcontainer__input",hpEmail:".formtext__hpemail",cdcNewsletterConfig:"cdc-newsletter-config",cdcNewsletterProfileData:'.formcontainer__input[name^="profile."]',formOptionsContainers:".formoptions__checkbox,.formoptions__radio",externalValidators:".externalvalidator__base",validationErrorsSelector:'.formtext__error[aria-invalid="true"], .formoptions__error.error[aria-invalid="true"]',referrerHiddenInput:'form > input[type="hidden"][name="_referrer"]'},elements:{externalValidators:".externalvalidator__base",activeError:".error:not(.isHidden)",formElement:".formelement__wrapper",formOptionsCheckedInput:".formoptions__input:checked",formOptionsHiddenInput:'input[type="hidden"]',additionalInputEl:t=>`input[type="hidden"][name="${t}"]`,formStepsContainer:".formstepscontainer__base"},classes:{formBaseLoading:"formcontainer__base--loading"},postSubmitActions:{reset:"reset",redirect:"redirect",continue:"continue"},subscribes:{change:t=>`form:${t}:input:change`,submit:t=>`form:${t}:submit`,standby:t=>`form:${t}:standby`,formError:t=>`form:${t}:error`,formSummaryData:t=>`form:${t}:formSummaryData`,resetValidation:t=>`form:${t}:resetValidation`},trackingEvents:{formStep:{triggers:[".formbutton .calltoaction__link","a:not(:disabled):not(.disabled)",'input:not(:disabled):not([type="hidden"])',"button:not(:disabled):not(.disabled)",".formoptions__trigger"],events:"focusin"}},publishes:{assignChildren:"form:assign:child",assignValidators:"form:assign:validators",formReset:t=>`form:${t}:reset`,invalid:t=>`form:${t}:invalid`,valid:t=>`form:${t}:valid`,validate:t=>`form:${t}:validate`,submitFailed:t=>`form:${t}:submit:failed`,submitSuccess:t=>`form:${t}:submit:success`,formViewTracking:"tracking:form:view",formStepTracking:"tracking:form:step",trackingFormSubmitError:"tracking:form:submit:error",trackingFormSubmitSuccess:"tracking:form:submit:success",trackingFormSubmitSuccessOnRedirect:"tracking:form:submit:success:on:next:page",trackingFormSubmitLandingPage:"tracking:form:submit:thankyou:landing",trackingFormSubmitLandingPageOnRedirect:"tracking:form:submit:thankyou:landing:on:next:page",trackingPassDataToNextPage:"tracking:form:submit:passDataToNextPage",ciamUserProfileUpdate:"tracking:ciam:profile:update:submit",fieldAPIValidationError:t=>`form:api:validation:error:${t}`},unsubscribes:{all:t=>`form:${t}`},modifiers:{isHidden:"isHidden",formIsInitialised:"formcontainer__form--initialised"}
1,urlParams:{success:"form-submission-success",error:"form-submission-error"},additionalInputsValues:{":oid":()=>(0,w.h)("user.details.userObjectId",(0,b.KA)(I.Z))},fetchSubmitTemplate:(t="POST",e=[],i={},r="same-origin")=>({method:t,mode:"cors",cache:"no-cache",credentials:r,headers:{...e,"Content-Type":"application/json"},redirect:"manual",referrer:window.location.href,body:JSON.stringify(i)}),multipartSubmitTemplate:(t="POST",e=[],i={},r="same-origin")=>({method:t,mode:"cors",cache:"no-cache",credentials:r,headers:{...e},redirect:"manual",referrer:window.location.href,body:i}),shouldPutOrPost:{BaaS:(t,e)=>{if("POST"===e.method&&t.includes("userData")){const i=(0,b.KA)(I.Z)?.user?.userDataMap||{},r=JSON.parse(e.body),s=i[r?.userData?.userPropertyMap];if(s?.id){const i=new URL(t,window.location.origin);return i.pathname=`${i.pathname}/${s.id}`,[i.toString(),{...e,method:"PUT"}]}}return[t,e]}},extraHeaders:{ciam:{Authorization:async()=>(0,P.XL)()},BaaS:{Authorization:async()=>(0,P.XL)()},CiamTaxApi:{Authorization:async()=>(0,P.XL)()},CiamV2FinalizeUserRegistration:{Authorization:async()=>(0,P.XL)()},B2bShareableCartStopReviewSession:{Authorization:async()=>(0,P.XL)()},winningMoments:{Authorization:async()=>window[I.t]?.isEnabled?await(0,P.XL)():null}},apiUrlMapper:{B2bShareableCartStopReviewSession:t=>{const e=(0,w.h)("userCart.cartId",(0,b.KA)(I.Z));return t.replace("{cartId}",e)}},beforeSubmitActions:{winningMoments:async()=>window[x.mH]?.isEnabled?await(0,L.Fg)().catch(()=>{}):null},publishBeforeSubmit:{ExternalValidatorTaxApiAddress:{message:"external:validator:tax:api:address:on:submit",callbackMessage:"external:validator:tax:api:address:checked"},CiamTaxApi:[{message:"ciam:user:taxexemption:on:submit",callbackMessage:"ciam:user:taxexemption:on:user:updated",callbackFunction:(t,e)=>{if(e&&e.companyId){const i=t.querySelector('input[name="customer.id"]');i&&(i.value=e.companyId)}}}]},publishOnSuccess:{CiamTaxApi:["reRender::on::taxRequestSent"],ciam:["ciam:user:account:refreshed","reRender::on::accountRefreshed"],B2bShareableCartStopReviewSession:["raqn:cart:hasUpdated","popup::close"]},apiCredentials:{winningMoments:"include"},formSummaryStore:"formSummary",formSubmissionStore:"formSubmissions",tempUserStore:F.B,scrollIntoView:{behavior:"smooth",block:"center",inline:"nearest"},loadingSpinnerContainerOptions:{formContainer:"formContainer",highestParentSection:"highestParentSection",mainContent:"mainContent",wholePage:"wholePage"},loadingSpinnerElements:{highestParentSection:".main__baseWrapper > heliux-section",mainContentContainer:"main",pageBody:"body"},lodingSpinnerHideConditions:{redirectFlow:"redirectFlow"},redirectFlow:{storeName:"redirectFlow",noRedirectStatus:"No redirect",redirectingStatus:"Redirecting"},templates:{spinner:(t,e,i)=>`\n <heliux-spinner data-visible="true" data-id="${t}"\n class="heliuxspinner__withinContainer heliuxspinner__withinContainer--withOverlay ${e?"heliuxspinner__withinContainer--centered":""}"\n style="${i}">\n </heliux-spinner>\n `,apiErrorsList:t=>`<ul class="formcontainer__apiErrors">${t}</ul>`,apiErrorItem:t=>`<li>${t.message}</li>`,errorMessage:t=>`<div class="formcontainer__errorMessage"><h1 class="formcontainer__errorMessage-text">${t}</h1></div>`},mapDataBeforeSubmit:{CiamTaxApi:t=>{const e={...t};Array.isArray(t?.certificateScope)&&(e.certificateScope=t.certificateScope[0]);const i=t?.coverage?.[0]?.jurisdiction;if(Array.isArray(i?.state)){const t=i.state.map(t=>({jurisdiction:{state:t,country:i.country}}));e.coverage=t}return e}},mapApiErrors:{BaaS:t=>t.errors.map(t=>{if("string"==typeof t){const[e,...i]=t.split(":");return{name:e.slice(1).split("/").join("."),message:i.join("").trim()}}let e;const{keyword:i,params:r,instancePath:s}=t;if("required"===i&&r.missingProperty?e=`${s}/${r.missingProperty}`:["type","pattern","invalidValue"].includes(i)&&(e=s),e)return e=e.substring(1).replaceAll("/","."),{name:e,type:i,message:t.message}}).filter(t=>t),UberallSalonRegistration:t=>{if(t.apiErrors){const e=t.apiErrors,{message:i,response:r}=e,s={INVALID_PARAMETER:"invalidValue"};return Object.entries(r).map(([t,e],r)=>({name:t,type:s[e],message:i,required:0===r}))}}},formActionType:{GENERATE_REFERRAL_LINK:"GENERATE_REFERRAL_LINK",PASS_TO_PAGE:"PASS_TO_PAGE"}};var C=i(36622),R=i(19806);function N(t,e,i){return e=(0,o.A)(e),(0,n.A)(t,O()?Reflect.construct(e,i||[],(0,o.A)(t).constructor):e.apply(t,i))}function O(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(O=function(){return!!t})()}let V=function(t){function e(){return(0,r.A)(this,e),N(this,e,arguments)}return(0,c.A)(e,t),(0,s.A)(e,[{key:"formId",get:function(){return this.config.id||this.el.dataset.id}},{key:"formIsNotHiddenByConditions",get:function(){return!this.el.closest(`.${R.N}`)}},{key:"allowRegularTracking",get:function(){const{formAction:t,formActionType:e,adobeTracking:i,googleTracking:r,alibabaTracking:s}=this.config;return t!==e.PASS_TO_PAGE&&(i||r||s)}},{key:"allowPassDataToNextPageTracking",get:function(){const{formAction:t,formActionType:e}=this.config;return t===e.PASS_TO_PAGE}},{key:"init",value:function(){if(this.logger=new E.V("FormContainer"),this.logger.log("form container initializing"),this.config=(0,m.$N)({},_,this.config),this.limitReached())return;const{clearStores:t}=this.config;t&&t.forEach(b.bC),this.getElements(),this.initLoadingSpinner(),this.includeUtmParamsFromStoreIntoReferrer(),(0,b.bC)(this.config.formSummaryStore),this.standby=!1,this.waitFor=new Set,this.preSubmitOngoingEvents=0,this.defaultFormErrorMessage=this.errorContent&&this.errorContent.innerHTML,this.submitForm=this.submitForm.bind(this);const{additionalInputs:e}=this.config;if(e&&e.length&&this.setAdditionalInputs(),this.submitFormMutex=new h.eu,this.publishTrackingEvents(),this.isSuccess)this.formIsNotHiddenByConditions&&(this.publishEventsOnSuccess(),this.publishTrackingFormSubmitSuccess(),this.showSuccess(),this.hideForm());else{this.handleErrorsOnInt(),this.errors={},this.errorsArr=[],this.touched=!1,this.scrollToErrorOn=!1,this.setBinds(),this.listeners(),this.addInitialisedClass(),this.childrenIds.forEach(t=>this.updateChildren(t)),this.assignExternalValidators();const{selectors:t,scrollIntoView:e}=this.config;this.scrollToErrorDebounce=(0,u.sg)(()=>{this.touched&&(0,T.N)(this.el,t.validationErrorsSelector,e)},100,!1)}}},{key:"handleErrorsOnInt",value:function(){this.isError&&this.showError()}},{key:"limitReached",value:function(){const{submitLimit:t}=this.config;if(t){const e=parseInt(t.limit,10),{reachedAction:i,redirect:r,message:s,XF:n}=t;if(this.totalSubmissions=(0,b.KA)(`${this.config.formSubmissionStore}:${this.formId}`,{},{tries:0}),this.totalSubmissions.tries>=e){switch(i){case"redirect":this.el.remove(),window.location.href=r;break;case"showXF":this.loadXF(`${n}.html`);break;
1default:this.el.innerHTML=this.config.templates.errorMessage(s)}return!0}}return!1}},{key:"loadXF",value:function(t){t&&(0,S.BU)(t).then(({fragmentString:t})=>{const e=(0,y.ME)(t);this.el.innerHTML="",this.el.appendChild(e)}).catch(t=>console.warn(t))}},{key:"getElements",value:function(){var t,i,r;if((t=e,i=this,"function"==typeof(r=(0,a.A)((0,o.A)(t.prototype),"getElements",i))?function(t){return r.apply(i,t)}:r)([]),this.errorContent=this.errorText||this.error,this.errorTpl){const{errorText:t}=this.config.selectors;this.errorTemplateText=this.errorTpl.content.querySelector(t)}}},{key:"errorMessageWithFormat",value:function(t=""){return this.errorTpl&&t?(this.errorTemplateText.innerHTML=t,this.errorTpl.innerHTML):""}},{key:"setBinds",value:function(){this.checkSubmit=this.checkSubmit.bind(this),this.addFormSummaryDataToStore=this.addFormSummaryDataToStore.bind(this),this.resetValidation=this.resetValidation.bind(this),this.addToWaitFor=this.addToWaitFor.bind(this),this.updateInputInfo=this.updateInputInfo.bind(this),this.handleErrorAfterSubmit=this.handleErrorAfterSubmit.bind(this)}},{key:"resetValidation",value:function(){const{publishes:t}=this.config;this.errors=[],this.touched=!1,this.scrollToErrorOn=!1,(0,u.publish)(t.valid(this.formId))}},{key:"addToWaitFor",value:function(t){this.waitFor.add(t.name)}},{key:"listeners",value:function(){const{subscribes:t,formActionType:e,formAction:i}=this.config;this.form.addEventListener("submit",this.checkSubmit),i===e.PASS_TO_PAGE&&window.addEventListener("pagehide",()=>{this.resetValidation(),this.resetFormSubmitState()},!1),(0,u.B1)(t.submit(this.formId),t=>this.checkSubmit(t)),(0,u.B1)(t.standby(this.formId),this.addToWaitFor),(0,u.B1)(t.change(this.formId),this.updateInputInfo),(0,u.B1)(t.formSummaryData(this.formId),this.addFormSummaryDataToStore),(0,u.B1)(t.resetValidation(this.formId),this.resetValidation),(0,u.B1)(t.formError(this.formId),this.handleErrorAfterSubmit)}},{key:"addInitialisedClass",value:function(){const{modifiers:t}=this.config;this.form.classList.add(t.formIsInitialised)}},{key:"setAdditionalInputs",value:function(){const{additionalInputs:t,additionalInputsValues:e}=this.config,{additionalInputEl:i}=this.config.elements;t.filter(t=>!!e[t]).forEach(t=>{const r=e[t]();this.el.querySelector(i(t)).value=r})}},{key:"totalSteps",get:function(){const{formStepsContainer:t}=this.config.elements,e=this.el.querySelector(t);if(!e)return 1;const i=e.dataset.stepsNumber;return i>0?i:1}},{key:"childrenIds",get:function(){return Array.isArray(this.inputs)?this.inputs.map(t=>t.id):[this.inputs.id]}},{key:"isSuccess",get:function(){return window.location.pathname.endsWith(`${this.config.urlParams.success}.html`)}},{key:"isError",get:function(){return window.location.pathname.endsWith(`${this.config.urlParams.error}.html`)}},{key:"updateChildren",value:function(t){setTimeout(()=>{(0,u.publish)(this.config.publishes.assignChildren,{formId:this.formId,inputId:t})},200)}},{key:"assignExternalValidators",value:function(){setTimeout(()=>{(0,k.K)(this.externalValidators).forEach(t=>{(0,u.publish)(this.config.publishes.assignValidators,{formId:this.formId,validatorId:t.id})})},200)}},{key:"updateInputInfo",value:function(t){const{name:e,isValid:i}=t,{valid:r,invalid:s}=this.config.publishes;i?delete this.errors[e]:this.errors[e]=t,this.hasErrors()?(this.scrollToErrorDebounce(),(0,u.publish)(s(this.formId),{errors:this.errors})):(0,u.publish)(r(this.formId))}},{key:"checkSubmit",value:async function(t){return this.touched?this.waitFor.size>0?this.waitForAndStandBy(t):(t?.displayText&&(this.formSubmitButtonDisplayText=t.displayText),this.hasErrors()?t&&t.preventDefault&&t.preventDefault():this.finalSubmit(),!0):(this.touched=!0,this.scrollToErrorOn=!0,(0,u.publish)(this.config.publishes.validate(this.formId),{}),setTimeout(()=>this.checkSubmit(t),50))}},{key:"waitForAndStandBy",value:async function(t){return new Promise((e,i)=>{Array.from(this.waitFor).forEach(r=>{if(!this.hasErrors()){this.hideError();const s=(0,f.H)(this.form,{unFlatten:!0,arraysAsStructure:!0,filterTechnicalParams:!0}),n=`${r}:done`,{errors:o}=this;(0,u.mW)(n),(0,u.B1)(n,s=>{s.message&&(this.handleErrorAfterSubmit(s),i(s.message)),(s.success||s.skip)&&this.waitFor.delete(r),0===this.waitFor.size&&(this.checkSubmit(t),e())}
1),(0,u.publish)(r,{data:s,errors:o,callbackMessage:n})}})})}},{key:"showSuccess",value:function(t){const{isHidden:e}=this.config.modifiers;this.error&&this.error.classList.add(e),this.success&&(this.success.classList.remove(e),t&&(this.success.innerHTML=t))}},{key:"showError",value:function(t=this.defaultFormErrorMessage){const{modifiers:{isHidden:e},publishes:{submitFailed:i}}=this.config,r=this.errorText&&t===this.defaultFormErrorMessage,s=!this.errorText&&t===this.defaultFormErrorMessage,n=r||s||this.errorText?t:this.errorMessageWithFormat(t);if(this.error){if(this.errorContent){let t="";if(this.containerAPIErrors){const{apiErrorItem:e,apiErrorsList:i}=this.config.templates;t=i(this.containerAPIErrors.map(t=>e(t)).join(""))}this.errorContent.innerHTML=`${n}${t}`}this.error.classList.remove(e),this.error.scrollIntoView(this.config.scrollIntoView)}this.success&&this.success.classList.add(e);const{hasAPIErrors:o}=this;(0,u.publish)(i(this.formId),{...o&&{hasAPIErrors:o},errorMessage:t})}},{key:"hideError",value:function(){delete this.containerAPIErrors;const{isHidden:t}=this.config.modifiers;this.error&&this.error.classList.add(t)}},{key:"hideForm",value:function(){const{modifiers:t}=this.config;this.form.classList.add(t.isHidden)}},{key:"hasErrors",value:function(){return this.logger.log("Form validation errors status: ",this.errors),Object.keys(this.errors).length}},{key:"handleHiddenFormOptionsInputs",value:function(){const{formOptionsCheckedInput:t,formOptionsHiddenInput:e}=this.config.elements;(0,k.K)(this.formOptionsContainers).forEach(i=>{const r=[...i.querySelectorAll(t)],s=[...i.querySelectorAll(e)];r.length&&s.forEach(t=>{t.disabled=!0})})}},{key:"updateReferralLinkInUserStore",value:async function(t){if(!t)return;const e=(0,C.P)(this.config),i=await e.getReferralLink(t),r=i?.referralLink;if(r){const t=(0,L.z5)(),e=t?.user?.details,i={...e,referralLink:{url:r,set:!0}};t.user={...t.user,details:i}}}},{key:"finalSubmit",value:async function(){const{endpoint:t,formAction:e,formActionType:i}=this.config;this.isNotABot()?(t?.referralLinkCampaignId&&e===i.GENERATE_REFERRAL_LINK&&(await this.updateReferralLinkInUserStore(this.config.endpoint.referralLinkCampaignId),window.location.reload()),this.handleHiddenFormOptionsInputs(),this.waitForTrackingEvents().then(()=>this.submitForm())):(this.showSuccess(),this.hideForm(),console.error("Honeypot/captcha triggered. Form has not been submitted."))}},{key:"triggerPreSubmitExternalValidation",value:function(){const{publishBeforeSubmit:t,elements:e}=this.config,i=[...this.el.querySelectorAll(e.externalValidators)];let r=!1;return!!i.length&&(i.forEach(e=>{if(t&&t[e.dataset.type]){const{message:i,callbackMessage:s}=t[e.dataset.type];this.triggerPreSubmitPubSub(i,s),r=!0}}),r)}},{key:"triggerPreSubmitAction",value:function(){const{publishBeforeSubmit:t,endpoint:e,formAction:i}=this.config,r=e?.apiName||i;return!(!r||!t?.[r]||(t[r].forEach(({message:t,callbackMessage:e,callbackFunction:i})=>{this.triggerPreSubmitPubSub(t,e,i)}),0))}},{key:"triggerPreSubmitPubSub",value:function(t,e,i){const r=(0,f.H)(this.form,{unFlatten:!0,arraysAsStructure:!0,filterTechnicalParams:!0}),s=t=>{(0,u.al)(e,s),this.preSubmitOngoingEvents-=1,t?.error?.skip?this.resetFormSubmitState():t?.error?this.handleErrorAfterSubmit(t.error):(i&&i(this.form,t),this.preSubmitOngoingEvents||this.triggerSubmitForm())};e&&(0,u.B1)(e,s),this.preSubmitOngoingEvents+=1;const n="function"==typeof t?t(this.formId):t;(0,u.publish)(n,{data:r,callbackMessage:e})}},{key:"submitForm",value:async function(){this.triggerPreSubmitExternalValidation()||this.triggerPreSubmitAction()||this.triggerSubmitForm()}},{key:"release",value:function(t){return()=>{const{submitLimit:e}=this.config;return e&&(this.totalSubmissions.tries+=1,(0,b.KA)(`${this.config.formSubmissionStore}:${this.formId}`,this.totalSubmissions)),t()}}},{key:"triggerSubmitForm",value:async function(){const{redirect:t}=this.config;if(this.limitReached())return;const e=await this.submitFormMutex.acquire(),i=this.release(e);if(this.submitted)i();else{if(this.submitted=!0,this.config.postURL)return await this.submitFormToServletAsJSON(),void i();if(this.config.endpoint)return await this.submitFormToAPI(),void i();if(!1===this.config.triggerAction)return this.handleSuccessAfterSubmit({redirect:t}),void i();this.addPrefixLabels(this.form),this.setFallbackValue(this.form),this.publishNextPageSuccessEvent(),this.publishNextPageFormSubmitLandingPageEvent(),this.form.submit(),i()}}},{key:"addPrefixLabels",value:function(t){Array.from(t.elements).forEac
1h(t=>{if(void 0!==t.dataset?.hasprefix&&t.value){const e=`${t.dataset.prefixlabel}${t.value}`;t.value=e}})}},{key:"setFallbackValue",value:function(t){Array.from(t.elements).filter(t=>!t?.value&&t?.dataset?.fallbackValue).forEach(e=>{const i=(0,g.Y)(e,new FormData(t));i&&(e.value=i)})}},{key:"postDataToServlet",value:async function(t={}){const e=this.config.postURL;let i={};const r=await(0,A.m)();i=r?{"csrf-token":r}:{};const s=this.config.fetchSubmitTemplate("POST",i,t);return(await fetch(e,s)).json()}},{key:"addParamsToUrl",value:function(t,e={}){const i="/"===t[0]?`${window.location.origin}${t}`:t,r=new URL(i),s=new URL(document.location).searchParams;return Object.entries(e).forEach(([t,e])=>{r.searchParams.set(t,e)}),"disabled"===s.get("wcmmode")&&r.searchParams.set("wcmmode","disabled"),r}},{key:"savePageData",value:function(t={}){const e=JSON.stringify(t);this.getStorage().setItem("passDataToNextPage",e)}},{key:"getStorage",value:function(){return sessionStorage}},{key:"handlePageData",value:function(){const t=(0,f.H)(this.form,{multipleArrayValuesAsAString:!0,arraysAsStructure:!0,filterTechnicalParams:!0}),{url:e}=this.config.endpoint;let i=this.config.redirect;
1return"urlParams"===e?i=this.addParamsToUrl(i,t).href:this.savePageData(t),{response:{status:200},redirect:i}}},{key:"postDataToAPI",value:async function(t={}){const{apiName:e,method:i,extraHeaders:r={},url:s,multipart:n,showErrorsFromAPI:o}=this.config.endpoint,{captchaConfig:a,authenticationToken:c,beforeSubmitActions:u,apiCredentials:h,fetchSubmitTemplate:l,multipartSubmitTemplate:m}=this.config,f=this.getUrlForAPIRequest(e,s),g={...r,...await this.getExtraHeadersForAPIRequest(e),...(0,d.Q)(t,this.config.captchaConfig)};c&&(g.Authorization=`Basic ${btoa(`:${c}`)}`),u[e]&&await u[e]();const p=(n?m:l)(i,g,t,h[e]||"same-origin");let b;return b=this.config.shouldPutOrPost[e]?await fetch(...this.config.shouldPutOrPost[e](f,p)).catch(t=>({error:t})):await fetch(f,p).catch(t=>({error:t})),b}},{key:"submitFormToAPI",value:async function(){this.hideError();const{formAction:t,formActionType:e}=this.config,{multipart:i,apiName:r}=this.config.endpoint;let s,n={};if(i)n=(t=>{const e=new FormData(t);return Array.from(e.entries()).filter(t=>t[0].match(/[:_].*/)).forEach(t=>e.delete(t[0])),e})(this.form);else{const{collectionsAsStrings:t}=this.config.endpoint;n=(0,f.H)(this.form,{unFlatten:!0,multipleArrayValuesAsAString:t,arraysAsStructure:!0,filterTechnicalParams:!0,removeEmptyValues:!0})}let o=this.config.redirect;if(t===e.PASS_TO_PAGE){const t=this.handlePageData();s=t.response,o=t.redirect,this.publishTrackingPassDataToNextPageEvent({redirectPage:o})}else{const{mapDataBeforeSubmit:t}=this.config,e=t[r]?.(n)||n;s=await this.postDataToAPI(e)}const a=s.status,{additionalActions:c=[]}=this.config,u=a&&c.find(t=>t.statusRange[0]<=a&&t.statusRange[1]>=a);if(u){const{redirect:t,message:e}=u;this.handleSuccessAfterSubmit({redirect:t,message:e})}else if(s.status>=200&&s.status<300)this.handleSuccessAfterSubmit({redirect:o},n);else{const t=await(s.json?.()),e=await this.handleAPIErrors(t);this.handleErrorAfterSubmit(e||s.error)}}},{key:"handleAPIErrors",value:async function(t){const{endpoint:e,apiName:i}=this.config;delete this.hasAPIErrors;const{mapApiErrors:r}=this.config,s=r[e?.apiName||i];if(!s)return"";const n=s(t);if(n.length){this.hasAPIErrors=!0;const t=n.filter(t=>"required"===t.type||t.required);if(n.filter(t=>["type","pattern","invalidValue"].includes(t.type)).forEach(t=>(0,u.publish)(this.config.publishes.fieldAPIValidationError(t.name),t)),!e?.showErrorsFromAPI)return n.forEach(t=>(0,u.publish)(this.config.publishes.fieldAPIValidationError(t.name),{...t,message:!1})),"";t.length&&(this.containerAPIErrors=t)}return n.map(t=>t.message).join("\n")}},{key:"submitFormToServletAsJSON",value:async function(){this.hideError();const t=(0,f.H)(this.form,{unFlatten:!0,arraysAsStructure:!0,removeEmptyValues:!0}),e=await this.postDataToServlet(t);e.success?this.handleSuccessAfterSubmit({redirect:e.redirect}):(await this.handleAPIErrors(e),this.handleErrorAfterSubmit())}},{key:"handleSuccessAfterSubmit",value:function(t={},e){const{adobeTrackingConfigs:i}=this.el.dataset,{successAction:r,postSubmitActions:s}=this.config;this.publishEventsOnSuccess(),this.publishTrackingCIAMRegistrationSuccess(e),r===s.reset?this.resetForm():t?.redirect?this.waitForTrackingEvents().then(()=>{window.location=t.redirect}):(this.showSuccess(t?.message),this.hideForm()),(0,u.publish)(this.config.publishes.submitSuccess(this.formId)),this.publishTrackingFormSubmitSuccess()}},{key:"handleErrorAfterSubmit",value:function(t){this.showError(t?.message||t),this.resetFormSubmitState()}},{key:"resetForm",value:function(){const{publishes:t}=this.config;this.form.reset(),(0,u.publish)(t.formReset(this.formId)),this.resetValidation(),this.resetFormSubmitState()}},{key:"resetFormSubmitState",value:function(){this.submitted=!1,this.touched=!1;const{valid:t}=this.config.publishes;this.hasAPIErrors||(0,u.publish)(t(this.formId))}},{key:"getExtraHeadersForAPIRequest",value:async function(t){const e=this.config.extraHeaders[t];if(!e)return{};const i=Object.keys(e).map(async t=>{const i=await e[t]();return{[t]:i}});return(await Promise.all(i)).reduce((t,e)=>Object.assign(t,e),{})}},{key:"getUrlForAPIRequest",value:function(t,e){const{showErrorsFromAPI:i}=this.config.endpoint,r=this.config.apiUrlMapper?.[t]?.(e)||e;return i?this.addParamsToUrl(r,{validate:!0}).href:r}},{key:"waitForTrackingEvents",value:function(){const{subscribes:t}=this.config;return new Promise(e=>{const i="adobeDataLayer";if(this.filterAndStoreFormSummaryData(),window[i]&&window[i].addEventListener&&window[i].removeEventListener){const r=()=>{window[i].removeEventListener(t.trackingFormSubmitSuccess,r),e()};setTimeout(r,1e3),window[i].addEventListener(t.trackingFormSubmitSuccess,r)}else e()})}},{key:"filterAndStoreFormSummaryData",value:function(){const t=(0,f.H)(this.form,{filterTechnicalParams:!0});
1Object.keys(t).forEach(e=>{"string"==typeof t[e]&&(t[e].includes("base64")||e.includes("password"))&&delete t[e]}),this.addFormSummaryDataToStore(t)}},{key:"addFormSummaryDataToStore",value:function(t){const{formSummaryStore:e,saveToTempUser:i,tempUserStore:r}=this.config,s={...t},n=(0,b.KA)(e);if((0,b.bC)(e),i){const t=(0,b.KA)(r);(0,b.bC)(r),(0,b.KA)(r,{...t,...s})}(0,b.KA)(e,{...n,...s})}},{key:"publishEventsOnSuccess",value:function(){const{endpoint:t,publishOnSuccess:e,publishes:i}=this.config;if((0,u.publish)(i.submitSuccess(this.formId)),t&&t.apiName){const i=Object.keys(e).find(e=>e===t.apiName);i&&e[i].forEach(t=>(0,u.publish)(t))}}},{key:"isNotABot",value:function(){return this.honeypotEmpty()}},{key:"honeypotEmpty",value:function(){return!(0,k.K)(this.hpEmail).some(t=>t&&t.value)}},{key:"disconnectedCallback",value:function(){const{unsubscribes:t}=this.config;this.form.removeEventListener("submit",this.checkSubmit),(0,u.mW)(t.all(this.formId),!1)}},{key:"includeUtmParamsFromStoreIntoReferrer",value:function(){const{includeUtmParamsFromStore:t}=this.config;if(this.referrerHiddenInput&&t){const t=(0,b.KA)("utmParams")?.params||{},e=new URL(this.referrerHiddenInput.value),i=new URLSearchParams(e.search);Object.entries(t).forEach(([t,e])=>{i.set(t,e)}),e.search=i.toString(),this.referrerHiddenInput.value=e.toString()}}},{key:"loadingSpinnerId",get:function(){return`${this.formId}-spinner`}},{key:"initLoadingSpinner",value:function(){if(p)return;const{showLoadingSpinner:t,loadingSpinnerHideCondition:e}=this.config,{lodingSpinnerHideConditions:i,redirectFlow:r}=this.config;if(t){if(e===i.redirectFlow){const t=(0,b.KA)(r.storeName,{initialiser:this.name});if(t.initialiser!==this.name||t.status===r.noRedirectStatus)return void this.hideLoadingSpinner();t.subscribe(()=>{t.status===r.noRedirectStatus&&this.hideLoadingSpinner(),t.status===r.redirectingStatus&&this.showLoadingSpinner()})}this.showLoadingSpinner()}}},{key:"showLoadingSpinner",value:function(){const{loadingSpinnerCentered:t,loadingSpinnerContainer:e,loadingSpinnerContainerId:i}=this.config,{loadingSpinnerContainerOptions:r,loadingSpinnerElements:s}=this.config;let n="",o="";if(e===r.formContainer?n=this.el:e===r.highestParentSection?n=this.el.closest(s.highestParentSection):e===r.mainContent?n=document.querySelector(s.mainContentContainer):e===r.wholePage?(n=document.querySelector(s.pageBody),o="z-index: 100"):i&&(n=document.querySelector(`#${i}`)),n){const e=document.createRange().createContextualFragment(this.config.templates.spinner(this.loadingSpinnerId,t,o));this.spinnerNodeReference=Array.from(e.children)[0],n.appendChild(e)}}},{key:"hideLoadingSpinner",value:function(){const{classes:t}=this.config;this.el.classList.remove(t.formBaseLoading),this.spinnerNodeReference&&this.spinnerNodeReference.remove()}},{key:"publishTrackingEvents",value:function(){if(!this.allowRegularTracking)return;const{adobeTracking:t,alibabaTracking:e}=this.config,i=Array.from(this.form.elements).some(t=>"INPUT"===t.tagName&&"hidden"!==t.type&&!t.disabled&&null!==t.offsetParent);if(!this.isSuccess&&i&&(this.formName=t?this.el.dataset.name:this.el.dataset.title,(0,l.h)(this.config.publishes.formViewTracking,{formName:this.formName,formId:this.formId}),t||e)){const{formStep:t}=this.config.trackingEvents,e=(0,v.F)(t.triggers,()=>{this.el.removeEventListener(t.events,e),(0,l.h)(this.config.publishes.formStepTracking,{formName:this.formName,formId:this.formId,currentStep:0,totalSteps:this.totalSteps})});this.el.addEventListener(t.events,e)}}},{key:"publishTrackingFormSubmitSuccess",value:function(){const{adobeTrackingConfigs:t,alibabaTrackingConfigs:e}=this.el.dataset;if(this.allowRegularTracking&&(t||e)){const{publishes:i}=this.config;(0,l.h)(i.trackingFormSubmitSuccess,{triggerElem:this.el,formName:this.formName,formId:this.formId,trackingConfigs:JSON.parse(t||e)})}this.publishTrackingFormSubmitLandingPageEvent()}},{key:"publishNextPageSuccessEvent",value:function(){if(!this.allowRegularTracking)return;const{successAction:t,postSubmitActions:e}=this.config;if(t===e.redirect){this.form?.elements[":redirect"];const{adobeTrackingConfigs:t,alibabaTrackingConfigs:e}=this.el.dataset,{publishes:i}=this.config,r=t||e;(0,l.h)(i.trackingFormSubmitSuccessOnRedirect,{triggerElem:this.el,formName:this.formName,formId:this.formId,trackingConfigs:r&&JSON.parse(r)})}}},{key:"publishTrackingFormSubmitLandingPageEvent",value:function(){if(!this.allowRegularTracking)return;const{successAction:t,postSubmitActions:e,sendFormSubmitThankYouLandingTrackingEvent:i,publishes:r}=this.config;i&&(0,l.h)(r.trackingFormSubmitLandingPageOnRedirect,{formId:this.formId,formName:this.el.dataset.name})}},{key:"publishNextPageFormSubmitLandingPageEvent",value:function(){if(!this.allowRegularTracking)return;const{successAction:t,postSubmitActions:e,sendFormSubmitThankYouLandingTrackingEvent:i,publishes:r}=this.config;i&&t===e.redirect&&(0,l.h)(r.trackingFormSubmitLandingPage,{formId:this.formId,formName:this.el.dataset.name})}},{key:"publishTrackingCIAMRegistrationSuccess",value:function(t){this.allowRegularTracking&&this.config.trackingSuccess&&this.config.publishes[this.config.trackingSuccess]&&(0,l.h)(this.config.publishes[this.config.trackingSuccess],t)}},{key:"publishTrackingPassDataToNextPageEvent",value:function({redirectPage:t}){this.allowPassDataToNextPageTracking&&(0,l.h)(this.config.publishes.trackingPassDataToNextPage,{displayText:this.formSubmitButtonDisplayText,href:t})}}])}(u.xu);(0,u.kz)({FormContainer:V},0)}},t=>{t.O(0,[750,7694,4253,9397,1874],()=>t(46575)),t.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.