@energinet/watt 4.0.6 → 4.0.7
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.
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
//#endregion
|
|
19
|
-
import { Component,
|
|
20
|
-
import {
|
|
19
|
+
import { Component, ViewEncapsulation, ElementRef, forwardRef, inject, input, output, viewChild, signal, linkedSignal, } from '@angular/core';
|
|
20
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
|
|
21
21
|
import { MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
22
22
|
import { WattFieldComponent } from '@energinet/watt/field';
|
|
23
23
|
import { WattIconComponent } from '@energinet/watt/icon';
|
|
@@ -25,37 +25,37 @@ import * as i0 from "@angular/core";
|
|
|
25
25
|
import * as i1 from "@angular/material/autocomplete";
|
|
26
26
|
import * as i2 from "@angular/forms";
|
|
27
27
|
export class WattTextFieldComponent {
|
|
28
|
-
value;
|
|
29
|
-
type = 'text';
|
|
30
|
-
placeholder;
|
|
31
|
-
label = '';
|
|
32
|
-
tooltip;
|
|
33
|
-
prefix;
|
|
34
|
-
maxLength = null;
|
|
35
|
-
formControl;
|
|
36
|
-
autocompleteOptions;
|
|
37
|
-
autocompleteMatcherFn;
|
|
28
|
+
value = input('', ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
29
|
+
type = input('text', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
30
|
+
placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
31
|
+
label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
32
|
+
tooltip = input('', ...(ngDevMode ? [{ debugName: "tooltip" }] : []));
|
|
33
|
+
prefix = input(...(ngDevMode ? [undefined, { debugName: "prefix" }] : []));
|
|
34
|
+
maxLength = input(null, ...(ngDevMode ? [{ debugName: "maxLength" }] : []));
|
|
35
|
+
formControl = input.required(...(ngDevMode ? [{ debugName: "formControl" }] : []));
|
|
36
|
+
autocompleteOptions = input([], ...(ngDevMode ? [{ debugName: "autocompleteOptions" }] : []));
|
|
37
|
+
autocompleteMatcherFn = input(...(ngDevMode ? [undefined, { debugName: "autocompleteMatcherFn" }] : []));
|
|
38
38
|
/** @ignore */
|
|
39
|
-
autocompleteRef;
|
|
39
|
+
autocompleteRef = viewChild.required(MatAutocomplete);
|
|
40
40
|
/**
|
|
41
41
|
* Emits the value of the input field when it changes.
|
|
42
42
|
*/
|
|
43
|
-
searchChanged =
|
|
43
|
+
searchChanged = output();
|
|
44
44
|
/**
|
|
45
45
|
* Emits the value of the input field when an autocomplete option is selected.
|
|
46
46
|
*/
|
|
47
|
-
autocompleteOptionSelected =
|
|
47
|
+
autocompleteOptionSelected = output();
|
|
48
48
|
/**
|
|
49
49
|
* Emits the value of the input field when an autocomplete option is selected.
|
|
50
50
|
*/
|
|
51
|
-
autocompleteOptionDeselected =
|
|
51
|
+
autocompleteOptionDeselected = output();
|
|
52
52
|
/** @ignore */
|
|
53
53
|
element = inject(ElementRef);
|
|
54
54
|
/** @ignore */
|
|
55
|
-
inputField;
|
|
56
|
-
model;
|
|
55
|
+
inputField = viewChild.required('inputField');
|
|
56
|
+
model = linkedSignal(this.value);
|
|
57
57
|
/** @ignore */
|
|
58
|
-
isDisabled = false;
|
|
58
|
+
isDisabled = signal(false, ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
|
|
59
59
|
/** @ignore */
|
|
60
60
|
onTouchedCallbacks = [];
|
|
61
61
|
/** @ignore */
|
|
@@ -63,32 +63,29 @@ export class WattTextFieldComponent {
|
|
|
63
63
|
const attrName = 'data-testid';
|
|
64
64
|
const testIdAttribute = this.element.nativeElement.getAttribute(attrName);
|
|
65
65
|
this.element.nativeElement.removeAttribute(attrName);
|
|
66
|
-
this.inputField.nativeElement.setAttribute(attrName, testIdAttribute);
|
|
66
|
+
this.inputField().nativeElement.setAttribute(attrName, testIdAttribute);
|
|
67
67
|
this.registerOnTouched(() => {
|
|
68
|
-
const trimmedValue = this.inputField.nativeElement.value.trim();
|
|
69
|
-
this.inputField.nativeElement.value = trimmedValue;
|
|
70
|
-
this.formControl.setValue(trimmedValue);
|
|
68
|
+
const trimmedValue = this.inputField().nativeElement.value.trim();
|
|
69
|
+
this.inputField().nativeElement.value = trimmedValue;
|
|
70
|
+
this.formControl().setValue(trimmedValue);
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
/** @ignore */
|
|
74
74
|
onChanged(event) {
|
|
75
75
|
const value = event.target.value;
|
|
76
|
-
if
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
76
|
+
// Reset the autocomplete selection if the value is not matching anymore, and auto-select if the value has a match
|
|
77
|
+
this.autocompleteRef().options.forEach((option) => {
|
|
78
|
+
const matcherFn = this.autocompleteMatcherFn();
|
|
79
|
+
const isMatchingOption = matcherFn ? matcherFn(value, option.value) : option.value === value;
|
|
80
|
+
if (isMatchingOption) {
|
|
81
|
+
option.select(false);
|
|
82
|
+
this.autocompleteOptionSelected.emit(option.value);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
option.deselect(false);
|
|
86
|
+
this.autocompleteOptionDeselected.emit();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
92
89
|
this.searchChanged.emit(value);
|
|
93
90
|
this.onChange(value);
|
|
94
91
|
}
|
|
@@ -104,7 +101,7 @@ export class WattTextFieldComponent {
|
|
|
104
101
|
};
|
|
105
102
|
/** @ignore */
|
|
106
103
|
writeValue(value) {
|
|
107
|
-
this.model
|
|
104
|
+
this.model.set(value);
|
|
108
105
|
}
|
|
109
106
|
/** @ignore */
|
|
110
107
|
registerOnChange(fn) {
|
|
@@ -116,53 +113,45 @@ export class WattTextFieldComponent {
|
|
|
116
113
|
}
|
|
117
114
|
/** @ignore */
|
|
118
115
|
setDisabledState(isDisabled) {
|
|
119
|
-
this.isDisabled
|
|
116
|
+
this.isDisabled.set(isDisabled);
|
|
120
117
|
}
|
|
121
118
|
/** @ignore */
|
|
122
119
|
setFocus() {
|
|
123
|
-
this.inputField
|
|
120
|
+
const inputField = this.inputField();
|
|
121
|
+
if (inputField) {
|
|
122
|
+
inputField.nativeElement.focus();
|
|
123
|
+
}
|
|
124
124
|
}
|
|
125
125
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattTextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattTextFieldComponent, isStandalone: true, selector: "watt-text-field", inputs: { value: "value", type: "type", placeholder: "placeholder", label: "label", tooltip: "tooltip", prefix: "prefix", maxLength: "maxLength", formControl: "formControl", autocompleteOptions: "autocompleteOptions", autocompleteMatcherFn: "autocompleteMatcherFn" }, outputs: { searchChanged: "searchChanged", autocompleteOptionSelected: "autocompleteOptionSelected", autocompleteOptionDeselected: "autocompleteOptionDeselected" }, host: { properties: { "attr.watt-field-disabled": "
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattTextFieldComponent, isStandalone: true, selector: "watt-text-field", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null }, autocompleteOptions: { classPropertyName: "autocompleteOptions", publicName: "autocompleteOptions", isSignal: true, isRequired: false, transformFunction: null }, autocompleteMatcherFn: { classPropertyName: "autocompleteMatcherFn", publicName: "autocompleteMatcherFn", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchChanged: "searchChanged", autocompleteOptionSelected: "autocompleteOptionSelected", autocompleteOptionDeselected: "autocompleteOptionDeselected" }, host: { properties: { "attr.watt-field-disabled": "isDisabled()" } }, providers: [
|
|
127
127
|
{
|
|
128
128
|
provide: NG_VALUE_ACCESSOR,
|
|
129
129
|
useExisting: forwardRef(() => WattTextFieldComponent),
|
|
130
130
|
multi: true,
|
|
131
131
|
},
|
|
132
|
-
], viewQueries: [{ propertyName: "autocompleteRef", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "inputField", first: true, predicate: ["inputField"], descendants: true }], ngImport: i0, template:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
132
|
+
], viewQueries: [{ propertyName: "autocompleteRef", first: true, predicate: MatAutocomplete, descendants: true, isSignal: true }, { propertyName: "inputField", first: true, predicate: ["inputField"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
133
|
+
<watt-field
|
|
134
|
+
#wattField
|
|
135
|
+
[control]="formControl()"
|
|
136
|
+
[label]="label()"
|
|
137
|
+
[tooltip]="tooltip()"
|
|
138
|
+
matAutocompleteOrigin
|
|
139
|
+
>
|
|
140
|
+
@if (prefix()) {
|
|
141
|
+
<watt-icon [name]="prefix()" />
|
|
142
|
+
}
|
|
142
143
|
|
|
143
|
-
@if (!autocompleteOptions) {
|
|
144
|
-
<input
|
|
145
|
-
[attr.aria-label]="label"
|
|
146
|
-
[attr.type]="type"
|
|
147
|
-
[attr.placeholder]="placeholder"
|
|
148
|
-
[value]="value"
|
|
149
|
-
[formControl]="formControl"
|
|
150
|
-
(blur)="onTouched()"
|
|
151
|
-
(input)="onChanged($event)"
|
|
152
|
-
[maxlength]="maxLength"
|
|
153
|
-
#inputField
|
|
154
|
-
/>
|
|
155
|
-
} @else {
|
|
156
144
|
<input
|
|
157
|
-
[attr.aria-label]="label"
|
|
158
|
-
[attr.type]="type"
|
|
159
|
-
[attr.placeholder]="placeholder"
|
|
160
|
-
[value]="
|
|
161
|
-
[formControl]="formControl"
|
|
145
|
+
[attr.aria-label]="label()"
|
|
146
|
+
[attr.type]="type()"
|
|
147
|
+
[attr.placeholder]="placeholder()"
|
|
148
|
+
[value]="model()"
|
|
149
|
+
[formControl]="formControl()"
|
|
162
150
|
(blur)="onTouched()"
|
|
163
151
|
(input)="onChanged($event)"
|
|
164
|
-
[maxlength]="maxLength"
|
|
152
|
+
[maxlength]="maxLength()"
|
|
165
153
|
[matAutocomplete]="auto"
|
|
154
|
+
[matAutocompleteDisabled]="!autocompleteOptions()"
|
|
166
155
|
[matAutocompleteConnectedTo]="{ elementRef: wattField.wrapper() ?? wattField.elementRef }"
|
|
167
156
|
#inputField
|
|
168
157
|
/>
|
|
@@ -172,62 +161,53 @@ export class WattTextFieldComponent {
|
|
|
172
161
|
class="watt-autocomplete-panel"
|
|
173
162
|
(optionSelected)="autocompleteOptionSelected.emit($event.option.value)"
|
|
174
163
|
>
|
|
175
|
-
@for (option of autocompleteOptions; track option) {
|
|
164
|
+
@for (option of autocompleteOptions(); track option) {
|
|
176
165
|
<mat-option [value]="option">
|
|
177
166
|
{{ option }}
|
|
178
167
|
</mat-option>
|
|
179
168
|
}
|
|
180
169
|
</mat-autocomplete>
|
|
181
|
-
}
|
|
182
170
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
171
|
+
<ng-content />
|
|
172
|
+
<ng-content ngProjectAs="watt-field-descriptor" select=".descriptor" />
|
|
173
|
+
<ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
|
|
174
|
+
<ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
|
|
175
|
+
</watt-field>
|
|
176
|
+
`, isInline: true, styles: ["watt-text-field{display:block;width:100%}watt-text-field input{border:none;width:100%;outline:none;background-color:transparent}watt-text-field input::placeholder{color:var(--watt-on-light-low-emphasis)}\n"], dependencies: [{ kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i1.MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
188
177
|
}
|
|
189
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattTextFieldComponent, decorators: [{
|
|
190
179
|
type: Component,
|
|
191
|
-
args: [{ imports: [MatAutocompleteModule, ReactiveFormsModule, WattFieldComponent, WattIconComponent], selector: 'watt-text-field', encapsulation: ViewEncapsulation.None,
|
|
180
|
+
args: [{ imports: [MatAutocompleteModule, ReactiveFormsModule, WattFieldComponent, WattIconComponent], selector: 'watt-text-field', encapsulation: ViewEncapsulation.None, host: {
|
|
181
|
+
'[attr.watt-field-disabled]': 'isDisabled()',
|
|
182
|
+
}, providers: [
|
|
192
183
|
{
|
|
193
184
|
provide: NG_VALUE_ACCESSOR,
|
|
194
185
|
useExisting: forwardRef(() => WattTextFieldComponent),
|
|
195
186
|
multi: true,
|
|
196
187
|
},
|
|
197
|
-
], template:
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
188
|
+
], template: `
|
|
189
|
+
<watt-field
|
|
190
|
+
#wattField
|
|
191
|
+
[control]="formControl()"
|
|
192
|
+
[label]="label()"
|
|
193
|
+
[tooltip]="tooltip()"
|
|
194
|
+
matAutocompleteOrigin
|
|
195
|
+
>
|
|
196
|
+
@if (prefix()) {
|
|
197
|
+
<watt-icon [name]="prefix()" />
|
|
198
|
+
}
|
|
207
199
|
|
|
208
|
-
@if (!autocompleteOptions) {
|
|
209
|
-
<input
|
|
210
|
-
[attr.aria-label]="label"
|
|
211
|
-
[attr.type]="type"
|
|
212
|
-
[attr.placeholder]="placeholder"
|
|
213
|
-
[value]="value"
|
|
214
|
-
[formControl]="formControl"
|
|
215
|
-
(blur)="onTouched()"
|
|
216
|
-
(input)="onChanged($event)"
|
|
217
|
-
[maxlength]="maxLength"
|
|
218
|
-
#inputField
|
|
219
|
-
/>
|
|
220
|
-
} @else {
|
|
221
200
|
<input
|
|
222
|
-
[attr.aria-label]="label"
|
|
223
|
-
[attr.type]="type"
|
|
224
|
-
[attr.placeholder]="placeholder"
|
|
225
|
-
[value]="
|
|
226
|
-
[formControl]="formControl"
|
|
201
|
+
[attr.aria-label]="label()"
|
|
202
|
+
[attr.type]="type()"
|
|
203
|
+
[attr.placeholder]="placeholder()"
|
|
204
|
+
[value]="model()"
|
|
205
|
+
[formControl]="formControl()"
|
|
227
206
|
(blur)="onTouched()"
|
|
228
207
|
(input)="onChanged($event)"
|
|
229
|
-
[maxlength]="maxLength"
|
|
208
|
+
[maxlength]="maxLength()"
|
|
230
209
|
[matAutocomplete]="auto"
|
|
210
|
+
[matAutocompleteDisabled]="!autocompleteOptions()"
|
|
231
211
|
[matAutocompleteConnectedTo]="{ elementRef: wattField.wrapper() ?? wattField.elementRef }"
|
|
232
212
|
#inputField
|
|
233
213
|
/>
|
|
@@ -237,53 +217,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
237
217
|
class="watt-autocomplete-panel"
|
|
238
218
|
(optionSelected)="autocompleteOptionSelected.emit($event.option.value)"
|
|
239
219
|
>
|
|
240
|
-
@for (option of autocompleteOptions; track option) {
|
|
220
|
+
@for (option of autocompleteOptions(); track option) {
|
|
241
221
|
<mat-option [value]="option">
|
|
242
222
|
{{ option }}
|
|
243
223
|
</mat-option>
|
|
244
224
|
}
|
|
245
225
|
</mat-autocomplete>
|
|
246
|
-
}
|
|
247
226
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}], type: [{
|
|
256
|
-
type: Input
|
|
257
|
-
}], placeholder: [{
|
|
258
|
-
type: Input
|
|
259
|
-
}], label: [{
|
|
260
|
-
type: Input
|
|
261
|
-
}], tooltip: [{
|
|
262
|
-
type: Input
|
|
263
|
-
}], prefix: [{
|
|
264
|
-
type: Input
|
|
265
|
-
}], maxLength: [{
|
|
266
|
-
type: Input
|
|
267
|
-
}], formControl: [{
|
|
268
|
-
type: Input
|
|
269
|
-
}], autocompleteOptions: [{
|
|
270
|
-
type: Input
|
|
271
|
-
}], autocompleteMatcherFn: [{
|
|
272
|
-
type: Input
|
|
273
|
-
}], autocompleteRef: [{
|
|
274
|
-
type: ViewChild,
|
|
275
|
-
args: [MatAutocomplete]
|
|
276
|
-
}], searchChanged: [{
|
|
277
|
-
type: Output
|
|
278
|
-
}], autocompleteOptionSelected: [{
|
|
279
|
-
type: Output
|
|
280
|
-
}], autocompleteOptionDeselected: [{
|
|
281
|
-
type: Output
|
|
282
|
-
}], inputField: [{
|
|
283
|
-
type: ViewChild,
|
|
284
|
-
args: ['inputField']
|
|
285
|
-
}], isDisabled: [{
|
|
286
|
-
type: HostBinding,
|
|
287
|
-
args: ['attr.watt-field-disabled']
|
|
288
|
-
}] } });
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3RleHQtZmllbGQvd2F0dC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBRVYsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBeUVuRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLEtBQUssQ0FBVTtJQUNmLElBQUksR0FBbUIsTUFBTSxDQUFDO0lBQzlCLFdBQVcsQ0FBVTtJQUNyQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sQ0FBWTtJQUNsQixTQUFTLEdBQTJCLElBQUksQ0FBQztJQUN6QyxXQUFXLENBQWU7SUFDMUIsbUJBQW1CLENBQVk7SUFDL0IscUJBQXFCLENBQThDO0lBRTVFLGNBQWM7SUFDYyxlQUFlLENBQW1CO0lBRTlEOztPQUVHO0lBQ08sYUFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFckQ7O09BRUc7SUFDTywwQkFBMEIsR0FBRyxJQUFJLFlB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O3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR3NCLGVBQWU7c0JBQTFDLFNBQVM7dUJBQUMsZUFBZTtnQkFLaEIsYUFBYTtzQkFBdEIsTUFBTTtnQkFLRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBS0csNEJBQTRCO3NCQUFyQyxNQUFNO2dCQU1rQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBS3ZCLFVBQVU7c0JBRFQsV0FBVzt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSG9zdEJpbmRpbmcsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgaW5qZWN0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCwgV2F0dEljb24gfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5cbmV4cG9ydCB0eXBlIFdhdHRJbnB1dFR5cGVzID0gJ3RleHQnIHwgJ3Bhc3N3b3JkJyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3VybCc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBXYXR0RmllbGRDb21wb25lbnQsIFdhdHRJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICd3YXR0LXRleHQtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LXRleHQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXYXR0VGV4dEZpZWxkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlOiBgPHdhdHQtZmllbGRcbiAgICAjd2F0dEZpZWxkXG4gICAgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgbWF0QXV0b2NvbXBsZXRlT3JpZ2luXG4gID5cbiAgICBAaWYgKHByZWZpeCkge1xuICAgICAgPHdhdHQtaWNvbiBbbmFtZV09XCJwcmVmaXhcIiAvPlxuICAgIH1cblxuICAgIEBpZiAoIWF1dG9jb21wbGV0ZU9wdGlvbnMpIHtcbiAgICAgIDxpbnB1dFxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgI2lucHV0RmllbGRcbiAgICAgIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8aW5wdXRcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgICAgIFthdHRyLnR5cGVdPVwidHlwZVwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxuICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVDb25uZWN0ZWRUb109XCJ7IGVsZW1lbnRSZWY6IHdhdHRGaWVsZC53cmFwcGVyKCkgPz8gd2F0dEZpZWxkLmVsZW1lbnRSZWYgfVwiXG4gICAgICAgICNpbnB1dEZpZWxkXG4gICAgICAvPlxuXG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgIGNsYXNzPVwid2F0dC1hdXRvY29tcGxldGUtcGFuZWxcIlxuICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBhdXRvY29tcGxldGVPcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICB7eyBvcHRpb24gfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICB9XG5cbiAgICA8bmctY29udGVudCAvPlxuICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1kZXNjcmlwdG9yXCIgc2VsZWN0PVwiLmRlc2NyaXB0b3JcIiAvPlxuICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgPC93YXR0LWZpZWxkPmAsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHZhbHVlITogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBXYXR0SW5wdXRUeXBlcyA9ICd0ZXh0JztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpeD86IFdhdHRJY29uO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGVPcHRpb25zITogc3RyaW5nW107XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZU1hdGNoZXJGbiE6ICh2YWx1ZTogc3RyaW5nLCBvcHRpb246IHN0cmluZykgPT4gYm9vbGVhbjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZSkgYXV0b2NvbXBsZXRlUmVmITogTWF0QXV0b2NvbXBsZXRlO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGZpZWxkIHdoZW4gaXQgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgd2hlbiBhbiBhdXRvY29tcGxldGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgd2hlbiBhbiBhdXRvY29tcGxldGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGF1dG9jb21wbGV0ZU9wdGlvbkRlc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RmllbGQnKSBpbnB1dEZpZWxkITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgbW9kZWwhOiBzdHJpbmc7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLndhdHQtZmllbGQtZGlzYWJsZWQnKVxuICBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25Ub3VjaGVkQ2FsbGJhY2tzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBhdHRyTmFtZSA9ICdkYXRhLXRlc3RpZCc7XG4gICAgY29uc3QgdGVzdElkQXR0cmlidXRlID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKGF0dHJOYW1lKTtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0ck5hbWUpO1xuICAgIHRoaXMuaW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyTmFtZSwgdGVzdElkQXR0cmlidXRlKTtcbiAgICB0aGlzLnJlZ2lzdGVyT25Ub3VjaGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IHRoaXMuaW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LnZhbHVlLnRyaW0oKTtcbiAgICAgIHRoaXMuaW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdHJpbW1lZFZhbHVlO1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0cmltbWVkVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcblxuICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZVJlZikge1xuICAgICAgLy8gUmVzZXQgdGhlIGF1dG9jb21wbGV0ZSBzZWxlY3Rpb24gaWYgdGhlIHZhbHVlIGlzIG5vdCBtYXRjaGluZyBhbnltb3JlLCBhbmQgYXV0by1zZWxlY3QgaWYgdGhlIHZhbHVlIGhhcyBhIG1hdGNoXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlZi5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBpc01hdGNoaW5nT3B0aW9uID0gdGhpcy5hdXRvY29tcGxldGVNYXRjaGVyRm5cbiAgICAgICAgICA/IHRoaXMuYXV0b2NvbXBsZXRlTWF0Y2hlckZuKHZhbHVlLCBvcHRpb24udmFsdWUpXG4gICAgICAgICAgOiBvcHRpb24udmFsdWUgPT09IHZhbHVlO1xuXG4gICAgICAgIGlmIChpc01hdGNoaW5nT3B0aW9uKSB7XG4gICAgICAgICAgb3B0aW9uLnNlbGVjdChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbi52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3B0aW9uLmRlc2VsZWN0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbkRlc2VsZWN0ZWQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaENoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyogbm9vcCBmdW5jdGlvbiAqL1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICBmb3IgKGNvbnN0IGNhbGxiYWNrIG9mIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2tzKSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH1cbiAgfTtcblxuICAvKiogQGlnbm9yZSAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsID0gdmFsdWU7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFja3MucHVzaChmbik7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIl19
|
|
227
|
+
<ng-content />
|
|
228
|
+
<ng-content ngProjectAs="watt-field-descriptor" select=".descriptor" />
|
|
229
|
+
<ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
|
|
230
|
+
<ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
|
|
231
|
+
</watt-field>
|
|
232
|
+
`, styles: ["watt-text-field{display:block;width:100%}watt-text-field input{border:none;width:100%;outline:none;background-color:transparent}watt-text-field input::placeholder{color:var(--watt-on-light-low-emphasis)}\n"] }]
|
|
233
|
+
}] });
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3RleHQtZmllbGQvd2F0dC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFpRW5FLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLGlEQUFDLENBQUM7SUFDbEIsSUFBSSxHQUFHLEtBQUssQ0FBaUIsTUFBTSxnREFBQyxDQUFDO0lBQ3JDLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSx1REFBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxpREFBQyxDQUFDO0lBQ2xCLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBRSxtREFBQyxDQUFDO0lBQ3BCLE1BQU0sR0FBRyxLQUFLLDREQUFZLENBQUM7SUFDM0IsU0FBUyxHQUFHLEtBQUssQ0FBeUIsSUFBSSxxREFBQyxDQUFDO0lBQ2hELFdBQVcsR0FBRyxLQUFLLENBQUMsUUFB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Ozs7Ozs7Ozs7Ozs7OztHQTRDVCxzUkExRFMscUJBQXFCLHk5QkFBRSxtQkFBbUIsNnVCQUFFLGtCQUFrQiwrSUFBRSxpQkFBaUI7OzJGQTREaEYsc0JBQXNCO2tCQTdEbEMsU0FBUzs4QkFDQyxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLFlBQ2xGLGlCQUFpQixpQkFFWixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLDRCQUE0QixFQUFFLGNBQWM7cUJBQzdDLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG4gIHNpZ25hbCxcbiAgbGlua2VkU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcblxuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRJY29uQ29tcG9uZW50LCBXYXR0SWNvbiB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcblxuZXhwb3J0IHR5cGUgV2F0dElucHV0VHlwZXMgPSAndGV4dCcgfCAncGFzc3dvcmQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcgfCAndXJsJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtNYXRBdXRvY29tcGxldGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFdhdHRGaWVsZENvbXBvbmVudCwgV2F0dEljb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3dhdHQtdGV4dC1maWVsZCcsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLndhdHQtZmllbGQtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dFRleHRGaWVsZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx3YXR0LWZpZWxkXG4gICAgICAjd2F0dEZpZWxkXG4gICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgIFtsYWJlbF09XCJsYWJlbCgpXCJcbiAgICAgIFt0b29sdGlwXT1cInRvb2x0aXAoKVwiXG4gICAgICBtYXRBdXRvY29tcGxldGVPcmlnaW5cbiAgICA+XG4gICAgICBAaWYgKHByZWZpeCgpKSB7XG4gICAgICAgIDx3YXR0LWljb24gW25hbWVdPVwicHJlZml4KClcIiAvPlxuICAgICAgfVxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCgpXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlKClcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgW3ZhbHVlXT1cIm1vZGVsKClcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGgoKVwiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCIhYXV0b2NvbXBsZXRlT3B0aW9ucygpXCJcbiAgICAgICAgW21hdEF1dG9jb21wbGV0ZUNvbm5lY3RlZFRvXT1cInsgZWxlbWVudFJlZjogd2F0dEZpZWxkLndyYXBwZXIoKSA/PyB3YXR0RmllbGQuZWxlbWVudFJlZiB9XCJcbiAgICAgICAgI2lucHV0RmllbGRcbiAgICAgIC8+XG5cbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgY2xhc3M9XCJ3YXR0LWF1dG9jb21wbGV0ZS1wYW5lbFwiXG4gICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJhdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgID5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGF1dG9jb21wbGV0ZU9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAge3sgb3B0aW9uIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICB9XG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XG5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZGVzY3JpcHRvclwiIHNlbGVjdD1cIi5kZXNjcmlwdG9yXCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1lcnJvclwiIHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dFRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcbiAgdmFsdWUgPSBpbnB1dCgnJyk7XG4gIHR5cGUgPSBpbnB1dDxXYXR0SW5wdXRUeXBlcz4oJ3RleHQnKTtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dCgnJyk7XG4gIGxhYmVsID0gaW5wdXQoJycpO1xuICB0b29sdGlwID0gaW5wdXQoJycpO1xuICBwcmVmaXggPSBpbnB1dDxXYXR0SWNvbj4oKTtcbiAgbWF4TGVuZ3RoID0gaW5wdXQ8c3RyaW5nIHwgbnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG4gIGF1dG9jb21wbGV0ZU9wdGlvbnMgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuICBhdXRvY29tcGxldGVNYXRjaGVyRm4gPSBpbnB1dDwodmFsdWU6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpID0+IGJvb2xlYW4+KCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgYXV0b2NvbXBsZXRlUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkKE1hdEF1dG9jb21wbGV0ZSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgd2hlbiBpdCBjaGFuZ2VzLlxuICAgKi9cbiAgc2VhcmNoQ2hhbmdlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgd2hlbiBhbiBhdXRvY29tcGxldGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGZpZWxkIHdoZW4gYW4gYXV0b2NvbXBsZXRlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICovXG4gIGF1dG9jb21wbGV0ZU9wdGlvbkRlc2VsZWN0ZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgaW5wdXRGaWVsZCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignaW5wdXRGaWVsZCcpO1xuICBtb2RlbCA9IGxpbmtlZFNpZ25hbCh0aGlzLnZhbHVlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBpc0Rpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBvblRvdWNoZWRDYWxsYmFja3M6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGF0dHJOYW1lID0gJ2RhdGEtdGVzdGlkJztcbiAgICBjb25zdCB0ZXN0SWRBdHRyaWJ1dGUgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0ck5hbWUpO1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyTmFtZSk7XG5cbiAgICB0aGlzLmlucHV0RmllbGQoKS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyTmFtZSwgdGVzdElkQXR0cmlidXRlKTtcbiAgICB0aGlzLnJlZ2lzdGVyT25Ub3VjaGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IHRoaXMuaW5wdXRGaWVsZCgpLm5hdGl2ZUVsZW1lbnQudmFsdWUudHJpbSgpO1xuICAgICAgdGhpcy5pbnB1dEZpZWxkKCkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRyaW1tZWRWYWx1ZTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2woKS5zZXRWYWx1ZSh0cmltbWVkVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcblxuICAgIC8vIFJlc2V0IHRoZSBhdXRvY29tcGxldGUgc2VsZWN0aW9uIGlmIHRoZSB2YWx1ZSBpcyBub3QgbWF0Y2hpbmcgYW55bW9yZSwgYW5kIGF1dG8tc2VsZWN0IGlmIHRoZSB2YWx1ZSBoYXMgYSBtYXRjaFxuICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVmKCkub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZXJGbiA9IHRoaXMuYXV0b2NvbXBsZXRlTWF0Y2hlckZuKCk7XG4gICAgICBjb25zdCBpc01hdGNoaW5nT3B0aW9uID0gbWF0Y2hlckZuID8gbWF0Y2hlckZuKHZhbHVlLCBvcHRpb24udmFsdWUpIDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZTtcblxuICAgICAgaWYgKGlzTWF0Y2hpbmdPcHRpb24pIHtcbiAgICAgICAgb3B0aW9uLnNlbGVjdChmYWxzZSk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQuZW1pdChvcHRpb24udmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3B0aW9uLmRlc2VsZWN0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVPcHRpb25EZXNlbGVjdGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2VhcmNoQ2hhbmdlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvKiBub29wIGZ1bmN0aW9uICovXG4gIH07XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgdGhpcy5vblRvdWNoZWRDYWxsYmFja3MpIHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrcy5wdXNoKGZuKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEZpZWxkID0gdGhpcy5pbnB1dEZpZWxkKCk7XG4gICAgaWYgKGlucHV0RmllbGQpIHtcbiAgICAgIGlucHV0RmllbGQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -14,44 +14,43 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { ElementRef, AfterViewInit
|
|
17
|
+
import { ElementRef, AfterViewInit } from '@angular/core';
|
|
18
18
|
import { ControlValueAccessor, FormControl } from '@angular/forms';
|
|
19
19
|
import { MatAutocomplete } from '@angular/material/autocomplete';
|
|
20
|
-
import { WattIcon } from '@energinet/watt/icon';
|
|
21
20
|
import * as i0 from "@angular/core";
|
|
22
21
|
export type WattInputTypes = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url';
|
|
23
22
|
export declare class WattTextFieldComponent implements ControlValueAccessor, AfterViewInit {
|
|
24
|
-
value: string
|
|
25
|
-
type: WattInputTypes
|
|
26
|
-
placeholder
|
|
27
|
-
label: string
|
|
28
|
-
tooltip
|
|
29
|
-
prefix
|
|
30
|
-
maxLength: string | number | null
|
|
31
|
-
formControl: FormControl
|
|
32
|
-
autocompleteOptions: string[]
|
|
33
|
-
autocompleteMatcherFn: (value: string, option: string) => boolean
|
|
23
|
+
value: import("@angular/core").InputSignal<string>;
|
|
24
|
+
type: import("@angular/core").InputSignal<WattInputTypes>;
|
|
25
|
+
placeholder: import("@angular/core").InputSignal<string>;
|
|
26
|
+
label: import("@angular/core").InputSignal<string>;
|
|
27
|
+
tooltip: import("@angular/core").InputSignal<string>;
|
|
28
|
+
prefix: import("@angular/core").InputSignal<"email" | "filter" | "search" | "plus" | "minus" | "edit" | "redo" | "undo" | "remove" | "removeForever" | "close" | "cancel" | "checkmark" | "user" | "settings" | "contentCopy" | "date" | "time" | "markEmailUnread" | "link" | "openInNew" | "monetization" | "payments" | "forwardMessage" | "menu" | "moreVertical" | "logout" | "login" | "help" | "alternateEmail" | "refresh" | "language" | "pendingActions" | "toggleOn" | "toggleOff" | "personCheck" | "left" | "right" | "up" | "down" | "arrowDropDown" | "arrowRightAlt" | "arrowLeftAlt" | "danger" | "warning" | "success" | "info" | "feedback" | "save" | "upload" | "download" | "fileDownload" | "fileUpload" | "print" | "preview" | "power" | "location" | "smartDisplay" | "windmill" | "solarPower" | "priorityHigh" | "notifications" | "notificationsUnread" | "horizontalRule" | "wrongLocation" | "heatPump" | "inventory" | "globe" | "calculate" | "bar_chart_4_bars" | "view_list" | "view_stream" | "construction" | "factory" | "nest_eco_leaf" | "flash_on" | undefined>;
|
|
29
|
+
maxLength: import("@angular/core").InputSignal<string | number | null>;
|
|
30
|
+
formControl: import("@angular/core").InputSignal<FormControl<any>>;
|
|
31
|
+
autocompleteOptions: import("@angular/core").InputSignal<string[]>;
|
|
32
|
+
autocompleteMatcherFn: import("@angular/core").InputSignal<((value: string, option: string) => boolean) | undefined>;
|
|
34
33
|
/** @ignore */
|
|
35
|
-
autocompleteRef: MatAutocomplete
|
|
34
|
+
autocompleteRef: import("@angular/core").Signal<MatAutocomplete>;
|
|
36
35
|
/**
|
|
37
36
|
* Emits the value of the input field when it changes.
|
|
38
37
|
*/
|
|
39
|
-
searchChanged:
|
|
38
|
+
searchChanged: import("@angular/core").OutputEmitterRef<string>;
|
|
40
39
|
/**
|
|
41
40
|
* Emits the value of the input field when an autocomplete option is selected.
|
|
42
41
|
*/
|
|
43
|
-
autocompleteOptionSelected:
|
|
42
|
+
autocompleteOptionSelected: import("@angular/core").OutputEmitterRef<string>;
|
|
44
43
|
/**
|
|
45
44
|
* Emits the value of the input field when an autocomplete option is selected.
|
|
46
45
|
*/
|
|
47
|
-
autocompleteOptionDeselected:
|
|
46
|
+
autocompleteOptionDeselected: import("@angular/core").OutputEmitterRef<void>;
|
|
48
47
|
/** @ignore */
|
|
49
48
|
private element;
|
|
50
49
|
/** @ignore */
|
|
51
|
-
inputField: ElementRef<HTMLInputElement
|
|
52
|
-
model: string
|
|
50
|
+
inputField: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
|
|
51
|
+
model: import("@angular/core").WritableSignal<string>;
|
|
53
52
|
/** @ignore */
|
|
54
|
-
isDisabled: boolean
|
|
53
|
+
isDisabled: import("@angular/core").WritableSignal<boolean>;
|
|
55
54
|
/** @ignore */
|
|
56
55
|
onTouchedCallbacks: (() => void)[];
|
|
57
56
|
/** @ignore */
|
|
@@ -73,5 +72,5 @@ export declare class WattTextFieldComponent implements ControlValueAccessor, Aft
|
|
|
73
72
|
/** @ignore */
|
|
74
73
|
setFocus(): void;
|
|
75
74
|
static ɵfac: i0.ɵɵFactoryDeclaration<WattTextFieldComponent, never>;
|
|
76
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WattTextFieldComponent, "watt-text-field", never, { "value": { "alias": "value"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "formControl": { "alias": "formControl"; "required":
|
|
75
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WattTextFieldComponent, "watt-text-field", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": true; "isSignal": true; }; "autocompleteOptions": { "alias": "autocompleteOptions"; "required": false; "isSignal": true; }; "autocompleteMatcherFn": { "alias": "autocompleteMatcherFn"; "required": false; "isSignal": true; }; }, { "searchChanged": "searchChanged"; "autocompleteOptionSelected": "autocompleteOptionSelected"; "autocompleteOptionDeselected": "autocompleteOptionDeselected"; }, never, ["*", ".descriptor", "watt-field-hint", "watt-field-error"], true, never>;
|
|
77
76
|
}
|