1import{j as a,c as je}from"./chunks-1-index-mDynDTrg.js";import{s as we,H as Ne}from"./chunks-2-index-Bo12ymgJ.js";import{H as te,S as Pe}from"./Back-DmVOHpws.js";import{B as ae}from"./chunks-6-index-CpuhOssL.js";import{L as ce}from"./Steps-B7GU2O_w.js";import{C as Le}from"./Thumbsup-DmUAwDZ6.js";import{a as Be}from"./CheckboxList-Cymd4bUj.js";import{C as ne}from"./chunks-8-index-Bs6pIu_3.js";import{F as Ae,G as De}from"./chunks-7-index-DVxND_mT.js";import{L as Fe}from"./chunks-13-index-C_9ZrwBM.js";import{P as Me}from"./Popup-0QFzi-Dd.js";import{a as K}from"./chunks-5-index-9L4YrNqi.js";import{r as i}from"./main-CKVurIpm.js";import{i as We}from"./leerweg-BYHFBXmg.js";import"./Warning-BIZbMxgn.js";import"./Card-yQQRE3qW.js";import"./Slider-D4o66Bn9.js";import"./DeleteProfile-index-DDTni0gq.js";import"./chunks-4-index-B3s-04PD.js";import"./Shadow-D9b1B_VG.js";var t=(c=>(c[c.SelectEduarteCard=0]="SelectEduarteCard",c[c.PreviousEducationCheck=1]="PreviousEducationCheck",c[c.PreviousEducationWarning=2]="PreviousEducationWarning",c[c.DigidCheck=3]="DigidCheck",c[c.AcceptTerms=4]="AcceptTerms",c[c.Recaptcha=5]="Recaptcha",c[c.Submit=6]="Submit",c))(t||{});const Oe="aanmelden-opleiding",F="aanmelden_opleiding_popup",_e=(c,U=!1,_,C,k)=>{const[w,Q]=i.useState(),[J,V]=i.useState(),[q,B]=i.useState(!1),[$,M]=i.useState(),[l,N]=i.useState(),[x,z]=i.useState(),[T,H]=i.useState(),[m,W]=i.useState(),[v,G]=i.useState(),[b,Y]=i.useState(!1),[X,y]=i.useState(),[d,p]=i.useState(),[o,f]=i.useState(t.SelectEduarteCard),[e,ue]=i.useState(),u=i.useMemo(()=>{var r;return(r=e==null?void 0:e.eduarteCards)==null?void 0:r.options.find(({value:s})=>s===l)},[e,l]),h=i.useMemo(()=>(u==null?void 0:u.digidCheck)&&(e==null?void 0:e.digidCheck),[e==null?void 0:e.digidCheck,u==null?void 0:u.digidCheck]),P=i.useMemo(()=>(u==null?void 0:u.previousEducationCheck)&&(e==null?void 0:e.previousEducationCheck),[e,u==null?void 0:u.previousEducationCheck]),L=i.useMemo(()=>!!(e!=null&&e.acceptTermsForm)&&!We(u==null?void 0:u.leerweg),[e==null?void 0:e.acceptTermsForm,u==null?void 0:u.leerweg]);i.useLayoutEffect(()=>{o!==t.SelectEduarteCard||!l||f(P?t.PreviousEducationCheck:h?t.DigidCheck:m&&L?t.AcceptTerms:t.Recaptcha)},[P,h,L,o,l,m]);const E=i.useRef(),re=i.useCallback(async(r,s,n)=>{var j;E.current&&E.current.abort(),E.current=new AbortController,y(!0),Y(!0);const S=E.current.signal,R=await K.get(_,{params:{id:r,cancelId:n,eduarteCard:s},signal:S});E.current=void 0,ue(R==null?void 0:R.data),y(!1);const g=((j=R==null?void 0:R.data.eduarteCards)==null?void 0:j.options)||[];s?g!=null&&g.find(({value:A})=>A===s)&&(N(s),B(!0)):g.length===1&&(N(g[0].value),B(!0))},[_]);i.useLayoutEffect(()=>{const r=async()=>{var A;if(b)return;const s=location.hash.replace("#","");if(s.split("?")[0]!==Oe)return;const n=new URLSearchParams(s.split("?")[1]),S=n.get("id");if(!S){console.error(`Unable to start the EducationApplication, because the link to ${location.hash} contains no id`);return}Q(S);const g=new URLSearchParams(location.search).get("cancelId")??void 0;g&&V(g);const j=n.get("locatie")??void 0;j&&M(j),dataLayer.push(JSON.parse(JSON.stringify({event:`${F}_start`,formname:F,doelgroep:C,opleiding:S,voorgeselecteerdeLocatie:j,isWijziging:!!g}))),k!=null&&k.storeId&&((A=globalThis.blueConicClient)==null||A.event.publish("shoppingcart",{productIds:[location.host+location.pathname],storeId:k.storeId})),history.replaceState(void 0,"",location.href.split("#")[0]),re(S,j,g)};return window.addEventListener("hashchange",r),r(),()=>{window.removeEventListener("hashchange",r)}},[re,b,C,k]);const le=i.useCallback(async()=>{if(o!==t.SelectEduarteCard&&!window.confirm(c))return!1;E.current&&E.current.abort(),Y(!1),await new Promise(r=>setTimeout(r,500)),M(void 0),N(void 0),B(!1),z(void 0),H(void 0),O(!1),G(void 0)},[c,o]);i.useLayoutEffect(()=>{if(!(!b||!c))return window.onbeforeunload=()=>c,()=>{window.onbeforeunload=null}},[c,b]);const me=i.useCallback(async()=>{var r;if(y(!1),p(void 0),!!e){if(o===t.PreviousEducationWarning){W(!1),f(h?t.DigidCheck:t.Recaptcha);return}if(o===t.AcceptTerms){(r=oe.current)==null||r.handleSubmitButtonClick();return}if(o===t.Recaptcha){O(!0);return}if(o===t.Submit){p(void 0);return}f(s=>s+1)}},[e,h,o]),de=i.useMemo(()=>{var r,s;if(e){if(o===t.PreviousEducationWarning)return T==null?void 0:T.continueText;if(o===t.AcceptTerms)return(r=e==null?void 0:e.acceptTermsForm)==null?void 0:r.continueText;if((o===t.Submit||o===t.Recaptcha)&&d)return(s=e.error)==null?void 0:s.retryText}},[e,T,o,d]),pe=i.useCallback(()=>{y(!1),p(void 0),f(r=>{if(!e)return r;const s=()=>(N(void 0),t.SelectEduarteCard),n=()=>(W(!1),t.DigidCheck);return r===t.PreviousEducationCheck?s():(r===t.PreviousEducationWarning&&H(void 0),r===t.AcceptTerms&&h&&m?n():(r===t.Recaptcha&&(O(!1),p(void 0)),(r===t.Submit||t.Recaptcha)&&h&&m&&L&&v?t.AcceptTerms:(r===t.Submit||r
1===t.Recaptcha)&&h?n():r===t.DigidCheck||r===t.Submit||r===t.Recaptcha?P?t.PreviousEducationCheck:s():r-1))}),o===t.Submit&&p(void 0)},[o,e,h,L,m,v,P]),fe=i.useMemo(()=>{var r;if(o!==t.SelectEduarteCard&&!(q&&{[t.PreviousEducationCheck]:!1,[t.PreviousEducationWarning]:!1,[t.DigidCheck]:!P,[t.AcceptTerms]:!1,[t.Recaptcha]:!P&&!h,[t.Submit]:!P&&!h}[o])){if(o===t.AcceptTerms&&((r=e==null?void 0:e.acceptTermsForm)!=null&&r.continueText))return e.acceptTermsForm.continueText;if(!(o===t.Submit&&!d))return e==null?void 0:e.backButtonText}},[o,q,P,h,d,e]),oe=i.useRef(null),he=i.useMemo(()=>{if(e&&o===t.PreviousEducationCheck){const{title:r,search:s,options:n}=(e==null?void 0:e.previousEducationCheck)||{};return{title:r,search:s,options:n}}},[e,o]),Z=i.useCallback(async r=>{if(o===t.SelectEduarteCard)N(r);else if(o===t.PreviousEducationCheck){if(!(e!=null&&e.previousEducationCheck)||!w)return;y(!0),p(void 0);try{const s=await K.post(e.previousEducationCheck.submit.action,{education:w,eduarteCard:l,level:r});z(r);const{warning:n}=s.data;n?(H(n),f(t.PreviousEducationWarning)):f(h?t.DigidCheck:L?t.AcceptTerms:t.Recaptcha)}catch(s){s.code==="ERR_NETWORK"?p(e==null?void 0:e.error.networkError):(console.error(s),p(s.message))}finally{y(!1)}}},[o,e,w,l,h,L]),ve=i.useMemo(()=>{if(o===t.SelectEduarteCard)return{...e==null?void 0:e.eduarteCards,onSelect:Z}},[e==null?void 0:e.eduarteCards,Z,o]),xe=i.useMemo(()=>{if(e&&o===t.AcceptTerms&&e.acceptTermsForm){const{title:r,description:s,acceptTerms:n}=e.acceptTermsForm;return{title:r,axios:K,config:{steps:[{parts:[...s?[{part:"content",type:"paragraph",text:s}]:[],{part:"field",type:"checkbox",name:"acceptTerms",label:n.label,value:!1,validation:{type:"string",rules:[{type:"required",error:n.validationError},{type:"equals",error:n.validationError,params:[["true"]]}]}}]}],validation:{errorMessage:n.validationError},submit:{hideButton:!0,async:!0}}}}},[e,o]),ge=i.useCallback(r=>{if(o===t.AcceptTerms)return G(r.acceptTerms==="true"),f(t.Recaptcha),!1},[o]),[ke,O]=i.useState(!1),[ie,Ee]=i.useState("");i.useLayoutEffect(()=>{if(o===t.Recaptcha){if(!U){f(t.Submit);return}O(!0)}},[U,o]);const be=i.useCallback(r=>{o===t.Recaptcha&&(O(!1),Ee(r),f(t.Submit))},[o]),Se=i.useCallback(r=>{o===t.Recaptcha&&(p(r),O(!1))},[o]);i.useLayoutEffect(()=>{if(!e||!w||!l||d||o!==t.Submit)return;E.current&&E.current.abort(),E.current=new AbortController,y(!0);const r=E.current.signal;(async()=>{var n,S,R,g,j,A,se;const s={cancelEducationApplication:J,education:w,eduarteCard:l,previousEducationLevel:x,digid:m,acceptTerms:v,"g-recaptcha-response":ie};try{const D=await K(e.submit.action,{signal:r,method:"POST",data:s});E.current=void 0;const{errorMessage:I}=D.data;if(I){p(I);return}dataLayer.push(JSON.parse(JSON.stringify({event:`${F}_ingevuld`,formname:F,doelgroep:C,opleiding:w,opleidingNaam:e.educationTitle,isWijziging:!!J,voorgeselecteerdeLocatie:$,voorgeselecteerdeLocatieNaam:(S=(n=e.eduarteCards)==null?void 0:n.options.find(ee=>ee.value===$))==null?void 0:S.label,locatie:l,locatieNaam:(g=(R=e.eduarteCards)==null?void 0:R.options.find(ee=>ee.value===l))==null?void 0:g.label,route:m?"Cambo":"site"}))),m&&(k!=null&&k.storeId)&&((j=globalThis.blueConicClient)==null||j.event.publish("order",{productIds:[location.host+location.pathname],storeId:k.storeId})),window.onbeforeunload=null,D.data.redirectUrl&&(location.href=D.data.redirectUrl)}catch(D){const I=((se=(A=D==null?void 0:D.response)==null?void 0:A.data)==null?void 0:se.errorMessage)??e.error.networkError;p(I),y(!1)}})()},[C,J,e,m,w,d,x,$,l,k,ie,o,u,v]);const Ce=i.useMemo(()=>{if(T&&o===t.PreviousEducationWarning){const{title:r,message:s}=T;return{title:r,message:s}}},[T,o]),Te=i.useMemo(()=>{if(e&&o===t.DigidCheck&&h){const{title:r,description:s,yesButton:n,noButton:S}=(e==null?void 0:e.digidCheck)||{};return{title:r,description:s,yesButton:n,noButton:S}}},[e,o,h]),ye=i.useCallback(()=>{o===t.DigidCheck&&(W(!0),f(L?t.AcceptTerms:t.Recaptcha))},[L,o]),Re=i.useCallback(()=>{o===t.DigidCheck&&(W(!1),f(t.Recaptcha))},[o]);return i.useLayoutEffect(()=>{if(b)return()=>{dataLayer.push({event:`${F}_stop`,formname:F,doelgroep:C})}},[_,C,b]),i.useLayoutEffect(()=>{var s;if(!b)return;const r=(s=e==null?void 0:e.eduarteCards)==null?void 0:s.options.find(n=>n.value===l);dataLayer.push(JSON.parse(JSON.stringify({event:`${F}_stap${o+1}`,locatie:l,locatieNaam:r==null?void 0:r.label,locatieAdres:r==null?void 0:r.address})))},[b,e==null?void 0:e.eduarteCards,l,o]),{open:b,onClose:le,backButtonText:fe,loading:X,onBack:pe,nextButtonText:de,onNext:me,educationTitle:e==null?void 0:e.educationTitle,onSelectOption:Z,options:he,locationListProps:ve,buttons:Te,formRef:oe,form:xe,onFormSubmit:ge,onYesButtonClick:ye,onNoButtonClick:Re,showRecaptcha:ke,onRecaptchaCompleted:be,onRecaptchaError:Se,warning:Ce,error:d}},at=({label:c,closeButtonText:U,url:_,googleRecaptcha:C,doelgroep:k,closeConfirmText:w,blueConicConfig:Q})=>{const{open:J,onClose:V,loading:q,backButtonText:B,onBack:$,nextButtonText:M,onNext:l,educationTitle:N,options:x,onSelectOption:z,locationListProps:T,formRef:H,form:m,onFormSubmit:W,buttons:v,onYesButtonClick:G,onNoButtonClick:b,showRecaptcha:Y,onRecaptchaCompleted:X,onRecaptchaError:y,warning:d,error:p}=_e(w,!!C,_,k,Q);return a.jsx(Me,{className:"@container",open:J,closeButton:{text:U,onClick:V},label:c,buttons:(B||M)&&a.jsxs("ul",{className:"flex flex-wrap gap-8",children:[B&&a.jsx("li",{children:a.jsx(ae,{variation:"tertiary-dark",onClick:$,title:B,icon:a.jsx(Pe,{})})}),M&&a.jsx("li",{children:a.jsx(ae,{variation:"secondary",onClick:l,children:M})})]}),children:a.jsxs("div",{className:"mt-40 flex flex-col",children:[c&&a.jsx(Le,{variation:"white",text:we.renderToString(a.jsxs(a.Fragment,{children:[c,N&&a.jsx("div",{className:"mt-4",children:N})]})),className:"mb-8 px-16 md:px-40"}),q?a.jsx(ce,{className:"my-40"}):a.jsxs(a.Fragment,{children:[(d||p)&&a.jsxs("div",{className:"flex flex-col gap-24 px-16 pb-32 pt-16 md:px-40 md:pb-40",children:[(d==null?void 0:d.title)&&a.jsx(te,{variation:"h3",className:"pr-40 text-titanium-dark",children:d.title}),a.jsx(Ne,{className:je("rounded-16 bg-secondary/35 p-24",p&&"text-warning"),html:(d==null?void 0:d.message)??p})]}),x&&a.jsx(Be,{search:x==null?void 0:x.search,title:x==null?void 0:x.title,options:(x==null?void 0:x.options)||[],onSelect:z}),T&&a.jsx(Fe,{...T}),m&&a.jsxs("div",{className:"flex flex-col px-16 pb-32 md:px-40 md:pb-40",children:[m.title&&a.jsx(te,{variation:"h3",className:"pb-8 pr-40 text-titanium-dark",children:m.title}),m.config&&a.jsx(Ae,{ref:H,axios:m.axios,config:m.config,onSubmit:W})]}),v&&a.jsxs(a.Fragment,{children:[v.title&&a.jsx("div",{className:"flex flex-col px-16 pb-32 md:px-40 md:pb-40",children:a.jsx(te,{variation:"h3",className:"pr-40 text-titanium-dark",children:v.title})}),a.jsxs("div",{className:"mx-16 space-y-16 pb-32 md:mx-40 md:pb-40",children:[v.yesButton&&a.jsx(ne,{variation:"primary",className:"w-full",onClick:G,title:v.yesButton.title,text:v.yesButton.text}),v.noButton&&a.jsx(ne,{variation:"secondary",className:"w-full",onClick:b,title:v.noButton.title,text:v.noButton.text})]})]}),Y&&C&&a.jsxs(a.Fragment,{children:[!p&&a.jsx(ce,{className:"my-40"}),a.jsx(De,{className:"mx-16 mb-32 md:mx-40",config:C,onCompleted:X,onError:y})]})]})]})})};export{at as EducationApplication};
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.