@vergelijkdirect/comparison-forms 2.0.0-rc.15 → 2.0.0-rc.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/vue/comparison-forms.d.ts +28 -28
  2. package/dist/vue/comparison-forms.js +31 -31
  3. package/dist/wc/comparison-forms.js +30 -30
  4. package/dist/wc-forms/{VdInput-BaZx7lM7.js → VdInput-ByupXLnL.js} +1 -1
  5. package/dist/wc-forms/{VdPopover-B_0EwmOm.js → VdPopover-BSX4-53B.js} +1 -1
  6. package/dist/wc-forms/{VdRadioGroup-BAy4077M.js → VdRadioGroup-DrZBkeSB.js} +1 -1
  7. package/dist/wc-forms/{VdSearchableSelect-BYsNA8so.js → VdSearchableSelect-WCZ_fmSu.js} +1 -1
  8. package/dist/wc-forms/{VdSelect-DS5ijaBw.js → VdSelect-CoIbpl6o.js} +1 -1
  9. package/dist/wc-forms/bike.js +1 -1
  10. package/dist/wc-forms/{birthdate.schema-B2IfhcT0.js → birthdate.schema-DmmaLv3m.js} +1 -1
  11. package/dist/wc-forms/business-car.js +1 -1
  12. package/dist/wc-forms/business-liability.js +1 -1
  13. package/dist/wc-forms/car.js +1 -1
  14. package/dist/wc-forms/caravan.js +1 -1
  15. package/dist/wc-forms/{company.schema-D_-KvPAl.js → company.schema-Ck__hYWi.js} +1 -1
  16. package/dist/wc-forms/{familyComposition.schema-BckaOvgV.js → familyComposition.schema-EunoL_tT.js} +1 -1
  17. package/dist/wc-forms/house.js +1 -1
  18. package/dist/wc-forms/{houseOwnedBuilding.model-RQzmveyS.js → houseOwnedBuilding.model-Pb7X63G3.js} +1 -1
  19. package/dist/wc-forms/legal.js +1 -1
  20. package/dist/wc-forms/liability.js +1 -1
  21. package/dist/wc-forms/loan.js +1 -1
  22. package/dist/wc-forms/moped.js +1 -1
  23. package/dist/wc-forms/motor.js +1 -1
  24. package/dist/wc-forms/package.js +1 -1
  25. package/dist/wc-forms/pet.js +1 -1
  26. package/dist/wc-forms/{rules-4erM_5MW.js → rules-I6gvAZk7.js} +1 -1
  27. package/dist/wc-forms/travel.js +1 -1
  28. package/dist/wc-forms/{useAddress-mxYJ2B9-.js → useAddress-CsbZuerN.js} +1 -1
  29. package/dist/wc-forms/{useLicensePlate-BK5GSqI6.js → useLicensePlate-3mDMfh1T.js} +1 -1
  30. package/dist/wc-forms/{useValidator-BXvfnDwv.js → useValidator-i4hsDLG4.js} +1 -1
  31. package/dist/wc-noitc/comparison-forms.js +1 -1
  32. package/dist/wc-noitc/comparison-forms.umd.cjs +35 -0
  33. package/package.json +6 -2
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdPopover_default}from"./VdPopover-B_0EwmOm.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-BK5GSqI6.js";var createCarFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema()}),CarForm_default=defineComponent({__name:`CarForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Autoverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Car,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createCarFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submit`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je auto op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-car-form`,defineCustomElement(CarForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdPopover_default}from"./VdPopover-BSX4-53B.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-3mDMfh1T.js";var createCarFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema()}),CarForm_default=defineComponent({__name:`CarForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Autoverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Car,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createCarFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submitted`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je auto op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-car-form`,defineCustomElement(CarForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{VdRadioGroup_default}from"./VdRadioGroup-BAy4077M.js";import{YES_NO_VALUES,YesNo}from"./yesNo-Dat_jmcx.js";import{currentYear}from"./date.util-Dn_Fq_ZZ.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf,requiredString}from"./rules-4erM_5MW.js";var caravanFormSchema=create$3({TypeOfCaravan:requiredString(VALIDATION_MESSAGES.caravan.typeOfCaravanRequired),NewOrOccasion:requiredOneOf(YES_NO_VALUES,VALIDATION_MESSAGES.caravan.newOrOccasionRequired),BuildYear:requiredString(VALIDATION_MESSAGES.caravan.buildYearRequired)}),typeOfCaravan_model_default=[{value:`CS`,title:`Stacaravan`},{value:`CT`,title:`Toercaravan`},{value:`CV`,title:`Vouwwagen`}],newOrOccasion_model_default=[{value:YesNo.Yes,label:`Nieuw`},{value:YesNo.No,label:`Occasion`}];function createBuildYearsModel(){let year=currentYear();return Array.from({length:126},(_,i)=>({title:String(year-i),value:String(year-i)}))}var CaravanForm_default=defineComponent({__name:`CaravanForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Caravanverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,buildYears=createBuildYearsModel(),{isSubmitting,handleSubmit,defineField}=useValidator(caravanFormSchema,{TypeOfCaravan:props.initialData?.TypeOfCaravan??null,NewOrOccasion:props.initialData?.NewOrOccasion??YesNo.Yes,BuildYear:props.initialData?.BuildYear??null}),[typeOfCaravan,typeOfCaravanAttrs,typeOfCaravanError]=defineField(`TypeOfCaravan`,{validateAt:`change`}),[newOrOccasion,newOrOccasionAttrs,newOrOccasionError]=defineField(`NewOrOccasion`),[buildYear,buildYearAttrs,buildYearError]=defineField(`BuildYear`,{validateAt:`change`});function onSubmit(){handleSubmit(validFormData=>{emit(`submit`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(typeOfCaravan),"onUpdate:modelValue":_cache[0]||=$event=>isRef(typeOfCaravan)?typeOfCaravan.value=$event:null,label:`Soort caravan`,options:unref(typeOfCaravan_model_default),name:`typeOfCaravan`,required:!1,"error-message":unref(typeOfCaravanError)},unref(typeOfCaravanAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(newOrOccasion),"onUpdate:modelValue":_cache[1]||=$event=>isRef(newOrOccasion)?newOrOccasion.value=$event:null,legend:`Gekocht als`,name:`newOrOccasion`,options:unref(newOrOccasion_model_default),variant:`boxed`,required:!1,"error-message":unref(newOrOccasionError)},unref(newOrOccasionAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(buildYear),"onUpdate:modelValue":_cache[2]||=$event=>isRef(buildYear)?buildYear.value=$event:null,label:`Bouwjaar`,options:unref(buildYears),name:`buildYear`,required:!1,"error-message":unref(buildYearError)},unref(buildYearAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-caravan-form`,defineCustomElement(CaravanForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{VdRadioGroup_default}from"./VdRadioGroup-DrZBkeSB.js";import{YES_NO_VALUES,YesNo}from"./yesNo-Dat_jmcx.js";import{currentYear}from"./date.util-Dn_Fq_ZZ.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf,requiredString}from"./rules-I6gvAZk7.js";var caravanFormSchema=create$3({TypeOfCaravan:requiredString(VALIDATION_MESSAGES.caravan.typeOfCaravanRequired),NewOrOccasion:requiredOneOf(YES_NO_VALUES,VALIDATION_MESSAGES.caravan.newOrOccasionRequired),BuildYear:requiredString(VALIDATION_MESSAGES.caravan.buildYearRequired)}),typeOfCaravan_model_default=[{value:`CS`,title:`Stacaravan`},{value:`CT`,title:`Toercaravan`},{value:`CV`,title:`Vouwwagen`}],newOrOccasion_model_default=[{value:YesNo.Yes,label:`Nieuw`},{value:YesNo.No,label:`Occasion`}];function createBuildYearsModel(){let year=currentYear();return Array.from({length:126},(_,i)=>({title:String(year-i),value:String(year-i)}))}var CaravanForm_default=defineComponent({__name:`CaravanForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Caravanverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,buildYears=createBuildYearsModel(),{isSubmitting,handleSubmit,defineField}=useValidator(caravanFormSchema,{TypeOfCaravan:props.initialData?.TypeOfCaravan??null,NewOrOccasion:props.initialData?.NewOrOccasion??YesNo.Yes,BuildYear:props.initialData?.BuildYear??null}),[typeOfCaravan,typeOfCaravanAttrs,typeOfCaravanError]=defineField(`TypeOfCaravan`,{validateAt:`change`}),[newOrOccasion,newOrOccasionAttrs,newOrOccasionError]=defineField(`NewOrOccasion`),[buildYear,buildYearAttrs,buildYearError]=defineField(`BuildYear`,{validateAt:`change`});function onSubmit(){handleSubmit(validFormData=>{emit(`submitted`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(typeOfCaravan),"onUpdate:modelValue":_cache[0]||=$event=>isRef(typeOfCaravan)?typeOfCaravan.value=$event:null,label:`Soort caravan`,options:unref(typeOfCaravan_model_default),name:`typeOfCaravan`,required:!1,"error-message":unref(typeOfCaravanError)},unref(typeOfCaravanAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(newOrOccasion),"onUpdate:modelValue":_cache[1]||=$event=>isRef(newOrOccasion)?newOrOccasion.value=$event:null,legend:`Gekocht als`,name:`newOrOccasion`,options:unref(newOrOccasion_model_default),variant:`boxed`,required:!1,"error-message":unref(newOrOccasionError)},unref(newOrOccasionAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(buildYear),"onUpdate:modelValue":_cache[2]||=$event=>isRef(buildYear)?buildYear.value=$event:null,label:`Bouwjaar`,options:unref(buildYears),name:`buildYear`,required:!1,"error-message":unref(buildYearError)},unref(buildYearAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-caravan-form`,defineCustomElement(CaravanForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{computed,create$8,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createSlots,createTextVNode,defineComponent,mergeModels,mergeProps,normalizeClass,openBlock,ref,refDebounced,renderSlot,toDisplayString,unref,useAttrs,useModel,useSlots,watch,withCtx}from"./useValidator-BXvfnDwv.js";import{VdSearchableSelect_default,useAsyncState}from"./VdSearchableSelect-BYsNA8so.js";import{getService}from"./services-D6FlwWWO.js";var _hoisted_1$1={class:`vd-notification__content`},_hoisted_2$1={key:0,class:`vd-notification__title`},VdNotification_default=defineComponent({__name:`VdNotification`,props:{type:{default:`warning`},title:{default:``},text:{default:``},small:{type:Boolean,default:!1},icon:{default:``}},setup(__props){let iconType={warning:`fas fa-exclamation-circle`,informative:`fas fa-info-circle`,success:`fas fa-check-circle`,error:`fas fa-times-circle`};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`vd-notification`,[`vd-notification--${__props.type}`,{"vd-notification--small":__props.small}]])},[createBaseVNode(`i`,{class:normalizeClass([__props.icon||iconType[__props.type],`vd-notification__icon`])},null,2),createBaseVNode(`p`,_hoisted_1$1,[__props.title?(openBlock(),createElementBlock(`span`,_hoisted_2$1,toDisplayString(__props.title),1)):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`default`,{},()=>[createTextVNode(toDisplayString(__props.text),1)])])],2))}}),isKvkNumber=term=>/^\d{8}$/.test(term),buildCompanySearchQuery=term=>isKvkNumber(term)?{companyName:``,kvkNumber:term}:{companyName:term,kvkNumber:``},VISITING_ADDRESS=`bezoekadres`,findVisitingAddress=raw=>raw._embedded?.hoofdvestiging?.adressen?.find(address=>address.type===VISITING_ADDRESS),toAddressFields=raw=>{let visitingAddress=findVisitingAddress(raw),{huisnummer:houseNumber=0,huisletter=``,huisnummerToevoeging=``,toevoegingAdres=``,plaats:city=``,postcode:zipCode=``,straatnaam:streetName=``,volledigAdres:fullAddress=``}=visitingAddress??{};return{houseNumber,houseNumberAddition:huisletter||huisnummerToevoeging||toevoegingAdres,city,zipCode,streetName,fullAddress,hasVisitingAddress:!!visitingAddress}},toActivityFields=(activities=[])=>{let[firstSBIs,secondSBIs,otherSBI]=activities.reduce(([first,second,codes],activity)=>{let mapped={isMainActivity:activity.indHoofdactiviteit,sbiCode:activity.sbiCode,description:activity.sbiOmschrijving};return(activity.indHoofdactiviteit===`Ja`?first:second).push(mapped),codes.push(mapped.sbiCode),[first,second,codes]},[[],[],[]]);return{mainSBI:firstSBIs[0]?.sbiCode??``,otherSBI,firstSBIs,secondSBIs}},toCompanySummary=raw=>({kvkNumber:raw.kvkNummer,name:raw.naam,city:raw.adres?.binnenlandsAdres?.plaats??``,street:raw.adres?.binnenlandsAdres?.straatnaam??``}),toCompanyData=raw=>({name:raw.naam,kvkNumber:raw.kvkNummer,industry:raw.sbiIndustryId,numberOfEmployees:raw.totaalWerkzamePersonen,legalForm:raw._embedded?.eigenaar?.rechtsvorm??``,...toAddressFields(raw),...toActivityFields(raw.sbiActiviteiten)}),RESULTS_PER_PAGE=30,SEARCHABLE_TYPES=[`hoofdvestiging`,`nevenvestiging`],NO_RESULTS_FAULT_CODE=`IPD5200`,extractFaults=error=>{let candidate=error,fromResponse=candidate?.response?.data?.fout;if(Array.isArray(fromResponse))return fromResponse;if(Array.isArray(candidate?.fout))return candidate.fout;if(typeof candidate?.message==`string`)try{let parsed=JSON.parse(candidate.message);if(Array.isArray(parsed?.fout))return parsed.fout}catch{}},isNoResultsError=error=>extractFaults(error)?.some(fault=>fault.code===NO_RESULTS_FAULT_CODE)??!1,useCompanySearch=()=>({search:async term=>{try{return((await getService().dataService.searchBusinessInfoV2(buildCompanySearchQuery(term),1,RESULTS_PER_PAGE))?.resultaten??[]).filter(result=>SEARCHABLE_TYPES.includes(result.type)).map(toCompanySummary)}catch(rejection){let error=await rejection;if(isNoResultsError(error))return[];throw error}},getDetails:async kvkNumber=>{let raw=await getService().dataService.getProfileInfo(kvkNumber);return{presenter:toCompanyData(raw),raw}}}),_hoisted_1={class:`vd-combobox__multiline`},_hoisted_2={class:`vd-combobox__title`},_hoisted_3={class:`vd-combobox__subtext`},_hoisted_4={class:`vd-combobox__subtext`},SEARCH_DEBOUNCE_MS=400,MIN_QUERY_LENGTH=3,NO_RESULTS_MESSAGE=`Helaas, we hebben geen resultaten gevonden. Probeer te zoeken op de exacte naam waarmee je bedrijf is geregistreerd bij de Kamer van Koophandel, of gebruik je volledige KvK-nummer.`,NO_OPTIONS_MESSAGE=`Typ je bedrijfsnaam of KvK-nummer`,SEARCHING_MESSAGE=`Aan het zoeken…`,NETWORK_ERROR_MESSAGE=`Er ging iets mis bij het ophalen van de gegevens. Probeer het later opnieuw.`,VdCompanySelect_default=defineComponent({inheritAttrs:!1,__name:`VdCompanySelect`,props:mergeModels({name:{default:`company`},label:{default:`Selecteer de naam van je bedrijf`},placeholder:{default:`Bedrijfsnaam of KvK-nummer`},disabled:{type:Boolean},errorMessage:{default:null}},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`blur`,`error`,`raw`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit=__emit,attrs=useAttrs(),slots=useSlots(),model=useModel(__props,`modelValue`),{search,getDetails}=useCompanySearch(),selectedCompany=ref(),isOpen=ref(),committedOption=ref(),query=ref(``),debouncedQuery=refDebounced(query,SEARCH_DEBOUNCE_MS,{maxWait:2e3}),echoingSelection=ref(!0),{state:outcome,isLoading:searching,execute:runSearch}=useAsyncState(async term=>{try{return{results:await search(term),failed:!1}}catch{return{results:[],failed:!0}}},{results:[],failed:!1},{immediate:!1,resetOnExecute:!1}),{isLoading:loadingDetails,execute:loadDetails}=useAsyncState(async kvkNumber=>{try{let{presenter,raw}=await getDetails(kvkNumber);return model.value=presenter,emit(`raw`,raw),emit(`error`,null),presenter}catch(error){throw model.value=null,emit(`raw`,null),committedOption.value=void 0,selectedCompany.value=void 0,emit(`error`,NETWORK_ERROR_MESSAGE),error}},null,{immediate:!1,resetOnExecute:!0}),hasActiveQuery=computed(()=>query.value.length>=MIN_QUERY_LENGTH),status=computed(()=>hasActiveQuery.value?searching.value||query.value!==debouncedQuery.value?`searching`:outcome.value.failed?`error`:outcome.value.results.length?`idle`:`no-results`:`idle`),visibleOptions=computed(()=>status.value===`searching`?[]:hasActiveQuery.value?outcome.value.results:echoingSelection.value&&committedOption.value?[committedOption.value]:[]),loading=computed(()=>status.value===`searching`||loadingDetails.value),isVerified=computed(()=>!!model.value&&!loading.value),infoMessage=computed(()=>{let company=model.value;return!company||loading.value?``:company.fullAddress?`Kvk: ${company.kvkNumber} ${company.fullAddress}`:`Kvk: ${company.kvkNumber}`}),noResultsText=computed(()=>{switch(status.value){case`searching`:return SEARCHING_MESSAGE;case`error`:return NETWORK_ERROR_MESSAGE;case`no-results`:return NO_RESULTS_MESSAGE;default:return NO_OPTIONS_MESSAGE}}),onSelect=company=>{committedOption.value=company,echoingSelection.value=!0,company.kvkNumber===model.value?.kvkNumber?emit(`error`,null):loadDetails(0,company.kvkNumber)},onBlur=event=>{emit(`blur`,event)},onSearch=term=>{query.value=term.trim(),echoingSelection.value=!1},displayCompanyName=company=>company.kvkNumber===model.value?.kvkNumber?model.value.name:company.name,toSummary=company=>({kvkNumber:company.kvkNumber,name:company.name,city:company.city,street:company.streetName,fullAddress:company.fullAddress});return watch(isOpen,open=>{open||(query.value=``,echoingSelection.value=!0)}),watch(debouncedQuery,term=>{term&&term.length>=MIN_QUERY_LENGTH&&runSearch(0,term)}),watch(model,company=>{selectedCompany.value=company?toSummary(company):void 0,echoingSelection.value=!0,company||(committedOption.value=void 0,emit(`raw`,null))},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(VdSearchableSelect_default,mergeProps(unref(attrs),{modelValue:selectedCompany.value,"onUpdate:modelValue":_cache[0]||=$event=>selectedCompany.value=$event,open:isOpen.value,"onUpdate:open":_cache[1]||=$event=>isOpen.value=$event,name:__props.name,label:__props.label,placeholder:__props.placeholder,icon:`far fa-search`,options:visibleOptions.value,"value-key":null,"label-key":`name`,"display-value":displayCompanyName,by:`kvkNumber`,loading:loading.value,verified:isVerified.value,disabled:__props.disabled,"no-results-text":noResultsText.value,"error-message":__props.errorMessage,"info-message":infoMessage.value,"ignore-filter":``,onSelect,onBlur,onSearch}),createSlots({item:withCtx(({option})=>[createBaseVNode(`div`,_hoisted_1,[createBaseVNode(`div`,_hoisted_2,toDisplayString(option.name),1),createBaseVNode(`span`,_hoisted_3,`Kvk: `+toDisplayString(option.kvkNumber),1),createBaseVNode(`span`,_hoisted_4,toDisplayString(option.city)+`, `+toDisplayString(option.street),1)])]),_:2},[unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`0`}:void 0,unref(slots).information?{name:`information`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`information`)]),key:`1`}:void 0]),1040,[`modelValue`,`open`,`name`,`label`,`placeholder`,`options`,`loading`,`verified`,`disabled`,`no-results-text`,`error-message`,`info-message`]))}}),companySchema=(message=`Bedrijfsnaam of KVK-nummer is verplicht`)=>create$8().nullable().required(message).test(`has-kvk-number`,message,company=>!!company?.kvkNumber);export{VdCompanySelect_default,VdNotification_default,companySchema};
1
+ import{computed,create$8,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createSlots,createTextVNode,defineComponent,mergeModels,mergeProps,normalizeClass,openBlock,ref,refDebounced,renderSlot,toDisplayString,unref,useAttrs,useModel,useSlots,watch,withCtx}from"./useValidator-i4hsDLG4.js";import{VdSearchableSelect_default,useAsyncState}from"./VdSearchableSelect-WCZ_fmSu.js";import{getService}from"./services-D6FlwWWO.js";var _hoisted_1$1={class:`vd-notification__content`},_hoisted_2$1={key:0,class:`vd-notification__title`},VdNotification_default=defineComponent({__name:`VdNotification`,props:{type:{default:`warning`},title:{default:``},text:{default:``},small:{type:Boolean,default:!1},icon:{default:``}},setup(__props){let iconType={warning:`fas fa-exclamation-circle`,informative:`fas fa-info-circle`,success:`fas fa-check-circle`,error:`fas fa-times-circle`};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`vd-notification`,[`vd-notification--${__props.type}`,{"vd-notification--small":__props.small}]])},[createBaseVNode(`i`,{class:normalizeClass([__props.icon||iconType[__props.type],`vd-notification__icon`])},null,2),createBaseVNode(`p`,_hoisted_1$1,[__props.title?(openBlock(),createElementBlock(`span`,_hoisted_2$1,toDisplayString(__props.title),1)):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`default`,{},()=>[createTextVNode(toDisplayString(__props.text),1)])])],2))}}),isKvkNumber=term=>/^\d{8}$/.test(term),buildCompanySearchQuery=term=>isKvkNumber(term)?{companyName:``,kvkNumber:term}:{companyName:term,kvkNumber:``},VISITING_ADDRESS=`bezoekadres`,findVisitingAddress=raw=>raw._embedded?.hoofdvestiging?.adressen?.find(address=>address.type===VISITING_ADDRESS),toAddressFields=raw=>{let visitingAddress=findVisitingAddress(raw),{huisnummer:houseNumber=0,huisletter=``,huisnummerToevoeging=``,toevoegingAdres=``,plaats:city=``,postcode:zipCode=``,straatnaam:streetName=``,volledigAdres:fullAddress=``}=visitingAddress??{};return{houseNumber,houseNumberAddition:huisletter||huisnummerToevoeging||toevoegingAdres,city,zipCode,streetName,fullAddress,hasVisitingAddress:!!visitingAddress}},toActivityFields=(activities=[])=>{let[firstSBIs,secondSBIs,otherSBI]=activities.reduce(([first,second,codes],activity)=>{let mapped={isMainActivity:activity.indHoofdactiviteit,sbiCode:activity.sbiCode,description:activity.sbiOmschrijving};return(activity.indHoofdactiviteit===`Ja`?first:second).push(mapped),codes.push(mapped.sbiCode),[first,second,codes]},[[],[],[]]);return{mainSBI:firstSBIs[0]?.sbiCode??``,otherSBI,firstSBIs,secondSBIs}},toCompanySummary=raw=>({kvkNumber:raw.kvkNummer,name:raw.naam,city:raw.adres?.binnenlandsAdres?.plaats??``,street:raw.adres?.binnenlandsAdres?.straatnaam??``}),toCompanyData=raw=>({name:raw.naam,kvkNumber:raw.kvkNummer,industry:raw.sbiIndustryId,numberOfEmployees:raw.totaalWerkzamePersonen,legalForm:raw._embedded?.eigenaar?.rechtsvorm??``,...toAddressFields(raw),...toActivityFields(raw.sbiActiviteiten)}),RESULTS_PER_PAGE=30,SEARCHABLE_TYPES=[`hoofdvestiging`,`nevenvestiging`],NO_RESULTS_FAULT_CODE=`IPD5200`,extractFaults=error=>{let candidate=error,fromResponse=candidate?.response?.data?.fout;if(Array.isArray(fromResponse))return fromResponse;if(Array.isArray(candidate?.fout))return candidate.fout;if(typeof candidate?.message==`string`)try{let parsed=JSON.parse(candidate.message);if(Array.isArray(parsed?.fout))return parsed.fout}catch{}},isNoResultsError=error=>extractFaults(error)?.some(fault=>fault.code===NO_RESULTS_FAULT_CODE)??!1,useCompanySearch=()=>({search:async term=>{try{return((await getService().dataService.searchBusinessInfoV2(buildCompanySearchQuery(term),1,RESULTS_PER_PAGE))?.resultaten??[]).filter(result=>SEARCHABLE_TYPES.includes(result.type)).map(toCompanySummary)}catch(rejection){let error=await rejection;if(isNoResultsError(error))return[];throw error}},getDetails:async kvkNumber=>{let raw=await getService().dataService.getProfileInfo(kvkNumber);return{presenter:toCompanyData(raw),raw}}}),_hoisted_1={class:`vd-combobox__multiline`},_hoisted_2={class:`vd-combobox__title`},_hoisted_3={class:`vd-combobox__subtext`},_hoisted_4={class:`vd-combobox__subtext`},SEARCH_DEBOUNCE_MS=400,MIN_QUERY_LENGTH=3,NO_RESULTS_MESSAGE=`Helaas, we hebben geen resultaten gevonden. Probeer te zoeken op de exacte naam waarmee je bedrijf is geregistreerd bij de Kamer van Koophandel, of gebruik je volledige KvK-nummer.`,NO_OPTIONS_MESSAGE=`Typ je bedrijfsnaam of KvK-nummer`,SEARCHING_MESSAGE=`Aan het zoeken…`,NETWORK_ERROR_MESSAGE=`Er ging iets mis bij het ophalen van de gegevens. Probeer het later opnieuw.`,VdCompanySelect_default=defineComponent({inheritAttrs:!1,__name:`VdCompanySelect`,props:mergeModels({name:{default:`company`},label:{default:`Selecteer de naam van je bedrijf`},placeholder:{default:`Bedrijfsnaam of KvK-nummer`},disabled:{type:Boolean},errorMessage:{default:null}},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`blur`,`error`,`raw`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit=__emit,attrs=useAttrs(),slots=useSlots(),model=useModel(__props,`modelValue`),{search,getDetails}=useCompanySearch(),selectedCompany=ref(),isOpen=ref(),committedOption=ref(),query=ref(``),debouncedQuery=refDebounced(query,SEARCH_DEBOUNCE_MS,{maxWait:2e3}),echoingSelection=ref(!0),{state:outcome,isLoading:searching,execute:runSearch}=useAsyncState(async term=>{try{return{results:await search(term),failed:!1}}catch{return{results:[],failed:!0}}},{results:[],failed:!1},{immediate:!1,resetOnExecute:!1}),{isLoading:loadingDetails,execute:loadDetails}=useAsyncState(async kvkNumber=>{try{let{presenter,raw}=await getDetails(kvkNumber);return model.value=presenter,emit(`raw`,raw),emit(`error`,null),presenter}catch(error){throw model.value=null,emit(`raw`,null),committedOption.value=void 0,selectedCompany.value=void 0,emit(`error`,NETWORK_ERROR_MESSAGE),error}},null,{immediate:!1,resetOnExecute:!0}),hasActiveQuery=computed(()=>query.value.length>=MIN_QUERY_LENGTH),status=computed(()=>hasActiveQuery.value?searching.value||query.value!==debouncedQuery.value?`searching`:outcome.value.failed?`error`:outcome.value.results.length?`idle`:`no-results`:`idle`),visibleOptions=computed(()=>status.value===`searching`?[]:hasActiveQuery.value?outcome.value.results:echoingSelection.value&&committedOption.value?[committedOption.value]:[]),loading=computed(()=>status.value===`searching`||loadingDetails.value),isVerified=computed(()=>!!model.value&&!loading.value),infoMessage=computed(()=>{let company=model.value;return!company||loading.value?``:company.fullAddress?`Kvk: ${company.kvkNumber} ${company.fullAddress}`:`Kvk: ${company.kvkNumber}`}),noResultsText=computed(()=>{switch(status.value){case`searching`:return SEARCHING_MESSAGE;case`error`:return NETWORK_ERROR_MESSAGE;case`no-results`:return NO_RESULTS_MESSAGE;default:return NO_OPTIONS_MESSAGE}}),onSelect=company=>{committedOption.value=company,echoingSelection.value=!0,company.kvkNumber===model.value?.kvkNumber?emit(`error`,null):loadDetails(0,company.kvkNumber)},onBlur=event=>{emit(`blur`,event)},onSearch=term=>{query.value=term.trim(),echoingSelection.value=!1},displayCompanyName=company=>company.kvkNumber===model.value?.kvkNumber?model.value.name:company.name,toSummary=company=>({kvkNumber:company.kvkNumber,name:company.name,city:company.city,street:company.streetName,fullAddress:company.fullAddress});return watch(isOpen,open=>{open||(query.value=``,echoingSelection.value=!0)}),watch(debouncedQuery,term=>{term&&term.length>=MIN_QUERY_LENGTH&&runSearch(0,term)}),watch(model,company=>{selectedCompany.value=company?toSummary(company):void 0,echoingSelection.value=!0,company||(committedOption.value=void 0,emit(`raw`,null))},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(VdSearchableSelect_default,mergeProps(unref(attrs),{modelValue:selectedCompany.value,"onUpdate:modelValue":_cache[0]||=$event=>selectedCompany.value=$event,open:isOpen.value,"onUpdate:open":_cache[1]||=$event=>isOpen.value=$event,name:__props.name,label:__props.label,placeholder:__props.placeholder,icon:`far fa-search`,options:visibleOptions.value,"value-key":null,"label-key":`name`,"display-value":displayCompanyName,by:`kvkNumber`,loading:loading.value,verified:isVerified.value,disabled:__props.disabled,"no-results-text":noResultsText.value,"error-message":__props.errorMessage,"info-message":infoMessage.value,"ignore-filter":``,onSelect,onBlur,onSearch}),createSlots({item:withCtx(({option})=>[createBaseVNode(`div`,_hoisted_1,[createBaseVNode(`div`,_hoisted_2,toDisplayString(option.name),1),createBaseVNode(`span`,_hoisted_3,`Kvk: `+toDisplayString(option.kvkNumber),1),createBaseVNode(`span`,_hoisted_4,toDisplayString(option.city)+`, `+toDisplayString(option.street),1)])]),_:2},[unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`0`}:void 0,unref(slots).information?{name:`information`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`information`)]),key:`1`}:void 0]),1040,[`modelValue`,`open`,`name`,`label`,`placeholder`,`options`,`loading`,`verified`,`disabled`,`no-results-text`,`error-message`,`info-message`]))}}),companySchema=(message=`Bedrijfsnaam of KVK-nummer is verplicht`)=>create$8().nullable().required(message).test(`has-kvk-number`,message,company=>!!company?.kvkNumber);export{VdCompanySelect_default,VdNotification_default,companySchema};
@@ -1 +1 @@
1
- import{createBlock,createSlots,defineComponent,mergeModels,mergeProps,openBlock,renderSlot,unref,useModel,useSlots,withCtx}from"./useValidator-BXvfnDwv.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-4erM_5MW.js";var FamilyComposition=function(FamilyComposition){return FamilyComposition.FamilyWithChildren=`I`,FamilyComposition.FamilyWithoutChildren=`H`,FamilyComposition.SingleWithoutChildren=`A`,FamilyComposition.SingleWithChildren=`K`,FamilyComposition}({}),VdFamilyCompositionSelect_default=defineComponent({inheritAttrs:!1,__name:`VdFamilyCompositionSelect`,props:mergeModels({label:{default:`Gezinssituatie`},name:{default:`familyComposition`},required:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(__props){let FamilyCompositions=[{value:FamilyComposition.SingleWithoutChildren,title:`Alleenstaand zonder kinderen`},{value:FamilyComposition.FamilyWithoutChildren,title:`Gezin zonder kinderen`},{value:FamilyComposition.SingleWithChildren,title:`Alleenstaand met kinderen`},{value:FamilyComposition.FamilyWithChildren,title:`Gezin met kinderen`}],slots=useSlots(),model=useModel(__props,`modelValue`);return(_ctx,_cache)=>(openBlock(),createBlock(VdSelect_default,mergeProps({modelValue:model.value,"onUpdate:modelValue":_cache[0]||=$event=>model.value=$event,label:__props.label,name:__props.name,required:__props.required,options:FamilyCompositions,placeholder:``},_ctx.$attrs),createSlots({_:2},[unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`0`}:void 0]),1040,[`modelValue`,`label`,`name`,`required`]))}}),FAMILY_COMPOSITION_VALUES=[FamilyComposition.SingleWithoutChildren,FamilyComposition.FamilyWithoutChildren,FamilyComposition.SingleWithChildren,FamilyComposition.FamilyWithChildren];function createFamilyCompositionSchema(requiredMessage=VALIDATION_MESSAGES.familyComposition.required){return requiredOneOf(FAMILY_COMPOSITION_VALUES,requiredMessage)}var familyCompositionSchema=createFamilyCompositionSchema();export{FamilyComposition,VdFamilyCompositionSelect_default,createFamilyCompositionSchema,familyCompositionSchema};
1
+ import{createBlock,createSlots,defineComponent,mergeModels,mergeProps,openBlock,renderSlot,unref,useModel,useSlots,withCtx}from"./useValidator-i4hsDLG4.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-I6gvAZk7.js";var FamilyComposition=function(FamilyComposition){return FamilyComposition.FamilyWithChildren=`I`,FamilyComposition.FamilyWithoutChildren=`H`,FamilyComposition.SingleWithoutChildren=`A`,FamilyComposition.SingleWithChildren=`K`,FamilyComposition}({}),VdFamilyCompositionSelect_default=defineComponent({inheritAttrs:!1,__name:`VdFamilyCompositionSelect`,props:mergeModels({label:{default:`Gezinssituatie`},name:{default:`familyComposition`},required:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(__props){let FamilyCompositions=[{value:FamilyComposition.SingleWithoutChildren,title:`Alleenstaand zonder kinderen`},{value:FamilyComposition.FamilyWithoutChildren,title:`Gezin zonder kinderen`},{value:FamilyComposition.SingleWithChildren,title:`Alleenstaand met kinderen`},{value:FamilyComposition.FamilyWithChildren,title:`Gezin met kinderen`}],slots=useSlots(),model=useModel(__props,`modelValue`);return(_ctx,_cache)=>(openBlock(),createBlock(VdSelect_default,mergeProps({modelValue:model.value,"onUpdate:modelValue":_cache[0]||=$event=>model.value=$event,label:__props.label,name:__props.name,required:__props.required,options:FamilyCompositions,placeholder:``},_ctx.$attrs),createSlots({_:2},[unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`0`}:void 0]),1040,[`modelValue`,`label`,`name`,`required`]))}}),FAMILY_COMPOSITION_VALUES=[FamilyComposition.SingleWithoutChildren,FamilyComposition.FamilyWithoutChildren,FamilyComposition.SingleWithChildren,FamilyComposition.FamilyWithChildren];function createFamilyCompositionSchema(requiredMessage=VALIDATION_MESSAGES.familyComposition.required){return requiredOneOf(FAMILY_COMPOSITION_VALUES,requiredMessage)}var familyCompositionSchema=createFamilyCompositionSchema();export{FamilyComposition,VdFamilyCompositionSelect_default,createFamilyCompositionSchema,familyCompositionSchema};
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdRadioGroup_default}from"./VdRadioGroup-BAy4077M.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{FamilyComposition,VdFamilyCompositionSelect_default,createFamilyCompositionSchema}from"./familyComposition.schema-BckaOvgV.js";import{YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{houseOwnedBuilding_model_default,ownedBuildingSchema}from"./houseOwnedBuilding.model-RQzmveyS.js";var createHouseFormSchema=addressSchema=>create$3({address:addressSchema,ownedBuilding:ownedBuildingSchema,familyComposition:createFamilyCompositionSchema(VALIDATION_MESSAGES.house.familyCompositionRequired)}),HouseForm_default=defineComponent({__name:`HouseForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Woonverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField}=useValidator(createHouseFormSchema(addressSchema),{ownedBuilding:props.initialData?.ownedBuilding??YesNo.Yes,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,address:addressDraft}),[ownedBuilding,ownedBuildingAttrs,ownedBuildingError]=defineField(`ownedBuilding`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(({ownedBuilding,familyComposition})=>{emit(`submit`,{ownedBuilding,familyComposition,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`3`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(ownedBuilding),"onUpdate:modelValue":_cache[1]||=$event=>isRef(ownedBuilding)?ownedBuilding.value=$event:null,legend:`Jouw woning is...`,name:`ownedBuilding`,options:unref(houseOwnedBuilding_model_default),variant:`boxed`,required:!1,"error-message":unref(ownedBuildingError)},unref(ownedBuildingAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`3`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-house-form`,defineCustomElement(HouseForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdRadioGroup_default}from"./VdRadioGroup-DrZBkeSB.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{FamilyComposition,VdFamilyCompositionSelect_default,createFamilyCompositionSchema}from"./familyComposition.schema-EunoL_tT.js";import{YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{houseOwnedBuilding_model_default,ownedBuildingSchema}from"./houseOwnedBuilding.model-Pb7X63G3.js";var createHouseFormSchema=addressSchema=>create$3({address:addressSchema,ownedBuilding:ownedBuildingSchema,familyComposition:createFamilyCompositionSchema(VALIDATION_MESSAGES.house.familyCompositionRequired)}),HouseForm_default=defineComponent({__name:`HouseForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Woonverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField}=useValidator(createHouseFormSchema(addressSchema),{ownedBuilding:props.initialData?.ownedBuilding??YesNo.Yes,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,address:addressDraft}),[ownedBuilding,ownedBuildingAttrs,ownedBuildingError]=defineField(`ownedBuilding`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(({ownedBuilding,familyComposition})=>{emit(`submitted`,{ownedBuilding,familyComposition,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`3`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(ownedBuilding),"onUpdate:modelValue":_cache[1]||=$event=>isRef(ownedBuilding)?ownedBuilding.value=$event:null,legend:`Jouw woning is...`,name:`ownedBuilding`,options:unref(houseOwnedBuilding_model_default),variant:`boxed`,required:!1,"error-message":unref(ownedBuildingError)},unref(ownedBuildingAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`3`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-house-form`,defineCustomElement(HouseForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import"./useValidator-BXvfnDwv.js";import{YES_NO_VALUES,YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-4erM_5MW.js";var ownedBuildingSchema=requiredOneOf(YES_NO_VALUES,VALIDATION_MESSAGES.ownedBuilding.required),houseOwnedBuilding_model_default=[{value:YesNo.Yes,label:`Gekocht`},{value:YesNo.No,label:`Verhuurd`}];export{houseOwnedBuilding_model_default,ownedBuildingSchema};
1
+ import"./useValidator-i4hsDLG4.js";import{YES_NO_VALUES,YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-I6gvAZk7.js";var ownedBuildingSchema=requiredOneOf(YES_NO_VALUES,VALIDATION_MESSAGES.ownedBuilding.required),houseOwnedBuilding_model_default=[{value:YesNo.Yes,label:`Gekocht`},{value:YesNo.No,label:`Verhuurd`}];export{houseOwnedBuilding_model_default,ownedBuildingSchema};
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,computed,create$3,create$6,createBlock,createCommentVNode,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,watch,withCtx}from"./useValidator-BXvfnDwv.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{VdRadioGroup_default}from"./VdRadioGroup-BAy4077M.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-BckaOvgV.js";import{YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{houseOwnedBuilding_model_default,ownedBuildingSchema}from"./houseOwnedBuilding.model-RQzmveyS.js";var FAMILY_SIZE_REQUIRED_COMPOSITION=FamilyComposition.SingleWithChildren,createLegalFormSchema=addressSchema=>create$3({address:addressSchema,ownedBuilding:ownedBuildingSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema,familySize:create$6().defined().when(`familyComposition`,{is:FAMILY_SIZE_REQUIRED_COMPOSITION,then:schema=>schema.required(VALIDATION_MESSAGES.legal.familySizeRequired)})}),familySize_model_default=[{title:`Alleenstaande met 1 kind`,value:`2`},{title:`Alleenstaande met 2 of meer kinderen`,value:`3`}],LegalForm_default=defineComponent({__name:`LegalForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Rechtsbijstandverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField,resetField}=useValidator(createLegalFormSchema(addressSchema),{ownedBuilding:props.initialData?.ownedBuilding??YesNo.Yes,birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,familySize:props.initialData?.familySize??``,address:addressDraft}),[ownedBuilding,ownedBuildingAttrs,ownedBuildingError]=defineField(`ownedBuilding`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`}),[familySize,familySizeAttrs,familySizeError]=defineField(`familySize`,{validateAt:`change`}),isFamilySizeVisible=computed(()=>familyComposition.value===FAMILY_SIZE_REQUIRED_COMPOSITION);watch(familyComposition,value=>{value!==FAMILY_SIZE_REQUIRED_COMPOSITION&&resetField(`familySize`,{value:``})},{immediate:!0});function onSubmit(){handleSubmit(({ownedBuilding,birthdate,familyComposition,familySize})=>{emit(`submit`,{ownedBuilding,birthdate,familyComposition,familySize,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(ownedBuilding),"onUpdate:modelValue":_cache[1]||=$event=>isRef(ownedBuilding)?ownedBuilding.value=$event:null,legend:`Jouw woning is...`,name:`ownedBuilding`,options:unref(houseOwnedBuilding_model_default),variant:`boxed`,required:!1,"error-message":unref(ownedBuildingError)},unref(ownedBuildingAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[2]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[3]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),isFamilySizeVisible.value?(openBlock(),createBlock(unref(VdFormCol_default),{key:0,span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(familySize),"onUpdate:modelValue":_cache[4]||=$event=>isRef(familySize)?familySize.value=$event:null,label:`Aantal kinderen`,placeholder:`Maak een keuze`,options:unref(familySize_model_default),name:`familySize`,required:!1,"error-message":unref(familySizeError)},unref(familySizeAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1})):createCommentVNode(``,!0)]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-legal-form`,defineCustomElement(LegalForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,computed,create$3,create$6,createBlock,createCommentVNode,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,watch,withCtx}from"./useValidator-i4hsDLG4.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{VdRadioGroup_default}from"./VdRadioGroup-DrZBkeSB.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-EunoL_tT.js";import{YesNo}from"./yesNo-Dat_jmcx.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{houseOwnedBuilding_model_default,ownedBuildingSchema}from"./houseOwnedBuilding.model-Pb7X63G3.js";var FAMILY_SIZE_REQUIRED_COMPOSITION=FamilyComposition.SingleWithChildren,createLegalFormSchema=addressSchema=>create$3({address:addressSchema,ownedBuilding:ownedBuildingSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema,familySize:create$6().defined().when(`familyComposition`,{is:FAMILY_SIZE_REQUIRED_COMPOSITION,then:schema=>schema.required(VALIDATION_MESSAGES.legal.familySizeRequired)})}),familySize_model_default=[{title:`Alleenstaande met 1 kind`,value:`2`},{title:`Alleenstaande met 2 of meer kinderen`,value:`3`}],LegalForm_default=defineComponent({__name:`LegalForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Rechtsbijstandverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField,resetField}=useValidator(createLegalFormSchema(addressSchema),{ownedBuilding:props.initialData?.ownedBuilding??YesNo.Yes,birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,familySize:props.initialData?.familySize??``,address:addressDraft}),[ownedBuilding,ownedBuildingAttrs,ownedBuildingError]=defineField(`ownedBuilding`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`}),[familySize,familySizeAttrs,familySizeError]=defineField(`familySize`,{validateAt:`change`}),isFamilySizeVisible=computed(()=>familyComposition.value===FAMILY_SIZE_REQUIRED_COMPOSITION);watch(familyComposition,value=>{value!==FAMILY_SIZE_REQUIRED_COMPOSITION&&resetField(`familySize`,{value:``})},{immediate:!0});function onSubmit(){handleSubmit(({ownedBuilding,birthdate,familyComposition,familySize})=>{emit(`submitted`,{ownedBuilding,birthdate,familyComposition,familySize,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(ownedBuilding),"onUpdate:modelValue":_cache[1]||=$event=>isRef(ownedBuilding)?ownedBuilding.value=$event:null,legend:`Jouw woning is...`,name:`ownedBuilding`,options:unref(houseOwnedBuilding_model_default),variant:`boxed`,required:!1,"error-message":unref(ownedBuildingError)},unref(ownedBuildingAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[2]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[3]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),isFamilySizeVisible.value?(openBlock(),createBlock(unref(VdFormCol_default),{key:0,span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(familySize),"onUpdate:modelValue":_cache[4]||=$event=>isRef(familySize)?familySize.value=$event:null,label:`Aantal kinderen`,placeholder:`Maak een keuze`,options:unref(familySize_model_default),name:`familySize`,required:!1,"error-message":unref(familySizeError)},unref(familySizeAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1})):createCommentVNode(``,!0)]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-legal-form`,defineCustomElement(LegalForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-BckaOvgV.js";var createLiabilityFormSchema=addressSchema=>create$3({address:addressSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema}),LiabilityForm_default=defineComponent({__name:`LiabilityForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Aansprakelijkheidsverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField}=useValidator(createLiabilityFormSchema(addressSchema),{birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,address:addressDraft}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(({birthdate,familyComposition})=>{emit(`submit`,{birthdate,familyComposition,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-liability-form`,defineCustomElement(LiabilityForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-EunoL_tT.js";var createLiabilityFormSchema=addressSchema=>create$3({address:addressSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema}),LiabilityForm_default=defineComponent({__name:`LiabilityForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Aansprakelijkheidsverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField}=useValidator(createLiabilityFormSchema(addressSchema),{birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,address:addressDraft}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(({birthdate,familyComposition})=>{emit(`submitted`,{birthdate,familyComposition,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-liability-form`,defineCustomElement(LiabilityForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,create$6,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdInput_default}from"./VdInput-BaZx7lM7.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-BckaOvgV.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredNumber}from"./rules-4erM_5MW.js";var AGE_RANGE={min:21,max:74},LOAN_AMOUNT_LIMITS={min:3500,max:75e3},loanFormSchema=create$3({LoanPurpose:create$6().required(VALIDATION_MESSAGES.loan.purposeRequired),LoanAmount:requiredNumber(VALIDATION_MESSAGES.loan.amountRequired).min(LOAN_AMOUNT_LIMITS.min,VALIDATION_MESSAGES.loan.amountMin(LOAN_AMOUNT_LIMITS.min)).max(LOAN_AMOUNT_LIMITS.max,VALIDATION_MESSAGES.loan.amountMax(LOAN_AMOUNT_LIMITS.max)),birthdate:createBirthdateSchema(AGE_RANGE),familyComposition:familyCompositionSchema}),loanPurposes_model_default=[{title:`Aankoop auto`,value:`02`},{title:`Aankoop boot`,value:`03`},{title:`Aankoop caravan/camper`,value:`04`},{title:`Aankoop inboedel`,value:`32`},{title:`Aankoop motor`,value:`05`},{title:`Aankoop recreatiewoning`,value:`11`},{title:`Oversluiten lopende leningen`,value:`09`},{title:`Verbouwing woning`,value:`06`},{title:`Energie besparende maatregelen`,value:`07`},{title:`Aflossen restschuld woning`,value:`12`},{title:`Extra financiële ruimte`,value:`33`},{title:`Anders`,value:`99`}],LoanForm_default=defineComponent({__name:`LoanForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Geld lenen`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(loanFormSchema,{LoanPurpose:props.initialData?.LoanPurpose??``,LoanAmount:props.initialData?.LoanAmount??null,birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren}),[loanPurpose,loanPurposeAttrs,loanPurposeError]=defineField(`LoanPurpose`,{validateAt:`change`}),[loanAmount,loanAmountAttrs,loanAmountError]=defineField(`LoanAmount`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(validFormData=>{emit(`submit`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(loanPurpose),"onUpdate:modelValue":_cache[0]||=$event=>isRef(loanPurpose)?loanPurpose.value=$event:null,label:`Leendoel`,placeholder:`Maak een keuze`,options:unref(loanPurposes_model_default),name:`LoanPurpose`,required:!1,"error-message":unref(loanPurposeError)},unref(loanPurposeAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdInput_default),mergeProps({modelValue:unref(loanAmount),"onUpdate:modelValue":_cache[1]||=$event=>isRef(loanAmount)?loanAmount.value=$event:null,modelModifiers:{number:!0},label:`Leenbedrag`,placeholder:`Van € 3.500,- tot € 75.000,-`,icon:`far fa-euro-sign`,name:`LoanAmount`,mask:`#####`,inputmode:`numeric`,required:!1,"error-message":unref(loanAmountError)},unref(loanAmountAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[2]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[3]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-loan-form`,defineCustomElement(LoanForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,create$6,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdInput_default}from"./VdInput-ByupXLnL.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-EunoL_tT.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredNumber}from"./rules-I6gvAZk7.js";var AGE_RANGE={min:21,max:74},LOAN_AMOUNT_LIMITS={min:3500,max:75e3},loanFormSchema=create$3({LoanPurpose:create$6().required(VALIDATION_MESSAGES.loan.purposeRequired),LoanAmount:requiredNumber(VALIDATION_MESSAGES.loan.amountRequired).min(LOAN_AMOUNT_LIMITS.min,VALIDATION_MESSAGES.loan.amountMin(LOAN_AMOUNT_LIMITS.min)).max(LOAN_AMOUNT_LIMITS.max,VALIDATION_MESSAGES.loan.amountMax(LOAN_AMOUNT_LIMITS.max)),birthdate:createBirthdateSchema(AGE_RANGE),familyComposition:familyCompositionSchema}),loanPurposes_model_default=[{title:`Aankoop auto`,value:`02`},{title:`Aankoop boot`,value:`03`},{title:`Aankoop caravan/camper`,value:`04`},{title:`Aankoop inboedel`,value:`32`},{title:`Aankoop motor`,value:`05`},{title:`Aankoop recreatiewoning`,value:`11`},{title:`Oversluiten lopende leningen`,value:`09`},{title:`Verbouwing woning`,value:`06`},{title:`Energie besparende maatregelen`,value:`07`},{title:`Aflossen restschuld woning`,value:`12`},{title:`Extra financiële ruimte`,value:`33`},{title:`Anders`,value:`99`}],LoanForm_default=defineComponent({__name:`LoanForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Geld lenen`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(loanFormSchema,{LoanPurpose:props.initialData?.LoanPurpose??``,LoanAmount:props.initialData?.LoanAmount??null,birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren}),[loanPurpose,loanPurposeAttrs,loanPurposeError]=defineField(`LoanPurpose`,{validateAt:`change`}),[loanAmount,loanAmountAttrs,loanAmountError]=defineField(`LoanAmount`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`});function onSubmit(){handleSubmit(validFormData=>{emit(`submitted`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(loanPurpose),"onUpdate:modelValue":_cache[0]||=$event=>isRef(loanPurpose)?loanPurpose.value=$event:null,label:`Leendoel`,placeholder:`Maak een keuze`,options:unref(loanPurposes_model_default),name:`LoanPurpose`,required:!1,"error-message":unref(loanPurposeError)},unref(loanPurposeAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdInput_default),mergeProps({modelValue:unref(loanAmount),"onUpdate:modelValue":_cache[1]||=$event=>isRef(loanAmount)?loanAmount.value=$event:null,modelModifiers:{number:!0},label:`Leenbedrag`,placeholder:`Van € 3.500,- tot € 75.000,-`,icon:`far fa-euro-sign`,name:`LoanAmount`,mask:`#####`,inputmode:`numeric`,required:!1,"error-message":unref(loanAmountError)},unref(loanAmountAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[2]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[3]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-loan-form`,defineCustomElement(LoanForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdPopover_default}from"./VdPopover-B_0EwmOm.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-BK5GSqI6.js";var AGE_RANGE={min:16,max:99},createMopedFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema(AGE_RANGE)}),MopedForm_default=defineComponent({__name:`MopedForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Brommerverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Moped,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createMopedFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submit`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je brommer op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-moped-form`,defineCustomElement(MopedForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdPopover_default}from"./VdPopover-BSX4-53B.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-3mDMfh1T.js";var AGE_RANGE={min:16,max:99},createMopedFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema(AGE_RANGE)}),MopedForm_default=defineComponent({__name:`MopedForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Brommerverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Moped,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createMopedFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submitted`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je brommer op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-moped-form`,defineCustomElement(MopedForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdPopover_default}from"./VdPopover-B_0EwmOm.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-BK5GSqI6.js";var createMotorFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema()}),MotorForm_default=defineComponent({__name:`MotorForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Motorverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Motor,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createMotorFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submit`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je motor op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-motor-form`,defineCustomElement(MotorForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdPopover_default}from"./VdPopover-BSX4-53B.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{ComparisonName,VdLicensePlate_default,useLicensePlate}from"./useLicensePlate-3mDMfh1T.js";var createMotorFormSchema=(licensePlateSchema,addressSchema)=>create$3({licensePlate:licensePlateSchema,address:addressSchema,birthdate:createBirthdateSchema()}),MotorForm_default=defineComponent({__name:`MotorForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Motorverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{vehicleData,licensePlateSchema}=useLicensePlate(ComparisonName.Motor,{initialData:props.initialData?.vehicle??void 0}),{isSubmitting,handleSubmit,defineField}=useValidator(createMotorFormSchema(licensePlateSchema,addressSchema),{licensePlate:props.initialData?.licensePlate??``,birthdate:props.initialData?.birthdate??``,address:addressDraft}),[licensePlate,licensePlateAttrs,licensePlateError,licensePlateMeta]=defineField(`licensePlate`),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(({licensePlate,birthdate})=>{emit(`submitted`,{licensePlate,birthdate,address:resolvedAddress.value,vehicle:vehicleData.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdLicensePlate_default),mergeProps({modelValue:unref(licensePlate),"onUpdate:modelValue":_cache[0]||=$event=>isRef(licensePlate)?licensePlate.value=$event:null,"vehicle-data":unref(vehicleData),"onUpdate:vehicleData":_cache[1]||=$event=>isRef(vehicleData)?vehicleData.value=$event:null,name:`licensePlate`,"error-message":unref(licensePlateError),loading:unref(licensePlateMeta).isValidating},unref(licensePlateAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kentekengegevens`,description:`Op basis van je kenteken halen we automatisch de technische gegevens van je motor op voor een exacte premieberekening.`}})]),_:1},16,[`modelValue`,`vehicle-data`,`error-message`,`loading`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[2]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`3`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum hoofdbestuurder`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-motor-form`,defineCustomElement(MotorForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,computed,create$3,create$6,createBlock,createCommentVNode,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,watch,withCtx}from"./useValidator-BXvfnDwv.js";import{VdAddress_default,useAddress}from"./useAddress-mxYJ2B9-.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-BckaOvgV.js";var PARTNER_FAMILY_COMPOSITIONS=[FamilyComposition.FamilyWithChildren,FamilyComposition.FamilyWithoutChildren];function hasPartner(familyComposition){return PARTNER_FAMILY_COMPOSITIONS.includes(familyComposition)}var createPackageFormSchema=addressSchema=>create$3({address:addressSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema,partnerBirthdate:create$6().defined().when(`familyComposition`,{is:hasPartner,then:()=>createBirthdateSchema()})}),PackageForm_default=defineComponent({__name:`PackageForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Combineer al je verzekeringen in 1 verzekeringspakket`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField,resetField}=useValidator(createPackageFormSchema(addressSchema),{birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,partnerBirthdate:props.initialData?.partnerBirthdate??``,address:addressDraft}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`}),[partnerBirthdate,partnerBirthdateAttrs,partnerBirthdateError]=defineField(`partnerBirthdate`),isPartnerVisible=computed(()=>hasPartner(familyComposition.value));watch(familyComposition,value=>{hasPartner(value)||resetField(`partnerBirthdate`,{value:``})},{immediate:!0});function onSubmit(){handleSubmit(({birthdate,familyComposition,partnerBirthdate})=>{emit(`submit`,{birthdate,familyComposition,partnerBirthdate,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:isPartnerVisible.value?2:3,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1},8,[`span`]),createVNode(unref(VdFormCol_default),{span:isPartnerVisible.value?2:3,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1},8,[`span`]),isPartnerVisible.value?(openBlock(),createBlock(unref(VdFormCol_default),{key:0,span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(partnerBirthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(partnerBirthdate)?partnerBirthdate.value=$event:null,label:`Geboortedatum partner`,name:`partnerBirthdate`,"error-message":unref(partnerBirthdateError)},unref(partnerBirthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})):createCommentVNode(``,!0)]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-package-form`,defineCustomElement(PackageForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,computed,create$3,create$6,createBlock,createCommentVNode,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,watch,withCtx}from"./useValidator-i4hsDLG4.js";import{VdAddress_default,useAddress}from"./useAddress-CsbZuerN.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{FamilyComposition,VdFamilyCompositionSelect_default,familyCompositionSchema}from"./familyComposition.schema-EunoL_tT.js";var PARTNER_FAMILY_COMPOSITIONS=[FamilyComposition.FamilyWithChildren,FamilyComposition.FamilyWithoutChildren];function hasPartner(familyComposition){return PARTNER_FAMILY_COMPOSITIONS.includes(familyComposition)}var createPackageFormSchema=addressSchema=>create$3({address:addressSchema,birthdate:createBirthdateSchema(),familyComposition:familyCompositionSchema,partnerBirthdate:create$6().defined().when(`familyComposition`,{is:hasPartner,then:()=>createBirthdateSchema()})}),PackageForm_default=defineComponent({__name:`PackageForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Combineer al je verzekeringen in 1 verzekeringspakket`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{addressSchema,draft:addressDraft,resolvedAddress,additionOptions}=useAddress({initial:props.initialData?.address}),{isSubmitting,handleSubmit,defineField,resetField}=useValidator(createPackageFormSchema(addressSchema),{birthdate:props.initialData?.birthdate??``,familyComposition:props.initialData?.familyComposition??FamilyComposition.SingleWithoutChildren,partnerBirthdate:props.initialData?.partnerBirthdate??``,address:addressDraft}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`),[familyComposition,familyCompositionAttrs,familyCompositionError]=defineField(`familyComposition`,{validateAt:`change`}),[partnerBirthdate,partnerBirthdateAttrs,partnerBirthdateError]=defineField(`partnerBirthdate`),isPartnerVisible=computed(()=>hasPartner(familyComposition.value));watch(familyComposition,value=>{hasPartner(value)||resetField(`partnerBirthdate`,{value:``})},{immediate:!0});function onSubmit(){handleSubmit(({birthdate,familyComposition,partnerBirthdate})=>{emit(`submitted`,{birthdate,familyComposition,partnerBirthdate,address:resolvedAddress.value})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdAddress_default),{"resolved-address":unref(resolvedAddress),"onUpdate:resolvedAddress":_cache[0]||=$event=>isRef(resolvedAddress)?resolvedAddress.value=$event:null,"addition-options":unref(additionOptions)},null,8,[`resolved-address`,`addition-options`])]),_:1}),createVNode(unref(VdFormCol_default),{span:isPartnerVisible.value?2:3,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,label:`Geboortedatum`,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1},8,[`span`]),createVNode(unref(VdFormCol_default),{span:isPartnerVisible.value?2:3,md:`6`},{default:withCtx(()=>[createVNode(unref(VdFamilyCompositionSelect_default),mergeProps({modelValue:unref(familyComposition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(familyComposition)?familyComposition.value=$event:null,"error-message":unref(familyCompositionError)},unref(familyCompositionAttrs)),null,16,[`modelValue`,`error-message`])]),_:1},8,[`span`]),isPartnerVisible.value?(openBlock(),createBlock(unref(VdFormCol_default),{key:0,span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(partnerBirthdate),"onUpdate:modelValue":_cache[3]||=$event=>isRef(partnerBirthdate)?partnerBirthdate.value=$event:null,label:`Geboortedatum partner`,name:`partnerBirthdate`,"error-message":unref(partnerBirthdateError)},unref(partnerBirthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})):createCommentVNode(``,!0)]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-package-form`,defineCustomElement(PackageForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,create$6,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdInput_default}from"./VdInput-BaZx7lM7.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{VdPopover_default}from"./VdPopover-B_0EwmOm.js";import{DATE_TYPE_DDMMYYYY,VdBirthdateInput_default,createBirthdateRangeTest,dateFormatTest}from"./birthdate.schema-B2IfhcT0.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";var AGE_RANGE={min:0,max:99},petFormSchema=create$3({kind:create$6().required(VALIDATION_MESSAGES.pet.kindRequired),age:create$6().required(VALIDATION_MESSAGES.birthdate.required).test(`date_format`,VALIDATION_MESSAGES.birthdate.dateFormat,dateFormatTest).test(createBirthdateRangeTest({min:{value:7,unit:`week`},max:{value:AGE_RANGE.max,unit:`year`}},{future:()=>VALIDATION_MESSAGES.birthdate.tooYoung(AGE_RANGE.min),tooYoung:({earliest,latest})=>VALIDATION_MESSAGES.pet.outOfRange(earliest.format(DATE_TYPE_DDMMYYYY),latest.format(DATE_TYPE_DDMMYYYY)),tooOld:()=>VALIDATION_MESSAGES.birthdate.tooOld(AGE_RANGE.max)},`birthdate_range`)),zipcode:create$6().required(VALIDATION_MESSAGES.pet.zipcodeRequired).matches(/^\d{4}\s?[a-zA-Z]{2}$/,VALIDATION_MESSAGES.pet.zipcodeInvalid)}),PetKindsModel=[{title:`Hond`,value:`dog`},{title:`Kat`,value:`cat`},{title:`Konijn`,value:`rabbit`},{title:`Vogel`,value:`bird`}],PetForm_default=defineComponent({__name:`PetForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Dierenverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(petFormSchema,{kind:props.initialData?.kind??`dog`,age:props.initialData?.age??``,zipcode:props.initialData?.zipcode??``}),[kind,kindAttrs,kindError]=defineField(`kind`,{validateAt:`change`}),[age,ageAttrs,ageError]=defineField(`age`),[zipcode,zipcodeAttrs,zipcodeError]=defineField(`zipcode`);function onSubmit(){handleSubmit(validFormData=>{emit(`submit`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(kind),"onUpdate:modelValue":_cache[0]||=$event=>isRef(kind)?kind.value=$event:null,label:`Wat voor huisdier wil je verzekeren?`,placeholder:``,options:unref(PetKindsModel),name:`kind`,required:!1,"error-message":unref(kindError)},unref(kindAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(age),"onUpdate:modelValue":_cache[1]||=$event=>isRef(age)?age.value=$event:null,label:`Geboortedatum huisdier`,"error-message":unref(ageError)},unref(ageAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Waarom de geboortedatum?`,description:`De leeftijd van je huisdier is cruciaal voor de premieberekening. Oudere dieren hebben vaak hogere premies vanwege verhoogde gezondheidsrisico's. Als je de exacte datum niet weet, gebruik dan een schatting.`}})]),_:1},16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdInput_default),mergeProps({modelValue:unref(zipcode),"onUpdate:modelValue":_cache[2]||=$event=>isRef(zipcode)?zipcode.value=$event:null,label:`Postcode`,placeholder:`bv. 1234 AZ`,name:`zipcode`,mask:`####@@`,capitalize:``,required:!1,"error-message":unref(zipcodeError)},unref(zipcodeAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Waarom je postcode?`,description:`Je postcode helpt ons om de juiste premie voor jouw huisdier te berekenen, omdat sommige verzekeraars hun tarieven op basis van je woonlocatie bepalen.`}})]),_:1},16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-pet-form`,defineCustomElement(PetForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,create$6,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdInput_default}from"./VdInput-ByupXLnL.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{VdPopover_default}from"./VdPopover-BSX4-53B.js";import{DATE_TYPE_DDMMYYYY,VdBirthdateInput_default,createBirthdateRangeTest,dateFormatTest}from"./birthdate.schema-DmmaLv3m.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";var AGE_RANGE={min:0,max:99},petFormSchema=create$3({kind:create$6().required(VALIDATION_MESSAGES.pet.kindRequired),age:create$6().required(VALIDATION_MESSAGES.birthdate.required).test(`date_format`,VALIDATION_MESSAGES.birthdate.dateFormat,dateFormatTest).test(createBirthdateRangeTest({min:{value:7,unit:`week`},max:{value:AGE_RANGE.max,unit:`year`}},{future:()=>VALIDATION_MESSAGES.birthdate.tooYoung(AGE_RANGE.min),tooYoung:({earliest,latest})=>VALIDATION_MESSAGES.pet.outOfRange(earliest.format(DATE_TYPE_DDMMYYYY),latest.format(DATE_TYPE_DDMMYYYY)),tooOld:()=>VALIDATION_MESSAGES.birthdate.tooOld(AGE_RANGE.max)},`birthdate_range`)),zipcode:create$6().required(VALIDATION_MESSAGES.pet.zipcodeRequired).matches(/^\d{4}\s?[a-zA-Z]{2}$/,VALIDATION_MESSAGES.pet.zipcodeInvalid)}),PetKindsModel=[{title:`Hond`,value:`dog`},{title:`Kat`,value:`cat`},{title:`Konijn`,value:`rabbit`},{title:`Vogel`,value:`bird`}],PetForm_default=defineComponent({__name:`PetForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Dierenverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(petFormSchema,{kind:props.initialData?.kind??`dog`,age:props.initialData?.age??``,zipcode:props.initialData?.zipcode??``}),[kind,kindAttrs,kindError]=defineField(`kind`,{validateAt:`change`}),[age,ageAttrs,ageError]=defineField(`age`),[zipcode,zipcodeAttrs,zipcodeError]=defineField(`zipcode`);function onSubmit(){handleSubmit(validFormData=>{emit(`submitted`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdSelect_default),mergeProps({modelValue:unref(kind),"onUpdate:modelValue":_cache[0]||=$event=>isRef(kind)?kind.value=$event:null,label:`Wat voor huisdier wil je verzekeren?`,placeholder:``,options:unref(PetKindsModel),name:`kind`,required:!1,"error-message":unref(kindError)},unref(kindAttrs)),null,16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`4`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(age),"onUpdate:modelValue":_cache[1]||=$event=>isRef(age)?age.value=$event:null,label:`Geboortedatum huisdier`,"error-message":unref(ageError)},unref(ageAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Waarom de geboortedatum?`,description:`De leeftijd van je huisdier is cruciaal voor de premieberekening. Oudere dieren hebben vaak hogere premies vanwege verhoogde gezondheidsrisico's. Als je de exacte datum niet weet, gebruik dan een schatting.`}})]),_:1},16,[`modelValue`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`2`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdInput_default),mergeProps({modelValue:unref(zipcode),"onUpdate:modelValue":_cache[2]||=$event=>isRef(zipcode)?zipcode.value=$event:null,label:`Postcode`,placeholder:`bv. 1234 AZ`,name:`zipcode`,mask:`####@@`,capitalize:``,required:!1,"error-message":unref(zipcodeError)},unref(zipcodeAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Waarom je postcode?`,description:`Je postcode helpt ons om de juiste premie voor jouw huisdier te berekenen, omdat sommige verzekeraars hun tarieven op basis van je woonlocatie bepalen.`}})]),_:1},16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-pet-form`,defineCustomElement(PetForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{create$5,create$6}from"./useValidator-BXvfnDwv.js";function requiredOneOf(values,message){return create$6().required(message).oneOf(values,message)}function requiredString(message){return create$6().required(message)}function requiredNumber(message){return create$5().typeError(message).required(message)}export{requiredNumber,requiredOneOf,requiredString};
1
+ import{create$5,create$6}from"./useValidator-i4hsDLG4.js";function requiredOneOf(values,message){return create$6().required(message).oneOf(values,message)}function requiredString(message){return create$6().required(message)}function requiredNumber(message){return create$5().typeError(message).required(message)}export{requiredNumber,requiredOneOf,requiredString};
@@ -1 +1 @@
1
- import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-BXvfnDwv.js";import{VdRadioGroup_default}from"./VdRadioGroup-BAy4077M.js";import{VdPopover_default}from"./VdPopover-B_0EwmOm.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-B2IfhcT0.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-4erM_5MW.js";var PaymentTerm=function(PaymentTerm){return PaymentTerm.Continuous=`L`,PaymentTerm.ShortTerm=`S`,PaymentTerm}({}),travelFormSchema=create$3({PaymentTerm:requiredOneOf([PaymentTerm.Continuous,PaymentTerm.ShortTerm],VALIDATION_MESSAGES.travel.paymentTermRequired),birthdate:createBirthdateSchema()}),paymentTerms_model_default=[{value:PaymentTerm.Continuous,label:`Doorlopend`},{value:PaymentTerm.ShortTerm,label:`Kortlopend`}],TravelForm_default=defineComponent({__name:`TravelForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Reisverzekering vergelijken`}),emits:[`submit`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(travelFormSchema,{PaymentTerm:props.initialData?.PaymentTerm??PaymentTerm.Continuous,birthdate:props.initialData?.birthdate??``}),[paymentTerm,paymentTermAttrs,paymentTermError]=defineField(`PaymentTerm`,{validateAt:`change`}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(validFormData=>{emit(`submit`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(paymentTerm),"onUpdate:modelValue":_cache[0]||=$event=>isRef(paymentTerm)?paymentTerm.value=$event:null,legend:`Kies je dekking`,name:`PaymentTerm`,options:unref(paymentTerms_model_default),variant:`boxed`,required:!1,"error-message":unref(paymentTermError)},unref(paymentTermAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kies je dekking`,description:`Doorlopend is al goedkoper wanneer je meer dan 1 keer op vakantie gaat. Ook weekendjes weg zijn meeverzekerd!`}})]),_:1},16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-travel-form`,defineCustomElement(TravelForm_default,{shadowRoot:!1}));
1
+ import{VdComparisonForm_default,VdFormCol_default,comparisonFormSharedDefaults,create$3,createBlock,createVNode,defineComponent,defineCustomElement,isRef,mergeDefaults,mergeProps,openBlock,unref,useComparisonFormProps,useValidator,withCtx}from"./useValidator-i4hsDLG4.js";import{VdRadioGroup_default}from"./VdRadioGroup-DrZBkeSB.js";import{VdPopover_default}from"./VdPopover-BSX4-53B.js";import{VdBirthdateInput_default,createBirthdateSchema}from"./birthdate.schema-DmmaLv3m.js";import{VALIDATION_MESSAGES}from"./messages-Da6go1uu.js";import{requiredOneOf}from"./rules-I6gvAZk7.js";var PaymentTerm=function(PaymentTerm){return PaymentTerm.Continuous=`L`,PaymentTerm.ShortTerm=`S`,PaymentTerm}({}),travelFormSchema=create$3({PaymentTerm:requiredOneOf([PaymentTerm.Continuous,PaymentTerm.ShortTerm],VALIDATION_MESSAGES.travel.paymentTermRequired),birthdate:createBirthdateSchema()}),paymentTerms_model_default=[{value:PaymentTerm.Continuous,label:`Doorlopend`},{value:PaymentTerm.ShortTerm,label:`Kortlopend`}],TravelForm_default=defineComponent({__name:`TravelForm`,props:mergeDefaults({initialData:{},title:{},description:{},banner:{},layout:{},card:{type:Boolean},flat:{type:Boolean},fullWidth:{type:Boolean},submitLabel:{},submitDisabled:{type:Boolean}},{...comparisonFormSharedDefaults,title:`Reisverzekering vergelijken`}),emits:[`submitted`],setup(__props,{emit:__emit}){let props=__props,baseFormProps=useComparisonFormProps(props),emit=__emit,{isSubmitting,handleSubmit,defineField}=useValidator(travelFormSchema,{PaymentTerm:props.initialData?.PaymentTerm??PaymentTerm.Continuous,birthdate:props.initialData?.birthdate??``}),[paymentTerm,paymentTermAttrs,paymentTermError]=defineField(`PaymentTerm`,{validateAt:`change`}),[birthdate,birthdateAttrs,birthdateError]=defineField(`birthdate`);function onSubmit(){handleSubmit(validFormData=>{emit(`submitted`,{...validFormData})})}return(_ctx,_cache)=>(openBlock(),createBlock(unref(VdComparisonForm_default),mergeProps(unref(baseFormProps),{"submit-disabled":__props.submitDisabled||unref(isSubmitting),onSubmit}),{default:withCtx(()=>[createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdRadioGroup_default),mergeProps({modelValue:unref(paymentTerm),"onUpdate:modelValue":_cache[0]||=$event=>isRef(paymentTerm)?paymentTerm.value=$event:null,legend:`Kies je dekking`,name:`PaymentTerm`,options:unref(paymentTerms_model_default),variant:`boxed`,required:!1,"error-message":unref(paymentTermError)},unref(paymentTermAttrs)),{popover:withCtx(()=>[createVNode(unref(VdPopover_default),{"ref-variant":`blue-icon`,"tooltip-variant":`blue`,"tooltip-size":`small`,content:{title:`Kies je dekking`,description:`Doorlopend is al goedkoper wanneer je meer dan 1 keer op vakantie gaat. Ook weekendjes weg zijn meeverzekerd!`}})]),_:1},16,[`modelValue`,`options`,`error-message`])]),_:1}),createVNode(unref(VdFormCol_default),{span:`5`,md:`6`},{default:withCtx(()=>[createVNode(unref(VdBirthdateInput_default),mergeProps({modelValue:unref(birthdate),"onUpdate:modelValue":_cache[1]||=$event=>isRef(birthdate)?birthdate.value=$event:null,"error-message":unref(birthdateError)},unref(birthdateAttrs)),null,16,[`modelValue`,`error-message`])]),_:1})]),_:1},16,[`submit-disabled`]))}});customElements.define(`vd-travel-form`,defineCustomElement(TravelForm_default,{shadowRoot:!1}));
@@ -1 +1 @@
1
- import{VdFormCol_default,VdFormRow_default,computed,create$3,create$6,createBaseVNode,createCommentVNode,createElementBlock,createTextVNode,createVNode,defineComponent,isRef,mergeModels,nextTick,normalizeClass,onMounted,openBlock,ref,renderSlot,toDisplayString,unref,useModel,useValidatorContext,watch,withCtx}from"./useValidator-BXvfnDwv.js";import{VdInput_default}from"./VdInput-BaZx7lM7.js";import{VdSelect_default}from"./VdSelect-DS5ijaBw.js";import{getService}from"./services-D6FlwWWO.js";var VdFormGroup_default=defineComponent({__name:`VdFormGroup`,props:{span:{default:null},md:{default:null}},setup(__props){let props=__props,classes=computed(()=>[`vd-form__group`,props.span==null?null:`vd-form__col-${props.span}`,props.md==null?null:`vd-form__col-md-${props.md}`]);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(classes.value)},[renderSlot(_ctx.$slots,`default`)],2))}}),_hoisted_1={class:`vd-field`},_hoisted_2={key:0,class:`vd-field__message vd-field__message--error`},_hoisted_3={key:1,class:`vd-field__message vd-field__message--information`},VdAddress_default=defineComponent({__name:`VdAddress`,props:mergeModels({path:{default:`address`},additionOptions:{}},{resolvedAddress:{required:!0},resolvedAddressModifiers:{}}),emits:[`update:resolvedAddress`],setup(__props){let props=__props,resolvedAddress=useModel(__props,`resolvedAddress`),{path}=props,{defineField,validateField,getFieldMeta,getError,removeError}=useValidatorContext(),[zipCode,,zipCodeError]=defineField(`${path}.zipCode`),[houseNumber,,houseNumberError]=defineField(`${path}.houseNumber`),[addition,,additionError]=defineField(`${path}.houseNumberAddition`),validateGroup=async()=>{await validateField(path),addition.value||removeError(`${path}.houseNumberAddition`)},onPairBlur=ownPath=>{zipCode.value&&houseNumber.value?validateGroup():validateField(ownPath)},onZipCodeBlur=()=>onPairBlur(`${path}.zipCode`),onHouseNumberBlur=()=>onPairBlur(`${path}.houseNumber`),onAdditionSelect=()=>nextTick(()=>validateField(path)),meta=getFieldMeta(path),groupError=computed(()=>getError(path)??``),isVerified=computed(()=>resolvedAddress.value!==null),additionPlaceholder=computed(()=>props.additionOptions.length===0?`-`:`Kies een toevoeging`);return watch([zipCode,houseNumber],()=>{addition.value&&=``,resolvedAddress.value=null,removeError(path),removeError(`${path}.houseNumberAddition`)}),watch(addition,()=>{resolvedAddress.value=null}),onMounted(()=>{zipCode.value&&houseNumber.value&&validateGroup()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createVNode(VdFormRow_default,null,{default:withCtx(()=>[createVNode(VdFormCol_default,{span:`5`,md:`3`},{default:withCtx(()=>[createVNode(VdInput_default,{modelValue:unref(zipCode),"onUpdate:modelValue":_cache[0]||=$event=>isRef(zipCode)?zipCode.value=$event:null,modelModifiers:{trim:!0},name:`zipCode`,label:`Postcode`,placeholder:`bv. 1234 AZ`,"error-message":unref(zipCodeError),mask:`####@@`,capitalize:``,autocomplete:``,required:!1,verified:isVerified.value,loading:unref(meta).isValidating,onBlur:onZipCodeBlur},null,8,[`modelValue`,`error-message`,`verified`,`loading`])]),_:1}),createVNode(VdFormGroup_default,{span:`7`,md:`3`},{default:withCtx(()=>[createVNode(VdInput_default,{modelValue:unref(houseNumber),"onUpdate:modelValue":_cache[1]||=$event=>isRef(houseNumber)?houseNumber.value=$event:null,modelModifiers:{trim:!0},name:`houseNumber`,label:`Huisnummer`,placeholder:`bv. 1`,inputmode:`numeric`,"error-message":unref(houseNumberError),autocomplete:``,required:!1,verified:isVerified.value,loading:unref(meta).isValidating,onBlur:onHouseNumberBlur},null,8,[`modelValue`,`error-message`,`verified`,`loading`]),createVNode(VdSelect_default,{modelValue:unref(addition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(addition)?addition.value=$event:null,name:`houseNumberAddition`,label:`Toevoeging`,placeholder:additionPlaceholder.value,options:__props.additionOptions,"error-message":unref(additionError),disabled:__props.additionOptions.length===0||unref(meta).isValidating,verified:isVerified.value,required:!1,onSelect:onAdditionSelect},null,8,[`modelValue`,`placeholder`,`options`,`error-message`,`disabled`,`verified`])]),_:1})]),_:1}),groupError.value?(openBlock(),createElementBlock(`div`,_hoisted_2,[_cache[3]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(groupError.value),1)])):resolvedAddress.value?(openBlock(),createElementBlock(`div`,_hoisted_3,[_cache[4]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(resolvedAddress.value.street)+`, `+toDisplayString(resolvedAddress.value.city),1)])):createCommentVNode(``,!0)]))}}),toAddressData=address=>({zipCode:address.ZipCode,houseNumber:String(address.HouseNumber),houseNumberAddition:address.HouseNumberAddition,city:address.Place,street:address.Street}),ZIP_CODE_REGEX=/^\d{4}\s?[a-zA-Z]{2}$/,HOUSE_NUMBER_REGEX=/^\d+$/,LOOKUP_MESSAGES={"needs-addition":`Een toevoeging is verplicht`,"not-found":`Postcode en huisnummer combinatie onbekend.`,error:`Adres ophalen is mislukt. Probeer het opnieuw.`};function normalizeZipCode(zipCode){return zipCode.replace(/\s/g,``).toUpperCase()}var NO_ADDITION=`NO_ADDITION`;function normalizeAddition(addition){return addition===NO_ADDITION?``:addition.replace(`-`,``)}var isTransportError=reason=>reason instanceof Error,asNotFound=reason=>{if(isTransportError(reason))throw reason;return null},fetchAddress=(zipCode,houseNumber,addition)=>getService().dataValidationService.validateZipCode(zipCode,houseNumber,addition).then(response=>response).catch(asNotFound),fetchAdditions=(zipCode,houseNumber)=>getService().homeService.getAddition({zipcode:zipCode,houseNumber}).then(result=>result??[]).catch(asNotFound),resolvePair=async(zipCode,houseNumber)=>{let[raw,additions]=await Promise.all([fetchAddress(zipCode,houseNumber),fetchAdditions(zipCode,houseNumber)]);return!raw&&!additions?.length?null:{validWithoutAddition:!!raw,template:raw,additions:additions??[]}},toAdditionOptions=verdict=>{let options=verdict.additions.map(addition=>({title:addition,value:normalizeAddition(addition)}));return verdict.validWithoutAddition&&options.length?[{title:`Geen toevoeging`,value:NO_ADDITION},...options]:options},createAddressDraft=initial=>({zipCode:initial?.zipCode??``,houseNumber:initial?.houseNumber??``,houseNumberAddition:initial?initial.houseNumberAddition||NO_ADDITION:``}),useAddress=options=>{let path=options?.path??`address`,draft=createAddressDraft(options?.initial),resolvedAddress=ref(null),additionOptions=ref([]),requestId=0,pairMemo=null,resolveDraft=async draft=>{let zip=normalizeZipCode(draft.zipCode),house=draft.houseNumber.trim(),addition=normalizeAddition(draft.houseNumberAddition),key=`${zip}:${house}`;try{let memo=pairMemo?.key===key?pairMemo:null;if(!memo){let verdict=await resolvePair(zip,house);if(!verdict)return{status:`not-found`,options:[],address:null};memo=pairMemo={key,verdict}}let options=toAdditionOptions(memo.verdict);if(memo.verdict.additions.length&&!draft.houseNumberAddition)return{status:`needs-addition`,options,address:null};if(!memo.verdict.template){let resolved=await fetchAddress(zip,house,addition);if(!resolved)return{status:`not-found`,options:[],address:null};memo.verdict.template=resolved}return{status:`resolved`,options,address:addition?{...memo.verdict.template,HouseNumberAddition:addition}:memo.verdict.template}}catch(error){return console.error(`Error on ITC address lookup`,error),{status:`error`,options:[],address:null}}},lookup=async draft=>{let id=++requestId,result=await resolveDraft(draft),stale=id!==requestId;return stale||(additionOptions.value=result.options,resolvedAddress.value=result.address?toAddressData(result.address):null),{...result,stale}};return{path,addressSchema:create$3({zipCode:create$6().required(`Vul je postcode in`).matches(ZIP_CODE_REGEX,`Postcode is incorrect`),houseNumber:create$6().required(`Huisnummer is verplicht`).matches(HOUSE_NUMBER_REGEX,`Huisnummer is incorrect`),houseNumberAddition:create$6().defined()}).test(`address-lookup`,async(value,context)=>{let zip=normalizeZipCode(value.zipCode??``),house=String(value.houseNumber??``).trim();if(!ZIP_CODE_REGEX.test(zip)||!HOUSE_NUMBER_REGEX.test(house))return!0;let{status,stale}=await lookup(value);return stale||status===`resolved`?!0:status===`needs-addition`?context.createError({path:`${context.path}.houseNumberAddition`,message:LOOKUP_MESSAGES[status]}):context.createError({message:LOOKUP_MESSAGES[status]})}),draft,resolvedAddress,additionOptions}};export{VdAddress_default,useAddress};
1
+ import{VdFormCol_default,VdFormRow_default,computed,create$3,create$6,createBaseVNode,createCommentVNode,createElementBlock,createTextVNode,createVNode,defineComponent,isRef,mergeModels,nextTick,normalizeClass,onMounted,openBlock,ref,renderSlot,toDisplayString,unref,useModel,useValidatorContext,watch,withCtx}from"./useValidator-i4hsDLG4.js";import{VdInput_default}from"./VdInput-ByupXLnL.js";import{VdSelect_default}from"./VdSelect-CoIbpl6o.js";import{getService}from"./services-D6FlwWWO.js";var VdFormGroup_default=defineComponent({__name:`VdFormGroup`,props:{span:{default:null},md:{default:null}},setup(__props){let props=__props,classes=computed(()=>[`vd-form__group`,props.span==null?null:`vd-form__col-${props.span}`,props.md==null?null:`vd-form__col-md-${props.md}`]);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(classes.value)},[renderSlot(_ctx.$slots,`default`)],2))}}),_hoisted_1={class:`vd-field`},_hoisted_2={key:0,class:`vd-field__message vd-field__message--error`},_hoisted_3={key:1,class:`vd-field__message vd-field__message--information`},VdAddress_default=defineComponent({__name:`VdAddress`,props:mergeModels({path:{default:`address`},additionOptions:{}},{resolvedAddress:{required:!0},resolvedAddressModifiers:{}}),emits:[`update:resolvedAddress`],setup(__props){let props=__props,resolvedAddress=useModel(__props,`resolvedAddress`),{path}=props,{defineField,validateField,getFieldMeta,getError,removeError}=useValidatorContext(),[zipCode,,zipCodeError]=defineField(`${path}.zipCode`),[houseNumber,,houseNumberError]=defineField(`${path}.houseNumber`),[addition,,additionError]=defineField(`${path}.houseNumberAddition`),validateGroup=async()=>{await validateField(path),addition.value||removeError(`${path}.houseNumberAddition`)},onPairBlur=ownPath=>{zipCode.value&&houseNumber.value?validateGroup():validateField(ownPath)},onZipCodeBlur=()=>onPairBlur(`${path}.zipCode`),onHouseNumberBlur=()=>onPairBlur(`${path}.houseNumber`),onAdditionSelect=()=>nextTick(()=>validateField(path)),meta=getFieldMeta(path),groupError=computed(()=>getError(path)??``),isVerified=computed(()=>resolvedAddress.value!==null),additionPlaceholder=computed(()=>props.additionOptions.length===0?`-`:`Kies een toevoeging`);return watch([zipCode,houseNumber],()=>{addition.value&&=``,resolvedAddress.value=null,removeError(path),removeError(`${path}.houseNumberAddition`)}),watch(addition,()=>{resolvedAddress.value=null}),onMounted(()=>{zipCode.value&&houseNumber.value&&validateGroup()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createVNode(VdFormRow_default,null,{default:withCtx(()=>[createVNode(VdFormCol_default,{span:`5`,md:`3`},{default:withCtx(()=>[createVNode(VdInput_default,{modelValue:unref(zipCode),"onUpdate:modelValue":_cache[0]||=$event=>isRef(zipCode)?zipCode.value=$event:null,modelModifiers:{trim:!0},name:`zipCode`,label:`Postcode`,placeholder:`bv. 1234 AZ`,"error-message":unref(zipCodeError),mask:`####@@`,capitalize:``,autocomplete:``,required:!1,verified:isVerified.value,loading:unref(meta).isValidating,onBlur:onZipCodeBlur},null,8,[`modelValue`,`error-message`,`verified`,`loading`])]),_:1}),createVNode(VdFormGroup_default,{span:`7`,md:`3`},{default:withCtx(()=>[createVNode(VdInput_default,{modelValue:unref(houseNumber),"onUpdate:modelValue":_cache[1]||=$event=>isRef(houseNumber)?houseNumber.value=$event:null,modelModifiers:{trim:!0},name:`houseNumber`,label:`Huisnummer`,placeholder:`bv. 1`,inputmode:`numeric`,"error-message":unref(houseNumberError),autocomplete:``,required:!1,verified:isVerified.value,loading:unref(meta).isValidating,onBlur:onHouseNumberBlur},null,8,[`modelValue`,`error-message`,`verified`,`loading`]),createVNode(VdSelect_default,{modelValue:unref(addition),"onUpdate:modelValue":_cache[2]||=$event=>isRef(addition)?addition.value=$event:null,name:`houseNumberAddition`,label:`Toevoeging`,placeholder:additionPlaceholder.value,options:__props.additionOptions,"error-message":unref(additionError),disabled:__props.additionOptions.length===0||unref(meta).isValidating,verified:isVerified.value,required:!1,onSelect:onAdditionSelect},null,8,[`modelValue`,`placeholder`,`options`,`error-message`,`disabled`,`verified`])]),_:1})]),_:1}),groupError.value?(openBlock(),createElementBlock(`div`,_hoisted_2,[_cache[3]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(groupError.value),1)])):resolvedAddress.value?(openBlock(),createElementBlock(`div`,_hoisted_3,[_cache[4]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(resolvedAddress.value.street)+`, `+toDisplayString(resolvedAddress.value.city),1)])):createCommentVNode(``,!0)]))}}),toAddressData=address=>({zipCode:address.ZipCode,houseNumber:String(address.HouseNumber),houseNumberAddition:address.HouseNumberAddition,city:address.Place,street:address.Street}),ZIP_CODE_REGEX=/^\d{4}\s?[a-zA-Z]{2}$/,HOUSE_NUMBER_REGEX=/^\d+$/,LOOKUP_MESSAGES={"needs-addition":`Een toevoeging is verplicht`,"not-found":`Postcode en huisnummer combinatie onbekend.`,error:`Adres ophalen is mislukt. Probeer het opnieuw.`};function normalizeZipCode(zipCode){return zipCode.replace(/\s/g,``).toUpperCase()}var NO_ADDITION=`NO_ADDITION`;function normalizeAddition(addition){return addition===NO_ADDITION?``:addition.replace(`-`,``)}var isTransportError=reason=>reason instanceof Error,asNotFound=reason=>{if(isTransportError(reason))throw reason;return null},fetchAddress=(zipCode,houseNumber,addition)=>getService().dataValidationService.validateZipCode(zipCode,houseNumber,addition).then(response=>response).catch(asNotFound),fetchAdditions=(zipCode,houseNumber)=>getService().homeService.getAddition({zipcode:zipCode,houseNumber}).then(result=>result??[]).catch(asNotFound),resolvePair=async(zipCode,houseNumber)=>{let[raw,additions]=await Promise.all([fetchAddress(zipCode,houseNumber),fetchAdditions(zipCode,houseNumber)]);return!raw&&!additions?.length?null:{validWithoutAddition:!!raw,template:raw,additions:additions??[]}},toAdditionOptions=verdict=>{let options=verdict.additions.map(addition=>({title:addition,value:normalizeAddition(addition)}));return verdict.validWithoutAddition&&options.length?[{title:`Geen toevoeging`,value:NO_ADDITION},...options]:options},createAddressDraft=initial=>({zipCode:initial?.zipCode??``,houseNumber:initial?.houseNumber??``,houseNumberAddition:initial?initial.houseNumberAddition||NO_ADDITION:``}),useAddress=options=>{let path=options?.path??`address`,draft=createAddressDraft(options?.initial),resolvedAddress=ref(null),additionOptions=ref([]),requestId=0,pairMemo=null,resolveDraft=async draft=>{let zip=normalizeZipCode(draft.zipCode),house=draft.houseNumber.trim(),addition=normalizeAddition(draft.houseNumberAddition),key=`${zip}:${house}`;try{let memo=pairMemo?.key===key?pairMemo:null;if(!memo){let verdict=await resolvePair(zip,house);if(!verdict)return{status:`not-found`,options:[],address:null};memo=pairMemo={key,verdict}}let options=toAdditionOptions(memo.verdict);if(memo.verdict.additions.length&&!draft.houseNumberAddition)return{status:`needs-addition`,options,address:null};if(!memo.verdict.template){let resolved=await fetchAddress(zip,house,addition);if(!resolved)return{status:`not-found`,options:[],address:null};memo.verdict.template=resolved}return{status:`resolved`,options,address:addition?{...memo.verdict.template,HouseNumberAddition:addition}:memo.verdict.template}}catch(error){return console.error(`Error on ITC address lookup`,error),{status:`error`,options:[],address:null}}},lookup=async draft=>{let id=++requestId,result=await resolveDraft(draft),stale=id!==requestId;return stale||(additionOptions.value=result.options,resolvedAddress.value=result.address?toAddressData(result.address):null),{...result,stale}};return{path,addressSchema:create$3({zipCode:create$6().required(`Vul je postcode in`).matches(ZIP_CODE_REGEX,`Postcode is incorrect`),houseNumber:create$6().required(`Huisnummer is verplicht`).matches(HOUSE_NUMBER_REGEX,`Huisnummer is incorrect`),houseNumberAddition:create$6().defined()}).test(`address-lookup`,async(value,context)=>{let zip=normalizeZipCode(value.zipCode??``),house=String(value.houseNumber??``).trim();if(!ZIP_CODE_REGEX.test(zip)||!HOUSE_NUMBER_REGEX.test(house))return!0;let{status,stale}=await lookup(value);return stale||status===`resolved`?!0:status===`needs-addition`?context.createError({path:`${context.path}.houseNumberAddition`,message:LOOKUP_MESSAGES[status]}):context.createError({message:LOOKUP_MESSAGES[status]})}),draft,resolvedAddress,additionOptions}};export{VdAddress_default,useAddress};
@@ -1 +1 @@
1
- import{Fragment,computed,create$6,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createSlots,createTextVNode,defineComponent,mergeModels,mergeProps,openBlock,ref,renderSlot,toDisplayString,unref,useAttrs,useModel,useSlots,watch,withCtx}from"./useValidator-BXvfnDwv.js";import{VdInput_default}from"./VdInput-BaZx7lM7.js";import{getService}from"./services-D6FlwWWO.js";var ComparisonName=function(ComparisonName){return ComparisonName.Bike=`bike`,ComparisonName.Car=`car`,ComparisonName.Caravan=`caravan`,ComparisonName.CarBusiness=`car-business`,ComparisonName.BusinessLiability=`business-liability`,ComparisonName.Housing=`housing`,ComparisonName.LegalAssistance=`legal-assistance`,ComparisonName.Liability=`liability`,ComparisonName.Loan=`loan`,ComparisonName.Moped=`moped`,ComparisonName.Motor=`motor`,ComparisonName.Package=`package`,ComparisonName.Pet=`pet`,ComparisonName.Travel=`travel`,ComparisonName}({}),VehicleTypesModel={[ComparisonName.Car]:{apiTypes:[`Car`,`Van`],dutch:`auto`,icon:`fa-car`},[ComparisonName.Motor]:{apiTypes:[`Motor`,`MP3Motor`],dutch:`motor`,icon:`fa-motorcycle`},[ComparisonName.Moped]:{apiTypes:[`Moped`],dutch:`brommer`,icon:`moped-solid`},[ComparisonName.Caravan]:{apiTypes:[`Caravan`],dutch:`caravan`,icon:`fa-caravan-alt`}},IconsByVehicleTypeModel=Object.fromEntries(Object.values(VehicleTypesModel).flatMap(({apiTypes,icon})=>apiTypes.map(apiType=>[apiType.toLowerCase(),icon]))),IconsByVehicleModel={brommobiel:`fa-car-side`,"speed pedelec":`fa-bicycle`},hasVehicleSpecs=vehicle=>!!vehicle?.Brand&&!!vehicle.Model&&!!vehicle.ManufacturingYear,getVehicleIcon=vehicle=>{if(!vehicle)return``;let model=String(vehicle.Model??``).toLowerCase().trim(),type=String(vehicle.VehicleType??``).toLowerCase();return IconsByVehicleModel[model]??IconsByVehicleTypeModel[type]??``},getVehicleLabel=vehicle=>vehicle?`${vehicle.Brand} ${vehicle.Model} (${vehicle.ManufacturingYear})`:``,LICENSE_PLATE_MASKS=[`@@-##-@@`,`##-##-@@`,`##-@@-@@`,`@@-@@-##`,`##-@@-##`,`@@-##-##`,`##-@@@-#`,`@@-###-@`,`@-###-@@`,`#-@@@-##`,`@@@-##-@`,`@-##-@@@`,`#-@@-###`,`###-@@-#`];function normalizeLicensePlate(licensePlate){return licensePlate.replace(/[\s\\-]/g,``)}var RAW_MASK=`*`.repeat(6),SIDECODE_TOKENS=LICENSE_PLATE_MASKS.map(mask=>mask.replace(/-/g,``));function licensePlateMask(input){let raw=normalizeLicensePlate(input).slice(0,6);if(raw.length<6)return RAW_MASK;let pattern=[...raw].map(char=>/[0-9]/.test(char)?`#`:`@`).join(``),sidecodeIndex=SIDECODE_TOKENS.indexOf(pattern);return sidecodeIndex===-1?RAW_MASK:LICENSE_PLATE_MASKS[sidecodeIndex]}var _hoisted_1={key:0,class:`vd-input-license-plate__loading-information`},_hoisted_2=[`src`],VdLicensePlate_default=defineComponent({inheritAttrs:!1,__name:`VdLicensePlate`,props:mergeModels({name:{},label:{default:`Kenteken`},errorMessage:{default:null},loading:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{},vehicleData:{default:null},vehicleDataModifiers:{}}),emits:mergeModels([`input`],[`update:modelValue`,`update:vehicleData`]),setup(__props,{emit:__emit}){let maskOptions={mask:licensePlateMask},props=__props,model=useModel(__props,`modelValue`),vehicleModel=useModel(__props,`vehicleData`),emit=__emit,attrs=useAttrs(),slots=useSlots(),plateModel=computed({get:()=>model.value??``,set:value=>{model.value=value,emit(`input`,value)}}),platesMatch=(a,b)=>normalizeLicensePlate(a).toUpperCase()===normalizeLicensePlate(b).toUpperCase();watch(model,plate=>{vehicleModel.value&&!platesMatch(plate,vehicleModel.value.LicensePlate)&&(vehicleModel.value=null)});let vehicle=computed(()=>hasVehicleSpecs(vehicleModel.value)?vehicleModel.value:null),showInformation=computed(()=>props.loading||!!vehicle.value&&!props.errorMessage),vehicleIcon=computed(()=>getVehicleIcon(vehicle.value)),vehicleLabel=computed(()=>getVehicleLabel(vehicle.value));return(_ctx,_cache)=>(openBlock(),createBlock(VdInput_default,mergeProps(unref(attrs),{modelValue:plateModel.value,"onUpdate:modelValue":_cache[0]||=$event=>plateModel.value=$event,capitalize:``,autocomplete:``,name:__props.name,label:__props.label,required:__props.required,"error-message":__props.errorMessage||null,loading:__props.loading,mask:maskOptions,class:`vd-input-license-plate`}),createSlots({_:2},[unref(slots).label?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`label`)]),key:`0`}:void 0,unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`1`}:void 0,showInformation.value?{name:`information`,fn:withCtx(()=>[__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_1,[..._cache[1]||=[createBaseVNode(`i`,{class:`fas fa-circle-notch vd-input-license-plate__loading-icon`},null,-1),createTextVNode(` Voertuig gegevens ophalen... `,-1)]])):vehicle.value?(openBlock(),createElementBlock(Fragment,{key:1},[vehicleIcon.value?(openBlock(),createElementBlock(`img`,{key:0,src:`https://d12bmfj3oyxu0t.cloudfront.net/vergelijkdirect/icons/${vehicleIcon.value}.svg`,class:`vd-field__svg-message-icon`,alt:`vehicle-icon`},null,8,_hoisted_2)):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(vehicleLabel.value),1)],64)):createCommentVNode(``,!0)]),key:`2`}:void 0]),1040,[`modelValue`,`name`,`label`,`required`,`error-message`,`loading`]))}}),lookupCache=new Map,cacheKey=(plate,vehicleType)=>`${vehicleType}:${plate}`,MESSAGES={"wrong-type":type=>`Het ingevoerde kenteken is geen ${VehicleTypesModel[type].dutch}`,unknown:()=>`Voertuig onbekend - Voer ander kenteken in of neem contact op`,"not-found":()=>`Kenteken onbekend`,error:()=>`Kenteken is incorrect`},resolveVehicle=async(licensePlate,vehicleType)=>{try{let response=await getService().dataService.findVehicle(licensePlate,vehicleType);if(Array.isArray(response)||!response||!Object.keys(response).length)return{status:`not-found`};let raw=response;return raw.VehicleType?VehicleTypesModel[vehicleType].apiTypes.includes(raw.VehicleType)?{status:`found`,data:raw}:{status:`wrong-type`}:{status:`unknown`}}catch(error){return console.error(`Error on ITC findVehicle`,error),{status:`error`}}},resolveCached=(plate,vehicleType)=>{let key=cacheKey(plate,vehicleType),promise=lookupCache.get(key);return promise||(promise=resolveVehicle(plate,vehicleType),lookupCache.set(key,promise),promise.then(({status})=>{status===`error`&&lookupCache.delete(key)},()=>lookupCache.delete(key))),promise},useLicensePlate=(vehicleType,options={})=>{let vehicleData=ref(options.initialData??null),requestId=0;options.initialData?.LicensePlate&&lookupCache.set(cacheKey(normalizeLicensePlate(options.initialData.LicensePlate),vehicleType),Promise.resolve({status:`found`,data:options.initialData}));let lookup=async licensePlate=>{let plate=normalizeLicensePlate(licensePlate),id=++requestId,result=await resolveCached(plate,vehicleType);return id===requestId&&(vehicleData.value=result.status===`found`?result.data:null),result};return{vehicleData,licensePlateSchema:create$6().required(`Dit veld is verplicht`).test(`license-plate-lookup`,async(value,context)=>{if(!value)return!0;let plate=normalizeLicensePlate(value);if(plate.length<6)return context.createError({message:`Kenteken is incorrect`});let{status}=await lookup(plate);return status===`found`||context.createError({message:MESSAGES[status](vehicleType)})})}};export{ComparisonName,VdLicensePlate_default,useLicensePlate};
1
+ import{Fragment,computed,create$6,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createSlots,createTextVNode,defineComponent,mergeModels,mergeProps,openBlock,ref,renderSlot,toDisplayString,unref,useAttrs,useModel,useSlots,watch,withCtx}from"./useValidator-i4hsDLG4.js";import{VdInput_default}from"./VdInput-ByupXLnL.js";import{getService}from"./services-D6FlwWWO.js";var ComparisonName=function(ComparisonName){return ComparisonName.Bike=`bike`,ComparisonName.Car=`car`,ComparisonName.Caravan=`caravan`,ComparisonName.CarBusiness=`car-business`,ComparisonName.BusinessLiability=`business-liability`,ComparisonName.Housing=`housing`,ComparisonName.LegalAssistance=`legal-assistance`,ComparisonName.Liability=`liability`,ComparisonName.Loan=`loan`,ComparisonName.Moped=`moped`,ComparisonName.Motor=`motor`,ComparisonName.Package=`package`,ComparisonName.Pet=`pet`,ComparisonName.Travel=`travel`,ComparisonName}({}),VehicleTypesModel={[ComparisonName.Car]:{apiTypes:[`Car`,`Van`],dutch:`auto`,icon:`fa-car`},[ComparisonName.Motor]:{apiTypes:[`Motor`,`MP3Motor`],dutch:`motor`,icon:`fa-motorcycle`},[ComparisonName.Moped]:{apiTypes:[`Moped`],dutch:`brommer`,icon:`moped-solid`},[ComparisonName.Caravan]:{apiTypes:[`Caravan`],dutch:`caravan`,icon:`fa-caravan-alt`}},IconsByVehicleTypeModel=Object.fromEntries(Object.values(VehicleTypesModel).flatMap(({apiTypes,icon})=>apiTypes.map(apiType=>[apiType.toLowerCase(),icon]))),IconsByVehicleModel={brommobiel:`fa-car-side`,"speed pedelec":`fa-bicycle`},hasVehicleSpecs=vehicle=>!!vehicle?.Brand&&!!vehicle.Model&&!!vehicle.ManufacturingYear,getVehicleIcon=vehicle=>{if(!vehicle)return``;let model=String(vehicle.Model??``).toLowerCase().trim(),type=String(vehicle.VehicleType??``).toLowerCase();return IconsByVehicleModel[model]??IconsByVehicleTypeModel[type]??``},getVehicleLabel=vehicle=>vehicle?`${vehicle.Brand} ${vehicle.Model} (${vehicle.ManufacturingYear})`:``,LICENSE_PLATE_MASKS=[`@@-##-@@`,`##-##-@@`,`##-@@-@@`,`@@-@@-##`,`##-@@-##`,`@@-##-##`,`##-@@@-#`,`@@-###-@`,`@-###-@@`,`#-@@@-##`,`@@@-##-@`,`@-##-@@@`,`#-@@-###`,`###-@@-#`];function normalizeLicensePlate(licensePlate){return licensePlate.replace(/[\s\\-]/g,``)}var RAW_MASK=`*`.repeat(6),SIDECODE_TOKENS=LICENSE_PLATE_MASKS.map(mask=>mask.replace(/-/g,``));function licensePlateMask(input){let raw=normalizeLicensePlate(input).slice(0,6);if(raw.length<6)return RAW_MASK;let pattern=[...raw].map(char=>/[0-9]/.test(char)?`#`:`@`).join(``),sidecodeIndex=SIDECODE_TOKENS.indexOf(pattern);return sidecodeIndex===-1?RAW_MASK:LICENSE_PLATE_MASKS[sidecodeIndex]}var _hoisted_1={key:0,class:`vd-input-license-plate__loading-information`},_hoisted_2=[`src`],VdLicensePlate_default=defineComponent({inheritAttrs:!1,__name:`VdLicensePlate`,props:mergeModels({name:{},label:{default:`Kenteken`},errorMessage:{default:null},loading:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{},vehicleData:{default:null},vehicleDataModifiers:{}}),emits:mergeModels([`input`],[`update:modelValue`,`update:vehicleData`]),setup(__props,{emit:__emit}){let maskOptions={mask:licensePlateMask},props=__props,model=useModel(__props,`modelValue`),vehicleModel=useModel(__props,`vehicleData`),emit=__emit,attrs=useAttrs(),slots=useSlots(),plateModel=computed({get:()=>model.value??``,set:value=>{model.value=value,emit(`input`,value)}}),platesMatch=(a,b)=>normalizeLicensePlate(a).toUpperCase()===normalizeLicensePlate(b).toUpperCase();watch(model,plate=>{vehicleModel.value&&!platesMatch(plate,vehicleModel.value.LicensePlate)&&(vehicleModel.value=null)});let vehicle=computed(()=>hasVehicleSpecs(vehicleModel.value)?vehicleModel.value:null),showInformation=computed(()=>props.loading||!!vehicle.value&&!props.errorMessage),vehicleIcon=computed(()=>getVehicleIcon(vehicle.value)),vehicleLabel=computed(()=>getVehicleLabel(vehicle.value));return(_ctx,_cache)=>(openBlock(),createBlock(VdInput_default,mergeProps(unref(attrs),{modelValue:plateModel.value,"onUpdate:modelValue":_cache[0]||=$event=>plateModel.value=$event,capitalize:``,autocomplete:``,name:__props.name,label:__props.label,required:__props.required,"error-message":__props.errorMessage||null,loading:__props.loading,mask:maskOptions,class:`vd-input-license-plate`}),createSlots({_:2},[unref(slots).label?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`label`)]),key:`0`}:void 0,unref(slots).popover?{name:`popover`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`popover`)]),key:`1`}:void 0,showInformation.value?{name:`information`,fn:withCtx(()=>[__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_1,[..._cache[1]||=[createBaseVNode(`i`,{class:`fas fa-circle-notch vd-input-license-plate__loading-icon`},null,-1),createTextVNode(` Voertuig gegevens ophalen... `,-1)]])):vehicle.value?(openBlock(),createElementBlock(Fragment,{key:1},[vehicleIcon.value?(openBlock(),createElementBlock(`img`,{key:0,src:`https://d12bmfj3oyxu0t.cloudfront.net/vergelijkdirect/icons/${vehicleIcon.value}.svg`,class:`vd-field__svg-message-icon`,alt:`vehicle-icon`},null,8,_hoisted_2)):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(vehicleLabel.value),1)],64)):createCommentVNode(``,!0)]),key:`2`}:void 0]),1040,[`modelValue`,`name`,`label`,`required`,`error-message`,`loading`]))}}),lookupCache=new Map,cacheKey=(plate,vehicleType)=>`${vehicleType}:${plate}`,MESSAGES={"wrong-type":type=>`Het ingevoerde kenteken is geen ${VehicleTypesModel[type].dutch}`,unknown:()=>`Voertuig onbekend - Voer ander kenteken in of neem contact op`,"not-found":()=>`Kenteken onbekend`,error:()=>`Kenteken is incorrect`},resolveVehicle=async(licensePlate,vehicleType)=>{try{let response=await getService().dataService.findVehicle(licensePlate,vehicleType);if(Array.isArray(response)||!response||!Object.keys(response).length)return{status:`not-found`};let raw=response;return raw.VehicleType?VehicleTypesModel[vehicleType].apiTypes.includes(raw.VehicleType)?{status:`found`,data:raw}:{status:`wrong-type`}:{status:`unknown`}}catch(error){return console.error(`Error on ITC findVehicle`,error),{status:`error`}}},resolveCached=(plate,vehicleType)=>{let key=cacheKey(plate,vehicleType),promise=lookupCache.get(key);return promise||(promise=resolveVehicle(plate,vehicleType),lookupCache.set(key,promise),promise.then(({status})=>{status===`error`&&lookupCache.delete(key)},()=>lookupCache.delete(key))),promise},useLicensePlate=(vehicleType,options={})=>{let vehicleData=ref(options.initialData??null),requestId=0;options.initialData?.LicensePlate&&lookupCache.set(cacheKey(normalizeLicensePlate(options.initialData.LicensePlate),vehicleType),Promise.resolve({status:`found`,data:options.initialData}));let lookup=async licensePlate=>{let plate=normalizeLicensePlate(licensePlate),id=++requestId,result=await resolveCached(plate,vehicleType);return id===requestId&&(vehicleData.value=result.status===`found`?result.data:null),result};return{vehicleData,licensePlateSchema:create$6().required(`Dit veld is verplicht`).test(`license-plate-lookup`,async(value,context)=>{if(!value)return!0;let plate=normalizeLicensePlate(value);if(plate.length<6)return context.createError({message:`Kenteken is incorrect`});let{status}=await lookup(plate);return status===`found`||context.createError({message:MESSAGES[status](vehicleType)})})}};export{ComparisonName,VdLicensePlate_default,useLicensePlate};