@socotra/ec-react-utils 2.0.0 → 2.1.0-alpha.0
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.
- package/dist/index.d.ts +19 -26
- package/dist/index.es.js +423 -171
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +5 -4
package/dist/index.d.ts
CHANGED
|
@@ -32,25 +32,7 @@ declare type GetQuoteElementRequestAttributes = {
|
|
|
32
32
|
locator: string;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
export declare const getQuoteRequest: ({
|
|
36
|
-
|
|
37
|
-
declare type GetQuoteRequestAttributes = {
|
|
38
|
-
formData: object;
|
|
39
|
-
hideDefaultFields: true;
|
|
40
|
-
hideConfiguredFields: true;
|
|
41
|
-
} | {
|
|
42
|
-
formData: QuoteDefaultFields;
|
|
43
|
-
hideDefaultFields: false;
|
|
44
|
-
hideConfiguredFields: true;
|
|
45
|
-
} | {
|
|
46
|
-
formData: TODO;
|
|
47
|
-
hideDefaultFields: true;
|
|
48
|
-
hideConfiguredFields: false;
|
|
49
|
-
} | {
|
|
50
|
-
formData: QuoteDefaultFields & TODO;
|
|
51
|
-
hideDefaultFields: false;
|
|
52
|
-
hideConfiguredFields: false;
|
|
53
|
-
};
|
|
35
|
+
export declare const getQuoteRequest: ({ data }: QuoteFormData) => QuoteRequest;
|
|
54
36
|
|
|
55
37
|
/**
|
|
56
38
|
* Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']
|
|
@@ -59,13 +41,24 @@ declare type GetQuoteRequestAttributes = {
|
|
|
59
41
|
*/
|
|
60
42
|
export declare const parseElementTypeAndScopeByElementType: (elementType: string) => [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null];
|
|
61
43
|
|
|
62
|
-
declare interface
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
44
|
+
declare interface QuoteFormData {
|
|
45
|
+
data: {
|
|
46
|
+
default?: {
|
|
47
|
+
startTime?: string;
|
|
48
|
+
endTime?: string;
|
|
49
|
+
expirationTime?: string;
|
|
50
|
+
};
|
|
51
|
+
advanced?: {
|
|
52
|
+
currency?: string;
|
|
53
|
+
timezone?: string;
|
|
54
|
+
billingPlan?: string;
|
|
55
|
+
defaultTermDuration?: string;
|
|
56
|
+
installmentPlan?: string;
|
|
57
|
+
durationBasis?: string;
|
|
58
|
+
delinquencyPlanName?: string;
|
|
59
|
+
};
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
};
|
|
69
62
|
}
|
|
70
63
|
|
|
71
64
|
/**
|
package/dist/index.es.js
CHANGED
|
@@ -1,245 +1,497 @@
|
|
|
1
|
-
const
|
|
2
|
-
const { data:
|
|
3
|
-
let
|
|
4
|
-
const
|
|
5
|
-
Object.entries(
|
|
6
|
-
var
|
|
7
|
-
const
|
|
8
|
-
return !!(!
|
|
9
|
-
}).map(([
|
|
10
|
-
var
|
|
11
|
-
let
|
|
12
|
-
const
|
|
13
|
-
let
|
|
14
|
-
switch (
|
|
1
|
+
const K = (l) => {
|
|
2
|
+
const { data: t, scope: s, dataTypes: y, rootDisplayName: M, account: b, quote: O, element: h } = l, A = [];
|
|
3
|
+
let _ = {};
|
|
4
|
+
const N = Object.fromEntries(
|
|
5
|
+
Object.entries(t ?? {}).filter(([, p]) => {
|
|
6
|
+
var x;
|
|
7
|
+
const c = (x = p.scope) == null ? void 0 : x.split(",").map((j) => j.trim());
|
|
8
|
+
return !!(!c || s === "P" && (c != null && c.includes("P")) || c != null && c.includes("Q") || s === "Q" && (c != null && c.includes("Q")));
|
|
9
|
+
}).map(([p, c]) => {
|
|
10
|
+
var H, U, r, i, e, a, n, u, o, m, g, v, D, S, C, I, E;
|
|
11
|
+
let x = !1, j = !1, W = !1;
|
|
12
|
+
const z = c.displayName ?? p, Z = (H = c.type) == null ? void 0 : H.slice(-1), Y = c.maxLength, B = c.minLength, P = c.max, L = c.min, F = c.regex;
|
|
13
|
+
let f = c.type ?? "", k;
|
|
14
|
+
switch (Z) {
|
|
15
15
|
case "*":
|
|
16
|
-
|
|
16
|
+
j = !0, x = !0, f = f == null ? void 0 : f.split("*")[0];
|
|
17
17
|
break;
|
|
18
18
|
case "?":
|
|
19
|
-
|
|
19
|
+
f = f == null ? void 0 : f.split("?")[0], x = !0;
|
|
20
20
|
break;
|
|
21
21
|
case "+":
|
|
22
|
-
|
|
22
|
+
j = !0, f = f == null ? void 0 : f.split("+")[0];
|
|
23
23
|
break;
|
|
24
24
|
case "!":
|
|
25
|
-
|
|
25
|
+
f = f == null ? void 0 : f.split("!")[0];
|
|
26
26
|
break;
|
|
27
27
|
}
|
|
28
|
-
switch (
|
|
28
|
+
switch (f) {
|
|
29
29
|
case "string":
|
|
30
|
-
|
|
30
|
+
f = "string";
|
|
31
31
|
break;
|
|
32
32
|
case "int":
|
|
33
33
|
case "long":
|
|
34
|
-
|
|
34
|
+
f = "integer";
|
|
35
35
|
break;
|
|
36
36
|
case "decimal":
|
|
37
|
-
|
|
37
|
+
f = "number";
|
|
38
38
|
break;
|
|
39
39
|
case "dateTime":
|
|
40
|
-
|
|
40
|
+
f = "string", k = "date-time";
|
|
41
41
|
break;
|
|
42
42
|
case "date":
|
|
43
|
-
|
|
43
|
+
f = "string", k = "date";
|
|
44
44
|
break;
|
|
45
45
|
case "boolean":
|
|
46
46
|
case "bool":
|
|
47
|
-
|
|
47
|
+
f = "boolean";
|
|
48
48
|
break;
|
|
49
49
|
default:
|
|
50
|
-
|
|
50
|
+
W = !0;
|
|
51
51
|
break;
|
|
52
52
|
}
|
|
53
|
-
if (!
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
let
|
|
57
|
-
const
|
|
58
|
-
data:
|
|
59
|
-
scope:
|
|
60
|
-
dataTypes:
|
|
61
|
-
rootDisplayName:
|
|
53
|
+
if (!x && !W && !j && A.push(p), W) {
|
|
54
|
+
const T = y == null ? void 0 : y[f];
|
|
55
|
+
if (T) {
|
|
56
|
+
let w = j ? [] : {};
|
|
57
|
+
const V = K({
|
|
58
|
+
data: T.data ?? {},
|
|
59
|
+
scope: s,
|
|
60
|
+
dataTypes: y,
|
|
61
|
+
rootDisplayName: p
|
|
62
62
|
});
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
[`${
|
|
66
|
-
},
|
|
67
|
-
|
|
63
|
+
return O && (r = (U = O.element) == null ? void 0 : U.data) != null && r[p] && (w = (e = (i = O.element) == null ? void 0 : i.data) == null ? void 0 : e[p]), h && (a = h == null ? void 0 : h.data) != null && a[p] && (w = (n = h == null ? void 0 : h.data) == null ? void 0 : n[p]), b && (u = b == null ? void 0 : b.data) != null && u[p] && (w = (o = b == null ? void 0 : b.data) == null ? void 0 : o[p]), _ = {
|
|
64
|
+
..._,
|
|
65
|
+
[`${f}`]: V
|
|
66
|
+
}, j ? [
|
|
67
|
+
p,
|
|
68
68
|
{
|
|
69
|
-
title:
|
|
70
|
-
return
|
|
69
|
+
title: p.replace(/([A-Z])/g, " $1").replace(/^./, function(Q) {
|
|
70
|
+
return Q.toUpperCase();
|
|
71
71
|
}),
|
|
72
72
|
type: "array",
|
|
73
|
-
default:
|
|
73
|
+
default: w,
|
|
74
74
|
items: {
|
|
75
|
-
$ref: `#/definitions/${
|
|
75
|
+
$ref: `#/definitions/${f}`
|
|
76
76
|
},
|
|
77
|
-
...!
|
|
77
|
+
...!x && { minItems: 1 }
|
|
78
78
|
}
|
|
79
79
|
] : [
|
|
80
|
-
|
|
80
|
+
p,
|
|
81
81
|
{
|
|
82
|
-
title:
|
|
83
|
-
return
|
|
82
|
+
title: p.replace(/([A-Z])/g, " $1").replace(/^./, function(Q) {
|
|
83
|
+
return Q.toUpperCase();
|
|
84
84
|
}),
|
|
85
|
-
default:
|
|
86
|
-
$ref: `#/definitions/${
|
|
85
|
+
default: w,
|
|
86
|
+
$ref: `#/definitions/${f}`
|
|
87
87
|
}
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
let
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
94
|
-
|
|
91
|
+
let $ = "";
|
|
92
|
+
if (b) {
|
|
93
|
+
const T = (b == null ? void 0 : b.state) === "validated" ? p.charAt(0).toLowerCase() + p.slice(1) : p;
|
|
94
|
+
$ = (m = b == null ? void 0 : b.data) != null && m[T] ? (g = b == null ? void 0 : b.data) == null ? void 0 : g[T] : f === "boolean" ? !!c.defaultValue : c.defaultValue;
|
|
95
95
|
}
|
|
96
|
-
return
|
|
97
|
-
|
|
96
|
+
return O && ($ = (D = (v = O.element) == null ? void 0 : v.data) != null && D[p] ? (C = (S = O.element) == null ? void 0 : S.data) == null ? void 0 : C[p] : f === "boolean" ? !!c.defaultValue : c.defaultValue), h && ($ = (I = h == null ? void 0 : h.data) != null && I[p] ? (E = h == null ? void 0 : h.data) == null ? void 0 : E[p] : f === "boolean" ? !!c.defaultValue : c.defaultValue), j ? [
|
|
97
|
+
p,
|
|
98
98
|
{
|
|
99
|
-
title:
|
|
99
|
+
title: z,
|
|
100
100
|
type: "array",
|
|
101
|
-
default:
|
|
101
|
+
default: $,
|
|
102
102
|
items: {
|
|
103
|
-
type:
|
|
104
|
-
...
|
|
105
|
-
...
|
|
106
|
-
...
|
|
107
|
-
...
|
|
108
|
-
...
|
|
109
|
-
...
|
|
103
|
+
type: f,
|
|
104
|
+
...Y && { maxLength: Y },
|
|
105
|
+
...B && { minLength: B },
|
|
106
|
+
...L && { min: L },
|
|
107
|
+
...P && { max: P },
|
|
108
|
+
...k && { format: k },
|
|
109
|
+
...F && { pattern: c.regex }
|
|
110
110
|
},
|
|
111
|
-
...!
|
|
111
|
+
...!x && { minItems: 1 }
|
|
112
112
|
}
|
|
113
113
|
] : [
|
|
114
|
-
|
|
114
|
+
p,
|
|
115
115
|
{
|
|
116
|
-
title:
|
|
117
|
-
type:
|
|
118
|
-
|
|
119
|
-
...
|
|
120
|
-
...
|
|
121
|
-
...
|
|
122
|
-
...
|
|
123
|
-
...
|
|
124
|
-
...
|
|
125
|
-
...
|
|
116
|
+
title: z,
|
|
117
|
+
type: f,
|
|
118
|
+
...$ && { default: $ },
|
|
119
|
+
...B && { minLength: B },
|
|
120
|
+
...Y && { maxLength: Y },
|
|
121
|
+
...L && { minimum: parseInt(L) },
|
|
122
|
+
...P && { maximum: parseInt(P) },
|
|
123
|
+
...k && { format: k },
|
|
124
|
+
...c.options && { enum: c.options },
|
|
125
|
+
...F && { pattern: c.regex }
|
|
126
126
|
}
|
|
127
127
|
];
|
|
128
128
|
})
|
|
129
129
|
);
|
|
130
130
|
return {
|
|
131
|
-
title:
|
|
131
|
+
title: M,
|
|
132
132
|
type: "object",
|
|
133
|
-
definitions:
|
|
134
|
-
required:
|
|
135
|
-
properties:
|
|
133
|
+
definitions: _,
|
|
134
|
+
required: A,
|
|
135
|
+
properties: N
|
|
136
136
|
};
|
|
137
|
-
},
|
|
138
|
-
const
|
|
139
|
-
(
|
|
137
|
+
}, at = (l) => {
|
|
138
|
+
const t = l.autoValidate, s = l.delinquencyPlanName, y = l.accountType, M = Object.keys(l).reduce(
|
|
139
|
+
(O, h) => (h !== "accountType" && h !== "autoValidate" && h !== "delinquencyPlanName" && (O[h] = l[h]), O),
|
|
140
140
|
{}
|
|
141
141
|
);
|
|
142
142
|
return {
|
|
143
|
-
autoValidate:
|
|
144
|
-
delinquencyPlanName:
|
|
145
|
-
type:
|
|
146
|
-
data:
|
|
143
|
+
autoValidate: t,
|
|
144
|
+
delinquencyPlanName: s,
|
|
145
|
+
type: y,
|
|
146
|
+
data: M
|
|
147
147
|
};
|
|
148
|
-
},
|
|
149
|
-
formData:
|
|
150
|
-
locator:
|
|
148
|
+
}, st = ({
|
|
149
|
+
formData: l,
|
|
150
|
+
locator: t
|
|
151
151
|
}) => ({
|
|
152
152
|
elements: [{
|
|
153
|
-
locator:
|
|
154
|
-
setData:
|
|
153
|
+
locator: t,
|
|
154
|
+
setData: l
|
|
155
155
|
}]
|
|
156
156
|
});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
startTime: a,
|
|
161
|
-
endTime: n,
|
|
162
|
-
currency: c,
|
|
163
|
-
expirationTime: l,
|
|
164
|
-
timezone: r,
|
|
165
|
-
...u
|
|
166
|
-
} = s;
|
|
167
|
-
return u;
|
|
157
|
+
var X = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
158
|
+
function tt(l) {
|
|
159
|
+
return l && l.__esModule && Object.prototype.hasOwnProperty.call(l, "default") ? l.default : l;
|
|
168
160
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
})
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
161
|
+
var G = { exports: {} };
|
|
162
|
+
(function(l, t) {
|
|
163
|
+
(function(s, y) {
|
|
164
|
+
l.exports = y();
|
|
165
|
+
})(X, function() {
|
|
166
|
+
var s = 1e3, y = 6e4, M = 36e5, b = "millisecond", O = "second", h = "minute", A = "hour", _ = "day", N = "week", q = "month", p = "quarter", c = "year", x = "date", j = "Invalid Date", W = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, z = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, Z = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(r) {
|
|
167
|
+
var i = ["th", "st", "nd", "rd"], e = r % 100;
|
|
168
|
+
return "[" + r + (i[(e - 20) % 10] || i[e] || i[0]) + "]";
|
|
169
|
+
} }, Y = function(r, i, e) {
|
|
170
|
+
var a = String(r);
|
|
171
|
+
return !a || a.length >= i ? r : "" + Array(i + 1 - a.length).join(e) + r;
|
|
172
|
+
}, B = { s: Y, z: function(r) {
|
|
173
|
+
var i = -r.utcOffset(), e = Math.abs(i), a = Math.floor(e / 60), n = e % 60;
|
|
174
|
+
return (i <= 0 ? "+" : "-") + Y(a, 2, "0") + ":" + Y(n, 2, "0");
|
|
175
|
+
}, m: function r(i, e) {
|
|
176
|
+
if (i.date() < e.date())
|
|
177
|
+
return -r(e, i);
|
|
178
|
+
var a = 12 * (e.year() - i.year()) + (e.month() - i.month()), n = i.clone().add(a, q), u = e - n < 0, o = i.clone().add(a + (u ? -1 : 1), q);
|
|
179
|
+
return +(-(a + (e - n) / (u ? n - o : o - n)) || 0);
|
|
180
|
+
}, a: function(r) {
|
|
181
|
+
return r < 0 ? Math.ceil(r) || 0 : Math.floor(r);
|
|
182
|
+
}, p: function(r) {
|
|
183
|
+
return { M: q, y: c, w: N, d: _, D: x, h: A, m: h, s: O, ms: b, Q: p }[r] || String(r || "").toLowerCase().replace(/s$/, "");
|
|
184
|
+
}, u: function(r) {
|
|
185
|
+
return r === void 0;
|
|
186
|
+
} }, P = "en", L = {};
|
|
187
|
+
L[P] = Z;
|
|
188
|
+
var F = "$isDayjsObject", f = function(r) {
|
|
189
|
+
return r instanceof H || !(!r || !r[F]);
|
|
190
|
+
}, k = function r(i, e, a) {
|
|
191
|
+
var n;
|
|
192
|
+
if (!i)
|
|
193
|
+
return P;
|
|
194
|
+
if (typeof i == "string") {
|
|
195
|
+
var u = i.toLowerCase();
|
|
196
|
+
L[u] && (n = u), e && (L[u] = e, n = u);
|
|
197
|
+
var o = i.split("-");
|
|
198
|
+
if (!n && o.length > 1)
|
|
199
|
+
return r(o[0]);
|
|
200
|
+
} else {
|
|
201
|
+
var m = i.name;
|
|
202
|
+
L[m] = i, n = m;
|
|
203
|
+
}
|
|
204
|
+
return !a && n && (P = n), n || !a && P;
|
|
205
|
+
}, $ = function(r, i) {
|
|
206
|
+
if (f(r))
|
|
207
|
+
return r.clone();
|
|
208
|
+
var e = typeof i == "object" ? i : {};
|
|
209
|
+
return e.date = r, e.args = arguments, new H(e);
|
|
210
|
+
}, d = B;
|
|
211
|
+
d.l = k, d.i = f, d.w = function(r, i) {
|
|
212
|
+
return $(r, { locale: i.$L, utc: i.$u, x: i.$x, $offset: i.$offset });
|
|
200
213
|
};
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
214
|
+
var H = function() {
|
|
215
|
+
function r(e) {
|
|
216
|
+
this.$L = k(e.locale, null, !0), this.parse(e), this.$x = this.$x || e.x || {}, this[F] = !0;
|
|
217
|
+
}
|
|
218
|
+
var i = r.prototype;
|
|
219
|
+
return i.parse = function(e) {
|
|
220
|
+
this.$d = function(a) {
|
|
221
|
+
var n = a.date, u = a.utc;
|
|
222
|
+
if (n === null)
|
|
223
|
+
return /* @__PURE__ */ new Date(NaN);
|
|
224
|
+
if (d.u(n))
|
|
225
|
+
return /* @__PURE__ */ new Date();
|
|
226
|
+
if (n instanceof Date)
|
|
227
|
+
return new Date(n);
|
|
228
|
+
if (typeof n == "string" && !/Z$/i.test(n)) {
|
|
229
|
+
var o = n.match(W);
|
|
230
|
+
if (o) {
|
|
231
|
+
var m = o[2] - 1 || 0, g = (o[7] || "0").substring(0, 3);
|
|
232
|
+
return u ? new Date(Date.UTC(o[1], m, o[3] || 1, o[4] || 0, o[5] || 0, o[6] || 0, g)) : new Date(o[1], m, o[3] || 1, o[4] || 0, o[5] || 0, o[6] || 0, g);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return new Date(n);
|
|
236
|
+
}(e), this.init();
|
|
237
|
+
}, i.init = function() {
|
|
238
|
+
var e = this.$d;
|
|
239
|
+
this.$y = e.getFullYear(), this.$M = e.getMonth(), this.$D = e.getDate(), this.$W = e.getDay(), this.$H = e.getHours(), this.$m = e.getMinutes(), this.$s = e.getSeconds(), this.$ms = e.getMilliseconds();
|
|
240
|
+
}, i.$utils = function() {
|
|
241
|
+
return d;
|
|
242
|
+
}, i.isValid = function() {
|
|
243
|
+
return this.$d.toString() !== j;
|
|
244
|
+
}, i.isSame = function(e, a) {
|
|
245
|
+
var n = $(e);
|
|
246
|
+
return this.startOf(a) <= n && n <= this.endOf(a);
|
|
247
|
+
}, i.isAfter = function(e, a) {
|
|
248
|
+
return $(e) < this.startOf(a);
|
|
249
|
+
}, i.isBefore = function(e, a) {
|
|
250
|
+
return this.endOf(a) < $(e);
|
|
251
|
+
}, i.$g = function(e, a, n) {
|
|
252
|
+
return d.u(e) ? this[a] : this.set(n, e);
|
|
253
|
+
}, i.unix = function() {
|
|
254
|
+
return Math.floor(this.valueOf() / 1e3);
|
|
255
|
+
}, i.valueOf = function() {
|
|
256
|
+
return this.$d.getTime();
|
|
257
|
+
}, i.startOf = function(e, a) {
|
|
258
|
+
var n = this, u = !!d.u(a) || a, o = d.p(e), m = function(T, w) {
|
|
259
|
+
var V = d.w(n.$u ? Date.UTC(n.$y, w, T) : new Date(n.$y, w, T), n);
|
|
260
|
+
return u ? V : V.endOf(_);
|
|
261
|
+
}, g = function(T, w) {
|
|
262
|
+
return d.w(n.toDate()[T].apply(n.toDate("s"), (u ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(w)), n);
|
|
263
|
+
}, v = this.$W, D = this.$M, S = this.$D, C = "set" + (this.$u ? "UTC" : "");
|
|
264
|
+
switch (o) {
|
|
265
|
+
case c:
|
|
266
|
+
return u ? m(1, 0) : m(31, 11);
|
|
267
|
+
case q:
|
|
268
|
+
return u ? m(1, D) : m(0, D + 1);
|
|
269
|
+
case N:
|
|
270
|
+
var I = this.$locale().weekStart || 0, E = (v < I ? v + 7 : v) - I;
|
|
271
|
+
return m(u ? S - E : S + (6 - E), D);
|
|
272
|
+
case _:
|
|
273
|
+
case x:
|
|
274
|
+
return g(C + "Hours", 0);
|
|
275
|
+
case A:
|
|
276
|
+
return g(C + "Minutes", 1);
|
|
277
|
+
case h:
|
|
278
|
+
return g(C + "Seconds", 2);
|
|
279
|
+
case O:
|
|
280
|
+
return g(C + "Milliseconds", 3);
|
|
281
|
+
default:
|
|
282
|
+
return this.clone();
|
|
283
|
+
}
|
|
284
|
+
}, i.endOf = function(e) {
|
|
285
|
+
return this.startOf(e, !1);
|
|
286
|
+
}, i.$set = function(e, a) {
|
|
287
|
+
var n, u = d.p(e), o = "set" + (this.$u ? "UTC" : ""), m = (n = {}, n[_] = o + "Date", n[x] = o + "Date", n[q] = o + "Month", n[c] = o + "FullYear", n[A] = o + "Hours", n[h] = o + "Minutes", n[O] = o + "Seconds", n[b] = o + "Milliseconds", n)[u], g = u === _ ? this.$D + (a - this.$W) : a;
|
|
288
|
+
if (u === q || u === c) {
|
|
289
|
+
var v = this.clone().set(x, 1);
|
|
290
|
+
v.$d[m](g), v.init(), this.$d = v.set(x, Math.min(this.$D, v.daysInMonth())).$d;
|
|
291
|
+
} else
|
|
292
|
+
m && this.$d[m](g);
|
|
293
|
+
return this.init(), this;
|
|
294
|
+
}, i.set = function(e, a) {
|
|
295
|
+
return this.clone().$set(e, a);
|
|
296
|
+
}, i.get = function(e) {
|
|
297
|
+
return this[d.p(e)]();
|
|
298
|
+
}, i.add = function(e, a) {
|
|
299
|
+
var n, u = this;
|
|
300
|
+
e = Number(e);
|
|
301
|
+
var o = d.p(a), m = function(D) {
|
|
302
|
+
var S = $(u);
|
|
303
|
+
return d.w(S.date(S.date() + Math.round(D * e)), u);
|
|
304
|
+
};
|
|
305
|
+
if (o === q)
|
|
306
|
+
return this.set(q, this.$M + e);
|
|
307
|
+
if (o === c)
|
|
308
|
+
return this.set(c, this.$y + e);
|
|
309
|
+
if (o === _)
|
|
310
|
+
return m(1);
|
|
311
|
+
if (o === N)
|
|
312
|
+
return m(7);
|
|
313
|
+
var g = (n = {}, n[h] = y, n[A] = M, n[O] = s, n)[o] || 1, v = this.$d.getTime() + e * g;
|
|
314
|
+
return d.w(v, this);
|
|
315
|
+
}, i.subtract = function(e, a) {
|
|
316
|
+
return this.add(-1 * e, a);
|
|
317
|
+
}, i.format = function(e) {
|
|
318
|
+
var a = this, n = this.$locale();
|
|
319
|
+
if (!this.isValid())
|
|
320
|
+
return n.invalidDate || j;
|
|
321
|
+
var u = e || "YYYY-MM-DDTHH:mm:ssZ", o = d.z(this), m = this.$H, g = this.$m, v = this.$M, D = n.weekdays, S = n.months, C = n.meridiem, I = function(w, V, Q, R) {
|
|
322
|
+
return w && (w[V] || w(a, u)) || Q[V].slice(0, R);
|
|
323
|
+
}, E = function(w) {
|
|
324
|
+
return d.s(m % 12 || 12, w, "0");
|
|
325
|
+
}, T = C || function(w, V, Q) {
|
|
326
|
+
var R = w < 12 ? "AM" : "PM";
|
|
327
|
+
return Q ? R.toLowerCase() : R;
|
|
328
|
+
};
|
|
329
|
+
return u.replace(z, function(w, V) {
|
|
330
|
+
return V || function(Q) {
|
|
331
|
+
switch (Q) {
|
|
332
|
+
case "YY":
|
|
333
|
+
return String(a.$y).slice(-2);
|
|
334
|
+
case "YYYY":
|
|
335
|
+
return d.s(a.$y, 4, "0");
|
|
336
|
+
case "M":
|
|
337
|
+
return v + 1;
|
|
338
|
+
case "MM":
|
|
339
|
+
return d.s(v + 1, 2, "0");
|
|
340
|
+
case "MMM":
|
|
341
|
+
return I(n.monthsShort, v, S, 3);
|
|
342
|
+
case "MMMM":
|
|
343
|
+
return I(S, v);
|
|
344
|
+
case "D":
|
|
345
|
+
return a.$D;
|
|
346
|
+
case "DD":
|
|
347
|
+
return d.s(a.$D, 2, "0");
|
|
348
|
+
case "d":
|
|
349
|
+
return String(a.$W);
|
|
350
|
+
case "dd":
|
|
351
|
+
return I(n.weekdaysMin, a.$W, D, 2);
|
|
352
|
+
case "ddd":
|
|
353
|
+
return I(n.weekdaysShort, a.$W, D, 3);
|
|
354
|
+
case "dddd":
|
|
355
|
+
return D[a.$W];
|
|
356
|
+
case "H":
|
|
357
|
+
return String(m);
|
|
358
|
+
case "HH":
|
|
359
|
+
return d.s(m, 2, "0");
|
|
360
|
+
case "h":
|
|
361
|
+
return E(1);
|
|
362
|
+
case "hh":
|
|
363
|
+
return E(2);
|
|
364
|
+
case "a":
|
|
365
|
+
return T(m, g, !0);
|
|
366
|
+
case "A":
|
|
367
|
+
return T(m, g, !1);
|
|
368
|
+
case "m":
|
|
369
|
+
return String(g);
|
|
370
|
+
case "mm":
|
|
371
|
+
return d.s(g, 2, "0");
|
|
372
|
+
case "s":
|
|
373
|
+
return String(a.$s);
|
|
374
|
+
case "ss":
|
|
375
|
+
return d.s(a.$s, 2, "0");
|
|
376
|
+
case "SSS":
|
|
377
|
+
return d.s(a.$ms, 3, "0");
|
|
378
|
+
case "Z":
|
|
379
|
+
return o;
|
|
380
|
+
}
|
|
381
|
+
return null;
|
|
382
|
+
}(w) || o.replace(":", "");
|
|
383
|
+
});
|
|
384
|
+
}, i.utcOffset = function() {
|
|
385
|
+
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
386
|
+
}, i.diff = function(e, a, n) {
|
|
387
|
+
var u, o = this, m = d.p(a), g = $(e), v = (g.utcOffset() - this.utcOffset()) * y, D = this - g, S = function() {
|
|
388
|
+
return d.m(o, g);
|
|
389
|
+
};
|
|
390
|
+
switch (m) {
|
|
391
|
+
case c:
|
|
392
|
+
u = S() / 12;
|
|
393
|
+
break;
|
|
394
|
+
case q:
|
|
395
|
+
u = S();
|
|
396
|
+
break;
|
|
397
|
+
case p:
|
|
398
|
+
u = S() / 3;
|
|
399
|
+
break;
|
|
400
|
+
case N:
|
|
401
|
+
u = (D - v) / 6048e5;
|
|
402
|
+
break;
|
|
403
|
+
case _:
|
|
404
|
+
u = (D - v) / 864e5;
|
|
405
|
+
break;
|
|
406
|
+
case A:
|
|
407
|
+
u = D / M;
|
|
408
|
+
break;
|
|
409
|
+
case h:
|
|
410
|
+
u = D / y;
|
|
411
|
+
break;
|
|
412
|
+
case O:
|
|
413
|
+
u = D / s;
|
|
414
|
+
break;
|
|
415
|
+
default:
|
|
416
|
+
u = D;
|
|
417
|
+
}
|
|
418
|
+
return n ? u : d.a(u);
|
|
419
|
+
}, i.daysInMonth = function() {
|
|
420
|
+
return this.endOf(q).$D;
|
|
421
|
+
}, i.$locale = function() {
|
|
422
|
+
return L[this.$L];
|
|
423
|
+
}, i.locale = function(e, a) {
|
|
424
|
+
if (!e)
|
|
425
|
+
return this.$L;
|
|
426
|
+
var n = this.clone(), u = k(e, a, !0);
|
|
427
|
+
return u && (n.$L = u), n;
|
|
428
|
+
}, i.clone = function() {
|
|
429
|
+
return d.w(this.$d, this);
|
|
430
|
+
}, i.toDate = function() {
|
|
431
|
+
return new Date(this.valueOf());
|
|
432
|
+
}, i.toJSON = function() {
|
|
433
|
+
return this.isValid() ? this.toISOString() : null;
|
|
434
|
+
}, i.toISOString = function() {
|
|
435
|
+
return this.$d.toISOString();
|
|
436
|
+
}, i.toString = function() {
|
|
437
|
+
return this.$d.toUTCString();
|
|
438
|
+
}, r;
|
|
439
|
+
}(), U = H.prototype;
|
|
440
|
+
return $.prototype = U, [["$ms", b], ["$s", O], ["$m", h], ["$H", A], ["$W", _], ["$M", q], ["$y", c], ["$D", x]].forEach(function(r) {
|
|
441
|
+
U[r[1]] = function(i) {
|
|
442
|
+
return this.$g(i, r[0], r[1]);
|
|
443
|
+
};
|
|
444
|
+
}), $.extend = function(r, i) {
|
|
445
|
+
return r.$i || (r(i, H, $), r.$i = !0), $;
|
|
446
|
+
}, $.locale = k, $.isDayjs = f, $.unix = function(r) {
|
|
447
|
+
return $(1e3 * r);
|
|
448
|
+
}, $.en = L[P], $.Ls = L, $.p = {}, $;
|
|
449
|
+
});
|
|
450
|
+
})(G);
|
|
451
|
+
var et = G.exports;
|
|
452
|
+
const J = /* @__PURE__ */ tt(et), rt = ({ data: l }) => {
|
|
453
|
+
const t = {}, s = { ...l };
|
|
454
|
+
return s.default && (s.default.startTime && (t.startTime = J(s.default.startTime).format()), s.default.endTime && (t.endTime = J(s.default.endTime).format()), s.default.expirationTime && (t.expirationTime = J(s.default.expirationTime).format())), s.advanced && (s.advanced.currency && (t.currency = s.advanced.currency), s.advanced.timezone && (t.timezone = s.advanced.timezone), s.advanced.billingPlan && (t.billingPlan = s.advanced.billingPlan), s.advanced.defaultTermDuration && (t.defaultTermDuration = s.advanced.defaultTermDuration), s.advanced.installmentPlan && (t.installmentPlan = s.advanced.installmentPlan), s.advanced.durationBasis && (t.durationBasis = s.advanced.durationBasis), s.advanced.delinquencyPlanName && (t.delinquencyPlanName = s.advanced.delinquencyPlanName)), delete s.default, delete s.advanced, t.setData = s, t;
|
|
455
|
+
}, nt = (l) => {
|
|
456
|
+
const t = /^(.*?)(Quote|QuickQuote|Policy)$/, s = l.match(t);
|
|
457
|
+
return s && (s[2] === "Quote" || s[2] === "QuickQuote" || s[2] === "Policy") ? [s[1], s[2]] : [l, null];
|
|
206
458
|
};
|
|
207
|
-
function
|
|
208
|
-
if (
|
|
209
|
-
return
|
|
210
|
-
if (
|
|
211
|
-
for (const
|
|
212
|
-
const
|
|
213
|
-
if (
|
|
214
|
-
return
|
|
459
|
+
function it(l, t) {
|
|
460
|
+
if (l.locator === t)
|
|
461
|
+
return l;
|
|
462
|
+
if (l.elements)
|
|
463
|
+
for (const s of l.elements) {
|
|
464
|
+
const y = it(s, t);
|
|
465
|
+
if (y)
|
|
466
|
+
return y;
|
|
215
467
|
}
|
|
216
468
|
}
|
|
217
|
-
function
|
|
218
|
-
const [
|
|
219
|
-
|
|
469
|
+
function ut(l, t) {
|
|
470
|
+
const [s] = nt(
|
|
471
|
+
l.type ?? ""
|
|
220
472
|
);
|
|
221
|
-
let
|
|
222
|
-
return
|
|
223
|
-
|
|
224
|
-
}),
|
|
225
|
-
|
|
226
|
-
}),
|
|
227
|
-
|
|
228
|
-
}),
|
|
229
|
-
|
|
230
|
-
}),
|
|
473
|
+
let y = {};
|
|
474
|
+
return t.exposures && Object.keys(t.exposures).forEach((M) => {
|
|
475
|
+
M === s && t.exposures && (y = t.exposures[M]);
|
|
476
|
+
}), t.coverages && Object.keys(t.coverages).forEach((M) => {
|
|
477
|
+
M === s && t.coverages && (y = t.coverages[M]);
|
|
478
|
+
}), t.policyLines && Object.keys(t.policyLines).forEach((M) => {
|
|
479
|
+
M === s && t.policyLines && (y = t.policyLines[M]);
|
|
480
|
+
}), t.exposureGroups && Object.keys(t.exposureGroups).forEach((M) => {
|
|
481
|
+
M === s && t.exposureGroups && (y = t.exposureGroups[M]);
|
|
482
|
+
}), y;
|
|
231
483
|
}
|
|
232
|
-
function
|
|
233
|
-
return
|
|
484
|
+
function ot(l) {
|
|
485
|
+
return l == null ? void 0 : l.map((t) => (t.keyword === "pattern" && (t.message = `Invalid format, must match pattern ${t.params.pattern}`), t.keyword === "format" && (t.message = "Invalid format"), t.keyword === "required" && (t.message = "Required"), t.keyword === "minItems" && (t.message = `Must have at least ${t.params.limit} item${t.params.limit !== 1 ? "s" : ""}`), t.keyword === "maxItems" && (t.message = `Must have at most ${t.params.limit} item${t.params.limit !== 1 ? "s" : ""}`), t.keyword === "type" && (t.message = "Invalid format"), t.keyword === "maxLength" && (t.message = `Must be at most ${t.params.limit} character${t.params.limit !== 1 ? "s" : ""}`), t.keyword === "minLength" && (t.message = `Must be at least ${t.params.limit} character${t.params.limit !== 1 ? "s" : ""}`), t.keyword === "minimum" && (t.message = `Must be greater than or equal to ${t.params.limit}`), t.keyword === "maximum" && (t.message = `Must be less than or equal to ${t.params.limit}`), t.keyword === "enum" && (t.message = "Invalid value"), t));
|
|
234
486
|
}
|
|
235
487
|
export {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
488
|
+
K as dataModelToJSONSchema,
|
|
489
|
+
at as getAccountRequest,
|
|
490
|
+
st as getQuoteElementRequest,
|
|
491
|
+
rt as getQuoteRequest,
|
|
492
|
+
nt as parseElementTypeAndScopeByElementType,
|
|
493
|
+
ut as retrieveDataModelFromElement,
|
|
494
|
+
it as retrieveElementFromQuoteByLocator,
|
|
495
|
+
ot as transformErrors
|
|
244
496
|
};
|
|
245
497
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-account-request.ts","../lib/utils/get-quote-element-request.ts","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { AccountRequest } from '@socotra/ec-react-schemas';\n\nexport const getAccountRequest = (formData: TODO): AccountRequest => {\n\tconst autoValidate = formData.autoValidate;\n\tconst delinquencyPlanName = formData.delinquencyPlanName;\n\tconst type = formData.accountType;\n\n\t// filter out the accountType, autoValidate, and delinquencyPlanName\n\tconst data = Object.keys(formData).reduce(\n\t\t(acc, key) => {\n\t\t\tif (\n\t\t\t\tkey !== 'accountType' &&\n\t\t\t\tkey !== 'autoValidate' &&\n\t\t\t\tkey !== 'delinquencyPlanName'\n\t\t\t) {\n\t\t\t\tacc[key] = formData[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [key: string]: object },\n\t);\n\n\tconst request = {\n\t\tautoValidate,\n\t\tdelinquencyPlanName,\n\t\ttype,\n\t\tdata,\n\t};\n\n\treturn request;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","import { AccountRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ninterface QuoteDefaultFields {\n\tdelinquencyPlanName: string;\n\tstartTime: string;\n\tendTime: string;\n\tcurrency: string;\n\texpirationTime: string;\n\ttimezone: string;\n}\n\ntype GetQuoteRequestAttributes =\n\t| {\n\t\t\tformData: object;\n\t\t\thideDefaultFields: true;\n\t\t\thideConfiguredFields: true;\n\t }\n\t| {\n\t\t\tformData: QuoteDefaultFields;\n\t\t\thideDefaultFields: false;\n\t\t\thideConfiguredFields: true;\n\t }\n\t| {\n\t\t\tformData: TODO;\n\t\t\thideDefaultFields: true;\n\t\t\thideConfiguredFields: false;\n\t }\n\t| {\n\t\t\tformData: QuoteDefaultFields & TODO;\n\t\t\thideDefaultFields: false;\n\t\t\thideConfiguredFields: false;\n\t };\n\nfunction removeQuoteDefaultFields(formData: QuoteDefaultFields & TODO): TODO {\n\tconst {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t\t...rest\n\t} = formData;\n\n\treturn rest;\n}\n\nfunction getQuoteDefaultFields(formData: TODO): QuoteDefaultFields {\n\tconst {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t} = formData;\n\n\treturn {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t};\n}\n\nexport const getQuoteRequest = ({\n\tformData,\n\thideDefaultFields,\n\thideConfiguredFields,\n}: GetQuoteRequestAttributes): AccountRequest => {\n\tlet request: QuoteRequest = {};\n\n\tif (!hideDefaultFields) {\n\t\tconst defaultFields = getQuoteDefaultFields(formData);\n\t\trequest = {\n\t\t\t...defaultFields,\n\t\t};\n\t}\n\n\tif (!hideConfiguredFields) {\n\t\tconst quoteFields = removeQuoteDefaultFields(formData);\n\t\trequest = {\n\t\t\t...request,\n\t\t\tsetData: quoteFields,\n\t\t};\n\t}\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\treturn error;\n\t});\n}\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","_a","dataScope","s","key","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","str","defaultValue","dataKey","getAccountRequest","formData","autoValidate","delinquencyPlanName","acc","getQuoteElementRequest","locator","removeQuoteDefaultFields","startTime","endTime","currency","expirationTime","timezone","rest","getQuoteDefaultFields","getQuoteRequest","hideDefaultFields","hideConfiguredFields","request","quoteFields","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-account-request.ts","../lib/utils/get-quote-element-request.ts","../../../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { AccountRequest } from '@socotra/ec-react-schemas';\n\nexport const getAccountRequest = (formData: TODO): AccountRequest => {\n\tconst autoValidate = formData.autoValidate;\n\tconst delinquencyPlanName = formData.delinquencyPlanName;\n\tconst type = formData.accountType;\n\n\t// filter out the accountType, autoValidate, and delinquencyPlanName\n\tconst data = Object.keys(formData).reduce(\n\t\t(acc, key) => {\n\t\t\tif (\n\t\t\t\tkey !== 'accountType' &&\n\t\t\t\tkey !== 'autoValidate' &&\n\t\t\t\tkey !== 'delinquencyPlanName'\n\t\t\t) {\n\t\t\t\tacc[key] = formData[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [key: string]: object },\n\t);\n\n\tconst request = {\n\t\tautoValidate,\n\t\tdelinquencyPlanName,\n\t\ttype,\n\t\tdata,\n\t};\n\n\treturn request;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { QuoteRequest } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\ninterface QuoteFormData {\n\tdata: {\n\t\tdefault?: {\n\t\t\tstartTime?: string;\n\t\t\tendTime?: string;\n\t\t\texpirationTime?: string;\n\t\t};\n\t\tadvanced?: {\n\t\t\tcurrency?: string;\n\t\t\ttimezone?: string;\n\t\t\tbillingPlan?: string;\n\t\t\tdefaultTermDuration?: string;\n\t\t\tinstallmentPlan?: string;\n\t\t\tdurationBasis?: string;\n\t\t\tdelinquencyPlanName?: string;\n\t\t};\n\t\t[key: string]: any;\n\t};\n}\n\nexport const getQuoteRequest = ({ data }: QuoteFormData): QuoteRequest => {\n\tconst request: QuoteRequest = {};\n\n\t// copy formData into a new object\n\tconst formData = { ...data };\n\n\tif (formData.default) {\n\t\tif (formData.default.startTime) {\n\t\t\trequest.startTime = dayjs(formData.default.startTime).format();\n\t\t}\n\t\tif (formData.default.endTime) {\n\t\t\trequest.endTime = dayjs(formData.default.endTime).format();\n\t\t}\n\t\tif (formData.default.expirationTime) {\n\t\t\trequest.expirationTime = dayjs(formData.default.expirationTime).format();\n\t\t}\n\t}\n\n\tif (formData.advanced) {\n\t\tif (formData.advanced.currency) {\n\t\t\trequest.currency = formData.advanced.currency;\n\t\t}\n\t\tif (formData.advanced.timezone) {\n\t\t\trequest.timezone = formData.advanced.timezone;\n\t\t}\n\t\tif (formData.advanced.billingPlan) {\n\t\t\trequest.billingPlan = formData.advanced.billingPlan;\n\t\t}\n\t\tif (formData.advanced.defaultTermDuration) {\n\t\t\trequest.defaultTermDuration = formData.advanced.defaultTermDuration;\n\t\t}\n\t\tif (formData.advanced.installmentPlan) {\n\t\t\trequest.installmentPlan = formData.advanced.installmentPlan;\n\t\t}\n\t\tif (formData.advanced.durationBasis) {\n\t\t\trequest.durationBasis = formData.advanced.durationBasis;\n\t\t}\n\t\tif (formData.advanced.delinquencyPlanName) {\n\t\t\trequest.delinquencyPlanName = formData.advanced.delinquencyPlanName;\n\t\t}\n\t}\n\n\tdelete formData.default;\n\tdelete formData.advanced;\n\n\trequest.setData = formData;\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'enum') {\n\t\t\terror.message = 'Invalid value';\n\t\t}\n\t\treturn error;\n\t});\n}\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","_a","dataScope","s","key","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","str","defaultValue","dataKey","getAccountRequest","formData","autoValidate","delinquencyPlanName","acc","getQuoteElementRequest","locator","t","e","module","this","n","r","i","u","a","o","c","f","h","d","l","$","y","M","m","v","g","D","p","S","_","w","O","b","k","getQuoteRequest","request","dayjs","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error"],"mappings":"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","x_google_ignoreList":[3]}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(c,d){typeof exports=="object"&&typeof module<"u"?d(exports):typeof define=="function"&&define.amd?define(["exports"],d):(c=typeof globalThis<"u"?globalThis:c||self,d(c.schemas={}))})(this,function(c){"use strict";const d=s=>{const{data:e,scope:n,dataTypes:a,rootDisplayName:o,account:l,quote:r,element:m}=s,V=[];let x={};const te=Object.fromEntries(Object.entries(e??{}).filter(([,u])=>{var f;const i=(f=u.scope)==null?void 0:f.split(",").map(p=>p.trim());return!!(!i||n==="P"&&(i!=null&&i.includes("P"))||i!=null&&i.includes("Q")||n==="Q"&&(i!=null&&i.includes("Q")))}).map(([u,i])=>{var P,I,R,A,B,N,D,C,S,k,G,z,J,U,Z,K,H;let f=!1,p=!1,E=!1;const j=i.displayName??u,se=(P=i.type)==null?void 0:P.slice(-1),q=i.maxLength,T=i.minLength,$=i.max,Q=i.min,F=i.regex;let t=i.type??"",g;switch(se){case"*":p=!0,f=!0,t=t==null?void 0:t.split("*")[0];break;case"?":t=t==null?void 0:t.split("?")[0],f=!0;break;case"+":p=!0,t=t==null?void 0:t.split("+")[0];break;case"!":t=t==null?void 0:t.split("!")[0];break}switch(t){case"string":t="string";break;case"int":case"long":t="integer";break;case"decimal":t="number";break;case"dateTime":t="string",g="date-time";break;case"date":t="string",g="date";break;case"boolean":case"bool":t="boolean";break;default:E=!0;break}if(!f&&!E&&!p&&V.push(u),E){const h=a==null?void 0:a[t];if(h){let y=p?[]:{};const ie=d({data:h.data??{},scope:n,dataTypes:a,rootDisplayName:u});return r&&(R=(I=r.element)==null?void 0:I.data)!=null&&R[u]&&(y=(B=(A=r.element)==null?void 0:A.data)==null?void 0:B[u]),m&&(N=m==null?void 0:m.data)!=null&&N[u]&&(y=(D=m==null?void 0:m.data)==null?void 0:D[u]),l&&(C=l==null?void 0:l.data)!=null&&C[u]&&(y=(S=l==null?void 0:l.data)==null?void 0:S[u]),x={...x,[`${t}`]:ie},p?[u,{title:u.replace(/([A-Z])/g," $1").replace(/^./,function(w){return w.toUpperCase()}),type:"array",default:y,items:{$ref:`#/definitions/${t}`},...!f&&{minItems:1}}]:[u,{title:u.replace(/([A-Z])/g," $1").replace(/^./,function(w){return w.toUpperCase()}),default:y,$ref:`#/definitions/${t}`}]}}let b="";if(l){const h=(l==null?void 0:l.state)==="validated"?u.charAt(0).toLowerCase()+u.slice(1):u;b=(k=l==null?void 0:l.data)!=null&&k[h]?(G=l==null?void 0:l.data)==null?void 0:G[h]:t==="boolean"?!!i.defaultValue:i.defaultValue}return r&&(b=(J=(z=r.element)==null?void 0:z.data)!=null&&J[u]?(Z=(U=r.element)==null?void 0:U.data)==null?void 0:Z[u]:t==="boolean"?!!i.defaultValue:i.defaultValue),m&&(b=(K=m==null?void 0:m.data)!=null&&K[u]?(H=m==null?void 0:m.data)==null?void 0:H[u]:t==="boolean"?!!i.defaultValue:i.defaultValue),p?[u,{title:j,type:"array",default:b,items:{type:t,...q&&{maxLength:q},...T&&{minLength:T},...Q&&{min:Q},...$&&{max:$},...g&&{format:g},...F&&{pattern:i.regex}},...!f&&{minItems:1}}]:[u,{title:j,type:t,...b&&{default:b},...T&&{minLength:T},...q&&{maxLength:q},...Q&&{minimum:parseInt(Q)},...$&&{maximum:parseInt($)},...g&&{format:g},...i.options&&{enum:i.options},...F&&{pattern:i.regex}}]}));return{title:o,type:"object",definitions:x,required:V,properties:te}},W=s=>{const e=s.autoValidate,n=s.delinquencyPlanName,a=s.accountType,o=Object.keys(s).reduce((r,m)=>(m!=="accountType"&&m!=="autoValidate"&&m!=="delinquencyPlanName"&&(r[m]=s[m]),r),{});return{autoValidate:e,delinquencyPlanName:n,type:a,data:o}},X=({formData:s,locator:e})=>({elements:[{locator:e,setData:s}]});function Y(s){const{delinquencyPlanName:e,startTime:n,endTime:a,currency:o,expirationTime:l,timezone:r,...m}=s;return m}function _(s){const{delinquencyPlanName:e,startTime:n,endTime:a,currency:o,expirationTime:l,timezone:r}=s;return{delinquencyPlanName:e,startTime:n,endTime:a,currency:o,expirationTime:l,timezone:r}}const v=({formData:s,hideDefaultFields:e,hideConfiguredFields:n})=>{let a={};if(e||(a={..._(s)}),!n){const o=Y(s);a={...a,setData:o}}return a},L=s=>{const e=/^(.*?)(Quote|QuickQuote|Policy)$/,n=s.match(e);return n&&(n[2]==="Quote"||n[2]==="QuickQuote"||n[2]==="Policy")?[n[1],n[2]]:[s,null]};function O(s,e){if(s.locator===e)return s;if(s.elements)for(const n of s.elements){const a=O(n,e);if(a)return a}}function M(s,e){const[n]=L(s.type??"");let a={};return e.exposures&&Object.keys(e.exposures).forEach(o=>{o===n&&e.exposures&&(a=e.exposures[o])}),e.coverages&&Object.keys(e.coverages).forEach(o=>{o===n&&e.coverages&&(a=e.coverages[o])}),e.policyLines&&Object.keys(e.policyLines).forEach(o=>{o===n&&e.policyLines&&(a=e.policyLines[o])}),e.exposureGroups&&Object.keys(e.exposureGroups).forEach(o=>{o===n&&e.exposureGroups&&(a=e.exposureGroups[o])}),a}function ee(s){return s==null?void 0:s.map(e=>(e.keyword==="pattern"&&(e.message=`Invalid format, must match pattern ${e.params.pattern}`),e.keyword==="format"&&(e.message="Invalid format"),e.keyword==="required"&&(e.message="Required"),e.keyword==="minItems"&&(e.message=`Must have at least ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="maxItems"&&(e.message=`Must have at most ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="type"&&(e.message="Invalid format"),e.keyword==="maxLength"&&(e.message=`Must be at most ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minLength"&&(e.message=`Must be at least ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minimum"&&(e.message=`Must be greater than or equal to ${e.params.limit}`),e.keyword==="maximum"&&(e.message=`Must be less than or equal to ${e.params.limit}`),e))}c.dataModelToJSONSchema=d,c.getAccountRequest=W,c.getQuoteElementRequest=X,c.getQuoteRequest=v,c.parseElementTypeAndScopeByElementType=L,c.retrieveDataModelFromElement=M,c.retrieveElementFromQuoteByLocator=O,c.transformErrors=ee,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(x,B){typeof exports=="object"&&typeof module<"u"?B(exports):typeof define=="function"&&define.amd?define(["exports"],B):(x=typeof globalThis<"u"?globalThis:x||self,B(x.schemas={}))})(this,function(x){"use strict";const B=l=>{const{data:e,scope:s,dataTypes:y,rootDisplayName:M,account:b,quote:T,element:h}=l,A=[];let _={};const F=Object.fromEntries(Object.entries(e??{}).filter(([,p])=>{var S;const c=(S=p.scope)==null?void 0:S.split(",").map(k=>k.trim());return!!(!c||s==="P"&&(c!=null&&c.includes("P"))||c!=null&&c.includes("Q")||s==="Q"&&(c!=null&&c.includes("Q")))}).map(([p,c])=>{var H,z,r,i,t,a,n,u,o,m,g,v,D,O,V,I,Y;let S=!1,k=!1,W=!1;const J=c.displayName??p,K=(H=c.type)==null?void 0:H.slice(-1),N=c.maxLength,R=c.minLength,E=c.max,L=c.min,U=c.regex;let f=c.type??"",P;switch(K){case"*":k=!0,S=!0,f=f==null?void 0:f.split("*")[0];break;case"?":f=f==null?void 0:f.split("?")[0],S=!0;break;case"+":k=!0,f=f==null?void 0:f.split("+")[0];break;case"!":f=f==null?void 0:f.split("!")[0];break}switch(f){case"string":f="string";break;case"int":case"long":f="integer";break;case"decimal":f="number";break;case"dateTime":f="string",P="date-time";break;case"date":f="string",P="date";break;case"boolean":case"bool":f="boolean";break;default:W=!0;break}if(!S&&!W&&!k&&A.push(p),W){const q=y==null?void 0:y[f];if(q){let w=k?[]:{};const Q=B({data:q.data??{},scope:s,dataTypes:y,rootDisplayName:p});return T&&(r=(z=T.element)==null?void 0:z.data)!=null&&r[p]&&(w=(t=(i=T.element)==null?void 0:i.data)==null?void 0:t[p]),h&&(a=h==null?void 0:h.data)!=null&&a[p]&&(w=(n=h==null?void 0:h.data)==null?void 0:n[p]),b&&(u=b==null?void 0:b.data)!=null&&u[p]&&(w=(o=b==null?void 0:b.data)==null?void 0:o[p]),_={..._,[`${f}`]:Q},k?[p,{title:p.replace(/([A-Z])/g," $1").replace(/^./,function(C){return C.toUpperCase()}),type:"array",default:w,items:{$ref:`#/definitions/${f}`},...!S&&{minItems:1}}]:[p,{title:p.replace(/([A-Z])/g," $1").replace(/^./,function(C){return C.toUpperCase()}),default:w,$ref:`#/definitions/${f}`}]}}let $="";if(b){const q=(b==null?void 0:b.state)==="validated"?p.charAt(0).toLowerCase()+p.slice(1):p;$=(m=b==null?void 0:b.data)!=null&&m[q]?(g=b==null?void 0:b.data)==null?void 0:g[q]:f==="boolean"?!!c.defaultValue:c.defaultValue}return T&&($=(D=(v=T.element)==null?void 0:v.data)!=null&&D[p]?(V=(O=T.element)==null?void 0:O.data)==null?void 0:V[p]:f==="boolean"?!!c.defaultValue:c.defaultValue),h&&($=(I=h==null?void 0:h.data)!=null&&I[p]?(Y=h==null?void 0:h.data)==null?void 0:Y[p]:f==="boolean"?!!c.defaultValue:c.defaultValue),k?[p,{title:J,type:"array",default:$,items:{type:f,...N&&{maxLength:N},...R&&{minLength:R},...L&&{min:L},...E&&{max:E},...P&&{format:P},...U&&{pattern:c.regex}},...!S&&{minItems:1}}]:[p,{title:J,type:f,...$&&{default:$},...R&&{minLength:R},...N&&{maxLength:N},...L&&{minimum:parseInt(L)},...E&&{maximum:parseInt(E)},...P&&{format:P},...c.options&&{enum:c.options},...U&&{pattern:c.regex}}]}));return{title:M,type:"object",definitions:_,required:A,properties:F}},ne=l=>{const e=l.autoValidate,s=l.delinquencyPlanName,y=l.accountType,M=Object.keys(l).reduce((T,h)=>(h!=="accountType"&&h!=="autoValidate"&&h!=="delinquencyPlanName"&&(T[h]=l[h]),T),{});return{autoValidate:e,delinquencyPlanName:s,type:y,data:M}},ie=({formData:l,locator:e})=>({elements:[{locator:e,setData:l}]});var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function se(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var X={exports:{}};(function(l,e){(function(s,y){l.exports=y()})(ae,function(){var s=1e3,y=6e4,M=36e5,b="millisecond",T="second",h="minute",A="hour",_="day",F="week",j="month",p="quarter",c="year",S="date",k="Invalid Date",W=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,J=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,K={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},N=function(r,i,t){var a=String(r);return!a||a.length>=i?r:""+Array(i+1-a.length).join(t)+r},R={s:N,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),a=Math.floor(t/60),n=t%60;return(i<=0?"+":"-")+N(a,2,"0")+":"+N(n,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var a=12*(t.year()-i.year())+(t.month()-i.month()),n=i.clone().add(a,j),u=t-n<0,o=i.clone().add(a+(u?-1:1),j);return+(-(a+(t-n)/(u?n-o:o-n))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:j,y:c,w:F,d:_,D:S,h:A,m:h,s:T,ms:b,Q:p}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},E="en",L={};L[E]=K;var U="$isDayjsObject",f=function(r){return r instanceof H||!(!r||!r[U])},P=function r(i,t,a){var n;if(!i)return E;if(typeof i=="string"){var u=i.toLowerCase();L[u]&&(n=u),t&&(L[u]=t,n=u);var o=i.split("-");if(!n&&o.length>1)return r(o[0])}else{var m=i.name;L[m]=i,n=m}return!a&&n&&(E=n),n||!a&&E},$=function(r,i){if(f(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new H(t)},d=R;d.l=P,d.i=f,d.w=function(r,i){return $(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var H=function(){function r(t){this.$L=P(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[U]=!0}var i=r.prototype;return i.parse=function(t){this.$d=function(a){var n=a.date,u=a.utc;if(n===null)return new Date(NaN);if(d.u(n))return new Date;if(n instanceof Date)return new Date(n);if(typeof n=="string"&&!/Z$/i.test(n)){var o=n.match(W);if(o){var m=o[2]-1||0,g=(o[7]||"0").substring(0,3);return u?new Date(Date.UTC(o[1],m,o[3]||1,o[4]||0,o[5]||0,o[6]||0,g)):new Date(o[1],m,o[3]||1,o[4]||0,o[5]||0,o[6]||0,g)}}return new Date(n)}(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return d},i.isValid=function(){return this.$d.toString()!==k},i.isSame=function(t,a){var n=$(t);return this.startOf(a)<=n&&n<=this.endOf(a)},i.isAfter=function(t,a){return $(t)<this.startOf(a)},i.isBefore=function(t,a){return this.endOf(a)<$(t)},i.$g=function(t,a,n){return d.u(t)?this[a]:this.set(n,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,a){var n=this,u=!!d.u(a)||a,o=d.p(t),m=function(q,w){var Q=d.w(n.$u?Date.UTC(n.$y,w,q):new Date(n.$y,w,q),n);return u?Q:Q.endOf(_)},g=function(q,w){return d.w(n.toDate()[q].apply(n.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(w)),n)},v=this.$W,D=this.$M,O=this.$D,V="set"+(this.$u?"UTC":"");switch(o){case c:return u?m(1,0):m(31,11);case j:return u?m(1,D):m(0,D+1);case F:var I=this.$locale().weekStart||0,Y=(v<I?v+7:v)-I;return m(u?O-Y:O+(6-Y),D);case _:case S:return g(V+"Hours",0);case A:return g(V+"Minutes",1);case h:return g(V+"Seconds",2);case T:return g(V+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,a){var n,u=d.p(t),o="set"+(this.$u?"UTC":""),m=(n={},n[_]=o+"Date",n[S]=o+"Date",n[j]=o+"Month",n[c]=o+"FullYear",n[A]=o+"Hours",n[h]=o+"Minutes",n[T]=o+"Seconds",n[b]=o+"Milliseconds",n)[u],g=u===_?this.$D+(a-this.$W):a;if(u===j||u===c){var v=this.clone().set(S,1);v.$d[m](g),v.init(),this.$d=v.set(S,Math.min(this.$D,v.daysInMonth())).$d}else m&&this.$d[m](g);return this.init(),this},i.set=function(t,a){return this.clone().$set(t,a)},i.get=function(t){return this[d.p(t)]()},i.add=function(t,a){var n,u=this;t=Number(t);var o=d.p(a),m=function(D){var O=$(u);return d.w(O.date(O.date()+Math.round(D*t)),u)};if(o===j)return this.set(j,this.$M+t);if(o===c)return this.set(c,this.$y+t);if(o===_)return m(1);if(o===F)return m(7);var g=(n={},n[h]=y,n[A]=M,n[T]=s,n)[o]||1,v=this.$d.getTime()+t*g;return d.w(v,this)},i.subtract=function(t,a){return this.add(-1*t,a)},i.format=function(t){var a=this,n=this.$locale();if(!this.isValid())return n.invalidDate||k;var u=t||"YYYY-MM-DDTHH:mm:ssZ",o=d.z(this),m=this.$H,g=this.$m,v=this.$M,D=n.weekdays,O=n.months,V=n.meridiem,I=function(w,Q,C,Z){return w&&(w[Q]||w(a,u))||C[Q].slice(0,Z)},Y=function(w){return d.s(m%12||12,w,"0")},q=V||function(w,Q,C){var Z=w<12?"AM":"PM";return C?Z.toLowerCase():Z};return u.replace(J,function(w,Q){return Q||function(C){switch(C){case"YY":return String(a.$y).slice(-2);case"YYYY":return d.s(a.$y,4,"0");case"M":return v+1;case"MM":return d.s(v+1,2,"0");case"MMM":return I(n.monthsShort,v,O,3);case"MMMM":return I(O,v);case"D":return a.$D;case"DD":return d.s(a.$D,2,"0");case"d":return String(a.$W);case"dd":return I(n.weekdaysMin,a.$W,D,2);case"ddd":return I(n.weekdaysShort,a.$W,D,3);case"dddd":return D[a.$W];case"H":return String(m);case"HH":return d.s(m,2,"0");case"h":return Y(1);case"hh":return Y(2);case"a":return q(m,g,!0);case"A":return q(m,g,!1);case"m":return String(g);case"mm":return d.s(g,2,"0");case"s":return String(a.$s);case"ss":return d.s(a.$s,2,"0");case"SSS":return d.s(a.$ms,3,"0");case"Z":return o}return null}(w)||o.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,a,n){var u,o=this,m=d.p(a),g=$(t),v=(g.utcOffset()-this.utcOffset())*y,D=this-g,O=function(){return d.m(o,g)};switch(m){case c:u=O()/12;break;case j:u=O();break;case p:u=O()/3;break;case F:u=(D-v)/6048e5;break;case _:u=(D-v)/864e5;break;case A:u=D/M;break;case h:u=D/y;break;case T:u=D/s;break;default:u=D}return n?u:d.a(u)},i.daysInMonth=function(){return this.endOf(j).$D},i.$locale=function(){return L[this.$L]},i.locale=function(t,a){if(!t)return this.$L;var n=this.clone(),u=P(t,a,!0);return u&&(n.$L=u),n},i.clone=function(){return d.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r}(),z=H.prototype;return $.prototype=z,[["$ms",b],["$s",T],["$m",h],["$H",A],["$W",_],["$M",j],["$y",c],["$D",S]].forEach(function(r){z[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),$.extend=function(r,i){return r.$i||(r(i,H,$),r.$i=!0),$},$.locale=P,$.isDayjs=f,$.unix=function(r){return $(1e3*r)},$.en=L[E],$.Ls=L,$.p={},$})})(X);var re=X.exports;const G=se(re),ue=({data:l})=>{const e={},s={...l};return s.default&&(s.default.startTime&&(e.startTime=G(s.default.startTime).format()),s.default.endTime&&(e.endTime=G(s.default.endTime).format()),s.default.expirationTime&&(e.expirationTime=G(s.default.expirationTime).format())),s.advanced&&(s.advanced.currency&&(e.currency=s.advanced.currency),s.advanced.timezone&&(e.timezone=s.advanced.timezone),s.advanced.billingPlan&&(e.billingPlan=s.advanced.billingPlan),s.advanced.defaultTermDuration&&(e.defaultTermDuration=s.advanced.defaultTermDuration),s.advanced.installmentPlan&&(e.installmentPlan=s.advanced.installmentPlan),s.advanced.durationBasis&&(e.durationBasis=s.advanced.durationBasis),s.advanced.delinquencyPlanName&&(e.delinquencyPlanName=s.advanced.delinquencyPlanName)),delete s.default,delete s.advanced,e.setData=s,e},ee=l=>{const e=/^(.*?)(Quote|QuickQuote|Policy)$/,s=l.match(e);return s&&(s[2]==="Quote"||s[2]==="QuickQuote"||s[2]==="Policy")?[s[1],s[2]]:[l,null]};function te(l,e){if(l.locator===e)return l;if(l.elements)for(const s of l.elements){const y=te(s,e);if(y)return y}}function oe(l,e){const[s]=ee(l.type??"");let y={};return e.exposures&&Object.keys(e.exposures).forEach(M=>{M===s&&e.exposures&&(y=e.exposures[M])}),e.coverages&&Object.keys(e.coverages).forEach(M=>{M===s&&e.coverages&&(y=e.coverages[M])}),e.policyLines&&Object.keys(e.policyLines).forEach(M=>{M===s&&e.policyLines&&(y=e.policyLines[M])}),e.exposureGroups&&Object.keys(e.exposureGroups).forEach(M=>{M===s&&e.exposureGroups&&(y=e.exposureGroups[M])}),y}function ce(l){return l==null?void 0:l.map(e=>(e.keyword==="pattern"&&(e.message=`Invalid format, must match pattern ${e.params.pattern}`),e.keyword==="format"&&(e.message="Invalid format"),e.keyword==="required"&&(e.message="Required"),e.keyword==="minItems"&&(e.message=`Must have at least ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="maxItems"&&(e.message=`Must have at most ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="type"&&(e.message="Invalid format"),e.keyword==="maxLength"&&(e.message=`Must be at most ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minLength"&&(e.message=`Must be at least ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minimum"&&(e.message=`Must be greater than or equal to ${e.params.limit}`),e.keyword==="maximum"&&(e.message=`Must be less than or equal to ${e.params.limit}`),e.keyword==="enum"&&(e.message="Invalid value"),e))}x.dataModelToJSONSchema=B,x.getAccountRequest=ne,x.getQuoteElementRequest=ie,x.getQuoteRequest=ue,x.parseElementTypeAndScopeByElementType=ee,x.retrieveDataModelFromElement=oe,x.retrieveElementFromQuoteByLocator=te,x.transformErrors=ce,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-account-request.ts","../lib/utils/get-quote-element-request.ts","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { AccountRequest } from '@socotra/ec-react-schemas';\n\nexport const getAccountRequest = (formData: TODO): AccountRequest => {\n\tconst autoValidate = formData.autoValidate;\n\tconst delinquencyPlanName = formData.delinquencyPlanName;\n\tconst type = formData.accountType;\n\n\t// filter out the accountType, autoValidate, and delinquencyPlanName\n\tconst data = Object.keys(formData).reduce(\n\t\t(acc, key) => {\n\t\t\tif (\n\t\t\t\tkey !== 'accountType' &&\n\t\t\t\tkey !== 'autoValidate' &&\n\t\t\t\tkey !== 'delinquencyPlanName'\n\t\t\t) {\n\t\t\t\tacc[key] = formData[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [key: string]: object },\n\t);\n\n\tconst request = {\n\t\tautoValidate,\n\t\tdelinquencyPlanName,\n\t\ttype,\n\t\tdata,\n\t};\n\n\treturn request;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","import { AccountRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ninterface QuoteDefaultFields {\n\tdelinquencyPlanName: string;\n\tstartTime: string;\n\tendTime: string;\n\tcurrency: string;\n\texpirationTime: string;\n\ttimezone: string;\n}\n\ntype GetQuoteRequestAttributes =\n\t| {\n\t\t\tformData: object;\n\t\t\thideDefaultFields: true;\n\t\t\thideConfiguredFields: true;\n\t }\n\t| {\n\t\t\tformData: QuoteDefaultFields;\n\t\t\thideDefaultFields: false;\n\t\t\thideConfiguredFields: true;\n\t }\n\t| {\n\t\t\tformData: TODO;\n\t\t\thideDefaultFields: true;\n\t\t\thideConfiguredFields: false;\n\t }\n\t| {\n\t\t\tformData: QuoteDefaultFields & TODO;\n\t\t\thideDefaultFields: false;\n\t\t\thideConfiguredFields: false;\n\t };\n\nfunction removeQuoteDefaultFields(formData: QuoteDefaultFields & TODO): TODO {\n\tconst {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t\t...rest\n\t} = formData;\n\n\treturn rest;\n}\n\nfunction getQuoteDefaultFields(formData: TODO): QuoteDefaultFields {\n\tconst {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t} = formData;\n\n\treturn {\n\t\tdelinquencyPlanName,\n\t\tstartTime,\n\t\tendTime,\n\t\tcurrency,\n\t\texpirationTime,\n\t\ttimezone,\n\t};\n}\n\nexport const getQuoteRequest = ({\n\tformData,\n\thideDefaultFields,\n\thideConfiguredFields,\n}: GetQuoteRequestAttributes): AccountRequest => {\n\tlet request: QuoteRequest = {};\n\n\tif (!hideDefaultFields) {\n\t\tconst defaultFields = getQuoteDefaultFields(formData);\n\t\trequest = {\n\t\t\t...defaultFields,\n\t\t};\n\t}\n\n\tif (!hideConfiguredFields) {\n\t\tconst quoteFields = removeQuoteDefaultFields(formData);\n\t\trequest = {\n\t\t\t...request,\n\t\t\tsetData: quoteFields,\n\t\t};\n\t}\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\treturn error;\n\t});\n}\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","str","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","getAccountRequest","formData","autoValidate","delinquencyPlanName","acc","getQuoteElementRequest","locator","removeQuoteDefaultFields","startTime","endTime","currency","expirationTime","timezone","rest","getQuoteDefaultFields","getQuoteRequest","hideDefaultFields","hideConfiguredFields","request","quoteFields","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-account-request.ts","../lib/utils/get-quote-element-request.ts","../../../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: key\n\t\t\t\t\t\t\t\t\t.replace(/([A-Z])/g, ' $1')\n\t\t\t\t\t\t\t\t\t// uppercase the first character\n\t\t\t\t\t\t\t\t\t.replace(/^./, function (str) {\n\t\t\t\t\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { AccountRequest } from '@socotra/ec-react-schemas';\n\nexport const getAccountRequest = (formData: TODO): AccountRequest => {\n\tconst autoValidate = formData.autoValidate;\n\tconst delinquencyPlanName = formData.delinquencyPlanName;\n\tconst type = formData.accountType;\n\n\t// filter out the accountType, autoValidate, and delinquencyPlanName\n\tconst data = Object.keys(formData).reduce(\n\t\t(acc, key) => {\n\t\t\tif (\n\t\t\t\tkey !== 'accountType' &&\n\t\t\t\tkey !== 'autoValidate' &&\n\t\t\t\tkey !== 'delinquencyPlanName'\n\t\t\t) {\n\t\t\t\tacc[key] = formData[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [key: string]: object },\n\t);\n\n\tconst request = {\n\t\tautoValidate,\n\t\tdelinquencyPlanName,\n\t\ttype,\n\t\tdata,\n\t};\n\n\treturn request;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { QuoteRequest } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\ninterface QuoteFormData {\n\tdata: {\n\t\tdefault?: {\n\t\t\tstartTime?: string;\n\t\t\tendTime?: string;\n\t\t\texpirationTime?: string;\n\t\t};\n\t\tadvanced?: {\n\t\t\tcurrency?: string;\n\t\t\ttimezone?: string;\n\t\t\tbillingPlan?: string;\n\t\t\tdefaultTermDuration?: string;\n\t\t\tinstallmentPlan?: string;\n\t\t\tdurationBasis?: string;\n\t\t\tdelinquencyPlanName?: string;\n\t\t};\n\t\t[key: string]: any;\n\t};\n}\n\nexport const getQuoteRequest = ({ data }: QuoteFormData): QuoteRequest => {\n\tconst request: QuoteRequest = {};\n\n\t// copy formData into a new object\n\tconst formData = { ...data };\n\n\tif (formData.default) {\n\t\tif (formData.default.startTime) {\n\t\t\trequest.startTime = dayjs(formData.default.startTime).format();\n\t\t}\n\t\tif (formData.default.endTime) {\n\t\t\trequest.endTime = dayjs(formData.default.endTime).format();\n\t\t}\n\t\tif (formData.default.expirationTime) {\n\t\t\trequest.expirationTime = dayjs(formData.default.expirationTime).format();\n\t\t}\n\t}\n\n\tif (formData.advanced) {\n\t\tif (formData.advanced.currency) {\n\t\t\trequest.currency = formData.advanced.currency;\n\t\t}\n\t\tif (formData.advanced.timezone) {\n\t\t\trequest.timezone = formData.advanced.timezone;\n\t\t}\n\t\tif (formData.advanced.billingPlan) {\n\t\t\trequest.billingPlan = formData.advanced.billingPlan;\n\t\t}\n\t\tif (formData.advanced.defaultTermDuration) {\n\t\t\trequest.defaultTermDuration = formData.advanced.defaultTermDuration;\n\t\t}\n\t\tif (formData.advanced.installmentPlan) {\n\t\t\trequest.installmentPlan = formData.advanced.installmentPlan;\n\t\t}\n\t\tif (formData.advanced.durationBasis) {\n\t\t\trequest.durationBasis = formData.advanced.durationBasis;\n\t\t}\n\t\tif (formData.advanced.delinquencyPlanName) {\n\t\t\trequest.delinquencyPlanName = formData.advanced.delinquencyPlanName;\n\t\t}\n\t}\n\n\tdelete formData.default;\n\tdelete formData.advanced;\n\n\trequest.setData = formData;\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'enum') {\n\t\t\terror.message = 'Invalid value';\n\t\t}\n\t\treturn error;\n\t});\n}\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","str","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","getAccountRequest","formData","autoValidate","delinquencyPlanName","acc","getQuoteElementRequest","locator","t","e","module","this","n","r","i","u","a","o","c","f","h","d","l","$","y","M","m","v","g","D","p","S","_","w","O","b","k","getQuoteRequest","request","dayjs","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error"],"mappings":"+NAmBa,MAAAA,EAAyBC,GAAqC,CACpE,KAAA,CAAE,KAAAC,EAAM,MAAAC,EAAO,UAAAC,EAAW,gBAAAC,EAAiB,QAAAC,EAAS,MAAAC,EAAO,QAAAC,CAChE,EAAAP,EAEKQ,EAA2B,CAAA,EACjC,IAAIC,EAAc,CAAA,EAClB,MAAMC,EAAa,OAAO,YACzB,OAAO,QAAQT,GAAQ,CAAA,CAAE,EACvB,OAAO,CAAC,CAAG,CAAAU,CAAK,IAAM,OAChB,MAAAC,GAAYC,EAAAF,EAAM,QAAN,YAAAE,EAAa,MAAM,KAAK,IAAKC,GAAMA,EAAE,KAAM,GAW7D,MATI,IAACF,GAIHV,IAAU,MAAOU,GAAA,MAAAA,EAAW,SAAS,OACtCA,GAAA,MAAAA,EAAW,SAAS,MAIjBV,IAAU,MAAOU,GAAA,MAAAA,EAAW,SAAS,MAIzC,CAAA,EACA,IAAI,CAAC,CAACG,EAAKJ,CAAK,IAAM,uCACtB,IAAIK,EAAa,GACbC,EAAU,GACVC,EAAmB,GACjB,MAAAC,EAAcR,EAAM,aAAeI,EACnCK,GAAaP,EAAAF,EAAM,OAAN,YAAAE,EAAY,MAAM,IAC/BQ,EAAYV,EAAM,UAClBW,EAAYX,EAAM,UAClBY,EAAMZ,EAAM,IACZa,EAAMb,EAAM,IACZc,EAAQd,EAAM,MAChB,IAAAe,EAAef,EAAM,MAAQ,GAC7BgB,EAEJ,OAAQP,EAAY,CACnB,IAAK,IACMH,EAAA,GACGD,EAAA,GACbU,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,MACD,IAAK,IACJA,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACXV,EAAA,GACb,MACD,IAAK,IACMC,EAAA,GACVS,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,MACD,IAAK,IACJA,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,KAGF,CAEA,OAAQA,EAAM,CAGb,IAAK,SACGA,EAAA,SACP,MACD,IAAK,MACL,IAAK,OACGA,EAAA,UACP,MACD,IAAK,UACGA,EAAA,SACP,MACD,IAAK,WACGA,EAAA,SACEC,EAAA,YACT,MACD,IAAK,OACGD,EAAA,SACEC,EAAA,OACT,MACD,IAAK,UACL,IAAK,OACGD,EAAA,UACP,MACD,QACoBR,EAAA,GACnB,KACF,CAMA,GAJI,CAACF,GAAc,CAACE,GAAoB,CAACD,GACxCT,EAAe,KAAKO,CAAG,EAGpBG,EAAkB,CACf,MAAAU,EAAiBzB,GAAA,YAAAA,EAAYuB,GACnC,GAAIE,EAAgB,CACnB,IAAIC,EAAgBZ,EAAU,CAAC,EAAI,GACnC,MAAMa,EAAkB/B,EAAsB,CAC7C,KAAM6B,EAAe,MAAQ,CAAC,EAC9B,MAAA1B,EACA,UAAAC,EACA,gBAAiBY,CAAA,CACjB,EAsBD,OAnBIT,IACCyB,GAAAC,EAAA1B,EAAM,UAAN,YAAA0B,EAAe,OAAf,MAAAD,EAAsBhB,KACTc,GAAAI,GAAAC,EAAA5B,EAAM,UAAN,YAAA4B,EAAe,OAAf,YAAAD,EAAsBlB,IAGpCR,IACC4B,EAAA5B,GAAA,YAAAA,EAAS,OAAT,MAAA4B,EAAgBpB,KACHc,GAAAO,EAAA7B,GAAA,YAAAA,EAAS,OAAT,YAAA6B,EAAgBrB,IAG9BV,IACCgC,EAAAhC,GAAA,YAAAA,EAAS,OAAT,MAAAgC,EAAgBtB,KACHc,GAAAS,EAAAjC,GAAA,YAAAA,EAAS,OAAT,YAAAiC,EAAgBvB,IAGpBN,EAAA,CACb,GAAGA,EACH,CAAC,GAAGiB,CAAI,EAAE,EAAGI,CAAA,EAEVb,EACI,CACNF,EACA,CACC,MAAOA,EACL,QAAQ,WAAY,KAAK,EAEzB,QAAQ,KAAM,SAAUwB,EAAK,CAC7B,OAAOA,EAAI,aAAY,CACvB,EACF,KAAM,QACN,QAASV,EACT,MAAO,CACL,KAAS,iBAAiBH,CAAI,EAChC,EACA,GAAI,CAACV,GAAc,CAAE,SAAU,CAAE,CAClC,CAAA,EAGK,CACND,EACA,CACC,MAAOA,EACL,QAAQ,WAAY,KAAK,EAEzB,QAAQ,KAAM,SAAUwB,EAAK,CAC7B,OAAOA,EAAI,aAAY,CACvB,EACF,QAASV,EACR,KAAS,iBAAiBH,CAAI,EAChC,CAAA,CAEF,CACD,CAEA,IAAIc,EAAsD,GAE1D,GAAInC,EAAS,CAGZ,MAAMoC,GACLpC,GAAA,YAAAA,EAAS,SAAU,YAChBU,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,EACzCA,EAEJyB,GAAeE,EAAArC,GAAA,YAAAA,EAAS,OAAT,MAAAqC,EAAgBD,IAC5BE,EAAAtC,GAAA,YAAAA,EAAS,OAAT,YAAAsC,EAAgBF,GAChBf,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,YACX,CAkBA,OAhBIL,IACHkC,GAAeI,GAAAC,EAAAvC,EAAM,UAAN,YAAAuC,EAAe,OAAf,MAAAD,EAAsB7B,IAClC+B,GAAAC,EAAAzC,EAAM,UAAN,YAAAyC,EAAe,OAAf,YAAAD,EAAsB/B,GACtBW,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,cAGPJ,IACHiC,GAAeQ,EAAAzC,GAAA,YAAAA,EAAS,OAAT,MAAAyC,EAAgBjC,IAC5BkC,EAAA1C,GAAA,YAAAA,EAAS,OAAT,YAAA0C,EAAgBlC,GAChBW,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,cAGPM,EAEI,CACNF,EACA,CACC,MAAOI,EACP,KAAM,QACN,QAASqB,EACT,MAAO,CACN,KAAAd,EACA,GAAIL,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIC,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIE,GAAO,CAAE,IAAAA,CAAI,EACjB,GAAID,GAAO,CAAE,IAAAA,CAAI,EACjB,GAAII,GAAU,CAAE,OAAAA,CAAO,EACvB,GAAIF,GAAS,CAAE,QAASd,EAAM,KAAM,CACrC,EACA,GAAI,CAACK,GAAc,CAAE,SAAU,CAAE,CAClC,CAAA,EAIe,CAChBD,EACA,CACC,MAAOI,EACP,KAAAO,EACA,GAAIc,GAAgB,CAAE,QAASA,CAAa,EAC5C,GAAIlB,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAID,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIG,GAAO,CAAE,QAAS,SAASA,CAAG,CAAE,EACpC,GAAID,GAAO,CAAE,QAAS,SAASA,CAAG,CAAE,EACpC,GAAII,GAAU,CAAE,OAAAA,CAAO,EACvB,GAAIhB,EAAM,SAAW,CAAE,KAAMA,EAAM,OAAQ,EAC3C,GAAIc,GAAS,CAAE,QAASd,EAAM,KAAM,CACrC,CAAA,CAEM,CACP,CAAA,EAWI,MARqB,CAC3B,MAAOP,EACP,KAAM,SACN,YAAAK,EACA,SAAUD,EACV,WAAAE,CAAA,CAIF,ECpQawC,GAAqBC,GAAmC,CACpE,MAAMC,EAAeD,EAAS,aACxBE,EAAsBF,EAAS,oBAC/BzB,EAAOyB,EAAS,YAGhBlD,EAAO,OAAO,KAAKkD,CAAQ,EAAE,OAClC,CAACG,EAAKvC,KAEJA,IAAQ,eACRA,IAAQ,gBACRA,IAAQ,wBAEJuC,EAAAvC,CAAG,EAAIoC,EAASpC,CAAG,GAEjBuC,GAER,CAAC,CAAA,EAUK,MAPS,CACf,aAAAF,EACA,oBAAAC,EACA,KAAA3B,EACA,KAAAzB,CAAA,CAIF,ECvBasD,GAAyB,CAAC,CACtC,SAAAJ,EACA,QAAAK,CACD,KAM+B,CAC7B,SAAU,CAN4B,CACtC,QAAAA,EACA,QAASL,CAAA,CAIgB,CAAA,6PCjB1B,SAASM,EAAEC,EAAE,CAAsDC,UAAeD,EAAmH,CAAA,GAAEE,GAAM,UAAU,CAAc,IAAIH,EAAE,IAAIC,EAAE,IAAIG,EAAE,KAAKC,EAAE,cAAcC,EAAE,SAASjD,EAAE,SAASkD,EAAE,OAAOC,EAAE,MAAMC,EAAE,OAAOC,EAAE,QAAQC,EAAE,UAAUC,EAAE,OAAOC,EAAE,OAAOC,EAAE,eAAeC,EAAE,6FAA6FC,EAAE,sFAAsFC,EAAE,CAAC,KAAK,KAAK,SAAS,2DAA2D,MAAM,GAAG,EAAE,OAAO,wFAAwF,MAAM,GAAG,EAAE,QAAQ,SAASjB,EAAE,CAAC,IAAIC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAEG,EAAEJ,EAAE,IAAI,MAAM,IAAIA,GAAGC,GAAGG,EAAE,IAAI,EAAE,GAAGH,EAAEG,CAAC,GAAGH,EAAE,CAAC,GAAG,GAAG,CAAC,EAAEiB,EAAE,SAASlB,EAAEC,EAAEG,EAAE,CAAC,IAAIC,EAAE,OAAOL,CAAC,EAAE,MAAM,CAACK,GAAGA,EAAE,QAAQJ,EAAED,EAAE,GAAG,MAAMC,EAAE,EAAEI,EAAE,MAAM,EAAE,KAAKD,CAAC,EAAEJ,CAAC,EAAEmB,EAAE,CAAC,EAAED,EAAE,EAAE,SAASlB,EAAE,CAAC,IAAIC,EAAE,CAACD,EAAE,UAAS,EAAGI,EAAE,KAAK,IAAIH,CAAC,EAAEI,EAAE,KAAK,MAAMD,EAAE,EAAE,EAAEE,EAAEF,EAAE,GAAG,OAAOH,GAAG,EAAE,IAAI,KAAKiB,EAAEb,EAAE,EAAE,GAAG,EAAE,IAAIa,EAAEZ,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAASN,EAAEC,EAAEG,EAAE,CAAC,GAAGH,EAAE,KAAM,EAACG,EAAE,KAAM,EAAC,MAAM,CAACJ,EAAEI,EAAEH,CAAC,EAAE,IAAII,EAAE,IAAID,EAAE,KAAM,EAACH,EAAE,KAAI,IAAKG,EAAE,MAAK,EAAGH,EAAE,MAAK,GAAIK,EAAEL,EAAE,MAAK,EAAG,IAAII,EAAEK,CAAC,EAAErD,EAAE+C,EAAEE,EAAE,EAAEC,EAAEN,EAAE,MAAO,EAAC,IAAII,GAAGhD,EAAE,GAAG,GAAGqD,CAAC,EAAE,MAAM,EAAE,EAAEL,GAAGD,EAAEE,IAAIjD,EAAEiD,EAAEC,EAAEA,EAAED,KAAK,EAAE,EAAE,EAAE,SAASN,EAAE,CAAC,OAAOA,EAAE,EAAE,KAAK,KAAKA,CAAC,GAAG,EAAE,KAAK,MAAMA,CAAC,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,MAAM,CAAC,EAAEU,EAAE,EAAEE,EAAE,EAAEH,EAAE,EAAED,EAAE,EAAEK,EAAE,EAAEN,EAAE,EAAElD,EAAE,EAAEiD,EAAE,GAAGD,EAAE,EAAEM,CAAC,EAAEX,CAAC,GAAG,OAAOA,GAAG,EAAE,EAAE,YAAa,EAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,OAAgBA,IAAT,MAAU,CAAC,EAAEoB,EAAE,KAAKC,EAAE,CAAE,EAACA,EAAED,CAAC,EAAEH,EAAE,IAAIK,EAAE,iBAAiBC,EAAE,SAASvB,EAAE,CAAC,OAAOA,aAAawB,GAAG,EAAE,CAACxB,GAAG,CAACA,EAAEsB,CAAC,EAAE,EAAEG,EAAE,SAASzB,EAAEC,EAAEG,EAAEC,EAAE,CAAC,IAAIC,EAAE,GAAG,CAACL,EAAE,OAAOmB,EAAE,GAAa,OAAOnB,GAAjB,SAAmB,CAAC,IAAI5C,EAAE4C,EAAE,YAAa,EAACoB,EAAEhE,CAAC,IAAIiD,EAAEjD,GAAG+C,IAAIiB,EAAEhE,CAAC,EAAE+C,EAAEE,EAAEjD,GAAG,IAAIkD,EAAEN,EAAE,MAAM,GAAG,EAAE,GAAG,CAACK,GAAGC,EAAE,OAAO,EAAE,OAAOP,EAAEO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIC,EAAEP,EAAE,KAAKoB,EAAEb,CAAC,EAAEP,EAAEK,EAAEE,CAAC,CAAC,MAAM,CAACH,GAAGC,IAAIc,EAAEd,GAAGA,GAAG,CAACD,GAAGe,CAAC,EAAEM,EAAE,SAAS1B,EAAEC,EAAE,CAAC,GAAGsB,EAAEvB,CAAC,EAAE,OAAOA,EAAE,MAAO,EAAC,IAAII,EAAY,OAAOH,GAAjB,SAAmBA,EAAE,GAAG,OAAOG,EAAE,KAAKJ,EAAEI,EAAE,KAAK,UAAU,IAAIoB,EAAEpB,CAAC,CAAC,EAAEuB,EAAER,EAAEQ,EAAE,EAAEF,EAAEE,EAAE,EAAEJ,EAAEI,EAAE,EAAE,SAAS3B,EAAEC,EAAE,CAAC,OAAOyB,EAAE1B,EAAE,CAAC,OAAOC,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAEA,EAAE,GAAG,QAAQA,EAAE,OAAO,CAAC,CAAC,EAAE,IAAIuB,EAAE,UAAU,CAAC,SAASP,EAAE,EAAE,CAAC,KAAK,GAAGQ,EAAE,EAAE,OAAO,KAAK,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,EAAE,GAAG,CAAA,EAAG,KAAKH,CAAC,EAAE,EAAE,CAAC,IAAIJ,EAAED,EAAE,UAAU,OAAOC,EAAE,MAAM,SAAS,EAAE,CAAC,KAAK,GAAG,SAASlB,EAAE,CAAC,IAAIC,EAAED,EAAE,KAAKI,EAAEJ,EAAE,IAAI,GAAUC,IAAP,KAAS,OAAO,IAAI,KAAK,GAAG,EAAE,GAAG0B,EAAE,EAAE1B,CAAC,EAAE,OAAO,IAAI,KAAK,GAAGA,aAAa,KAAK,OAAO,IAAI,KAAKA,CAAC,EAAE,GAAa,OAAOA,GAAjB,UAAoB,CAAC,MAAM,KAAKA,CAAC,EAAE,CAAC,IAAII,EAAEJ,EAAE,MAAMc,CAAC,EAAE,GAAGV,EAAE,CAAC,IAAIC,EAAED,EAAE,CAAC,EAAE,GAAG,EAAEhD,GAAGgD,EAAE,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC,EAAE,OAAOD,EAAE,IAAI,KAAK,KAAK,IAAIC,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEhD,CAAC,CAAC,EAAE,IAAI,KAAKgD,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEhD,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK4C,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,KAAM,CAAA,EAAEiB,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,cAAc,KAAK,GAAG,EAAE,SAAQ,EAAG,KAAK,GAAG,EAAE,QAAO,EAAG,KAAK,GAAG,EAAE,SAAS,KAAK,GAAG,EAAE,SAAQ,EAAG,KAAK,GAAG,EAAE,WAAY,EAAC,KAAK,GAAG,EAAE,WAAY,EAAC,KAAK,IAAI,EAAE,iBAAiB,EAAEA,EAAE,OAAO,UAAU,CAAC,OAAOS,CAAC,EAAET,EAAE,QAAQ,UAAU,CAAC,OAAQ,KAAK,GAAG,aAAaJ,CAAE,EAAEI,EAAE,OAAO,SAAS,EAAEjB,EAAE,CAAC,IAAI,EAAEyB,EAAE,CAAC,EAAE,OAAO,KAAK,QAAQzB,CAAC,GAAG,GAAG,GAAG,KAAK,MAAMA,CAAC,CAAC,EAAEiB,EAAE,QAAQ,SAAS,EAAEjB,EAAE,CAAC,OAAOyB,EAAE,CAAC,EAAE,KAAK,QAAQzB,CAAC,CAAC,EAAEiB,EAAE,SAAS,SAAS,EAAEjB,EAAE,CAAC,OAAO,KAAK,MAAMA,CAAC,EAAEyB,EAAE,CAAC,CAAC,EAAER,EAAE,GAAG,SAAS,EAAEjB,EAAE,EAAE,CAAC,OAAO0B,EAAE,EAAE,CAAC,EAAE,KAAK1B,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAEiB,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,MAAM,KAAK,QAAO,EAAG,GAAG,CAAC,EAAEA,EAAE,QAAQ,UAAU,CAAC,OAAO,KAAK,GAAG,QAAS,CAAA,EAAEA,EAAE,QAAQ,SAAS,EAAEjB,EAAE,CAAC,IAAI,EAAE,KAAKI,EAAE,CAAC,CAACsB,EAAE,EAAE1B,CAAC,GAAGA,EAAEU,EAAEgB,EAAE,EAAE,CAAC,EAAEb,EAAE,SAASd,EAAEC,EAAE,CAAC,IAAIK,EAAEqB,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG1B,EAAED,CAAC,EAAE,IAAI,KAAK,EAAE,GAAGC,EAAED,CAAC,EAAE,CAAC,EAAE,OAAOK,EAAEC,EAAEA,EAAE,MAAME,CAAC,CAAC,EAAEO,EAAE,SAASf,EAAEC,EAAE,CAAC,OAAO0B,EAAE,EAAE,EAAE,OAAM,EAAG3B,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,GAAGK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,MAAMJ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEe,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAE,OAAO,KAAK,GAAG,MAAM,IAAI,OAAOR,GAAG,KAAKC,EAAE,OAAOP,EAAES,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAG,EAAE,EAAE,KAAKJ,EAAE,OAAOL,EAAES,EAAE,EAAEG,CAAC,EAAEH,EAAE,EAAEG,EAAE,CAAC,EAAE,KAAKR,EAAE,IAAIW,EAAE,KAAK,UAAU,WAAW,EAAEC,GAAGL,EAAEI,EAAEJ,EAAE,EAAEA,GAAGI,EAAE,OAAON,EAAET,EAAEa,EAAEG,EAAEH,GAAG,EAAEG,GAAGJ,CAAC,EAAE,KAAKT,EAAE,KAAKK,EAAE,OAAOE,EAAEI,EAAE,QAAQ,CAAC,EAAE,KAAKZ,EAAE,OAAOQ,EAAEI,EAAE,UAAU,CAAC,EAAE,KAAK9D,EAAE,OAAO0D,EAAEI,EAAE,UAAU,CAAC,EAAE,KAAKb,EAAE,OAAOS,EAAEI,EAAE,eAAe,CAAC,EAAE,QAAQ,OAAO,KAAK,MAAO,CAAA,CAAC,EAAED,EAAE,MAAM,SAAS,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAEA,EAAE,KAAK,SAAS,EAAEjB,EAAE,CAAC,IAAI,EAAEQ,EAAEkB,EAAE,EAAE,CAAC,EAAEhB,EAAE,OAAO,KAAK,GAAG,MAAM,IAAIG,GAAG,EAAE,CAAA,EAAG,EAAEN,CAAC,EAAEG,EAAE,OAAO,EAAEE,CAAC,EAAEF,EAAE,OAAO,EAAED,CAAC,EAAEC,EAAE,QAAQ,EAAEC,CAAC,EAAED,EAAE,WAAW,EAAEJ,CAAC,EAAEI,EAAE,QAAQ,EAAEtD,CAAC,EAAEsD,EAAE,UAAU,EAAEL,CAAC,EAAEK,EAAE,UAAU,EAAEN,CAAC,EAAEM,EAAE,eAAe,GAAGF,CAAC,EAAEM,EAAEN,IAAID,EAAE,KAAK,IAAIP,EAAE,KAAK,IAAIA,EAAE,GAAGQ,IAAIC,GAAGD,IAAIG,EAAE,CAAC,IAAII,EAAE,KAAK,QAAQ,IAAIH,EAAE,CAAC,EAAEG,EAAE,GAAGF,CAAC,EAAEC,CAAC,EAAEC,EAAE,KAAI,EAAG,KAAK,GAAGA,EAAE,IAAIH,EAAE,KAAK,IAAI,KAAK,GAAGG,EAAE,YAAW,CAAE,CAAC,EAAE,EAAE,MAAMF,GAAG,KAAK,GAAGA,CAAC,EAAEC,CAAC,EAAE,OAAO,KAAK,KAAM,EAAC,IAAI,EAAEG,EAAE,IAAI,SAAS,EAAEjB,EAAE,CAAC,OAAO,KAAK,MAAO,EAAC,KAAK,EAAEA,CAAC,CAAC,EAAEiB,EAAE,IAAI,SAAS,EAAE,CAAC,OAAO,KAAKS,EAAE,EAAE,CAAC,CAAC,GAAG,EAAET,EAAE,IAAI,SAASb,EAAEM,EAAE,CAAC,IAAIE,EAAEC,EAAE,KAAKT,EAAE,OAAOA,CAAC,EAAE,IAAIU,EAAEY,EAAE,EAAEhB,CAAC,EAAEK,EAAE,SAAShB,EAAE,CAAC,IAAIC,EAAEyB,EAAEZ,CAAC,EAAE,OAAOa,EAAE,EAAE1B,EAAE,KAAKA,EAAE,KAAM,EAAC,KAAK,MAAMD,EAAEK,CAAC,CAAC,EAAES,CAAC,CAAC,EAAE,GAAGC,IAAIL,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGL,CAAC,EAAE,GAAGU,IAAIH,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGP,CAAC,EAAE,GAAGU,IAAIP,EAAE,OAAOQ,EAAE,CAAC,EAAE,GAAGD,IAAIN,EAAE,OAAOO,EAAE,CAAC,EAAE,IAAIC,GAAGJ,EAAE,CAAE,EAACA,EAAExD,CAAC,EAAE4C,EAAEY,EAAEN,CAAC,EAAEH,EAAES,EAAEP,CAAC,EAAEN,EAAEa,GAAGE,CAAC,GAAG,EAAEG,EAAE,KAAK,GAAG,QAAS,EAACb,EAAEY,EAAE,OAAOU,EAAE,EAAET,EAAE,IAAI,CAAC,EAAEA,EAAE,SAAS,SAAS,EAAEjB,EAAE,CAAC,OAAO,KAAK,IAAI,GAAG,EAAEA,CAAC,CAAC,EAAEiB,EAAE,OAAO,SAAS,EAAE,CAAC,IAAIjB,EAAE,KAAK,EAAE,KAAK,QAAO,EAAG,GAAG,CAAC,KAAK,QAAO,EAAG,OAAO,EAAE,aAAaa,EAAE,IAAIT,EAAE,GAAG,uBAAuBC,EAAEqB,EAAE,EAAE,IAAI,EAAEtE,EAAE,KAAK,GAAGkD,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAE,EAAE,SAASC,EAAE,EAAE,OAAOC,EAAE,EAAE,SAASC,EAAE,SAASZ,EAAEI,EAAEE,EAAEjD,EAAE,CAAC,OAAO2C,IAAIA,EAAEI,CAAC,GAAGJ,EAAEC,EAAEI,CAAC,IAAIC,EAAEF,CAAC,EAAE,MAAM,EAAE/C,CAAC,CAAC,EAAEwD,EAAE,SAASb,EAAE,CAAC,OAAO2B,EAAE,EAAEtE,EAAE,IAAI,GAAG2C,EAAE,GAAG,CAAC,EAAEe,EAAEJ,GAAG,SAASX,EAAEC,EAAEG,EAAE,CAAC,IAAIC,EAAEL,EAAE,GAAG,KAAK,KAAK,OAAOI,EAAEC,EAAE,YAAa,EAACA,CAAC,EAAE,OAAOA,EAAE,QAAQW,EAAG,SAAShB,EAAEK,EAAE,CAAC,OAAOA,GAAG,SAASL,EAAE,CAAC,OAAOA,EAAC,CAAE,IAAI,KAAK,OAAO,OAAOC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOO,EAAE,EAAE,IAAI,KAAK,OAAOmB,EAAE,EAAEnB,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,OAAOI,EAAE,EAAE,YAAYJ,EAAEE,EAAE,CAAC,EAAE,IAAI,OAAO,OAAOE,EAAEF,EAAEF,CAAC,EAAE,IAAI,IAAI,OAAOP,EAAE,GAAG,IAAI,KAAK,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAOA,EAAE,EAAE,EAAE,IAAI,KAAK,OAAOW,EAAE,EAAE,YAAYX,EAAE,GAAGQ,EAAE,CAAC,EAAE,IAAI,MAAM,OAAOG,EAAE,EAAE,cAAcX,EAAE,GAAGQ,EAAE,CAAC,EAAE,IAAI,OAAO,OAAOA,EAAER,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAO5C,CAAC,EAAE,IAAI,KAAK,OAAOsE,EAAE,EAAEtE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOwD,EAAE,CAAC,EAAE,IAAI,KAAK,OAAOA,EAAE,CAAC,EAAE,IAAI,IAAI,OAAOE,EAAE1D,EAAEkD,EAAE,EAAE,EAAE,IAAI,IAAI,OAAOQ,EAAE1D,EAAEkD,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOA,CAAC,EAAE,IAAI,KAAK,OAAOoB,EAAE,EAAEpB,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAON,EAAE,EAAE,EAAE,IAAI,KAAK,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,MAAM,OAAO0B,EAAE,EAAE1B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOK,CAAC,CAAC,OAAO,IAAI,EAAEN,CAAC,GAAGM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAE,EAAEY,EAAE,UAAU,UAAU,CAAC,MAAO,IAAG,CAAC,KAAK,MAAM,KAAK,GAAG,kBAAmB,EAAC,EAAE,CAAC,EAAEA,EAAE,KAAK,SAASb,EAAEQ,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAE,KAAKC,EAAEU,EAAE,EAAEd,CAAC,EAAEK,EAAEQ,EAAErB,CAAC,EAAE,GAAGa,EAAE,UAAS,EAAG,KAAK,aAAajB,EAAEmB,EAAE,KAAKF,EAAEG,EAAE,UAAU,CAAC,OAAOM,EAAE,EAAEX,EAAEE,CAAC,CAAC,EAAE,OAAOD,EAAG,CAAA,KAAKL,EAAEG,EAAEM,EAAC,EAAG,GAAG,MAAM,KAAKX,EAAEK,EAAEM,IAAI,MAAM,KAAKV,EAAEI,EAAEM,EAAC,EAAG,EAAE,MAAM,KAAKZ,EAAEM,GAAGK,EAAE,GAAG,OAAO,MAAM,KAAKZ,EAAEO,GAAGK,EAAE,GAAG,MAAM,MAAM,KAAKb,EAAEQ,EAAEK,EAAEhB,EAAE,MAAM,KAAK/C,EAAE0D,EAAEK,EAAEnB,EAAE,MAAM,KAAKK,EAAES,EAAEK,EAAEpB,EAAE,MAAM,QAAQe,EAAEK,CAAC,CAAC,OAAON,EAAEC,EAAEY,EAAE,EAAEZ,CAAC,CAAC,EAAEG,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,MAAMR,CAAC,EAAE,EAAE,EAAEQ,EAAE,QAAQ,UAAU,CAAC,OAAOG,EAAE,KAAK,EAAE,CAAC,EAAEH,EAAE,OAAO,SAAS,EAAEjB,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,GAAG,IAAI,EAAE,KAAK,QAAQI,EAAEoB,EAAE,EAAExB,EAAE,EAAE,EAAE,OAAOI,IAAI,EAAE,GAAGA,GAAG,CAAC,EAAEa,EAAE,MAAM,UAAU,CAAC,OAAOS,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,EAAET,EAAE,OAAO,UAAU,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC,EAAEA,EAAE,OAAO,UAAU,CAAC,OAAO,KAAK,QAAS,EAAC,KAAK,cAAc,IAAI,EAAEA,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAEA,EAAE,SAAS,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAED,CAAC,IAAIW,EAAEJ,EAAE,UAAU,OAAOE,EAAE,UAAUE,EAAE,CAAC,CAAC,MAAMvB,CAAC,EAAE,CAAC,KAAKC,CAAC,EAAE,CAAC,KAAKjD,CAAC,EAAE,CAAC,KAAKkD,CAAC,EAAE,CAAC,KAAKC,CAAC,EAAE,CAAC,KAAKE,CAAC,EAAE,CAAC,KAAKE,CAAC,EAAE,CAAC,KAAKC,CAAC,CAAC,EAAE,QAAS,SAASb,EAAE,CAAC4B,EAAE5B,EAAE,CAAC,CAAC,EAAE,SAASC,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAED,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI0B,EAAE,OAAO,SAAS1B,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAKA,EAAEC,EAAEuB,EAAEE,CAAC,EAAE1B,EAAE,GAAG,IAAI0B,CAAC,EAAEA,EAAE,OAAOD,EAAEC,EAAE,QAAQH,EAAEG,EAAE,KAAK,SAAS1B,EAAE,CAAC,OAAO0B,EAAE,IAAI1B,CAAC,CAAC,EAAE0B,EAAE,GAAGL,EAAED,CAAC,EAAEM,EAAE,GAAGL,EAAEK,EAAE,EAAE,GAAGA,CAAC,CAAC,uCCuBx+NG,GAAkB,CAAC,CAAE,KAAArF,KAAwC,CACzE,MAAMsF,EAAwB,CAAA,EAGxBpC,EAAW,CAAE,GAAGlD,GAEtB,OAAIkD,EAAS,UACRA,EAAS,QAAQ,YACpBoC,EAAQ,UAAYC,EAAMrC,EAAS,QAAQ,SAAS,EAAE,UAEnDA,EAAS,QAAQ,UACpBoC,EAAQ,QAAUC,EAAMrC,EAAS,QAAQ,OAAO,EAAE,UAE/CA,EAAS,QAAQ,iBACpBoC,EAAQ,eAAiBC,EAAMrC,EAAS,QAAQ,cAAc,EAAE,WAI9DA,EAAS,WACRA,EAAS,SAAS,WACboC,EAAA,SAAWpC,EAAS,SAAS,UAElCA,EAAS,SAAS,WACboC,EAAA,SAAWpC,EAAS,SAAS,UAElCA,EAAS,SAAS,cACboC,EAAA,YAAcpC,EAAS,SAAS,aAErCA,EAAS,SAAS,sBACboC,EAAA,oBAAsBpC,EAAS,SAAS,qBAE7CA,EAAS,SAAS,kBACboC,EAAA,gBAAkBpC,EAAS,SAAS,iBAEzCA,EAAS,SAAS,gBACboC,EAAA,cAAgBpC,EAAS,SAAS,eAEvCA,EAAS,SAAS,sBACboC,EAAA,oBAAsBpC,EAAS,SAAS,sBAIlD,OAAOA,EAAS,QAChB,OAAOA,EAAS,SAEhBoC,EAAQ,QAAUpC,EAEXoC,CACR,EClEaE,GACZC,GAC4E,CAC5E,MAAMjE,EAAQ,mCACRkE,EAAQD,EAAY,MAAMjE,CAAK,EACrC,OACCkE,IACCA,EAAM,CAAC,IAAM,SAAWA,EAAM,CAAC,IAAM,cAAgBA,EAAM,CAAC,IAAM,UAE5D,CAACA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAIpB,CAACD,EAAa,IAAI,CAC1B,ECXgB,SAAAE,GACfC,EACArC,EAC8B,CAC1B,GAAAqC,EAAa,UAAYrC,EACrB,OAAAqC,EAGR,GAAIA,EAAa,SACL,UAAAtF,KAAWsF,EAAa,SAAU,CACtC,MAAAC,EAAeF,GAAkCrF,EAASiD,CAAO,EACvE,GAAIsC,EACI,OAAAA,CAET,CAIF,CCZgB,SAAAC,GACfxF,EACAyF,EACC,CACK,KAAA,CAACN,CAAW,EAAID,GACrBlF,EAAQ,MAAQ,EAAA,EAGjB,IAAI0F,EAA8B,CAAA,EAGlC,OAAID,EAAU,WACb,OAAO,KAAKA,EAAU,SAAS,EAAE,QAASE,GAAiB,CACtDA,IAAiBR,GAAeM,EAAU,YAC9BC,EAAAD,EAAU,UAAUE,CAAY,EAChD,CACA,EAIEF,EAAU,WACb,OAAO,KAAKA,EAAU,SAAS,EAAE,QAASG,GAAiB,CACtDA,IAAiBT,GAAeM,EAAU,YAC9BC,EAAAD,EAAU,UAAUG,CAAY,EAChD,CACA,EAIEH,EAAU,aACb,OAAO,KAAKA,EAAU,WAAW,EAAE,QAASI,GAAmB,CAC1DA,IAAmBV,GAAeM,EAAU,cAChCC,EAAAD,EAAU,YAAYI,CAAc,EACpD,CACA,EAIEJ,EAAU,gBACb,OAAO,KAAKA,EAAU,cAAc,EAAE,QAASK,GAAsB,CAChEA,IAAsBX,GAAeM,EAAU,iBACnCC,EAAAD,EAAU,eAAeK,CAAiB,EAC1D,CACA,EAGKJ,CACR,CC3DO,SAASK,GACfC,EAIC,CACM,OAAAA,GAAA,YAAAA,EAAQ,IAAKC,IACfA,EAAM,UAAY,YACrBA,EAAM,QAAU,sCAAsCA,EAAM,OAAO,OAAO,IAEvEA,EAAM,UAAY,WACrBA,EAAM,QAAU,kBAEbA,EAAM,UAAY,aACrBA,EAAM,QAAU,YAEbA,EAAM,UAAY,aACfA,EAAA,QAAU,sBAAsBA,EAAM,OAAO,KAAK,QACvDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,aACfA,EAAA,QAAU,qBAAqBA,EAAM,OAAO,KAAK,QACtDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,SACrBA,EAAM,QAAU,kBAEbA,EAAM,UAAY,cACfA,EAAA,QAAU,mBAAmBA,EAAM,OAAO,KAAK,aACpDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,cACfA,EAAA,QAAU,oBAAoBA,EAAM,OAAO,KAAK,aACrDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,YACrBA,EAAM,QAAU,oCAAoCA,EAAM,OAAO,KAAK,IAEnEA,EAAM,UAAY,YACrBA,EAAM,QAAU,iCAAiCA,EAAM,OAAO,KAAK,IAEhEA,EAAM,UAAY,SACrBA,EAAM,QAAU,iBAEVA,GAET","x_google_ignoreList":[3]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socotra/ec-react-utils",
|
|
3
|
-
"version": "2.0.0",
|
|
3
|
+
"version": "2.1.0-alpha.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.umd.js",
|
|
6
6
|
"module": "./dist/index.es.js",
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@jsonforms/core": "^3.3.0",
|
|
25
|
-
"@socotra/ec-react-schemas": "2.0.0",
|
|
26
|
-
"ajv": "^8.14.0"
|
|
25
|
+
"@socotra/ec-react-schemas": "2.1.0-alpha.0",
|
|
26
|
+
"ajv": "^8.14.0",
|
|
27
|
+
"dayjs": "^1.11.11"
|
|
27
28
|
},
|
|
28
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "d2cbca66c4fabd7e4aee0bf8d7f7f4b69993ae49"
|
|
29
30
|
}
|