@skyux/phone-field 11.1.0 → 11.2.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 +225 -225
- package/esm2022/lib/modules/phone-field/phone-field-input.directive.mjs +4 -10
- package/fesm2022/skyux-phone-field.mjs +3 -9
- package/fesm2022/skyux-phone-field.mjs.map +1 -1
- package/lib/modules/phone-field/phone-field-input.directive.d.ts +0 -1
- package/package.json +8 -8
|
@@ -143,14 +143,11 @@ export class SkyPhoneFieldInputDirective {
|
|
|
143
143
|
onBlur() {
|
|
144
144
|
this.#notifyTouched?.();
|
|
145
145
|
}
|
|
146
|
-
onChange() {
|
|
147
|
-
const value = this.#adapterSvc?.getInputValue(this.#elRef);
|
|
148
|
-
this.#setValue(value);
|
|
149
|
-
this.#notifyChange?.(this.#getValue());
|
|
150
|
-
}
|
|
151
146
|
onInput() {
|
|
152
147
|
const value = this.#adapterSvc?.getInputValue(this.#elRef);
|
|
153
148
|
this.#phoneFieldComponent?.setCountryByDialCode(value);
|
|
149
|
+
this.#setValue(value);
|
|
150
|
+
this.#notifyChange?.(this.#getValue());
|
|
154
151
|
}
|
|
155
152
|
#formatPhoneNumber(value) {
|
|
156
153
|
if (!value) {
|
|
@@ -212,7 +209,7 @@ export class SkyPhoneFieldInputDirective {
|
|
|
212
209
|
}
|
|
213
210
|
}
|
|
214
211
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyPhoneFieldInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
215
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.3", type: SkyPhoneFieldInputDirective, selector: "[skyPhoneFieldInput]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], skyPhoneFieldNoValidate: ["skyPhoneFieldNoValidate", "skyPhoneFieldNoValidate", booleanAttribute] }, host: { listeners: { "blur": "onBlur()", "
|
|
212
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.3", type: SkyPhoneFieldInputDirective, selector: "[skyPhoneFieldInput]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], skyPhoneFieldNoValidate: ["skyPhoneFieldNoValidate", "skyPhoneFieldNoValidate", booleanAttribute] }, host: { listeners: { "blur": "onBlur()", "input": "onInput()" } }, providers: [
|
|
216
213
|
{
|
|
217
214
|
provide: NG_VALIDATORS,
|
|
218
215
|
useExisting: SkyPhoneFieldInputDirective,
|
|
@@ -251,11 +248,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
251
248
|
}], onBlur: [{
|
|
252
249
|
type: HostListener,
|
|
253
250
|
args: ['blur']
|
|
254
|
-
}], onChange: [{
|
|
255
|
-
type: HostListener,
|
|
256
|
-
args: ['change']
|
|
257
251
|
}], onInput: [{
|
|
258
252
|
type: HostListener,
|
|
259
253
|
args: ['input']
|
|
260
254
|
}] } });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFakU7Ozs7Ozs7Ozs7OztHQVlHO0FBZ0JILE1BQU0sT0FBTywyQkFBMkI7SUFmeEM7UUFxQ0U7Ozs7OztXQU1HO1FBRUksNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRXZDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUdyQyxnQkFBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtZQUN6RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFFTSxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRTtZQUM3RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0tBdU1KO0lBdFBDOzs7O09BSUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztZQUN4RCxJQUFJLENBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFZRCxVQUFVLENBQVM7SUFDbkIsT0FBTyxDQUFNO0lBQ2IsUUFBUSxDQUE4QjtJQUN0QyxjQUFjLENBQXVCO0lBQ3JDLGFBQWEsQ0FBd0M7SUFDckQsY0FBYyxDQUEyQjtJQUN6QyxXQUFXLENBQWlDO0lBRW5DLFdBQVcsQ0FJakI7SUFFTSxNQUFNLENBQXNCO0lBQzVCLG9CQUFvQixDQUcxQjtJQUVJLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQ7Z0JBQzFELGdDQUFnQyxDQUNuQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQjthQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjthQUN4QyxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3JCLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBYztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBbUI7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87Z0JBQ0wsYUFBYSxFQUFFO29CQUNiLE9BQU8sRUFBRSxLQUFLO2lCQUNmO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM5QixNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXhELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLHNFQUFzRTtZQUN0RSxrRUFBa0U7WUFDbEUseUVBQXlFO1lBQ3pFLG9FQUFvRTtZQUNwRSxXQUFXO1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFHUyxNQUFNO1FBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUdTLFFBQVE7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFHUyxPQUFPO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBeUI7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFlBQVksQ0FBQztRQUU3RCxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUN2RCxLQUFLLEVBQ0wsVUFBVSxJQUFJLGNBQWMsQ0FDN0IsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxRQUFRLFlBQVksRUFBRSxDQUFDO29CQUNyQixLQUFLLGVBQWU7d0JBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzVCLFdBQVcsRUFDWCxpQkFBaUIsQ0FBQyxhQUFhLENBQ2hDLENBQUM7b0JBRUosS0FBSyxVQUFVO3dCQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzVCLFdBQVcsRUFDWCxpQkFBaUIsQ0FBQyxRQUFRLENBQzNCLENBQUM7b0JBRUosS0FBSyxTQUFTLENBQUM7b0JBQ2Y7d0JBQ0UsT0FBTyxVQUFVLElBQUksVUFBVSxLQUFLLGNBQWM7NEJBQ2hELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDckIsV0FBVyxFQUNYLGlCQUFpQixDQUFDLGFBQWEsQ0FDaEM7NEJBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUNyQixXQUFXLEVBQ1gsaUJBQWlCLENBQUMsUUFBUSxDQUMzQixDQUFDO2dCQUNWLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixLQUFLO1FBQ1AsQ0FBQztRQUVELE9BQU87SUFDVCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWE7UUFDL0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLGNBQWMsQ0FBQztRQUMzRCxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQztRQUVyRSxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUN2RCxLQUFLLEVBQ0wsVUFBVSxDQUNYLENBQUM7WUFFRixJQUFJLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO2dCQUNuRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUF5QjtRQUNqQywwQkFBMEI7UUFDMUIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzs4R0F4UFUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsaUZBUWxCLGdCQUFnQixtRkFxQmhCLGdCQUFnQiwyR0ExQ3pCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSwyQkFBMkI7Z0JBQ3hDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsMkJBQTJCO2dCQUN4QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLDJCQUEyQjtrQkFmdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsNkJBQTZCOzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDZCQUE2Qjs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBVVksUUFBUTtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFzQi9CLHVCQUF1QjtzQkFEN0IsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFrSDVCLE1BQU07c0JBRGYsWUFBWTt1QkFBQyxNQUFNO2dCQU1WLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsUUFBUTtnQkFRWixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQaG9uZU51bWJlckZvcm1hdCwgUGhvbmVOdW1iZXJVdGlsIH0gZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lQaG9uZUZpZWxkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3Bob25lLWZpZWxkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lQaG9uZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS1maWVsZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBidXR0b24sIHNlYXJjaCBpbnB1dCwgYW5kIHRleHQgaW5wdXQgZm9yIGVudGVyaW5nIGFuZCB2YWxpZGF0aW5nXG4gKiBpbnRlcm5hdGlvbmFsIHBob25lIG51bWJlcnMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudCwgYW5kIHdyYXBcbiAqIHRoYXQgZWxlbWVudCBpbiBhIGBza3ktcGhvbmUtZmllbGRgIGNvbXBvbmVudC4gQnkgZGVmYXVsdCwgdGhlIGNvdW50cnkgc2VsZWN0b3JcbiAqIGJ1dHRvbiBkaXNwbGF5cyBhIGZsYWcgaWNvbiBmb3IgdGhlIGRlZmF1bHQgY291bnRyeSwgYW5kIHRoZSBwaG9uZSBudW1iZXIgaW5wdXRcbiAqIGRpc3BsYXlzIGEgc2FtcGxlIG9mIHRoZSBjb3JyZWN0IHBob25lIG51bWJlciBmb3JtYXQuIFdoZW4gdXNlcnMgc2VsZWN0IHRoZSBjb3VudHJ5XG4gKiBzZWxlY3RvciBidXR0b24sIHRoZXkgZXhwb3NlIHRoZSBjb3VudHJ5IHNlYXJjaCBpbnB1dCwgd2hpY2ggaXNcbiAqIFthbiBhdXRvY29tcGxldGUgaW5wdXRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9hdXRvY29tcGxldGUpXG4gKiB0aGF0IGFsbG93cyB0aGVtIHRvIHNlbGVjdCBkaWZmZXJlbnQgY291bnRyaWVzLiBXaGVuIHVzZXJzIGVudGVyIGArYCBmb2xsb3dlZCBieSBhblxuICogaW50ZXJuYXRpb25hbCBkaWFsIGNvZGUgaW4gdGhlIHBob25lIG51bWJlciBpbnB1dCwgdGhlIGNvdW50cnkgYXV0b21hdGljYWxseSBzd2l0Y2hlc1xuICogdG8gdGhlIGNvdW50cnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFsIGNvZGUuXG4gKiBAcmVxdWlyZWRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVBob25lRmllbGRJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgcGhvbmUgZmllbGQgb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCkge1xuICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5jb3VudHJ5U2VsZWN0RGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTdmM/LnNldEVsZW1lbnREaXNhYmxlZFN0YXRlKHRoaXMuI2VsUmVmLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBwcmV2ZW50IHZhbGlkYXRpb24gb24gdGhlIHBob25lIG51bWJlciBpbnB1dC4gRm9yIHZhbGlkYXRpb24sXG4gICAqIHBob25lIG51bWJlcnMgYXJlIGRyaXZlbiB0aHJvdWdoIHRoZSBgbmdNb2RlbGAgYXR0cmlidXRlIHRoYXQgeW91IHNwZWNpZnkgb24gYW5cbiAgICogYGlucHV0YCBlbGVtZW50IG9yIG9uIGEgYEZvcm1Db250cm9sYCBpbiBhIHJlYWN0aXZlIGZvcm0uIFRvIHByZXZlbnQgdmFsaWRhdGlvbixcbiAgICogc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBza3lQaG9uZUZpZWxkTm9WYWxpZGF0ZSA9IGZhbHNlO1xuXG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI192YWx1ZSA9ICcnO1xuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNub3RpZnlDaGFuZ2U6ICgodmFsdWU6IHN0cmluZykgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gICNub3RpZnlUb3VjaGVkOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gICNwaG9uZVV0aWxzID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG5cbiAgcmVhZG9ubHkgI2FkYXB0ZXJTdmMgPSBpbmplY3QoU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlLCB7XG4gICAgaG9zdDogdHJ1ZSxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBza2lwU2VsZjogdHJ1ZSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjcGhvbmVGaWVsZENvbXBvbmVudCA9IGluamVjdChTa3lQaG9uZUZpZWxkQ29tcG9uZW50LCB7XG4gICAgaG9zdDogdHJ1ZSxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnWW91IG11c3Qgd3JhcCB0aGUgYHNreVBob25lRmllbGRJbnB1dGAgZGlyZWN0aXZlIHdpdGhpbiBhICcgK1xuICAgICAgICAgICdgPHNreS1waG9uZS1maWVsZD5gIGNvbXBvbmVudCEnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNhZGFwdGVyU3ZjPy5zZXRFbGVtZW50VHlwZSh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy4jYWRhcHRlclN2Yz8uYWRkRWxlbWVudENsYXNzKHRoaXMuI2VsUmVmLCAnc2t5LWZvcm0tY29udHJvbCcpO1xuXG4gICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLiNhZGFwdGVyU3ZjPy5nZXRJbnB1dFZhbHVlKHRoaXMuI2VsUmVmKTtcbiAgICAgICAgdGhpcy4jc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLiNjb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuY291bnRyeVNlYXJjaEZvcm1cbiAgICAgIC5nZXQoJ2NvdW50cnlTZWFyY2gnKVxuICAgICAgPy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy4jY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jbm90aWZ5Q2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNub3RpZnlUb3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHRoaXMuI2NvbnRyb2wgPz89IGNvbnRyb2w7XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuc2t5UGhvbmVGaWVsZE5vVmFsaWRhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghdGhpcy4jaXNWYWxpZFBob25lTnVtYmVyKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2t5UGhvbmVGaWVsZDoge1xuICAgICAgICAgIGludmFsaWQ6IHZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3QgcmF3VmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiAnJztcblxuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNldENvdW50cnlCeURpYWxDb2RlKHJhd1ZhbHVlKTtcbiAgICB0aGlzLiNhZGFwdGVyU3ZjPy5zZXRFbGVtZW50VmFsdWUodGhpcy4jZWxSZWYsIHJhd1ZhbHVlKTtcblxuICAgIHRoaXMuI3NldFZhbHVlKHJhd1ZhbHVlKTtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuI2dldFZhbHVlKCk7XG5cbiAgICBpZiAocmF3VmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgc2V0IGJlZm9yZSB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZCwgd2FpdCBmb3IgdGhlXG4gICAgICAvLyBmaXJzdCBjeWNsZSB0byBjb21wbGV0ZSBiZWZvcmUgdHJpZ2dlcmluZyBhIHZhbHVlIGNoYW5nZSBldmVudC5cbiAgICAgIC8vIChUaGlzIG9jY3VycyB3aGVuIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggYW4gdW5mb3JtYXR0ZWQgdmFsdWVcbiAgICAgIC8vIGJ1dCBpcyBmb3JtYXR0ZWQgaW50byBhIG5ldyB2YWx1ZSBpbW1lZGlhdGVseSBpbiB0aGUgYHdyaXRlVmFsdWVgXG4gICAgICAvLyBtZXRob2QuKVxuICAgICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI25vdGlmeUNoYW5nZT8uKG5ld1ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNub3RpZnlDaGFuZ2U/LihuZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHByb3RlY3RlZCBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jbm90aWZ5VG91Y2hlZD8uKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnKVxuICBwcm90ZWN0ZWQgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLiNhZGFwdGVyU3ZjPy5nZXRJbnB1dFZhbHVlKHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLiNzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy4jbm90aWZ5Q2hhbmdlPy4odGhpcy4jZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBvbklucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy4jYWRhcHRlclN2Yz8uZ2V0SW5wdXRWYWx1ZSh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2V0Q291bnRyeUJ5RGlhbENvZGUodmFsdWUpO1xuICB9XG5cbiAgI2Zvcm1hdFBob25lTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0Q291bnRyeSA9IHRoaXMuI2dldERlZmF1bHRDb3VudHJ5KCk7XG4gICAgY29uc3QgcmVnaW9uQ29kZSA9IHRoaXMuI2dldFJlZ2lvbkNvZGUoKTtcbiAgICBjb25zdCByZXR1cm5Gb3JtYXQgPSB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5yZXR1cm5Gb3JtYXQ7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGhvbmVOdW1iZXIgPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcmVnaW9uQ29kZSA/PyBkZWZhdWx0Q291bnRyeSxcbiAgICAgICk7XG5cbiAgICAgIGlmICh0aGlzLiNwaG9uZVV0aWxzLmlzUG9zc2libGVOdW1iZXIocGhvbmVOdW1iZXIpKSB7XG4gICAgICAgIHN3aXRjaCAocmV0dXJuRm9ybWF0KSB7XG4gICAgICAgICAgY2FzZSAnaW50ZXJuYXRpb25hbCc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5mb3JtYXQoXG4gICAgICAgICAgICAgIHBob25lTnVtYmVyLFxuICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGNhc2UgJ25hdGlvbmFsJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0Lk5BVElPTkFMLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcmVnaW9uQ29kZSAmJiByZWdpb25Db2RlICE9PSBkZWZhdWx0Q291bnRyeVxuICAgICAgICAgICAgICA/IHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICAgIHBob25lTnVtYmVyLFxuICAgICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUwsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLyogKi9cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAjZ2V0RGVmYXVsdENvdW50cnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uZGVmYXVsdENvdW50cnk7XG4gIH1cblxuICAjZ2V0UmVnaW9uQ29kZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZWxlY3RlZENvdW50cnk/LmlzbzI7XG4gIH1cblxuICAjZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZhbHVlO1xuICB9XG5cbiAgI2lzVmFsaWRQaG9uZU51bWJlcih2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGVmYXVsdENvdW50cnkgPSB0aGlzLiNnZXREZWZhdWx0Q291bnRyeSgpO1xuICAgIGNvbnN0IHJlZ2lvbkNvZGUgPSB0aGlzLiNnZXRSZWdpb25Db2RlKCkgPz8gZGVmYXVsdENvdW50cnk7XG4gICAgY29uc3QgYWxsb3dFeHRlbnNpb25zID0gISF0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5hbGxvd0V4dGVuc2lvbnM7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGhvbmVOdW1iZXIgPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcmVnaW9uQ29kZSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghYWxsb3dFeHRlbnNpb25zICYmIHBob25lTnVtYmVyLmdldEV4dGVuc2lvbigpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuaXNWYWxpZE51bWJlckZvclJlZ2lvbihwaG9uZU51bWJlciwgcmVnaW9uQ29kZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gICNzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkID0gdGhpcy4jZm9ybWF0UGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgdGhpcy4jX3ZhbHVlID0gZm9ybWF0dGVkID8/IHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFakU7Ozs7Ozs7Ozs7OztHQVlHO0FBZ0JILE1BQU0sT0FBTywyQkFBMkI7SUFmeEM7UUFxQ0U7Ozs7OztXQU1HO1FBRUksNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBRXZDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUdyQyxnQkFBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtZQUN6RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FD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QUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQXNCL0IsdUJBQXVCO3NCQUQ3QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWtINUIsTUFBTTtzQkFEZixZQUFZO3VCQUFDLE1BQU07Z0JBTVYsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQsIFBob25lTnVtYmVyVXRpbCB9IGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9waG9uZS1maWVsZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtZmllbGQuY29tcG9uZW50JztcblxuLyoqXG4gKiBDcmVhdGVzIGEgYnV0dG9uLCBzZWFyY2ggaW5wdXQsIGFuZCB0ZXh0IGlucHV0IGZvciBlbnRlcmluZyBhbmQgdmFsaWRhdGluZ1xuICogaW50ZXJuYXRpb25hbCBwaG9uZSBudW1iZXJzLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsIGFuZCB3cmFwXG4gKiB0aGF0IGVsZW1lbnQgaW4gYSBgc2t5LXBob25lLWZpZWxkYCBjb21wb25lbnQuIEJ5IGRlZmF1bHQsIHRoZSBjb3VudHJ5IHNlbGVjdG9yXG4gKiBidXR0b24gZGlzcGxheXMgYSBmbGFnIGljb24gZm9yIHRoZSBkZWZhdWx0IGNvdW50cnksIGFuZCB0aGUgcGhvbmUgbnVtYmVyIGlucHV0XG4gKiBkaXNwbGF5cyBhIHNhbXBsZSBvZiB0aGUgY29ycmVjdCBwaG9uZSBudW1iZXIgZm9ybWF0LiBXaGVuIHVzZXJzIHNlbGVjdCB0aGUgY291bnRyeVxuICogc2VsZWN0b3IgYnV0dG9uLCB0aGV5IGV4cG9zZSB0aGUgY291bnRyeSBzZWFyY2ggaW5wdXQsIHdoaWNoIGlzXG4gKiBbYW4gYXV0b2NvbXBsZXRlIGlucHV0XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlKVxuICogdGhhdCBhbGxvd3MgdGhlbSB0byBzZWxlY3QgZGlmZmVyZW50IGNvdW50cmllcy4gV2hlbiB1c2VycyBlbnRlciBgK2AgZm9sbG93ZWQgYnkgYW5cbiAqIGludGVybmF0aW9uYWwgZGlhbCBjb2RlIGluIHRoZSBwaG9uZSBudW1iZXIgaW5wdXQsIHRoZSBjb3VudHJ5IGF1dG9tYXRpY2FsbHkgc3dpdGNoZXNcbiAqIHRvIHRoZSBjb3VudHJ5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhbCBjb2RlLlxuICogQHJlcXVpcmVkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lQaG9uZUZpZWxkSW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lQaG9uZUZpZWxkSW5wdXREaXJlY3RpdmUsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHBob25lIGZpZWxkIG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuY291bnRyeVNlbGVjdERpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLiNhZGFwdGVyU3ZjPy5zZXRFbGVtZW50RGlzYWJsZWRTdGF0ZSh0aGlzLiNlbFJlZiwgdmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJldmVudCB2YWxpZGF0aW9uIG9uIHRoZSBwaG9uZSBudW1iZXIgaW5wdXQuIEZvciB2YWxpZGF0aW9uLFxuICAgKiBwaG9uZSBudW1iZXJzIGFyZSBkcml2ZW4gdGhyb3VnaCB0aGUgYG5nTW9kZWxgIGF0dHJpYnV0ZSB0aGF0IHlvdSBzcGVjaWZ5IG9uIGFuXG4gICAqIGBpbnB1dGAgZWxlbWVudCBvciBvbiBhIGBGb3JtQ29udHJvbGAgaW4gYSByZWFjdGl2ZSBmb3JtLiBUbyBwcmV2ZW50IHZhbGlkYXRpb24sXG4gICAqIHNldCB0aGlzIHByb3BlcnR5IHRvIGB0cnVlYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2t5UGhvbmVGaWVsZE5vVmFsaWRhdGUgPSBmYWxzZTtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfdmFsdWUgPSAnJztcbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjbm90aWZ5Q2hhbmdlOiAoKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAjbm90aWZ5VG91Y2hlZDogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAjcGhvbmVVdGlscyA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuXG4gIHJlYWRvbmx5ICNhZGFwdGVyU3ZjID0gaW5qZWN0KFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSwge1xuICAgIGhvc3Q6IHRydWUsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2tpcFNlbGY6IHRydWUsXG4gIH0pO1xuXG4gIHJlYWRvbmx5ICNlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3Bob25lRmllbGRDb21wb25lbnQgPSBpbmplY3QoU2t5UGhvbmVGaWVsZENvbXBvbmVudCwge1xuICAgIGhvc3Q6IHRydWUsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1lvdSBtdXN0IHdyYXAgdGhlIGBza3lQaG9uZUZpZWxkSW5wdXRgIGRpcmVjdGl2ZSB3aXRoaW4gYSAnICtcbiAgICAgICAgICAnYDxza3ktcGhvbmUtZmllbGQ+YCBjb21wb25lbnQhJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jYWRhcHRlclN2Yz8uc2V0RWxlbWVudFR5cGUodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuI2FkYXB0ZXJTdmM/LmFkZEVsZW1lbnRDbGFzcyh0aGlzLiNlbFJlZiwgJ3NreS1mb3JtLWNvbnRyb2wnKTtcblxuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy4jYWRhcHRlclN2Yz8uZ2V0SW5wdXRWYWx1ZSh0aGlzLiNlbFJlZik7XG4gICAgICAgIHRoaXMuI3NldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy4jY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50LmNvdW50cnlTZWFyY2hGb3JtXG4gICAgICAuZ2V0KCdjb3VudHJ5U2VhcmNoJylcbiAgICAgID8udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIHRoaXMuI2NvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI25vdGlmeUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jbm90aWZ5VG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICB0aGlzLiNjb250cm9sID8/PSBjb250cm9sO1xuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLnNreVBob25lRmllbGROb1ZhbGlkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuI2lzVmFsaWRQaG9uZU51bWJlcih2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNreVBob25lRmllbGQ6IHtcbiAgICAgICAgICBpbnZhbGlkOiB2YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHJhd1ZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogJyc7XG5cbiAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZXRDb3VudHJ5QnlEaWFsQ29kZShyYXdWYWx1ZSk7XG4gICAgdGhpcy4jYWRhcHRlclN2Yz8uc2V0RWxlbWVudFZhbHVlKHRoaXMuI2VsUmVmLCByYXdWYWx1ZSk7XG5cbiAgICB0aGlzLiNzZXRWYWx1ZShyYXdWYWx1ZSk7XG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLiNnZXRWYWx1ZSgpO1xuXG4gICAgaWYgKHJhd1ZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIHNldCBiZWZvcmUgdGhlIGNvbnRyb2wgaXMgaW5pdGlhbGl6ZWQsIHdhaXQgZm9yIHRoZVxuICAgICAgLy8gZmlyc3QgY3ljbGUgdG8gY29tcGxldGUgYmVmb3JlIHRyaWdnZXJpbmcgYSB2YWx1ZSBjaGFuZ2UgZXZlbnQuXG4gICAgICAvLyAoVGhpcyBvY2N1cnMgd2hlbiB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZCB3aXRoIGFuIHVuZm9ybWF0dGVkIHZhbHVlXG4gICAgICAvLyBidXQgaXMgZm9ybWF0dGVkIGludG8gYSBuZXcgdmFsdWUgaW1tZWRpYXRlbHkgaW4gdGhlIGB3cml0ZVZhbHVlYFxuICAgICAgLy8gbWV0aG9kLilcbiAgICAgIGlmICghdGhpcy4jY29udHJvbCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNub3RpZnlDaGFuZ2U/LihuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5Q2hhbmdlPy4obmV3VmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwcm90ZWN0ZWQgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI25vdGlmeVRvdWNoZWQ/LigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnKVxuICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuI2FkYXB0ZXJTdmM/LmdldElucHV0VmFsdWUodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNldENvdW50cnlCeURpYWxDb2RlKHZhbHVlKTtcbiAgICB0aGlzLiNzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy4jbm90aWZ5Q2hhbmdlPy4odGhpcy4jZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAjZm9ybWF0UGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRDb3VudHJ5ID0gdGhpcy4jZ2V0RGVmYXVsdENvdW50cnkoKTtcbiAgICBjb25zdCByZWdpb25Db2RlID0gdGhpcy4jZ2V0UmVnaW9uQ29kZSgpO1xuICAgIGNvbnN0IHJldHVybkZvcm1hdCA9IHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnJldHVybkZvcm1hdDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwaG9uZU51bWJlciA9IHRoaXMuI3Bob25lVXRpbHMucGFyc2VBbmRLZWVwUmF3SW5wdXQoXG4gICAgICAgIHZhbHVlLFxuICAgICAgICByZWdpb25Db2RlID8/IGRlZmF1bHRDb3VudHJ5LFxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuI3Bob25lVXRpbHMuaXNQb3NzaWJsZU51bWJlcihwaG9uZU51bWJlcikpIHtcbiAgICAgICAgc3dpdGNoIChyZXR1cm5Gb3JtYXQpIHtcbiAgICAgICAgICBjYXNlICdpbnRlcm5hdGlvbmFsJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgY2FzZSAnbmF0aW9uYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUwsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiByZWdpb25Db2RlICYmIHJlZ2lvbkNvZGUgIT09IGRlZmF1bHRDb3VudHJ5XG4gICAgICAgICAgICAgID8gdGhpcy4jcGhvbmVVdGlscy5mb3JtYXQoXG4gICAgICAgICAgICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA6IHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvKiAqL1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gICNnZXREZWZhdWx0Q291bnRyeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5kZWZhdWx0Q291bnRyeTtcbiAgfVxuXG4gICNnZXRSZWdpb25Db2RlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMjtcbiAgfVxuXG4gICNnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfdmFsdWU7XG4gIH1cblxuICAjaXNWYWxpZFBob25lTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBkZWZhdWx0Q291bnRyeSA9IHRoaXMuI2dldERlZmF1bHRDb3VudHJ5KCk7XG4gICAgY29uc3QgcmVnaW9uQ29kZSA9IHRoaXMuI2dldFJlZ2lvbkNvZGUoKSA/PyBkZWZhdWx0Q291bnRyeTtcbiAgICBjb25zdCBhbGxvd0V4dGVuc2lvbnMgPSAhIXRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LmFsbG93RXh0ZW5zaW9ucztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwaG9uZU51bWJlciA9IHRoaXMuI3Bob25lVXRpbHMucGFyc2VBbmRLZWVwUmF3SW5wdXQoXG4gICAgICAgIHZhbHVlLFxuICAgICAgICByZWdpb25Db2RlLFxuICAgICAgKTtcblxuICAgICAgaWYgKCFhbGxvd0V4dGVuc2lvbnMgJiYgcGhvbmVOdW1iZXIuZ2V0RXh0ZW5zaW9uKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5pc1ZhbGlkTnVtYmVyRm9yUmVnaW9uKHBob25lTnVtYmVyLCByZWdpb25Db2RlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0aGlzLiNmb3JtYXRQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICB0aGlzLiNfdmFsdWUgPSBmb3JtYXR0ZWQgPz8gdmFsdWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -689,14 +689,11 @@ class SkyPhoneFieldInputDirective {
|
|
|
689
689
|
onBlur() {
|
|
690
690
|
this.#notifyTouched?.();
|
|
691
691
|
}
|
|
692
|
-
onChange() {
|
|
693
|
-
const value = this.#adapterSvc?.getInputValue(this.#elRef);
|
|
694
|
-
this.#setValue(value);
|
|
695
|
-
this.#notifyChange?.(this.#getValue());
|
|
696
|
-
}
|
|
697
692
|
onInput() {
|
|
698
693
|
const value = this.#adapterSvc?.getInputValue(this.#elRef);
|
|
699
694
|
this.#phoneFieldComponent?.setCountryByDialCode(value);
|
|
695
|
+
this.#setValue(value);
|
|
696
|
+
this.#notifyChange?.(this.#getValue());
|
|
700
697
|
}
|
|
701
698
|
#formatPhoneNumber(value) {
|
|
702
699
|
if (!value) {
|
|
@@ -758,7 +755,7 @@ class SkyPhoneFieldInputDirective {
|
|
|
758
755
|
}
|
|
759
756
|
}
|
|
760
757
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SkyPhoneFieldInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
761
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.3", type: SkyPhoneFieldInputDirective, selector: "[skyPhoneFieldInput]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], skyPhoneFieldNoValidate: ["skyPhoneFieldNoValidate", "skyPhoneFieldNoValidate", booleanAttribute] }, host: { listeners: { "blur": "onBlur()", "
|
|
758
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.3", type: SkyPhoneFieldInputDirective, selector: "[skyPhoneFieldInput]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], skyPhoneFieldNoValidate: ["skyPhoneFieldNoValidate", "skyPhoneFieldNoValidate", booleanAttribute] }, host: { listeners: { "blur": "onBlur()", "input": "onInput()" } }, providers: [
|
|
762
759
|
{
|
|
763
760
|
provide: NG_VALIDATORS,
|
|
764
761
|
useExisting: SkyPhoneFieldInputDirective,
|
|
@@ -797,9 +794,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
|
797
794
|
}], onBlur: [{
|
|
798
795
|
type: HostListener,
|
|
799
796
|
args: ['blur']
|
|
800
|
-
}], onChange: [{
|
|
801
|
-
type: HostListener,
|
|
802
|
-
args: ['change']
|
|
803
797
|
}], onInput: [{
|
|
804
798
|
type: HostListener,
|
|
805
799
|
args: ['input']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-phone-field.mjs","sources":["../../../../../libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field-adapter.service.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.html","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field-input.directive.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.module.ts","../../../../../libs/components/phone-field/src/skyux-phone-field.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-phone-field' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_phone_field_country_search_dismiss: {\n message: 'Dismiss country search',\n },\n skyux_phone_field_country_search_label: {\n message: 'Dismiss country search',\n },\n skyux_phone_field_country_search_placeholder: {\n message: 'Search for a country',\n },\n skyux_phone_field_country_select_label: { message: 'Choose country.' },\n skyux_phone_field_country_selected_label: {\n message: '{0} is currently selected.',\n },\n skyux_phone_field_format_hint_text: { message: 'Example: {0}.' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyPhoneFieldResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string,\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyPhoneFieldResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyPhoneFieldResourcesModule {}\n","import {\n ElementRef,\n Injectable,\n OnDestroy,\n Renderer2,\n inject,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n/**\n * Service for interacting with the DOM elements of the phone field.\n * @internal\n */\n@Injectable()\nexport class SkyPhoneFieldAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #renderer = inject(Renderer2);\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public addElementClass(elementRef: ElementRef, className: string): void {\n this.#renderer.addClass(elementRef.nativeElement, className);\n }\n\n public getInputValue(elementRef: ElementRef): string | undefined {\n const el = elementRef.nativeElement as HTMLElement | null;\n\n if (el && 'value' in el) {\n return (el as HTMLInputElement).value;\n }\n\n /* istanbul ignore next: safety check */\n return undefined;\n }\n\n public setElementDisabledState(\n elementRef: ElementRef,\n disabled: boolean,\n ): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'disabled', disabled);\n }\n\n public setElementType(elementRef: ElementRef): void {\n this.#renderer.setAttribute(elementRef.nativeElement, 'type', 'tel');\n }\n\n public setElementValue(elementRef: ElementRef, value: string): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'value', value);\n }\n\n public focusCountrySearchElement(el: Element): void {\n const input: HTMLElement | null = el.querySelector('textarea');\n input?.focus();\n }\n\n public focusPhoneInput(el: Element): void {\n const input: HTMLElement | null = el.querySelector(\n '.sky-phone-field-container input',\n );\n input?.focus();\n }\n}\n","import {\n AnimationEvent,\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { SkyAppFormat } from '@skyux/core';\nimport { SkyInputBoxHostService } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport {\n SKY_COUNTRY_FIELD_CONTEXT,\n SkyCountryFieldCountry,\n} from '@skyux/lookup';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport {\n PhoneNumberFormat,\n PhoneNumberType,\n PhoneNumberUtil,\n} from 'google-libphonenumber';\nimport intlTelInput from 'intl-tel-input';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldCountry } from './types/country';\nimport { SkyPhoneFieldNumberReturnFormat } from './types/number-return-format';\n\nconst DEFAULT_COUNTRY_CODE = 'us';\n\n// NOTE: The no-op animation is here in order to block the input's \"fade in\" animation\n// from firing on initial load. For more information on this technique you can see\n// https://www.bennadel.com/blog/3417-using-no-op-transitions-to-prevent-animation-during-the-initial-render-of-ngfor-in-angular-5-2-6.htm\n@Component({\n selector: 'sky-phone-field',\n templateUrl: './phone-field.component.html',\n styleUrls: ['./phone-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SkyPhoneFieldAdapterService,\n // Prevents the embedded country field component from changing its behavior based on\n // being inside an input box. The phone field itself will handle the required changes\n // for input box.\n {\n provide: SkyInputBoxHostService,\n useValue: undefined,\n },\n {\n provide: SKY_COUNTRY_FIELD_CONTEXT,\n useValue: { showPlaceholderText: true },\n },\n ],\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('countrySearchAnimation', [\n transition('void => open', [\n style({\n opacity: 0,\n width: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n width: '*',\n }),\n ),\n ]),\n transition('open => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n width: 0,\n }),\n ),\n ]),\n transition('void => open-modern', [\n style({\n opacity: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n }),\n ),\n ]),\n transition('open-modern => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n }),\n ),\n ]),\n ]),\n trigger('phoneInputAnimation', [\n transition('void => open', [\n style({\n opacity: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n }),\n ),\n ]),\n transition('open => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n }),\n ),\n ]),\n ]),\n ],\n})\nexport class SkyPhoneFieldComponent implements OnDestroy, OnInit {\n /**\n * Whether phone number extensions are allowed.\n * @default true\n */\n @Input()\n public set allowExtensions(value: boolean | undefined) {\n this.#_allowExtensions = value !== false;\n }\n\n public get allowExtensions(): boolean {\n return this.#_allowExtensions;\n }\n\n #_allowExtensions = true;\n\n /**\n * The\n * [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\n * country code for the default country. The country selector button displays a flag\n * icon for this default country until users select a different country.\n * @default \"us\"\n */\n @Input()\n public set defaultCountry(value: string | undefined) {\n if (value !== this.#_defaultCountry) {\n value ??= DEFAULT_COUNTRY_CODE;\n this.#_defaultCountry = value.toLocaleLowerCase();\n this.#defaultCountryData = this.#getDefaultCountryData();\n }\n }\n\n public get defaultCountry(): string {\n return this.#_defaultCountry;\n }\n\n /**\n * The format for validated phone numbers.\n * Options include: `\"default\"`, `\"international\"`, and `\"national\"`.\n * @default \"default\"\n */\n @Input()\n public get returnFormat(): SkyPhoneFieldNumberReturnFormat {\n return this.#_returnFormat;\n }\n\n public set returnFormat(value: SkyPhoneFieldNumberReturnFormat | undefined) {\n this.#_returnFormat = value || 'default';\n }\n\n #_returnFormat: SkyPhoneFieldNumberReturnFormat = 'default';\n\n /**\n * The [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\n * country codes for the countries that users can select. By default, all countries are available.\n */\n @Input()\n public supportedCountryISOs: string[] | undefined;\n\n /**\n * Emits a `SkyPhoneFieldCountry` object when the selected country in the country search\n * input changes.\n */\n @Output()\n public selectedCountryChange = new EventEmitter<SkyPhoneFieldCountry>();\n\n public countries: SkyPhoneFieldCountry[];\n\n public countrySelectDisabled = false;\n\n public countrySearchShown = false;\n\n public phoneInputShown = true;\n\n public countrySearchForm: FormGroup<{\n countrySearch: FormControl<SkyCountryFieldCountry | undefined | null>;\n }>;\n\n /**\n * The currently selected country to validate against.\n */\n @Input()\n public set selectedCountry(newCountry: SkyPhoneFieldCountry | undefined) {\n if (\n newCountry &&\n (!this.#_selectedCountry ||\n this.#_selectedCountry.iso2 !== newCountry.iso2)\n ) {\n this.#_selectedCountry = this.countries.find(\n (country) => country.iso2 === newCountry.iso2,\n );\n\n if (this.#_selectedCountry && !this.#_selectedCountry.exampleNumber) {\n const numberObj = this.#phoneUtils.getExampleNumberForType(\n newCountry.iso2,\n PhoneNumberType.FIXED_LINE,\n );\n\n this.#_selectedCountry.exampleNumber = this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n\n this.#populateInputBoxHelpText();\n this.selectedCountryChange.emit(this.#_selectedCountry);\n }\n }\n\n public get selectedCountry(): SkyPhoneFieldCountry | undefined {\n return this.#_selectedCountry;\n }\n\n @ViewChild('inputTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public inputTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('countryBtnTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public countryBtnTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('buttonsInsetTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public buttonsInsetTemplateRef: TemplateRef<unknown> | undefined;\n\n #defaultCountryData: SkyPhoneFieldCountry | undefined;\n\n #phoneInputAnimationTriggered = false;\n\n #phoneNumberFormatHintTextTemplateString = '';\n\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n #longestDialCodeLength = 0;\n\n #_defaultCountry = DEFAULT_COUNTRY_CODE;\n\n #_selectedCountry: SkyPhoneFieldCountry | undefined;\n\n #countrySearchFormControl = new FormControl<\n SkyCountryFieldCountry | undefined | null\n >(undefined);\n\n #formBuilder: FormBuilder;\n #adapterService: SkyPhoneFieldAdapterService;\n readonly #appFormat = inject(SkyAppFormat);\n #changeDetector: ChangeDetectorRef;\n #ngUnsubscribe = new Subject<void>();\n readonly #resourceSvc = inject(SkyLibResourcesService);\n\n constructor(\n formBuilder: FormBuilder,\n adapterService: SkyPhoneFieldAdapterService,\n changeDetector: ChangeDetectorRef,\n @Optional() public themeSvc?: SkyThemeService,\n @Optional() @SkipSelf() public inputBoxHostSvc?: SkyInputBoxHostService,\n ) {\n this.#formBuilder = formBuilder;\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n /**\n * The json functions here ensures that we get a copy of the array and not the global original.\n * This ensures that multiple instances of the component don't overwrite the original data.\n */\n this.countries = JSON.parse(JSON.stringify(intlTelInput.getCountryData()));\n\n for (const country of this.countries) {\n country.dialCode = '+' + country.dialCode;\n\n if (country.dialCode.length > this.#longestDialCodeLength) {\n this.#longestDialCodeLength = country.dialCode.length;\n }\n }\n\n this.#defaultCountryData = this.#getDefaultCountryData();\n\n this.countrySearchForm = this.#formBuilder.group({\n countrySearch: this.#countrySearchFormControl,\n });\n\n this.#resourceSvc\n .getString('skyux_phone_field_format_hint_text')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((templateString) => {\n this.#phoneNumberFormatHintTextTemplateString = templateString;\n this.#populateInputBoxHelpText();\n });\n }\n\n public ngOnInit(): void {\n // The timeout here is needed to avoid a change before checked error when a user specifies\n // a selected country on initialization of the component.\n setTimeout(() => {\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc.populate({\n inputTemplate: this.inputTemplateRef,\n buttonsInsetTemplate: this.buttonsInsetTemplateRef,\n buttonsLeftTemplate: this.countryBtnTemplateRef,\n });\n }\n\n this.selectedCountry ??= this.#defaultCountryData;\n\n this.#changeDetector.markForCheck();\n }, 0);\n\n this.#countrySearchFormControl.valueChanges.subscribe(\n (newValue: SkyCountryFieldCountry | undefined | null) => {\n if (newValue?.iso2 !== this.selectedCountry?.iso2) {\n this.selectedCountry = newValue || undefined;\n }\n },\n );\n }\n\n public ngOnDestroy(): void {\n this.selectedCountryChange.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Sets the country to validate against based on the county's iso2 code.\n * @param countryCode The International Organization for Standardization's two-letter code\n * for the default country.\n * @internal\n */\n public onCountrySelected(newCountry: SkyCountryFieldCountry): void {\n if (newCountry) {\n this.selectedCountry = this.countries.find(\n (countryInfo) => countryInfo.iso2 === newCountry.iso2,\n );\n this.toggleCountrySearch(false);\n }\n }\n\n public toggleCountrySearch(showSearch: boolean): void {\n this.#phoneInputAnimationTriggered = true;\n\n if (showSearch) {\n this.phoneInputShown = false;\n } else {\n this.countrySearchShown = false;\n\n this.#countrySearchFormControl.setValue(undefined);\n }\n\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc.setHintTextHidden(showSearch);\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public countrySearchAnimationEnd(e: AnimationEvent): void {\n if (!this.countrySearchShown) {\n this.phoneInputShown = true;\n } else {\n this.#adapterService.focusCountrySearchElement(e.element);\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public phoneInputAnimationEnd(e: AnimationEvent): void {\n if (!this.phoneInputShown) {\n this.countrySearchShown = true;\n } else {\n if (this.#phoneInputAnimationTriggered) {\n this.#adapterService.focusPhoneInput(e.element);\n this.#phoneInputAnimationTriggered = false;\n }\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public setCountryByDialCode(phoneNumberRaw: string | undefined): boolean {\n if (!phoneNumberRaw || !phoneNumberRaw.startsWith('+')) {\n return false;\n }\n\n let dialCode = '';\n let foundCountry: SkyPhoneFieldCountry | undefined;\n let newCountry: SkyPhoneFieldCountry | undefined;\n\n try {\n const phoneNumberParsed =\n this.#phoneUtils.parseAndKeepRawInput(phoneNumberRaw);\n const regionCode =\n this.#phoneUtils.getRegionCodeForNumber(phoneNumberParsed);\n foundCountry = this.countries.find(\n (country) => country.iso2.toUpperCase() === regionCode?.toUpperCase(),\n );\n\n if (foundCountry && !this.#validateSupportedCountry(foundCountry)) {\n foundCountry = undefined;\n }\n } catch (_) {\n if (\n !this.selectedCountry?.dialCode ||\n !phoneNumberRaw.startsWith(`${this.selectedCountry?.dialCode}`)\n ) {\n for (let i = 1; i < this.#longestDialCodeLength + 1; i++) {\n dialCode = phoneNumberRaw.substring(0, i);\n\n if (this.#defaultCountryData?.dialCode === dialCode) {\n foundCountry = this.#defaultCountryData;\n } else if (this.selectedCountry?.dialCode !== dialCode) {\n const dialCodeCountries = this.countries.filter(\n (country) => country.dialCode === dialCode,\n );\n\n if (dialCodeCountries.length > 0) {\n foundCountry =\n dialCodeCountries.find((country) => country.priority === 0) ??\n dialCodeCountries[0];\n // TODO: Refactor the logic in this method for readability.\n // eslint-disable-next-line max-depth\n if (\n foundCountry &&\n !this.#validateSupportedCountry(foundCountry)\n ) {\n foundCountry = undefined;\n }\n }\n }\n }\n }\n }\n\n if (foundCountry !== this.selectedCountry) {\n newCountry = foundCountry;\n }\n\n if (newCountry) {\n this.selectedCountry = newCountry;\n this.#changeDetector.markForCheck();\n return true;\n }\n\n return false;\n }\n\n #getDefaultCountryData(): SkyPhoneFieldCountry | undefined {\n return this.countries.find(\n (country) => country.iso2 === this.#_defaultCountry,\n );\n }\n\n #populateInputBoxHelpText(): void {\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc?.setHintText(\n this.#appFormat.formatText(\n this.#phoneNumberFormatHintTextTemplateString,\n this.#_selectedCountry?.exampleNumber,\n ),\n );\n }\n }\n\n #validateSupportedCountry(country: SkyPhoneFieldCountry): boolean {\n return (\n !this.supportedCountryISOs ||\n this.supportedCountryISOs.findIndex(\n (isoCode) => isoCode.toUpperCase() === country.iso2.toUpperCase(),\n ) >= 0\n );\n }\n}\n","@if (!inputBoxHostSvc) {\n <div class=\"sky-input-group sky-phone-field\" [@blockAnimationOnLoad]>\n <ng-container *ngTemplateOutlet=\"countryBtnTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplateRef\" />\n </div>\n}\n\n<ng-template #countryBtnTemplateRef>\n <div\n class=\"sky-input-group-btn sky-phone-field-country-btn\"\n [attr.data-sky-test-iso2]=\"selectedCountry?.iso2\"\n [attr.data-sky-test-name]=\"selectedCountry?.name\"\n >\n <button\n aria-live=\"polite\"\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n [attr.title]=\"\n ('skyux_phone_field_country_select_label' | skyLibResources) +\n ' ' +\n ('skyux_phone_field_country_selected_label'\n | skyLibResources: selectedCountry?.name)\n \"\n [attr.aria-label]=\"\n ('skyux_phone_field_country_select_label' | skyLibResources) +\n ' ' +\n ('skyux_phone_field_country_selected_label'\n | skyLibResources: selectedCountry?.name)\n \"\n [disabled]=\"countrySelectDisabled\"\n (click)=\"toggleCountrySearch(true)\"\n >\n <div class=\"sky-phone-field-flag\">\n <div\n class=\"iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry?.iso2\"\n ></div>\n </div>\n </button>\n </div>\n</ng-template>\n\n<ng-template #inputTemplateRef>\n @if (phoneInputShown) {\n <span\n class=\"sky-phone-field-container\"\n [@phoneInputAnimation]=\"phoneInputShown ? 'open' : 'closed'\"\n (@phoneInputAnimation.done)=\"phoneInputAnimationEnd($event)\"\n >\n <ng-content />\n </span>\n } @else if (countrySearchShown) {\n <span\n class=\"sky-phone-field-container\"\n [@countrySearchAnimation]=\"\n 'open' +\n ((themeSvc?.settingsChange | async)?.currentSettings?.theme?.name ===\n 'modern'\n ? '-modern'\n : '')\n \"\n (@countrySearchAnimation.done)=\"countrySearchAnimationEnd($event)\"\n >\n <div\n class=\"sky-phone-field-country-search\"\n [formGroup]=\"countrySearchForm\"\n >\n <sky-country-field\n formControlName=\"countrySearch\"\n [defaultCountry]=\"defaultCountry\"\n [hideSelectedCountryFlag]=\"true\"\n [includePhoneInfo]=\"true\"\n [supportedCountryISOs]=\"supportedCountryISOs\"\n (selectedCountryChange)=\"onCountrySelected($event)\"\n />\n </div>\n </span>\n }\n</ng-template>\n\n<ng-template #buttonsInsetTemplateRef>\n @if (countrySearchShown) {\n <div\n class=\"sky-input-group-btn sky-input-box-btn-inset sky-search-item-dismiss\"\n >\n <button\n class=\"sky-btn sky-phone-field-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"\n 'skyux_phone_field_country_search_dismiss' | skyLibResources\n \"\n [ngClass]=\"{\n 'sky-btn-default':\n (themeSvc?.settingsChange | async)?.currentSettings?.theme?.name ===\n 'modern'\n }\"\n (click)=\"toggleCountrySearch(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" size=\"2x\" />\n </button>\n </div>\n }\n</ng-template>\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';\nimport { Subject, take, takeUntil } from 'rxjs';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\n\n/**\n * Creates a button, search input, and text input for entering and validating\n * international phone numbers. Place this attribute on an `input` element, and wrap\n * that element in a `sky-phone-field` component. By default, the country selector\n * button displays a flag icon for the default country, and the phone number input\n * displays a sample of the correct phone number format. When users select the country\n * selector button, they expose the country search input, which is\n * [an autocomplete input](https://developer.blackbaud.com/skyux/components/autocomplete)\n * that allows them to select different countries. When users enter `+` followed by an\n * international dial code in the phone number input, the country automatically switches\n * to the country associated with the dial code.\n * @required\n */\n@Directive({\n selector: '[skyPhoneFieldInput]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: SkyPhoneFieldInputDirective,\n multi: true,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SkyPhoneFieldInputDirective,\n multi: true,\n },\n ],\n})\nexport class SkyPhoneFieldInputDirective\n implements OnInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Whether to disable the phone field on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.\n * To set the disabled state on reactive forms, use the `FormControl` instead.\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public set disabled(value: boolean) {\n if (this.#phoneFieldComponent) {\n this.#phoneFieldComponent.countrySelectDisabled = value;\n this.#adapterSvc?.setElementDisabledState(this.#elRef, value);\n }\n\n this.#_disabled = value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * Whether to prevent validation on the phone number input. For validation,\n * phone numbers are driven through the `ngModel` attribute that you specify on an\n * `input` element or on a `FormControl` in a reactive form. To prevent validation,\n * set this property to `true`.\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public skyPhoneFieldNoValidate = false;\n\n #_disabled = false;\n #_value = '';\n #control: AbstractControl | undefined;\n #ngUnsubscribe = new Subject<void>();\n #notifyChange: ((value: string) => void) | undefined;\n #notifyTouched: (() => void) | undefined;\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n readonly #adapterSvc = inject(SkyPhoneFieldAdapterService, {\n host: true,\n optional: true,\n skipSelf: true,\n });\n\n readonly #elRef = inject(ElementRef);\n readonly #phoneFieldComponent = inject(SkyPhoneFieldComponent, {\n host: true,\n optional: true,\n });\n\n public ngOnInit(): void {\n if (!this.#phoneFieldComponent) {\n throw new Error(\n 'You must wrap the `skyPhoneFieldInput` directive within a ' +\n '`<sky-phone-field>` component!',\n );\n }\n\n this.#adapterSvc?.setElementType(this.#elRef);\n this.#adapterSvc?.addElementClass(this.#elRef, 'sky-form-control');\n\n this.#phoneFieldComponent?.selectedCountryChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n const value = this.#adapterSvc?.getInputValue(this.#elRef);\n this.#setValue(value);\n this.#control?.updateValueAndValidity();\n });\n\n this.#phoneFieldComponent.countrySearchForm\n .get('countrySearch')\n ?.valueChanges.pipe(takeUntil(this.#ngUnsubscribe), take(1))\n .subscribe(() => {\n this.#control?.markAsDirty();\n this.#control?.markAsTouched();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public registerOnChange(fn: (value: string) => void): void {\n this.#notifyChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#notifyTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n this.#control ??= control;\n\n const value = control.value;\n\n if (!value || this.skyPhoneFieldNoValidate) {\n return null;\n }\n\n if (!this.#isValidPhoneNumber(value)) {\n return {\n skyPhoneField: {\n invalid: value,\n },\n };\n }\n\n return null;\n }\n\n public writeValue(value: unknown): void {\n const rawValue = typeof value === 'string' ? value : '';\n\n this.#phoneFieldComponent?.setCountryByDialCode(rawValue);\n this.#adapterSvc?.setElementValue(this.#elRef, rawValue);\n\n this.#setValue(rawValue);\n const newValue = this.#getValue();\n\n if (rawValue !== newValue) {\n // If the value is set before the control is initialized, wait for the\n // first cycle to complete before triggering a value change event.\n // (This occurs when the control is initialized with an unformatted value\n // but is formatted into a new value immediately in the `writeValue`\n // method.)\n if (!this.#control) {\n setTimeout(() => {\n this.#notifyChange?.(newValue);\n });\n } else {\n this.#notifyChange?.(newValue);\n }\n }\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.#notifyTouched?.();\n }\n\n @HostListener('change')\n protected onChange(): void {\n const value = this.#adapterSvc?.getInputValue(this.#elRef);\n this.#setValue(value);\n this.#notifyChange?.(this.#getValue());\n }\n\n @HostListener('input')\n protected onInput(): void {\n const value = this.#adapterSvc?.getInputValue(this.#elRef);\n this.#phoneFieldComponent?.setCountryByDialCode(value);\n }\n\n #formatPhoneNumber(value: string | undefined): string | undefined {\n if (!value) {\n return;\n }\n\n const defaultCountry = this.#getDefaultCountry();\n const regionCode = this.#getRegionCode();\n const returnFormat = this.#phoneFieldComponent?.returnFormat;\n\n try {\n const phoneNumber = this.#phoneUtils.parseAndKeepRawInput(\n value,\n regionCode ?? defaultCountry,\n );\n\n if (this.#phoneUtils.isPossibleNumber(phoneNumber)) {\n switch (returnFormat) {\n case 'international':\n return this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.INTERNATIONAL,\n );\n\n case 'national':\n return this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.NATIONAL,\n );\n\n case 'default':\n default:\n return regionCode && regionCode !== defaultCountry\n ? this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.INTERNATIONAL,\n )\n : this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.NATIONAL,\n );\n }\n }\n } catch (err) {\n /* */\n }\n\n return;\n }\n\n #getDefaultCountry(): string | undefined {\n return this.#phoneFieldComponent?.defaultCountry;\n }\n\n #getRegionCode(): string | undefined {\n return this.#phoneFieldComponent?.selectedCountry?.iso2;\n }\n\n #getValue(): string {\n return this.#_value;\n }\n\n #isValidPhoneNumber(value: string): boolean {\n const defaultCountry = this.#getDefaultCountry();\n const regionCode = this.#getRegionCode() ?? defaultCountry;\n const allowExtensions = !!this.#phoneFieldComponent?.allowExtensions;\n\n try {\n const phoneNumber = this.#phoneUtils.parseAndKeepRawInput(\n value,\n regionCode,\n );\n\n if (!allowExtensions && phoneNumber.getExtension()) {\n return false;\n }\n\n return this.#phoneUtils.isValidNumberForRegion(phoneNumber, regionCode);\n } catch (e) {\n return false;\n }\n }\n\n #setValue(value: string | undefined): void {\n /* istanbul ignore else */\n if (value !== undefined) {\n const formatted = this.#formatPhoneNumber(value);\n this.#_value = formatted ?? value;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyPhoneFieldResourcesModule } from '../shared/sky-phone-field-resources.module';\n\nimport { SkyPhoneFieldInputDirective } from './phone-field-input.directive';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\n\n@NgModule({\n declarations: [SkyPhoneFieldComponent, SkyPhoneFieldInputDirective],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyCountryFieldModule,\n SkyIconModule,\n SkyPhoneFieldResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyPhoneFieldComponent, SkyPhoneFieldInputDirective],\n})\nexport class SkyPhoneFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SkyPhoneFieldAdapterService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;;;;;AAKG;AAYH,MAAM,SAAS,GAAoC;AACjD,IAAA,OAAO,EAAE;AACP,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,wBAAwB;AAClC,SAAA;AACD,QAAA,sCAAsC,EAAE;AACtC,YAAA,OAAO,EAAE,wBAAwB;AAClC,SAAA;AACD,QAAA,4CAA4C,EAAE;AAC5C,YAAA,OAAO,EAAE,sBAAsB;AAChC,SAAA;AACD,QAAA,sCAAsC,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;AACtE,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,4BAA4B;AACtC,SAAA;AACD,QAAA,kCAAkC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;AACjE,KAAA;CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;MAElC,8BAA8B,CAAA;IAClC,SAAS,CACd,UAA4B,EAC5B,IAAY,EAAA;QAEZ,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAClE;AACF,CAAA;AAED;;AAEG;MAWU,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAT7B,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AASZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAR5B,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,QAAQ,EAAE,8BAA8B;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAPS,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASZ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,8BAA8B;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;ACnDD;;;AAGG;MAEU,2BAA2B,CAAA;AACtC,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AACrC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAEvB,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAChC;IAEM,eAAe,CAAC,UAAsB,EAAE,SAAiB,EAAA;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KAC9D;AAEM,IAAA,aAAa,CAAC,UAAsB,EAAA;AACzC,QAAA,MAAM,EAAE,GAAG,UAAU,CAAC,aAAmC,CAAC;AAE1D,QAAA,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,EAAE;YACvB,OAAQ,EAAuB,CAAC,KAAK,CAAC;SACvC;;AAGD,QAAA,OAAO,SAAS,CAAC;KAClB;IAEM,uBAAuB,CAC5B,UAAsB,EACtB,QAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;KAC5E;AAEM,IAAA,cAAc,CAAC,UAAsB,EAAA;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KACtE;IAEM,eAAe,CAAC,UAAsB,EAAE,KAAa,EAAA;AAC1D,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KACtE;AAEM,IAAA,yBAAyB,CAAC,EAAW,EAAA;QAC1C,MAAM,KAAK,GAAuB,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/D,KAAK,EAAE,KAAK,EAAE,CAAC;KAChB;AAEM,IAAA,eAAe,CAAC,EAAW,EAAA;QAChC,MAAM,KAAK,GAAuB,EAAE,CAAC,aAAa,CAChD,kCAAkC,CACnC,CAAC;QACF,KAAK,EAAE,KAAK,EAAE,CAAC;KAChB;8GAjDU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA3B,2BAA2B,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;;;AC+BX,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;AACA;AACA;MAyFa,sBAAsB,CAAA;AACjC;;;AAGG;IACH,IACW,eAAe,CAAC,KAA0B,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,KAAK,KAAK,CAAC;KAC1C;AAED,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;AAED,IAAA,iBAAiB,CAAQ;AAEzB;;;;;;AAMG;IACH,IACW,cAAc,CAAC,KAAyB,EAAA;AACjD,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE;YACnC,KAAK,KAAK,oBAAoB,CAAC;AAC/B,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAClD,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC1D;KACF;AAED,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;AAED;;;;AAIG;AACH,IAAA,IACW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAED,IAAW,YAAY,CAAC,KAAkD,EAAA;AACxE,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,SAAS,CAAC;KAC1C;AAED,IAAA,cAAc,CAA8C;AA4B5D;;AAEG;IACH,IACW,eAAe,CAAC,UAA4C,EAAA;AACrE,QAAA,IACE,UAAU;aACT,CAAC,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAClD;YACA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAC1C,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAC9C,CAAC;YAEF,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;AACnE,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CACxD,UAAU,CAAC,IAAI,EACf,eAAe,CAAC,UAAU,CAC3B,CAAC;AAEF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAC5D,SAAS,EACT,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;aACH;YAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACzD;KACF;AAED,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;AAoBD,IAAA,mBAAmB,CAAmC;AAEtD,IAAA,6BAA6B,CAAS;AAEtC,IAAA,wCAAwC,CAAM;AAE9C,IAAA,WAAW,CAAiC;AAE5C,IAAA,sBAAsB,CAAK;AAE3B,IAAA,gBAAgB,CAAwB;AAExC,IAAA,iBAAiB,CAAmC;AAEpD,IAAA,yBAAyB,CAEZ;AAEb,IAAA,YAAY,CAAc;AAC1B,IAAA,eAAe,CAA8B;AACpC,IAAA,UAAU,CAAwB;AAC3C,IAAA,eAAe,CAAoB;AACnC,IAAA,cAAc,CAAuB;AAC5B,IAAA,YAAY,CAAkC;IAEvD,WACE,CAAA,WAAwB,EACxB,cAA2C,EAC3C,cAAiC,EACd,QAA0B,EACd,eAAwC,EAAA;QADpD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;QACd,IAAe,CAAA,eAAA,GAAf,eAAe,CAAyB;QAnJzE,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAoCzB,IAAc,CAAA,cAAA,GAAoC,SAAS,CAAC;AAS5D;;;AAGG;AAEI,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAwB,CAAC;QAIjE,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAE9B,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAE3B,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QA6D9B,IAA6B,CAAA,6BAAA,GAAG,KAAK,CAAC;QAEtC,IAAwC,CAAA,wCAAA,GAAG,EAAE,CAAC;AAE9C,QAAA,IAAA,CAAA,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAE5C,IAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;QAE3B,IAAgB,CAAA,gBAAA,GAAG,oBAAoB,CAAC;AAIxC,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,WAAW,CAEzC,SAAS,CAAC,CAAC;AAIJ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAE3C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC5B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AASrD,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC;;;AAGG;AACH,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAE3E,QAAA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;YAE1C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE;gBACzD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;aACvD;SACF;AAED,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC/C,aAAa,EAAE,IAAI,CAAC,yBAAyB;AAC9C,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,YAAY;aACd,SAAS,CAAC,oCAAoC,CAAC;AAC/C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,aAAA,SAAS,CAAC,CAAC,cAAc,KAAI;AAC5B,YAAA,IAAI,CAAC,wCAAwC,GAAG,cAAc,CAAC;YAC/D,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACnC,SAAC,CAAC,CAAC;KACN;IAEM,QAAQ,GAAA;;;QAGb,UAAU,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACjD,gBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;oBAC5B,aAAa,EAAE,IAAI,CAAC,gBAAgB;oBACpC,oBAAoB,EAAE,IAAI,CAAC,uBAAuB;oBAClD,mBAAmB,EAAE,IAAI,CAAC,qBAAqB;AAChD,iBAAA,CAAC,CAAC;aACJ;AAED,YAAA,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,mBAAmB,CAAC;AAElD,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;SACrC,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CACnD,CAAC,QAAmD,KAAI;YACtD,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;AACjD,gBAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,IAAI,SAAS,CAAC;aAC9C;AACH,SAAC,CACF,CAAC;KACH;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAChC;AAED;;;;;AAKG;AACI,IAAA,iBAAiB,CAAC,UAAkC,EAAA;QACzD,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACxC,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CACtD,CAAC;AACF,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SACjC;KACF;AAEM,IAAA,mBAAmB,CAAC,UAAmB,EAAA;AAC5C,QAAA,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAE1C,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAEhC,YAAA,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACjD,YAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;SACpD;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACrC;AAEM,IAAA,yBAAyB,CAAC,CAAiB,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3D;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACrC;AAEM,IAAA,sBAAsB,CAAC,CAAiB,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;aAAM;AACL,YAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;gBACtC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAChD,gBAAA,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;aAC5C;SACF;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACrC;AAEM,IAAA,oBAAoB,CAAC,cAAkC,EAAA;QAC5D,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACtD,YAAA,OAAO,KAAK,CAAC;SACd;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,QAAA,IAAI,YAA8C,CAAC;AACnD,QAAA,IAAI,UAA4C,CAAC;AAEjD,QAAA,IAAI;YACF,MAAM,iBAAiB,GACrB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,UAAU,GACd,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;YAC7D,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAChC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,CACtE,CAAC;YAEF,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE;gBACjE,YAAY,GAAG,SAAS,CAAC;aAC1B;SACF;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,IACE,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ;AAC/B,gBAAA,CAAC,cAAc,CAAC,UAAU,CAAC,CAAG,EAAA,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAE,CAAA,CAAC,EAC/D;AACA,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxD,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAE1C,IAAI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,KAAK,QAAQ,EAAE;AACnD,wBAAA,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;qBACzC;yBAAM,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,KAAK,QAAQ,EAAE;AACtD,wBAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC7C,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAC3C,CAAC;AAEF,wBAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,YAAY;AACV,gCAAA,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC;oCAC3D,iBAAiB,CAAC,CAAC,CAAC,CAAC;;;AAGvB,4BAAA,IACE,YAAY;AACZ,gCAAA,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAC7C;gCACA,YAAY,GAAG,SAAS,CAAC;6BAC1B;yBACF;qBACF;iBACF;aACF;SACF;AAED,QAAA,IAAI,YAAY,KAAK,IAAI,CAAC,eAAe,EAAE;YACzC,UAAU,GAAG,YAAY,CAAC;SAC3B;QAED,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;AAClC,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;AACpC,YAAA,OAAO,IAAI,CAAC;SACb;AAED,QAAA,OAAO,KAAK,CAAC;KACd;IAED,sBAAsB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CACpD,CAAC;KACH;IAED,yBAAyB,GAAA;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACjD,IAAI,CAAC,eAAe,EAAE,WAAW,CAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CACxB,IAAI,CAAC,wCAAwC,EAC7C,IAAI,CAAC,iBAAiB,EAAE,aAAa,CACtC,CACF,CAAC;SACH;KACF;AAED,IAAA,yBAAyB,CAAC,OAA6B,EAAA;AACrD,QAAA,QACE,CAAC,IAAI,CAAC,oBAAoB;YAC1B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CACjC,CAAC,OAAO,KAAK,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAClE,IAAI,CAAC,EACN;KACH;8GAtXU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAlFtB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAAA;YACT,2BAA2B;;;;AAI3B,YAAA;AACE,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,QAAQ,EAAE,SAAS;AACpB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,yBAAyB;AAClC,gBAAA,QAAQ,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE;AACxC,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAuLO,WAAW,EAMX,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,2IAMX,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxQrB,k5GA6GA,EDvCc,MAAA,EAAA,CAAA,0u4IAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,wBAAwB,EAAE;gBAChC,UAAU,CAAC,cAAc,EAAE;AACzB,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,KAAK,EAAE,GAAG;AACX,qBAAA,CAAC,CACH;iBACF,CAAC;gBACF,UAAU,CAAC,cAAc,EAAE;AACzB,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,KAAK,EAAE,CAAC;AACT,qBAAA,CAAC,CACH;iBACF,CAAC;gBACF,UAAU,CAAC,qBAAqB,EAAE;AAChC,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;qBACX,CAAC;AACF,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA,CAAC,CACH;iBACF,CAAC;gBACF,UAAU,CAAC,qBAAqB,EAAE;AAChC,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA,CAAC,CACH;iBACF,CAAC;aACH,CAAC;YACF,OAAO,CAAC,qBAAqB,EAAE;gBAC7B,UAAU,CAAC,cAAc,EAAE;AACzB,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;qBACX,CAAC;AACF,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA,CAAC,CACH;iBACF,CAAC;gBACF,UAAU,CAAC,cAAc,EAAE;AACzB,oBAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA,CAAC,CACH;iBACF,CAAC;aACH,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAxFlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACT,2BAA2B;;;;AAI3B,wBAAA;AACE,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,QAAQ,EAAE,SAAS;AACpB,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,yBAAyB;AAClC,4BAAA,QAAQ,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE;AACxC,yBAAA;qBACF,EACW,UAAA,EAAA;wBACV,OAAO,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,wBAAwB,EAAE;4BAChC,UAAU,CAAC,cAAc,EAAE;AACzB,gCAAA,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACV,oCAAA,KAAK,EAAE,CAAC;iCACT,CAAC;AACF,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACV,oCAAA,KAAK,EAAE,GAAG;AACX,iCAAA,CAAC,CACH;6BACF,CAAC;4BACF,UAAU,CAAC,cAAc,EAAE;AACzB,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACV,oCAAA,KAAK,EAAE,CAAC;AACT,iCAAA,CAAC,CACH;6BACF,CAAC;4BACF,UAAU,CAAC,qBAAqB,EAAE;AAChC,gCAAA,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;iCACX,CAAC;AACF,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACX,iCAAA,CAAC,CACH;6BACF,CAAC;4BACF,UAAU,CAAC,qBAAqB,EAAE;AAChC,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACX,iCAAA,CAAC,CACH;6BACF,CAAC;yBACH,CAAC;wBACF,OAAO,CAAC,qBAAqB,EAAE;4BAC7B,UAAU,CAAC,cAAc,EAAE;AACzB,gCAAA,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;iCACX,CAAC;AACF,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACX,iCAAA,CAAC,CACH;6BACF,CAAC;4BACF,UAAU,CAAC,cAAc,EAAE;AACzB,gCAAA,OAAO,CACL,eAAe,EACf,KAAK,CAAC;AACJ,oCAAA,OAAO,EAAE,CAAC;AACX,iCAAA,CAAC,CACH;6BACF,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,k5GAAA,EAAA,MAAA,EAAA,CAAA,0u4IAAA,CAAA,EAAA,CAAA;;0BAkKE,QAAQ;;0BACR,QAAQ;;0BAAI,QAAQ;yCA3JZ,eAAe,EAAA,CAAA;sBADzB,KAAK;gBAmBK,cAAc,EAAA,CAAA;sBADxB,KAAK;gBAmBK,YAAY,EAAA,CAAA;sBADtB,KAAK;gBAgBC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAQC,qBAAqB,EAAA,CAAA;sBAD3B,MAAM;gBAmBI,eAAe,EAAA,CAAA;sBADzB,KAAK;gBAoCC,gBAAgB,EAAA,CAAA;sBAJtB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE;AAC7B,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAA;gBAOM,qBAAqB,EAAA,CAAA;sBAJ3B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE;AAClC,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAA;gBAOM,uBAAuB,EAAA,CAAA;sBAJ7B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE;AACpC,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAA;;;AEjPH;;;;;;;;;;;;AAYG;MAgBU,2BAA2B,CAAA;AAfxC,IAAA,WAAA,GAAA;AAqCE;;;;;;AAMG;QAEI,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAEvC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAEb,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AAGrC,QAAA,IAAA,CAAA,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;AAEnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,2BAA2B,EAAE;AACzD,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;AAEM,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,EAAE;AAC7D,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;AAuMJ,KAAA;AAtPC;;;;AAIG;IACH,IACW,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC/D;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AAYD,IAAA,UAAU,CAAS;AACnB,IAAA,OAAO,CAAM;AACb,IAAA,QAAQ,CAA8B;AACtC,IAAA,cAAc,CAAuB;AACrC,IAAA,aAAa,CAAwC;AACrD,IAAA,cAAc,CAA2B;AACzC,IAAA,WAAW,CAAiC;AAEnC,IAAA,WAAW,CAIjB;AAEM,IAAA,MAAM,CAAsB;AAC5B,IAAA,oBAAoB,CAG1B;IAEI,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,MAAM,IAAI,KAAK,CACb,4DAA4D;AAC1D,gBAAA,gCAAgC,CACnC,CAAC;SACH;QAED,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAEnE,IAAI,CAAC,oBAAoB,EAAE,qBAAqB;AAC7C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACpC,SAAS,CAAC,MAAK;AACd,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB;aACxC,GAAG,CAAC,eAAe,CAAC;AACrB,cAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3D,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC7B,YAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAChC;AAEM,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AACjD,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACzB;AAEM,IAAA,iBAAiB,CAAC,EAAc,EAAA;AACrC,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC1B;AAEM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;AAEM,IAAA,QAAQ,CAAC,OAAwB,EAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE1B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAC1C,YAAA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO;AACL,gBAAA,aAAa,EAAE;AACb,oBAAA,OAAO,EAAE,KAAK;AACf,iBAAA;aACF,CAAC;SACH;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,UAAU,CAAC,KAAc,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,EAAE,CAAC;AAExD,QAAA,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEzD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAElC,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;;;;;;AAMzB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;AACjC,iBAAC,CAAC,CAAC;aACJ;iBAAM;AACL,gBAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;aAChC;SACF;KACF;IAGS,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,cAAc,IAAI,CAAC;KACzB;IAGS,QAAQ,GAAA;AAChB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KACxC;IAGS,OAAO,GAAA;AACf,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACxD;AAED,IAAA,kBAAkB,CAAC,KAAyB,EAAA;QAC1C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;AAED,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACjD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACzC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC;AAE7D,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACvD,KAAK,EACL,UAAU,IAAI,cAAc,CAC7B,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;gBAClD,QAAQ,YAAY;AAClB,oBAAA,KAAK,eAAe;AAClB,wBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAC5B,WAAW,EACX,iBAAiB,CAAC,aAAa,CAChC,CAAC;AAEJ,oBAAA,KAAK,UAAU;AACb,wBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAC5B,WAAW,EACX,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;AAEJ,oBAAA,KAAK,SAAS,CAAC;AACf,oBAAA;AACE,wBAAA,OAAO,UAAU,IAAI,UAAU,KAAK,cAAc;AAChD,8BAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CACrB,WAAW,EACX,iBAAiB,CAAC,aAAa,CAChC;AACH,8BAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CACrB,WAAW,EACX,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;iBACT;aACF;SACF;QAAC,OAAO,GAAG,EAAE;;SAEb;QAED,OAAO;KACR;IAED,kBAAkB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC;KAClD;IAED,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,eAAe,EAAE,IAAI,CAAC;KACzD;IAED,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,mBAAmB,CAAC,KAAa,EAAA;AAC/B,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,cAAc,CAAC;QAC3D,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;AAErE,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACvD,KAAK,EACL,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE;AAClD,gBAAA,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,KAAK,CAAC;SACd;KACF;AAED,IAAA,SAAS,CAAC,KAAyB,EAAA;;AAEjC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC;SACnC;KACF;8GAxPU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAQlB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAqBhB,EAAA,uBAAA,EAAA,CAAA,yBAAA,EAAA,yBAAA,EAAA,gBAAgB,CA1CzB,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,2BAA2B;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,2BAA2B;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAfvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAA6B,2BAAA;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA6B,2BAAA;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;8BAUY,QAAQ,EAAA,CAAA;sBADlB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAsB/B,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAkH5B,MAAM,EAAA,CAAA;sBADf,YAAY;uBAAC,MAAM,CAAA;gBAMV,QAAQ,EAAA,CAAA;sBADjB,YAAY;uBAAC,QAAQ,CAAA;gBAQZ,OAAO,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO,CAAA;;;MCtLV,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAZf,YAAA,EAAA,CAAA,sBAAsB,EAAE,2BAA2B,aAEhE,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,qBAAqB;YACrB,aAAa;YACb,4BAA4B;YAC5B,cAAc,CAAA,EAAA,OAAA,EAAA,CAEN,sBAAsB,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;AAElD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAV5B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,qBAAqB;YACrB,aAAa;YACb,4BAA4B;YAC5B,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIL,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;AACnE,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,qBAAqB;wBACrB,aAAa;wBACb,4BAA4B;wBAC5B,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;AAC/D,iBAAA,CAAA;;;ACxBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"skyux-phone-field.mjs","sources":["../../../../../libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field-adapter.service.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.html","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field-input.directive.ts","../../../../../libs/components/phone-field/src/lib/modules/phone-field/phone-field.module.ts","../../../../../libs/components/phone-field/src/skyux-phone-field.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-phone-field' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_phone_field_country_search_dismiss: {\n message: 'Dismiss country search',\n },\n skyux_phone_field_country_search_label: {\n message: 'Dismiss country search',\n },\n skyux_phone_field_country_search_placeholder: {\n message: 'Search for a country',\n },\n skyux_phone_field_country_select_label: { message: 'Choose country.' },\n skyux_phone_field_country_selected_label: {\n message: '{0} is currently selected.',\n },\n skyux_phone_field_format_hint_text: { message: 'Example: {0}.' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyPhoneFieldResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string,\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyPhoneFieldResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyPhoneFieldResourcesModule {}\n","import {\n ElementRef,\n Injectable,\n OnDestroy,\n Renderer2,\n inject,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n/**\n * Service for interacting with the DOM elements of the phone field.\n * @internal\n */\n@Injectable()\nexport class SkyPhoneFieldAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #renderer = inject(Renderer2);\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public addElementClass(elementRef: ElementRef, className: string): void {\n this.#renderer.addClass(elementRef.nativeElement, className);\n }\n\n public getInputValue(elementRef: ElementRef): string | undefined {\n const el = elementRef.nativeElement as HTMLElement | null;\n\n if (el && 'value' in el) {\n return (el as HTMLInputElement).value;\n }\n\n /* istanbul ignore next: safety check */\n return undefined;\n }\n\n public setElementDisabledState(\n elementRef: ElementRef,\n disabled: boolean,\n ): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'disabled', disabled);\n }\n\n public setElementType(elementRef: ElementRef): void {\n this.#renderer.setAttribute(elementRef.nativeElement, 'type', 'tel');\n }\n\n public setElementValue(elementRef: ElementRef, value: string): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'value', value);\n }\n\n public focusCountrySearchElement(el: Element): void {\n const input: HTMLElement | null = el.querySelector('textarea');\n input?.focus();\n }\n\n public focusPhoneInput(el: Element): void {\n const input: HTMLElement | null = el.querySelector(\n '.sky-phone-field-container input',\n );\n input?.focus();\n }\n}\n","import {\n AnimationEvent,\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { SkyAppFormat } from '@skyux/core';\nimport { SkyInputBoxHostService } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport {\n SKY_COUNTRY_FIELD_CONTEXT,\n SkyCountryFieldCountry,\n} from '@skyux/lookup';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport {\n PhoneNumberFormat,\n PhoneNumberType,\n PhoneNumberUtil,\n} from 'google-libphonenumber';\nimport intlTelInput from 'intl-tel-input';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldCountry } from './types/country';\nimport { SkyPhoneFieldNumberReturnFormat } from './types/number-return-format';\n\nconst DEFAULT_COUNTRY_CODE = 'us';\n\n// NOTE: The no-op animation is here in order to block the input's \"fade in\" animation\n// from firing on initial load. For more information on this technique you can see\n// https://www.bennadel.com/blog/3417-using-no-op-transitions-to-prevent-animation-during-the-initial-render-of-ngfor-in-angular-5-2-6.htm\n@Component({\n selector: 'sky-phone-field',\n templateUrl: './phone-field.component.html',\n styleUrls: ['./phone-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SkyPhoneFieldAdapterService,\n // Prevents the embedded country field component from changing its behavior based on\n // being inside an input box. The phone field itself will handle the required changes\n // for input box.\n {\n provide: SkyInputBoxHostService,\n useValue: undefined,\n },\n {\n provide: SKY_COUNTRY_FIELD_CONTEXT,\n useValue: { showPlaceholderText: true },\n },\n ],\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('countrySearchAnimation', [\n transition('void => open', [\n style({\n opacity: 0,\n width: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n width: '*',\n }),\n ),\n ]),\n transition('open => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n width: 0,\n }),\n ),\n ]),\n transition('void => open-modern', [\n style({\n opacity: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n }),\n ),\n ]),\n transition('open-modern => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n }),\n ),\n ]),\n ]),\n trigger('phoneInputAnimation', [\n transition('void => open', [\n style({\n opacity: 0,\n }),\n animate(\n '200ms ease-in',\n style({\n opacity: 1,\n }),\n ),\n ]),\n transition('open => void', [\n animate(\n '200ms ease-in',\n style({\n opacity: 0,\n }),\n ),\n ]),\n ]),\n ],\n})\nexport class SkyPhoneFieldComponent implements OnDestroy, OnInit {\n /**\n * Whether phone number extensions are allowed.\n * @default true\n */\n @Input()\n public set allowExtensions(value: boolean | undefined) {\n this.#_allowExtensions = value !== false;\n }\n\n public get allowExtensions(): boolean {\n return this.#_allowExtensions;\n }\n\n #_allowExtensions = true;\n\n /**\n * The\n * [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\n * country code for the default country. The country selector button displays a flag\n * icon for this default country until users select a different country.\n * @default \"us\"\n */\n @Input()\n public set defaultCountry(value: string | undefined) {\n if (value !== this.#_defaultCountry) {\n value ??= DEFAULT_COUNTRY_CODE;\n this.#_defaultCountry = value.toLocaleLowerCase();\n this.#defaultCountryData = this.#getDefaultCountryData();\n }\n }\n\n public get defaultCountry(): string {\n return this.#_defaultCountry;\n }\n\n /**\n * The format for validated phone numbers.\n * Options include: `\"default\"`, `\"international\"`, and `\"national\"`.\n * @default \"default\"\n */\n @Input()\n public get returnFormat(): SkyPhoneFieldNumberReturnFormat {\n return this.#_returnFormat;\n }\n\n public set returnFormat(value: SkyPhoneFieldNumberReturnFormat | undefined) {\n this.#_returnFormat = value || 'default';\n }\n\n #_returnFormat: SkyPhoneFieldNumberReturnFormat = 'default';\n\n /**\n * The [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\n * country codes for the countries that users can select. By default, all countries are available.\n */\n @Input()\n public supportedCountryISOs: string[] | undefined;\n\n /**\n * Emits a `SkyPhoneFieldCountry` object when the selected country in the country search\n * input changes.\n */\n @Output()\n public selectedCountryChange = new EventEmitter<SkyPhoneFieldCountry>();\n\n public countries: SkyPhoneFieldCountry[];\n\n public countrySelectDisabled = false;\n\n public countrySearchShown = false;\n\n public phoneInputShown = true;\n\n public countrySearchForm: FormGroup<{\n countrySearch: FormControl<SkyCountryFieldCountry | undefined | null>;\n }>;\n\n /**\n * The currently selected country to validate against.\n */\n @Input()\n public set selectedCountry(newCountry: SkyPhoneFieldCountry | undefined) {\n if (\n newCountry &&\n (!this.#_selectedCountry ||\n this.#_selectedCountry.iso2 !== newCountry.iso2)\n ) {\n this.#_selectedCountry = this.countries.find(\n (country) => country.iso2 === newCountry.iso2,\n );\n\n if (this.#_selectedCountry && !this.#_selectedCountry.exampleNumber) {\n const numberObj = this.#phoneUtils.getExampleNumberForType(\n newCountry.iso2,\n PhoneNumberType.FIXED_LINE,\n );\n\n this.#_selectedCountry.exampleNumber = this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n\n this.#populateInputBoxHelpText();\n this.selectedCountryChange.emit(this.#_selectedCountry);\n }\n }\n\n public get selectedCountry(): SkyPhoneFieldCountry | undefined {\n return this.#_selectedCountry;\n }\n\n @ViewChild('inputTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public inputTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('countryBtnTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public countryBtnTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('buttonsInsetTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public buttonsInsetTemplateRef: TemplateRef<unknown> | undefined;\n\n #defaultCountryData: SkyPhoneFieldCountry | undefined;\n\n #phoneInputAnimationTriggered = false;\n\n #phoneNumberFormatHintTextTemplateString = '';\n\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n #longestDialCodeLength = 0;\n\n #_defaultCountry = DEFAULT_COUNTRY_CODE;\n\n #_selectedCountry: SkyPhoneFieldCountry | undefined;\n\n #countrySearchFormControl = new FormControl<\n SkyCountryFieldCountry | undefined | null\n >(undefined);\n\n #formBuilder: FormBuilder;\n #adapterService: SkyPhoneFieldAdapterService;\n readonly #appFormat = inject(SkyAppFormat);\n #changeDetector: ChangeDetectorRef;\n #ngUnsubscribe = new Subject<void>();\n readonly #resourceSvc = inject(SkyLibResourcesService);\n\n constructor(\n formBuilder: FormBuilder,\n adapterService: SkyPhoneFieldAdapterService,\n changeDetector: ChangeDetectorRef,\n @Optional() public themeSvc?: SkyThemeService,\n @Optional() @SkipSelf() public inputBoxHostSvc?: SkyInputBoxHostService,\n ) {\n this.#formBuilder = formBuilder;\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n /**\n * The json functions here ensures that we get a copy of the array and not the global original.\n * This ensures that multiple instances of the component don't overwrite the original data.\n */\n this.countries = JSON.parse(JSON.stringify(intlTelInput.getCountryData()));\n\n for (const country of this.countries) {\n country.dialCode = '+' + country.dialCode;\n\n if (country.dialCode.length > this.#longestDialCodeLength) {\n this.#longestDialCodeLength = country.dialCode.length;\n }\n }\n\n this.#defaultCountryData = this.#getDefaultCountryData();\n\n this.countrySearchForm = this.#formBuilder.group({\n countrySearch: this.#countrySearchFormControl,\n });\n\n this.#resourceSvc\n .getString('skyux_phone_field_format_hint_text')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((templateString) => {\n this.#phoneNumberFormatHintTextTemplateString = templateString;\n this.#populateInputBoxHelpText();\n });\n }\n\n public ngOnInit(): void {\n // The timeout here is needed to avoid a change before checked error when a user specifies\n // a selected country on initialization of the component.\n setTimeout(() => {\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc.populate({\n inputTemplate: this.inputTemplateRef,\n buttonsInsetTemplate: this.buttonsInsetTemplateRef,\n buttonsLeftTemplate: this.countryBtnTemplateRef,\n });\n }\n\n this.selectedCountry ??= this.#defaultCountryData;\n\n this.#changeDetector.markForCheck();\n }, 0);\n\n this.#countrySearchFormControl.valueChanges.subscribe(\n (newValue: SkyCountryFieldCountry | undefined | null) => {\n if (newValue?.iso2 !== this.selectedCountry?.iso2) {\n this.selectedCountry = newValue || undefined;\n }\n },\n );\n }\n\n public ngOnDestroy(): void {\n this.selectedCountryChange.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Sets the country to validate against based on the county's iso2 code.\n * @param countryCode The International Organization for Standardization's two-letter code\n * for the default country.\n * @internal\n */\n public onCountrySelected(newCountry: SkyCountryFieldCountry): void {\n if (newCountry) {\n this.selectedCountry = this.countries.find(\n (countryInfo) => countryInfo.iso2 === newCountry.iso2,\n );\n this.toggleCountrySearch(false);\n }\n }\n\n public toggleCountrySearch(showSearch: boolean): void {\n this.#phoneInputAnimationTriggered = true;\n\n if (showSearch) {\n this.phoneInputShown = false;\n } else {\n this.countrySearchShown = false;\n\n this.#countrySearchFormControl.setValue(undefined);\n }\n\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc.setHintTextHidden(showSearch);\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public countrySearchAnimationEnd(e: AnimationEvent): void {\n if (!this.countrySearchShown) {\n this.phoneInputShown = true;\n } else {\n this.#adapterService.focusCountrySearchElement(e.element);\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public phoneInputAnimationEnd(e: AnimationEvent): void {\n if (!this.phoneInputShown) {\n this.countrySearchShown = true;\n } else {\n if (this.#phoneInputAnimationTriggered) {\n this.#adapterService.focusPhoneInput(e.element);\n this.#phoneInputAnimationTriggered = false;\n }\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public setCountryByDialCode(phoneNumberRaw: string | undefined): boolean {\n if (!phoneNumberRaw || !phoneNumberRaw.startsWith('+')) {\n return false;\n }\n\n let dialCode = '';\n let foundCountry: SkyPhoneFieldCountry | undefined;\n let newCountry: SkyPhoneFieldCountry | undefined;\n\n try {\n const phoneNumberParsed =\n this.#phoneUtils.parseAndKeepRawInput(phoneNumberRaw);\n const regionCode =\n this.#phoneUtils.getRegionCodeForNumber(phoneNumberParsed);\n foundCountry = this.countries.find(\n (country) => country.iso2.toUpperCase() === regionCode?.toUpperCase(),\n );\n\n if (foundCountry && !this.#validateSupportedCountry(foundCountry)) {\n foundCountry = undefined;\n }\n } catch (_) {\n if (\n !this.selectedCountry?.dialCode ||\n !phoneNumberRaw.startsWith(`${this.selectedCountry?.dialCode}`)\n ) {\n for (let i = 1; i < this.#longestDialCodeLength + 1; i++) {\n dialCode = phoneNumberRaw.substring(0, i);\n\n if (this.#defaultCountryData?.dialCode === dialCode) {\n foundCountry = this.#defaultCountryData;\n } else if (this.selectedCountry?.dialCode !== dialCode) {\n const dialCodeCountries = this.countries.filter(\n (country) => country.dialCode === dialCode,\n );\n\n if (dialCodeCountries.length > 0) {\n foundCountry =\n dialCodeCountries.find((country) => country.priority === 0) ??\n dialCodeCountries[0];\n // TODO: Refactor the logic in this method for readability.\n // eslint-disable-next-line max-depth\n if (\n foundCountry &&\n !this.#validateSupportedCountry(foundCountry)\n ) {\n foundCountry = undefined;\n }\n }\n }\n }\n }\n }\n\n if (foundCountry !== this.selectedCountry) {\n newCountry = foundCountry;\n }\n\n if (newCountry) {\n this.selectedCountry = newCountry;\n this.#changeDetector.markForCheck();\n return true;\n }\n\n return false;\n }\n\n #getDefaultCountryData(): SkyPhoneFieldCountry | undefined {\n return this.countries.find(\n (country) => country.iso2 === this.#_defaultCountry,\n );\n }\n\n #populateInputBoxHelpText(): void {\n if (this.inputBoxHostSvc && this.inputTemplateRef) {\n this.inputBoxHostSvc?.setHintText(\n this.#appFormat.formatText(\n this.#phoneNumberFormatHintTextTemplateString,\n this.#_selectedCountry?.exampleNumber,\n ),\n );\n }\n }\n\n #validateSupportedCountry(country: SkyPhoneFieldCountry): boolean {\n return (\n !this.supportedCountryISOs ||\n this.supportedCountryISOs.findIndex(\n (isoCode) => isoCode.toUpperCase() === country.iso2.toUpperCase(),\n ) >= 0\n );\n }\n}\n","@if (!inputBoxHostSvc) {\n <div class=\"sky-input-group sky-phone-field\" [@blockAnimationOnLoad]>\n <ng-container *ngTemplateOutlet=\"countryBtnTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplateRef\" />\n </div>\n}\n\n<ng-template #countryBtnTemplateRef>\n <div\n class=\"sky-input-group-btn sky-phone-field-country-btn\"\n [attr.data-sky-test-iso2]=\"selectedCountry?.iso2\"\n [attr.data-sky-test-name]=\"selectedCountry?.name\"\n >\n <button\n aria-live=\"polite\"\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n [attr.title]=\"\n ('skyux_phone_field_country_select_label' | skyLibResources) +\n ' ' +\n ('skyux_phone_field_country_selected_label'\n | skyLibResources: selectedCountry?.name)\n \"\n [attr.aria-label]=\"\n ('skyux_phone_field_country_select_label' | skyLibResources) +\n ' ' +\n ('skyux_phone_field_country_selected_label'\n | skyLibResources: selectedCountry?.name)\n \"\n [disabled]=\"countrySelectDisabled\"\n (click)=\"toggleCountrySearch(true)\"\n >\n <div class=\"sky-phone-field-flag\">\n <div\n class=\"iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry?.iso2\"\n ></div>\n </div>\n </button>\n </div>\n</ng-template>\n\n<ng-template #inputTemplateRef>\n @if (phoneInputShown) {\n <span\n class=\"sky-phone-field-container\"\n [@phoneInputAnimation]=\"phoneInputShown ? 'open' : 'closed'\"\n (@phoneInputAnimation.done)=\"phoneInputAnimationEnd($event)\"\n >\n <ng-content />\n </span>\n } @else if (countrySearchShown) {\n <span\n class=\"sky-phone-field-container\"\n [@countrySearchAnimation]=\"\n 'open' +\n ((themeSvc?.settingsChange | async)?.currentSettings?.theme?.name ===\n 'modern'\n ? '-modern'\n : '')\n \"\n (@countrySearchAnimation.done)=\"countrySearchAnimationEnd($event)\"\n >\n <div\n class=\"sky-phone-field-country-search\"\n [formGroup]=\"countrySearchForm\"\n >\n <sky-country-field\n formControlName=\"countrySearch\"\n [defaultCountry]=\"defaultCountry\"\n [hideSelectedCountryFlag]=\"true\"\n [includePhoneInfo]=\"true\"\n [supportedCountryISOs]=\"supportedCountryISOs\"\n (selectedCountryChange)=\"onCountrySelected($event)\"\n />\n </div>\n </span>\n }\n</ng-template>\n\n<ng-template #buttonsInsetTemplateRef>\n @if (countrySearchShown) {\n <div\n class=\"sky-input-group-btn sky-input-box-btn-inset sky-search-item-dismiss\"\n >\n <button\n class=\"sky-btn sky-phone-field-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"\n 'skyux_phone_field_country_search_dismiss' | skyLibResources\n \"\n [ngClass]=\"{\n 'sky-btn-default':\n (themeSvc?.settingsChange | async)?.currentSettings?.theme?.name ===\n 'modern'\n }\"\n (click)=\"toggleCountrySearch(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" size=\"2x\" />\n </button>\n </div>\n }\n</ng-template>\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';\nimport { Subject, take, takeUntil } from 'rxjs';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\n\n/**\n * Creates a button, search input, and text input for entering and validating\n * international phone numbers. Place this attribute on an `input` element, and wrap\n * that element in a `sky-phone-field` component. By default, the country selector\n * button displays a flag icon for the default country, and the phone number input\n * displays a sample of the correct phone number format. When users select the country\n * selector button, they expose the country search input, which is\n * [an autocomplete input](https://developer.blackbaud.com/skyux/components/autocomplete)\n * that allows them to select different countries. When users enter `+` followed by an\n * international dial code in the phone number input, the country automatically switches\n * to the country associated with the dial code.\n * @required\n */\n@Directive({\n selector: '[skyPhoneFieldInput]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: SkyPhoneFieldInputDirective,\n multi: true,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SkyPhoneFieldInputDirective,\n multi: true,\n },\n ],\n})\nexport class SkyPhoneFieldInputDirective\n implements OnInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Whether to disable the phone field on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.\n * To set the disabled state on reactive forms, use the `FormControl` instead.\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public set disabled(value: boolean) {\n if (this.#phoneFieldComponent) {\n this.#phoneFieldComponent.countrySelectDisabled = value;\n this.#adapterSvc?.setElementDisabledState(this.#elRef, value);\n }\n\n this.#_disabled = value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * Whether to prevent validation on the phone number input. For validation,\n * phone numbers are driven through the `ngModel` attribute that you specify on an\n * `input` element or on a `FormControl` in a reactive form. To prevent validation,\n * set this property to `true`.\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public skyPhoneFieldNoValidate = false;\n\n #_disabled = false;\n #_value = '';\n #control: AbstractControl | undefined;\n #ngUnsubscribe = new Subject<void>();\n #notifyChange: ((value: string) => void) | undefined;\n #notifyTouched: (() => void) | undefined;\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n readonly #adapterSvc = inject(SkyPhoneFieldAdapterService, {\n host: true,\n optional: true,\n skipSelf: true,\n });\n\n readonly #elRef = inject(ElementRef);\n readonly #phoneFieldComponent = inject(SkyPhoneFieldComponent, {\n host: true,\n optional: true,\n });\n\n public ngOnInit(): void {\n if (!this.#phoneFieldComponent) {\n throw new Error(\n 'You must wrap the `skyPhoneFieldInput` directive within a ' +\n '`<sky-phone-field>` component!',\n );\n }\n\n this.#adapterSvc?.setElementType(this.#elRef);\n this.#adapterSvc?.addElementClass(this.#elRef, 'sky-form-control');\n\n this.#phoneFieldComponent?.selectedCountryChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n const value = this.#adapterSvc?.getInputValue(this.#elRef);\n this.#setValue(value);\n this.#control?.updateValueAndValidity();\n });\n\n this.#phoneFieldComponent.countrySearchForm\n .get('countrySearch')\n ?.valueChanges.pipe(takeUntil(this.#ngUnsubscribe), take(1))\n .subscribe(() => {\n this.#control?.markAsDirty();\n this.#control?.markAsTouched();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public registerOnChange(fn: (value: string) => void): void {\n this.#notifyChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#notifyTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n this.#control ??= control;\n\n const value = control.value;\n\n if (!value || this.skyPhoneFieldNoValidate) {\n return null;\n }\n\n if (!this.#isValidPhoneNumber(value)) {\n return {\n skyPhoneField: {\n invalid: value,\n },\n };\n }\n\n return null;\n }\n\n public writeValue(value: unknown): void {\n const rawValue = typeof value === 'string' ? value : '';\n\n this.#phoneFieldComponent?.setCountryByDialCode(rawValue);\n this.#adapterSvc?.setElementValue(this.#elRef, rawValue);\n\n this.#setValue(rawValue);\n const newValue = this.#getValue();\n\n if (rawValue !== newValue) {\n // If the value is set before the control is initialized, wait for the\n // first cycle to complete before triggering a value change event.\n // (This occurs when the control is initialized with an unformatted value\n // but is formatted into a new value immediately in the `writeValue`\n // method.)\n if (!this.#control) {\n setTimeout(() => {\n this.#notifyChange?.(newValue);\n });\n } else {\n this.#notifyChange?.(newValue);\n }\n }\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.#notifyTouched?.();\n }\n\n @HostListener('input')\n protected onInput(): void {\n const value = this.#adapterSvc?.getInputValue(this.#elRef);\n this.#phoneFieldComponent?.setCountryByDialCode(value);\n this.#setValue(value);\n this.#notifyChange?.(this.#getValue());\n }\n\n #formatPhoneNumber(value: string | undefined): string | undefined {\n if (!value) {\n return;\n }\n\n const defaultCountry = this.#getDefaultCountry();\n const regionCode = this.#getRegionCode();\n const returnFormat = this.#phoneFieldComponent?.returnFormat;\n\n try {\n const phoneNumber = this.#phoneUtils.parseAndKeepRawInput(\n value,\n regionCode ?? defaultCountry,\n );\n\n if (this.#phoneUtils.isPossibleNumber(phoneNumber)) {\n switch (returnFormat) {\n case 'international':\n return this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.INTERNATIONAL,\n );\n\n case 'national':\n return this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.NATIONAL,\n );\n\n case 'default':\n default:\n return regionCode && regionCode !== defaultCountry\n ? this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.INTERNATIONAL,\n )\n : this.#phoneUtils.format(\n phoneNumber,\n PhoneNumberFormat.NATIONAL,\n );\n }\n }\n } catch (err) {\n /* */\n }\n\n return;\n }\n\n #getDefaultCountry(): string | undefined {\n return this.#phoneFieldComponent?.defaultCountry;\n }\n\n #getRegionCode(): string | undefined {\n return this.#phoneFieldComponent?.selectedCountry?.iso2;\n }\n\n #getValue(): string {\n return this.#_value;\n }\n\n #isValidPhoneNumber(value: string): boolean {\n const defaultCountry = this.#getDefaultCountry();\n const regionCode = this.#getRegionCode() ?? defaultCountry;\n const allowExtensions = !!this.#phoneFieldComponent?.allowExtensions;\n\n try {\n const phoneNumber = this.#phoneUtils.parseAndKeepRawInput(\n value,\n regionCode,\n );\n\n if (!allowExtensions && phoneNumber.getExtension()) {\n return false;\n }\n\n return this.#phoneUtils.isValidNumberForRegion(phoneNumber, regionCode);\n } catch (e) {\n return false;\n }\n }\n\n #setValue(value: string | undefined): void {\n /* istanbul ignore else */\n if (value !== undefined) {\n const formatted = this.#formatPhoneNumber(value);\n this.#_value = formatted ?? value;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyPhoneFieldResourcesModule } from '../shared/sky-phone-field-resources.module';\n\nimport { SkyPhoneFieldInputDirective } from './phone-field-input.directive';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\n\n@NgModule({\n declarations: [SkyPhoneFieldComponent, SkyPhoneFieldInputDirective],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyCountryFieldModule,\n SkyIconModule,\n SkyPhoneFieldResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyPhoneFieldComponent, SkyPhoneFieldInputDirective],\n})\nexport class SkyPhoneFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SkyPhoneFieldAdapterService"],"mappings":"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"}
|
|
@@ -39,7 +39,6 @@ export declare class SkyPhoneFieldInputDirective implements OnInit, OnDestroy, C
|
|
|
39
39
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
40
40
|
writeValue(value: unknown): void;
|
|
41
41
|
protected onBlur(): void;
|
|
42
|
-
protected onChange(): void;
|
|
43
42
|
protected onInput(): void;
|
|
44
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyPhoneFieldInputDirective, never>;
|
|
45
44
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyPhoneFieldInputDirective, "[skyPhoneFieldInput]", never, { "disabled": { "alias": "disabled"; "required": false; }; "skyPhoneFieldNoValidate": { "alias": "skyPhoneFieldNoValidate"; "required": false; }; }, {}, never, never, false, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/phone-field",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.2.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"@angular/core": "^18.2.3",
|
|
43
43
|
"@angular/forms": "^18.2.3",
|
|
44
44
|
"@angular/platform-browser": "^18.2.3",
|
|
45
|
-
"@skyux-sdk/testing": "11.
|
|
46
|
-
"@skyux/core": "11.
|
|
47
|
-
"@skyux/forms": "11.
|
|
48
|
-
"@skyux/i18n": "11.
|
|
49
|
-
"@skyux/icon": "11.
|
|
50
|
-
"@skyux/lookup": "11.
|
|
51
|
-
"@skyux/theme": "11.
|
|
45
|
+
"@skyux-sdk/testing": "11.2.0",
|
|
46
|
+
"@skyux/core": "11.2.0",
|
|
47
|
+
"@skyux/forms": "11.2.0",
|
|
48
|
+
"@skyux/i18n": "11.2.0",
|
|
49
|
+
"@skyux/icon": "11.2.0",
|
|
50
|
+
"@skyux/lookup": "11.2.0",
|
|
51
|
+
"@skyux/theme": "11.2.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"google-libphonenumber": "3.2.38",
|