@skyux/forms 11.31.0 → 12.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1931 -1913
- package/fesm2022/skyux-forms.mjs +180 -179
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/package.json +15 -19
- package/esm2022/index.mjs +0 -44
- package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +0 -38
- package/esm2022/lib/modules/character-counter/character-counter-screen-reader.pipe.mjs +0 -46
- package/esm2022/lib/modules/character-counter/character-counter.directive.mjs +0 -96
- package/esm2022/lib/modules/character-counter/character-counter.module.mjs +0 -43
- package/esm2022/lib/modules/checkbox/checkbox-change.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +0 -156
- package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +0 -29
- package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +0 -18
- package/esm2022/lib/modules/checkbox/checkbox.component.mjs +0 -397
- package/esm2022/lib/modules/checkbox/checkbox.module.mjs +0 -75
- package/esm2022/lib/modules/field-group/field-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/field-group/field-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/field-group/field-group.component.mjs +0 -75
- package/esm2022/lib/modules/field-group/field-group.module.mjs +0 -16
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-change.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-click.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.mjs +0 -22
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +0 -31
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +0 -486
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +0 -24
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +0 -103
- package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +0 -20
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop-change.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +0 -338
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +0 -18
- package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +0 -156
- package/esm2022/lib/modules/file-attachment/file-drop/file-link.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item-error-type.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +0 -71
- package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +0 -61
- package/esm2022/lib/modules/file-attachment/shared/file-validate-function.mjs +0 -2
- package/esm2022/lib/modules/form-error/form-error.component.mjs +0 -56
- package/esm2022/lib/modules/form-error/form-error.module.mjs +0 -16
- package/esm2022/lib/modules/form-error/form-errors-enabled-token.mjs +0 -6
- package/esm2022/lib/modules/form-error/form-errors.component.mjs +0 -50
- package/esm2022/lib/modules/form-error/form-errors.module.mjs +0 -20
- package/esm2022/lib/modules/input-box/input-box-adapter.service.mjs +0 -63
- package/esm2022/lib/modules/input-box/input-box-control.directive.mjs +0 -33
- package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +0 -23
- package/esm2022/lib/modules/input-box/input-box-host.service.mjs +0 -72
- package/esm2022/lib/modules/input-box/input-box-populate-args.mjs +0 -2
- package/esm2022/lib/modules/input-box/input-box.component.mjs +0 -276
- package/esm2022/lib/modules/input-box/input-box.module.mjs +0 -58
- package/esm2022/lib/modules/radio/radio-group-id.service.mjs +0 -50
- package/esm2022/lib/modules/radio/radio-group.component.mjs +0 -390
- package/esm2022/lib/modules/radio/radio-label.component.mjs +0 -34
- package/esm2022/lib/modules/radio/radio.component.mjs +0 -357
- package/esm2022/lib/modules/radio/radio.module.mjs +0 -71
- package/esm2022/lib/modules/radio/types/radio-change.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-type.mjs +0 -2
- package/esm2022/lib/modules/required-state/required-state.directive.mjs +0 -34
- package/esm2022/lib/modules/selection-box/selection-box-adapter.service.mjs +0 -128
- package/esm2022/lib/modules/selection-box/selection-box-description.component.mjs +0 -14
- package/esm2022/lib/modules/selection-box/selection-box-grid.component.mjs +0 -141
- package/esm2022/lib/modules/selection-box/selection-box-header.component.mjs +0 -14
- package/esm2022/lib/modules/selection-box/selection-box.component.mjs +0 -132
- package/esm2022/lib/modules/selection-box/selection-box.module.mjs +0 -40
- package/esm2022/lib/modules/selection-box/types/selection-box-grid-align-items-type.mjs +0 -2
- package/esm2022/lib/modules/selection-box/types/selection-box-grid-align-items.mjs +0 -2
- package/esm2022/lib/modules/shared/sky-forms-resources.module.mjs +0 -142
- package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +0 -25
- package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +0 -202
- package/esm2022/lib/modules/toggle-switch/toggle-switch.module.mjs +0 -36
- package/esm2022/lib/modules/toggle-switch/types/toggle-switch-change.mjs +0 -2
- package/esm2022/skyux-forms.mjs +0 -5
- package/esm2022/testing/legacy/checkbox-fixture.mjs +0 -92
- package/esm2022/testing/legacy/radio-fixture.mjs +0 -85
- package/esm2022/testing/modules/character-counter/character-counter-indicator-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/character-counter/character-counter-indicator-harness.mjs +0 -53
- package/esm2022/testing/modules/checkbox/checkbox-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/checkbox/checkbox-group-harness.mjs +0 -158
- package/esm2022/testing/modules/checkbox/checkbox-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/checkbox/checkbox-harness.mjs +0 -196
- package/esm2022/testing/modules/checkbox/checkbox-label-harness.mjs +0 -19
- package/esm2022/testing/modules/checkbox/checkbox-label-text-label.harness.mjs +0 -19
- package/esm2022/testing/modules/field-group/field-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/field-group/field-group-harness.mjs +0 -92
- package/esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness.mjs +0 -193
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.mjs +0 -39
- package/esm2022/testing/modules/file-attachment/shared/provide-file-attachment-testing.mjs +0 -14
- package/esm2022/testing/modules/form-error/form-error-harness.filters.mjs +0 -2
- package/esm2022/testing/modules/form-error/form-error-harness.mjs +0 -21
- package/esm2022/testing/modules/form-error/form-errors-harness.filters.mjs +0 -2
- package/esm2022/testing/modules/form-error/form-errors-harness.mjs +0 -34
- package/esm2022/testing/modules/input-box/input-box-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/input-box/input-box-harness.mjs +0 -188
- package/esm2022/testing/modules/radio/radio-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/radio/radio-group-harness.mjs +0 -156
- package/esm2022/testing/modules/radio/radio-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/radio/radio-harness.mjs +0 -147
- package/esm2022/testing/modules/radio/radio-label-harness.mjs +0 -19
- package/esm2022/testing/public-api.mjs +0 -17
- package/esm2022/testing/skyux-forms-testing.mjs +0 -5
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import { coerceBooleanProperty, coerceNumberProperty, } from '@angular/cdk/coercion';
|
|
2
|
-
import { ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
|
-
import { FormControlDirective, FormControlName, NgModel, Validators, } from '@angular/forms';
|
|
4
|
-
import { SkyContentInfoProvider, SkyIdService } from '@skyux/core';
|
|
5
|
-
import { ReplaySubject, Subject, takeUntil } from 'rxjs';
|
|
6
|
-
import { SKY_FORM_ERRORS_ENABLED } from '../form-error/form-errors-enabled-token';
|
|
7
|
-
import { SkyInputBoxAdapterService } from './input-box-adapter.service';
|
|
8
|
-
import { SkyInputBoxControlDirective } from './input-box-control.directive';
|
|
9
|
-
import { SkyInputBoxHostService } from './input-box-host.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "../character-counter/character-counter-indicator.component";
|
|
13
|
-
import * as i3 from "../form-error/form-errors.component";
|
|
14
|
-
import * as i4 from "@skyux/help-inline";
|
|
15
|
-
import * as i5 from "@skyux/theme";
|
|
16
|
-
import * as i6 from "@skyux/i18n";
|
|
17
|
-
import * as i7 from "./input-box-hint-text.pipe";
|
|
18
|
-
/**
|
|
19
|
-
* A wrapper component that provides styling and accessibility to form elements.
|
|
20
|
-
*/
|
|
21
|
-
export class SkyInputBoxComponent {
|
|
22
|
-
constructor() {
|
|
23
|
-
this.#changeRef = inject(ChangeDetectorRef);
|
|
24
|
-
this.#inputBoxHostSvc = inject(SkyInputBoxHostService);
|
|
25
|
-
this.#adapterService = inject(SkyInputBoxAdapterService);
|
|
26
|
-
this.#idSvc = inject(SkyIdService);
|
|
27
|
-
this.#elementRef = inject(ElementRef);
|
|
28
|
-
this.#renderer = inject(Renderer2);
|
|
29
|
-
this.formControlHasFocus = false;
|
|
30
|
-
this.hintTextHidden = false;
|
|
31
|
-
this.hintTextScreenReaderOnly = false;
|
|
32
|
-
this.controlId = this.#idSvc.generateId();
|
|
33
|
-
this.labelId = this.#idSvc.generateId();
|
|
34
|
-
this.errorId = this.#idSvc.generateId();
|
|
35
|
-
this.hintTextId = this.#idSvc.generateId();
|
|
36
|
-
this.ariaDescribedBy = new ReplaySubject(1);
|
|
37
|
-
this.cssClass = '';
|
|
38
|
-
this.characterCountScreenReader = 0;
|
|
39
|
-
this.#_stacked = false;
|
|
40
|
-
this.#ngUnsubscribe = new Subject();
|
|
41
|
-
}
|
|
42
|
-
#changeRef;
|
|
43
|
-
#inputBoxHostSvc;
|
|
44
|
-
#adapterService;
|
|
45
|
-
#idSvc;
|
|
46
|
-
#elementRef;
|
|
47
|
-
#renderer;
|
|
48
|
-
/**
|
|
49
|
-
* The maximum number of characters allowed in the input. A [SKY UX character count](https://developer.blackbaud.com/skyux/components/character-count)
|
|
50
|
-
* will be placed on the input element with the appropriate validator.
|
|
51
|
-
*/
|
|
52
|
-
set characterLimit(value) {
|
|
53
|
-
this.#_characterLimit =
|
|
54
|
-
value === undefined ? undefined : coerceNumberProperty(value, undefined);
|
|
55
|
-
this.#updateMaxLengthValidator();
|
|
56
|
-
}
|
|
57
|
-
get characterLimit() {
|
|
58
|
-
return this.#_characterLimit;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Whether the input box is stacked on another input box. When specified, the appropriate
|
|
62
|
-
* vertical spacing is automatically added to the input box.
|
|
63
|
-
*/
|
|
64
|
-
set stacked(value) {
|
|
65
|
-
this.#_stacked = coerceBooleanProperty(value);
|
|
66
|
-
this.cssClass = this.#_stacked ? 'sky-form-field-stacked' : '';
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
|
|
70
|
-
* additional context to the user.
|
|
71
|
-
*/
|
|
72
|
-
set hintText(value) {
|
|
73
|
-
this.#_hintText = value;
|
|
74
|
-
this.ariaDescribedBy.next(value ? this.hintTextId : undefined);
|
|
75
|
-
}
|
|
76
|
-
get hintText() {
|
|
77
|
-
return this.#_hintText;
|
|
78
|
-
}
|
|
79
|
-
#requiredByFormField;
|
|
80
|
-
get isDisabled() {
|
|
81
|
-
return !!(this.disabled ||
|
|
82
|
-
this.controlDir?.control?.disabled ||
|
|
83
|
-
this.inputRef?.nativeElement?.disabled);
|
|
84
|
-
}
|
|
85
|
-
get hasErrorsComputed() {
|
|
86
|
-
if (this.hasErrors === undefined) {
|
|
87
|
-
return this.#controlHasErrors(this.controlDir);
|
|
88
|
-
}
|
|
89
|
-
return this.hasErrors;
|
|
90
|
-
}
|
|
91
|
-
get required() {
|
|
92
|
-
return (this.#hasRequiredValidator() ||
|
|
93
|
-
this.inputRef?.nativeElement.required ||
|
|
94
|
-
this.#requiredByFormField);
|
|
95
|
-
}
|
|
96
|
-
#_stacked;
|
|
97
|
-
#_characterLimit;
|
|
98
|
-
#_hintText;
|
|
99
|
-
#previousInputRef;
|
|
100
|
-
#previousMaxLengthValidator;
|
|
101
|
-
#ngUnsubscribe;
|
|
102
|
-
ngOnInit() {
|
|
103
|
-
this.#inputBoxHostSvc.init(this);
|
|
104
|
-
this.#inputBoxHostSvc.required
|
|
105
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
106
|
-
.subscribe((required) => {
|
|
107
|
-
this.#requiredByFormField = required;
|
|
108
|
-
this.#changeRef.markForCheck();
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
ngAfterContentChecked() {
|
|
112
|
-
this.controlDir =
|
|
113
|
-
this.formControl || this.formControlByName || this.ngModel;
|
|
114
|
-
if (!this.formControlHasFocus) {
|
|
115
|
-
this.characterCountScreenReader = this.controlDir?.value?.length || 0;
|
|
116
|
-
}
|
|
117
|
-
this.#updateInputRef();
|
|
118
|
-
}
|
|
119
|
-
ngOnDestroy() {
|
|
120
|
-
this.ariaDescribedBy.complete();
|
|
121
|
-
this.#ngUnsubscribe.next();
|
|
122
|
-
this.#ngUnsubscribe.complete();
|
|
123
|
-
}
|
|
124
|
-
formControlFocusIn() {
|
|
125
|
-
const inlineHelpEl = this.#adapterService.getInlineHelpElement(this.#elementRef);
|
|
126
|
-
if (!this.#adapterService.isFocusInElement(inlineHelpEl)) {
|
|
127
|
-
this.#updateHasFocus(true);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
formControlFocusOut() {
|
|
131
|
-
this.characterCountScreenReader = this.controlDir?.value?.length || 0;
|
|
132
|
-
this.#updateHasFocus(false);
|
|
133
|
-
}
|
|
134
|
-
onInsetIconClick() {
|
|
135
|
-
if (!this.isDisabled) {
|
|
136
|
-
this.#adapterService.focusControl(this.#elementRef);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
populate(args) {
|
|
140
|
-
this.hostInputTemplate = args.inputTemplate;
|
|
141
|
-
this.hostButtonsTemplate = args.buttonsTemplate;
|
|
142
|
-
this.hostButtonsLeftTemplate = args.buttonsLeftTemplate;
|
|
143
|
-
this.hostButtonsInsetTemplate = args.buttonsInsetTemplate;
|
|
144
|
-
this.hostIconsInsetTemplate = args.iconsInsetTemplate;
|
|
145
|
-
this.hostIconsInsetLeftTemplate = args.iconsInsetLeftTemplate;
|
|
146
|
-
this.#changeRef.markForCheck();
|
|
147
|
-
}
|
|
148
|
-
setHintTextHidden(hide) {
|
|
149
|
-
this.hintTextHidden = hide;
|
|
150
|
-
this.#changeRef.markForCheck();
|
|
151
|
-
}
|
|
152
|
-
setHostHintText(value) {
|
|
153
|
-
this.hostHintText = value;
|
|
154
|
-
this.#changeRef.markForCheck();
|
|
155
|
-
}
|
|
156
|
-
setHintTextScreenReaderOnly(hide) {
|
|
157
|
-
this.hintTextScreenReaderOnly = hide;
|
|
158
|
-
this.#changeRef.markForCheck();
|
|
159
|
-
}
|
|
160
|
-
#hasRequiredValidator() {
|
|
161
|
-
return !!this.controlDir?.control?.hasValidator(Validators.required);
|
|
162
|
-
}
|
|
163
|
-
#updateHasFocus(hasFocus) {
|
|
164
|
-
// Some components manipulate the focus of elements inside an input box programmatically,
|
|
165
|
-
// which can cause an `ExpressionChangedAfterItHasBeenCheckedError` if focus was set after
|
|
166
|
-
// initial change detection. Using `setTimeout()` here fixes it.
|
|
167
|
-
setTimeout(() => {
|
|
168
|
-
this.formControlHasFocus = hasFocus;
|
|
169
|
-
this.#changeRef.markForCheck();
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
#controlHasErrors(control) {
|
|
173
|
-
return !!(control && control.invalid && (control.dirty || control.touched));
|
|
174
|
-
}
|
|
175
|
-
#updateInputRef() {
|
|
176
|
-
if (!this.inputRef) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
const inputEl = this.inputRef.nativeElement;
|
|
180
|
-
// Check for the Angular required validator and add an aria-required attribute
|
|
181
|
-
// to match. For template-driven forms, the input will have a `required` attribute
|
|
182
|
-
// so the aria-required attribute is unnecessary.
|
|
183
|
-
const hasRequiredValidator = this.#hasRequiredValidator();
|
|
184
|
-
const ariaRequired = inputEl.ariaRequired;
|
|
185
|
-
if (hasRequiredValidator && ariaRequired !== 'true') {
|
|
186
|
-
inputEl.ariaRequired = 'true';
|
|
187
|
-
}
|
|
188
|
-
else if (!hasRequiredValidator && ariaRequired === 'true') {
|
|
189
|
-
inputEl.ariaRequired = null;
|
|
190
|
-
}
|
|
191
|
-
if (this.hasErrorsComputed) {
|
|
192
|
-
this.#renderer.setAttribute(inputEl, 'aria-invalid', 'true');
|
|
193
|
-
this.#renderer.setAttribute(inputEl, 'aria-errormessage', this.errorId);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
this.#renderer.removeAttribute(inputEl, 'aria-invalid');
|
|
197
|
-
this.#renderer.removeAttribute(inputEl, 'aria-errormessage');
|
|
198
|
-
}
|
|
199
|
-
this.#adapterService.updateDescribedBy(this.inputRef, this.hintTextId, this.hintText ?? this.hostHintText);
|
|
200
|
-
if (this.inputRef !== this.#previousInputRef) {
|
|
201
|
-
this.#renderer.addClass(inputEl, 'sky-form-control');
|
|
202
|
-
this.#renderer.setAttribute(inputEl, 'id', this.controlId);
|
|
203
|
-
this.#updateMaxLengthValidator();
|
|
204
|
-
this.#previousInputRef = this.inputRef;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
#updateMaxLengthValidator() {
|
|
208
|
-
const control = this.controlDir?.control;
|
|
209
|
-
if (this.#previousMaxLengthValidator) {
|
|
210
|
-
control?.removeValidators(this.#previousMaxLengthValidator);
|
|
211
|
-
this.#previousMaxLengthValidator = undefined;
|
|
212
|
-
}
|
|
213
|
-
if (control && this.characterLimit !== undefined) {
|
|
214
|
-
this.#previousMaxLengthValidator = Validators.maxLength(this.characterLimit);
|
|
215
|
-
control.addValidators([this.#previousMaxLengthValidator]);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyInputBoxComponent, selector: "sky-input-box", inputs: { hasErrors: "hasErrors", disabled: "disabled", labelText: "labelText", characterLimit: "characterLimit", stacked: "stacked", helpPopoverTitle: "helpPopoverTitle", helpPopoverContent: "helpPopoverContent", helpKey: "helpKey", hintText: "hintText" }, host: { properties: { "class": "this.cssClass" } }, providers: [
|
|
220
|
-
SkyContentInfoProvider,
|
|
221
|
-
SkyInputBoxAdapterService,
|
|
222
|
-
SkyInputBoxHostService,
|
|
223
|
-
{
|
|
224
|
-
provide: SKY_FORM_ERRORS_ENABLED,
|
|
225
|
-
useValue: true,
|
|
226
|
-
},
|
|
227
|
-
], queries: [{ propertyName: "formControl", first: true, predicate: FormControlDirective, descendants: true }, { propertyName: "formControlByName", first: true, predicate: FormControlName, descendants: true }, { propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "inputRef", first: true, predicate: SkyInputBoxControlDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n *skyThemeIf=\"'default'\"\n class=\"sky-input-box\"\n [ngClass]=\"{\n 'sky-input-box-disabled': isDisabled\n }\"\n>\n <div class=\"sky-form-group\">\n <div class=\"sky-input-box-label-wrapper\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" /><ng-container\n *ngTemplateOutlet=\"inlineHelpTemplate\"\n />\n <ng-container *ngTemplateOutlet=\"characterCountTemplate\" />\n </div>\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"buttonsLeftTemplate\" />\n <div\n class=\"sky-input-box-input-group-inner\"\n [ngClass]=\"{\n 'sky-field-status-active': formControlHasFocus,\n 'sky-field-status-invalid': hasErrorsComputed\n }\"\n (focusin)=\"formControlFocusIn()\"\n (focusout)=\"formControlFocusOut()\"\n >\n <ng-container *ngTemplateOutlet=\"iconsInsetLeftTemplate\" />\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplate\" />\n <ng-container *ngTemplateOutlet=\"iconsInsetTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"hintTextTemplate\" />\n <ng-container *ngTemplateOutlet=\"errorLabelTemplate\" />\n </div>\n</div>\n\n<div\n *skyThemeIf=\"'modern'\"\n class=\"sky-input-box\"\n [ngClass]=\"{\n 'sky-input-box-disabled': isDisabled\n }\"\n>\n <div class=\"sky-input-box-group\">\n <ng-container *ngTemplateOutlet=\"buttonsLeftTemplate\" />\n <div\n class=\"sky-input-box-group-form-control\"\n [ngClass]=\"{\n 'sky-input-box-group-form-control-focus': formControlHasFocus,\n 'sky-input-box-group-form-control-invalid': hasErrorsComputed\n }\"\n (focusin)=\"formControlFocusIn()\"\n (focusout)=\"formControlFocusOut()\"\n >\n <div class=\"sky-form-group\">\n <ng-container *ngTemplateOutlet=\"iconsInsetLeftTemplate\" />\n <div class=\"sky-input-box-form-group-inner\">\n <div class=\"sky-input-box-label-wrapper\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" /><ng-container\n *ngTemplateOutlet=\"inlineHelpTemplate\"\n />\n <ng-container *ngTemplateOutlet=\"characterCountTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplate\" />\n <ng-container *ngTemplateOutlet=\"iconsInsetTemplate\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"hintTextTemplate\" />\n <ng-container *ngTemplateOutlet=\"errorLabelTemplate\" />\n</div>\n\n<ng-template #labelTemplate>\n <ng-content select=\".sky-control-label\" />\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n characterLimit !== undefined\n ? labelText +\n ' ' +\n ('skyux_character_count_message'\n | skyLibResources: characterCountScreenReader : characterLimit)\n : null\n \"\n [for]=\"controlId\"\n [id]=\"labelId\"\n [ngClass]=\"{\n 'sky-control-label-required': required\n }\"\n >{{ labelText }}</label\n >\n }\n</ng-template>\n\n<ng-template #inlineHelpTemplate>\n @if ((helpPopoverContent || helpKey) && labelText) {\n <sky-help-inline\n class=\"sky-control-help\"\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n <ng-content select=\".sky-control-help\" />\n</ng-template>\n\n<ng-template #characterCountTemplate>\n @if (characterLimit !== undefined) {\n <sky-character-counter-indicator\n [characterCount]=\"controlDir?.value?.length || 0\"\n [characterCountLimit]=\"characterLimit\"\n />\n }\n <ng-content select=\"sky-character-counter-indicator\" />\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content\n select=\"input,select,.sky-form-control:not(textarea),sky-text-editor\"\n />\n @if (hostInputTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostInputTemplate\" />\n }\n <ng-content select=\"textarea\" />\n</ng-template>\n\n<ng-template #buttonsLeftTemplate>\n <ng-content select=\".sky-input-group-btn.sky-input-box-btn-left\" />\n @if (hostButtonsLeftTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsLeftTemplate\" />\n }\n</ng-template>\n\n<ng-template #buttonsTemplate>\n <ng-content\n select=\".sky-input-group-btn:not(.sky-input-box-btn-left):not(.sky-input-box-btn-inset)\"\n />\n @if (hostButtonsTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsTemplate\" />\n }\n</ng-template>\n\n<ng-template #buttonsInsetTemplate>\n <ng-content select=\".sky-input-group-btn.sky-input-box-btn-inset\" />\n @if (hostButtonsInsetTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsInsetTemplate\" />\n }\n</ng-template>\n\n<ng-template #iconsInsetTemplate>\n <div class=\"sky-input-box-icon-inset-wrapper\" (click)=\"onInsetIconClick()\">\n <ng-content select=\".sky-input-group-icon.sky-input-box-icon-inset\" />\n @if (hostIconsInsetTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostIconsInsetTemplate\" />\n }\n </div>\n</ng-template>\n\n<ng-template #iconsInsetLeftTemplate>\n <div\n class=\"sky-input-box-icon-inset-left-wrapper\"\n (click)=\"onInsetIconClick()\"\n >\n <ng-content select=\".sky-input-group-icon.sky-input-box-icon-inset-left\" />\n @if (hostIconsInsetLeftTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostIconsInsetLeftTemplate\" />\n }\n </div>\n</ng-template>\n\n<ng-template #errorLabelTemplate>\n <sky-form-errors\n [id]=\"errorId\"\n [errors]=\"controlDir?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"controlDir?.touched\"\n [dirty]=\"controlDir?.dirty\"\n >\n <ng-content\n select=\"sky-form-error,span.sky-input-box-descendent-form-error\"\n />\n </sky-form-errors>\n <ng-content select=\".sky-error-label,.sky-error-indicator\" />\n</ng-template>\n\n<ng-template #hintTextTemplate>\n @if (hintText || hostHintText) {\n <div\n class=\"sky-input-box-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n [ngClass]=\"{\n 'sky-input-box-hint-text-hidden': hintTextHidden,\n 'sky-screen-reader-only': hintTextScreenReaderOnly\n }\"\n [id]=\"hintTextId\"\n >\n {{ hintText | skyInputBoxHintText: hostHintText }}\n </div>\n }\n</ng-template>\n", styles: [".sky-input-box:not(.sky-theme-modern *){--sky-override-button-width: 33px;--sky-override-input-box-error-margin-top: 5px;--sky-override-input-box-hint-margin-top: var(--sky-margin-stacked-xs);--sky-override-input-box-select-border-radius: 0}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-input-box{--sky-override-button-width: 55px;--sky-override-input-box-character-count-font-size: var( --sky-font-size-body-m );--sky-override-input-box-character-count-padding: 3px 0 0;--sky-override-input-box-color-border-base: var(--modern-color-gray-15);--sky-override-input-box-no-label-space-top: var(--modern-space-s);--sky-override-input-box-select-space: 10px;--sky-override-input-focus-elevation-shadow: var(--modern-shadow-size-1);--sky-override-input-margin-top: -23px;--sky-override-input-padding-top: 26px;--sky-override-label-padding-bottom: 1px;--sky-override-textarea-border-top: 29px;--sky-override-textarea-margin-top: -26px}.sky-theme-modern:not(.sky-theme-brand-blackbaud) sky-input-box{--sky-override-background-color-input-box: var(--modern-color-white)}sky-input-box{--sky-background-color-input-box-group: transparent;--sky-background-color-input-box-group-focused: transparent}.sky-input-box{--sky-input-box-button-width: var( --sky-override-button-width, var(--sky-input-box-height) )}.sky-theme-modern sky-input-box{--sky-background-color-input-box-group: var( --sky-override-background-color-input-box, var(--sky-color-background-input-base) );--sky-background-color-input-box-group-focused: var( --sky-override-background-color-input-box, var(--sky-color-background-input-base) )}sky-input-box{display:block}sky-input-box .sky-error-indicator{margin-top:var(--sky-override-input-box-error-margin-top, var(--sky-space-gap-stacked_supplemental-s))}sky-input-box .sky-form-group{display:flex;flex-wrap:wrap;background-color:var(--sky-background-color-input-box-group)}sky-input-box .sky-form-group:focus-within{background-color:var(--sky-background-color-input-box-group-focused)}sky-input-box .sky-form-group .sky-input-box-label-wrapper{display:flex;width:100%}sky-input-box .sky-form-group select.sky-form-control{border-radius:var(--sky-override-input-box-select-border-radius, var(--sky-border-radius-s))}sky-input-box .sky-input-box-input-group-inner{display:flex;background-color:#fff;width:100%;z-index:1}sky-input-box .sky-input-box-input-group-inner:not(.sky-field-status-active):not(.sky-field-status-invalid){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-input-box .sky-input-box-btn-inset .sky-btn{background-color:transparent;border:none}sky-input-box .sky-input-box-icon-inset-wrapper,sky-input-box .sky-input-box-icon-inset-left-wrapper{display:flex}sky-input-box .sky-input-box-icon-inset-wrapper .sky-input-group-icon,sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-group-icon{width:var(--sky-input-box-button-width);display:flex;align-items:center;justify-content:center}sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-wrapper,sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper{background-color:#cdcfd2}sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-wrapper .sky-icon,sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper .sky-icon{color:#686c73}sky-input-box sky-character-counter-indicator{text-align:right;margin-bottom:5px;margin-left:auto}sky-input-box .sky-control-label+sky-character-counter-indicator{flex-shrink:.001}sky-input-box .sky-form-control,sky-input-box .sky-form-control:focus{border:none;flex-basis:100%}sky-input-box .sky-form-control:focus,sky-input-box .sky-form-control.ng-invalid.ng-touched,sky-input-box .sky-form-control:focus:focus,sky-input-box .sky-form-control:focus.ng-invalid.ng-touched{border:none;box-shadow:none}sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 0 0 10px;width:initial}sky-input-box .sky-input-box-hint-text{flex-basis:100%;margin-top:var(--sky-override-input-box-hint-margin-top, var(--sky-space-gap-stacked_supplemental-s));text-align:left}sky-input-box .sky-input-box-hint-text.sky-input-box-hint-text-hidden{visibility:hidden}.sky-theme-modern .sky-input-box{--sky-input-box-space-top: calc( calc( var(--sky-font-line_height-input-label) * var(--sky-font-size-input-label) ) + var(--sky-space-inset-input_label-top-m) + var(--sky-space-inset-input_label-bottom-m) );--sky-input-box-margin-top: calc(var(--sky-input-box-space-top) * -1);--sky-input-box-height: calc( var(--sky-space-inset-input-bottom-m) + calc( var(--sky-font-size-input-val) * var(--sky-font-line_height-input-val) ) + var(--sky-input-box-space-top) )}.sky-theme-modern .sky-input-box .sky-input-box-group{display:flex}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control{flex-grow:1;position:relative}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:first-child .sky-form-group{border-top-left-radius:var(--sky-border-radius-s);border-bottom-left-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:last-child .sky-form-group{border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-box-form-group-inner{display:flex;flex-grow:1;flex-wrap:wrap}.sky-theme-modern .sky-input-box .sky-input-group-btn .sky-btn{border-radius:0;color:var(--sky-color-text-deemphasized);margin:0;padding:0;position:relative;transition:border-color .15s,box-shadow .15s,color .15s;width:var(--sky-input-box-button-width)}.sky-theme-modern .sky-input-box .sky-input-group-btn .sky-btn .sky-icon{font-size:24px}.sky-theme-modern .sky-input-box .sky-input-group-btn:first-child .sky-btn{border-top-left-radius:var(--sky-border-radius-s);border-bottom-left-radius:var(--sky-border-radius-s);margin-right:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-input-group-btn:first-child .sky-btn:focus{z-index:1}.sky-theme-modern .sky-input-box .sky-input-group-btn:last-child .sky-btn{border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-group-icon .sky-icon{color:var(--sky-color-text-deemphasized);font-size:24px}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-focus:not(:last-child),.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-invalid:not(:last-child),.sky-theme-modern .sky-input-box .sky-input-group-btn:focus-within:not(:last-child){z-index:1}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-focus:not(:active)+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-focus) * -1)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:active+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-active) * -1)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-input-group-btn+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-form-group{color:var(--sky-color-text-deemphasized);flex-wrap:nowrap;margin-bottom:0;padding:0}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper{padding:0 var(--sky-space-inset-input-right-m) 0 var(--sky-space-inset-input-left-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper sky-character-counter-indicator{margin-bottom:0;position:relative;z-index:2}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help{z-index:4}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label{padding-top:var(--sky-space-inset-input_label-top-m);padding-bottom:var(--sky-override-label-padding-bottom, var(--sky-space-inset-input_label-bottom-m));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-font-weight-input-label)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label:has(+sky-character-counter-indicator){margin-right:var(--sky-space-inset-input-right-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-character-count-label{font-size:var(--sky-font-size-input-label);letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-font-line_height-input-label);display:inline-block}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help{margin:3px 0 -3px var(--sky-space-gap-text_action-xs)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help:not(:last-child){margin-right:var(--sky-space-inset-input-right-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper sky-character-counter-indicator{margin-left:auto;padding:var(--sky-override-input-box-character-count-padding, var(--sky-space-inset-input_label-top-m) 0 var(--sky-space-inset-input_label-bottom-m));font-size:var(--sky-override-input-box-character-count-font-size, var(--sky-font-size-input-label))}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control{margin-top:var(--sky-override-input-margin-top, var(--sky-input-box-margin-top));padding-top:var(--sky-override-input-padding-top, var(--sky-input-box-space-top))}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control{background-color:transparent;border:none;border-radius:var(--sky-border-radius-s);font-size:var(--sky-font-size-input-val);height:auto;line-height:var(--sky-font-line_height-input-val);padding-right:var(--sky-space-inset-input-right-m);padding-bottom:var(--sky-space-inset-input-bottom-m);padding-left:var(--sky-space-inset-input-left-m);position:relative}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:-webkit-autofill{box-shadow:none!important;clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:autofill:hover,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:-webkit-autofill:hover{clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:focus,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control.ng-invalid{box-shadow:none;outline:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control::-webkit-input-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control::-moz-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-controlinput:-moz-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:hover+.sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:hover+.sky-form-control:-webkit-autofill{clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-group-btn.sky-input-box-btn-inset .sky-btn{background-color:transparent;border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s);transition-property:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-group-btn.sky-input-box-btn-inset .sky-btn:not(:active):not(:focus):not(:hover){box-shadow:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+.sky-form-control,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* .sky-form-control{margin-top:0}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+.sky-form-control:not(textarea),.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* .sky-form-control:not(textarea){padding-top:var(--sky-override-input-box-no-label-space-top, var(--sky-space-inset-input-top-m))}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+textarea.sky-form-control,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* textarea.sky-form-control{border-top:var(--sky-override-input-box-no-label-space-top, var(--sky-space-inset-input-top-m)) solid transparent}.sky-theme-modern .sky-input-box .sky-form-group select.sky-form-control{background-position-x:calc(100% - var(--sky-override-input-box-select-space, var(--sky-space-inset-input-left-m)));z-index:3}.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control{margin-top:var(--sky-override-textarea-margin-top, var(--sky-input-box-margin-top));padding-top:0;resize:vertical;border-top:var(--sky-override-textarea-border-top, var(--sky-input-box-space-top)) solid transparent}.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control:-webkit-autofill{border-top:var(--sky-override-textarea-border-top, var(--sky-input-box-space-top)) solid transparent!important}.sky-theme-modern .sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 0 0 var(--sky-space-inset-input-left-m);width:initial}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled){--sky-input-box-input-border-color: var( --sky-override-input-box-color-border-base, var(--sky-color-border-input-base) );--sky-input-box-input-border-width: var(--sky-border-width-input-base);--sky-input-box-button-border-color: var( --sky-override-input-box-color-border-base, var(--sky-color-border-action-input-base) );--sky-input-box-button-border-width: var(--sky-border-width-action-base);--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-base) )}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control .sky-form-group{border:none;box-shadow:var(--sky-input-box-box-shadow-with-elevation, inset 0 0 0 var(--sky-input-box-input-border-width) var(--sky-input-box-input-border-color))}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn{border:none;box-shadow:var(--sky-input-box-button-box-shadow-with-elevation, inset 0 0 0 var(--sky-input-box-button-border-width) var(--sky-input-box-button-border-color));background-color:var(--sky-input-box-button-background-color)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:hover{--sky-input-box-input-border-color: var(--sky-color-border-input-hover);--sky-input-box-input-border-width: var(--sky-border-width-input-hover);z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:active{--sky-input-box-input-border-color: var( --sky-color-border-input-active );--sky-input-box-input-border-width: var( --sky-border-width-input-active )}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:active .sky-form-group{color:var(--sky-color-text-action)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active),.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active).sky-input-box-group-form-control-invalid{--sky-input-box-input-border-color: var(--sky-color-border-input-focus);--sky-input-box-input-border-width: var(--sky-border-width-input-focus);--sky-input-box-box-shadow-with-elevation: inset 0 0 0 var(--sky-input-box-input-border-width) var(--sky-input-box-input-border-color), var( --sky-override-input-focus-elevation-shadow, var(--sky-elevation-focus) );z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active) .sky-form-group,.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active).sky-input-box-group-form-control-invalid .sky-form-group{color:var(--sky-color-text-action)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-invalid{--sky-input-box-input-border-color: var(--sky-color-border-input-error);--sky-input-box-input-border-width: var(--sky-border-width-input-error)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-invalid .sky-form-group{color:var(--sky-color-text-danger)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:hover{--sky-input-box-button-border-color: var( --sky-color-border-action-input-hover );--sky-input-box-button-border-width: var( --sky-border-width-action-hover );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-hover) );z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:active{--sky-input-box-button-border-color: var( --sky-color-border-action-input-active );--sky-input-box-button-border-width: var( --sky-border-width-action-active );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-active) );color:var(--sky-color-text-default);z-index:2}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:focus:not(:active){--sky-input-box-button-border-color: var( --sky-color-border-action-input-focus );--sky-input-box-button-border-width: var( --sky-border-width-action-focus );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-focus) );--sky-input-box-button-box-shadow-with-elevation: inset 0 0 0 var(--sky-input-box-button-border-width) var(--sky-input-box-button-border-color), var( --sky-override-input-focus-elevation-shadow, var(--sky-elevation-focus) );color:var(--sky-color-text-default);outline:none;z-index:2}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-form-group{transition:border-color .15s,box-shadow .15s,color .15s}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-form-group .sky-control-label{transition:border-color .15s,box-shadow .15s,color .15s}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-group{border:none;box-shadow:inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-override-input-box-color-border-base, var(--sky-color-border-input-disabled))}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn .sky-btn{border:none;box-shadow:inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-override-input-box-color-border-base, var(--sky-color-border-action-input-disabled));background-color:var(--sky-color-background-action-input-disabled)}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-control,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-control-label,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn{cursor:not-allowed}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-box-icon-inset-wrapper,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper{background-color:transparent}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-group,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn .sky-btn{background-color:var(--sky-color-background-input-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SkyCharacterCounterIndicatorComponent, selector: "sky-character-counter-indicator", inputs: ["characterCount", "characterCountLimit"] }, { kind: "component", type: i3.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "touched", "dirty"] }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "directive", type: i5.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i5.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i7.SkyInputBoxHintTextPipe, name: "skyInputBoxHintText" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
228
|
-
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxComponent, decorators: [{
|
|
230
|
-
type: Component,
|
|
231
|
-
args: [{ selector: 'sky-input-box', providers: [
|
|
232
|
-
SkyContentInfoProvider,
|
|
233
|
-
SkyInputBoxAdapterService,
|
|
234
|
-
SkyInputBoxHostService,
|
|
235
|
-
{
|
|
236
|
-
provide: SKY_FORM_ERRORS_ENABLED,
|
|
237
|
-
useValue: true,
|
|
238
|
-
},
|
|
239
|
-
], encapsulation: ViewEncapsulation.None, template: "<div\n *skyThemeIf=\"'default'\"\n class=\"sky-input-box\"\n [ngClass]=\"{\n 'sky-input-box-disabled': isDisabled\n }\"\n>\n <div class=\"sky-form-group\">\n <div class=\"sky-input-box-label-wrapper\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" /><ng-container\n *ngTemplateOutlet=\"inlineHelpTemplate\"\n />\n <ng-container *ngTemplateOutlet=\"characterCountTemplate\" />\n </div>\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"buttonsLeftTemplate\" />\n <div\n class=\"sky-input-box-input-group-inner\"\n [ngClass]=\"{\n 'sky-field-status-active': formControlHasFocus,\n 'sky-field-status-invalid': hasErrorsComputed\n }\"\n (focusin)=\"formControlFocusIn()\"\n (focusout)=\"formControlFocusOut()\"\n >\n <ng-container *ngTemplateOutlet=\"iconsInsetLeftTemplate\" />\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplate\" />\n <ng-container *ngTemplateOutlet=\"iconsInsetTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"hintTextTemplate\" />\n <ng-container *ngTemplateOutlet=\"errorLabelTemplate\" />\n </div>\n</div>\n\n<div\n *skyThemeIf=\"'modern'\"\n class=\"sky-input-box\"\n [ngClass]=\"{\n 'sky-input-box-disabled': isDisabled\n }\"\n>\n <div class=\"sky-input-box-group\">\n <ng-container *ngTemplateOutlet=\"buttonsLeftTemplate\" />\n <div\n class=\"sky-input-box-group-form-control\"\n [ngClass]=\"{\n 'sky-input-box-group-form-control-focus': formControlHasFocus,\n 'sky-input-box-group-form-control-invalid': hasErrorsComputed\n }\"\n (focusin)=\"formControlFocusIn()\"\n (focusout)=\"formControlFocusOut()\"\n >\n <div class=\"sky-form-group\">\n <ng-container *ngTemplateOutlet=\"iconsInsetLeftTemplate\" />\n <div class=\"sky-input-box-form-group-inner\">\n <div class=\"sky-input-box-label-wrapper\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" /><ng-container\n *ngTemplateOutlet=\"inlineHelpTemplate\"\n />\n <ng-container *ngTemplateOutlet=\"characterCountTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplate\" />\n <ng-container *ngTemplateOutlet=\"iconsInsetTemplate\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"hintTextTemplate\" />\n <ng-container *ngTemplateOutlet=\"errorLabelTemplate\" />\n</div>\n\n<ng-template #labelTemplate>\n <ng-content select=\".sky-control-label\" />\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n characterLimit !== undefined\n ? labelText +\n ' ' +\n ('skyux_character_count_message'\n | skyLibResources: characterCountScreenReader : characterLimit)\n : null\n \"\n [for]=\"controlId\"\n [id]=\"labelId\"\n [ngClass]=\"{\n 'sky-control-label-required': required\n }\"\n >{{ labelText }}</label\n >\n }\n</ng-template>\n\n<ng-template #inlineHelpTemplate>\n @if ((helpPopoverContent || helpKey) && labelText) {\n <sky-help-inline\n class=\"sky-control-help\"\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n <ng-content select=\".sky-control-help\" />\n</ng-template>\n\n<ng-template #characterCountTemplate>\n @if (characterLimit !== undefined) {\n <sky-character-counter-indicator\n [characterCount]=\"controlDir?.value?.length || 0\"\n [characterCountLimit]=\"characterLimit\"\n />\n }\n <ng-content select=\"sky-character-counter-indicator\" />\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content\n select=\"input,select,.sky-form-control:not(textarea),sky-text-editor\"\n />\n @if (hostInputTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostInputTemplate\" />\n }\n <ng-content select=\"textarea\" />\n</ng-template>\n\n<ng-template #buttonsLeftTemplate>\n <ng-content select=\".sky-input-group-btn.sky-input-box-btn-left\" />\n @if (hostButtonsLeftTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsLeftTemplate\" />\n }\n</ng-template>\n\n<ng-template #buttonsTemplate>\n <ng-content\n select=\".sky-input-group-btn:not(.sky-input-box-btn-left):not(.sky-input-box-btn-inset)\"\n />\n @if (hostButtonsTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsTemplate\" />\n }\n</ng-template>\n\n<ng-template #buttonsInsetTemplate>\n <ng-content select=\".sky-input-group-btn.sky-input-box-btn-inset\" />\n @if (hostButtonsInsetTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostButtonsInsetTemplate\" />\n }\n</ng-template>\n\n<ng-template #iconsInsetTemplate>\n <div class=\"sky-input-box-icon-inset-wrapper\" (click)=\"onInsetIconClick()\">\n <ng-content select=\".sky-input-group-icon.sky-input-box-icon-inset\" />\n @if (hostIconsInsetTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostIconsInsetTemplate\" />\n }\n </div>\n</ng-template>\n\n<ng-template #iconsInsetLeftTemplate>\n <div\n class=\"sky-input-box-icon-inset-left-wrapper\"\n (click)=\"onInsetIconClick()\"\n >\n <ng-content select=\".sky-input-group-icon.sky-input-box-icon-inset-left\" />\n @if (hostIconsInsetLeftTemplate) {\n <ng-container [ngTemplateOutlet]=\"hostIconsInsetLeftTemplate\" />\n }\n </div>\n</ng-template>\n\n<ng-template #errorLabelTemplate>\n <sky-form-errors\n [id]=\"errorId\"\n [errors]=\"controlDir?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"controlDir?.touched\"\n [dirty]=\"controlDir?.dirty\"\n >\n <ng-content\n select=\"sky-form-error,span.sky-input-box-descendent-form-error\"\n />\n </sky-form-errors>\n <ng-content select=\".sky-error-label,.sky-error-indicator\" />\n</ng-template>\n\n<ng-template #hintTextTemplate>\n @if (hintText || hostHintText) {\n <div\n class=\"sky-input-box-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n [ngClass]=\"{\n 'sky-input-box-hint-text-hidden': hintTextHidden,\n 'sky-screen-reader-only': hintTextScreenReaderOnly\n }\"\n [id]=\"hintTextId\"\n >\n {{ hintText | skyInputBoxHintText: hostHintText }}\n </div>\n }\n</ng-template>\n", styles: [".sky-input-box:not(.sky-theme-modern *){--sky-override-button-width: 33px;--sky-override-input-box-error-margin-top: 5px;--sky-override-input-box-hint-margin-top: var(--sky-margin-stacked-xs);--sky-override-input-box-select-border-radius: 0}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-input-box{--sky-override-button-width: 55px;--sky-override-input-box-character-count-font-size: var( --sky-font-size-body-m );--sky-override-input-box-character-count-padding: 3px 0 0;--sky-override-input-box-color-border-base: var(--modern-color-gray-15);--sky-override-input-box-no-label-space-top: var(--modern-space-s);--sky-override-input-box-select-space: 10px;--sky-override-input-focus-elevation-shadow: var(--modern-shadow-size-1);--sky-override-input-margin-top: -23px;--sky-override-input-padding-top: 26px;--sky-override-label-padding-bottom: 1px;--sky-override-textarea-border-top: 29px;--sky-override-textarea-margin-top: -26px}.sky-theme-modern:not(.sky-theme-brand-blackbaud) sky-input-box{--sky-override-background-color-input-box: var(--modern-color-white)}sky-input-box{--sky-background-color-input-box-group: transparent;--sky-background-color-input-box-group-focused: transparent}.sky-input-box{--sky-input-box-button-width: var( --sky-override-button-width, var(--sky-input-box-height) )}.sky-theme-modern sky-input-box{--sky-background-color-input-box-group: var( --sky-override-background-color-input-box, var(--sky-color-background-input-base) );--sky-background-color-input-box-group-focused: var( --sky-override-background-color-input-box, var(--sky-color-background-input-base) )}sky-input-box{display:block}sky-input-box .sky-error-indicator{margin-top:var(--sky-override-input-box-error-margin-top, var(--sky-space-gap-stacked_supplemental-s))}sky-input-box .sky-form-group{display:flex;flex-wrap:wrap;background-color:var(--sky-background-color-input-box-group)}sky-input-box .sky-form-group:focus-within{background-color:var(--sky-background-color-input-box-group-focused)}sky-input-box .sky-form-group .sky-input-box-label-wrapper{display:flex;width:100%}sky-input-box .sky-form-group select.sky-form-control{border-radius:var(--sky-override-input-box-select-border-radius, var(--sky-border-radius-s))}sky-input-box .sky-input-box-input-group-inner{display:flex;background-color:#fff;width:100%;z-index:1}sky-input-box .sky-input-box-input-group-inner:not(.sky-field-status-active):not(.sky-field-status-invalid){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-input-box .sky-input-box-btn-inset .sky-btn{background-color:transparent;border:none}sky-input-box .sky-input-box-icon-inset-wrapper,sky-input-box .sky-input-box-icon-inset-left-wrapper{display:flex}sky-input-box .sky-input-box-icon-inset-wrapper .sky-input-group-icon,sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-group-icon{width:var(--sky-input-box-button-width);display:flex;align-items:center;justify-content:center}sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-wrapper,sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper{background-color:#cdcfd2}sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-wrapper .sky-icon,sky-input-box .sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper .sky-icon{color:#686c73}sky-input-box sky-character-counter-indicator{text-align:right;margin-bottom:5px;margin-left:auto}sky-input-box .sky-control-label+sky-character-counter-indicator{flex-shrink:.001}sky-input-box .sky-form-control,sky-input-box .sky-form-control:focus{border:none;flex-basis:100%}sky-input-box .sky-form-control:focus,sky-input-box .sky-form-control.ng-invalid.ng-touched,sky-input-box .sky-form-control:focus:focus,sky-input-box .sky-form-control:focus.ng-invalid.ng-touched{border:none;box-shadow:none}sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 0 0 10px;width:initial}sky-input-box .sky-input-box-hint-text{flex-basis:100%;margin-top:var(--sky-override-input-box-hint-margin-top, var(--sky-space-gap-stacked_supplemental-s));text-align:left}sky-input-box .sky-input-box-hint-text.sky-input-box-hint-text-hidden{visibility:hidden}.sky-theme-modern .sky-input-box{--sky-input-box-space-top: calc( calc( var(--sky-font-line_height-input-label) * var(--sky-font-size-input-label) ) + var(--sky-space-inset-input_label-top-m) + var(--sky-space-inset-input_label-bottom-m) );--sky-input-box-margin-top: calc(var(--sky-input-box-space-top) * -1);--sky-input-box-height: calc( var(--sky-space-inset-input-bottom-m) + calc( var(--sky-font-size-input-val) * var(--sky-font-line_height-input-val) ) + var(--sky-input-box-space-top) )}.sky-theme-modern .sky-input-box .sky-input-box-group{display:flex}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control{flex-grow:1;position:relative}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:first-child .sky-form-group{border-top-left-radius:var(--sky-border-radius-s);border-bottom-left-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:last-child .sky-form-group{border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-box-form-group-inner{display:flex;flex-grow:1;flex-wrap:wrap}.sky-theme-modern .sky-input-box .sky-input-group-btn .sky-btn{border-radius:0;color:var(--sky-color-text-deemphasized);margin:0;padding:0;position:relative;transition:border-color .15s,box-shadow .15s,color .15s;width:var(--sky-input-box-button-width)}.sky-theme-modern .sky-input-box .sky-input-group-btn .sky-btn .sky-icon{font-size:24px}.sky-theme-modern .sky-input-box .sky-input-group-btn:first-child .sky-btn{border-top-left-radius:var(--sky-border-radius-s);border-bottom-left-radius:var(--sky-border-radius-s);margin-right:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-input-group-btn:first-child .sky-btn:focus{z-index:1}.sky-theme-modern .sky-input-box .sky-input-group-btn:last-child .sky-btn{border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s)}.sky-theme-modern .sky-input-box .sky-input-group-icon .sky-icon{color:var(--sky-color-text-deemphasized);font-size:24px}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-focus:not(:last-child),.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-invalid:not(:last-child),.sky-theme-modern .sky-input-box .sky-input-group-btn:focus-within:not(:last-child){z-index:1}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control-focus:not(:active)+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-focus) * -1)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control:active+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-active) * -1)}.sky-theme-modern .sky-input-box .sky-input-box-group-form-control+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-input-group-btn+.sky-input-group-btn .sky-btn{margin-left:calc(var(--sky-border-width-input-base) * -1)}.sky-theme-modern .sky-input-box .sky-form-group{color:var(--sky-color-text-deemphasized);flex-wrap:nowrap;margin-bottom:0;padding:0}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper{padding:0 var(--sky-space-inset-input-right-m) 0 var(--sky-space-inset-input-left-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper sky-character-counter-indicator{margin-bottom:0;position:relative;z-index:2}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help{z-index:4}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label{padding-top:var(--sky-space-inset-input_label-top-m);padding-bottom:var(--sky-override-label-padding-bottom, var(--sky-space-inset-input_label-bottom-m));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-font-weight-input-label)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label:has(+sky-character-counter-indicator){margin-right:var(--sky-space-inset-input-right-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-label,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-character-count-label{font-size:var(--sky-font-size-input-label);letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-font-line_height-input-label);display:inline-block}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help{margin:3px 0 -3px var(--sky-space-gap-text_action-xs)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper .sky-control-help:not(:last-child){margin-right:var(--sky-space-inset-input-right-m)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper sky-character-counter-indicator{margin-left:auto;padding:var(--sky-override-input-box-character-count-padding, var(--sky-space-inset-input_label-top-m) 0 var(--sky-space-inset-input_label-bottom-m));font-size:var(--sky-override-input-box-character-count-font-size, var(--sky-font-size-input-label))}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control{margin-top:var(--sky-override-input-margin-top, var(--sky-input-box-margin-top));padding-top:var(--sky-override-input-padding-top, var(--sky-input-box-space-top))}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control{background-color:transparent;border:none;border-radius:var(--sky-border-radius-s);font-size:var(--sky-font-size-input-val);height:auto;line-height:var(--sky-font-line_height-input-val);padding-right:var(--sky-space-inset-input-right-m);padding-bottom:var(--sky-space-inset-input-bottom-m);padding-left:var(--sky-space-inset-input-left-m);position:relative}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:-webkit-autofill{box-shadow:none!important;clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:autofill:hover,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:-webkit-autofill:hover{clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control:focus,.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control.ng-invalid{box-shadow:none;outline:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control::-webkit-input-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-control::-moz-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-form-controlinput:-moz-placeholder{font-size:var(--sky-font-size-input-val)}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:hover+.sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:hover+.sky-form-control:-webkit-autofill{clip-path:inset(var(--sky-input-box-input-border-width) round var(--sky-border-radius-s))!important}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-group-btn.sky-input-box-btn-inset .sky-btn{background-color:transparent;border-top-right-radius:var(--sky-border-radius-s);border-bottom-right-radius:var(--sky-border-radius-s);transition-property:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-group-btn.sky-input-box-btn-inset .sky-btn:not(:active):not(:focus):not(:hover){box-shadow:none}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+.sky-form-control,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* .sky-form-control{margin-top:0}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+.sky-form-control:not(textarea),.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* .sky-form-control:not(textarea){padding-top:var(--sky-override-input-box-no-label-space-top, var(--sky-space-inset-input-top-m))}.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+textarea.sky-form-control,.sky-theme-modern .sky-input-box .sky-form-group .sky-input-box-label-wrapper:empty+* textarea.sky-form-control{border-top:var(--sky-override-input-box-no-label-space-top, var(--sky-space-inset-input-top-m)) solid transparent}.sky-theme-modern .sky-input-box .sky-form-group select.sky-form-control{background-position-x:calc(100% - var(--sky-override-input-box-select-space, var(--sky-space-inset-input-left-m)));z-index:3}.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control{margin-top:var(--sky-override-textarea-margin-top, var(--sky-input-box-margin-top));padding-top:0;resize:vertical;border-top:var(--sky-override-textarea-border-top, var(--sky-input-box-space-top)) solid transparent}.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control:autofill,.sky-theme-modern .sky-input-box .sky-form-group textarea.sky-form-control:-webkit-autofill{border-top:var(--sky-override-textarea-border-top, var(--sky-input-box-space-top)) solid transparent!important}.sky-theme-modern .sky-input-box .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 0 0 var(--sky-space-inset-input-left-m);width:initial}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled){--sky-input-box-input-border-color: var( --sky-override-input-box-color-border-base, var(--sky-color-border-input-base) );--sky-input-box-input-border-width: var(--sky-border-width-input-base);--sky-input-box-button-border-color: var( --sky-override-input-box-color-border-base, var(--sky-color-border-action-input-base) );--sky-input-box-button-border-width: var(--sky-border-width-action-base);--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-base) )}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control .sky-form-group{border:none;box-shadow:var(--sky-input-box-box-shadow-with-elevation, inset 0 0 0 var(--sky-input-box-input-border-width) var(--sky-input-box-input-border-color))}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn{border:none;box-shadow:var(--sky-input-box-button-box-shadow-with-elevation, inset 0 0 0 var(--sky-input-box-button-border-width) var(--sky-input-box-button-border-color));background-color:var(--sky-input-box-button-background-color)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:hover{--sky-input-box-input-border-color: var(--sky-color-border-input-hover);--sky-input-box-input-border-width: var(--sky-border-width-input-hover);z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:active{--sky-input-box-input-border-color: var( --sky-color-border-input-active );--sky-input-box-input-border-width: var( --sky-border-width-input-active )}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control:active .sky-form-group{color:var(--sky-color-text-action)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active),.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active).sky-input-box-group-form-control-invalid{--sky-input-box-input-border-color: var(--sky-color-border-input-focus);--sky-input-box-input-border-width: var(--sky-border-width-input-focus);--sky-input-box-box-shadow-with-elevation: inset 0 0 0 var(--sky-input-box-input-border-width) var(--sky-input-box-input-border-color), var( --sky-override-input-focus-elevation-shadow, var(--sky-elevation-focus) );z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active) .sky-form-group,.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-focus:not(:active).sky-input-box-group-form-control-invalid .sky-form-group{color:var(--sky-color-text-action)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-invalid{--sky-input-box-input-border-color: var(--sky-color-border-input-error);--sky-input-box-input-border-width: var(--sky-border-width-input-error)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-box-group-form-control-invalid .sky-form-group{color:var(--sky-color-text-danger)}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:hover{--sky-input-box-button-border-color: var( --sky-color-border-action-input-hover );--sky-input-box-button-border-width: var( --sky-border-width-action-hover );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-hover) );z-index:1}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:active{--sky-input-box-button-border-color: var( --sky-color-border-action-input-active );--sky-input-box-button-border-width: var( --sky-border-width-action-active );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-active) );color:var(--sky-color-text-default);z-index:2}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-input-group-btn .sky-btn:focus:not(:active){--sky-input-box-button-border-color: var( --sky-color-border-action-input-focus );--sky-input-box-button-border-width: var( --sky-border-width-action-focus );--sky-input-box-button-background-color: var( --sky-override-background-color-input-box, var(--sky-color-background-action-input-focus) );--sky-input-box-button-box-shadow-with-elevation: inset 0 0 0 var(--sky-input-box-button-border-width) var(--sky-input-box-button-border-color), var( --sky-override-input-focus-elevation-shadow, var(--sky-elevation-focus) );color:var(--sky-color-text-default);outline:none;z-index:2}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-form-group{transition:border-color .15s,box-shadow .15s,color .15s}.sky-theme-modern .sky-input-box:not(.sky-input-box-disabled) .sky-form-group .sky-control-label{transition:border-color .15s,box-shadow .15s,color .15s}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-group{border:none;box-shadow:inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-override-input-box-color-border-base, var(--sky-color-border-input-disabled))}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn .sky-btn{border:none;box-shadow:inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-override-input-box-color-border-base, var(--sky-color-border-action-input-disabled));background-color:var(--sky-color-background-action-input-disabled)}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-control,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-control-label,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn{cursor:not-allowed}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-box-icon-inset-wrapper,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-box-icon-inset-left-wrapper{background-color:transparent}.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-form-group,.sky-theme-modern .sky-input-box.sky-input-box-disabled .sky-input-group-btn .sky-btn{background-color:var(--sky-color-background-input-disabled)}\n"] }]
|
|
240
|
-
}], propDecorators: { hasErrors: [{
|
|
241
|
-
type: Input
|
|
242
|
-
}], disabled: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], labelText: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], characterLimit: [{
|
|
247
|
-
type: Input
|
|
248
|
-
}], stacked: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}], helpPopoverTitle: [{
|
|
251
|
-
type: Input
|
|
252
|
-
}], helpPopoverContent: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], helpKey: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], hintText: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], cssClass: [{
|
|
259
|
-
type: HostBinding,
|
|
260
|
-
args: ['class']
|
|
261
|
-
}], formControl: [{
|
|
262
|
-
type: ContentChild,
|
|
263
|
-
args: [FormControlDirective]
|
|
264
|
-
}], formControlByName: [{
|
|
265
|
-
type: ContentChild,
|
|
266
|
-
args: [FormControlName]
|
|
267
|
-
}], ngModel: [{
|
|
268
|
-
type: ContentChild,
|
|
269
|
-
args: [NgModel]
|
|
270
|
-
}], inputRef: [{
|
|
271
|
-
type: ContentChild,
|
|
272
|
-
args: [SkyInputBoxControlDirective, {
|
|
273
|
-
read: ElementRef,
|
|
274
|
-
}]
|
|
275
|
-
}] } });
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsT0FBTyxFQUVQLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFHbEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLG9CQUFvQjtJQWpCakM7UUFv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TXBCLDJvTkFpTkE7OzRGRHJKYSxvQkFBb0I7a0JBakJoQyxTQUFTOytCQUNFLGVBQWUsYUFHZDt3QkFDVCxzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0Qjs0QkFDRSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxRQUFRLEVBQUUsSUFBSTt5QkFDZjtxQkFDRixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJOzhCQWtCOUIsU0FBUztzQkFEZixLQUFLO2dCQWNDLFFBQVE7c0JBRGQsS0FBSztnQkFTQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssY0FBYztzQkFEeEIsS0FBSztnQkFpQkssT0FBTztzQkFEakIsS0FBSztnQkFXQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO2dCQVNDLE9BQU87c0JBRGIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQXdDQyxRQUFRO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFJYixXQUFXO3NCQURqQixZQUFZO3VCQUFDLG9CQUFvQjtnQkFJM0IsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGVBQWU7Z0JBSXRCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPO2dCQU1kLFFBQVE7c0JBSGQsWUFBWTt1QkFBQywyQkFBMkIsRUFBRTt3QkFDekMsSUFBSSxFQUFFLFVBQVU7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQm9vbGVhbklucHV0LFxuICBOdW1iZXJJbnB1dCxcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5LFxuICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsXG4gIEZvcm1Db250cm9sRGlyZWN0aXZlLFxuICBGb3JtQ29udHJvbE5hbWUsXG4gIE5nTW9kZWwsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lDb250ZW50SW5mb1Byb3ZpZGVyLCBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5cbmltcG9ydCB7IFNreUlucHV0Qm94QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2lucHV0LWJveC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9pbnB1dC1ib3gtY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hIb3N0U2VydmljZSB9IGZyb20gJy4vaW5wdXQtYm94LWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyB9IGZyb20gJy4vaW5wdXQtYm94LXBvcHVsYXRlLWFyZ3MnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBjb21wb25lbnQgdGhhdCBwcm92aWRlcyBzdHlsaW5nIGFuZCBhY2Nlc3NpYmlsaXR5IHRvIGZvcm0gZWxlbWVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1pbnB1dC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsXG4gICAgU2t5SW5wdXRCb3hBZGFwdGVyU2VydmljZSxcbiAgICBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVELFxuICAgICAgdXNlVmFsdWU6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgLy8gTm90ZSB0aGF0IGNoYW5nZSBkZXRlY3Rpb24gaXMgbm90IHNldCB0byBPblB1c2g7IGRlZmF1bHQgY2hhbmdlIGRldGVjdGlvbiBhbGxvd3MgdGhlXG4gIC8vIGludmFsaWQgQ1NTIGNsYXNzIHRvIGJlIGFkZGVkIHdoZW4gdGhlIGNvbnRlbnQgY29udHJvbCdzIGludmFsaWQvZGlydHkgc3RhdGUgY2hhbmdlcy5cbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SW5wdXRCb3hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveVxue1xuICAjY2hhbmdlUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI2lucHV0Qm94SG9zdFN2YyA9IGluamVjdChTa3lJbnB1dEJveEhvc3RTZXJ2aWNlKTtcbiAgI2FkYXB0ZXJTZXJ2aWNlID0gaW5qZWN0KFNreUlucHV0Qm94QWRhcHRlclNlcnZpY2UpO1xuICAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZ2hsaWdodCB0aGUgaW5wdXQgYm94IGluIGFuIGVycm9yIHN0YXRlLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgaW5wdXQgYm94XG4gICAqIGRpc3BsYXlzIGluIGFuIGVycm9yIHN0YXRlIHdoZW4gZWl0aGVyIHRoZSBgbmdNb2RlbGAgb3IgdGhlIEFuZ3VsYXIgYEZvcm1Db250cm9sYCBjb250YWlucyBhbiBlcnJvci5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGFzRXJyb3JzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZ2hsaWdodCB0aGUgaW5wdXQgYm94IGFzIGRpc2FibGVkLiBUbyBkaXNhYmxlIHRoZSBpbnB1dCBib3gnc1xuICAgKiBpbnB1dCBlbGVtZW50LCB1c2UgdGhlIEhUTUwgYGRpc2FibGVkYCBhdHRyaWJ1dGUgb3IgdGhlIEFuZ3VsYXIgYEZvcm1Db250cm9sLmRpc2FibGVkYFxuICAgKiBwcm9wZXJ0eS4gSWYgdGhlIGlucHV0IGVsZW1lbnQgaXMgbWFwcGVkIHRvIGFuIEFuZ3VsYXIgZm9ybSBjb250cm9sXG4gICAqIChlLmcuIGBmb3JtQ29udHJvbE5hbWVgLCBgbmdNb2RlbGAsIGV0Yy4pLCBcImRpc2FibGVkXCIgc3R5bGVzIGFyZSBhcHBsaWVkIGF1dG9tYXRpY2FsbHk7XG4gICAqIGlmIHRoZSBpbnB1dCBlbGVtZW50IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW4gQW5ndWxhciBmb3JtIGNvbnRyb2wsIHRoZSBgZGlzYWJsZWRgXG4gICAqIHByb3BlcnR5IG9uIHRoZSBpbnB1dCBib3ggbXVzdCBiZSBzZXQgdG8gYHRydWVgIHRvIHZpc3VhbGx5IGluZGljYXRlXG4gICAqIHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiB0aGUgaW5wdXQgYm94LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBpbnB1dCdzIGxhYmVsIGFuZCBpbiBrbm93biB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLiBUaGUgbGFiZWxcbiAgICogd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYGlucHV0YCwgYHNlbGVjdGAsIGB0ZXh0YXJlYWAsIG9yIGNvbXBhdGlibGUgU0tZIFVYXG4gICAqIGNvbXBvbmVudCBpbmNsdWRlZCBpbiB0aGUgaW5wdXQgYm94LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkIGluIHRoZSBpbnB1dC4gQSBbU0tZIFVYIGNoYXJhY3RlciBjb3VudF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudClcbiAgICogd2lsbCBiZSBwbGFjZWQgb24gdGhlIGlucHV0IGVsZW1lbnQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgdmFsaWRhdG9yLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGFyYWN0ZXJMaW1pdCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLiNfY2hhcmFjdGVyTGltaXQgPVxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCB1bmRlZmluZWQpO1xuXG4gICAgdGhpcy4jdXBkYXRlTWF4TGVuZ3RoVmFsaWRhdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJhY3RlckxpbWl0KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19jaGFyYWN0ZXJMaW1pdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBib3ggaXMgc3RhY2tlZCBvbiBhbm90aGVyIGlucHV0IGJveC4gV2hlbiBzcGVjaWZpZWQsIHRoZSBhcHByb3ByaWF0ZVxuICAgKiB2ZXJ0aWNhbCBzcGFjaW5nIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGlucHV0IGJveC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3RhY2tlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy4jX3N0YWNrZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuY3NzQ2xhc3MgPSB0aGlzLiNfc3RhY2tlZCA/ICdza3ktZm9ybS1maWVsZC1zdGFja2VkJyA6ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgbGFiZWxUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBpbnB1dCBib3ggbGFiZWwuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBsYWJlbFRleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBwbGFjZWQgYmVzaWRlIHRoZSBpbnB1dCBib3ggbGFiZWwuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscClcbiAgICogYXMgY29uZmlndXJlZCBieSB0aGUgYXBwbGljYXRpb24uIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGxhYmVsVGV4dGAgaXMgYWxzbyBzcGVjaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBbUGVyc2lzdGVudCBpbmxpbmUgaGVscCB0ZXh0XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2Rlc2lnbi9ndWlkZWxpbmVzL3VzZXItYXNzaXN0YW5jZSNpbmxpbmUtaGVscCkgdGhhdCBwcm92aWRlc1xuICAgKiBhZGRpdGlvbmFsIGNvbnRleHQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhpbnRUZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaGludFRleHQgPSB2YWx1ZTtcblxuICAgIHRoaXMuYXJpYURlc2NyaWJlZEJ5Lm5leHQodmFsdWUgPyB0aGlzLmhpbnRUZXh0SWQgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBoaW50VGV4dCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfaGludFRleHQ7XG4gIH1cblxuICBwdWJsaWMgaG9zdElucHV0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBob3N0QnV0dG9uc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaG9zdEJ1dHRvbnNJbnNldFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaG9zdEJ1dHRvbnNMZWZ0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmb3JtQ29udHJvbEhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgcHVibGljIGhvc3RJY29uc0luc2V0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBob3N0SWNvbnNJbnNldExlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIGhpbnRUZXh0SGlkZGVuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGhpbnRUZXh0U2NyZWVuUmVhZGVyT25seSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBob3N0SGludFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbElkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgcHVibGljIHJlYWRvbmx5IGVycm9ySWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIHB1YmxpYyByZWFkb25seSBoaW50VGV4dElkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXJpYURlc2NyaWJlZEJ5ID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPigxKTtcblxuICAjcmVxdWlyZWRCeUZvcm1GaWVsZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGNzc0NsYXNzID0gJyc7XG5cbiAgQENvbnRlbnRDaGlsZChGb3JtQ29udHJvbERpcmVjdGl2ZSlcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkKEZvcm1Db250cm9sTmFtZSlcbiAgcHVibGljIGZvcm1Db250cm9sQnlOYW1lOiBGb3JtQ29udHJvbE5hbWUgfCB1bmRlZmluZWQ7XG5cbiAgQENvbnRlbnRDaGlsZChOZ01vZGVsKVxuICBwdWJsaWMgbmdNb2RlbDogTmdNb2RlbCB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkKFNreUlucHV0Qm94Q29udHJvbERpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHB1YmxpYyBpbnB1dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgY29udHJvbERpcjogQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICB0aGlzLmNvbnRyb2xEaXI/LmNvbnRyb2w/LmRpc2FibGVkIHx8XG4gICAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5kaXNhYmxlZFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGhhc0Vycm9yc0NvbXB1dGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmhhc0Vycm9ycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY29udHJvbEhhc0Vycm9ycyh0aGlzLmNvbnRyb2xEaXIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmhhc0Vycm9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuI2hhc1JlcXVpcmVkVmFsaWRhdG9yKCkgfHxcbiAgICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQucmVxdWlyZWQgfHxcbiAgICAgIHRoaXMuI3JlcXVpcmVkQnlGb3JtRmllbGRcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYXJhY3RlckNvdW50U2NyZWVuUmVhZGVyID0gMDtcblxuICAjX3N0YWNrZWQgPSBmYWxzZTtcbiAgI19jaGFyYWN0ZXJMaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAjX2hpbnRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI3ByZXZpb3VzSW5wdXRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gICNwcmV2aW91c01heExlbmd0aFZhbGlkYXRvcjogVmFsaWRhdG9yRm4gfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jaW5wdXRCb3hIb3N0U3ZjLmluaXQodGhpcyk7XG5cbiAgICB0aGlzLiNpbnB1dEJveEhvc3RTdmMucmVxdWlyZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcXVpcmVkKSA9PiB7XG4gICAgICAgIHRoaXMuI3JlcXVpcmVkQnlGb3JtRmllbGQgPSByZXF1aXJlZDtcbiAgICAgICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbERpciA9XG4gICAgICB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xCeU5hbWUgfHwgdGhpcy5uZ01vZGVsO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sSGFzRm9jdXMpIHtcbiAgICAgIHRoaXMuY2hhcmFjdGVyQ291bnRTY3JlZW5SZWFkZXIgPSB0aGlzLmNvbnRyb2xEaXI/LnZhbHVlPy5sZW5ndGggfHwgMDtcbiAgICB9XG5cbiAgICB0aGlzLiN1cGRhdGVJbnB1dFJlZigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZEJ5LmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGZvcm1Db250cm9sRm9jdXNJbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbmxpbmVIZWxwRWwgPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRJbmxpbmVIZWxwRWxlbWVudChcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYsXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmlzRm9jdXNJbkVsZW1lbnQoaW5saW5lSGVscEVsKSkge1xuICAgICAgdGhpcy4jdXBkYXRlSGFzRm9jdXModHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1Db250cm9sRm9jdXNPdXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFyYWN0ZXJDb3VudFNjcmVlblJlYWRlciA9IHRoaXMuY29udHJvbERpcj8udmFsdWU/Lmxlbmd0aCB8fCAwO1xuICAgIHRoaXMuI3VwZGF0ZUhhc0ZvY3VzKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkluc2V0SWNvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c0NvbnRyb2wodGhpcy4jZWxlbWVudFJlZik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvcHVsYXRlKGFyZ3M6IFNreUlucHV0Qm94UG9wdWxhdGVBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0SW5wdXRUZW1wbGF0ZSA9IGFyZ3MuaW5wdXRUZW1wbGF0ZTtcbiAgICB0aGlzLmhvc3RCdXR0b25zVGVtcGxhdGUgPSBhcmdzLmJ1dHRvbnNUZW1wbGF0ZTtcbiAgICB0aGlzLmhvc3RCdXR0b25zTGVmdFRlbXBsYXRlID0gYXJncy5idXR0b25zTGVmdFRlbXBsYXRlO1xuICAgIHRoaXMuaG9zdEJ1dHRvbnNJbnNldFRlbXBsYXRlID0gYXJncy5idXR0b25zSW5zZXRUZW1wbGF0ZTtcbiAgICB0aGlzLmhvc3RJY29uc0luc2V0VGVtcGxhdGUgPSBhcmdzLmljb25zSW5zZXRUZW1wbGF0ZTtcbiAgICB0aGlzLmhvc3RJY29uc0luc2V0TGVmdFRlbXBsYXRlID0gYXJncy5pY29uc0luc2V0TGVmdFRlbXBsYXRlO1xuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIaW50VGV4dEhpZGRlbihoaWRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oaW50VGV4dEhpZGRlbiA9IGhpZGU7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNldEhvc3RIaW50VGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0SGludFRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0SGludFRleHRTY3JlZW5SZWFkZXJPbmx5KGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhpbnRUZXh0U2NyZWVuUmVhZGVyT25seSA9IGhpZGU7XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI2hhc1JlcXVpcmVkVmFsaWRhdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY29udHJvbERpcj8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICB9XG5cbiAgI3VwZGF0ZUhhc0ZvY3VzKGhhc0ZvY3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gU29tZSBjb21wb25lbnRzIG1hbmlwdWxhdGUgdGhlIGZvY3VzIG9mIGVsZW1lbnRzIGluc2lkZSBhbiBpbnB1dCBib3ggcHJvZ3JhbW1hdGljYWxseSxcbiAgICAvLyB3aGljaCBjYW4gY2F1c2UgYW4gYEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JgIGlmIGZvY3VzIHdhcyBzZXQgYWZ0ZXJcbiAgICAvLyBpbml0aWFsIGNoYW5nZSBkZXRlY3Rpb24uIFVzaW5nIGBzZXRUaW1lb3V0KClgIGhlcmUgZml4ZXMgaXQuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sSGFzRm9jdXMgPSBoYXNGb2N1cztcbiAgICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gICNjb250cm9sSGFzRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpKTtcbiAgfVxuXG4gICN1cGRhdGVJbnB1dFJlZigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgLy8gQ2hlY2sgZm9yIHRoZSBBbmd1bGFyIHJlcXVpcmVkIHZhbGlkYXRvciBhbmQgYWRkIGFuIGFyaWEtcmVxdWlyZWQgYXR0cmlidXRlXG4gICAgLy8gdG8gbWF0Y2guIEZvciB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMsIHRoZSBpbnB1dCB3aWxsIGhhdmUgYSBgcmVxdWlyZWRgIGF0dHJpYnV0ZVxuICAgIC8vIHNvIHRoZSBhcmlhLXJlcXVpcmVkIGF0dHJpYnV0ZSBpcyB1bm5lY2Vzc2FyeS5cbiAgICBjb25zdCBoYXNSZXF1aXJlZFZhbGlkYXRvciA9IHRoaXMuI2hhc1JlcXVpcmVkVmFsaWRhdG9yKCk7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gaW5wdXRFbC5hcmlhUmVxdWlyZWQ7XG5cbiAgICBpZiAoaGFzUmVxdWlyZWRWYWxpZGF0b3IgJiYgYXJpYVJlcXVpcmVkICE9PSAndHJ1ZScpIHtcbiAgICAgIGlucHV0RWwuYXJpYVJlcXVpcmVkID0gJ3RydWUnO1xuICAgIH0gZWxzZSBpZiAoIWhhc1JlcXVpcmVkVmFsaWRhdG9yICYmIGFyaWFSZXF1aXJlZCA9PT0gJ3RydWUnKSB7XG4gICAgICBpbnB1dEVsLmFyaWFSZXF1aXJlZCA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzRXJyb3JzQ29tcHV0ZWQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsLCAnYXJpYS1pbnZhbGlkJywgJ3RydWUnKTtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsLCAnYXJpYS1lcnJvcm1lc3NhZ2UnLCB0aGlzLmVycm9ySWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoaW5wdXRFbCwgJ2FyaWEtaW52YWxpZCcpO1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGlucHV0RWwsICdhcmlhLWVycm9ybWVzc2FnZScpO1xuICAgIH1cblxuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnVwZGF0ZURlc2NyaWJlZEJ5KFxuICAgICAgdGhpcy5pbnB1dFJlZixcbiAgICAgIHRoaXMuaGludFRleHRJZCxcbiAgICAgIHRoaXMuaGludFRleHQgPz8gdGhpcy5ob3N0SGludFRleHQsXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmlucHV0UmVmICE9PSB0aGlzLiNwcmV2aW91c0lucHV0UmVmKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyhpbnB1dEVsLCAnc2t5LWZvcm0tY29udHJvbCcpO1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWwsICdpZCcsIHRoaXMuY29udHJvbElkKTtcblxuICAgICAgdGhpcy4jdXBkYXRlTWF4TGVuZ3RoVmFsaWRhdG9yKCk7XG5cbiAgICAgIHRoaXMuI3ByZXZpb3VzSW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVNYXhMZW5ndGhWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbERpcj8uY29udHJvbDtcblxuICAgIGlmICh0aGlzLiNwcmV2aW91c01heExlbmd0aFZhbGlkYXRvcikge1xuICAgICAgY29udHJvbD8ucmVtb3ZlVmFsaWRhdG9ycyh0aGlzLiNwcmV2aW91c01heExlbmd0aFZhbGlkYXRvcik7XG4gICAgICB0aGlzLiNwcmV2aW91c01heExlbmd0aFZhbGlkYXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbCAmJiB0aGlzLmNoYXJhY3RlckxpbWl0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI3ByZXZpb3VzTWF4TGVuZ3RoVmFsaWRhdG9yID0gVmFsaWRhdG9ycy5tYXhMZW5ndGgoXG4gICAgICAgIHRoaXMuY2hhcmFjdGVyTGltaXQsXG4gICAgICApO1xuXG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoW3RoaXMuI3ByZXZpb3VzTWF4TGVuZ3RoVmFsaWRhdG9yXSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgY2xhc3M9XCJza3ktaW5wdXQtYm94XCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktaW5wdXQtYm94LWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1mb3JtLWdyb3VwXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1pbnB1dC1ib3gtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPjxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbmxpbmVIZWxwVGVtcGxhdGVcIlxuICAgICAgLz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGFyYWN0ZXJDb3VudFRlbXBsYXRlXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc0xlZnRUZW1wbGF0ZVwiIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWJveC1pbnB1dC1ncm91cC1pbm5lclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWZpZWxkLXN0YXR1cy1hY3RpdmUnOiBmb3JtQ29udHJvbEhhc0ZvY3VzLFxuICAgICAgICAgICdza3ktZmllbGQtc3RhdHVzLWludmFsaWQnOiBoYXNFcnJvcnNDb21wdXRlZFxuICAgICAgICB9XCJcbiAgICAgICAgKGZvY3VzaW4pPVwiZm9ybUNvbnRyb2xGb2N1c0luKClcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiZm9ybUNvbnRyb2xGb2N1c091dCgpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25zSW5zZXRMZWZ0VGVtcGxhdGVcIiAvPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUZW1wbGF0ZVwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zSW5zZXRUZW1wbGF0ZVwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uc0luc2V0VGVtcGxhdGVcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1RlbXBsYXRlXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGludFRleHRUZW1wbGF0ZVwiIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yTGFiZWxUZW1wbGF0ZVwiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXZcbiAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gIGNsYXNzPVwic2t5LWlucHV0LWJveFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWlucHV0LWJveC1kaXNhYmxlZCc6IGlzRGlzYWJsZWRcbiAgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktaW5wdXQtYm94LWdyb3VwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNMZWZ0VGVtcGxhdGVcIiAvPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LWlucHV0LWJveC1ncm91cC1mb3JtLWNvbnRyb2xcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWlucHV0LWJveC1ncm91cC1mb3JtLWNvbnRyb2wtZm9jdXMnOiBmb3JtQ29udHJvbEhhc0ZvY3VzLFxuICAgICAgICAnc2t5LWlucHV0LWJveC1ncm91cC1mb3JtLWNvbnRyb2wtaW52YWxpZCc6IGhhc0Vycm9yc0NvbXB1dGVkXG4gICAgICB9XCJcbiAgICAgIChmb2N1c2luKT1cImZvcm1Db250cm9sRm9jdXNJbigpXCJcbiAgICAgIChmb2N1c291dCk9XCJmb3JtQ29udHJvbEZvY3VzT3V0KClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZm9ybS1ncm91cFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbnNJbnNldExlZnRUZW1wbGF0ZVwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktaW5wdXQtYm94LWZvcm0tZ3JvdXAtaW5uZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWJveC1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiIC8+PG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImlubGluZUhlbHBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoYXJhY3RlckNvdW50VGVtcGxhdGVcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zSW5zZXRUZW1wbGF0ZVwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uc0luc2V0VGVtcGxhdGVcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNUZW1wbGF0ZVwiIC8+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGludFRleHRUZW1wbGF0ZVwiIC8+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvckxhYmVsVGVtcGxhdGVcIiAvPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGFiZWxUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWxhYmVsXCIgLz5cbiAgQGlmIChsYWJlbFRleHQpIHtcbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgY2hhcmFjdGVyTGltaXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gbGFiZWxUZXh0ICtcbiAgICAgICAgICAgICcgJyArXG4gICAgICAgICAgICAoJ3NreXV4X2NoYXJhY3Rlcl9jb3VudF9tZXNzYWdlJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogY2hhcmFjdGVyQ291bnRTY3JlZW5SZWFkZXIgOiBjaGFyYWN0ZXJMaW1pdClcbiAgICAgICAgICA6IG51bGxcbiAgICAgIFwiXG4gICAgICBbZm9yXT1cImNvbnRyb2xJZFwiXG4gICAgICBbaWRdPVwibGFiZWxJZFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHJlcXVpcmVkXG4gICAgICB9XCJcbiAgICAgID57eyBsYWJlbFRleHQgfX08L2xhYmVsXG4gICAgPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2lubGluZUhlbHBUZW1wbGF0ZT5cbiAgQGlmICgoaGVscFBvcG92ZXJDb250ZW50IHx8IGhlbHBLZXkpICYmIGxhYmVsVGV4dCkge1xuICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscFwiXG4gICAgICBbaGVscEtleV09XCJoZWxwS2V5XCJcbiAgICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAvPlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hhcmFjdGVyQ291bnRUZW1wbGF0ZT5cbiAgQGlmIChjaGFyYWN0ZXJMaW1pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgPHNreS1jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3JcbiAgICAgIFtjaGFyYWN0ZXJDb3VudF09XCJjb250cm9sRGlyPy52YWx1ZT8ubGVuZ3RoIHx8IDBcIlxuICAgICAgW2NoYXJhY3RlckNvdW50TGltaXRdPVwiY2hhcmFjdGVyTGltaXRcIlxuICAgIC8+XG4gIH1cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoYXJhY3Rlci1jb3VudGVyLWluZGljYXRvclwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2lucHV0VGVtcGxhdGU+XG4gIDxuZy1jb250ZW50XG4gICAgc2VsZWN0PVwiaW5wdXQsc2VsZWN0LC5za3ktZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksc2t5LXRleHQtZWRpdG9yXCJcbiAgLz5cbiAgQGlmIChob3N0SW5wdXRUZW1wbGF0ZSkge1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaG9zdElucHV0VGVtcGxhdGVcIiAvPlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInRleHRhcmVhXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uc0xlZnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1pbnB1dC1ncm91cC1idG4uc2t5LWlucHV0LWJveC1idG4tbGVmdFwiIC8+XG4gIEBpZiAoaG9zdEJ1dHRvbnNMZWZ0VGVtcGxhdGUpIHtcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhvc3RCdXR0b25zTGVmdFRlbXBsYXRlXCIgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zVGVtcGxhdGU+XG4gIDxuZy1jb250ZW50XG4gICAgc2VsZWN0PVwiLnNreS1pbnB1dC1ncm91cC1idG46bm90KC5za3ktaW5wdXQtYm94LWJ0bi1sZWZ0KTpub3QoLnNreS1pbnB1dC1ib3gtYnRuLWluc2V0KVwiXG4gIC8+XG4gIEBpZiAoaG9zdEJ1dHRvbnNUZW1wbGF0ZSkge1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaG9zdEJ1dHRvbnNUZW1wbGF0ZVwiIC8+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uc0luc2V0VGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktaW5wdXQtZ3JvdXAtYnRuLnNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCIgLz5cbiAgQGlmIChob3N0QnV0dG9uc0luc2V0VGVtcGxhdGUpIHtcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhvc3RCdXR0b25zSW5zZXRUZW1wbGF0ZVwiIC8+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvbnNJbnNldFRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWJveC1pY29uLWluc2V0LXdyYXBwZXJcIiAoY2xpY2spPVwib25JbnNldEljb25DbGljaygpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1pbnB1dC1ncm91cC1pY29uLnNreS1pbnB1dC1ib3gtaWNvbi1pbnNldFwiIC8+XG4gICAgQGlmIChob3N0SWNvbnNJbnNldFRlbXBsYXRlKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhvc3RJY29uc0luc2V0VGVtcGxhdGVcIiAvPlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ljb25zSW5zZXRMZWZ0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0LXdyYXBwZXJcIlxuICAgIChjbGljayk9XCJvbkluc2V0SWNvbkNsaWNrKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1pbnB1dC1ncm91cC1pY29uLnNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0XCIgLz5cbiAgICBAaWYgKGhvc3RJY29uc0luc2V0TGVmdFRlbXBsYXRlKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhvc3RJY29uc0luc2V0TGVmdFRlbXBsYXRlXCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlcnJvckxhYmVsVGVtcGxhdGU+XG4gIDxza3ktZm9ybS1lcnJvcnNcbiAgICBbaWRdPVwiZXJyb3JJZFwiXG4gICAgW2Vycm9yc109XCJjb250cm9sRGlyPy5lcnJvcnNcIlxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICBbdG91Y2hlZF09XCJjb250cm9sRGlyPy50b3VjaGVkXCJcbiAgICBbZGlydHldPVwiY29udHJvbERpcj8uZGlydHlcIlxuICA+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgIHNlbGVjdD1cInNreS1mb3JtLWVycm9yLHNwYW4uc2t5LWlucHV0LWJveC1kZXNjZW5kZW50LWZvcm0tZXJyb3JcIlxuICAgIC8+XG4gIDwvc2t5LWZvcm0tZXJyb3JzPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWVycm9yLWxhYmVsLC5za3ktZXJyb3ItaW5kaWNhdG9yXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGludFRleHRUZW1wbGF0ZT5cbiAgQGlmIChoaW50VGV4dCB8fCBob3N0SGludFRleHQpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1pbnB1dC1ib3gtaGludC10ZXh0XCJcbiAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgJ3NreS1mb250LWRlZW1waGFzaXplZCc6ICdkZWZhdWx0JyxcbiAgICAgICAgJ3NreS1mb250LWhpbnQtdGV4dC1zJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWlucHV0LWJveC1oaW50LXRleHQtaGlkZGVuJzogaGludFRleHRIaWRkZW4sXG4gICAgICAgICdza3ktc2NyZWVuLXJlYWRlci1vbmx5JzogaGludFRleHRTY3JlZW5SZWFkZXJPbmx5XG4gICAgICB9XCJcbiAgICAgIFtpZF09XCJoaW50VGV4dElkXCJcbiAgICA+XG4gICAgICB7eyBoaW50VGV4dCB8IHNreUlucHV0Qm94SGludFRleHQ6IGhvc3RIaW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyHelpInlineModule } from '@skyux/help-inline';
|
|
4
|
-
import { SkyThemeModule } from '@skyux/theme';
|
|
5
|
-
import { SkyCharacterCounterModule } from '../character-counter/character-counter.module';
|
|
6
|
-
import { SkyFormErrorModule } from '../form-error/form-error.module';
|
|
7
|
-
import { SkyFormErrorsModule } from '../form-error/form-errors.module';
|
|
8
|
-
import { SkyFormsResourcesModule } from '../shared/sky-forms-resources.module';
|
|
9
|
-
import { SkyInputBoxControlDirective } from './input-box-control.directive';
|
|
10
|
-
import { SkyInputBoxHintTextPipe } from './input-box-hint-text.pipe';
|
|
11
|
-
import { SkyInputBoxComponent } from './input-box.component';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class SkyInputBoxModule {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxModule, declarations: [SkyInputBoxComponent], imports: [CommonModule,
|
|
16
|
-
SkyCharacterCounterModule,
|
|
17
|
-
SkyFormErrorsModule,
|
|
18
|
-
SkyFormErrorModule,
|
|
19
|
-
SkyFormsResourcesModule,
|
|
20
|
-
SkyHelpInlineModule,
|
|
21
|
-
SkyInputBoxControlDirective,
|
|
22
|
-
SkyInputBoxHintTextPipe,
|
|
23
|
-
SkyThemeModule], exports: [SkyInputBoxHintTextPipe,
|
|
24
|
-
SkyInputBoxComponent,
|
|
25
|
-
SkyInputBoxControlDirective,
|
|
26
|
-
SkyFormErrorModule] }); }
|
|
27
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxModule, imports: [CommonModule,
|
|
28
|
-
SkyCharacterCounterModule,
|
|
29
|
-
SkyFormErrorsModule,
|
|
30
|
-
SkyFormErrorModule,
|
|
31
|
-
SkyFormsResourcesModule,
|
|
32
|
-
SkyHelpInlineModule,
|
|
33
|
-
SkyThemeModule, SkyFormErrorModule] }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyInputBoxModule, decorators: [{
|
|
36
|
-
type: NgModule,
|
|
37
|
-
args: [{
|
|
38
|
-
declarations: [SkyInputBoxComponent],
|
|
39
|
-
imports: [
|
|
40
|
-
CommonModule,
|
|
41
|
-
SkyCharacterCounterModule,
|
|
42
|
-
SkyFormErrorsModule,
|
|
43
|
-
SkyFormErrorModule,
|
|
44
|
-
SkyFormsResourcesModule,
|
|
45
|
-
SkyHelpInlineModule,
|
|
46
|
-
SkyInputBoxControlDirective,
|
|
47
|
-
SkyInputBoxHintTextPipe,
|
|
48
|
-
SkyThemeModule,
|
|
49
|
-
],
|
|
50
|
-
exports: [
|
|
51
|
-
SkyInputBoxHintTextPipe,
|
|
52
|
-
SkyInputBoxComponent,
|
|
53
|
-
SkyInputBoxControlDirective,
|
|
54
|
-
SkyFormErrorModule,
|
|
55
|
-
],
|
|
56
|
-
}]
|
|
57
|
-
}] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFzQjdELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQW5CYixvQkFBb0IsYUFFakMsWUFBWTtZQUNaLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2QixjQUFjLGFBR2QsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQiwyQkFBMkI7WUFDM0Isa0JBQWtCO2dIQUdULGlCQUFpQixZQWpCMUIsWUFBWTtZQUNaLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFHbkIsY0FBYyxFQU1kLGtCQUFrQjs7NEZBR1QsaUJBQWlCO2tCQXBCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2QixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQixrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lTW9kdWxlIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlck1vZHVsZSB9IGZyb20gJy4uL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JNb2R1bGUgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IubW9kdWxlJztcbmltcG9ydCB7IFNreUZvcm1FcnJvcnNNb2R1bGUgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZm9ybXMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUlucHV0Qm94Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vaW5wdXQtYm94LWNvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreUlucHV0Qm94SGludFRleHRQaXBlIH0gZnJvbSAnLi9pbnB1dC1ib3gtaGludC10ZXh0LnBpcGUnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWJveC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lJbnB1dEJveENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5Q2hhcmFjdGVyQ291bnRlck1vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JzTW9kdWxlLFxuICAgIFNreUZvcm1FcnJvck1vZHVsZSxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUlucHV0Qm94Q29udHJvbERpcmVjdGl2ZSxcbiAgICBTa3lJbnB1dEJveEhpbnRUZXh0UGlwZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUlucHV0Qm94SGludFRleHRQaXBlLFxuICAgIFNreUlucHV0Qm94Q29tcG9uZW50LFxuICAgIFNreUlucHV0Qm94Q29udHJvbERpcmVjdGl2ZSxcbiAgICBTa3lGb3JtRXJyb3JNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUlucHV0Qm94TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Tracks the element IDs for all radios within a radio group.
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export class SkyRadioGroupIdService {
|
|
9
|
-
get radioIds() {
|
|
10
|
-
return this.#radioIdsObs;
|
|
11
|
-
}
|
|
12
|
-
#radioIds;
|
|
13
|
-
#radioIds$;
|
|
14
|
-
#radioIdsObs;
|
|
15
|
-
constructor() {
|
|
16
|
-
this.#radioIds = new Map();
|
|
17
|
-
this.#radioIds$ = new BehaviorSubject([]);
|
|
18
|
-
this.#radioIdsObs = this.#radioIds$.asObservable();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Associates a radio input's ID with its parent radio group.
|
|
22
|
-
* @param {string} id A unique ID for the radio component.
|
|
23
|
-
* @param {string} inputElementId The ID applied to the radio input element.
|
|
24
|
-
*/
|
|
25
|
-
register(id, inputElementId) {
|
|
26
|
-
if (!this.#radioIds.has(id) || this.#radioIds.get(id) !== inputElementId) {
|
|
27
|
-
this.#radioIds.set(id, inputElementId);
|
|
28
|
-
this.#emitRadioIds();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Disassociates a radio input's ID with its parent radio group.
|
|
33
|
-
* @param {string} id The ID used to register the radio component.
|
|
34
|
-
*/
|
|
35
|
-
unregister(id) {
|
|
36
|
-
if (this.#radioIds.has(id)) {
|
|
37
|
-
this.#radioIds.delete(id);
|
|
38
|
-
this.#emitRadioIds();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
#emitRadioIds() {
|
|
42
|
-
this.#radioIds$.next(Array.from(this.#radioIds.values()));
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyRadioGroupIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyRadioGroupIdService }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyRadioGroupIdService, decorators: [{
|
|
48
|
-
type: Injectable
|
|
49
|
-
}], ctorParameters: () => [] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAtaWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRW5EOzs7R0FHRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUyxDQUFzQjtJQUMvQixVQUFVLENBQTRCO0lBQ3RDLFlBQVksQ0FBdUI7SUFFbkM7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsRUFBVSxFQUFFLGNBQXNCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLEVBQVU7UUFDMUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7K0dBeENVLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUcmFja3MgdGhlIGVsZW1lbnQgSURzIGZvciBhbGwgcmFkaW9zIHdpdGhpbiBhIHJhZGlvIGdyb3VwLlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lSYWRpb0dyb3VwSWRTZXJ2aWNlIHtcbiAgcHVibGljIGdldCByYWRpb0lkcygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuI3JhZGlvSWRzT2JzO1xuICB9XG5cbiAgI3JhZGlvSWRzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAjcmFkaW9JZHMkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+O1xuICAjcmFkaW9JZHNPYnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI3JhZGlvSWRzID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuI3JhZGlvSWRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICB0aGlzLiNyYWRpb0lkc09icyA9IHRoaXMuI3JhZGlvSWRzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGVzIGEgcmFkaW8gaW5wdXQncyBJRCB3aXRoIGl0cyBwYXJlbnQgcmFkaW8gZ3JvdXAuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBBIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlucHV0RWxlbWVudElkIFRoZSBJRCBhcHBsaWVkIHRvIHRoZSByYWRpbyBpbnB1dCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKGlkOiBzdHJpbmcsIGlucHV0RWxlbWVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3JhZGlvSWRzLmhhcyhpZCkgfHwgdGhpcy4jcmFkaW9JZHMuZ2V0KGlkKSAhPT0gaW5wdXRFbGVtZW50SWQpIHtcbiAgICAgIHRoaXMuI3JhZGlvSWRzLnNldChpZCwgaW5wdXRFbGVtZW50SWQpO1xuICAgICAgdGhpcy4jZW1pdFJhZGlvSWRzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERpc2Fzc29jaWF0ZXMgYSByYWRpbyBpbnB1dCdzIElEIHdpdGggaXRzIHBhcmVudCByYWRpbyBncm91cC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBJRCB1c2VkIHRvIHJlZ2lzdGVyIHRoZSByYWRpbyBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgdW5yZWdpc3RlcihpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3JhZGlvSWRzLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuI3JhZGlvSWRzLmRlbGV0ZShpZCk7XG4gICAgICB0aGlzLiNlbWl0UmFkaW9JZHMoKTtcbiAgICB9XG4gIH1cblxuICAjZW1pdFJhZGlvSWRzKCk6IHZvaWQge1xuICAgIHRoaXMuI3JhZGlvSWRzJC5uZXh0KEFycmF5LmZyb20odGhpcy4jcmFkaW9JZHMudmFsdWVzKCkpKTtcbiAgfVxufVxuIl19
|