1import{r as c}from"./index-928ed2fb.js";import{r as T,I as z,a as K,b as Q,c as W,d as X}from"./insurance-purchase-36c881a6.js";import{I as j}from"./Icons-bdcb99f3.js";import Y from"./date-input.component-df4bc95a.js";import{j as a,a as e,F as Z}from"./react-component-loader-04e4e7ad.js";import"./_commonjsHelpers-725317a4.js";import"./steps.component-7bf18523.js";import"./entry-client-7e4bd37e.js";/* empty css */const k=({requirements:b,termsAndConditionsLink:l,externalLink:m,fromDate:h,onFromDateChange:N,stepValid:v,onStepValidationChange:s,resources:o})=>{const[i,p]=c.useState(b),[y,E]=c.useState(""),f=new Date().toISOString().split("T")[0],C=r=>{const{value:t,checked:_}=r.target,D=i.map(S=>S.value===t?{...S,isSelected:_}:S);p(D)},q=r=>{N(r);let t="";r?r<f&&(t=o.invalidDateError):t=o.invalidDateError,E(t)};return c.useEffect(()=>{const r=i.some(_=>!_.isSelected),t=h!==""&&h>=f;s(!r&&t)},[i,h]),c.useEffect(()=>{if(v){const r=b.map(t=>({...t,isSelected:!0}));p(r)}},[v]),a("div",{className:"insurance-requirements",children:[a("div",{className:"insurance-requirements__requirements",children:[e("h2",{className:"insurance-requirements__title h3",children:o.title}),e("ul",{className:"insurance-requirements__list",children:i.map((r,t)=>e("li",{className:"insurance-requirements__list-item",children:a("label",{className:"checkbox",children:[e("input",{type:"checkbox",id:`requirement-${t}`,name:`requirement-${t}`,value:r.value,checked:r.isSelected,onChange:C,required:!0}),r.text]})},t))})]}),(l||m)&&a("div",{className:"insurance-requirements__links",children:[l&&a("a",{href:T(l.href),target:l.target||"_blank",rel:"noopener noreferrer",className:"insurance-requirements__link btn btn--icon btn--tertiary",children:[e(j,{type:"Download"}),l.text]}),m&&a("a",{href:T(m.href),target:m.target||"_blank",rel:"noopener noreferrer",className:"insurance-requirements__link btn btn--icon btn--tertiary",children:[e(j,{type:"ExternalLink"}),m.text]})]}),a("div",{className:"insurance-requirements__from-date",children:[e("h2",{className:"insurance-requirements__title h3",children:o.fromDateTitle}),e("div",{className:"input",children:e("div",{className:"input__item input__item--required",children:e(Y,{id:"from-date",value:h,onChange:q,label:o.fromDateLabel,min:f,required:!0,validationError:y})})})]})]})},O=4,ce=({insuranceId:b,title:l,collaborationPartner:m,coverageItems:h,termsAndConditionsLink:N,prePurchaseInfoLink:v,externalLink:s,userCanBuy:o,userIsTooOld:i,tooOldInfoText:p,alreadyOwnInfoText:y,monthlyPrice:E,yearlyPrice:f,coverage:C,deductible:q,insuranceAmount:r,renewalInfo:t,orderSummaryInfoText:_,requirements:D,email:S,phoneNumber:P,personalInformationInfoText:H,receiptPageUrl:R,resources:u})=>{const[d,I]=c.useState(1),[w,x]=c.useState(""),[F,U]=c.useState([!1,!0,!0,!0]),[$,M]=c.useState(!1),[G,V]=c.useState(void 0),B=async()=>{try{M(!0),V(void 0);const n=await fetch("/api/purchase/insurance",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({insuranceId:b,fromDate:w,receiptPageUrl:R})});if(!n.ok){if(n.status===400){const J=await n.json();V(J.message||u.insuranceOrderSummary.fromDateInPastError),I(4);return}throw new Error(`Error submitting form: ${n.statusText}`)}const g=await n.text();g&&(window.location.href=g)}catch(n){console.error("Error submitting insurance form:",n),V(u.insuranceOrderSummary.fromDateInPastError),I(4)}finally{M(!1)}};return a("div",{className:"income-insurance insurance-purchase",children:[e(z,{title:l,collaborationPartner:m,resources:u.insuranceHeader,currentStep:d,numberOfSteps:O}),(!o||i)&&a("div",{className:"income-insurance__cant-buy-message insurance-purchase__contents",children:[i&&p&&e("span",{dangerouslySetInnerHTML:{__html:p}}),!i&&y&&e("span",{dangerouslySetInnerHTML:{__html:y}})]}),o&&!i&&a(Z,{children:[a("div",{className:"insurance-purchase__contents",children:[d===1&&e(k,{requirements:D,termsAndConditionsLink:v,externalLink:s,fromDate:w,onFromDateChange:n=>{x(n)},onStepValidationChange:n=>{const g=[...F];g[0]=n,U(g)},stepValid:F[0],resources:u.insuranceRequirements}),d===2&&e(K,{email:S,phoneNumber:P,infoText:H,displayConsent:!1,onStepValidationChange:()=>{},consentGiven:null,onConsentChange:null,resources:u.personalInformation}),d===3&&e(Q,{coverageItems:h,termsAndConditionsLink:N,externalLink:{text:(s==null?void 0:s.text)||"",href:(s==null?void 0:s.href)||""},resources:u.insuranceCoverage}),d===4&&e(W,{monthlyPrice:E,yearlyPrice:f,coverage:C,deductible:q,insuranceAmount:r,validFrom:w,renewalInfo:t,infoText:_,errorMessage:G,resources:u.insuranceOrderSummary})]}),e(X,{currentStep:d,setCurrentStep:I,currentStepValid:F[d-1],numberOfSteps:O,loading:$,handleSubmit:B,resources:u.insuranceFooter})]})]})};export{ce 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.