@fieldia/widgets 0.9.1 → 0.10.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/package.json +2 -2
- package/src/index.d.mts +2 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/index.mjs +2 -0
- package/src/index.mjs.map +1 -1
- package/src/lib/address.d.mts +4 -0
- package/src/lib/address.d.ts +4 -0
- package/src/lib/address.js +105 -0
- package/src/lib/address.js.map +1 -0
- package/src/lib/address.mjs +100 -0
- package/src/lib/address.mjs.map +1 -0
- package/src/lib/cards.d.mts +2 -0
- package/src/lib/cards.d.ts +2 -0
- package/src/lib/cards.js +152 -0
- package/src/lib/cards.js.map +1 -0
- package/src/lib/cards.mjs +148 -0
- package/src/lib/cards.mjs.map +1 -0
- package/src/lib/choice-images.d.mts +2 -0
- package/src/lib/choice-images.d.ts +2 -0
- package/src/lib/choice-images.js +99 -0
- package/src/lib/choice-images.js.map +1 -0
- package/src/lib/choice-images.mjs +95 -0
- package/src/lib/choice-images.mjs.map +1 -0
- package/src/lib/choice-rules.d.mts +22 -0
- package/src/lib/choice-rules.d.ts +22 -0
- package/src/lib/choice-rules.js +46 -0
- package/src/lib/choice-rules.js.map +1 -0
- package/src/lib/choice-rules.mjs +41 -0
- package/src/lib/choice-rules.mjs.map +1 -0
- package/src/lib/choice-tags.d.mts +17 -0
- package/src/lib/choice-tags.d.ts +17 -0
- package/src/lib/choice-tags.js +187 -0
- package/src/lib/choice-tags.js.map +1 -0
- package/src/lib/choice-tags.mjs +182 -0
- package/src/lib/choice-tags.mjs.map +1 -0
- package/src/lib/choices-from.d.mts +8 -0
- package/src/lib/choices-from.d.ts +8 -0
- package/src/lib/choices-from.js +63 -0
- package/src/lib/choices-from.js.map +1 -0
- package/src/lib/choices-from.mjs +60 -0
- package/src/lib/choices-from.mjs.map +1 -0
- package/src/lib/display.js +4 -3
- package/src/lib/display.js.map +1 -1
- package/src/lib/display.mjs +5 -4
- package/src/lib/display.mjs.map +1 -1
- package/src/lib/extras.js +8 -4
- package/src/lib/extras.js.map +1 -1
- package/src/lib/extras.mjs +8 -4
- package/src/lib/extras.mjs.map +1 -1
- package/src/lib/files.d.mts +2 -0
- package/src/lib/files.d.ts +2 -0
- package/src/lib/files.js +180 -80
- package/src/lib/files.js.map +1 -1
- package/src/lib/files.mjs +179 -80
- package/src/lib/files.mjs.map +1 -1
- package/src/lib/focus-trap.d.mts +7 -0
- package/src/lib/focus-trap.d.ts +7 -0
- package/src/lib/focus-trap.js +26 -0
- package/src/lib/focus-trap.js.map +1 -0
- package/src/lib/focus-trap.mjs +23 -0
- package/src/lib/focus-trap.mjs.map +1 -0
- package/src/lib/icons.js +1 -0
- package/src/lib/icons.js.map +1 -1
- package/src/lib/icons.mjs +1 -0
- package/src/lib/icons.mjs.map +1 -1
- package/src/lib/kind-parts.d.mts +56 -0
- package/src/lib/kind-parts.d.ts +56 -0
- package/src/lib/kind-parts.js +121 -0
- package/src/lib/kind-parts.js.map +1 -0
- package/src/lib/kind-parts.mjs +107 -0
- package/src/lib/kind-parts.mjs.map +1 -0
- package/src/lib/labels.d.mts +80 -0
- package/src/lib/labels.d.ts +80 -0
- package/src/lib/labels.js +107 -189
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +107 -189
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/layout-styles.d.mts +11 -0
- package/src/lib/layout-styles.d.ts +11 -0
- package/src/lib/layout-styles.js +176 -0
- package/src/lib/layout-styles.js.map +1 -0
- package/src/lib/layout-styles.mjs +173 -0
- package/src/lib/layout-styles.mjs.map +1 -0
- package/src/lib/limits.d.mts +20 -0
- package/src/lib/limits.d.ts +20 -0
- package/src/lib/limits.js +71 -0
- package/src/lib/limits.js.map +1 -0
- package/src/lib/limits.mjs +66 -0
- package/src/lib/limits.mjs.map +1 -0
- package/src/lib/line-moves.d.mts +8 -0
- package/src/lib/line-moves.d.ts +8 -0
- package/src/lib/line-moves.js +20 -0
- package/src/lib/line-moves.js.map +1 -0
- package/src/lib/line-moves.mjs +17 -0
- package/src/lib/line-moves.mjs.map +1 -0
- package/src/lib/lines.js +85 -7
- package/src/lib/lines.js.map +1 -1
- package/src/lib/lines.mjs +86 -8
- package/src/lib/lines.mjs.map +1 -1
- package/src/lib/locales/all.d.mts +8 -0
- package/src/lib/locales/all.d.ts +8 -0
- package/src/lib/locales/all.js +13 -0
- package/src/lib/locales/all.js.map +1 -0
- package/src/lib/locales/all.mjs +10 -0
- package/src/lib/locales/all.mjs.map +1 -0
- package/src/lib/locales/ar.d.mts +3 -0
- package/src/lib/locales/ar.d.ts +3 -0
- package/src/lib/locales/ar.js +104 -0
- package/src/lib/locales/ar.js.map +1 -0
- package/src/lib/locales/ar.mjs +101 -0
- package/src/lib/locales/ar.mjs.map +1 -0
- package/src/lib/locales/de.d.mts +3 -0
- package/src/lib/locales/de.d.ts +3 -0
- package/src/lib/locales/de.js +104 -0
- package/src/lib/locales/de.js.map +1 -0
- package/src/lib/locales/de.mjs +101 -0
- package/src/lib/locales/de.mjs.map +1 -0
- package/src/lib/locales/fr.d.mts +3 -0
- package/src/lib/locales/fr.d.ts +3 -0
- package/src/lib/locales/fr.js +104 -0
- package/src/lib/locales/fr.js.map +1 -0
- package/src/lib/locales/fr.mjs +101 -0
- package/src/lib/locales/fr.mjs.map +1 -0
- package/src/lib/matrix.d.mts +10 -0
- package/src/lib/matrix.d.ts +10 -0
- package/src/lib/matrix.js +86 -0
- package/src/lib/matrix.js.map +1 -0
- package/src/lib/matrix.mjs +82 -0
- package/src/lib/matrix.mjs.map +1 -0
- package/src/lib/numbers.d.mts +7 -0
- package/src/lib/numbers.d.ts +7 -0
- package/src/lib/numbers.js +15 -0
- package/src/lib/numbers.js.map +1 -1
- package/src/lib/numbers.mjs +14 -0
- package/src/lib/numbers.mjs.map +1 -1
- package/src/lib/progress.js +8 -4
- package/src/lib/progress.js.map +1 -1
- package/src/lib/progress.mjs +8 -4
- package/src/lib/progress.mjs.map +1 -1
- package/src/lib/ranking.d.mts +2 -0
- package/src/lib/ranking.d.ts +2 -0
- package/src/lib/ranking.js +172 -0
- package/src/lib/ranking.js.map +1 -0
- package/src/lib/ranking.mjs +168 -0
- package/src/lib/ranking.mjs.map +1 -0
- package/src/lib/relations.d.mts +1 -1
- package/src/lib/relations.d.ts +1 -1
- package/src/lib/relations.js +43 -18
- package/src/lib/relations.js.map +1 -1
- package/src/lib/relations.mjs +43 -18
- package/src/lib/relations.mjs.map +1 -1
- package/src/lib/shuffle.d.mts +7 -0
- package/src/lib/shuffle.d.ts +7 -0
- package/src/lib/shuffle.js +60 -0
- package/src/lib/shuffle.js.map +1 -0
- package/src/lib/shuffle.mjs +57 -0
- package/src/lib/shuffle.mjs.map +1 -0
- package/src/lib/signature.d.mts +2 -0
- package/src/lib/signature.d.ts +2 -0
- package/src/lib/signature.js +223 -0
- package/src/lib/signature.js.map +1 -0
- package/src/lib/signature.mjs +219 -0
- package/src/lib/signature.mjs.map +1 -0
- package/src/lib/slider.d.mts +10 -0
- package/src/lib/slider.d.ts +10 -0
- package/src/lib/slider.js +57 -0
- package/src/lib/slider.js.map +1 -0
- package/src/lib/slider.mjs +53 -0
- package/src/lib/slider.mjs.map +1 -0
- package/src/lib/styles-choices.d.mts +7 -0
- package/src/lib/styles-choices.d.ts +7 -0
- package/src/lib/styles-choices.js +47 -0
- package/src/lib/styles-choices.js.map +1 -0
- package/src/lib/styles-choices.mjs +44 -0
- package/src/lib/styles-choices.mjs.map +1 -0
- package/src/lib/styles-inputs.d.mts +9 -0
- package/src/lib/styles-inputs.d.ts +9 -0
- package/src/lib/styles-inputs.js +41 -0
- package/src/lib/styles-inputs.js.map +1 -0
- package/src/lib/styles-inputs.mjs +38 -0
- package/src/lib/styles-inputs.mjs.map +1 -0
- package/src/lib/styles-kinds.d.mts +7 -0
- package/src/lib/styles-kinds.d.ts +7 -0
- package/src/lib/styles-kinds.js +119 -0
- package/src/lib/styles-kinds.js.map +1 -0
- package/src/lib/styles-kinds.mjs +116 -0
- package/src/lib/styles-kinds.mjs.map +1 -0
- package/src/lib/styles.d.mts +2 -14
- package/src/lib/styles.d.ts +2 -14
- package/src/lib/styles.js +180 -66
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +180 -66
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/units.d.mts +10 -0
- package/src/lib/units.d.ts +10 -0
- package/src/lib/units.js +19 -0
- package/src/lib/units.js.map +1 -0
- package/src/lib/units.mjs +16 -0
- package/src/lib/units.mjs.map +1 -0
- package/src/lib/widgets.js +215 -57
- package/src/lib/widgets.js.map +1 -1
- package/src/lib/widgets.mjs +215 -57
- package/src/lib/widgets.mjs.map +1 -1
- package/src/lib/yes-no.d.mts +9 -0
- package/src/lib/yes-no.d.ts +9 -0
- package/src/lib/yes-no.js +58 -0
- package/src/lib/yes-no.js.map +1 -0
- package/src/lib/yes-no.mjs +54 -0
- package/src/lib/yes-no.mjs.map +1 -0
package/src/lib/widgets.js
CHANGED
|
@@ -13,6 +13,22 @@ const statusbar_1 = require("./statusbar");
|
|
|
13
13
|
const calendar_1 = require("./calendar");
|
|
14
14
|
const properties_1 = require("./properties");
|
|
15
15
|
const extras_1 = require("./extras");
|
|
16
|
+
const matrix_1 = require("./matrix");
|
|
17
|
+
const signature_1 = require("./signature");
|
|
18
|
+
const slider_1 = require("./slider");
|
|
19
|
+
const choice_tags_1 = require("./choice-tags");
|
|
20
|
+
const choice_images_1 = require("./choice-images");
|
|
21
|
+
const ranking_1 = require("./ranking");
|
|
22
|
+
const address_1 = require("./address");
|
|
23
|
+
const cards_1 = require("./cards");
|
|
24
|
+
const kind_parts_1 = require("./kind-parts");
|
|
25
|
+
const shuffle_1 = require("./shuffle");
|
|
26
|
+
const limits_1 = require("./limits");
|
|
27
|
+
const units_1 = require("./units");
|
|
28
|
+
const icons_1 = require("./icons");
|
|
29
|
+
const choices_from_1 = require("./choices-from");
|
|
30
|
+
const yes_no_1 = require("./yes-no");
|
|
31
|
+
const choice_rules_1 = require("./choice-rules");
|
|
16
32
|
/**
|
|
17
33
|
* Pick the widget for a field: the app's or the built-in one for
|
|
18
34
|
* `type.widget` (such as `selection.radio`), then for the type alone. A type
|
|
@@ -27,8 +43,9 @@ function createWidget(context, registry = {}) {
|
|
|
27
43
|
].filter((key) => key !== null);
|
|
28
44
|
for (const key of keys) {
|
|
29
45
|
const factory = registry[key] ?? exports.builtInWidgets[key];
|
|
46
|
+
// Choices from the app's list: the same widget, drawn again as they load.
|
|
30
47
|
if (factory)
|
|
31
|
-
return factory(context);
|
|
48
|
+
return field.type === 'selection' && field.optionsFrom ? (0, choices_from_1.listChoices)(factory, context) : factory(context);
|
|
32
49
|
}
|
|
33
50
|
return pendingWidget(context);
|
|
34
51
|
}
|
|
@@ -42,53 +59,64 @@ function make(doc, tag, props = {}, ...children) {
|
|
|
42
59
|
return element;
|
|
43
60
|
}
|
|
44
61
|
function describe(element, state) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
else
|
|
50
|
-
element.removeAttribute('aria-describedby');
|
|
62
|
+
(0, kind_parts_1.setAttr)(element, 'aria-invalid', String(state.invalid));
|
|
63
|
+
// ARIA has no "required" for a group of checkboxes: its label's mark says it there.
|
|
64
|
+
(0, kind_parts_1.setAttr)(element, 'aria-required', element.getAttribute('role') === 'group' ? null : String(state.required));
|
|
65
|
+
(0, kind_parts_1.setAttr)(element, 'aria-describedby', state.describedBy || null);
|
|
51
66
|
}
|
|
52
67
|
const textOf = (value) => (value === null || value === undefined ? '' : String(value));
|
|
53
68
|
function textWidget(inputType) {
|
|
54
|
-
return (
|
|
55
|
-
const
|
|
69
|
+
return (context) => {
|
|
70
|
+
const { form, name, field, node, id, document } = context;
|
|
71
|
+
// A person's own email, phone or web address, the browser may offer.
|
|
72
|
+
const input = make(document, 'input', { id, type: inputType, class: 'fd-input', autocomplete: /^(email|tel|url)$/.test(inputType) ? inputType : 'off' });
|
|
56
73
|
if (field.type === 'char' && field.size !== undefined)
|
|
57
74
|
input.maxLength = field.size;
|
|
75
|
+
if (inputType === 'time')
|
|
76
|
+
(0, limits_1.bounds)(input, field, node);
|
|
58
77
|
if (node.placeholder)
|
|
59
78
|
input.placeholder = node.placeholder;
|
|
60
79
|
input.addEventListener('input', () => form.setValue(name, input.value === '' ? null : input.value));
|
|
61
|
-
return {
|
|
80
|
+
return (0, limits_1.counted)({
|
|
62
81
|
element: input,
|
|
63
82
|
focus: () => input.focus(),
|
|
64
83
|
update(state) {
|
|
65
84
|
const text = textOf(state.value);
|
|
66
85
|
if (input.value !== text)
|
|
67
86
|
input.value = text;
|
|
68
|
-
input.readOnly
|
|
87
|
+
if (input.readOnly !== state.readonly)
|
|
88
|
+
input.readOnly = state.readonly;
|
|
69
89
|
describe(input, state);
|
|
70
90
|
},
|
|
71
|
-
};
|
|
91
|
+
}, context, input);
|
|
72
92
|
};
|
|
73
93
|
}
|
|
74
|
-
const textareaWidget = (
|
|
94
|
+
const textareaWidget = (context) => {
|
|
95
|
+
const { form, name, field, node, id, document } = context;
|
|
75
96
|
const area = make(document, 'textarea', { id, class: 'fd-input fd-textarea', rows: '3' });
|
|
76
97
|
if (field.type === 'text' && field.size !== undefined)
|
|
77
98
|
area.maxLength = field.size;
|
|
78
99
|
if (node.placeholder)
|
|
79
100
|
area.placeholder = node.placeholder;
|
|
80
|
-
|
|
81
|
-
|
|
101
|
+
const grow = (0, limits_1.grower)(area, node);
|
|
102
|
+
area.addEventListener('input', () => {
|
|
103
|
+
grow();
|
|
104
|
+
form.setValue(name, area.value === '' ? null : area.value);
|
|
105
|
+
});
|
|
106
|
+
return (0, limits_1.counted)({
|
|
82
107
|
element: area,
|
|
83
108
|
focus: () => area.focus(),
|
|
84
109
|
update(state) {
|
|
85
110
|
const text = textOf(state.value);
|
|
86
|
-
if (area.value !== text)
|
|
111
|
+
if (area.value !== text) {
|
|
87
112
|
area.value = text;
|
|
88
|
-
|
|
113
|
+
grow();
|
|
114
|
+
}
|
|
115
|
+
if (area.readOnly !== state.readonly)
|
|
116
|
+
area.readOnly = state.readonly;
|
|
89
117
|
describe(area, state);
|
|
90
118
|
},
|
|
91
|
-
};
|
|
119
|
+
}, context, area);
|
|
92
120
|
};
|
|
93
121
|
const NUMBER = /^-?(\d+\.?\d*|\.\d+)$/;
|
|
94
122
|
const UNFINISHED = /^-?\.?$/;
|
|
@@ -137,11 +165,16 @@ const numberWidget = (context) => {
|
|
|
137
165
|
picker.element.querySelector('input, select')?.setAttribute('aria-label', currencyDef.label);
|
|
138
166
|
if (picker?.element.matches('input, select') && currencyDef)
|
|
139
167
|
picker.element.setAttribute('aria-label', currencyDef.label);
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
const
|
|
144
|
-
|
|
168
|
+
// Inside the box: the currency where the page's language writes it, unless the page says before or after; a number's unit (options.prefix, options.suffix).
|
|
169
|
+
const after = options['symbol'] ? options['symbol'] === 'after' : field.type === 'monetary' && (0, units_1.currencySymbol)(field.currency ?? 'USD', locale).after;
|
|
170
|
+
const unit = (text, n) => make(document, 'span', { class: `fd-unit${field.type === 'monetary' ? ' fd-currency' : ''}`, id: `${id}-unit${n}` }, text);
|
|
171
|
+
const currency = field.type === 'monetary' && !picker ? unit('', 0) : null;
|
|
172
|
+
const [prefix, suffix] = ['prefix', 'suffix'].map((key, n) => (typeof options[key] === 'string' && options[key] ? unit(options[key], n + 1) : null));
|
|
173
|
+
const first = (after ? null : (picker?.element ?? currency)) ?? prefix;
|
|
174
|
+
const last = (after ? (picker?.element ?? currency) : null) ?? suffix;
|
|
175
|
+
const units = [first, last].filter((u) => !!u && u !== picker?.element);
|
|
176
|
+
const element = first || last
|
|
177
|
+
? make(document, 'span', { class: `fd-number${after ? ' fd-currency-after' : ''}${picker ? ' fd-currency-picked' : ''}` }, ...[first, input, last].filter((u) => !!u))
|
|
145
178
|
: input;
|
|
146
179
|
return {
|
|
147
180
|
element,
|
|
@@ -155,29 +188,37 @@ const numberWidget = (context) => {
|
|
|
155
188
|
if (input.value !== text)
|
|
156
189
|
input.value = text;
|
|
157
190
|
}
|
|
158
|
-
input.readOnly
|
|
159
|
-
|
|
191
|
+
if (input.readOnly !== state.readonly)
|
|
192
|
+
input.readOnly = state.readonly;
|
|
193
|
+
describe(input, { ...state, describedBy: [state.describedBy, ...units.map((u) => u.id)].filter(Boolean).join(' ') });
|
|
160
194
|
if (picker && currencyField) {
|
|
161
195
|
picker.update({ value: state.values[currencyField], values: state.values, readonly: state.readonly, required: false, invalid: false });
|
|
162
196
|
}
|
|
163
197
|
if (currency && field.type === 'monetary') {
|
|
164
198
|
const holder = field.currencyField ? state.values[field.currencyField] : null;
|
|
165
|
-
|
|
166
|
-
|
|
199
|
+
const code = holder && typeof holder === 'object' && 'label' in holder ? holder.label : (typeof holder === 'string' ? holder : field.currency ?? '');
|
|
200
|
+
(0, kind_parts_1.setText)(currency, /^[A-Z]{3}$/.test(code) ? (0, units_1.currencySymbol)(code, locale).text : code);
|
|
167
201
|
}
|
|
202
|
+
// Room in the box for its units, as wide as their words.
|
|
203
|
+
for (const [u, side] of [[first, 'start'], [last, 'end']])
|
|
204
|
+
if (u && units.includes(u))
|
|
205
|
+
input.style.setProperty(`padding-inline-${side}`, `calc(var(--fd-pad-x) + ${u.textContent?.length ?? 0}ch + 4px)`);
|
|
168
206
|
},
|
|
169
207
|
};
|
|
170
208
|
};
|
|
171
|
-
|
|
209
|
+
/** A box to tick: plain under its label, a switch, or a tick box with its words after it (the viewer puts them there). */
|
|
210
|
+
function checkboxWidget(look = 'box') {
|
|
211
|
+
const attrs = look === 'switch' ? { class: 'fd-switch', role: 'switch' } : { class: look === 'tick' ? 'fd-checkbox fd-tick' : 'fd-checkbox' };
|
|
172
212
|
return ({ form, name, id, document }) => {
|
|
173
|
-
const box = make(document, 'input', { id, type: 'checkbox',
|
|
213
|
+
const box = make(document, 'input', { id, type: 'checkbox', ...attrs });
|
|
174
214
|
box.addEventListener('change', () => form.setValue(name, box.checked));
|
|
175
215
|
return {
|
|
176
216
|
element: box,
|
|
177
217
|
focus: () => box.focus(),
|
|
178
218
|
update(state) {
|
|
179
219
|
box.checked = state.value === true;
|
|
180
|
-
box.disabled
|
|
220
|
+
if (box.disabled !== state.readonly)
|
|
221
|
+
box.disabled = state.readonly;
|
|
181
222
|
describe(box, state);
|
|
182
223
|
},
|
|
183
224
|
};
|
|
@@ -186,8 +227,13 @@ function checkboxWidget(role) {
|
|
|
186
227
|
function options(field) {
|
|
187
228
|
return field.type === 'selection' ? field.options : [];
|
|
188
229
|
}
|
|
189
|
-
const selectWidget = (
|
|
190
|
-
const
|
|
230
|
+
const selectWidget = (context) => {
|
|
231
|
+
const { form, name, field, node, id, document } = context;
|
|
232
|
+
// A long list, or one the page asks to: a box to type in, its options found as one types.
|
|
233
|
+
const search = node.options?.['search'];
|
|
234
|
+
if (search === true || (search !== false && options(field).length > 15))
|
|
235
|
+
return (0, choice_tags_1.searchWidget)(context);
|
|
236
|
+
const choices = (0, shuffle_1.shownOptions)(options(field), form, name, node);
|
|
191
237
|
const select = make(document, 'select', { id, class: 'fd-input fd-select' }, make(document, 'option', { value: '' }));
|
|
192
238
|
choices.forEach((option, i) => select.append(make(document, 'option', { value: String(i) }, option.label)));
|
|
193
239
|
select.addEventListener('change', () => form.setValue(name, select.value === '' ? null : choices[Number(select.value)].value));
|
|
@@ -197,54 +243,134 @@ const selectWidget = ({ form, name, field, id, document }) => {
|
|
|
197
243
|
update(state) {
|
|
198
244
|
const index = choices.findIndex((option) => option.value === state.value);
|
|
199
245
|
select.value = index === -1 ? '' : String(index);
|
|
200
|
-
select.disabled
|
|
246
|
+
if (select.disabled !== state.readonly)
|
|
247
|
+
select.disabled = state.readonly;
|
|
201
248
|
describe(select, state);
|
|
202
249
|
},
|
|
203
250
|
};
|
|
204
251
|
};
|
|
205
252
|
function choiceGroup(kind) {
|
|
206
|
-
return ({ form, name, field, id, document }) => {
|
|
207
|
-
|
|
253
|
+
return ({ form, name, field, node, id, document, labels, locale }) => {
|
|
254
|
+
// Shown shuffled when the page asks; "Other" comes after them all the same.
|
|
255
|
+
const choices = (0, shuffle_1.shownOptions)(options(field), form, name, node);
|
|
256
|
+
const words = (0, kind_parts_1.wordsFor)(labels, locale);
|
|
208
257
|
const group = make(document, 'div', { id, class: `fd-choices fd-choices-${kind}`, role: kind === 'radio' ? 'radiogroup' : 'group' });
|
|
258
|
+
(0, choice_rules_1.layOut)(group, node);
|
|
259
|
+
const limit = kind === 'checkbox' ? (0, choice_rules_1.limiter)((0, kind_parts_1.maker)(document), words, node) : null;
|
|
209
260
|
const inputs = choices.map((option, i) => {
|
|
210
261
|
const input = make(document, 'input', { type: kind, name: id, value: String(i), id: `${id}-${i}` });
|
|
211
262
|
group.append(make(document, 'label', { class: 'fd-choice', for: `${id}-${i}` }, input, make(document, 'span', {}, option.label)));
|
|
212
263
|
return input;
|
|
213
264
|
});
|
|
214
|
-
|
|
265
|
+
// "Other:", after the options: a choice of its own, with a box for the answer — as Google Forms has it.
|
|
266
|
+
const other = field.type === 'selection' && field.other === true;
|
|
267
|
+
const otherChoice = other ? make(document, 'input', { type: kind, name: id, value: 'other', id: `${id}-other` }) : null;
|
|
268
|
+
const otherBox = other ? make(document, 'input', { type: 'text', class: 'fd-input fd-other-input', 'aria-label': words.otherAnswer, autocomplete: 'off' }) : null;
|
|
269
|
+
if (otherChoice && otherBox) {
|
|
270
|
+
group.append(make(document, 'div', { class: 'fd-choice fd-choice-other' }, make(document, 'label', { class: 'fd-choice-other-pick', for: `${id}-other` }, otherChoice, make(document, 'span', {}, words.other)), otherBox));
|
|
271
|
+
// Typing picks "Other"; picking "Other" puts the cursor in its box.
|
|
272
|
+
otherBox.addEventListener('input', () => {
|
|
273
|
+
if (!otherChoice.checked)
|
|
274
|
+
otherChoice.checked = true;
|
|
275
|
+
save(otherChoice);
|
|
276
|
+
});
|
|
277
|
+
otherChoice.addEventListener('change', () => {
|
|
278
|
+
if (otherChoice.checked)
|
|
279
|
+
otherBox.focus();
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
if (limit?.element)
|
|
283
|
+
group.append(limit.element);
|
|
284
|
+
/** The answer the boxes say now: the options picked, and the words of "Other" when it is picked and has any. */
|
|
285
|
+
function save(ticked) {
|
|
286
|
+
// "None of these" goes alone: ticked, it unticks the rest; another ticked unticks it.
|
|
287
|
+
if (kind === 'checkbox' && ticked instanceof HTMLInputElement && ticked.checked) {
|
|
288
|
+
const alone = choices[inputs.indexOf(ticked)]?.exclusive === true;
|
|
289
|
+
inputs.forEach((input, i) => input !== ticked && (alone || choices[i].exclusive) && (input.checked = false));
|
|
290
|
+
if (alone && otherChoice)
|
|
291
|
+
otherChoice.checked = false;
|
|
292
|
+
}
|
|
293
|
+
const own = otherChoice?.checked && otherBox && otherBox.value.trim() ? otherBox.value : null;
|
|
215
294
|
if (kind === 'radio') {
|
|
216
295
|
const chosen = inputs.findIndex((input) => input.checked);
|
|
217
|
-
form.setValue(name, chosen
|
|
296
|
+
form.setValue(name, chosen !== -1 ? choices[chosen].value : own);
|
|
218
297
|
}
|
|
219
298
|
else {
|
|
220
|
-
|
|
299
|
+
// In the options' own order, however they are shown.
|
|
300
|
+
const ticked = new Set(choices.filter((_, i) => inputs[i].checked));
|
|
301
|
+
form.setValue(name, [...options(field).filter((option) => ticked.has(option)).map((option) => option.value), ...(own !== null ? [own] : [])]);
|
|
221
302
|
}
|
|
303
|
+
}
|
|
304
|
+
group.addEventListener('change', (event) => {
|
|
305
|
+
if (event.target !== otherBox)
|
|
306
|
+
save(event.target);
|
|
222
307
|
});
|
|
308
|
+
const known = new Set(choices.map((o) => o.value));
|
|
309
|
+
const picked = () => inputs.some((input) => input.checked) || otherChoice?.checked === true;
|
|
310
|
+
const clear = kind === 'radio'
|
|
311
|
+
? (0, kind_parts_1.clearSelection)(document, words, () => {
|
|
312
|
+
for (const input of [...inputs, otherChoice])
|
|
313
|
+
if (input)
|
|
314
|
+
input.checked = false;
|
|
315
|
+
form.setValue(name, null);
|
|
316
|
+
// The link goes; the cursor stays in the question.
|
|
317
|
+
(inputs[0] ?? otherChoice)?.focus();
|
|
318
|
+
})
|
|
319
|
+
: null;
|
|
223
320
|
return {
|
|
224
|
-
element: group,
|
|
225
|
-
focus: () => (inputs.find((input) => input.checked) ?? inputs[0])?.focus(),
|
|
321
|
+
element: clear ? make(document, 'div', { class: 'fd-choices-box' }, group, clear.button) : group,
|
|
322
|
+
focus: () => (inputs.find((input) => input.checked) ?? (otherChoice?.checked ? otherBox : null) ?? inputs[0])?.focus(),
|
|
226
323
|
update(state) {
|
|
227
324
|
const chosen = Array.isArray(state.value) ? state.value : [state.value];
|
|
325
|
+
// At the most a question takes, the boxes not ticked wait; "None of these" stays open.
|
|
326
|
+
const full = !!limit?.full(Array.isArray(state.value) ? state.value.length : 0);
|
|
228
327
|
inputs.forEach((input, i) => {
|
|
229
328
|
input.checked = chosen.includes(choices[i].value);
|
|
230
|
-
|
|
329
|
+
const off = state.readonly || (full && !input.checked && !choices[i].exclusive);
|
|
330
|
+
if (input.disabled !== off)
|
|
331
|
+
input.disabled = off;
|
|
231
332
|
});
|
|
333
|
+
if (otherChoice && otherBox) {
|
|
334
|
+
// A value not among the options is an answer of its own: "Other", with its words.
|
|
335
|
+
const own = chosen.find((v) => typeof v === 'string' && !known.has(v));
|
|
336
|
+
// Picked with its box still empty, "Other" stays picked until something else is.
|
|
337
|
+
const waiting = otherChoice.checked && !otherBox.value.trim() && (kind === 'checkbox' || chosen.every((v) => v === null || v === undefined));
|
|
338
|
+
otherChoice.checked = own !== undefined || waiting;
|
|
339
|
+
if (own !== undefined && document.activeElement !== otherBox)
|
|
340
|
+
otherBox.value = own;
|
|
341
|
+
const off = state.readonly || (full && !otherChoice.checked);
|
|
342
|
+
if (otherChoice.disabled !== off)
|
|
343
|
+
otherChoice.disabled = otherBox.disabled = off;
|
|
344
|
+
}
|
|
345
|
+
clear?.allow(state);
|
|
346
|
+
clear?.show(picked());
|
|
232
347
|
describe(group, state);
|
|
233
348
|
},
|
|
234
349
|
};
|
|
235
350
|
};
|
|
236
351
|
}
|
|
237
|
-
/**
|
|
352
|
+
/**
|
|
353
|
+
* Stars or numbers to pick from, as a radio group with arrow-key support. A
|
|
354
|
+
* rating shows `options.icon`: stars, "heart", "thumb" up, or "number"s that
|
|
355
|
+
* mark only the one picked, as a scale's do.
|
|
356
|
+
*/
|
|
238
357
|
function pointsWidget(style) {
|
|
239
|
-
return ({ form, name, field, id, document }) => {
|
|
240
|
-
const
|
|
241
|
-
const
|
|
242
|
-
const
|
|
358
|
+
return ({ form, name, field, node, id, document, labels, locale }) => {
|
|
359
|
+
const words = (0, kind_parts_1.wordsFor)(labels, locale);
|
|
360
|
+
const min = 'min' in field && typeof field.min === 'number' ? field.min : style === 'rating' ? 1 : 0;
|
|
361
|
+
const max = 'max' in field && typeof field.max === 'number' ? field.max : style === 'rating' ? 5 : 10;
|
|
362
|
+
const icon = style === 'rating' ? node.options?.['icon'] : 'number';
|
|
363
|
+
const filling = icon !== 'number';
|
|
364
|
+
// A 0–10 scale coloured as NPS (options.nps): 0–6, 7–8 and 9–10 apart, in red, amber and green.
|
|
365
|
+
const nps = style === 'scale' && node.options?.['nps'] === true && min === 0 && max === 10;
|
|
366
|
+
const group = make(document, 'div', { id, class: `fd-points fd-${filling ? 'rating' : 'scale'}${filling ? ` fd-rating-${icon ?? 'star'}` : ''}${nps ? ' fd-nps' : ''}`, role: 'radiogroup' });
|
|
243
367
|
const points = [];
|
|
244
368
|
for (let n = min; n <= max; n++) {
|
|
245
|
-
const point = make(document, 'button', { type: 'button', role: 'radio', 'aria-label':
|
|
369
|
+
const point = make(document, 'button', { type: 'button', role: 'radio', 'aria-label': (0, kind_parts_1.fillIn)(words.ofMax, { n, max }), 'data-value': String(n) }, icon === 'thumb' ? (0, icons_1.drawIcon)(document, 'thumb') : icon === 'heart' ? '♥' : filling ? '★' : String(n));
|
|
246
370
|
if (style === 'scale')
|
|
247
371
|
point.removeAttribute('aria-label');
|
|
372
|
+
if (nps)
|
|
373
|
+
point.dataset['tone'] = n < 7 ? 'low' : n < 9 ? 'mid' : 'high';
|
|
248
374
|
point.addEventListener('click', () => form.setValue(name, n));
|
|
249
375
|
points.push(point);
|
|
250
376
|
group.append(point);
|
|
@@ -260,26 +386,43 @@ function pointsWidget(style) {
|
|
|
260
386
|
form.setValue(name, next);
|
|
261
387
|
points[next - min]?.focus();
|
|
262
388
|
});
|
|
389
|
+
// The ends in words, under the first and last points: "Not likely" … "Very likely".
|
|
390
|
+
const ends = [node.options?.['startLabel'], node.options?.['endLabel']].map((v) => (typeof v === 'string' ? v : ''));
|
|
391
|
+
const clear = (0, kind_parts_1.clearSelection)(document, words, () => {
|
|
392
|
+
form.setValue(name, null);
|
|
393
|
+
points[0]?.focus();
|
|
394
|
+
});
|
|
395
|
+
const shown = ends.some(Boolean)
|
|
396
|
+
? make(document, 'div', { class: 'fd-scale-box' }, group, make(document, 'div', { class: 'fd-scale-ends', 'aria-hidden': 'true' }, make(document, 'span', {}, ends[0]), make(document, 'span', {}, ends[1])))
|
|
397
|
+
: group;
|
|
398
|
+
if (ends.some(Boolean))
|
|
399
|
+
group.setAttribute('aria-description', ends.filter(Boolean).join(' … '));
|
|
263
400
|
return {
|
|
264
|
-
element:
|
|
401
|
+
element: make(document, 'div', { class: 'fd-choices-box' }, shown, clear.button),
|
|
265
402
|
focus: () => (points.find((p) => p.getAttribute('aria-checked') === 'true') ?? points[0])?.focus(),
|
|
266
403
|
update(state) {
|
|
267
404
|
const value = typeof state.value === 'number' ? state.value : null;
|
|
268
405
|
points.forEach((point, i) => {
|
|
269
406
|
const n = min + i;
|
|
270
|
-
|
|
271
|
-
point.classList.toggle('fd-on',
|
|
272
|
-
|
|
273
|
-
point.
|
|
407
|
+
(0, kind_parts_1.setAttr)(point, 'aria-checked', String(n === value));
|
|
408
|
+
point.classList.toggle('fd-on', filling ? value !== null && n <= value : n === value);
|
|
409
|
+
const tab = n === value || (value === null && i === 0) ? 0 : -1;
|
|
410
|
+
if (point.tabIndex !== tab)
|
|
411
|
+
point.tabIndex = tab;
|
|
412
|
+
if (point.disabled !== state.readonly)
|
|
413
|
+
point.disabled = state.readonly;
|
|
274
414
|
});
|
|
415
|
+
clear.allow(state);
|
|
416
|
+
clear.show(value !== null);
|
|
275
417
|
describe(group, state);
|
|
276
418
|
},
|
|
277
419
|
};
|
|
278
420
|
};
|
|
279
421
|
}
|
|
280
422
|
const dateWidget = (context) => {
|
|
281
|
-
const { form, name, id, document, node } = context;
|
|
423
|
+
const { form, name, field, id, document, node } = context;
|
|
282
424
|
const input = make(document, 'input', { id, type: 'date', class: 'fd-input fd-date' });
|
|
425
|
+
(0, limits_1.bounds)(input, field, node);
|
|
283
426
|
input.addEventListener('input', () => form.setValue(name, input.value || null));
|
|
284
427
|
const widget = {
|
|
285
428
|
element: input,
|
|
@@ -288,7 +431,8 @@ const dateWidget = (context) => {
|
|
|
288
431
|
const text = textOf(state.value);
|
|
289
432
|
if (input.value !== text)
|
|
290
433
|
input.value = text;
|
|
291
|
-
input.readOnly
|
|
434
|
+
if (input.readOnly !== state.readonly)
|
|
435
|
+
input.readOnly = state.readonly;
|
|
292
436
|
describe(input, state);
|
|
293
437
|
},
|
|
294
438
|
};
|
|
@@ -297,8 +441,9 @@ const dateWidget = (context) => {
|
|
|
297
441
|
const pad = (n) => String(n).padStart(2, '0');
|
|
298
442
|
/** Shown in local time, stored as an ISO instant in UTC. */
|
|
299
443
|
const dateTimeWidget = (context) => {
|
|
300
|
-
const { form, name, id, document, node } = context;
|
|
444
|
+
const { form, name, field, id, document, node } = context;
|
|
301
445
|
const input = make(document, 'input', { id, type: 'datetime-local', class: 'fd-input fd-datetime' });
|
|
446
|
+
(0, limits_1.bounds)(input, field, node);
|
|
302
447
|
const local = (iso) => {
|
|
303
448
|
if (typeof iso !== 'string' || !iso)
|
|
304
449
|
return '';
|
|
@@ -319,7 +464,8 @@ const dateTimeWidget = (context) => {
|
|
|
319
464
|
const text = local(state.value);
|
|
320
465
|
if (input.value !== text)
|
|
321
466
|
input.value = text;
|
|
322
|
-
input.readOnly
|
|
467
|
+
if (input.readOnly !== state.readonly)
|
|
468
|
+
input.readOnly = state.readonly;
|
|
323
469
|
describe(input, state);
|
|
324
470
|
},
|
|
325
471
|
};
|
|
@@ -351,7 +497,7 @@ function summary(value, field) {
|
|
|
351
497
|
}
|
|
352
498
|
case 'binary':
|
|
353
499
|
case 'image':
|
|
354
|
-
return value.name;
|
|
500
|
+
return [value].flat().map((file) => file.name).join(', ');
|
|
355
501
|
case 'html':
|
|
356
502
|
return String(value).replace(/<[^>]*>/g, ' ').replace(/\s+/g, ' ').trim();
|
|
357
503
|
default:
|
|
@@ -364,6 +510,7 @@ exports.builtInWidgets = {
|
|
|
364
510
|
'char.phone': textWidget('tel'),
|
|
365
511
|
'char.url': textWidget('url'),
|
|
366
512
|
'char.password': textWidget('password'),
|
|
513
|
+
'char.time': textWidget('time'),
|
|
367
514
|
'char.tags': relations_1.charTagsWidget,
|
|
368
515
|
text: textareaWidget,
|
|
369
516
|
integer: numberWidget,
|
|
@@ -371,6 +518,8 @@ exports.builtInWidgets = {
|
|
|
371
518
|
monetary: numberWidget,
|
|
372
519
|
'integer.rating': pointsWidget('rating'),
|
|
373
520
|
'integer.scale': pointsWidget('scale'),
|
|
521
|
+
'integer.slider': slider_1.sliderWidget,
|
|
522
|
+
'float.slider': slider_1.sliderWidget,
|
|
374
523
|
'integer.progressbar': progress_1.progressbarWidget,
|
|
375
524
|
'integer.label': label_1.labelWidget,
|
|
376
525
|
'float.label': label_1.labelWidget,
|
|
@@ -379,9 +528,14 @@ exports.builtInWidgets = {
|
|
|
379
528
|
'monetary.progressbar': progress_1.progressbarWidget,
|
|
380
529
|
boolean: checkboxWidget(),
|
|
381
530
|
'boolean.toggle': checkboxWidget('switch'),
|
|
531
|
+
'boolean.tick': checkboxWidget('tick'),
|
|
532
|
+
'boolean.buttons': yes_no_1.yesNoWidget,
|
|
382
533
|
selection: selectWidget,
|
|
383
534
|
'selection.radio': choiceGroup('radio'),
|
|
384
535
|
'selection.checkboxes': choiceGroup('checkbox'),
|
|
536
|
+
'selection.tags': choice_tags_1.choiceTagsWidget,
|
|
537
|
+
'selection.image-choice': choice_images_1.imageChoiceWidget,
|
|
538
|
+
'selection.ranking': ranking_1.rankingWidget,
|
|
385
539
|
'selection.statusbar': statusbar_1.statusbarWidget,
|
|
386
540
|
date: dateWidget,
|
|
387
541
|
datetime: dateTimeWidget,
|
|
@@ -392,10 +546,14 @@ exports.builtInWidgets = {
|
|
|
392
546
|
'many2many.checkboxes': relations_1.linkCheckboxesWidget,
|
|
393
547
|
reference: relations_1.referenceWidget,
|
|
394
548
|
one2many: lines_1.linesWidget,
|
|
549
|
+
'one2many.cards': cards_1.cardsWidget,
|
|
395
550
|
binary: files_1.binaryWidget,
|
|
551
|
+
'binary.signature': signature_1.signatureWidget,
|
|
396
552
|
image: files_1.imageWidget,
|
|
397
553
|
html: extras_1.htmlWidget,
|
|
398
554
|
json: extras_1.jsonWidget,
|
|
555
|
+
'json.address': address_1.addressWidget,
|
|
399
556
|
properties: properties_1.propertiesWidget,
|
|
557
|
+
matrix: matrix_1.matrixWidget,
|
|
400
558
|
};
|
|
401
559
|
//# sourceMappingURL=widgets.js.map
|
package/src/lib/widgets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/widgets.ts"],"names":[],"mappings":";;;AA8FA,oCAYC;AAkTD,0BAoBC;AAlaD,uCAA0D;AAE1D,2CAAgH;AAChH,mCAAsC;AACtC,mCAAoD;AACpD,yCAA+C;AAC/C,mCAAsC;AACtC,2CAA8C;AAC9C,yCAA0C;AAC1C,6CAAgD;AAChD,qCAAkD;AAiElD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAAsB,EAAE,WAA0C,EAAE;IAC/F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,IAAI,GAAG;QACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACnD,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI;QAC5E,KAAK,CAAC,IAAI;KACX,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,sBAAc,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,8EAA8E;AAE9E,SAAS,IAAI,CACX,GAAa,EACb,GAAM,EACN,QAAyC,EAAE,EAC3C,GAAG,QAA2B;IAE9B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9G,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAoB,EAAE,KAAkB;IACxD,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;;QAC9E,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1G,SAAS,UAAU,CAAC,SAAiB;IACnC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACvG,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QACpF,IAAI,IAAI,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACpG,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;YAC1B,MAAM,CAAC,KAAK;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;oBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC7C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IACnF,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;QACzB,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC;AACvC,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,YAAY,GAAkB,CAAC,OAAO,EAAE,EAAE;IAC9C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1H,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChI,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACpH,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAE3D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAqB,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC,CAAC,0BAA0B;QACvE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IACnD,CAAC,CAAC;IACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QAClC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,sFAAsF;IACtF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,MAAM,GACV,aAAa,IAAI,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI;QAC9D,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;QACvK,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,MAAM,IAAI,WAAW;QAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACxH,IAAI,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,WAAW;QAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1H,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvI,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,IAAI,QAAQ,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtK,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;QAC1B,MAAM,CAAC,KAAK;YACV,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC;YACjE,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;oBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvB,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9E,QAAQ,CAAC,WAAW;oBAClB,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAE,MAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC/J,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,IAAe;IACrC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,GAAG;YACZ,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;YACxB,MAAM,CAAC,KAAK;gBACV,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;gBACnC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC9B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAY;IAC3B,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,YAAY,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/H,OAAO;QACL,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QAC3B,MAAM,CAAC,KAAK;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,IAA0B;IAC7C,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,yBAAyB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrI,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClI,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACpC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YAC1E,MAAM,CAAC,KAAK;gBACV,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAc,CAAC,CAAC;oBAC3D,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAChG,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzK,IAAI,KAAK,KAAK,OAAO;gBAAE,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC3D,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzI,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;YAClG,MAAM,CAAC,KAAK;gBACV,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAClB,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;oBACxD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;oBACjG,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAkB,CAAC,OAAO,EAAE,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACvF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;QAC1B,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC7C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEtD,4DAA4D;AAC5D,MAAM,cAAc,GAAkB,CAAC,OAAO,EAAE,EAAE;IAChD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,CAAC,GAAsB,EAAE,EAAE;QACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IACxJ,CAAC,CAAC;IACF,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;QAC1B,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC7C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACrG,CAAC,CAAC;AAEF,qEAAqE;AACrE,SAAS,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAiB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;QACtB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,OAAO,CAAC,KAAwB,EAAE,KAAY;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,OAAQ,KAAwC,CAAC,KAAK,CAAC;QACzD,KAAK,WAAW;YACd,OAAQ,KAAyB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAI,KAAgB,CAAC,MAAM,CAAC;YACvC,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAQ,KAAmB,CAAC,IAAI,CAAC;QACnC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E;YACE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAAkC;IAC3D,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC;IACjC,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAC7B,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC;IACvC,WAAW,EAAE,0BAAc;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,YAAY;IACtB,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC;IACxC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC;IACtC,qBAAqB,EAAE,4BAAiB;IACxC,eAAe,EAAE,mBAAW;IAC5B,aAAa,EAAE,mBAAW;IAC1B,gBAAgB,EAAE,mBAAW;IAC7B,mBAAmB,EAAE,4BAAiB;IACtC,sBAAsB,EAAE,4BAAiB;IACzC,OAAO,EAAE,cAAc,EAAE;IACzB,gBAAgB,EAAE,cAAc,CAAC,QAAQ,CAAC;IAC1C,SAAS,EAAE,YAAY;IACvB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC;IACvC,sBAAsB,EAAE,WAAW,CAAC,UAAU,CAAC;IAC/C,qBAAqB,EAAE,2BAAe;IACtC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,0BAAc;IACxB,oBAAoB,EAAE,2BAAe;IACrC,SAAS,EAAE,sBAAU;IACrB,gBAAgB,EAAE,sBAAU;IAC5B,sBAAsB,EAAE,gCAAoB;IAC5C,SAAS,EAAE,2BAAe;IAC1B,QAAQ,EAAE,mBAAW;IACrB,MAAM,EAAE,oBAAY;IACpB,KAAK,EAAE,mBAAW;IAClB,IAAI,EAAE,mBAAU;IAChB,IAAI,EAAE,mBAAU;IAChB,UAAU,EAAE,6BAAgB;CAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/widgets.ts"],"names":[],"mappings":"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"}
|