1import{m as he,e as Ae}from"./lodash-86ed0c75.js";import{a0 as Fe,m as R,f as i,r as w,ag as Ie,ce as Se,a as be,w as E,D as S,E as O,P as q,J as Me,u as b,i as ye,ar as G,S as H,U as Ce,F as Ve,I as J,K as we,t as L,a5 as Oe}from"./vendor-a0789617.js";import{s as $e}from"./searchProviderConstants-1dc0cbda.js";import{u as Pe}from"./FormTool-697a8ace.js";import{l as ze,m as Ee,n as K,u as Ne}from"./index-a0a0e1a1.js";import{u as Q}from"./vee-validate-daa3561c.js";import{u as Ue}from"./useAyncFormField-83c7db1a.js";import"./axios-bb6ee5b8.js";import"./vue3-lottie.es-a37e0f1c.js";import"./lottie-web-b8223fd3.js";import"./ProgressIndicator.vue_vue_type_script_setup_true_lang-56ec5508.js";import"./useEncoding-54ae9046.js";import"./yup-69374111.js";import"./swiper-ade697ba.js";/*! @license Third-party license notices: /dist/velux-marketing/client/THIRD_PARTY_NOTICES.txt */function _e(){const M=ze(),{logErrorMessage:y}=Ee(),A={suggestions:`${M.apiHost}/api/Velux/FormTool/GetAddressSuggestions`,fullAddress:`${M.apiHost}/api/Velux/FormTool/GetFullAddress`};return{getSuggestions:async(v,F,m)=>{if(!v.trim())return[];let f="";m&&(f=`&sc_lang=${m}`);try{const{data:g}=await K(`${A.suggestions}?text=${encodeURIComponent(v)}&fieldItemId=${encodeURIComponent(F)}${f}`);return g}catch{return y({message:"Error during fetching address suggestions",componentName:"AddressProvider"}),[]}},GetFullAddress:async(v,F,m)=>{if(!v)return{};let f="";m&&(f=`&sc_lang=${m}`);try{const{data:g}=await K(`${A.fullAddress}?addressId=${encodeURIComponent(v)}&fieldItemId=${encodeURIComponent(F)}${f}`);return g}catch{return y({message:"Error during fetching full address",componentName:"AddressProvider"}),{}}}}}const je={key:0},De=["src"],ke=Fe({__name:"AutocompleteAddressField",props:{readonly:{},multilineText:{},address:{},city:{},country:{},houseNumber:{},zip:{},showMap:{},id:{},errorMessage:{},label:{},placeholder:{},required:{}},emits:["focus"],setup(M,{emit:y}){const A=M,N={id:"",readonly:{value:!1},multilineText:{value:!1},required:{value:!1},errorMessage:{value:""},address:{value:""},city:{value:""},country:{value:""},houseNumber:{value:""},zip:{value:""},showMap:{value:!0}},{id:r,address:v,city:F,country:m,houseNumber:f,zip:g,required:C,showMap:$}=he(N,A),Y=y,Z="AIzaSyBk6hIC0VOrQwy6oe5ZPVTD2EIiKr3OiHs",W=R("searchProvider"),U=i(()=>W?.value===$e.PICASSO_SOLR),V=R("showFormErrorMessage",w(!1)),a=Pe(),X=Ne(),{getSuggestions:k,GetFullAddress:ee}=_e(),{t:P}=Ie(),se=Se(),_=i(()=>X?.sitecoreContext?.language||""),ae=i(()=>{const e=se?.class||"";return{"col-span-full vds_l:col-span-12":!!$?.value,[e]:!$?.value}}),{value:l,errorMessage:te,validate:le}=Q(r,void 0,{initialValue:a.getAutocompleteInputField,validateOnMount:!1,validateOnValueUpdate:!1}),c=Object.keys({address:"",houseNumber:"",city:"",zip:"",country:""}),oe=e=>C?.value?!!e?.trim()||P("Feature/Forms/Required Field"):!0,n=c.reduce((e,s)=>{const{value:t,errorMessage:u,validate:o}=Q(`${r}-${s}`,oe,{initialValue:a.getSubfieldData(r,s)||"",validateOnMount:!1,validateOnValueUpdate:!1});return e[s]={userInput:t,errorMessage:u,validate:o},e},{});c.forEach(e=>{a.setActiveSubfield(r,e,{required:{name:e,value:!!C?.value}})});const h=w([]),d=i(()=>c.reduce((e,s)=>(e[s]=n[s].userInput.value,e),{})),I=i(()=>Object.values(d.value).some(e=>e&&e.trim().length>0)||!1),j=i(()=>P("Feature/FormTool/Autocomplete Address Field/Your Address")+(C?.value?"*":"")),re=i(()=>P("Feature/FormTool/Autocomplete Address Field/No results")),ue=i(()=>{const e=I.value?d.value:{};return`https://www.google.com/maps/embed/v1/place?key=${Z}&q=${Object.values(e).filter(Boolean).join(", ")}`}),ne=i(()=>!!I.value&&!!$?.value&&Object.keys(d.value).length>0);be(()=>{const e=a.getAutocompleteInputField;e!==void 0&&(l.value=e)});const D=()=>c.forEach(e=>{n[e]&&(n[e].userInput.value="")}),de=async e=>{if(e==="no-results")return;const s=h.value.find(o=>o.id===e),t=s?.description||"";l.value=t,a.saveAutocompleteInputField(t),p.value=!0;const u=U.value?{address:t,city:"",country:"",houseNumber:"",zip:s?.zipCode||""}:await ee(e,r,_.value);if(Object.keys(u).length===0){p.value=!1,V.value=!0,D();return}c.forEach(o=>{n[o]&&(n[o].userInput.value=u?.[o]||"")}),V.value=!1,a.updateField(r,JSON.stringify({id:e||"",...L(d)}
1)),a.saveAutocompleteFullAddress(d.value),c.forEach(o=>{a.updateSubfieldData(r,o,n[o].userInput.value)}),p.value=!1},p=w(!1),z=w(!1),ie=async()=>{p.value=!0;const e=await k(l.value,r,_.value);if(e===null){p.value=!1,V.value=!0,h.value=[];return}if(e.length===0){p.value=!1,h.value=[{id:"no-results",description:re.value}];return}p.value=!1,V.value=!1,h.value=e.map(s=>({id:U.value?Oe():s?.id,description:s?.name,zipCode:s?.zipCode}))},ce=e=>{const t=new Map([["city",F?.value],["address",v?.value],["country",m?.value],["zip",g?.value],["houseNumber",f?.value]]).get(e)||"";return C?.value?`${t} *`:t},pe=e=>new Map([["address","address-line1"],["houseNumber","address-line2"],["city","address-level2"],["zip","postal-code"],["country","country-name"]]).get(e)||"off",B=(e,s)=>{const t=e.trim();n[s].userInput.value=t,l.value=d.value?Object.values(d.value).filter(Boolean).join(", "):"",a.saveAutocompleteInputField(l.value),ge(),a.updateField(r,JSON.stringify({...L(d)}))},ve=()=>{z.value=!0,Y("focus",j.value)},me=()=>{z.value=!1,l.value!==a.getAutocompleteInputField&&(l.value=a.getAutocompleteInputField)},fe=()=>{l.value=""},T=async()=>{I.value&&await Promise.all(c.map(e=>n[e].validate()))},ge=()=>{d.value&&a.saveAutocompleteFullAddress(d.value),c.forEach(e=>{a.updateSubfieldData(r,e,n[e].userInput.value)})},x=Ae(ie,250);return E(l,(e,s)=>{const t=a.getAutocompleteInputField;a.validateOnUpdate&&e!==s&&le(),z.value&&(e||D(),e.length>0&&e!==t||(h.value=[]),x())}),E(()=>a.validateOnUpdate,e=>{e&&T()}),E(I,e=>{e&&a.validateOnUpdate&&T()}),Ue(A.id),(e,s)=>(S(),O(H,null,[q("div",{class:we([ae.value])},[q("div",null,[Me(b(G),{modelValue:b(l),"onUpdate:modelValue":s[0]||(s[0]=t=>ye(l)?l.value=t:null),label:j.value,name:"street-address",autocomplete:"street-address",size:"m",suggestions:h.value,"error-message":b(te),"show-spinner":p.value,onSelect:de,onFocus:ve,onBlur:me,onClearInput:fe},null,8,["modelValue","label","suggestions","error-message","show-spinner"])]),I.value?(S(),O("div",je,[(S(!0),O(H,null,Ce(b(n),(t,u)=>(S(),Ve(b(G),{key:u,label:ce(String(u)),name:u,autocomplete:pe(String(u)),class:"mt-6","model-value":t.userInput.value,size:"m","error-message":t.errorMessage.value,"onUpdate:modelValue":o=>B(o,u),onClearInput:()=>B("",u)},null,8,["label","name","autocomplete","model-value","error-message","onUpdate:modelValue","onClearInput"]))),128))])):J("",!0)],2),ne.value?(S(),O("iframe",{key:0,class:"aspect-square w-full col-span-full vds_l:col-span-12",loading:"lazy",src:ue.value},null,8,De)):J("",!0)],64))}});export{ke as default};
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.