1import{_ as _e}from"./fFHVeuwo.js";import{_ as xe,E as Ie,a as De}from"./Btc2FiVS.js";import{d as qe,g as ke,h as we,r as Oe,e as Te,u as Ne,_ as Ce,a as Ve,b as Ee}from"./ChMDXJlH.js";import{bR as Z,eI as be,dO as f,bF as S,bJ as T,f6 as J,ex as s,bB as d,aD as de,bI as Ae,el as oe,bE as le,az as Le,x as M,dZ as ue,by as n,c8 as _,dC as ve,bC as re,aJ as ce,bO as x,f0 as Re,ek as Fe,eC as ge,eY as he,dL as ye,f4 as se,e0 as Me,dv as pe,em as fe,da as Be,dY as K,cZ as Pe,bD as $e,eF as Qe,eS as He,eQ as ze,ez as We,eO as je,ey as Ge,eM as Ue,a as Ye,dr as ne,af as Je,dJ as Ke,w as U,cP as Ze,H as Y,E as ie,eP as Xe}from"./COpAX3hy.js";import{c as et}from"./D2E78qBU.js";import{a as tt,u as at}from"./GAet5Z53.js";import{u as st}from"./M8kq7upB.js";import{o as nt}from"./CbQA8YoT.js";import"./Bj9y8-A5.js";import"./BrpHHPp9.js";import"./C4iixGPo.js";import"./Dt9hzRf1.js";import"./egJJLmk3.js";import"./CLcgpKkp.js";import"./Bae07lwR.js";import"./C-3vJljv.js";import"./DxWVYqSb.js";import"./CYJmUFqS.js";const it={class:"w-full overflow-auto p-1"},ot={key:0,role:"status",class:"flex items-start gap-2 rounded-lg bg-[#FEF3C7] p-3 text-left text-sm md:text-base"},lt={"aria-hidden":"true",class:"mt-1 flex-shrink-0"},rt=["aria-labelledby","aria-label","aria-disabled"],dt=["id","name","value","checked","disabled","onChange"],ut=["for"],ct=Z({__name:"SimpleRadioButtons",props:{disabled:{required:!1,type:Boolean,default:!1},modelValue:{type:String,default:null},question:{required:!0,type:Object,default:()=>{}},labelId:{required:!1,type:String,default:""}},emits:["update:modelValue","blur"],setup(c,{emit:k}){const a=c,v=k,o=be(),I=n(()=>a.question?.meta?.textTemplate||a.question?.text||a.question?.shortText||""),D=n(()=>_(a.question,"meta.options",[])),i=n(()=>_(a.question,"meta.emptyOptionsMessage","")),m=n(()=>!D.value.length&&!!i.value),r=u=>{a.disabled||a.modelValue!==u&&(v("update:modelValue",u),v("blur",{question:a.question,answer:u}))},w=u=>a.modelValue===u;return(u,N)=>{const g=de;return f(),S("div",it,[T(Le,{name:"fade"},{default:J(()=>[s(m)?(f(),S("p",ot,[d("span",lt,[T(g,{icon:"calendar",size:"1.25"})]),Ae(" "+oe(s(i)),1)])):le("",!0)]),_:1}),s(m)?le("",!0):(f(),S("div",{key:0,role:"radiogroup","aria-labelledby":c.labelId||void 0,"aria-label":c.labelId?void 0:s(I)||void 0,"aria-disabled":c.disabled||void 0,class:"flex flex-nowrap gap-4 text-sm md:flex-wrap md:text-base"},[(f(!0),S(M,null,ue(s(D),(p,h)=>(f(),S(M,{key:p},[d("input",{id:`${s(o)}-${h}`,class:"peer sr-only",type:"radio",name:s(o),value:p,checked:w(p),disabled:c.disabled,onChange:O=>r(p)},null,40,dt),d("label",{for:`${s(o)}-${h}`,class:ve(["peer-focus-visible:outline-primary whitespace-nowrap rounded-full px-4 py-3 text-left transition duration-150 ease-in-out peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 md:px-8 md:py-4",[w(p)?"bg-primary hover:bg-primary-hover ring-primary text-white ring-2 ring-offset-1":"bg-light-grey hover:bg-grey-hovered"]])},oe(p),11,ut)],64))),128))],8,rt))])}}}),mt=Object.assign(ct,{__name:"SimpleRadioButtons"}),pt=["aria-labelledby","aria-label","aria-disabled"],ft=["id","name","value","checked","disabled","onChange"],bt=["for"],vt={class:"relative flex flex-1 flex-row"},gt={class:"line-clamp-2"},ht=Z({__name:"RadioWithIcon",props:{question:{required:!0,type:Object,default:()=>{}},disabled:{required:!1,type:Boolean,default:!1},modelValue:{type:String,default:null},labelId:{required:!1,type:String,default:""}},emits:["update:modelValue","blur"],setup(c,{emit:k}){const a=c,v=k,o=be(),I=n(()=>a.question?.meta?.textTemplate||a.question?.text||a.question?.shortText||""),D=n(()=>_(a.question,"meta.options",[]).map(r=>({icon:_(r,"icon",null),label:_(r,"label",r),optionValue:_(r,"value",r)}))),i=r=>{a.disabled||a.modelValue!==r&&(v("update:modelValue",r),v("blur",{question:a.question,answer:r}))},m=r=>a.modelValue===r;return(r,w)=>{const u=de;return f(),S("div",{role:"radiogroup","aria-labelledby":c.labelId||void 0,"aria-label":c.labelId?void 0:s(I)||void 0,"aria-disabled":c.disabled||void 0,class:"grid grid-cols-1 gap-4 md:grid-cols-2"},[(f(!0),S(M,null,ue(s(D),({label:N,optionValue:g,icon:p},h)=>(f(),S(M,{key:g},[d("input",{id:`${s(o)}-${h}`,class:"sr-only",type:"radio",name:s(o),value:g,checked:m(g),disabled:c.disabled,onChange:O=>i(g)},null,40,ft),d("label",{for:`${s(o)}-${h}`,class:ve(["btn-wide flex w-full justify-between text-left transition duration-150 ease-in-out",[m(g)?"bg-primary hover:bg-primary-hover ring-primary text-white ring-2 ring-offset-1":"bg-light-grey hover:bg-grey-hovered"]])},[d("div",vt,[p?(f(),re(u,{key:0,icon:p,class:"mr-2 hidden md:flex",size:"27",unit:"px","aria-hidden":"true"},null,8,["icon"])):le("",!0),d("div",gt,oe(N),1)])],10,bt)],64))),128))],8,pt)}}}),yt=Object.assign(ce(ht,[["__scopeId","data-v-fa0fb5fa"]]),{__name:"RadioWithIcon"}),St={class:"w-full md:w-1/2 lg:w-1/3"},_t=["aria-label","disabled","value"],xt=1,It=Z({__name:"DatePickerQuestion.client",props:{disabled:{required:!1,type:Boolean,default:!1},modelValue:{type:String,default:null},question:{required:!0,type:Object,default:()=>{}}},emits:["update:modelValue","blur"],setup(c,{emit:k}){x.extend(Re),x.extend(Fe);const a=c,v=k,o=K(null),I=new Set(["mousemove","mouseleave","focusin","focusout"]);function D(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>I.has(t))):{}}function i(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!I.has(t))):{}}const m=K(null);function r(){a.disabled||m.value?.focus()}const w=n(()=>a.question?.shortText||a.question?.text||"Select date"),u=ge(),N=he(),{isInstallationDateV
1alid:g}=qe(),p=n(()=>a.question?.meta?.staticDisabledOptions||{weekdays:[]}),h=n(()=>a.question?.meta?.disabledOptions||[]),O=n(()=>a.question?.meta?.unavailableDates||[]),A=n(()=>u.clientSettings?.isSchedulingSystemIntegrated||!1),L=n(()=>Pe(A.value,N.availableSchedules)),q=n(()=>u.clientSettings.reportingTimezone),y=n(()=>[...h.value,...O.value].map(e=>{const t=x(e).tz(q.value,!0).format();return{start:t,end:t}})),B=n(()=>a.question?.meta.holidayDisabledOptions||[]),R=n(()=>we(B.value)),P=n(()=>{if(!R.value?.length)return[];const e=new Date;return Oe(R.value,e,x(e).add(1,"year").toDate())}),X=n(()=>[...L.value?[]:[{repeat:p.value}],...y.value,...R.value]),F=n(()=>{const e=a.question?.meta?.schedulingPeriod||null;if(e){const t=x().tz(q.value,!0).format();return W(t,e)}}),$=n(()=>F.value||60),ee=n(()=>a.question?.meta?.gracePeriod??1),Q=n(()=>a.question?.meta?.isWeekendIncludedInGracePeriod||!1),te=n(()=>a.question?.meta?.isHolidaysIncludedInGracePeriod||!1),H=n(()=>ke({startDate:new Date,daysToAdd:ee.value,nonWorkingWeekdays:p.value,nonOperationalDays:[...h.value,...P.value],isHolidaysIncludedInGracePeriod:te.value,isWeekendIncludedInGracePeriod:Q.value})),z=n(()=>[...h.value,...O.value,...P.value]),ae=e=>g({date:e,minDate:H.value,staticDisabledOptions:p.value,disabledQuestionOptions:z.value,hasDynamicAvailability:L.value}),W=(e,t)=>x(e).add(t,"day").toDate(),j=(e,t=0)=>{if(!(t>=$.value)){if(ae(e))return e;{const l=W(e,1);return j(l,t+1)}}},G=e=>{if(!e.isDisabled){const t=x(e.date).tz(q.value).startOf("day").toISOString();a.modelValue!==t&&(v("update:modelValue",t),v("blur",{question:a.question,answer:t}))}},C=()=>{if(!a.disabled){a.modelValue?o.value=new Date(a.modelValue):o.value=x().tz(q.value).startOf("day").toDate();const e=j(o.value);e&&(!a.modelValue||!x(e).isSame(o.value,"day"))&&(o.value=e,G({date:e}))}};return ye(()=>{C()}),se(()=>a.disabled,e=>{e?o.value=null:C()}),se(()=>a.question?.meta?.unavailableDates,(e,t)=>{u.clientSettings.isBillingSystemIntegrated&&u.clientSettings.isSchedulingSystemIntegrated&&e!==t&&!a.modelValue&&C()}),se(()=>a.question,()=>{u.clientSettings.isBillingSystemIntegrated&&!u.clientSettings.isSchedulingSystemIntegrated&&C()}),(e,t)=>{const l=de,V=Me("VDatePicker");return f(),S("div",St,[T(V,{modelValue:s(o),"onUpdate:modelValue":t[0]||(t[0]=b=>Be(o)?o.value=b:null),color:"custom","is-required":"","disabled-dates":s(X),"first-day-of-week":xt,"min-date":s(H),"max-date":s(F),timezone:s(q),locale:"en-us","update-on-input":!1,popover:{visibility:c.disabled?"hidden":"hover-focus"},onDayclick:G},{default:J(({inputValue:b,inputEvents:E})=>[d("span",pe({class:["ant-input-affix-wrapper px-6 py-[18px]",{disabled:c.disabled}]},fe(D(E),!0)),[d("input",pe({ref_key:"dateInputRef",ref:m,class:"ant-input",placeholder:"Select date","aria-label":s(w),disabled:c.disabled,value:b},fe(i(E),!0)),null,16,_t),d("span",{class:"ant-input-suffix cursor-pointer","aria-hidden":"true",onClick:r},[T(l,{icon:"calendar-check",class:"ml-2",size:"20",unit:"px"})])],16)]),_:1},8,["modelValue","disabled-dates","min-date","max-date","timezone","popover"])])}}}),Dt=Object.assign(ce(It,[["__scopeId","data-v-375e5fe8"]]),{__name:"DatePickerQuestion"}),qt=$e(Dt),kt={class:"wrapper wrapper-full -mt-8 md:mt-[-50px]"},wt={key:0,class:"card h-full p-4 pb-6 text-left md:p-6 md:pb-4 lg:px-8 lg:py-10 lg:pb-8","aria-busy":"true"},Ot={class:"flex flex-nowrap gap-4 overflow-auto p-1 md:flex-wrap","aria-hidden":"true"},Tt=Z({__name:"schedule-installation",setup(c){const k={checkbox:De,email:Ie,date:qt,selectWithIcon:yt,select:mt},a=ge(),v=Qe(),o=He(),I=ze(),D=We(),i=he(),m=je(),{routeSpecificAddressAlert:r}=Ge(),{isQuestionAnswered:w}=Ue(),{templateVariables:u}=st(),{continueLoadingMessage:N}=Te(),{commonContinueToNextStep:g,stepParams:p}=Ne(),{validateMountedStep:h}=tt(),O=K(null),A=K(!1);let L=!0;const q=n(()=>!!a.clientSettings?.isSchedulingSystemIntegrated&&!i.availableSchedules&&!A.value),y=n(()=>a.clientSettings?.shopLabels||{}),B=n(()=>({message:r.value?.message||y.value?.installationTitle,description:r.value?.description||y.value.installationSubtitle})),R=n(()=>[...v.formsByName?.shopScheduleInstallation?.formQuestions||[]]),P=n(()=>o.questionResponsesByFormName("shopScheduleInstallation")),X=n(()=>Object.entries(P.value).reduce((e,[t,l])=>(e[t]=l.meta.value,e),{})),F=n(()=>
1{if(i.schedulingFailed&&a.clientSettings?.isBillingSystemIntegrated)return[];const{questionResponsesByQuestionName:e}=o,{questionsByQuestionName:t}=v,{clientAddress:l}=D,{order:V}=I;let b=U.filterDependantFormQuestions({formQuestions:R.value,isAnswered:w,questionResponsesByQuestionName:e,questionsByQuestionName:t,order:V,clientAddress:l,sessionType:i.session?.type??"",formQuestionTemplateVariables:u.value});const E=U.applyFormQuestionTextTemplates(b,u.value);return b=G(E),b=C(b),nt(b,"order")}),$=n(()=>Ze(o.questionResponsesByQuestionName.installationDate?.text,a.clientSettings.reportingTimezone)),ee=n(()=>Object.keys(i.availableSchedules??{}).length>0),Q=async()=>{try{if(i.startLoading(Y.HANDLE_CONTINUE),m.setLoadingMessage(N.value),!await O.value?.validateForms()){i.stopLoading(Y.HANDLE_CONTINUE),m.setLoadingMessage("");return}await g(),i.stopLoading(Y.HANDLE_CONTINUE),m.setLoadingMessage("")}catch(e){ne("Error in schedule installation continue",{context:ie.COMPONENT,source:"schedule-installation",additionalData:{error:e}})}finally{i.stopLoading(Y.HANDLE_CONTINUE),m.setLoadingMessage("")}},te=async()=>{const e=i.steps[i.prevStepIndex];if(!await et(e.name,{source:"schedule-installation.handleBack"}))return;const{$safeNavigate:l}=Xe();l({path:e.path})},{checkIsConfirmMoveToNextStepRequired:H,showConfirm:z,isPreviousStepDisabled:ae}=at({handleBack:te,handleContinue:Q}),W=()=>{H()?z("nextStep"):Q()},j=()=>{z()},G=e=>e.map(t=>{const{question:l}=t;return _(t,"meta.type",_(l,"type"))==="select"&&_(t,"meta.options",_(l,"meta.options"))[0]?.icon?{...t,question:{...l,type:"selectWithIcon"}}:t}),C=e=>i.availableSchedules?e.map(t=>{const{question:l}=t;return l.name==="installationDate"?{...t,question:U.updateInstallationDateQuestion(l,i.availableSchedules)}:l.name==="shopInstallationTime"?{...t,question:U.updateShopInstallationTimeQuestion(l,i.availableSchedules,$.value,!$.value&&ee.value?y.value.selectInstallationDateMessage:y.value.noAvailableInstallationTimesMessage)}:t}):e;return ye(async()=>{try{await h(Ye.SCHEDULE_INSTALLATION_INITIATED)}catch(e){ne("Error in schedule installation mount",{context:ie.COMPONENT,source:"schedule-installation",additionalData:{error:e}})}if(a.clientSettings?.isSchedulingSystemIntegrated&&!i.availableSchedules)try{await i.getAvailableSchedules({silent:!0,timeoutMs:Je})}catch(e){L&&m.showGenericErrorBanner(),ne("Failed to fetch installation availability",{context:ie.COMPONENT,source:"schedule-installation.availabilityFetch",additionalData:{error:e}})}finally{A.value=!0}else A.value=!0}),Ke(()=>{L=!1}),(e,t)=>{const l=_e,V=xe,b=Ce,E=Ve,me=Ee;return f(),re(me,{footer:"","error-title":s(m).errorModalTitleMessage||s(y).errorHandling.scheduleInstallation.title,"error-body":s(m).errorModalBodyMessage||s(y).errorHandling.scheduleInstallation.body,"error-confirm-label":s(y).errorHandling.modal.confirmLabel},{default:J(()=>[T(l,{title:s(B).message,"sub-title":s(B).description},null,8,["title","sub-title"]),d("div",kt,[T(b,{"page-form-questions":s(F),"allow-column-overflow":""},{colLeft:J(()=>[s(q)?(f(),S("div",wt,[t[0]||(t[0]=d("span",{class:"sr-only",role:"status"}," Loading available installation dates and times⦠",-1)),t[1]||(t[1]=d("div",{class:"skeleton-shimmer mb-2 h-5 w-44 rounded","aria-hidden":"true"},null,-1)),t[2]||(t[2]=d("div",{class:"skeleton-shimmer max-w-xl mb-5 h-3.5 w-3/4 rounded","aria-hidden":"true"},null,-1)),t[3]||(t[3]=d("div",{class:"skeleton-shimmer mb-8 h-14 w-full rounded-full md:w-1/2 lg:w-1/3","aria-hidden":"true"},null,-1)),t[4]||(t[4]=d("div",{class:"skeleton-shimmer mb-2 h-5 w-64 rounded","aria-hidden":"true"},null,-1)),t[5]||(t[5]=d("div",{class:"skeleton-shimmer mb-5 h-3.5 w-48 rounded","aria-hidden":"true"},null,-1)),d("div",Ot,[(f(),S(M,null,ue(13,Se=>d("div",{key:Se,class:"skeleton-shimmer h-12 w-40 shrink-0 rounded-full md:h-14 md:w-44"})),64))])])):(f(),re(V,{key:1,ref_key:"scheduleInstallationFormRef",ref:O,class:"text-left","form-prefill":s(X),"form-questions":s(F),"question-type-map":k},null,8,["form-prefill","form-questions"]))]),_:1},8,["page-form-questions"])]),T(E,{progress:"","back-disabled":s(ae),"back-tooltip":s(y).prevStepDisabledLabelInstallation,"custom-progress":s(p),"next-tooltip":s(y).nextStepDisabledLabelInstallation,"next-disabled":s(q),onBack:j,onNext:W},null,8,["back-disabled","back-tooltip","custom-progress","next-tooltip","next-disabled"])]),_:1},8,["error-title","error-body","error-confirm-label"])}}}),Ut=ce(Tt,[["__scopeId","data-v-b137e8f9"]]);export{Ut 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.