valtech-components 4.0.549 → 4.0.550
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/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +229 -0
- package/esm2022/lib/components/molecules/field-options-editor/types.mjs +2 -0
- package/esm2022/lib/components/molecules/font-size-selector/font-size-selector.component.mjs +24 -6
- package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +24 -7
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +271 -14
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/field-options-editor/field-options-editor.component.d.ts +25 -0
- package/lib/components/molecules/field-options-editor/types.d.ts +17 -0
- package/lib/components/molecules/font-size-selector/font-size-selector.component.d.ts +4 -1
- package/lib/components/molecules/language-selector/language-selector.component.d.ts +4 -2
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { IonButton, IonIcon, IonInput, IonTextarea } from '@ionic/angular/standalone';
|
|
4
|
+
import { addIcons } from 'ionicons';
|
|
5
|
+
import { addOutline, trashOutline } from 'ionicons/icons';
|
|
6
|
+
import { ComponentStates } from '../../types';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FieldOptionsEditorComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.props = {};
|
|
11
|
+
this.optionsChange = new EventEmitter();
|
|
12
|
+
this.fallback = {
|
|
13
|
+
title: 'Options',
|
|
14
|
+
hint: '',
|
|
15
|
+
addLabel: 'Add options',
|
|
16
|
+
optionsLabel: 'Options',
|
|
17
|
+
placeholder: 'One option per line',
|
|
18
|
+
emptyText: 'No options yet.',
|
|
19
|
+
removeOptionLabel: 'Remove option',
|
|
20
|
+
state: ComponentStates.ENABLED,
|
|
21
|
+
};
|
|
22
|
+
this.resolved = this.fallback;
|
|
23
|
+
this.options = [];
|
|
24
|
+
this.draft = '';
|
|
25
|
+
addIcons({ addOutline, trashOutline });
|
|
26
|
+
}
|
|
27
|
+
ngOnChanges(changes) {
|
|
28
|
+
if (changes['props']) {
|
|
29
|
+
this.resolved = { ...this.fallback, ...this.props };
|
|
30
|
+
this.options = this.normalizeOptions(this.props.options ?? []);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get disabled() {
|
|
34
|
+
return this.resolved.state !== ComponentStates.ENABLED;
|
|
35
|
+
}
|
|
36
|
+
stringValue(event) {
|
|
37
|
+
return String(event.detail?.value ?? '');
|
|
38
|
+
}
|
|
39
|
+
addDraft() {
|
|
40
|
+
const names = this.draft
|
|
41
|
+
.split(/\r?\n|,/)
|
|
42
|
+
.map(value => value.trim())
|
|
43
|
+
.filter(Boolean);
|
|
44
|
+
if (names.length === 0)
|
|
45
|
+
return;
|
|
46
|
+
const next = [...this.options, ...names.map(name => this.createOption(name))];
|
|
47
|
+
this.draft = '';
|
|
48
|
+
this.setOptions(next);
|
|
49
|
+
}
|
|
50
|
+
updateOption(id, name) {
|
|
51
|
+
this.setOptions(this.options.map(option => option.id === id
|
|
52
|
+
? {
|
|
53
|
+
...option,
|
|
54
|
+
name: name.trimStart(),
|
|
55
|
+
}
|
|
56
|
+
: option));
|
|
57
|
+
}
|
|
58
|
+
removeOption(id) {
|
|
59
|
+
this.setOptions(this.options.filter(option => option.id !== id));
|
|
60
|
+
}
|
|
61
|
+
createOption(name) {
|
|
62
|
+
return {
|
|
63
|
+
id: this.uniqueID(this.optionID(name) || `option-${this.options.length + 1}`),
|
|
64
|
+
name,
|
|
65
|
+
order: this.options.length,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
setOptions(options) {
|
|
69
|
+
this.options = this.normalizeOptions(options).filter(option => option.name.trim());
|
|
70
|
+
this.optionsChange.emit(this.options);
|
|
71
|
+
}
|
|
72
|
+
normalizeOptions(options) {
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
return [...options]
|
|
75
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
|
76
|
+
.map((option, index) => {
|
|
77
|
+
const name = option.name.trim();
|
|
78
|
+
const id = this.uniqueID(option.id || this.optionID(name) || `option-${index + 1}`, seen);
|
|
79
|
+
seen.add(id);
|
|
80
|
+
return { id, name, order: index };
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
uniqueID(value, used = new Set(this.options.map(option => option.id))) {
|
|
84
|
+
const base = value || 'option';
|
|
85
|
+
if (!used.has(base))
|
|
86
|
+
return base;
|
|
87
|
+
let suffix = 2;
|
|
88
|
+
while (used.has(`${base}-${suffix}`))
|
|
89
|
+
suffix += 1;
|
|
90
|
+
return `${base}-${suffix}`;
|
|
91
|
+
}
|
|
92
|
+
optionID(value) {
|
|
93
|
+
return value
|
|
94
|
+
.normalize('NFD')
|
|
95
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
96
|
+
.replace(/[^a-zA-Z0-9]+/g, '-')
|
|
97
|
+
.replace(/^-+|-+$/g, '')
|
|
98
|
+
.toLowerCase();
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FieldOptionsEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FieldOptionsEditorComponent, isStandalone: true, selector: "val-field-options-editor", inputs: { props: "props" }, outputs: { optionsChange: "optionsChange" }, usesOnChanges: true, ngImport: i0, template: `
|
|
102
|
+
<section class="options-editor">
|
|
103
|
+
@if (resolved.title) {
|
|
104
|
+
<h3>{{ resolved.title }}</h3>
|
|
105
|
+
}
|
|
106
|
+
@if (resolved.hint) {
|
|
107
|
+
<p class="options-editor__hint">{{ resolved.hint }}</p>
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
<div class="options-editor__add">
|
|
111
|
+
<ion-textarea
|
|
112
|
+
autoGrow="true"
|
|
113
|
+
fill="outline"
|
|
114
|
+
[placeholder]="resolved.placeholder"
|
|
115
|
+
[value]="draft"
|
|
116
|
+
[disabled]="disabled"
|
|
117
|
+
(ionInput)="draft = stringValue($event)"
|
|
118
|
+
/>
|
|
119
|
+
<ion-button
|
|
120
|
+
type="button"
|
|
121
|
+
fill="outline"
|
|
122
|
+
shape="round"
|
|
123
|
+
color="dark"
|
|
124
|
+
[disabled]="disabled || !draft.trim()"
|
|
125
|
+
(click)="addDraft()"
|
|
126
|
+
>
|
|
127
|
+
<ion-icon name="add-outline" slot="start" aria-hidden="true" />
|
|
128
|
+
{{ resolved.addLabel }}
|
|
129
|
+
</ion-button>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
@if (options.length === 0) {
|
|
133
|
+
<p class="options-editor__empty">{{ resolved.emptyText }}</p>
|
|
134
|
+
} @else {
|
|
135
|
+
<div class="options-editor__list" [attr.aria-label]="resolved.optionsLabel">
|
|
136
|
+
@for (option of options; track option.id) {
|
|
137
|
+
<div class="options-editor__row">
|
|
138
|
+
<ion-input
|
|
139
|
+
fill="outline"
|
|
140
|
+
[value]="option.name"
|
|
141
|
+
[disabled]="disabled"
|
|
142
|
+
[attr.aria-label]="resolved.optionsLabel"
|
|
143
|
+
(ionInput)="updateOption(option.id, stringValue($event))"
|
|
144
|
+
/>
|
|
145
|
+
<ion-button
|
|
146
|
+
type="button"
|
|
147
|
+
fill="clear"
|
|
148
|
+
color="medium"
|
|
149
|
+
[disabled]="disabled"
|
|
150
|
+
[attr.aria-label]="resolved.removeOptionLabel"
|
|
151
|
+
(click)="removeOption(option.id)"
|
|
152
|
+
>
|
|
153
|
+
<ion-icon name="trash-outline" slot="icon-only" />
|
|
154
|
+
</ion-button>
|
|
155
|
+
</div>
|
|
156
|
+
}
|
|
157
|
+
</div>
|
|
158
|
+
}
|
|
159
|
+
</section>
|
|
160
|
+
`, isInline: true, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
|
|
161
|
+
}
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FieldOptionsEditorComponent, decorators: [{
|
|
163
|
+
type: Component,
|
|
164
|
+
args: [{ selector: 'val-field-options-editor', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonInput, IonTextarea], template: `
|
|
165
|
+
<section class="options-editor">
|
|
166
|
+
@if (resolved.title) {
|
|
167
|
+
<h3>{{ resolved.title }}</h3>
|
|
168
|
+
}
|
|
169
|
+
@if (resolved.hint) {
|
|
170
|
+
<p class="options-editor__hint">{{ resolved.hint }}</p>
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
<div class="options-editor__add">
|
|
174
|
+
<ion-textarea
|
|
175
|
+
autoGrow="true"
|
|
176
|
+
fill="outline"
|
|
177
|
+
[placeholder]="resolved.placeholder"
|
|
178
|
+
[value]="draft"
|
|
179
|
+
[disabled]="disabled"
|
|
180
|
+
(ionInput)="draft = stringValue($event)"
|
|
181
|
+
/>
|
|
182
|
+
<ion-button
|
|
183
|
+
type="button"
|
|
184
|
+
fill="outline"
|
|
185
|
+
shape="round"
|
|
186
|
+
color="dark"
|
|
187
|
+
[disabled]="disabled || !draft.trim()"
|
|
188
|
+
(click)="addDraft()"
|
|
189
|
+
>
|
|
190
|
+
<ion-icon name="add-outline" slot="start" aria-hidden="true" />
|
|
191
|
+
{{ resolved.addLabel }}
|
|
192
|
+
</ion-button>
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
@if (options.length === 0) {
|
|
196
|
+
<p class="options-editor__empty">{{ resolved.emptyText }}</p>
|
|
197
|
+
} @else {
|
|
198
|
+
<div class="options-editor__list" [attr.aria-label]="resolved.optionsLabel">
|
|
199
|
+
@for (option of options; track option.id) {
|
|
200
|
+
<div class="options-editor__row">
|
|
201
|
+
<ion-input
|
|
202
|
+
fill="outline"
|
|
203
|
+
[value]="option.name"
|
|
204
|
+
[disabled]="disabled"
|
|
205
|
+
[attr.aria-label]="resolved.optionsLabel"
|
|
206
|
+
(ionInput)="updateOption(option.id, stringValue($event))"
|
|
207
|
+
/>
|
|
208
|
+
<ion-button
|
|
209
|
+
type="button"
|
|
210
|
+
fill="clear"
|
|
211
|
+
color="medium"
|
|
212
|
+
[disabled]="disabled"
|
|
213
|
+
[attr.aria-label]="resolved.removeOptionLabel"
|
|
214
|
+
(click)="removeOption(option.id)"
|
|
215
|
+
>
|
|
216
|
+
<ion-icon name="trash-outline" slot="icon-only" />
|
|
217
|
+
</ion-button>
|
|
218
|
+
</div>
|
|
219
|
+
}
|
|
220
|
+
</div>
|
|
221
|
+
}
|
|
222
|
+
</section>
|
|
223
|
+
`, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}\n"] }]
|
|
224
|
+
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], optionsChange: [{
|
|
227
|
+
type: Output
|
|
228
|
+
}] } });
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb3B0aW9ucy1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9maWVsZC1vcHRpb25zLWVkaXRvci9maWVsZC1vcHRpb25zLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUE0RzlDLE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDO1FBbEJTLFVBQUssR0FBK0IsRUFBRSxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFL0QsYUFBUSxHQUEwRDtZQUN6RSxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixpQkFBaUIsRUFBRSxlQUFlO1lBQ2xDLEtBQUssRUFBRSxlQUFlLENBQUMsT0FBTztTQUMvQixDQUFDO1FBRUYsYUFBUSxHQUEwRCxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2hGLFlBQU8sR0FBOEIsRUFB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QUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sS0FBSzthQUNULFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDaEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQzthQUMvQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDO2FBQzlCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2FBQ3ZCLFdBQVcsRUFBRSxDQUFDO0lBQ25CLENBQUM7K0dBMUdVLDJCQUEyQjttR0FBM0IsMkJBQTJCLGtMQXJHNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRULDJnQkE1RFMsWUFBWSwrQkFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsUUFBUSw4ZUFBRSxXQUFXOzs0RkFzR3RELDJCQUEyQjtrQkF6R3ZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsWUFDeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUO3dEQTJDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0LCBJb25UZXh0YXJlYSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhZGRPdXRsaW5lLCB0cmFzaE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiwgRmllbGRPcHRpb25zRWRpdG9yTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCwgSW9uVGV4dGFyZWFdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWN0aW9uIGNsYXNzPVwib3B0aW9ucy1lZGl0b3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWQudGl0bGUpIHtcbiAgICAgICAgPGgzPnt7IHJlc29sdmVkLnRpdGxlIH19PC9oMz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVzb2x2ZWQuaGludCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19oaW50XCI+e3sgcmVzb2x2ZWQuaGludCB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19hZGRcIj5cbiAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgIGF1dG9Hcm93PVwidHJ1ZVwiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgW3ZhbHVlXT1cImRyYWZ0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJkcmFmdCA9IHN0cmluZ1ZhbHVlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBzaGFwZT1cInJvdW5kXCJcbiAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhZHJhZnQudHJpbSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWRkRHJhZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICB7eyByZXNvbHZlZC5hZGRMYWJlbCB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19lbXB0eVwiPnt7IHJlc29sdmVkLmVtcHR5VGV4dCB9fTwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1lZGl0b3JfX2xpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkLm9wdGlvbnNMYWJlbFwiPlxuICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24uaWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zLWVkaXRvcl9fcm93XCI+XG4gICAgICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5uYW1lXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWQub3B0aW9uc0xhYmVsXCJcbiAgICAgICAgICAgICAgICAoaW9uSW5wdXQpPVwidXBkYXRlT3B0aW9uKG9wdGlvbi5pZCwgc3RyaW5nVmFsdWUoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZC5yZW1vdmVPcHRpb25MYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU9wdGlvbihvcHRpb24uaWQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwidHJhc2gtb3V0bGluZVwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvc2VjdGlvbj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLm9wdGlvbnMtZWRpdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9faGludCxcbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fZW1wdHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fYWRkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAub3B0aW9ucy1lZGl0b3JfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkT3B0aW9uc0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSA9IHt9O1xuICBAT3V0cHV0KCkgb3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmllbGRPcHRpb25FZGl0b3JPcHRpb25bXT4oKTtcblxuICByZWFkb25seSBmYWxsYmFjazogUmVxdWlyZWQ8T21pdDxGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSwgJ29wdGlvbnMnPj4gPSB7XG4gICAgdGl0bGU6ICdPcHRpb25zJyxcbiAgICBoaW50OiAnJyxcbiAgICBhZGRMYWJlbDogJ0FkZCBvcHRpb25zJyxcbiAgICBvcHRpb25zTGFiZWw6ICdPcHRpb25zJyxcbiAgICBwbGFjZWhvbGRlcjogJ09uZSBvcHRpb24gcGVyIGxpbmUnLFxuICAgIGVtcHR5VGV4dDogJ05vIG9wdGlvbnMgeWV0LicsXG4gICAgcmVtb3ZlT3B0aW9uTGFiZWw6ICdSZW1vdmUgb3B0aW9uJyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gIH07XG5cbiAgcmVzb2x2ZWQ6IFJlcXVpcmVkPE9taXQ8RmllbGRPcHRpb25zRWRpdG9yTWV0YWRhdGEsICdvcHRpb25zJz4+ID0gdGhpcy5mYWxsYmFjaztcbiAgb3B0aW9uczogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSA9IFtdO1xuICBkcmFmdCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgYWRkT3V0bGluZSwgdHJhc2hPdXRsaW5lIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVkID0geyAuLi50aGlzLmZhbGxiYWNrLCAuLi50aGlzLnByb3BzIH07XG4gICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm5vcm1hbGl6ZU9wdGlvbnModGhpcy5wcm9wcy5vcHRpb25zID8/IFtdKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuc3RhdGUgIT09IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICB9XG5cbiAgc3RyaW5nVmFsdWUoZXZlbnQ6IEV2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKChldmVudCBhcyBDdXN0b21FdmVudDx7IHZhbHVlPzogdW5rbm93biB9PikuZGV0YWlsPy52YWx1ZSA/PyAnJyk7XG4gIH1cblxuICBhZGREcmFmdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMuZHJhZnRcbiAgICAgIC5zcGxpdCgvXFxyP1xcbnwsLylcbiAgICAgIC5tYXAodmFsdWUgPT4gdmFsdWUudHJpbSgpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAobmFtZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgY29uc3QgbmV4dCA9IFsuLi50aGlzLm9wdGlvbnMsIC4uLm5hbWVzLm1hcChuYW1lID0+IHRoaXMuY3JlYXRlT3B0aW9uKG5hbWUpKV07XG4gICAgdGhpcy5kcmFmdCA9ICcnO1xuICAgIHRoaXMuc2V0T3B0aW9ucyhuZXh0KTtcbiAgfVxuXG4gIHVwZGF0ZU9wdGlvbihpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKG9wdGlvbiA9PlxuICAgICAgICBvcHRpb24uaWQgPT09IGlkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgICAgbmFtZTogbmFtZS50cmltU3RhcnQoKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG9wdGlvblxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICByZW1vdmVPcHRpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24uaWQgIT09IGlkKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU9wdGlvbihuYW1lOiBzdHJpbmcpOiBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLnVuaXF1ZUlEKHRoaXMub3B0aW9uSUQobmFtZSkgfHwgYG9wdGlvbi0ke3RoaXMub3B0aW9ucy5sZW5ndGggKyAxfWApLFxuICAgICAgbmFtZSxcbiAgICAgIG9yZGVyOiB0aGlzLm9wdGlvbnMubGVuZ3RoLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldE9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucyhvcHRpb25zKS5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5uYW1lLnRyaW0oKSk7XG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zOiBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbltdKTogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSB7XG4gICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJldHVybiBbLi4ub3B0aW9uc11cbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gb3B0aW9uLm5hbWUudHJpbSgpO1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMudW5pcXVlSUQob3B0aW9uLmlkIHx8IHRoaXMub3B0aW9uSUQobmFtZSkgfHwgYG9wdGlvbi0ke2luZGV4ICsgMX1gLCBzZWVuKTtcbiAgICAgICAgc2Vlbi5hZGQoaWQpO1xuICAgICAgICByZXR1cm4geyBpZCwgbmFtZSwgb3JkZXI6IGluZGV4IH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5pcXVlSUQodmFsdWU6IHN0cmluZywgdXNlZCA9IG5ldyBTZXQodGhpcy5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLmlkKSkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2UgPSB2YWx1ZSB8fCAnb3B0aW9uJztcbiAgICBpZiAoIXVzZWQuaGFzKGJhc2UpKSByZXR1cm4gYmFzZTtcbiAgICBsZXQgc3VmZml4ID0gMjtcbiAgICB3aGlsZSAodXNlZC5oYXMoYCR7YmFzZX0tJHtzdWZmaXh9YCkpIHN1ZmZpeCArPSAxO1xuICAgIHJldHVybiBgJHtiYXNlfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBvcHRpb25JRCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCAnLScpXG4gICAgICAucmVwbGFjZSgvXi0rfC0rJC9nLCAnJylcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpZWxkLW9wdGlvbnMtZWRpdG9yL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBhZGRMYWJlbD86IHN0cmluZztcbiAgb3B0aW9uc0xhYmVsPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZW1wdHlUZXh0Pzogc3RyaW5nO1xuICByZW1vdmVPcHRpb25MYWJlbD86IHN0cmluZztcbiAgc3RhdGU/OiBDb21wb25lbnRTdGF0ZTtcbiAgb3B0aW9ucz86IEZpZWxkT3B0aW9uRWRpdG9yT3B0aW9uW107XG59XG4iXX0=
|
package/esm2022/lib/components/molecules/font-size-selector/font-size-selector.component.mjs
CHANGED
|
@@ -22,7 +22,7 @@ export class FontSizeSelectorComponent {
|
|
|
22
22
|
this.props = {};
|
|
23
23
|
this.fontSizeService = inject(FontSizeService);
|
|
24
24
|
this.i18n = inject(I18nService);
|
|
25
|
-
this.
|
|
25
|
+
this.isOpen = false;
|
|
26
26
|
this.currentSize = this.fontSizeService.size;
|
|
27
27
|
this.i18n.registerDefaults('FontSizeSelector', FONT_SIZE_SELECTOR_I18N);
|
|
28
28
|
}
|
|
@@ -36,13 +36,20 @@ export class FontSizeSelectorComponent {
|
|
|
36
36
|
setSize(size) {
|
|
37
37
|
this.fontSizeService.setSize(size);
|
|
38
38
|
}
|
|
39
|
+
openPopover(event) {
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
this.popoverEvent = event;
|
|
42
|
+
this.isOpen = true;
|
|
43
|
+
}
|
|
44
|
+
closePopover() {
|
|
45
|
+
this.isOpen = false;
|
|
46
|
+
}
|
|
39
47
|
t(key) {
|
|
40
48
|
return this.i18n.t(key, 'FontSizeSelector');
|
|
41
49
|
}
|
|
42
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FontSizeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
51
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FontSizeSelectorComponent, isStandalone: true, selector: "val-font-size-selector", inputs: { props: "props" }, ngImport: i0, template: `
|
|
44
52
|
<ion-button
|
|
45
|
-
[id]="popoverId"
|
|
46
53
|
[color]="props.color || 'medium'"
|
|
47
54
|
[fill]="props.fill || 'clear'"
|
|
48
55
|
[size]="props.size || 'default'"
|
|
@@ -50,11 +57,17 @@ export class FontSizeSelectorComponent {
|
|
|
50
57
|
[attr.aria-label]="t('ariaLabel')"
|
|
51
58
|
class="icon-mode-button"
|
|
52
59
|
style="min-width: 44px; width: 44px; height: 44px; margin: 0; --padding-start: 0; --padding-end: 0;"
|
|
60
|
+
(click)="openPopover($event)"
|
|
53
61
|
>
|
|
54
62
|
<ion-icon slot="icon-only" name="text-outline" aria-hidden="true"></ion-icon>
|
|
55
63
|
</ion-button>
|
|
56
64
|
|
|
57
|
-
<ion-popover
|
|
65
|
+
<ion-popover
|
|
66
|
+
[isOpen]="isOpen"
|
|
67
|
+
[event]="popoverEvent"
|
|
68
|
+
[dismissOnSelect]="true"
|
|
69
|
+
(didDismiss)="closePopover()"
|
|
70
|
+
>
|
|
58
71
|
<ng-template>
|
|
59
72
|
<ion-list>
|
|
60
73
|
@for (option of options; track option.value) {
|
|
@@ -80,7 +93,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
80
93
|
type: Component,
|
|
81
94
|
args: [{ selector: 'val-font-size-selector', standalone: true, imports: [IonButton, IonIcon, IonPopover, IonList, IonItem, IonLabel], template: `
|
|
82
95
|
<ion-button
|
|
83
|
-
[id]="popoverId"
|
|
84
96
|
[color]="props.color || 'medium'"
|
|
85
97
|
[fill]="props.fill || 'clear'"
|
|
86
98
|
[size]="props.size || 'default'"
|
|
@@ -88,11 +100,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
88
100
|
[attr.aria-label]="t('ariaLabel')"
|
|
89
101
|
class="icon-mode-button"
|
|
90
102
|
style="min-width: 44px; width: 44px; height: 44px; margin: 0; --padding-start: 0; --padding-end: 0;"
|
|
103
|
+
(click)="openPopover($event)"
|
|
91
104
|
>
|
|
92
105
|
<ion-icon slot="icon-only" name="text-outline" aria-hidden="true"></ion-icon>
|
|
93
106
|
</ion-button>
|
|
94
107
|
|
|
95
|
-
<ion-popover
|
|
108
|
+
<ion-popover
|
|
109
|
+
[isOpen]="isOpen"
|
|
110
|
+
[event]="popoverEvent"
|
|
111
|
+
[dismissOnSelect]="true"
|
|
112
|
+
(didDismiss)="closePopover()"
|
|
113
|
+
>
|
|
96
114
|
<ng-template>
|
|
97
115
|
<ion-list>
|
|
98
116
|
@for (option of options; track option.value) {
|
|
@@ -116,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
116
134
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
117
135
|
type: Input
|
|
118
136
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9udC1zaXplLXNlbGVjdG9yL2ZvbnQtc2l6ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUdyRCxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsS0FBSyxFQUFFLFFBQVE7S0FDaEI7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsV0FBVztRQUN0QixLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO0tBQ2Y7Q0FDRixDQUFDO0FBZ0RGLE1BQU0sT0FBTyx5QkFBeUI7SUFVcEM7UUFUUyxVQUFLLEdBQTZCLEVBQUUsQ0FBQztRQUV0QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTixnQkFBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBRy9DLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTztZQUNMLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkQsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6RCxFQUFFLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ3hELENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQW9CO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsQ0FBQyxDQUFDLEdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBdENVLHlCQUF5QjttR0FBekIseUJBQXlCLDhHQTFDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDVCxpU0F4Q1MsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFVBQVUsd0RBQUUsT0FBTyx5RkFBRSxPQUFPLDBOQUFFLFFBQVE7OzRGQTJDekQseUJBQXlCO2tCQTlDckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsWUFDM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDVDt3REFJUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSXRlbSwgSW9uTGFiZWwsIElvbkxpc3QsIElvblBvcG92ZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZvbnRTaXplT3B0aW9uLCBGb250U2l6ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb250LXNpemUvZm9udC1zaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEZvbnRTaXplU2VsZWN0b3JNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBGT05UX1NJWkVfU0VMRUNUT1JfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICBhcmlhTGFiZWw6ICdUYW1hw7FvIGRlIHRleHRvJyxcbiAgICBzbWFsbDogJ1BlcXVlw7FvJyxcbiAgICBtZWRpdW06ICdNZWRpYW5vJyxcbiAgICBsYXJnZTogJ0dyYW5kZScsXG4gIH0sXG4gIGVuOiB7XG4gICAgYXJpYUxhYmVsOiAnVGV4dCBzaXplJyxcbiAgICBzbWFsbDogJ1NtYWxsJyxcbiAgICBtZWRpdW06ICdNZWRpdW0nLFxuICAgIGxhcmdlOiAnTGFyZ2UnLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvbnQtc2l6ZS1zZWxlY3RvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25CdXR0b24sIElvbkljb24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdtZWRpdW0nXCJcbiAgICAgIFtmaWxsXT1cInByb3BzLmZpbGwgfHwgJ2NsZWFyJ1wiXG4gICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdhcmlhTGFiZWwnKVwiXG4gICAgICBjbGFzcz1cImljb24tbW9kZS1idXR0b25cIlxuICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDQ0cHg7IHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IG1hcmdpbjogMDsgLS1wYWRkaW5nLXN0YXJ0OiAwOyAtLXBhZGRpbmctZW5kOiAwO1wiXG4gICAgICAoY2xpY2spPVwib3BlblBvcG92ZXIoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidGV4dC1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICA8L2lvbi1idXR0b24+XG5cbiAgICA8aW9uLXBvcG92ZXJcbiAgICAgIFtpc09wZW5dPVwiaXNPcGVuXCJcbiAgICAgIFtldmVudF09XCJwb3BvdmVyRXZlbnRcIlxuICAgICAgW2Rpc21pc3NPblNlbGVjdF09XCJ0cnVlXCJcbiAgICAgIChkaWREaXNtaXNzKT1cImNsb3NlUG9wb3ZlcigpXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24tbGlzdD5cbiAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgY2xhc3M9XCJzaXplLW9wdGlvblwiXG4gICAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtkZXRhaWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0U2l6ZShvcHRpb24udmFsdWUpXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gY3VycmVudFNpemUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgb3B0aW9uLmxhYmVsIH19PC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIEBpZiAob3B0aW9uLnZhbHVlID09PSBjdXJyZW50U2l6ZSgpKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJlbmRcIiBuYW1lPVwiY2hlY2ttYXJrXCIgY29sb3I9XCJwcmltYXJ5XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLXBvcG92ZXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2ZvbnQtc2l6ZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb250U2l6ZVNlbGVjdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IEZvbnRTaXplU2VsZWN0b3JNZXRhZGF0YSA9IHt9O1xuXG4gIHByaXZhdGUgZm9udFNpemVTZXJ2aWNlID0gaW5qZWN0KEZvbnRTaXplU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgaXNPcGVuID0gZmFsc2U7XG4gIHBvcG92ZXJFdmVudD86IEV2ZW50O1xuICByZWFkb25seSBjdXJyZW50U2l6ZSA9IHRoaXMuZm9udFNpemVTZXJ2aWNlLnNpemU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ0ZvbnRTaXplU2VsZWN0b3InLCBGT05UX1NJWkVfU0VMRUNUT1JfSTE4Tik7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyB2YWx1ZTogRm9udFNpemVPcHRpb24uU01BTEwsIGxhYmVsOiB0aGlzLnQoJ3NtYWxsJykgfSxcbiAgICAgIHsgdmFsdWU6IEZvbnRTaXplT3B0aW9uLk1FRElVTSwgbGFiZWw6IHRoaXMudCgnbWVkaXVtJykgfSxcbiAgICAgIHsgdmFsdWU6IEZvbnRTaXplT3B0aW9uLkxBUkdFLCBsYWJlbDogdGhpcy50KCdsYXJnZScpIH0sXG4gICAgXTtcbiAgfVxuXG4gIHNldFNpemUoc2l6ZTogRm9udFNpemVPcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZvbnRTaXplU2VydmljZS5zZXRTaXplKHNpemUpO1xuICB9XG5cbiAgb3BlblBvcG92ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5wb3BvdmVyRXZlbnQgPSBldmVudDtcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gIH1cblxuICBjbG9zZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdGb250U2l6ZVNlbGVjdG9yJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -39,8 +39,7 @@ export class LanguageSelectorComponent {
|
|
|
39
39
|
* Emits the selected language code.
|
|
40
40
|
*/
|
|
41
41
|
this.languageChange = new EventEmitter();
|
|
42
|
-
|
|
43
|
-
this.popoverId = `lang-selector-${Math.random().toString(36).substring(2, 9)}`;
|
|
42
|
+
this.iconPopoverOpen = false;
|
|
44
43
|
/** Available languages (exposed for icon mode template) */
|
|
45
44
|
this.availableLanguages = [];
|
|
46
45
|
/** Current language (exposed for icon mode template) */
|
|
@@ -130,6 +129,14 @@ export class LanguageSelectorComponent {
|
|
|
130
129
|
}
|
|
131
130
|
}
|
|
132
131
|
}
|
|
132
|
+
openIconPopover(event) {
|
|
133
|
+
event.stopPropagation();
|
|
134
|
+
this.iconPopoverEvent = event;
|
|
135
|
+
this.iconPopoverOpen = true;
|
|
136
|
+
}
|
|
137
|
+
closeIconPopover() {
|
|
138
|
+
this.iconPopoverOpen = false;
|
|
139
|
+
}
|
|
133
140
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
141
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LanguageSelectorComponent, isStandalone: true, selector: "val-language-selector", inputs: { props: "props" }, outputs: { languageChange: "languageChange" }, ngImport: i0, template: `
|
|
135
142
|
<!-- Default mode: use popover-selector -->
|
|
@@ -140,7 +147,6 @@ export class LanguageSelectorComponent {
|
|
|
140
147
|
<!-- Icon mode: compact globe button with popover -->
|
|
141
148
|
@if (props.mode === 'icon') {
|
|
142
149
|
<ion-button
|
|
143
|
-
[id]="popoverId"
|
|
144
150
|
[color]="props.color || 'medium'"
|
|
145
151
|
[fill]="props.fill || 'clear'"
|
|
146
152
|
[size]="props.size || 'default'"
|
|
@@ -148,11 +154,17 @@ export class LanguageSelectorComponent {
|
|
|
148
154
|
[attr.aria-label]="'Cambiar idioma'"
|
|
149
155
|
class="icon-mode-button"
|
|
150
156
|
style="min-width: 44px; width: 44px; height: 44px; margin: 0; --padding-start: 0; --padding-end: 0;"
|
|
157
|
+
(click)="openIconPopover($event)"
|
|
151
158
|
>
|
|
152
159
|
<ion-icon slot="icon-only" [name]="props.icon || 'globe-outline'" aria-hidden="true"></ion-icon>
|
|
153
160
|
</ion-button>
|
|
154
161
|
|
|
155
|
-
<ion-popover
|
|
162
|
+
<ion-popover
|
|
163
|
+
[isOpen]="iconPopoverOpen"
|
|
164
|
+
[event]="iconPopoverEvent"
|
|
165
|
+
[dismissOnSelect]="true"
|
|
166
|
+
(didDismiss)="closeIconPopover()"
|
|
167
|
+
>
|
|
156
168
|
<ng-template>
|
|
157
169
|
<ion-list>
|
|
158
170
|
@for (lang of availableLanguages; track lang) {
|
|
@@ -185,7 +197,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
185
197
|
<!-- Icon mode: compact globe button with popover -->
|
|
186
198
|
@if (props.mode === 'icon') {
|
|
187
199
|
<ion-button
|
|
188
|
-
[id]="popoverId"
|
|
189
200
|
[color]="props.color || 'medium'"
|
|
190
201
|
[fill]="props.fill || 'clear'"
|
|
191
202
|
[size]="props.size || 'default'"
|
|
@@ -193,11 +204,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
193
204
|
[attr.aria-label]="'Cambiar idioma'"
|
|
194
205
|
class="icon-mode-button"
|
|
195
206
|
style="min-width: 44px; width: 44px; height: 44px; margin: 0; --padding-start: 0; --padding-end: 0;"
|
|
207
|
+
(click)="openIconPopover($event)"
|
|
196
208
|
>
|
|
197
209
|
<ion-icon slot="icon-only" [name]="props.icon || 'globe-outline'" aria-hidden="true"></ion-icon>
|
|
198
210
|
</ion-button>
|
|
199
211
|
|
|
200
|
-
<ion-popover
|
|
212
|
+
<ion-popover
|
|
213
|
+
[isOpen]="iconPopoverOpen"
|
|
214
|
+
[event]="iconPopoverEvent"
|
|
215
|
+
[dismissOnSelect]="true"
|
|
216
|
+
(didDismiss)="closeIconPopover()"
|
|
217
|
+
>
|
|
201
218
|
<ng-template>
|
|
202
219
|
<ion-list>
|
|
203
220
|
@for (lang of availableLanguages; track lang) {
|
|
@@ -223,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
223
240
|
}], languageChange: [{
|
|
224
241
|
type: Output
|
|
225
242
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQW9EMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NBOztXQUVHO1FBRUgsVUFBSyxHQUE2QixFQUFFLENBQUM7UUFFckM7OztXQUdHO1FBRUgsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzVDLGtEQUFrRDtRQUNsRCxjQUFTLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTFFLDJEQUEy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QUMsZ0JBQWdCLENBQUMsQ0FBQztZQUUzQyw0RUFBNEU7WUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsK0RBQStEO1lBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBN0hVLHlCQUF5QjttR0FBekIseUJBQXlCLDRKQWxFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNULDB6REExQ1MsWUFBWSwrQkFBRSx3QkFBd0Isa0hBQUUsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFVBQVUsd0RBQUUsT0FBTyx5RkFBRSxPQUFPLDBOQUFFLFFBQVE7OzRGQW1FakcseUJBQXlCO2tCQXRFckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQ25HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlDVDt3REE4QkQsS0FBSztzQkFESixLQUFLO2dCQVFOLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgbGFuZ3VhZ2UsIGdsb2JlT3V0bGluZSwgY2hlY2ttYXJrIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UsIEkxOG5MYW5nIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJPcHRpb24sIFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vcG9wb3Zlci1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWxhbmd1YWdlLXNlbGVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LCBJb25CdXR0b24sIElvbkljb24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tIERlZmF1bHQgbW9kZTogdXNlIHBvcG92ZXItc2VsZWN0b3IgLS0+XG4gICAgQGlmIChwcm9wcy5tb2RlICE9PSAnaWNvbicpIHtcbiAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwicG9wb3ZlclByb3BzXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkxhbmd1YWdlQ2hhbmdlKCRldmVudClcIj4gPC92YWwtcG9wb3Zlci1zZWxlY3Rvcj5cbiAgICB9XG5cbiAgICA8IS0tIEljb24gbW9kZTogY29tcGFjdCBnbG9iZSBidXR0b24gd2l0aCBwb3BvdmVyIC0tPlxuICAgIEBpZiAocHJvcHMubW9kZSA9PT0gJ2ljb24nKSB7XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBbaWRdPVwicG9wb3ZlcklkXCJcbiAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdtZWRpdW0nXCJcbiAgICAgICAgW2ZpbGxdPVwicHJvcHMuZmlsbCB8fCAnY2xlYXInXCJcbiAgICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZSB8fCAnZGVmYXVsdCdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDYW1iaWFyIGlkaW9tYSdcIlxuICAgICAgICBjbGFzcz1cImljb24tbW9kZS1idXR0b25cIlxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNDRweDsgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgbWFyZ2luOiAwOyAtLXBhZGRpbmctc3RhcnQ6IDA7IC0tcGFkZGluZy1lbmQ6IDA7XCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJwcm9wcy5pY29uIHx8ICdnbG9iZS1vdXRsaW5lJ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxpb24tcG9wb3ZlciBbdHJpZ2dlcl09XCJwb3BvdmVySWRcIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgIDxpb24tbGlzdD5cbiAgICAgICAgICAgIEBmb3IgKGxhbmcgb2YgYXZhaWxhYmxlTGFuZ3VhZ2VzOyB0cmFjayBsYW5nKSB7XG4gICAgICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2RldGFpbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UobGFuZylcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJsYW5nID09PSBjdXJyZW50TGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD57eyBnZXRMYW5ndWFnZURpc3BsYXlOYW1lKGxhbmcpIH19PC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgQGlmIChsYW5nID09PSBjdXJyZW50TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiZW5kXCIgbmFtZT1cImNoZWNrbWFya1wiIGNvbG9yPVwicHJpbWFyeVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2lvbi1wb3BvdmVyPlxuICAgIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1sYW5ndWFnZS1zZWxlY3RvclxuICpcbiAqIEEgbGFuZ3VhZ2Ugc2VsZWN0b3IgY29tcG9uZW50IHRoYXQgdXNlcyBJMThuU2VydmljZS5cbiAqIEJ5IGRlZmF1bHQsIGxhbmd1YWdlIGNoYW5nZXMgYXJlIHJlYWN0aXZlIChubyBwYWdlIHJlbG9hZCkuXG4gKiBTZXQgZm9yY2VSZWxvYWQ6IHRydWUgaW4gcHJvcHMgdG8gcmVsb2FkIG9uIGNoYW5nZS5cbiAqXG4gKiBAZXhhbXBsZSBEZWZhdWx0IG1vZGUgKGRyb3Bkb3duLCBubyBsYWJlbCk6XG4gKiA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJ7IHNob3dGbGFnczogdHJ1ZSB9XCI+XG4gKiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGxhYmVsIChpZiBuZWVkZWQpOlxuICogPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwieyBzaG93TGFiZWw6IHRydWUgfVwiPlxuICogPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gKlxuICogQGV4YW1wbGUgSWNvbiBtb2RlIChjb21wYWN0IGZvciBoZWFkZXJzL3Rvb2xiYXJzKTpcbiAqIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cInsgbW9kZTogJ2ljb24nLCBjb2xvcjogJ3ByaW1hcnknIH1cIj5cbiAqIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICpcbiAqIEBpbnB1dCBwcm9wczogTGFuZ3VhZ2VTZWxlY3Rvck1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGxhbmd1YWdlIHNlbGVjdG9yXG4gKiBAb3V0cHV0IGxhbmd1YWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiAtIEVtaXR0ZWQgd2hlbiBsYW5ndWFnZSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIExhbmd1YWdlIHNlbGVjdG9yIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSA9IHt9O1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGxhbmd1YWdlIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgbGFuZ3VhZ2UgY29kZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBsYW5ndWFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKiBQb3BvdmVyIHNlbGVjdG9yIGNvbmZpZ3VyYXRpb24gKGZvciBkZWZhdWx0IG1vZGUpICovXG4gIHBvcG92ZXJQcm9wczogUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGE7XG5cbiAgLyoqIFVuaXF1ZSBJRCBmb3IgdGhlIGljb24gbW9kZSBwb3BvdmVyIHRyaWdnZXIgKi9cbiAgcG9wb3ZlcklkID0gYGxhbmctc2VsZWN0b3ItJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSl9YDtcblxuICAvKiogQXZhaWxhYmxlIGxhbmd1YWdlcyAoZXhwb3NlZCBmb3IgaWNvbiBtb2RlIHRlbXBsYXRlKSAqL1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIEN1cnJlbnQgbGFuZ3VhZ2UgKGV4cG9zZWQgZm9yIGljb24gbW9kZSB0ZW1wbGF0ZSkgKi9cbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBEZWZhdWx0IGxhbmd1YWdlIGRpc3BsYXkgbmFtZXMgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlTmFtZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgZXM6ICdFc3Bhw7FvbCcsXG4gICAgZW46ICdFbmdsaXNoJyxcbiAgICBmcjogJ0ZyYW7Dp2FpcycsXG4gICAgZGU6ICdEZXV0c2NoJyxcbiAgfTtcblxuICAvKiogRGVmYXVsdCBmbGFnIGljb25zIGZvciBsYW5ndWFnZXMgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlRmxhZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgZXM6ICfwn4eq8J+HuCcsXG4gICAgZW46ICfwn4e68J+HuCcsXG4gICAgZnI6ICfwn4er8J+HtycsXG4gICAgZGU6ICfwn4ep8J+HqicsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoeyBsYW5ndWFnZSwgZ2xvYmVPdXRsaW5lLCBjaGVja21hcmsgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMgPSB0aGlzLnByb3BzLmF2YWlsYWJsZUxhbmd1YWdlcyB8fCB0aGlzLmkxOG4uc3VwcG9ydGVkTGFuZ3VhZ2VzKCk7XG4gICAgdGhpcy5pbml0aWFsaXplUG9wb3ZlclByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQb3BvdmVyUHJvcHMoKSB7XG4gICAgY29uc3QgY3VycmVudExhbmd1YWdlID0gdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBhdmFpbGFibGVMYW5ndWFnZXMgPSB0aGlzLnByb3BzLmF2YWlsYWJsZUxhbmd1YWdlcyB8fCB0aGlzLmkxOG4uc3VwcG9ydGVkTGFuZ3VhZ2VzKCk7XG5cbiAgICAvLyBDb252ZXJ0IGxhbmd1YWdlIGNvZGVzIHRvIHBvcG92ZXIgb3B0aW9uc1xuICAgIGNvbnN0IG9wdGlvbnM6IFBvcG92ZXJPcHRpb25bXSA9IGF2YWlsYWJsZUxhbmd1YWdlcy5tYXAobGFuZyA9PiAoe1xuICAgICAgdmFsdWU6IGxhbmcsXG4gICAgICBsYWJlbDogdGhpcy5nZXRMYW5ndWFnZURpc3BsYXlOYW1lKGxhbmcpLFxuICAgIH0pKTtcblxuICAgIC8vIENyZWF0ZSBwb3BvdmVyIGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLnBvcG92ZXJQcm9wcyA9IHtcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzZWxlY3RlZFZhbHVlOiBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICBsYWJlbDogdGhpcy5wcm9wcy5zaG93TGFiZWwgPT09IHRydWUgPyB0aGlzLnByb3BzLmxhYmVsIHx8IHRoaXMuaTE4bi50KCdsYW5ndWFnZScpIDogdW5kZWZpbmVkLFxuICAgICAgaWNvbjogJ2xhbmd1YWdlJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLmkxOG4udCgnc2VsZWN0TGFuZ3VhZ2UnKSxcbiAgICAgIGNvbG9yOiB0aGlzLnByb3BzLmNvbG9yIHx8ICdtZWRpdW0nLFxuICAgICAgc2l6ZTogdGhpcy5wcm9wcy5zaXplIHx8ICdkZWZhdWx0JyxcbiAgICAgIC8vIEVsIGJvcmRlIGFob3JhIGxvIGRpYnVqYSBlbCBwb3BvdmVyLXNlbGVjdG9yIGVuIDo6cGFydChuYXRpdmUpIChkYXJrXG4gICAgICAvLyBjdWFkcmFkbywgcHJpbWFyeSBhbCBhYnJpciksIGluZGVwZW5kaWVudGUgZGVsIGZpbGwuICdvdXRsaW5lJyBkZWphIGVsXG4gICAgICAvLyBmb25kbyB0cmFuc3BhcmVudGUsIGNvbnNpc3RlbnRlIGNvbiBsb3Mgc2VsZWN0b3JlcyBkZSB0ZW1hIHkgdGFtYcOxby5cbiAgICAgIGZpbGw6IHRoaXMucHJvcHMuZmlsbCB8fCAnb3V0bGluZScsXG4gICAgICBzaGFwZTogdGhpcy5wcm9wcy5zaGFwZSxcbiAgICAgIGV4cGFuZDogdGhpcy5wcm9wcy5leHBhbmQsXG4gICAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCB8fCBmYWxzZSxcbiAgICAgIGludGVyZmFjZTogJ3BvcG92ZXInLFxuICAgICAgc2hvd0NoZWNrbWFyazogdHJ1ZSxcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgIGNhbmNlbFRleHQ6IHRoaXMuaTE4bi50KCdjYW5jZWwnKSxcbiAgICAgIG9rVGV4dDogdGhpcy5pMThuLnQoJ29rJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBHZXQgZGlzcGxheSBuYW1lIGZvciBhIGxhbmd1YWdlIGNvZGUgKHB1YmxpYyBmb3IgdGVtcGxhdGUgYWNjZXNzKSAqL1xuICBnZXRMYW5ndWFnZURpc3BsYXlOYW1lKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBVc2UgY3VzdG9tIG5hbWVzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucHJvcHMuY3VzdG9tTGFuZ3VhZ2VOYW1lcz8uW2xhbmd1YWdlQ29kZV0pIHtcbiAgICAgIGNvbnN0IGN1c3RvbU5hbWUgPSB0aGlzLnByb3BzLmN1c3RvbUxhbmd1YWdlTmFtZXNbbGFuZ3VhZ2VDb2RlXTtcbiAgICAgIGNvbnN0IGZsYWcgPSB0aGlzLnByb3BzLnNob3dGbGFncyA/IHRoaXMuZGVmYXVsdExhbmd1YWdlRmxhZ3NbbGFuZ3VhZ2VDb2RlXSA6ICcnO1xuICAgICAgcmV0dXJuIGZsYWcgPyBgJHtmbGFnfSAke2N1c3RvbU5hbWV9YCA6IGN1c3RvbU5hbWU7XG4gICAgfVxuXG4gICAgLy8gVXNlIGRlZmF1bHQgbmFtZXNcbiAgICBjb25zdCBkZWZhdWx0TmFtZSA9IHRoaXMuZGVmYXVsdExhbmd1YWdlTmFtZXNbbGFuZ3VhZ2VDb2RlXSB8fCBsYW5ndWFnZUNvZGUudG9VcHBlckNhc2UoKTtcbiAgICBjb25zdCBmbGFnID0gdGhpcy5wcm9wcy5zaG93RmxhZ3MgPyB0aGlzLmRlZmF1bHRMYW5ndWFnZUZsYWdzW2xhbmd1YWdlQ29kZV0gOiAnJztcbiAgICByZXR1cm4gZmxhZyA/IGAke2ZsYWd9ICR7ZGVmYXVsdE5hbWV9YCA6IGRlZmF1bHROYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBsYW5ndWFnZSBzZWxlY3Rpb24gY2hhbmdlLlxuICAgKiBAcGFyYW0gc2VsZWN0ZWRMYW5ndWFnZSAtIFRoZSBzZWxlY3RlZCBsYW5ndWFnZSBjb2RlKHMpXG4gICAqL1xuICBvbkxhbmd1YWdlQ2hhbmdlKHNlbGVjdGVkTGFuZ3VhZ2U6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RlZExhbmd1YWdlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgbmV3TGFuZyA9IHNlbGVjdGVkTGFuZ3VhZ2UgYXMgSTE4bkxhbmc7XG5cbiAgICAgIC8vIFVwZGF0ZSBjdXJyZW50IGxhbmd1YWdlIGZvciBpY29uIG1vZGVcbiAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gbmV3TGFuZztcblxuICAgICAgLy8gRW1pdCB0aGUgY2hhbmdlIGV2ZW50XG4gICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlLmVtaXQoc2VsZWN0ZWRMYW5ndWFnZSk7XG5cbiAgICAgIC8vIFNldCB0aGUgbmV3IGxhbmd1YWdlIChyZWFjdGl2ZSBieSBkZWZhdWx0LCByZWxvYWQgaWYgZm9yY2VSZWxvYWQgaXMgdHJ1ZSlcbiAgICAgIHRoaXMuaTE4bi5zZXRMYW5ndWFnZShuZXdMYW5nLCB0aGlzLnByb3BzLmZvcmNlUmVsb2FkKTtcblxuICAgICAgLy8gVXBkYXRlIHBvcG92ZXIgc2VsZWN0ZWQgdmFsdWUgZm9yIHJlYWN0aXZlIFVJIChkZWZhdWx0IG1vZGUpXG4gICAgICBpZiAodGhpcy5wb3BvdmVyUHJvcHMpIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyUHJvcHMgPSB7IC4uLnRoaXMucG9wb3ZlclByb3BzLCBzZWxlY3RlZFZhbHVlOiBuZXdMYW5nIH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQXlEMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NBOztXQUVHO1FBRUgsVUFBSyxHQUE2QixFQUFFLENBQUM7UUFFckM7OztXQUdHO1FBRUgsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3hCLDJEQUEyRDtRQUMzRCx1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFFbEMsd0RBQXdEO1FBQ3hELG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBRXJCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FB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V0FBVyxDQUFDLENBQUM7WUFFdkQsK0RBQStEO1lBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzsrR0F2SVUseUJBQXlCO21HQUF6Qix5QkFBeUIsNEpBdkUxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThDVCwwekRBL0NTLFlBQVksK0JBQUUsd0JBQXdCLGtIQUFFLFNBQVMsb1BBQUUsT0FBTywySkFBRSxVQUFVLHdEQUFFLE9BQU8seUZBQUUsT0FBTywwTkFBRSxRQUFROzs0RkF3RWpHLHlCQUF5QjtrQkEzRXJDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThDVDt3REE4QkQsS0FBSztzQkFESixLQUFLO2dCQVFOLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgbGFuZ3VhZ2UsIGdsb2JlT3V0bGluZSwgY2hlY2ttYXJrIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UsIEkxOG5MYW5nIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJPcHRpb24sIFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vcG9wb3Zlci1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWxhbmd1YWdlLXNlbGVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LCBJb25CdXR0b24sIElvbkljb24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tIERlZmF1bHQgbW9kZTogdXNlIHBvcG92ZXItc2VsZWN0b3IgLS0+XG4gICAgQGlmIChwcm9wcy5tb2RlICE9PSAnaWNvbicpIHtcbiAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwicG9wb3ZlclByb3BzXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkxhbmd1YWdlQ2hhbmdlKCRldmVudClcIj4gPC92YWwtcG9wb3Zlci1zZWxlY3Rvcj5cbiAgICB9XG5cbiAgICA8IS0tIEljb24gbW9kZTogY29tcGFjdCBnbG9iZSBidXR0b24gd2l0aCBwb3BvdmVyIC0tPlxuICAgIEBpZiAocHJvcHMubW9kZSA9PT0gJ2ljb24nKSB7XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ21lZGl1bSdcIlxuICAgICAgICBbZmlsbF09XCJwcm9wcy5maWxsIHx8ICdjbGVhcidcIlxuICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NhbWJpYXIgaWRpb21hJ1wiXG4gICAgICAgIGNsYXNzPVwiaWNvbi1tb2RlLWJ1dHRvblwiXG4gICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiA0NHB4OyB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBtYXJnaW46IDA7IC0tcGFkZGluZy1zdGFydDogMDsgLS1wYWRkaW5nLWVuZDogMDtcIlxuICAgICAgICAoY2xpY2spPVwib3Blbkljb25Qb3BvdmVyKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIFtuYW1lXT1cInByb3BzLmljb24gfHwgJ2dsb2JlLW91dGxpbmUnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPGlvbi1wb3BvdmVyXG4gICAgICAgIFtpc09wZW5dPVwiaWNvblBvcG92ZXJPcGVuXCJcbiAgICAgICAgW2V2ZW50XT1cImljb25Qb3BvdmVyRXZlbnRcIlxuICAgICAgICBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIlxuICAgICAgICAoZGlkRGlzbWlzcyk9XCJjbG9zZUljb25Qb3BvdmVyKClcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgPGlvbi1saXN0PlxuICAgICAgICAgICAgQGZvciAobGFuZyBvZiBhdmFpbGFibGVMYW5ndWFnZXM7IHRyYWNrIGxhbmcpIHtcbiAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGV0YWlsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MYW5ndWFnZUNoYW5nZShsYW5nKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImxhbmcgPT09IGN1cnJlbnRMYW5ndWFnZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7IGdldExhbmd1YWdlRGlzcGxheU5hbWUobGFuZykgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICBAaWYgKGxhbmcgPT09IGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJlbmRcIiBuYW1lPVwiY2hlY2ttYXJrXCIgY29sb3I9XCJwcmltYXJ5XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9pb24tbGlzdD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWxhbmd1YWdlLXNlbGVjdG9yXG4gKlxuICogQSBsYW5ndWFnZSBzZWxlY3RvciBjb21wb25lbnQgdGhhdCB1c2VzIEkxOG5TZXJ2aWNlLlxuICogQnkgZGVmYXVsdCwgbGFuZ3VhZ2UgY2hhbmdlcyBhcmUgcmVhY3RpdmUgKG5vIHBhZ2UgcmVsb2FkKS5cbiAqIFNldCBmb3JjZVJlbG9hZDogdHJ1ZSBpbiBwcm9wcyB0byByZWxvYWQgb24gY2hhbmdlLlxuICpcbiAqIEBleGFtcGxlIERlZmF1bHQgbW9kZSAoZHJvcGRvd24sIG5vIGxhYmVsKTpcbiAqIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cInsgc2hvd0ZsYWdzOiB0cnVlIH1cIj5cbiAqIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICpcbiAqIEBleGFtcGxlIFdpdGggbGFiZWwgKGlmIG5lZWRlZCk6XG4gKiA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJ7IHNob3dMYWJlbDogdHJ1ZSB9XCI+XG4gKiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAqXG4gKiBAZXhhbXBsZSBJY29uIG1vZGUgKGNvbXBhY3QgZm9yIGhlYWRlcnMvdG9vbGJhcnMpOlxuICogPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwieyBtb2RlOiAnaWNvbicsIGNvbG9yOiAncHJpbWFyeScgfVwiPlxuICogPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gKlxuICogQGlucHV0IHByb3BzOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgbGFuZ3VhZ2Ugc2VsZWN0b3JcbiAqIEBvdXRwdXQgbGFuZ3VhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+IC0gRW1pdHRlZCB3aGVuIGxhbmd1YWdlIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogTGFuZ3VhZ2Ugc2VsZWN0b3IgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogTGFuZ3VhZ2VTZWxlY3Rvck1ldGFkYXRhID0ge307XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBsYW5ndWFnZSBjb2RlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGxhbmd1YWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqIFBvcG92ZXIgc2VsZWN0b3IgY29uZmlndXJhdGlvbiAoZm9yIGRlZmF1bHQgbW9kZSkgKi9cbiAgcG9wb3ZlclByb3BzOiBQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YTtcblxuICBpY29uUG9wb3Zlck9wZW4gPSBmYWxzZTtcbiAgaWNvblBvcG92ZXJFdmVudD86IEV2ZW50O1xuXG4gIC8qKiBBdmFpbGFibGUgbGFuZ3VhZ2VzIChleHBvc2VkIGZvciBpY29uIG1vZGUgdGVtcGxhdGUpICovXG4gIGF2YWlsYWJsZUxhbmd1YWdlczogc3RyaW5nW10gPSBbXTtcblxuICAvKiogQ3VycmVudCBsYW5ndWFnZSAoZXhwb3NlZCBmb3IgaWNvbiBtb2RlIHRlbXBsYXRlKSAqL1xuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIERlZmF1bHQgbGFuZ3VhZ2UgZGlzcGxheSBuYW1lcyAqL1xuICByZWFkb25seSBkZWZhdWx0TGFuZ3VhZ2VOYW1lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBlczogJ0VzcGHDsW9sJyxcbiAgICBlbjogJ0VuZ2xpc2gnLFxuICAgIGZyOiAnRnJhbsOnYWlzJyxcbiAgICBkZTogJ0RldXRzY2gnLFxuICB9O1xuXG4gIC8qKiBEZWZhdWx0IGZsYWcgaWNvbnMgZm9yIGxhbmd1YWdlcyAqL1xuICByZWFkb25seSBkZWZhdWx0TGFuZ3VhZ2VGbGFnczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBlczogJ/Cfh6rwn4e4JyxcbiAgICBlbjogJ/Cfh7rwn4e4JyxcbiAgICBmcjogJ/Cfh6vwn4e3JyxcbiAgICBkZTogJ/Cfh6nwn4eqJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IGxhbmd1YWdlLCBnbG9iZU91dGxpbmUsIGNoZWNrbWFyayB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gdGhpcy5pMThuLmxhbmcoKTtcbiAgICB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcyA9IHRoaXMucHJvcHMuYXZhaWxhYmxlTGFuZ3VhZ2VzIHx8IHRoaXMuaTE4bi5zdXBwb3J0ZWRMYW5ndWFnZXMoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQb3BvdmVyUHJvcHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVBvcG92ZXJQcm9wcygpIHtcbiAgICBjb25zdCBjdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IGF2YWlsYWJsZUxhbmd1YWdlcyA9IHRoaXMucHJvcHMuYXZhaWxhYmxlTGFuZ3VhZ2VzIHx8IHRoaXMuaTE4bi5zdXBwb3J0ZWRMYW5ndWFnZXMoKTtcblxuICAgIC8vIENvbnZlcnQgbGFuZ3VhZ2UgY29kZXMgdG8gcG9wb3ZlciBvcHRpb25zXG4gICAgY29uc3Qgb3B0aW9uczogUG9wb3Zlck9wdGlvbltdID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLm1hcChsYW5nID0+ICh7XG4gICAgICB2YWx1ZTogbGFuZyxcbiAgICAgIGxhYmVsOiB0aGlzLmdldExhbmd1YWdlRGlzcGxheU5hbWUobGFuZyksXG4gICAgfSkpO1xuXG4gICAgLy8gQ3JlYXRlIHBvcG92ZXIgY29uZmlndXJhdGlvblxuICAgIHRoaXMucG9wb3ZlclByb3BzID0ge1xuICAgICAgb3B0aW9ucyxcbiAgICAgIHNlbGVjdGVkVmFsdWU6IGN1cnJlbnRMYW5ndWFnZSxcbiAgICAgIGxhYmVsOiB0aGlzLnByb3BzLnNob3dMYWJlbCA9PT0gdHJ1ZSA/IHRoaXMucHJvcHMubGFiZWwgfHwgdGhpcy5pMThuLnQoJ2xhbmd1YWdlJykgOiB1bmRlZmluZWQsXG4gICAgICBpY29uOiAnbGFuZ3VhZ2UnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuaTE4bi50KCdzZWxlY3RMYW5ndWFnZScpLFxuICAgICAgY29sb3I6IHRoaXMucHJvcHMuY29sb3IgfHwgJ21lZGl1bScsXG4gICAgICBzaXplOiB0aGlzLnByb3BzLnNpemUgfHwgJ2RlZmF1bHQnLFxuICAgICAgLy8gRWwgYm9yZGUgYWhvcmEgbG8gZGlidWphIGVsIHBvcG92ZXItc2VsZWN0b3IgZW4gOjpwYXJ0KG5hdGl2ZSkgKGRhcmtcbiAgICAgIC8vIGN1YWRyYWRvLCBwcmltYXJ5IGFsIGFicmlyKSwgaW5kZXBlbmRpZW50ZSBkZWwgZmlsbC4gJ291dGxpbmUnIGRlamEgZWxcbiAgICAgIC8vIGZvbmRvIHRyYW5zcGFyZW50ZSwgY29uc2lzdGVudGUgY29uIGxvcyBzZWxlY3RvcmVzIGRlIHRlbWEgeSB0YW1hw7FvLlxuICAgICAgZmlsbDogdGhpcy5wcm9wcy5maWxsIHx8ICdvdXRsaW5lJyxcbiAgICAgIHNoYXBlOiB0aGlzLnByb3BzLnNoYXBlLFxuICAgICAgZXhwYW5kOiB0aGlzLnByb3BzLmV4cGFuZCxcbiAgICAgIGRpc2FibGVkOiB0aGlzLnByb3BzLmRpc2FibGVkIHx8IGZhbHNlLFxuICAgICAgaW50ZXJmYWNlOiAncG9wb3ZlcicsXG4gICAgICBzaG93Q2hlY2ttYXJrOiB0cnVlLFxuICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgY2FuY2VsVGV4dDogdGhpcy5pMThuLnQoJ2NhbmNlbCcpLFxuICAgICAgb2tUZXh0OiB0aGlzLmkxOG4udCgnb2snKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEdldCBkaXNwbGF5IG5hbWUgZm9yIGEgbGFuZ3VhZ2UgY29kZSAocHVibGljIGZvciB0ZW1wbGF0ZSBhY2Nlc3MpICovXG4gIGdldExhbmd1YWdlRGlzcGxheU5hbWUobGFuZ3VhZ2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFVzZSBjdXN0b20gbmFtZXMgaWYgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5wcm9wcy5jdXN0b21MYW5ndWFnZU5hbWVzPy5bbGFuZ3VhZ2VDb2RlXSkge1xuICAgICAgY29uc3QgY3VzdG9tTmFtZSA9IHRoaXMucHJvcHMuY3VzdG9tTGFuZ3VhZ2VOYW1lc1tsYW5ndWFnZUNvZGVdO1xuICAgICAgY29uc3QgZmxhZyA9IHRoaXMucHJvcHMuc2hvd0ZsYWdzID8gdGhpcy5kZWZhdWx0TGFuZ3VhZ2VGbGFnc1tsYW5ndWFnZUNvZGVdIDogJyc7XG4gICAgICByZXR1cm4gZmxhZyA/IGAke2ZsYWd9ICR7Y3VzdG9tTmFtZX1gIDogY3VzdG9tTmFtZTtcbiAgICB9XG5cbiAgICAvLyBVc2UgZGVmYXVsdCBuYW1lc1xuICAgIGNvbnN0IGRlZmF1bHROYW1lID0gdGhpcy5kZWZhdWx0TGFuZ3VhZ2VOYW1lc1tsYW5ndWFnZUNvZGVdIHx8IGxhbmd1YWdlQ29kZS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGZsYWcgPSB0aGlzLnByb3BzLnNob3dGbGFncyA/IHRoaXMuZGVmYXVsdExhbmd1YWdlRmxhZ3NbbGFuZ3VhZ2VDb2RlXSA6ICcnO1xuICAgIHJldHVybiBmbGFnID8gYCR7ZmxhZ30gJHtkZWZhdWx0TmFtZX1gIDogZGVmYXVsdE5hbWU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGxhbmd1YWdlIHNlbGVjdGlvbiBjaGFuZ2UuXG4gICAqIEBwYXJhbSBzZWxlY3RlZExhbmd1YWdlIC0gVGhlIHNlbGVjdGVkIGxhbmd1YWdlIGNvZGUocylcbiAgICovXG4gIG9uTGFuZ3VhZ2VDaGFuZ2Uoc2VsZWN0ZWRMYW5ndWFnZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBpZiAodHlwZW9mIHNlbGVjdGVkTGFuZ3VhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBuZXdMYW5nID0gc2VsZWN0ZWRMYW5ndWFnZSBhcyBJMThuTGFuZztcblxuICAgICAgLy8gVXBkYXRlIGN1cnJlbnQgbGFuZ3VhZ2UgZm9yIGljb24gbW9kZVxuICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBuZXdMYW5nO1xuXG4gICAgICAvLyBFbWl0IHRoZSBjaGFuZ2UgZXZlbnRcbiAgICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2UuZW1pdChzZWxlY3RlZExhbmd1YWdlKTtcblxuICAgICAgLy8gU2V0IHRoZSBuZXcgbGFuZ3VhZ2UgKHJlYWN0aXZlIGJ5IGRlZmF1bHQsIHJlbG9hZCBpZiBmb3JjZVJlbG9hZCBpcyB0cnVlKVxuICAgICAgdGhpcy5pMThuLnNldExhbmd1YWdlKG5ld0xhbmcsIHRoaXMucHJvcHMuZm9yY2VSZWxvYWQpO1xuXG4gICAgICAvLyBVcGRhdGUgcG9wb3ZlciBzZWxlY3RlZCB2YWx1ZSBmb3IgcmVhY3RpdmUgVUkgKGRlZmF1bHQgbW9kZSlcbiAgICAgIGlmICh0aGlzLnBvcG92ZXJQcm9wcykge1xuICAgICAgICB0aGlzLnBvcG92ZXJQcm9wcyA9IHsgLi4udGhpcy5wb3BvdmVyUHJvcHMsIHNlbGVjdGVkVmFsdWU6IG5ld0xhbmcgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvcGVuSWNvblBvcG92ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pY29uUG9wb3ZlckV2ZW50ID0gZXZlbnQ7XG4gICAgdGhpcy5pY29uUG9wb3Zlck9wZW4gPSB0cnVlO1xuICB9XG5cbiAgY2xvc2VJY29uUG9wb3ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLmljb25Qb3BvdmVyT3BlbiA9IGZhbHNlO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.550';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41NTAnO1xuIl19
|