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

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 (53) hide show
  1. package/dist/wc-forms/VdInput-BaZx7lM7.js +1 -0
  2. package/dist/wc-forms/VdPopover-B_0EwmOm.js +1 -0
  3. package/dist/wc-forms/VdRadioGroup-BAy4077M.js +1 -0
  4. package/dist/wc-forms/VdSearchableSelect-BYsNA8so.js +9 -0
  5. package/dist/wc-forms/VdSelect-DS5ijaBw.js +1 -0
  6. package/dist/wc-forms/bike.js +1 -1647
  7. package/dist/wc-forms/birthdate.schema-B2IfhcT0.js +1 -0
  8. package/dist/wc-forms/business-car.js +1 -109
  9. package/dist/wc-forms/business-liability.js +1 -71
  10. package/dist/wc-forms/car.js +1 -112
  11. package/dist/wc-forms/caravan.js +1 -144
  12. package/dist/wc-forms/company.schema-D_-KvPAl.js +1 -0
  13. package/dist/wc-forms/date.util-Dn_Fq_ZZ.js +1 -0
  14. package/dist/wc-forms/familyComposition.schema-BckaOvgV.js +1 -0
  15. package/dist/wc-forms/floating-ui.dom-CZdxKWz5.js +1 -0
  16. package/dist/wc-forms/house.js +1 -101
  17. package/dist/wc-forms/houseOwnedBuilding.model-RQzmveyS.js +1 -0
  18. package/dist/wc-forms/legal.js +1 -153
  19. package/dist/wc-forms/liability.js +1 -89
  20. package/dist/wc-forms/loan.js +1 -173
  21. package/dist/wc-forms/messages-Da6go1uu.js +1 -0
  22. package/dist/wc-forms/moped.js +1 -115
  23. package/dist/wc-forms/motor.js +1 -112
  24. package/dist/wc-forms/package.js +1 -119
  25. package/dist/wc-forms/pet.js +1 -158
  26. package/dist/wc-forms/rolldown-runtime-Bm1jhNxk.js +1 -0
  27. package/dist/wc-forms/rules-4erM_5MW.js +1 -0
  28. package/dist/wc-forms/services-D6FlwWWO.js +1 -0
  29. package/dist/wc-forms/travel.js +1 -99
  30. package/dist/wc-forms/useAddress-mxYJ2B9-.js +1 -0
  31. package/dist/wc-forms/useLicensePlate-BK5GSqI6.js +1 -0
  32. package/dist/wc-forms/useValidator-BXvfnDwv.js +27 -0
  33. package/dist/wc-forms/yesNo-Dat_jmcx.js +1 -0
  34. package/package.json +1 -1
  35. package/dist/wc-forms/VdInput-PLH7DZsc.js +0 -331
  36. package/dist/wc-forms/VdPopover-CcRVedXS.js +0 -285
  37. package/dist/wc-forms/VdRadioGroup-BsMaGEuY.js +0 -166
  38. package/dist/wc-forms/VdSearchableSelect-CY7qBcIO.js +0 -4516
  39. package/dist/wc-forms/VdSelect-BPB3Jh_f.js +0 -108
  40. package/dist/wc-forms/birthdate.schema-DGsq2GQR.js +0 -89
  41. package/dist/wc-forms/company.schema-CUG4hnMP.js +0 -239
  42. package/dist/wc-forms/date.util-D9xNHiuY.js +0 -474
  43. package/dist/wc-forms/familyComposition.schema-fY4w6P1J.js +0 -74
  44. package/dist/wc-forms/floating-ui.dom-B6uyM6oK.js +0 -856
  45. package/dist/wc-forms/houseOwnedBuilding.model-CPULUrWv.js +0 -14
  46. package/dist/wc-forms/messages-kbFdNTrA.js +0 -40
  47. package/dist/wc-forms/rolldown-runtime-Dqa2HsxW.js +0 -20
  48. package/dist/wc-forms/rules-Cj1sWDmF.js +0 -13
  49. package/dist/wc-forms/services-CG6XsnRT.js +0 -16
  50. package/dist/wc-forms/useAddress-LSZ7sQk9.js +0 -243
  51. package/dist/wc-forms/useLicensePlate-KLwykzxF.js +0 -187
  52. package/dist/wc-forms/useValidator-DdXn8soU.js +0 -7197
  53. package/dist/wc-forms/yesNo-BvJlCm7Y.js +0 -6
@@ -1,14 +0,0 @@
1
- import "./useValidator-DdXn8soU.js";
2
- import { n as e, t } from "./yesNo-BvJlCm7Y.js";
3
- import { t as n } from "./messages-kbFdNTrA.js";
4
- import { n as r } from "./rules-Cj1sWDmF.js";
5
- //#region src/schemas/ownedBuilding.schema.ts
6
- var i = r(t, n.ownedBuilding.required), a = [{
7
- value: e.Yes,
8
- label: "Gekocht"
9
- }, {
10
- value: e.No,
11
- label: "Verhuurd"
12
- }];
13
- //#endregion
14
- export { i as n, a as t };
@@ -1,40 +0,0 @@
1
- //#region src/schemas/messages.ts
2
- var e = {
3
- birthdate: {
4
- required: "Geboortedatum is verplicht",
5
- dateFormat: "Geboortedatum is incorrect",
6
- tooYoung: (e) => `De minimale leeftijd is ${e}.`,
7
- tooOld: (e) => `De maximale leeftijd is ${e}.`
8
- },
9
- familyComposition: { required: "Gezinssituatie is verplicht" },
10
- ownedBuilding: { required: "Deze vraag is verplicht" },
11
- bike: {
12
- kindRequired: "Selecteer je fiets",
13
- conditionRequired: "Is je fiets nieuw of tweedehands gekocht?",
14
- priceRequired: "Vul de aankoopprijs in (afgerond bedrag)",
15
- priceMax: (e) => `Het ingevulde bedrag is te hoog. Voer een bedrag in tot maximaal € ${e},-`,
16
- brandRequired: "Kies het merk van je fiets"
17
- },
18
- caravan: {
19
- typeOfCaravanRequired: "Kies je type caravan",
20
- newOrOccasionRequired: "Kies of je caravan nieuw of occasion is",
21
- buildYearRequired: "Kies het bouwjaar van je caravan"
22
- },
23
- house: { familyCompositionRequired: "Kies een gezinsamenstelling" },
24
- legal: { familySizeRequired: "Kies het aantal kinderen" },
25
- loan: {
26
- purposeRequired: "Leendoel is verplicht",
27
- amountRequired: "Leenbedrag is verplicht",
28
- amountMin: (e) => `Je kunt niet minder dan €${e},- lenen. Vul een hoger bedrag in`,
29
- amountMax: (e) => `De input mag niet groter zijn dan de maximum waarde: ${e}`
30
- },
31
- pet: {
32
- kindRequired: "Selecteer je huisdier",
33
- outOfRange: (e, t) => `Je huisdier dient geboren te zijn tussen ${e} en ${t}`,
34
- zipcodeRequired: "Vul je postcode in",
35
- zipcodeInvalid: "Postcode is incorrect"
36
- },
37
- travel: { paymentTermRequired: "Selecteer een dekking" }
38
- };
39
- //#endregion
40
- export { e as t };
@@ -1,20 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
3
- let r = {};
4
- for (var i in e) t(r, i, {
5
- get: e[i],
6
- enumerable: !0
7
- });
8
- return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
9
- }, c = (e, i, o, s) => {
10
- if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
11
- get: ((e) => i[e]).bind(null, d),
12
- enumerable: !(s = n(i, d)) || s.enumerable
13
- });
14
- return e;
15
- }, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
16
- value: n,
17
- enumerable: !0
18
- }) : a, n));
19
- //#endregion
20
- export { s as n, l as r, o as t };
@@ -1,13 +0,0 @@
1
- import { a as e, i as t } from "./useValidator-DdXn8soU.js";
2
- //#region src/schemas/rules.ts
3
- function n(t, n) {
4
- return e().required(n).oneOf(t, n);
5
- }
6
- function r(t) {
7
- return e().required(t);
8
- }
9
- function i(e) {
10
- return t().typeError(e).required(e);
11
- }
12
- //#endregion
13
- export { n, r, i as t };
@@ -1,16 +0,0 @@
1
- import { ComparisonService as e, DataService as t, DataValidationService as n, HomeService as r } from "@vergelijkdirect/insurance-transmission-client";
2
- //#region src/data/services.ts
3
- var i;
4
- function a() {
5
- return {
6
- dataService: new t(),
7
- dataValidationService: new n(),
8
- homeService: new r(),
9
- comparisonService: new e()
10
- };
11
- }
12
- function o() {
13
- return i ||= a(), i;
14
- }
15
- //#endregion
16
- export { o as t };
@@ -1,243 +0,0 @@
1
- import { An as e, Gt as t, Jt as n, Kt as r, Ln as i, On as a, Sr as o, Un as s, Xn as c, Yt as l, _r as u, a as d, c as f, in as p, l as m, li as h, n as g, nn as _, oi as v, qr as y, r as b, ri as x, tn as S, ur as C, zr as w } from "./useValidator-DdXn8soU.js";
2
- import { t as T } from "./VdInput-PLH7DZsc.js";
3
- import { t as E } from "./VdSelect-BPB3Jh_f.js";
4
- import { t as D } from "./services-CG6XsnRT.js";
5
- //#endregion
6
- //#region src/components/ui/form/VdFormGroup.vue
7
- var O = /* @__PURE__ */ p({
8
- __name: "VdFormGroup",
9
- props: {
10
- span: { default: null },
11
- md: { default: null }
12
- },
13
- setup(e) {
14
- let n = e, r = t(() => [
15
- "vd-form__group",
16
- n.span == null ? null : `vd-form__col-${n.span}`,
17
- n.md == null ? null : `vd-form__col-md-${n.md}`
18
- ]);
19
- return (e, t) => (s(), l("div", { class: v(r.value) }, [c(e.$slots, "default")], 2));
20
- }
21
- }), k = { class: "vd-field" }, A = {
22
- key: 0,
23
- class: "vd-field__message vd-field__message--error"
24
- }, j = {
25
- key: 1,
26
- class: "vd-field__message vd-field__message--information"
27
- }, M = /* @__PURE__ */ p({
28
- __name: "VdAddress",
29
- props: /*@__PURE__*/ a({
30
- path: { default: "address" },
31
- additionOptions: {}
32
- }, {
33
- resolvedAddress: { required: !0 },
34
- resolvedAddressModifiers: {}
35
- }),
36
- emits: ["update:resolvedAddress"],
37
- setup(a) {
38
- let c = a, d = C(a, "resolvedAddress"), { path: p } = c, { defineField: v, validateField: y, getFieldMeta: b, getError: D, removeError: M } = g(), [N, , P] = v(`${p}.zipCode`), [F, , I] = v(`${p}.houseNumber`), [L, , R] = v(`${p}.houseNumberAddition`), z = async () => {
39
- await y(p), L.value || M(`${p}.houseNumberAddition`);
40
- }, B = (e) => {
41
- N.value && F.value ? z() : y(e);
42
- }, V = () => B(`${p}.zipCode`), H = () => B(`${p}.houseNumber`), U = () => e(() => y(p)), W = b(p), G = t(() => D(p) ?? ""), K = t(() => d.value !== null), q = t(() => c.additionOptions.length === 0 ? "-" : "Kies een toevoeging");
43
- return u([N, F], () => {
44
- L.value &&= "", d.value = null, M(p), M(`${p}.houseNumberAddition`);
45
- }), u(L, () => {
46
- d.value = null;
47
- }), i(() => {
48
- N.value && F.value && z();
49
- }), (e, t) => (s(), l("div", k, [_(m, null, {
50
- default: o(() => [_(f, {
51
- span: "5",
52
- md: "3"
53
- }, {
54
- default: o(() => [_(T, {
55
- modelValue: x(N),
56
- "onUpdate:modelValue": t[0] ||= (e) => w(N) ? N.value = e : null,
57
- modelModifiers: { trim: !0 },
58
- name: "zipCode",
59
- label: "Postcode",
60
- placeholder: "bv. 1234 AZ",
61
- "error-message": x(P),
62
- mask: "####@@",
63
- capitalize: "",
64
- autocomplete: "",
65
- required: !1,
66
- verified: K.value,
67
- loading: x(W).isValidating,
68
- onBlur: V
69
- }, null, 8, [
70
- "modelValue",
71
- "error-message",
72
- "verified",
73
- "loading"
74
- ])]),
75
- _: 1
76
- }), _(O, {
77
- span: "7",
78
- md: "3"
79
- }, {
80
- default: o(() => [_(T, {
81
- modelValue: x(F),
82
- "onUpdate:modelValue": t[1] ||= (e) => w(F) ? F.value = e : null,
83
- modelModifiers: { trim: !0 },
84
- name: "houseNumber",
85
- label: "Huisnummer",
86
- placeholder: "bv. 1",
87
- inputmode: "numeric",
88
- "error-message": x(I),
89
- autocomplete: "",
90
- required: !1,
91
- verified: K.value,
92
- loading: x(W).isValidating,
93
- onBlur: H
94
- }, null, 8, [
95
- "modelValue",
96
- "error-message",
97
- "verified",
98
- "loading"
99
- ]), _(E, {
100
- modelValue: x(L),
101
- "onUpdate:modelValue": t[2] ||= (e) => w(L) ? L.value = e : null,
102
- name: "houseNumberAddition",
103
- label: "Toevoeging",
104
- placeholder: q.value,
105
- options: a.additionOptions,
106
- "error-message": x(R),
107
- disabled: a.additionOptions.length === 0 || x(W).isValidating,
108
- verified: K.value,
109
- required: !1,
110
- onSelect: U
111
- }, null, 8, [
112
- "modelValue",
113
- "placeholder",
114
- "options",
115
- "error-message",
116
- "disabled",
117
- "verified"
118
- ])]),
119
- _: 1
120
- })]),
121
- _: 1
122
- }), G.value ? (s(), l("div", A, [t[3] ||= r("i", { class: "fas fa-exclamation-circle vd-field__message-icon" }, null, -1), S(" " + h(G.value), 1)])) : d.value ? (s(), l("div", j, [t[4] ||= r("i", { class: "fas fa-info-circle vd-field__message-icon" }, null, -1), S(" " + h(d.value.street) + ", " + h(d.value.city), 1)])) : n("", !0)]));
123
- }
124
- }), N = (e) => ({
125
- zipCode: e.ZipCode,
126
- houseNumber: String(e.HouseNumber),
127
- houseNumberAddition: e.HouseNumberAddition,
128
- city: e.Place,
129
- street: e.Street
130
- }), P = /^\d{4}\s?[a-zA-Z]{2}$/, F = /^\d+$/, I = {
131
- "needs-addition": "Een toevoeging is verplicht",
132
- "not-found": "Postcode en huisnummer combinatie onbekend.",
133
- error: "Adres ophalen is mislukt. Probeer het opnieuw."
134
- };
135
- function L(e) {
136
- return e.replace(/\s/g, "").toUpperCase();
137
- }
138
- var R = "NO_ADDITION";
139
- function z(e) {
140
- return e === R ? "" : e.replace("-", "");
141
- }
142
- var B = (e) => e instanceof Error, V = (e) => {
143
- if (B(e)) throw e;
144
- return null;
145
- }, H = (e, t, n) => D().dataValidationService.validateZipCode(e, t, n).then((e) => e).catch(V), U = (e, t) => D().homeService.getAddition({
146
- zipcode: e,
147
- houseNumber: t
148
- }).then((e) => e ?? []).catch(V), W = async (e, t) => {
149
- let [n, r] = await Promise.all([H(e, t), U(e, t)]);
150
- return !n && !r?.length ? null : {
151
- validWithoutAddition: !!n,
152
- template: n,
153
- additions: r ?? []
154
- };
155
- }, G = (e) => {
156
- let t = e.additions.map((e) => ({
157
- title: e,
158
- value: z(e)
159
- }));
160
- return e.validWithoutAddition && t.length ? [{
161
- title: "Geen toevoeging",
162
- value: R
163
- }, ...t] : t;
164
- }, K = (e) => ({
165
- zipCode: e?.zipCode ?? "",
166
- houseNumber: e?.houseNumber ?? "",
167
- houseNumberAddition: e ? e.houseNumberAddition || R : ""
168
- }), q = (e) => {
169
- let t = e?.path ?? "address", n = K(e?.initial), r = y(null), i = y([]), a = 0, o = null, s = async (e) => {
170
- let t = L(e.zipCode), n = e.houseNumber.trim(), r = z(e.houseNumberAddition), i = `${t}:${n}`;
171
- try {
172
- let a = o?.key === i ? o : null;
173
- if (!a) {
174
- let e = await W(t, n);
175
- if (!e) return {
176
- status: "not-found",
177
- options: [],
178
- address: null
179
- };
180
- a = o = {
181
- key: i,
182
- verdict: e
183
- };
184
- }
185
- let s = G(a.verdict);
186
- if (a.verdict.additions.length && !e.houseNumberAddition) return {
187
- status: "needs-addition",
188
- options: s,
189
- address: null
190
- };
191
- if (!a.verdict.template) {
192
- let e = await H(t, n, r);
193
- if (!e) return {
194
- status: "not-found",
195
- options: [],
196
- address: null
197
- };
198
- a.verdict.template = e;
199
- }
200
- return {
201
- status: "resolved",
202
- options: s,
203
- address: r ? {
204
- ...a.verdict.template,
205
- HouseNumberAddition: r
206
- } : a.verdict.template
207
- };
208
- } catch (e) {
209
- return console.error("Error on ITC address lookup", e), {
210
- status: "error",
211
- options: [],
212
- address: null
213
- };
214
- }
215
- }, c = async (e) => {
216
- let t = ++a, n = await s(e), o = t !== a;
217
- return o || (i.value = n.options, r.value = n.address ? N(n.address) : null), {
218
- ...n,
219
- stale: o
220
- };
221
- };
222
- return {
223
- path: t,
224
- addressSchema: b({
225
- zipCode: d().required("Vul je postcode in").matches(P, "Postcode is incorrect"),
226
- houseNumber: d().required("Huisnummer is verplicht").matches(F, "Huisnummer is incorrect"),
227
- houseNumberAddition: d().defined()
228
- }).test("address-lookup", async (e, t) => {
229
- let n = L(e.zipCode ?? ""), r = String(e.houseNumber ?? "").trim();
230
- if (!P.test(n) || !F.test(r)) return !0;
231
- let { status: i, stale: a } = await c(e);
232
- return a || i === "resolved" ? !0 : i === "needs-addition" ? t.createError({
233
- path: `${t.path}.houseNumberAddition`,
234
- message: I[i]
235
- }) : t.createError({ message: I[i] });
236
- }),
237
- draft: n,
238
- resolvedAddress: r,
239
- additionOptions: i
240
- };
241
- };
242
- //#endregion
243
- export { M as n, q as t };
@@ -1,187 +0,0 @@
1
- import { $t as e, Ft as t, Gt as n, Jt as r, Kt as i, On as a, Sr as o, Un as s, Xn as c, Yt as l, _r as u, a as d, cr as f, fr as p, in as m, kn as h, li as g, qr as _, qt as v, ri as y, tn as b, ur as x } from "./useValidator-DdXn8soU.js";
2
- import { t as S } from "./VdInput-PLH7DZsc.js";
3
- import { t as C } from "./services-CG6XsnRT.js";
4
- //#region src/enums/comparisonName.enum.ts
5
- var w = /* @__PURE__ */ function(e) {
6
- return e.Bike = "bike", e.Car = "car", e.Caravan = "caravan", e.CarBusiness = "car-business", e.BusinessLiability = "business-liability", e.Housing = "housing", e.LegalAssistance = "legal-assistance", e.Liability = "liability", e.Loan = "loan", e.Moped = "moped", e.Motor = "motor", e.Package = "package", e.Pet = "pet", e.Travel = "travel", e;
7
- }({}), T = {
8
- [w.Car]: {
9
- apiTypes: ["Car", "Van"],
10
- dutch: "auto",
11
- icon: "fa-car"
12
- },
13
- [w.Motor]: {
14
- apiTypes: ["Motor", "MP3Motor"],
15
- dutch: "motor",
16
- icon: "fa-motorcycle"
17
- },
18
- [w.Moped]: {
19
- apiTypes: ["Moped"],
20
- dutch: "brommer",
21
- icon: "moped-solid"
22
- },
23
- [w.Caravan]: {
24
- apiTypes: ["Caravan"],
25
- dutch: "caravan",
26
- icon: "fa-caravan-alt"
27
- }
28
- }, E = Object.fromEntries(Object.values(T).flatMap(({ apiTypes: e, icon: t }) => e.map((e) => [e.toLowerCase(), t]))), D = {
29
- brommobiel: "fa-car-side",
30
- "speed pedelec": "fa-bicycle"
31
- }, O = (e) => !!e?.Brand && !!e.Model && !!e.ManufacturingYear, k = (e) => {
32
- if (!e) return "";
33
- let t = String(e.Model ?? "").toLowerCase().trim(), n = String(e.VehicleType ?? "").toLowerCase();
34
- return D[t] ?? E[n] ?? "";
35
- }, A = (e) => e ? `${e.Brand} ${e.Model} (${e.ManufacturingYear})` : "", j = [
36
- "@@-##-@@",
37
- "##-##-@@",
38
- "##-@@-@@",
39
- "@@-@@-##",
40
- "##-@@-##",
41
- "@@-##-##",
42
- "##-@@@-#",
43
- "@@-###-@",
44
- "@-###-@@",
45
- "#-@@@-##",
46
- "@@@-##-@",
47
- "@-##-@@@",
48
- "#-@@-###",
49
- "###-@@-#"
50
- ];
51
- //#endregion
52
- //#region src/components/fields/licensePlate/licensePlate.util.ts
53
- function M(e) {
54
- return e.replace(/[\s\\-]/g, "");
55
- }
56
- var N = "*".repeat(6), P = j.map((e) => e.replace(/-/g, ""));
57
- function F(e) {
58
- let t = M(e).slice(0, 6);
59
- if (t.length < 6) return N;
60
- let n = [...t].map((e) => /[0-9]/.test(e) ? "#" : "@").join(""), r = P.indexOf(n);
61
- return r === -1 ? N : j[r];
62
- }
63
- //#endregion
64
- //#region src/components/fields/licensePlate/VdLicensePlate.vue?vue&type=script&setup=true&lang.ts
65
- var I = {
66
- key: 0,
67
- class: "vd-input-license-plate__loading-information"
68
- }, L = ["src"], R = /* @__PURE__ */ m({
69
- inheritAttrs: !1,
70
- __name: "VdLicensePlate",
71
- props: /*@__PURE__*/ a({
72
- name: {},
73
- label: { default: "Kenteken" },
74
- errorMessage: { default: null },
75
- loading: {
76
- type: Boolean,
77
- default: !1
78
- },
79
- required: {
80
- type: Boolean,
81
- default: !1
82
- }
83
- }, {
84
- modelValue: { default: "" },
85
- modelModifiers: {},
86
- vehicleData: { default: null },
87
- vehicleDataModifiers: {}
88
- }),
89
- emits: /*@__PURE__*/ a(["input"], ["update:modelValue", "update:vehicleData"]),
90
- setup(a, { emit: d }) {
91
- let m = { mask: F }, _ = a, C = x(a, "modelValue"), w = x(a, "vehicleData"), T = d, E = f(), D = p(), j = n({
92
- get: () => C.value ?? "",
93
- set: (e) => {
94
- C.value = e, T("input", e);
95
- }
96
- }), N = (e, t) => M(e).toUpperCase() === M(t).toUpperCase();
97
- u(C, (e) => {
98
- w.value && !N(e, w.value.LicensePlate) && (w.value = null);
99
- });
100
- let P = n(() => O(w.value) ? w.value : null), R = n(() => _.loading || !!P.value && !_.errorMessage), z = n(() => k(P.value)), B = n(() => A(P.value));
101
- return (n, u) => (s(), v(S, h(y(E), {
102
- modelValue: j.value,
103
- "onUpdate:modelValue": u[0] ||= (e) => j.value = e,
104
- capitalize: "",
105
- autocomplete: "",
106
- name: a.name,
107
- label: a.label,
108
- required: a.required,
109
- "error-message": a.errorMessage || null,
110
- loading: a.loading,
111
- mask: m,
112
- class: "vd-input-license-plate"
113
- }), e({ _: 2 }, [
114
- y(D).label ? {
115
- name: "label",
116
- fn: o(() => [c(n.$slots, "label")]),
117
- key: "0"
118
- } : void 0,
119
- y(D).popover ? {
120
- name: "popover",
121
- fn: o(() => [c(n.$slots, "popover")]),
122
- key: "1"
123
- } : void 0,
124
- R.value ? {
125
- name: "information",
126
- fn: o(() => [a.loading ? (s(), l("div", I, [...u[1] ||= [i("i", { class: "fas fa-circle-notch vd-input-license-plate__loading-icon" }, null, -1), b(" Voertuig gegevens ophalen... ", -1)]])) : P.value ? (s(), l(t, { key: 1 }, [z.value ? (s(), l("img", {
127
- key: 0,
128
- src: `https://d12bmfj3oyxu0t.cloudfront.net/vergelijkdirect/icons/${z.value}.svg`,
129
- class: "vd-field__svg-message-icon",
130
- alt: "vehicle-icon"
131
- }, null, 8, L)) : r("", !0), b(" " + g(B.value), 1)], 64)) : r("", !0)]),
132
- key: "2"
133
- } : void 0
134
- ]), 1040, [
135
- "modelValue",
136
- "name",
137
- "label",
138
- "required",
139
- "error-message",
140
- "loading"
141
- ]));
142
- }
143
- }), z = /* @__PURE__ */ new Map(), B = (e, t) => `${t}:${e}`, V = {
144
- "wrong-type": (e) => `Het ingevoerde kenteken is geen ${T[e].dutch}`,
145
- unknown: () => "Voertuig onbekend - Voer ander kenteken in of neem contact op",
146
- "not-found": () => "Kenteken onbekend",
147
- error: () => "Kenteken is incorrect"
148
- }, H = async (e, t) => {
149
- try {
150
- let n = await C().dataService.findVehicle(e, t);
151
- if (Array.isArray(n) || !n || !Object.keys(n).length) return { status: "not-found" };
152
- let r = n;
153
- return r.VehicleType ? T[t].apiTypes.includes(r.VehicleType) ? {
154
- status: "found",
155
- data: r
156
- } : { status: "wrong-type" } : { status: "unknown" };
157
- } catch (e) {
158
- return console.error("Error on ITC findVehicle", e), { status: "error" };
159
- }
160
- }, U = (e, t) => {
161
- let n = B(e, t), r = z.get(n);
162
- return r || (r = H(e, t), z.set(n, r), r.then(({ status: e }) => {
163
- e === "error" && z.delete(n);
164
- }, () => z.delete(n))), r;
165
- }, W = (e, t = {}) => {
166
- let n = _(t.initialData ?? null), r = 0;
167
- t.initialData?.LicensePlate && z.set(B(M(t.initialData.LicensePlate), e), Promise.resolve({
168
- status: "found",
169
- data: t.initialData
170
- }));
171
- let i = async (t) => {
172
- let i = M(t), a = ++r, o = await U(i, e);
173
- return a === r && (n.value = o.status === "found" ? o.data : null), o;
174
- };
175
- return {
176
- vehicleData: n,
177
- licensePlateSchema: d().required("Dit veld is verplicht").test("license-plate-lookup", async (t, n) => {
178
- if (!t) return !0;
179
- let r = M(t);
180
- if (r.length < 6) return n.createError({ message: "Kenteken is incorrect" });
181
- let { status: a } = await i(r);
182
- return a === "found" || n.createError({ message: V[a](e) });
183
- })
184
- };
185
- };
186
- //#endregion
187
- export { R as n, w as r, W as t };