@fieldia/widgets 0.11.0 → 0.13.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 +6 -1
- package/src/index.js.map +1 -1
- package/src/index.mjs +2 -0
- package/src/index.mjs.map +1 -1
- package/src/lib/badge.d.mts +8 -0
- package/src/lib/badge.d.ts +8 -0
- package/src/lib/badge.js +37 -0
- package/src/lib/badge.js.map +1 -0
- package/src/lib/badge.mjs +33 -0
- package/src/lib/badge.mjs.map +1 -0
- package/src/lib/calendar.d.mts +3 -1
- package/src/lib/calendar.d.ts +3 -1
- package/src/lib/calendar.js +17 -1
- package/src/lib/calendar.js.map +1 -1
- package/src/lib/calendar.mjs +17 -1
- package/src/lib/calendar.mjs.map +1 -1
- package/src/lib/cards.js +12 -4
- package/src/lib/cards.js.map +1 -1
- package/src/lib/cards.mjs +13 -5
- package/src/lib/cards.mjs.map +1 -1
- package/src/lib/choice-images.js +1 -1
- package/src/lib/choice-images.js.map +1 -1
- package/src/lib/choice-images.mjs +1 -1
- package/src/lib/choice-images.mjs.map +1 -1
- package/src/lib/choice-tags.js +6 -4
- package/src/lib/choice-tags.js.map +1 -1
- package/src/lib/choice-tags.mjs +6 -4
- package/src/lib/choice-tags.mjs.map +1 -1
- package/src/lib/colour.d.mts +11 -0
- package/src/lib/colour.d.ts +11 -0
- package/src/lib/colour.js +114 -0
- package/src/lib/colour.js.map +1 -0
- package/src/lib/colour.mjs +110 -0
- package/src/lib/colour.mjs.map +1 -0
- package/src/lib/copy.d.mts +8 -0
- package/src/lib/copy.d.ts +8 -0
- package/src/lib/copy.js +58 -0
- package/src/lib/copy.js.map +1 -0
- package/src/lib/copy.mjs +54 -0
- package/src/lib/copy.mjs.map +1 -0
- package/src/lib/date-range.d.mts +2 -0
- package/src/lib/date-range.d.ts +2 -0
- package/src/lib/date-range.js +220 -0
- package/src/lib/date-range.js.map +1 -0
- package/src/lib/date-range.mjs +216 -0
- package/src/lib/date-range.mjs.map +1 -0
- package/src/lib/display.d.mts +25 -1
- package/src/lib/display.d.ts +25 -1
- package/src/lib/display.js +42 -2
- package/src/lib/display.js.map +1 -1
- package/src/lib/display.mjs +39 -2
- package/src/lib/display.mjs.map +1 -1
- package/src/lib/distribution.d.mts +13 -0
- package/src/lib/distribution.d.ts +13 -0
- package/src/lib/distribution.js +159 -0
- package/src/lib/distribution.js.map +1 -0
- package/src/lib/distribution.mjs +152 -0
- package/src/lib/distribution.mjs.map +1 -0
- package/src/lib/duration.d.mts +18 -0
- package/src/lib/duration.d.ts +18 -0
- package/src/lib/duration.js +137 -0
- package/src/lib/duration.js.map +1 -0
- package/src/lib/duration.mjs +128 -0
- package/src/lib/duration.mjs.map +1 -0
- package/src/lib/embed.d.mts +3 -0
- package/src/lib/embed.d.ts +3 -0
- package/src/lib/embed.js +97 -0
- package/src/lib/embed.js.map +1 -0
- package/src/lib/embed.mjs +92 -0
- package/src/lib/embed.mjs.map +1 -0
- package/src/lib/extras.js +6 -0
- package/src/lib/extras.js.map +1 -1
- package/src/lib/extras.mjs +6 -0
- package/src/lib/extras.mjs.map +1 -1
- package/src/lib/files.d.mts +11 -0
- package/src/lib/files.d.ts +11 -0
- package/src/lib/files.js +19 -0
- package/src/lib/files.js.map +1 -1
- package/src/lib/files.mjs +18 -0
- package/src/lib/files.mjs.map +1 -1
- package/src/lib/float.d.mts +14 -0
- package/src/lib/float.d.ts +14 -0
- package/src/lib/float.js +91 -0
- package/src/lib/float.js.map +1 -0
- package/src/lib/float.mjs +88 -0
- package/src/lib/float.mjs.map +1 -0
- package/src/lib/kind-parts.d.mts +4 -3
- package/src/lib/kind-parts.d.ts +4 -3
- package/src/lib/kind-parts.js +5 -3
- package/src/lib/kind-parts.js.map +1 -1
- package/src/lib/kind-parts.mjs +5 -3
- package/src/lib/kind-parts.mjs.map +1 -1
- package/src/lib/labels.d.mts +39 -0
- package/src/lib/labels.d.ts +39 -0
- package/src/lib/labels.js +29 -0
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +29 -0
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/layout-styles.d.mts +1 -1
- package/src/lib/layout-styles.d.ts +1 -1
- package/src/lib/layout-styles.js +12 -5
- package/src/lib/layout-styles.js.map +1 -1
- package/src/lib/layout-styles.mjs +12 -5
- package/src/lib/layout-styles.mjs.map +1 -1
- package/src/lib/lines.d.mts +12 -2
- package/src/lib/lines.d.ts +12 -2
- package/src/lib/lines.js +372 -25
- package/src/lib/lines.js.map +1 -1
- package/src/lib/lines.mjs +371 -26
- package/src/lib/lines.mjs.map +1 -1
- package/src/lib/links-table.d.mts +11 -0
- package/src/lib/links-table.d.ts +11 -0
- package/src/lib/links-table.js +116 -0
- package/src/lib/links-table.js.map +1 -0
- package/src/lib/links-table.mjs +112 -0
- package/src/lib/links-table.mjs.map +1 -0
- package/src/lib/locales/ar.js +29 -0
- package/src/lib/locales/ar.js.map +1 -1
- package/src/lib/locales/ar.mjs +29 -0
- package/src/lib/locales/ar.mjs.map +1 -1
- package/src/lib/locales/de.js +29 -0
- package/src/lib/locales/de.js.map +1 -1
- package/src/lib/locales/de.mjs +29 -0
- package/src/lib/locales/de.mjs.map +1 -1
- package/src/lib/locales/fr.js +29 -0
- package/src/lib/locales/fr.js.map +1 -1
- package/src/lib/locales/fr.mjs +29 -0
- package/src/lib/locales/fr.mjs.map +1 -1
- package/src/lib/numbers.d.mts +5 -1
- package/src/lib/numbers.d.ts +5 -1
- package/src/lib/numbers.js +15 -2
- package/src/lib/numbers.js.map +1 -1
- package/src/lib/numbers.mjs +13 -2
- package/src/lib/numbers.mjs.map +1 -1
- package/src/lib/payments.d.mts +2 -0
- package/src/lib/payments.d.ts +2 -0
- package/src/lib/payments.js +94 -0
- package/src/lib/payments.js.map +1 -0
- package/src/lib/payments.mjs +90 -0
- package/src/lib/payments.mjs.map +1 -0
- package/src/lib/popup.d.mts +11 -0
- package/src/lib/popup.d.ts +11 -0
- package/src/lib/popup.js +48 -0
- package/src/lib/popup.js.map +1 -0
- package/src/lib/popup.mjs +45 -0
- package/src/lib/popup.mjs.map +1 -0
- package/src/lib/priority.d.mts +10 -0
- package/src/lib/priority.d.ts +10 -0
- package/src/lib/priority.js +59 -0
- package/src/lib/priority.js.map +1 -0
- package/src/lib/priority.mjs +55 -0
- package/src/lib/priority.mjs.map +1 -0
- package/src/lib/progress.js +3 -0
- package/src/lib/progress.js.map +1 -1
- package/src/lib/progress.mjs +3 -0
- package/src/lib/progress.mjs.map +1 -1
- package/src/lib/properties.js +100 -9
- package/src/lib/properties.js.map +1 -1
- package/src/lib/properties.mjs +100 -9
- package/src/lib/properties.mjs.map +1 -1
- package/src/lib/read-text.d.mts +25 -0
- package/src/lib/read-text.d.ts +25 -0
- package/src/lib/read-text.js +102 -0
- package/src/lib/read-text.js.map +1 -0
- package/src/lib/read-text.mjs +98 -0
- package/src/lib/read-text.mjs.map +1 -0
- package/src/lib/relations.d.mts +12 -0
- package/src/lib/relations.d.ts +12 -0
- package/src/lib/relations.js +110 -10
- package/src/lib/relations.js.map +1 -1
- package/src/lib/relations.mjs +108 -10
- package/src/lib/relations.mjs.map +1 -1
- package/src/lib/slider.js +1 -1
- package/src/lib/slider.js.map +1 -1
- package/src/lib/slider.mjs +1 -1
- package/src/lib/slider.mjs.map +1 -1
- package/src/lib/state-dot.d.mts +2 -0
- package/src/lib/state-dot.d.ts +2 -0
- package/src/lib/state-dot.js +107 -0
- package/src/lib/state-dot.js.map +1 -0
- package/src/lib/state-dot.mjs +103 -0
- package/src/lib/state-dot.mjs.map +1 -0
- package/src/lib/statusbar.js +151 -14
- package/src/lib/statusbar.js.map +1 -1
- package/src/lib/statusbar.mjs +151 -14
- package/src/lib/statusbar.mjs.map +1 -1
- package/src/lib/styles-business.d.mts +8 -0
- package/src/lib/styles-business.d.ts +8 -0
- package/src/lib/styles-business.js +120 -0
- package/src/lib/styles-business.js.map +1 -0
- package/src/lib/styles-business.mjs +117 -0
- package/src/lib/styles-business.mjs.map +1 -0
- package/src/lib/styles-inputs.d.mts +1 -1
- package/src/lib/styles-inputs.d.ts +1 -1
- package/src/lib/styles-inputs.js +2 -0
- package/src/lib/styles-inputs.js.map +1 -1
- package/src/lib/styles-inputs.mjs +2 -0
- package/src/lib/styles-inputs.mjs.map +1 -1
- package/src/lib/styles-kinds.d.mts +1 -1
- package/src/lib/styles-kinds.d.ts +1 -1
- package/src/lib/styles-kinds.js +2 -2
- package/src/lib/styles-kinds.mjs +2 -2
- package/src/lib/styles-sheet.d.mts +6 -0
- package/src/lib/styles-sheet.d.ts +6 -0
- package/src/lib/styles-sheet.js +139 -0
- package/src/lib/styles-sheet.js.map +1 -0
- package/src/lib/styles-sheet.mjs +136 -0
- package/src/lib/styles-sheet.mjs.map +1 -0
- package/src/lib/styles.js +223 -27
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +223 -27
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/tax-totals.d.mts +2 -0
- package/src/lib/tax-totals.d.ts +2 -0
- package/src/lib/tax-totals.js +92 -0
- package/src/lib/tax-totals.js.map +1 -0
- package/src/lib/tax-totals.mjs +88 -0
- package/src/lib/tax-totals.mjs.map +1 -0
- package/src/lib/themes.d.mts +29 -0
- package/src/lib/themes.d.ts +29 -0
- package/src/lib/themes.js +180 -0
- package/src/lib/themes.js.map +1 -0
- package/src/lib/themes.mjs +177 -0
- package/src/lib/themes.mjs.map +1 -0
- package/src/lib/timer.d.mts +4 -0
- package/src/lib/timer.d.ts +4 -0
- package/src/lib/timer.js +62 -0
- package/src/lib/timer.js.map +1 -0
- package/src/lib/timer.mjs +57 -0
- package/src/lib/timer.mjs.map +1 -0
- package/src/lib/widgets.d.mts +18 -3
- package/src/lib/widgets.d.ts +18 -3
- package/src/lib/widgets.js +89 -10
- package/src/lib/widgets.js.map +1 -1
- package/src/lib/widgets.mjs +90 -11
- package/src/lib/widgets.mjs.map +1 -1
- package/src/lib/yes-no.js +1 -1
- package/src/lib/yes-no.js.map +1 -1
- package/src/lib/yes-no.mjs +1 -1
- package/src/lib/yes-no.mjs.map +1 -1
package/src/lib/relations.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.referenceWidget = exports.linkCheckboxesWidget = exports.charTagsWidget = exports.tagsWidget = exports.many2oneWidget = void 0;
|
|
4
|
+
exports.linkAvatar = linkAvatar;
|
|
5
|
+
exports.detailLines = detailLines;
|
|
4
6
|
const labels_1 = require("./labels");
|
|
7
|
+
const float_1 = require("./float");
|
|
5
8
|
const kind_parts_1 = require("./kind-parts");
|
|
6
9
|
/**
|
|
7
10
|
* Pickers for related records: a search-as-you-type combobox (the ARIA 1.2
|
|
@@ -27,7 +30,7 @@ function combobox(options) {
|
|
|
27
30
|
input.setAttribute('aria-autocomplete', 'list');
|
|
28
31
|
input.setAttribute('aria-expanded', 'false');
|
|
29
32
|
input.setAttribute('aria-controls', listId);
|
|
30
|
-
input.placeholder = labels.search;
|
|
33
|
+
input.placeholder = options.placeholder || labels.search;
|
|
31
34
|
const list = doc.createElement('ul');
|
|
32
35
|
list.id = listId;
|
|
33
36
|
list.className = 'fd-listbox';
|
|
@@ -36,6 +39,7 @@ function combobox(options) {
|
|
|
36
39
|
const element = doc.createElement('div');
|
|
37
40
|
element.className = 'fd-combo';
|
|
38
41
|
element.append(input, list);
|
|
42
|
+
const floating = (0, float_1.floatUnder)(input, list);
|
|
39
43
|
let shown = '';
|
|
40
44
|
/** The "Create …" choice in the list, and the text it would make a record from. */
|
|
41
45
|
let creating = null;
|
|
@@ -72,16 +76,18 @@ function combobox(options) {
|
|
|
72
76
|
input.setAttribute('aria-activedescendant', `${listId}-${active}`);
|
|
73
77
|
else
|
|
74
78
|
input.removeAttribute('aria-activedescendant');
|
|
79
|
+
// Its height changed: above its box or below, it is placed again.
|
|
80
|
+
floating.place();
|
|
75
81
|
}
|
|
76
82
|
function open() {
|
|
77
|
-
|
|
83
|
+
floating.show();
|
|
78
84
|
input.setAttribute('aria-expanded', 'true');
|
|
79
85
|
}
|
|
80
86
|
function close() {
|
|
81
87
|
// A search still on its way must not open the list again.
|
|
82
88
|
clearTimeout(timer);
|
|
83
89
|
seq++;
|
|
84
|
-
|
|
90
|
+
floating.hide();
|
|
85
91
|
input.setAttribute('aria-expanded', 'false');
|
|
86
92
|
input.removeAttribute('aria-activedescendant');
|
|
87
93
|
active = -1;
|
|
@@ -143,6 +149,11 @@ function combobox(options) {
|
|
|
143
149
|
if (!readonly)
|
|
144
150
|
lookUp('');
|
|
145
151
|
});
|
|
152
|
+
// A click on the box opens its list, as a focus does: after Escape closed it, the focus has not left to come back.
|
|
153
|
+
input.addEventListener('click', () => {
|
|
154
|
+
if (!readonly && list.hidden && doc.activeElement === input)
|
|
155
|
+
lookUp(editing ? input.value : '');
|
|
156
|
+
});
|
|
146
157
|
input.addEventListener('keydown', (event) => {
|
|
147
158
|
if (readonly)
|
|
148
159
|
return;
|
|
@@ -207,13 +218,59 @@ function combobox(options) {
|
|
|
207
218
|
close,
|
|
208
219
|
};
|
|
209
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* A linked record's picture, as Flectra's avatar widgets show one: its own,
|
|
223
|
+
* or the initials of its name in a circle when it has none.
|
|
224
|
+
*/
|
|
225
|
+
function linkAvatar(doc, record, into) {
|
|
226
|
+
const box = into ?? doc.createElement('span');
|
|
227
|
+
box.className = 'fd-link-avatar';
|
|
228
|
+
box.setAttribute('aria-hidden', 'true');
|
|
229
|
+
if (!record) {
|
|
230
|
+
box.hidden = true;
|
|
231
|
+
box.replaceChildren();
|
|
232
|
+
return box;
|
|
233
|
+
}
|
|
234
|
+
box.hidden = false;
|
|
235
|
+
if (record.avatar) {
|
|
236
|
+
const img = doc.createElement('img');
|
|
237
|
+
img.src = record.avatar;
|
|
238
|
+
img.alt = '';
|
|
239
|
+
box.replaceChildren(img);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
const words = record.label.trim().split(/\s+/).filter(Boolean);
|
|
243
|
+
box.textContent = (words.length > 1 ? words[0][0] + words[words.length - 1][0] : (words[0]?.[0] ?? '')).toUpperCase();
|
|
244
|
+
}
|
|
245
|
+
return box;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* A linked record's lines under it — an address, a tax number — each a line
|
|
249
|
+
* of its own that reads its own way: an address in English stays in its order
|
|
250
|
+
* on a page read right to left, still lined up with the page.
|
|
251
|
+
*/
|
|
252
|
+
function detailLines(box, text) {
|
|
253
|
+
const doc = box.ownerDocument;
|
|
254
|
+
box.replaceChildren(...text.split('\n').map((line) => {
|
|
255
|
+
const row = doc.createElement('div');
|
|
256
|
+
row.textContent = line;
|
|
257
|
+
return row;
|
|
258
|
+
}));
|
|
259
|
+
}
|
|
260
|
+
/** What a link's node asks of it beyond its name: a picture, lines under it, a colour, and whether its record opens. */
|
|
261
|
+
function shows(node) {
|
|
262
|
+
const options = node.options ?? {};
|
|
263
|
+
return { avatar: options['avatar'] === true, details: options['details'] === true, colors: options['colors'] === true, opens: options['open'] !== false };
|
|
264
|
+
}
|
|
210
265
|
/** Making a record from a typed name, unless the page turns it off or the data source cannot. */
|
|
211
266
|
function creator(form, name, node) {
|
|
212
267
|
return node.options?.['create'] !== false && form.canCreate(name) ? (text) => form.quickCreate(name, text) : undefined;
|
|
213
268
|
}
|
|
214
269
|
const many2oneWidget = ({ form, name, field, node, id, document, labels = labels_1.WIDGET_LABELS.en, dialogs }) => {
|
|
215
270
|
const relation = field.type === 'many2one' ? field.relation : '';
|
|
216
|
-
const
|
|
271
|
+
const own = shows(node);
|
|
272
|
+
// No button to open it where the page says so, as Flectra's no_open.
|
|
273
|
+
const canOpen = own.opens && !!dialogs && dialogs.canOpen(relation);
|
|
217
274
|
let readonly = false;
|
|
218
275
|
const box = combobox({
|
|
219
276
|
document,
|
|
@@ -225,13 +282,21 @@ const many2oneWidget = ({ form, name, field, node, id, document, labels = labels
|
|
|
225
282
|
pick: (record) => form.setValue(name, record),
|
|
226
283
|
onCommitEmpty: () => form.setValue(name, null),
|
|
227
284
|
create: creator(form, name, node),
|
|
285
|
+
placeholder: node.placeholder,
|
|
228
286
|
// With dialogs: make a record in its own page, or pick from a full list when the short one has no room.
|
|
229
287
|
more: (typed, overflow) => {
|
|
230
288
|
if (!dialogs || readonly)
|
|
231
289
|
return [];
|
|
232
290
|
const choices = [];
|
|
233
291
|
if (typed && canOpen && node.options?.['create'] !== false) {
|
|
234
|
-
|
|
292
|
+
// The new record starts with the name typed and what the link hands on.
|
|
293
|
+
choices.push({
|
|
294
|
+
label: labels.createAndEdit,
|
|
295
|
+
act: (text) => {
|
|
296
|
+
const values = form.createValues(name);
|
|
297
|
+
return dialogs.openRecord(relation, { name: text, title: field.label, ...(Object.keys(values).length ? { values } : {}) });
|
|
298
|
+
},
|
|
299
|
+
});
|
|
235
300
|
}
|
|
236
301
|
if (overflow)
|
|
237
302
|
choices.push({ label: labels.searchMore, act: () => dialogs.searchMore({ title: field.label, search: (query, limit) => form.search(name, query, limit) }) });
|
|
@@ -264,11 +329,34 @@ const many2oneWidget = ({ form, name, field, node, id, document, labels = labels
|
|
|
264
329
|
box.input.focus();
|
|
265
330
|
});
|
|
266
331
|
box.element.append(clear, ...(open ? [open] : []));
|
|
332
|
+
// The record's picture before its name; lines of it — an address — under the link.
|
|
333
|
+
const avatar = own.avatar ? linkAvatar(document, null) : null;
|
|
334
|
+
if (avatar) {
|
|
335
|
+
box.element.prepend(avatar);
|
|
336
|
+
box.element.setAttribute('data-avatar', '');
|
|
337
|
+
}
|
|
338
|
+
const details = own.details ? document.createElement('div') : null;
|
|
339
|
+
let element = box.element;
|
|
340
|
+
if (details) {
|
|
341
|
+
details.className = 'fd-link-details';
|
|
342
|
+
details.hidden = true;
|
|
343
|
+
element = document.createElement('div');
|
|
344
|
+
element.className = 'fd-link';
|
|
345
|
+
element.append(box.element, details);
|
|
346
|
+
}
|
|
267
347
|
return {
|
|
268
|
-
element
|
|
348
|
+
element,
|
|
269
349
|
focus: () => box.input.focus(),
|
|
270
350
|
update(state) {
|
|
271
351
|
const record = state.value;
|
|
352
|
+
if (avatar)
|
|
353
|
+
linkAvatar(document, record, avatar);
|
|
354
|
+
if (details) {
|
|
355
|
+
const lines = record?.details?.trim() ?? '';
|
|
356
|
+
(0, kind_parts_1.setHidden)(details, !lines);
|
|
357
|
+
if (details.textContent !== lines.replace(/\n/g, ''))
|
|
358
|
+
detailLines(details, lines);
|
|
359
|
+
}
|
|
272
360
|
readonly = state.readonly;
|
|
273
361
|
box.setText(record?.label ?? '');
|
|
274
362
|
box.setReadonly(state.readonly);
|
|
@@ -288,6 +376,7 @@ const many2oneWidget = ({ form, name, field, node, id, document, labels = labels
|
|
|
288
376
|
exports.many2oneWidget = many2oneWidget;
|
|
289
377
|
const tagsWidget = ({ form, name, field, node, id, document, labels = labels_1.WIDGET_LABELS.en, dialogs }) => {
|
|
290
378
|
const relation = field.type === 'many2many' ? field.relation : '';
|
|
379
|
+
const own = shows(node);
|
|
291
380
|
const current = () => form.getState().values[name] ?? [];
|
|
292
381
|
const element = document.createElement('div');
|
|
293
382
|
element.className = 'fd-tags';
|
|
@@ -313,11 +402,12 @@ const tagsWidget = ({ form, name, field, node, id, document, labels = labels_1.W
|
|
|
313
402
|
form.setValue(name, records.slice(0, -1));
|
|
314
403
|
},
|
|
315
404
|
create: creator(form, name, node),
|
|
405
|
+
placeholder: node.placeholder,
|
|
316
406
|
// With dialogs: pick from a full list when the short one has no room.
|
|
317
407
|
more: (_typed, overflow) => (dialogs && overflow ? [{ label: labels.searchMore, act: () => dialogs.searchMore({ title: field.label, search: (query, limit) => form.search(name, query, limit) }) }] : []),
|
|
318
408
|
});
|
|
319
409
|
// A linked record, opened from its tag in a dialog where the app can show it; a new name it is saved with follows here.
|
|
320
|
-
const open = dialogs && dialogs.canOpen(relation)
|
|
410
|
+
const open = own.opens && dialogs && dialogs.canOpen(relation)
|
|
321
411
|
? async (record) => {
|
|
322
412
|
const saved = await dialogs.openRecord(relation, { recordId: record.id, title: record.label });
|
|
323
413
|
if (saved && saved.label !== record.label)
|
|
@@ -343,18 +433,26 @@ const tagsWidget = ({ form, name, field, node, id, document, labels = labels_1.W
|
|
|
343
433
|
if (key === drawn)
|
|
344
434
|
return;
|
|
345
435
|
drawn = key;
|
|
346
|
-
drawChips(chips, records, readonly, labels, (record) => form.setValue(name, current().filter((r) => r.id !== record.id)), open);
|
|
436
|
+
drawChips(chips, records, readonly, labels, (record) => form.setValue(name, current().filter((r) => r.id !== record.id)), open, own);
|
|
347
437
|
box.setText('');
|
|
348
438
|
},
|
|
349
439
|
};
|
|
350
440
|
};
|
|
351
441
|
exports.tagsWidget = tagsWidget;
|
|
352
|
-
/**
|
|
353
|
-
|
|
442
|
+
/**
|
|
443
|
+
* Chips for tags, each with a remove button unless read-only; with `open`,
|
|
444
|
+
* each one's words a button that opens it. With `look`, each in its record's
|
|
445
|
+
* colour (Flectra's 1 to 11) and with its picture.
|
|
446
|
+
*/
|
|
447
|
+
function drawChips(chips, records, readonly, labels, remove, open, look = {}) {
|
|
354
448
|
const doc = chips.ownerDocument;
|
|
355
449
|
chips.replaceChildren(...records.map((record) => {
|
|
356
450
|
const chip = doc.createElement('li');
|
|
357
451
|
chip.className = 'fd-chip';
|
|
452
|
+
if (look.colors && typeof record.color === 'number' && record.color >= 1 && record.color <= 11)
|
|
453
|
+
chip.setAttribute('data-color', String(Math.trunc(record.color)));
|
|
454
|
+
if (look.avatar)
|
|
455
|
+
chip.append(linkAvatar(doc, record));
|
|
358
456
|
const text = doc.createElement(open ? 'button' : 'span');
|
|
359
457
|
text.className = 'fd-chip-label';
|
|
360
458
|
text.textContent = record.label;
|
|
@@ -404,6 +502,7 @@ const charTagsWidget = ({ form, name, node, id, document, labels = labels_1.WIDG
|
|
|
404
502
|
document,
|
|
405
503
|
id,
|
|
406
504
|
labels,
|
|
505
|
+
placeholder: node.placeholder,
|
|
407
506
|
search: async (query) => {
|
|
408
507
|
const taken = new Set(current().map((t) => t.toLowerCase()));
|
|
409
508
|
const wanted = query.trim().toLowerCase();
|
|
@@ -540,6 +639,7 @@ const referenceWidget = (context) => {
|
|
|
540
639
|
document,
|
|
541
640
|
id,
|
|
542
641
|
labels,
|
|
642
|
+
placeholder: context.node.placeholder,
|
|
543
643
|
search: (query) => (model ? form.search(name, query, 8, { model }) : Promise.resolve([])),
|
|
544
644
|
pick: (record) => form.setValue(name, { model, id: record.id, label: record.label }),
|
|
545
645
|
onCommitEmpty: () => form.setValue(name, null),
|
package/src/lib/relations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/relations.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAC5D,6CAAkD;AAGlD;;;;GAIG;AAEH,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,+EAA+E;AAC/E,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,SAAS,IAAI,CAAC,QAAgB,EAAE,MAA8B;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AACxF,CAAC;AAWD;;;GAGG;AACH,SAAS,QAAQ,CAAC,OAejB;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAChD,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7C,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5C,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE5B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,mFAAmF;IACnF,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,qFAAqF;IACrF,IAAI,MAAM,GAAG,IAAI,GAAG,EAAmE,CAAC;IACxF,wDAAwD;IACxD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAoB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAgD,CAAC;IACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,SAAS,MAAM;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,wBAAwB;YACjG,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;YAC7B,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,IAAI,CAAC;YAAE,KAAK,CAAC,YAAY,CAAC,uBAAuB,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;;YAC/E,KAAK,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,IAAI;QACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,KAAK;QACZ,0DAA0D;QAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC,CAAC,CAAC;IACd,CAAC;IAED,SAAS,MAAM,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC;QAC3B,KAAK,EAAE,CAAC;QACR,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,MAAM,CAAC,KAAa;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC;QACnB,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAqB,CAAC,CAAC;YAC7E,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK;gBAAE,OAAO,CAAC,qCAAqC;YAC9F,8EAA8E;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5E,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,gDAAgD;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClH,YAAY,GAAG,KAAK,CAAC;gBACrB,QAAQ,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;YACD,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtI,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC3F,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;gBACD,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,KAAK,EAAE,CAAC;gBACR,OAAO,GAAG,KAAK,CAAC;gBAChB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpB,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;oBAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACrD,OAAO;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QAClC,GAAG,EAAE,CAAC;QACN,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;QACrE,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,OAAO;YAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;;YAClC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,KAAK;QACL,OAAO,CAAC,IAAI;YACV,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3D,CAAC;QACD,WAAW,CAAC,IAAI;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnD,IAAI,IAAI;gBAAE,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,SAAS,OAAO,CAAC,IAAU,EAAE,IAAY,EAAE,IAAe;IACxD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzH,CAAC;AAEM,MAAM,cAAc,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7H,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,+EAA+E;QAC/E,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjC,wGAAwG;QACxG,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,IAAI,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACpC,MAAM,OAAO,GAA8E,EAAE,CAAC;YAC9F,IAAI,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3K,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IACH,6GAA6G;IAC7G,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAC;YACrE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,OAAO;YACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACjG,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACnC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,KAAyC,CAAC;YAC/D,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAA,sBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAA,sBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,MAAM;oBAAE,IAAA,oBAAO,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,WAAW;gBAAE,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;KACe,CAAC;AACrB,CAAC,CAAC;AAnEW,QAAA,cAAc,kBAmEzB;AAEK,MAAM,UAAU,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACzH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAA4B,IAAI,EAAE,CAAC;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,qGAAqG;QACrG,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC;QACzE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,MAAM;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjC,sEAAsE;QACtE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1M,CAAC,CAAC;IACH,wHAAwH;IACxH,MAAM,IAAI,GACR,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,KAAK,EAAE,MAAqB,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/F,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,OAAO,GAAI,KAAK,CAAC,KAAgC,IAAI,EAAE,CAAC;YAC9D,6EAA6E;YAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACtD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,WAAW;gBAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACrF,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO;YAC1B,KAAK,GAAG,GAAG,CAAC;YACZ,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAChI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,UAAU,cAyDrB;AAEF,wHAAwH;AACxH,SAAS,SAAS,CAAC,KAAkB,EAAE,OAAwB,EAAE,QAAiB,EAAE,MAAoB,EAAE,MAAuC,EAAE,IAAsC;IACvL,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,eAAe,CACnB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACR,IAA0B,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;YACzB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,MAAM,cAAc,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,EAAE,EAAE;IAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1I,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE,CAC9B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAK,OAAO,CAAC,KAAK,CAAY,CAAC;YAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7I,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,WAAW;iBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;IACH,+DAA+D;IAC/D,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO;QAC7F,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,gCAAgC;IAChC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,iFAAiF;IACjF,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAK,OAAO,CAAC,KAAK,CAAY,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,WAAW;gBAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO;YAC1B,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,KAAK,GAAG,CAAC,KAAK,CAAC;YACpD,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjJ,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChB,mFAAmF;YACnF,IAAI,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,aAAa,CAAoB,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5G,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA/EW,QAAA,cAAc,kBA+EzB;AAEF,sEAAsE;AAC/D,MAAM,oBAAoB,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,OAAO,CAAC,SAAS,GAAG,gCAAgC,CAAC;IACrD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,GAAuD,EAAE,CAAC;IACnE,IAAI,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAqB,EAAE,CAAC;IAC/D,oFAAoF;IACpF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9C,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;YACtB,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClC,MAAM,GAAG,GAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAA4B,IAAI,EAAE,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;YAC9B,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QACpD,MAAM,CAAC,KAAK;YACV,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAG,KAAK,CAAC,KAAgC,IAAI,EAAE,EAAE,CAAC;YAC5F,IAAI,EAAE,CAAC;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,oBAAoB,wBA2C/B;AAEK,MAAM,eAAe,GAAkB,CAAC,OAAsB,EAAE,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;IACxC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACpF,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/C,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,KAA0C,CAAC;YAC/D,IAAI,KAAK;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B"}
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/relations.ts"],"names":[],"mappings":";;;AAmPA,gCAoBC;AAOD,kCASC;AAtRD,qCAA4D;AAC5D,mCAAqC;AACrC,6CAAkD;AAGlD;;;;GAIG;AAEH,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,+EAA+E;AAC/E,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,SAAS,IAAI,CAAC,QAAgB,EAAE,MAA8B;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AACxF,CAAC;AAWD;;;GAGG;AACH,SAAS,QAAQ,CAAC,OAiBjB;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAChD,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7C,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEzC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,mFAAmF;IACnF,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,qFAAqF;IACrF,IAAI,MAAM,GAAG,IAAI,GAAG,EAAmE,CAAC;IACxF,wDAAwD;IACxD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAoB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAgD,CAAC;IACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,SAAS,MAAM;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,wBAAwB;YACjG,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;YAC7B,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,IAAI,CAAC;YAAE,KAAK,CAAC,YAAY,CAAC,uBAAuB,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;;YAC/E,KAAK,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACpD,kEAAkE;QAClE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,SAAS,IAAI;QACX,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,KAAK;QACZ,0DAA0D;QAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC,CAAC,CAAC;IACd,CAAC;IAED,SAAS,MAAM,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC;QAC3B,KAAK,EAAE,CAAC;QACR,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,MAAM,CAAC,KAAa;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC;QACnB,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAqB,CAAC,CAAC;YAC7E,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK;gBAAE,OAAO,CAAC,qCAAqC;YAC9F,8EAA8E;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5E,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,gDAAgD;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClH,YAAY,GAAG,KAAK,CAAC;gBACrB,QAAQ,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;YACD,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtI,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,mHAAmH;IACnH,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK;YAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC3F,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;gBACD,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,KAAK,EAAE,CAAC;gBACR,OAAO,GAAG,KAAK,CAAC;gBAChB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpB,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;oBAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACrD,OAAO;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QAClC,GAAG,EAAE,CAAC;QACN,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;QACrE,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,OAAO;YAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;;YAClC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,KAAK;QACL,OAAO,CAAC,IAAI;YACV,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3D,CAAC;QACD,WAAW,CAAC,IAAI;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnD,IAAI,IAAI;gBAAE,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAa,EAAE,MAAwC,EAAE,IAAkB;IACpG,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,GAAG,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACjC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,GAAgB,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;IAC9B,GAAG,CAAC,eAAe,CACjB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,wHAAwH;AACxH,SAAS,KAAK,CAAC,IAAe;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;AAC5J,CAAC;AAED,iGAAiG;AACjG,SAAS,OAAO,CAAC,IAAU,EAAE,IAAY,EAAE,IAAe;IACxD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzH,CAAC;AAEM,MAAM,cAAc,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7H,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,qEAAqE;IACrE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,+EAA+E;QAC/E,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,wGAAwG;QACxG,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,IAAI,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACpC,MAAM,OAAO,GAA8E,EAAE,CAAC;YAC9F,IAAI,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC3D,wEAAwE;gBACxE,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,MAAM,CAAC,aAAa;oBAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACvC,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7H,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3K,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IACH,6GAA6G;IAC7G,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAC;YACrE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,OAAO;YACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACjG,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACnC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,mFAAmF;IACnF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,KAAyC,CAAC;YAC/D,IAAI,MAAM;gBAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC5C,IAAA,sBAAS,EAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oBAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAA,sBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAA,sBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,MAAM;oBAAE,IAAA,oBAAO,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,WAAW;gBAAE,IAAA,oBAAO,EAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;KACe,CAAC;AACrB,CAAC,CAAC;AAlGW,QAAA,cAAc,kBAkGzB;AAEK,MAAM,UAAU,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACzH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAA4B,IAAI,EAAE,CAAC;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,qGAAqG;QACrG,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC;QACzE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,MAAM;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sEAAsE;QACtE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1M,CAAC,CAAC;IACH,wHAAwH;IACxH,MAAM,IAAI,GACR,GAAG,CAAC,KAAK,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC,KAAK,EAAE,MAAqB,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/F,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,OAAO,GAAI,KAAK,CAAC,KAAgC,IAAI,EAAE,CAAC;YAC9D,6EAA6E;YAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACtD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,WAAW;gBAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACrF,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO;YAC1B,KAAK,GAAG,GAAG,CAAC;YACZ,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA3DW,QAAA,UAAU,cA2DrB;AAEF;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAkB,EAAE,OAAwB,EAAE,QAAiB,EAAE,MAAoB,EAAE,MAAuC,EAAE,IAAsC,EAAE,OAA+C,EAAE;IAC1O,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,eAAe,CACnB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClK,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACR,IAA0B,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;YACzB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,MAAM,cAAc,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,EAAE,EAAE;IAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1I,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE,CAC9B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAK,OAAO,CAAC,KAAK,CAAY,CAAC;YAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7I,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,WAAW;iBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;IACH,+DAA+D;IAC/D,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO;QAC7F,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,gCAAgC;IAChC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,iFAAiF;IACjF,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAK,OAAO,CAAC,KAAK,CAAY,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,WAAW;gBAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO;YAC1B,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,KAAK,GAAG,CAAC,KAAK,CAAC;YACpD,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjJ,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChB,mFAAmF;YACnF,IAAI,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,aAAa,CAAoB,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5G,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAhFW,QAAA,cAAc,kBAgFzB;AAEF,sEAAsE;AAC/D,MAAM,oBAAoB,GAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,OAAO,CAAC,SAAS,GAAG,gCAAgC,CAAC;IACrD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,GAAuD,EAAE,CAAC;IACnE,IAAI,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAqB,EAAE,CAAC;IAC/D,oFAAoF;IACpF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9C,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;YACtB,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClC,MAAM,GAAG,GAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAA4B,IAAI,EAAE,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;YAC9B,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QACpD,MAAM,CAAC,KAAK;YACV,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAG,KAAK,CAAC,KAAgC,IAAI,EAAE,EAAE,CAAC;YAC5F,IAAI,EAAE,CAAC;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,oBAAoB,wBA2C/B;AAEK,MAAM,eAAe,GAAkB,CAAC,OAAsB,EAAE,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAa,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;IACxC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,QAAQ,CAAC;QACnB,QAAQ;QACR,EAAE;QACF,MAAM;QACN,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACrC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACpF,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/C,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,KAA0C,CAAC;YAC/D,IAAI,KAAK;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,eAAe,mBA0C1B"}
|
package/src/lib/relations.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { WIDGET_LABELS } from './labels.mjs';
|
|
2
|
+
import { floatUnder } from './float.mjs';
|
|
2
3
|
import { setAttr, setHidden } from './kind-parts.mjs';
|
|
3
4
|
/**
|
|
4
5
|
* Pickers for related records: a search-as-you-type combobox (the ARIA 1.2
|
|
@@ -24,7 +25,7 @@ function combobox(options) {
|
|
|
24
25
|
input.setAttribute('aria-autocomplete', 'list');
|
|
25
26
|
input.setAttribute('aria-expanded', 'false');
|
|
26
27
|
input.setAttribute('aria-controls', listId);
|
|
27
|
-
input.placeholder = labels.search;
|
|
28
|
+
input.placeholder = options.placeholder || labels.search;
|
|
28
29
|
const list = doc.createElement('ul');
|
|
29
30
|
list.id = listId;
|
|
30
31
|
list.className = 'fd-listbox';
|
|
@@ -33,6 +34,7 @@ function combobox(options) {
|
|
|
33
34
|
const element = doc.createElement('div');
|
|
34
35
|
element.className = 'fd-combo';
|
|
35
36
|
element.append(input, list);
|
|
37
|
+
const floating = floatUnder(input, list);
|
|
36
38
|
let shown = '';
|
|
37
39
|
/** The "Create …" choice in the list, and the text it would make a record from. */
|
|
38
40
|
let creating = null;
|
|
@@ -69,16 +71,18 @@ function combobox(options) {
|
|
|
69
71
|
input.setAttribute('aria-activedescendant', `${listId}-${active}`);
|
|
70
72
|
else
|
|
71
73
|
input.removeAttribute('aria-activedescendant');
|
|
74
|
+
// Its height changed: above its box or below, it is placed again.
|
|
75
|
+
floating.place();
|
|
72
76
|
}
|
|
73
77
|
function open() {
|
|
74
|
-
|
|
78
|
+
floating.show();
|
|
75
79
|
input.setAttribute('aria-expanded', 'true');
|
|
76
80
|
}
|
|
77
81
|
function close() {
|
|
78
82
|
// A search still on its way must not open the list again.
|
|
79
83
|
clearTimeout(timer);
|
|
80
84
|
seq++;
|
|
81
|
-
|
|
85
|
+
floating.hide();
|
|
82
86
|
input.setAttribute('aria-expanded', 'false');
|
|
83
87
|
input.removeAttribute('aria-activedescendant');
|
|
84
88
|
active = -1;
|
|
@@ -140,6 +144,11 @@ function combobox(options) {
|
|
|
140
144
|
if (!readonly)
|
|
141
145
|
lookUp('');
|
|
142
146
|
});
|
|
147
|
+
// A click on the box opens its list, as a focus does: after Escape closed it, the focus has not left to come back.
|
|
148
|
+
input.addEventListener('click', () => {
|
|
149
|
+
if (!readonly && list.hidden && doc.activeElement === input)
|
|
150
|
+
lookUp(editing ? input.value : '');
|
|
151
|
+
});
|
|
143
152
|
input.addEventListener('keydown', (event) => {
|
|
144
153
|
if (readonly)
|
|
145
154
|
return;
|
|
@@ -204,13 +213,59 @@ function combobox(options) {
|
|
|
204
213
|
close,
|
|
205
214
|
};
|
|
206
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* A linked record's picture, as Flectra's avatar widgets show one: its own,
|
|
218
|
+
* or the initials of its name in a circle when it has none.
|
|
219
|
+
*/
|
|
220
|
+
export function linkAvatar(doc, record, into) {
|
|
221
|
+
const box = into ?? doc.createElement('span');
|
|
222
|
+
box.className = 'fd-link-avatar';
|
|
223
|
+
box.setAttribute('aria-hidden', 'true');
|
|
224
|
+
if (!record) {
|
|
225
|
+
box.hidden = true;
|
|
226
|
+
box.replaceChildren();
|
|
227
|
+
return box;
|
|
228
|
+
}
|
|
229
|
+
box.hidden = false;
|
|
230
|
+
if (record.avatar) {
|
|
231
|
+
const img = doc.createElement('img');
|
|
232
|
+
img.src = record.avatar;
|
|
233
|
+
img.alt = '';
|
|
234
|
+
box.replaceChildren(img);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
const words = record.label.trim().split(/\s+/).filter(Boolean);
|
|
238
|
+
box.textContent = (words.length > 1 ? words[0][0] + words[words.length - 1][0] : (words[0]?.[0] ?? '')).toUpperCase();
|
|
239
|
+
}
|
|
240
|
+
return box;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* A linked record's lines under it — an address, a tax number — each a line
|
|
244
|
+
* of its own that reads its own way: an address in English stays in its order
|
|
245
|
+
* on a page read right to left, still lined up with the page.
|
|
246
|
+
*/
|
|
247
|
+
export function detailLines(box, text) {
|
|
248
|
+
const doc = box.ownerDocument;
|
|
249
|
+
box.replaceChildren(...text.split('\n').map((line) => {
|
|
250
|
+
const row = doc.createElement('div');
|
|
251
|
+
row.textContent = line;
|
|
252
|
+
return row;
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
255
|
+
/** What a link's node asks of it beyond its name: a picture, lines under it, a colour, and whether its record opens. */
|
|
256
|
+
function shows(node) {
|
|
257
|
+
const options = node.options ?? {};
|
|
258
|
+
return { avatar: options['avatar'] === true, details: options['details'] === true, colors: options['colors'] === true, opens: options['open'] !== false };
|
|
259
|
+
}
|
|
207
260
|
/** Making a record from a typed name, unless the page turns it off or the data source cannot. */
|
|
208
261
|
function creator(form, name, node) {
|
|
209
262
|
return node.options?.['create'] !== false && form.canCreate(name) ? (text) => form.quickCreate(name, text) : undefined;
|
|
210
263
|
}
|
|
211
264
|
export const many2oneWidget = ({ form, name, field, node, id, document, labels = WIDGET_LABELS.en, dialogs }) => {
|
|
212
265
|
const relation = field.type === 'many2one' ? field.relation : '';
|
|
213
|
-
const
|
|
266
|
+
const own = shows(node);
|
|
267
|
+
// No button to open it where the page says so, as Flectra's no_open.
|
|
268
|
+
const canOpen = own.opens && !!dialogs && dialogs.canOpen(relation);
|
|
214
269
|
let readonly = false;
|
|
215
270
|
const box = combobox({
|
|
216
271
|
document,
|
|
@@ -222,13 +277,21 @@ export const many2oneWidget = ({ form, name, field, node, id, document, labels =
|
|
|
222
277
|
pick: (record) => form.setValue(name, record),
|
|
223
278
|
onCommitEmpty: () => form.setValue(name, null),
|
|
224
279
|
create: creator(form, name, node),
|
|
280
|
+
placeholder: node.placeholder,
|
|
225
281
|
// With dialogs: make a record in its own page, or pick from a full list when the short one has no room.
|
|
226
282
|
more: (typed, overflow) => {
|
|
227
283
|
if (!dialogs || readonly)
|
|
228
284
|
return [];
|
|
229
285
|
const choices = [];
|
|
230
286
|
if (typed && canOpen && node.options?.['create'] !== false) {
|
|
231
|
-
|
|
287
|
+
// The new record starts with the name typed and what the link hands on.
|
|
288
|
+
choices.push({
|
|
289
|
+
label: labels.createAndEdit,
|
|
290
|
+
act: (text) => {
|
|
291
|
+
const values = form.createValues(name);
|
|
292
|
+
return dialogs.openRecord(relation, { name: text, title: field.label, ...(Object.keys(values).length ? { values } : {}) });
|
|
293
|
+
},
|
|
294
|
+
});
|
|
232
295
|
}
|
|
233
296
|
if (overflow)
|
|
234
297
|
choices.push({ label: labels.searchMore, act: () => dialogs.searchMore({ title: field.label, search: (query, limit) => form.search(name, query, limit) }) });
|
|
@@ -261,11 +324,34 @@ export const many2oneWidget = ({ form, name, field, node, id, document, labels =
|
|
|
261
324
|
box.input.focus();
|
|
262
325
|
});
|
|
263
326
|
box.element.append(clear, ...(open ? [open] : []));
|
|
327
|
+
// The record's picture before its name; lines of it — an address — under the link.
|
|
328
|
+
const avatar = own.avatar ? linkAvatar(document, null) : null;
|
|
329
|
+
if (avatar) {
|
|
330
|
+
box.element.prepend(avatar);
|
|
331
|
+
box.element.setAttribute('data-avatar', '');
|
|
332
|
+
}
|
|
333
|
+
const details = own.details ? document.createElement('div') : null;
|
|
334
|
+
let element = box.element;
|
|
335
|
+
if (details) {
|
|
336
|
+
details.className = 'fd-link-details';
|
|
337
|
+
details.hidden = true;
|
|
338
|
+
element = document.createElement('div');
|
|
339
|
+
element.className = 'fd-link';
|
|
340
|
+
element.append(box.element, details);
|
|
341
|
+
}
|
|
264
342
|
return {
|
|
265
|
-
element
|
|
343
|
+
element,
|
|
266
344
|
focus: () => box.input.focus(),
|
|
267
345
|
update(state) {
|
|
268
346
|
const record = state.value;
|
|
347
|
+
if (avatar)
|
|
348
|
+
linkAvatar(document, record, avatar);
|
|
349
|
+
if (details) {
|
|
350
|
+
const lines = record?.details?.trim() ?? '';
|
|
351
|
+
setHidden(details, !lines);
|
|
352
|
+
if (details.textContent !== lines.replace(/\n/g, ''))
|
|
353
|
+
detailLines(details, lines);
|
|
354
|
+
}
|
|
269
355
|
readonly = state.readonly;
|
|
270
356
|
box.setText(record?.label ?? '');
|
|
271
357
|
box.setReadonly(state.readonly);
|
|
@@ -284,6 +370,7 @@ export const many2oneWidget = ({ form, name, field, node, id, document, labels =
|
|
|
284
370
|
};
|
|
285
371
|
export const tagsWidget = ({ form, name, field, node, id, document, labels = WIDGET_LABELS.en, dialogs }) => {
|
|
286
372
|
const relation = field.type === 'many2many' ? field.relation : '';
|
|
373
|
+
const own = shows(node);
|
|
287
374
|
const current = () => form.getState().values[name] ?? [];
|
|
288
375
|
const element = document.createElement('div');
|
|
289
376
|
element.className = 'fd-tags';
|
|
@@ -309,11 +396,12 @@ export const tagsWidget = ({ form, name, field, node, id, document, labels = WID
|
|
|
309
396
|
form.setValue(name, records.slice(0, -1));
|
|
310
397
|
},
|
|
311
398
|
create: creator(form, name, node),
|
|
399
|
+
placeholder: node.placeholder,
|
|
312
400
|
// With dialogs: pick from a full list when the short one has no room.
|
|
313
401
|
more: (_typed, overflow) => (dialogs && overflow ? [{ label: labels.searchMore, act: () => dialogs.searchMore({ title: field.label, search: (query, limit) => form.search(name, query, limit) }) }] : []),
|
|
314
402
|
});
|
|
315
403
|
// A linked record, opened from its tag in a dialog where the app can show it; a new name it is saved with follows here.
|
|
316
|
-
const open = dialogs && dialogs.canOpen(relation)
|
|
404
|
+
const open = own.opens && dialogs && dialogs.canOpen(relation)
|
|
317
405
|
? async (record) => {
|
|
318
406
|
const saved = await dialogs.openRecord(relation, { recordId: record.id, title: record.label });
|
|
319
407
|
if (saved && saved.label !== record.label)
|
|
@@ -339,17 +427,25 @@ export const tagsWidget = ({ form, name, field, node, id, document, labels = WID
|
|
|
339
427
|
if (key === drawn)
|
|
340
428
|
return;
|
|
341
429
|
drawn = key;
|
|
342
|
-
drawChips(chips, records, readonly, labels, (record) => form.setValue(name, current().filter((r) => r.id !== record.id)), open);
|
|
430
|
+
drawChips(chips, records, readonly, labels, (record) => form.setValue(name, current().filter((r) => r.id !== record.id)), open, own);
|
|
343
431
|
box.setText('');
|
|
344
432
|
},
|
|
345
433
|
};
|
|
346
434
|
};
|
|
347
|
-
/**
|
|
348
|
-
|
|
435
|
+
/**
|
|
436
|
+
* Chips for tags, each with a remove button unless read-only; with `open`,
|
|
437
|
+
* each one's words a button that opens it. With `look`, each in its record's
|
|
438
|
+
* colour (Flectra's 1 to 11) and with its picture.
|
|
439
|
+
*/
|
|
440
|
+
function drawChips(chips, records, readonly, labels, remove, open, look = {}) {
|
|
349
441
|
const doc = chips.ownerDocument;
|
|
350
442
|
chips.replaceChildren(...records.map((record) => {
|
|
351
443
|
const chip = doc.createElement('li');
|
|
352
444
|
chip.className = 'fd-chip';
|
|
445
|
+
if (look.colors && typeof record.color === 'number' && record.color >= 1 && record.color <= 11)
|
|
446
|
+
chip.setAttribute('data-color', String(Math.trunc(record.color)));
|
|
447
|
+
if (look.avatar)
|
|
448
|
+
chip.append(linkAvatar(doc, record));
|
|
353
449
|
const text = doc.createElement(open ? 'button' : 'span');
|
|
354
450
|
text.className = 'fd-chip-label';
|
|
355
451
|
text.textContent = record.label;
|
|
@@ -399,6 +495,7 @@ export const charTagsWidget = ({ form, name, node, id, document, labels = WIDGET
|
|
|
399
495
|
document,
|
|
400
496
|
id,
|
|
401
497
|
labels,
|
|
498
|
+
placeholder: node.placeholder,
|
|
402
499
|
search: async (query) => {
|
|
403
500
|
const taken = new Set(current().map((t) => t.toLowerCase()));
|
|
404
501
|
const wanted = query.trim().toLowerCase();
|
|
@@ -533,6 +630,7 @@ export const referenceWidget = (context) => {
|
|
|
533
630
|
document,
|
|
534
631
|
id,
|
|
535
632
|
labels,
|
|
633
|
+
placeholder: context.node.placeholder,
|
|
536
634
|
search: (query) => (model ? form.search(name, query, 8, { model }) : Promise.resolve([])),
|
|
537
635
|
pick: (record) => form.setValue(name, { model, id: record.id, label: record.label }),
|
|
538
636
|
onCommitEmpty: () => form.setValue(name, null),
|