@skyux/phone-field 9.30.4 → 9.30.6
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.
|
@@ -218,6 +218,7 @@ export class SkyPhoneFieldInputDirective {
|
|
|
218
218
|
.pipe(debounceTime(500), takeUntil(this.#ngUnsubscribe))
|
|
219
219
|
.subscribe((newValue) => {
|
|
220
220
|
this.writeValue(newValue);
|
|
221
|
+
this.#changeDetector.markForCheck();
|
|
221
222
|
});
|
|
222
223
|
}
|
|
223
224
|
#validateNumber(phoneNumber) {
|
|
@@ -303,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
303
304
|
type: HostListener,
|
|
304
305
|
args: ['input', ['$event']]
|
|
305
306
|
}] } });
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU16RCxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7Ozs7Ozs7Ozs7OztHQVlHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQUd0Qzs7OztPQUlHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7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LElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUM1QixTQUFTLEVBQ1QsaUJBQWlCLENBQUMsYUFBYSxDQUNoQyxDQUFDO3lCQUNIOzZCQUFNOzRCQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzVCLFNBQVMsRUFDVCxpQkFBaUIsQ0FBQyxRQUFRLENBQzNCLENBQUM7eUJBQ0g7aUJBQ0o7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLFdBQVcsQ0FBQzthQUNwQjtTQUNGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixrQkFBa0I7WUFDbEIsMEJBQTBCO1lBQzFCLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELG9HQUFvRztJQUNwRyxTQUFTLENBQWlDO0lBRTFDLHVCQUF1QjtJQUN2QixnRUFBZ0U7SUFDaEUsVUFBVSxDQUFZO0lBRXRCLHVCQUF1QjtJQUN2QixnRUFBZ0U7SUFDaEUsZ0JBQWdCLENBQVk7OEdBOVRqQiwyQkFBMkI7a0dBQTNCLDJCQUEyQiw0UEFGM0IsQ0FBQyw4QkFBOEIsRUFBRSx5QkFBeUIsQ0FBQzs7MkZBRTNELDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSx5QkFBeUIsQ0FBQztpQkFDdkU7OzBCQXlFSSxRQUFROzswQkFDUixRQUFROzRDQWhFQSxRQUFRO3NCQURsQixLQUFLO2dCQXNCQyx1QkFBdUI7c0JBRDdCLEtBQUs7Z0JBc0dDLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWEzQixXQUFXO3NCQURqQixZQUFZO3VCQUFDLE1BQU07Z0JBTWIsYUFBYTtzQkFEbkIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQsIFBob25lTnVtYmVyVXRpbCB9IGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQaG9uZUZpZWxkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3Bob25lLWZpZWxkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lQaG9uZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZENvdW50cnkgfSBmcm9tICcuL3R5cGVzL2NvdW50cnknO1xuXG5jb25zdCBTS1lfUEhPTkVfRklFTERfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lQaG9uZUZpZWxkSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9QSE9ORV9GSUVMRF9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgYnV0dG9uLCBzZWFyY2ggaW5wdXQsIGFuZCB0ZXh0IGlucHV0IGZvciBlbnRlcmluZyBhbmQgdmFsaWRhdGluZ1xuICogaW50ZXJuYXRpb25hbCBwaG9uZSBudW1iZXJzLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsIGFuZCB3cmFwXG4gKiB0aGF0IGVsZW1lbnQgaW4gYSBgc2t5LXBob25lLWZpZWxkYCBjb21wb25lbnQuIEJ5IGRlZmF1bHQsIHRoZSBjb3VudHJ5IHNlbGVjdG9yXG4gKiBidXR0b24gZGlzcGxheXMgYSBmbGFnIGljb24gZm9yIHRoZSBkZWZhdWx0IGNvdW50cnksIGFuZCB0aGUgcGhvbmUgbnVtYmVyIGlucHV0XG4gKiBkaXNwbGF5cyBhIHNhbXBsZSBvZiB0aGUgY29ycmVjdCBwaG9uZSBudW1iZXIgZm9ybWF0LiBXaGVuIHVzZXJzIHNlbGVjdCB0aGUgY291bnRyeVxuICogc2VsZWN0b3IgYnV0dG9uLCB0aGV5IGV4cG9zZSB0aGUgY291bnRyeSBzZWFyY2ggaW5wdXQsIHdoaWNoIGlzXG4gKiBbYW4gYXV0b2NvbXBsZXRlIGlucHV0XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlKVxuICogdGhhdCBhbGxvd3MgdGhlbSB0byBzZWxlY3QgZGlmZmVyZW50IGNvdW50cmllcy4gV2hlbiB1c2VycyBlbnRlciBgK2AgZm9sbG93ZWQgYnkgYW5cbiAqIGludGVybmF0aW9uYWwgZGlhbCBjb2RlIGluIHRoZSBwaG9uZSBudW1iZXIgaW5wdXQsIHRoZSBjb3VudHJ5IGF1dG9tYXRpY2FsbHkgc3dpdGNoZXNcbiAqIHRvIHRoZSBjb3VudHJ5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhbCBjb2RlLlxuICogQHJlcXVpcmVkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lQaG9uZUZpZWxkSW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1BIT05FX0ZJRUxEX1ZBTFVFX0FDQ0VTU09SLCBTS1lfUEhPTkVfRklFTERfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgcGhvbmUgZmllbGQgb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuY291bnRyeVNlbGVjdERpc2FibGVkID0gY29lcmNlZFZhbHVlO1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnREaXNhYmxlZFN0YXRlKHRoaXMuI2VsUmVmLCBjb2VyY2VkVmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLiNfZGlzYWJsZWQgPSBjb2VyY2VkVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBwcmV2ZW50IHZhbGlkYXRpb24gb24gdGhlIHBob25lIG51bWJlciBpbnB1dC4gRm9yIHZhbGlkYXRpb24sXG4gICAqIHBob25lIG51bWJlcnMgYXJlIGRyaXZlbiB0aHJvdWdoIHRoZSBgbmdNb2RlbGAgYXR0cmlidXRlIHRoYXQgeW91IHNwZWNpZnkgb24gYW5cbiAgICogYGlucHV0YCBlbGVtZW50IG9yIG9uIGEgYEZvcm1Db250cm9sYCBpbiBhIHJlYWN0aXZlIGZvcm0uIFRvIHByZXZlbnQgdmFsaWRhdGlvbixcbiAgICogc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreVBob25lRmllbGROb1ZhbGlkYXRlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgc2V0ICNtb2RlbFZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB2YWx1ZU9yRGVmYXVsdCA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuI19tb2RlbFZhbHVlID0gdmFsdWVPckRlZmF1bHQ7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRWYWx1ZSh0aGlzLiNlbFJlZiwgdmFsdWVPckRlZmF1bHQpO1xuXG4gICAgaWYgKHZhbHVlT3JEZWZhdWx0KSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuI2Zvcm1hdE51bWJlcih2YWx1ZU9yRGVmYXVsdC50b1N0cmluZygpKTtcblxuICAgICAgdGhpcy4jb25DaGFuZ2UoZm9ybWF0dGVkVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZU9yRGVmYXVsdCk7XG4gICAgfVxuICAgIHRoaXMuI3ZhbGlkYXRvckNoYW5nZSgpO1xuICB9XG5cbiAgZ2V0ICNtb2RlbFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19tb2RlbFZhbHVlO1xuICB9XG5cbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcblxuICAjdGV4dENoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjcGhvbmVVdGlscyA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuXG4gICNfZGlzYWJsZWQhOiBib29sZWFuO1xuXG4gICNfbW9kZWxWYWx1ZSA9ICcnO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI3Bob25lRmllbGRDb21wb25lbnQ6IFNreVBob25lRmllbGRDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIGFkYXB0ZXJTZXJ2aWNlPzogU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHBob25lRmllbGRDb21wb25lbnQ/OiBTa3lQaG9uZUZpZWxkQ29tcG9uZW50LFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50ID0gcGhvbmVGaWVsZENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1lvdSBtdXN0IHdyYXAgdGhlIGBza3lQaG9uZUZpZWxkSW5wdXRgIGRpcmVjdGl2ZSB3aXRoaW4gYSAnICtcbiAgICAgICAgICAnYDxza3ktcGhvbmUtZmllbGQ+YCBjb21wb25lbnQhJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRUeXBlKHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uYWRkRWxlbWVudENsYXNzKHRoaXMuI2VsUmVmLCAnc2t5LWZvcm0tY29udHJvbCcpO1xuICAgIGlmICh0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZWxlY3RlZENvdW50cnk/LmV4YW1wbGVOdW1iZXIpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlPy5zZXRFbGVtZW50UGxhY2Vob2xkZXIoXG4gICAgICAgIHRoaXMuI2VsUmVmLFxuICAgICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50LnNlbGVjdGVkQ291bnRyeS5leGFtcGxlTnVtYmVyLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkpID0+IHtcbiAgICAgICAgdGhpcy4jbW9kZWxWYWx1ZSA9IHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIGlmIChjb3VudHJ5Py5leGFtcGxlTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRQbGFjZWhvbGRlcihcbiAgICAgICAgICAgIHRoaXMuI2VsUmVmLFxuICAgICAgICAgICAgY291bnRyeS5leGFtcGxlTnVtYmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gYWRkcmVzcyBhIGJ1ZyBpbiBBbmd1bGFyIDQsIHdoZXJlIHRoZSB2YWx1ZSBpcyBub3QgY2hhbmdlZCBvbiB0aGUgdmlldy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNzkyXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29udHJvbCAmJiB0aGlzLiNtb2RlbFZhbHVlKSB7XG4gICAgICB0aGlzLiNjb250cm9sLnNldFZhbHVlKHRoaXMuI21vZGVsVmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyB0aGUgbmV3IHZhbHVlIGZvciByZWFjdGl2ZSBmb3JtcyBvbiBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqIEBwYXJhbSBldmVudCBUaGUgY2hhbmdlIGV2ZW50IHRoYXQgd2FzIHJlY2VpdmVkXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25JbnB1dENoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiN0ZXh0Q2hhbmdlcykge1xuICAgICAgdGhpcy4jc2V0dXBUZXh0Q2hhbmdlU3Vic2NyaXB0aW9uKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3RleHRDaGFuZ2VzLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFya3MgcmVhY3RpdmUgZm9ybSBjb250cm9scyBhcyB0b3VjaGVkIG9uIGlucHV0IGJsdXIgZXZlbnRzXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHVibGljIG9uSW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25JbnB1dFR5cGluZyhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiN0ZXh0Q2hhbmdlcykge1xuICAgICAgdGhpcy4jc2V0dXBUZXh0Q2hhbmdlU3Vic2NyaXB0aW9uKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3RleHRDaGFuZ2VzLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBuZXcgdmFsdWUgZm9yIHJlYWN0aXZlIGZvcm1zXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IHZhbHVlIGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZXRDb3VudHJ5QnlEaWFsQ29kZSh2YWx1ZSk7XG5cbiAgICB0aGlzLiNtb2RlbFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI3ZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHRoZSBpbnB1dFxuICAgKiBAcGFyYW0gaXNEaXNhYmxlZCB0aGUgbmV3IHZhbHVlIG9mIHRoZSBpbnB1dCdzIGRpc2FibGVkIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUncyB0aGUgZm9ybSBjb250cm9sJ3MgY3VycmVudCB2YWx1ZVxuICAgKiBAcGFyYW0gY29udHJvbCB0aGUgZm9ybSBjb250cm9sIGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5za3lQaG9uZUZpZWxkTm9WYWxpZGF0ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5ICYmXG4gICAgICAhdGhpcy4jdmFsaWRhdGVOdW1iZXIodmFsdWUpXG4gICAgKSB7XG4gICAgICBpZiAoIXRoaXMuI3RleHRDaGFuZ2VzKSB7XG4gICAgICAgIC8vIE1hcmsgdGhlIGludmFsaWQgY29udHJvbCBhcyB0b3VjaGVkIHNvIHRoYXQgdGhlIGlucHV0J3MgaW52YWxpZCBDU1Mgc3R5bGVzIGFwcGVhci5cbiAgICAgICAgLy8gKFRoaXMgaXMgb25seSByZXF1aXJlZCB3aGVuIHRoZSBpbnZhbGlkIHZhbHVlIGlzIHNldCBieSB0aGUgRm9ybUNvbnRyb2wgY29uc3RydWN0b3IuKVxuICAgICAgICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbnB1dCBpcyB0aGUgYWN0aXZlIGVsZW1lbnQgc28gdGhhdCB3ZSBkb24ndCBzaG93IHZhbGlkYXRpb25cbiAgICAgICAgLy8gZXJyb3JzIHVubGVzcyBpdCBpcyBpbnZhbGlkIG9uIGluaXRpYWxpemF0aW9uIG9yIHRoZSBpbnB1dCBoYXMgYmVlbiBibHVycmVkLlxuICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2t5UGhvbmVGaWVsZDoge1xuICAgICAgICAgIGludmFsaWQ6IHZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAjc2V0dXBUZXh0Q2hhbmdlU3Vic2NyaXB0aW9uKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI3RleHRDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0ZXh0KTtcblxuICAgIHRoaXMuI3RleHRDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobmV3VmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI3ZhbGlkYXRlTnVtYmVyKHBob25lTnVtYmVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbnVtYmVyT2JqID0gdGhpcy4jcGhvbmVVdGlscy5wYXJzZUFuZEtlZXBSYXdJbnB1dChcbiAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMixcbiAgICAgICk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCAmJlxuICAgICAgICAhdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5hbGxvd0V4dGVuc2lvbnMgJiZcbiAgICAgICAgbnVtYmVyT2JqLmdldEV4dGVuc2lvbigpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5pc1ZhbGlkTnVtYmVyRm9yUmVnaW9uKFxuICAgICAgICBudW1iZXJPYmosXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMixcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQncyB0aGUgZ2l2ZW4gcGhvbmUgbnVtYmVyIGJhc2VkIG9uIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY291bnRyeS5cbiAgICogQHBhcmFtIHBob25lTnVtYmVyIFRoZSBudW1iZXIgdG8gZm9ybWF0XG4gICAqL1xuICAjZm9ybWF0TnVtYmVyKHBob25lTnVtYmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBudW1iZXJPYmogPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLiNwaG9uZVV0aWxzLmlzUG9zc2libGVOdW1iZXIobnVtYmVyT2JqKSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnJldHVybkZvcm1hdCkge1xuICAgICAgICAgIGNhc2UgJ2ludGVybmF0aW9uYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgJ25hdGlvbmFsJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgbnVtYmVyT2JqLFxuICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yICE9PVxuICAgICAgICAgICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5kZWZhdWx0Q291bnRyeVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUwsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwaG9uZU51bWJlcjtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICByZXR1cm4gcGhvbmVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAjb25DaGFuZ2UgPSAoXzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7fTtcblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICN2YWxpZGF0b3JDaGFuZ2UgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU16RCxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7Ozs7Ozs7Ozs7OztHQVlHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQUd0Qzs7OztPQUlHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7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IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQaG9uZU51bWJlckZvcm1hdCwgUGhvbmVOdW1iZXJVdGlsIH0gZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vcGhvbmUtZmllbGQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVBob25lRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQaG9uZUZpZWxkQ291bnRyeSB9IGZyb20gJy4vdHlwZXMvY291bnRyeSc7XG5cbmNvbnN0IFNLWV9QSE9ORV9GSUVMRF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3QgU0tZX1BIT05FX0ZJRUxEX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBidXR0b24sIHNlYXJjaCBpbnB1dCwgYW5kIHRleHQgaW5wdXQgZm9yIGVudGVyaW5nIGFuZCB2YWxpZGF0aW5nXG4gKiBpbnRlcm5hdGlvbmFsIHBob25lIG51bWJlcnMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudCwgYW5kIHdyYXBcbiAqIHRoYXQgZWxlbWVudCBpbiBhIGBza3ktcGhvbmUtZmllbGRgIGNvbXBvbmVudC4gQnkgZGVmYXVsdCwgdGhlIGNvdW50cnkgc2VsZWN0b3JcbiAqIGJ1dHRvbiBkaXNwbGF5cyBhIGZsYWcgaWNvbiBmb3IgdGhlIGRlZmF1bHQgY291bnRyeSwgYW5kIHRoZSBwaG9uZSBudW1iZXIgaW5wdXRcbiAqIGRpc3BsYXlzIGEgc2FtcGxlIG9mIHRoZSBjb3JyZWN0IHBob25lIG51bWJlciBmb3JtYXQuIFdoZW4gdXNlcnMgc2VsZWN0IHRoZSBjb3VudHJ5XG4gKiBzZWxlY3RvciBidXR0b24sIHRoZXkgZXhwb3NlIHRoZSBjb3VudHJ5IHNlYXJjaCBpbnB1dCwgd2hpY2ggaXNcbiAqIFthbiBhdXRvY29tcGxldGUgaW5wdXRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9hdXRvY29tcGxldGUpXG4gKiB0aGF0IGFsbG93cyB0aGVtIHRvIHNlbGVjdCBkaWZmZXJlbnQgY291bnRyaWVzLiBXaGVuIHVzZXJzIGVudGVyIGArYCBmb2xsb3dlZCBieSBhblxuICogaW50ZXJuYXRpb25hbCBkaWFsIGNvZGUgaW4gdGhlIHBob25lIG51bWJlciBpbnB1dCwgdGhlIGNvdW50cnkgYXV0b21hdGljYWxseSBzd2l0Y2hlc1xuICogdG8gdGhlIGNvdW50cnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFsIGNvZGUuXG4gKiBAcmVxdWlyZWRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVBob25lRmllbGRJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtTS1lfUEhPTkVfRklFTERfVkFMVUVfQUNDRVNTT1IsIFNLWV9QSE9ORV9GSUVMRF9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQaG9uZUZpZWxkSW5wdXREaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBwaG9uZSBmaWVsZCBvbiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMuIERvbid0IHVzZSB0aGlzIGlucHV0IG9uIHJlYWN0aXZlIGZvcm1zIGJlY2F1c2UgdGhleSBtYXkgb3ZlcndyaXRlIHRoZSBpbnB1dCBvciBsZWF2ZSB0aGUgY29udHJvbCBvdXQgb2Ygc3luYy5cbiAgICogVG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiByZWFjdGl2ZSBmb3JtcywgdXNlIHRoZSBgRm9ybUNvbnRyb2xgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY29lcmNlZFZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCkge1xuICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5jb3VudHJ5U2VsZWN0RGlzYWJsZWQgPSBjb2VyY2VkVmFsdWU7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudERpc2FibGVkU3RhdGUodGhpcy4jZWxSZWYsIGNvZXJjZWRWYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuI19kaXNhYmxlZCA9IGNvZXJjZWRWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZXZlbnQgdmFsaWRhdGlvbiBvbiB0aGUgcGhvbmUgbnVtYmVyIGlucHV0LiBGb3IgdmFsaWRhdGlvbixcbiAgICogcGhvbmUgbnVtYmVycyBhcmUgZHJpdmVuIHRocm91Z2ggdGhlIGBuZ01vZGVsYCBhdHRyaWJ1dGUgdGhhdCB5b3Ugc3BlY2lmeSBvbiBhblxuICAgKiBgaW5wdXRgIGVsZW1lbnQgb3Igb24gYSBgRm9ybUNvbnRyb2xgIGluIGEgcmVhY3RpdmUgZm9ybS4gVG8gcHJldmVudCB2YWxpZGF0aW9uLFxuICAgKiBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgdHJ1ZWAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2t5UGhvbmVGaWVsZE5vVmFsaWRhdGU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBzZXQgI21vZGVsVmFsdWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHZhbHVlT3JEZWZhdWx0ID0gdmFsdWUgPz8gJyc7XG4gICAgdGhpcy4jX21vZGVsVmFsdWUgPSB2YWx1ZU9yRGVmYXVsdDtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFZhbHVlKHRoaXMuI2VsUmVmLCB2YWx1ZU9yRGVmYXVsdCk7XG5cbiAgICBpZiAodmFsdWVPckRlZmF1bHQpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy4jZm9ybWF0TnVtYmVyKHZhbHVlT3JEZWZhdWx0LnRvU3RyaW5nKCkpO1xuXG4gICAgICB0aGlzLiNvbkNoYW5nZShmb3JtYXR0ZWRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHZhbHVlT3JEZWZhdWx0KTtcbiAgICB9XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlKCk7XG4gIH1cblxuICBnZXQgI21vZGVsVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX21vZGVsVmFsdWU7XG4gIH1cblxuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuXG4gICN0ZXh0Q2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNwaG9uZVV0aWxzID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG5cbiAgI19kaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgI19tb2RlbFZhbHVlID0gJyc7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNhZGFwdGVyU2VydmljZTogU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjcGhvbmVGaWVsZENvbXBvbmVudDogU2t5UGhvbmVGaWVsZENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgYWRhcHRlclNlcnZpY2U/OiBTa3lQaG9uZUZpZWxkQWRhcHRlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcGhvbmVGaWVsZENvbXBvbmVudD86IFNreVBob25lRmllbGRDb21wb25lbnQsXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZSA9IGFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQgPSBwaG9uZUZpZWxkQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnWW91IG11c3Qgd3JhcCB0aGUgYHNreVBob25lRmllbGRJbnB1dGAgZGlyZWN0aXZlIHdpdGhpbiBhICcgK1xuICAgICAgICAgICdgPHNreS1waG9uZS1maWVsZD5gIGNvbXBvbmVudCEnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFR5cGUodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlPy5hZGRFbGVtZW50Q2xhc3ModGhpcy4jZWxSZWYsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgaWYgKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uZXhhbXBsZU51bWJlcikge1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRQbGFjZWhvbGRlcihcbiAgICAgICAgdGhpcy4jZWxSZWYsXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuc2VsZWN0ZWRDb3VudHJ5LmV4YW1wbGVOdW1iZXIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjb3VudHJ5OiBTa3lQaG9uZUZpZWxkQ291bnRyeSkgPT4ge1xuICAgICAgICB0aGlzLiNtb2RlbFZhbHVlID0gdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgaWYgKGNvdW50cnk/LmV4YW1wbGVOdW1iZXIpIHtcbiAgICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFBsYWNlaG9sZGVyKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYsXG4gICAgICAgICAgICBjb3VudHJ5LmV4YW1wbGVOdW1iZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNCwgd2hlcmUgdGhlIHZhbHVlIGlzIG5vdCBjaGFuZ2VkIG9uIHRoZSB2aWV3LlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM3OTJcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb250cm9sICYmIHRoaXMuI21vZGVsVmFsdWUpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWxWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBuZXcgdmFsdWUgZm9yIHJlYWN0aXZlIGZvcm1zIG9uIGNoYW5nZSBldmVudHMgb24gdGhlIGlucHV0IGVsZW1lbnRcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBjaGFuZ2UgZXZlbnQgdGhhdCB3YXMgcmVjZWl2ZWRcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3RleHRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLiNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24oZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dENoYW5nZXMubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyByZWFjdGl2ZSBmb3JtIGNvbnRyb2xzIGFzIHRvdWNoZWQgb24gaW5wdXQgYmx1ciBldmVudHNcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbklucHV0VHlwaW5nKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3RleHRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLiNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24oZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dENoYW5nZXMubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIG5ldyB2YWx1ZSBmb3IgcmVhY3RpdmUgZm9ybXNcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNldENvdW50cnlCeURpYWxDb2RlKHZhbHVlKTtcblxuICAgIHRoaXMuI21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb24gdGhlIGlucHV0XG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGlucHV0J3MgZGlzYWJsZWQgc3RhdGVcbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSdzIHRoZSBmb3JtIGNvbnRyb2wncyBjdXJyZW50IHZhbHVlXG4gICAqIEBwYXJhbSBjb250cm9sIHRoZSBmb3JtIGNvbnRyb2wgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNreVBob25lRmllbGROb1ZhbGlkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZWxlY3RlZENvdW50cnkgJiZcbiAgICAgICF0aGlzLiN2YWxpZGF0ZU51bWJlcih2YWx1ZSlcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy4jdGV4dENoYW5nZXMpIHtcbiAgICAgICAgLy8gTWFyayB0aGUgaW52YWxpZCBjb250cm9sIGFzIHRvdWNoZWQgc28gdGhhdCB0aGUgaW5wdXQncyBpbnZhbGlkIENTUyBzdHlsZXMgYXBwZWFyLlxuICAgICAgICAvLyAoVGhpcyBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gdGhlIGludmFsaWQgdmFsdWUgaXMgc2V0IGJ5IHRoZSBGb3JtQ29udHJvbCBjb25zdHJ1Y3Rvci4pXG4gICAgICAgIC8vIFdlIGRvbid0IGRvIHRoaXMgaWYgdGhlIGlucHV0IGlzIHRoZSBhY3RpdmUgZWxlbWVudCBzbyB0aGF0IHdlIGRvbid0IHNob3cgdmFsaWRhdGlvblxuICAgICAgICAvLyBlcnJvcnMgdW5sZXNzIGl0IGlzIGludmFsaWQgb24gaW5pdGlhbGl6YXRpb24gb3IgdGhlIGlucHV0IGhhcyBiZWVuIGJsdXJyZWQuXG4gICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBza3lQaG9uZUZpZWxkOiB7XG4gICAgICAgICAgaW52YWxpZDogdmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24odGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jdGV4dENoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRleHQpO1xuXG4gICAgdGhpcy4jdGV4dENoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI3ZhbGlkYXRlTnVtYmVyKHBob25lTnVtYmVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbnVtYmVyT2JqID0gdGhpcy4jcGhvbmVVdGlscy5wYXJzZUFuZEtlZXBSYXdJbnB1dChcbiAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMixcbiAgICAgICk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCAmJlxuICAgICAgICAhdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5hbGxvd0V4dGVuc2lvbnMgJiZcbiAgICAgICAgbnVtYmVyT2JqLmdldEV4dGVuc2lvbigpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5pc1ZhbGlkTnVtYmVyRm9yUmVnaW9uKFxuICAgICAgICBudW1iZXJPYmosXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMixcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQncyB0aGUgZ2l2ZW4gcGhvbmUgbnVtYmVyIGJhc2VkIG9uIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY291bnRyeS5cbiAgICogQHBhcmFtIHBob25lTnVtYmVyIFRoZSBudW1iZXIgdG8gZm9ybWF0XG4gICAqL1xuICAjZm9ybWF0TnVtYmVyKHBob25lTnVtYmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBudW1iZXJPYmogPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLiNwaG9uZVV0aWxzLmlzUG9zc2libGVOdW1iZXIobnVtYmVyT2JqKSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnJldHVybkZvcm1hdCkge1xuICAgICAgICAgIGNhc2UgJ2ludGVybmF0aW9uYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgJ25hdGlvbmFsJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgbnVtYmVyT2JqLFxuICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yICE9PVxuICAgICAgICAgICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5kZWZhdWx0Q291bnRyeVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUwsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwaG9uZU51bWJlcjtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICByZXR1cm4gcGhvbmVOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAjb25DaGFuZ2UgPSAoXzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7fTtcblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICN2YWxpZGF0b3JDaGFuZ2UgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
|
|
@@ -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: { [locale: 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 },\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 setElementDisabledState(\n elementRef: ElementRef,\n disabled: boolean,\n ): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'disabled', disabled);\n }\n\n public setElementPlaceholder(\n elementRef: ElementRef,\n placeholder: string,\n ): void {\n this.#renderer.setAttribute(\n elementRef.nativeElement,\n 'placeholder',\n placeholder,\n );\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} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { SkyInputBoxHostService } from '@skyux/forms';\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 'intl-tel-input';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldCountry } from './types/country';\nimport { SkyPhoneFieldNumberReturnFormat } from './types/number-return-format';\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 && value !== this.#_defaultCountry) {\n this.#_defaultCountry = value.toLowerCase();\n\n this.#defaultCountryData = this.countries.find(\n (country) => country.iso2 === this.#_defaultCountry,\n );\n }\n }\n\n public get defaultCountry(): string | undefined {\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\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>;\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 this.#_selectedCountry.exampleNumber = this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n\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 #phoneUtils = PhoneNumberUtil.getInstance();\n\n #longestDialCodeLength = 0;\n\n #_defaultCountry: string | undefined;\n\n #_selectedCountry: SkyPhoneFieldCountry | undefined;\n\n #countrySearchFormControl: FormControl<SkyCountryFieldCountry | undefined> =\n new FormControl();\n\n #formBuilder: FormBuilder;\n #adapterService: SkyPhoneFieldAdapterService;\n #changeDetector: ChangeDetectorRef;\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 * We must type the window object as any here as the intl-tel-input library adds its object\n * to the main window object.\n */\n this.countries = JSON.parse(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n JSON.stringify((window as any).intlTelInputGlobals.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.countrySearchForm = this.#formBuilder.group({\n countrySearch: this.#countrySearchFormControl,\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 if (!this.defaultCountry) {\n this.defaultCountry = 'us';\n }\n\n if (!this.selectedCountry) {\n this.selectedCountry = this.#defaultCountryData;\n }\n this.#changeDetector.markForCheck();\n }, 0);\n\n this.#countrySearchFormControl.valueChanges.subscribe(\n (newValue?: SkyCountryFieldCountry) => {\n if (newValue?.iso2 !== this.selectedCountry?.iso2) {\n this.selectedCountry = newValue;\n }\n },\n );\n }\n\n public ngOnDestroy(): void {\n this.selectedCountryChange.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 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): 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 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 #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","<ng-container *ngIf=\"!inputBoxHostSvc\">\n <div class=\"sky-input-group sky-phone-field\" [@blockAnimationOnLoad]>\n <ng-container *ngTemplateOutlet=\"countryBtnTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplateRef\"></ng-container>\n </div>\n</ng-container>\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\n class=\"sky-phone-field-flag iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry?.iso2\"\n ></div>\n </button>\n </div>\n</ng-template>\n\n<ng-template #inputTemplateRef>\n <span\n *ngIf=\"phoneInputShown\"\n class=\"sky-phone-field-container\"\n [@phoneInputAnimation]=\"phoneInputShown ? 'open' : 'closed'\"\n (@phoneInputAnimation.done)=\"phoneInputAnimationEnd($event)\"\n >\n <ng-content />\n </span>\n <span\n *ngIf=\"countrySearchShown\"\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 class=\"sky-phone-field-country-search\" [formGroup]=\"countrySearchForm\">\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</ng-template>\n\n<ng-template #buttonsInsetTemplateRef>\n <div\n *ngIf=\"countrySearchShown\"\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" size=\"2x\" />\n </button>\n </div>\n</ng-template>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n forwardRef,\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 { BehaviorSubject, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\nimport { SkyPhoneFieldCountry } from './types/country';\n\nconst SKY_PHONE_FIELD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyPhoneFieldInputDirective),\n multi: true,\n};\n\nconst SKY_PHONE_FIELD_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyPhoneFieldInputDirective),\n multi: true,\n};\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: [SKY_PHONE_FIELD_VALUE_ACCESSOR, SKY_PHONE_FIELD_VALIDATOR],\n})\nexport class SkyPhoneFieldInputDirective\n implements OnInit, OnDestroy, AfterViewInit, 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()\n public set disabled(value: boolean | undefined) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.#phoneFieldComponent) {\n this.#phoneFieldComponent.countrySelectDisabled = coercedValue;\n this.#adapterService?.setElementDisabledState(this.#elRef, coercedValue);\n }\n this.#_disabled = coercedValue;\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()\n public skyPhoneFieldNoValidate: boolean | undefined = false;\n\n set #modelValue(value: string | undefined) {\n const valueOrDefault = value ?? '';\n this.#_modelValue = valueOrDefault;\n this.#adapterService?.setElementValue(this.#elRef, valueOrDefault);\n\n if (valueOrDefault) {\n const formattedValue = this.#formatNumber(valueOrDefault.toString());\n\n this.#onChange(formattedValue);\n } else {\n this.#onChange(valueOrDefault);\n }\n this.#validatorChange();\n }\n\n get #modelValue(): string {\n return this.#_modelValue;\n }\n\n #control: AbstractControl | undefined;\n\n #textChanges: BehaviorSubject<string> | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n #_disabled!: boolean;\n\n #_modelValue = '';\n\n #changeDetector: ChangeDetectorRef;\n #elRef: ElementRef;\n\n #adapterService: SkyPhoneFieldAdapterService | undefined;\n #phoneFieldComponent: SkyPhoneFieldComponent | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n elRef: ElementRef,\n @Optional() adapterService?: SkyPhoneFieldAdapterService,\n @Optional() phoneFieldComponent?: SkyPhoneFieldComponent,\n ) {\n this.#changeDetector = changeDetector;\n this.#elRef = elRef;\n this.#adapterService = adapterService;\n this.#phoneFieldComponent = phoneFieldComponent;\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.#adapterService?.setElementType(this.#elRef);\n this.#adapterService?.addElementClass(this.#elRef, 'sky-form-control');\n if (this.#phoneFieldComponent?.selectedCountry?.exampleNumber) {\n this.#adapterService?.setElementPlaceholder(\n this.#elRef,\n this.#phoneFieldComponent.selectedCountry.exampleNumber,\n );\n }\n }\n\n public ngAfterViewInit(): void {\n this.#phoneFieldComponent?.selectedCountryChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((country: SkyPhoneFieldCountry) => {\n this.#modelValue = this.#elRef.nativeElement.value;\n if (country?.exampleNumber) {\n this.#adapterService?.setElementPlaceholder(\n this.#elRef,\n country.exampleNumber,\n );\n }\n });\n\n // This is needed to address a bug in Angular 4, where the value is not changed on the view.\n // See: https://github.com/angular/angular/issues/13792\n /* istanbul ignore else */\n if (this.#control && this.#modelValue) {\n this.#control.setValue(this.#modelValue, { emitEvent: false });\n this.#changeDetector.detectChanges();\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Writes the new value for reactive forms on change events on the input element\n * @param event The change event that was received\n */\n @HostListener('change', ['$event'])\n public onInputChange(event: any): void {\n if (!this.#textChanges) {\n this.#setupTextChangeSubscription(event.target.value);\n } else {\n this.#textChanges.next(event.target.value);\n }\n }\n\n /**\n * Marks reactive form controls as touched on input blur events\n */\n @HostListener('blur')\n public onInputBlur(): void {\n this.#onTouched();\n }\n\n @HostListener('input', ['$event'])\n public onInputTyping(event: any): void {\n if (!this.#textChanges) {\n this.#setupTextChangeSubscription(event.target.value);\n } else {\n this.#textChanges.next(event.target.value);\n }\n }\n\n /**\n * Writes the new value for reactive forms\n * @param value The new value for the input\n */\n public writeValue(value: string): void {\n this.#phoneFieldComponent?.setCountryByDialCode(value);\n\n this.#modelValue = value;\n }\n\n public registerOnChange(fn: (value: string | undefined) => void): void {\n this.#onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#onTouched = fn;\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n\n /**\n * Sets the disabled state on the input\n * @param isDisabled the new value of the input's disabled state\n */\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Validate's the form control's current value\n * @param control the form control for the input\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n if (!this.#control) {\n this.#control = control;\n }\n\n if (this.skyPhoneFieldNoValidate) {\n return null;\n }\n\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n if (\n this.#phoneFieldComponent?.selectedCountry &&\n !this.#validateNumber(value)\n ) {\n if (!this.#textChanges) {\n // Mark the invalid control as touched so that the input's invalid CSS styles appear.\n // (This is only required when the invalid value is set by the FormControl constructor.)\n // We don't do this if the input is the active element so that we don't show validation\n // errors unless it is invalid on initialization or the input has been blurred.\n control.markAsTouched();\n }\n\n return {\n skyPhoneField: {\n invalid: value,\n },\n };\n }\n return null;\n }\n\n #setupTextChangeSubscription(text: string): void {\n this.#textChanges = new BehaviorSubject(text);\n\n this.#textChanges\n .pipe(debounceTime(500), takeUntil(this.#ngUnsubscribe))\n .subscribe((newValue) => {\n this.writeValue(newValue);\n });\n }\n\n #validateNumber(phoneNumber: string): boolean {\n try {\n const numberObj = this.#phoneUtils.parseAndKeepRawInput(\n phoneNumber,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n\n if (\n this.#phoneFieldComponent &&\n !this.#phoneFieldComponent.allowExtensions &&\n numberObj.getExtension()\n ) {\n return false;\n }\n\n return this.#phoneUtils.isValidNumberForRegion(\n numberObj,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Format's the given phone number based on the currently selected country.\n * @param phoneNumber The number to format\n */\n #formatNumber(phoneNumber: string): string {\n try {\n const numberObj = this.#phoneUtils.parseAndKeepRawInput(\n phoneNumber,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n if (this.#phoneUtils.isPossibleNumber(numberObj)) {\n switch (this.#phoneFieldComponent?.returnFormat) {\n case 'international':\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.INTERNATIONAL,\n );\n case 'national':\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n case 'default':\n default:\n if (\n this.#phoneFieldComponent?.selectedCountry?.iso2 !==\n this.#phoneFieldComponent?.defaultCountry\n ) {\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.INTERNATIONAL,\n );\n } else {\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n }\n } else {\n return phoneNumber;\n }\n } catch (e) {\n /* sanity check */\n /* istanbul ignore next */\n return phoneNumber;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars\n #onChange = (_: string | undefined) => {};\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = () => {};\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIconModule } from '@skyux/indicators';\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","i1.SkyPhoneFieldAdapterService","i2.SkyPhoneFieldComponent"],"mappings":"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"}
|
|
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: { [locale: 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 },\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 setElementDisabledState(\n elementRef: ElementRef,\n disabled: boolean,\n ): void {\n this.#renderer.setProperty(elementRef.nativeElement, 'disabled', disabled);\n }\n\n public setElementPlaceholder(\n elementRef: ElementRef,\n placeholder: string,\n ): void {\n this.#renderer.setAttribute(\n elementRef.nativeElement,\n 'placeholder',\n placeholder,\n );\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} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { SkyInputBoxHostService } from '@skyux/forms';\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 'intl-tel-input';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldCountry } from './types/country';\nimport { SkyPhoneFieldNumberReturnFormat } from './types/number-return-format';\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 && value !== this.#_defaultCountry) {\n this.#_defaultCountry = value.toLowerCase();\n\n this.#defaultCountryData = this.countries.find(\n (country) => country.iso2 === this.#_defaultCountry,\n );\n }\n }\n\n public get defaultCountry(): string | undefined {\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\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>;\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 this.#_selectedCountry.exampleNumber = this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n\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 #phoneUtils = PhoneNumberUtil.getInstance();\n\n #longestDialCodeLength = 0;\n\n #_defaultCountry: string | undefined;\n\n #_selectedCountry: SkyPhoneFieldCountry | undefined;\n\n #countrySearchFormControl: FormControl<SkyCountryFieldCountry | undefined> =\n new FormControl();\n\n #formBuilder: FormBuilder;\n #adapterService: SkyPhoneFieldAdapterService;\n #changeDetector: ChangeDetectorRef;\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 * We must type the window object as any here as the intl-tel-input library adds its object\n * to the main window object.\n */\n this.countries = JSON.parse(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n JSON.stringify((window as any).intlTelInputGlobals.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.countrySearchForm = this.#formBuilder.group({\n countrySearch: this.#countrySearchFormControl,\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 if (!this.defaultCountry) {\n this.defaultCountry = 'us';\n }\n\n if (!this.selectedCountry) {\n this.selectedCountry = this.#defaultCountryData;\n }\n this.#changeDetector.markForCheck();\n }, 0);\n\n this.#countrySearchFormControl.valueChanges.subscribe(\n (newValue?: SkyCountryFieldCountry) => {\n if (newValue?.iso2 !== this.selectedCountry?.iso2) {\n this.selectedCountry = newValue;\n }\n },\n );\n }\n\n public ngOnDestroy(): void {\n this.selectedCountryChange.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 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): 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 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 #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","<ng-container *ngIf=\"!inputBoxHostSvc\">\n <div class=\"sky-input-group sky-phone-field\" [@blockAnimationOnLoad]>\n <ng-container *ngTemplateOutlet=\"countryBtnTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsInsetTemplateRef\"></ng-container>\n </div>\n</ng-container>\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\n class=\"sky-phone-field-flag iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry?.iso2\"\n ></div>\n </button>\n </div>\n</ng-template>\n\n<ng-template #inputTemplateRef>\n <span\n *ngIf=\"phoneInputShown\"\n class=\"sky-phone-field-container\"\n [@phoneInputAnimation]=\"phoneInputShown ? 'open' : 'closed'\"\n (@phoneInputAnimation.done)=\"phoneInputAnimationEnd($event)\"\n >\n <ng-content />\n </span>\n <span\n *ngIf=\"countrySearchShown\"\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 class=\"sky-phone-field-country-search\" [formGroup]=\"countrySearchForm\">\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</ng-template>\n\n<ng-template #buttonsInsetTemplateRef>\n <div\n *ngIf=\"countrySearchShown\"\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 *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" size=\"2x\" />\n </button>\n </div>\n</ng-template>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n forwardRef,\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 { BehaviorSubject, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SkyPhoneFieldAdapterService } from './phone-field-adapter.service';\nimport { SkyPhoneFieldComponent } from './phone-field.component';\nimport { SkyPhoneFieldCountry } from './types/country';\n\nconst SKY_PHONE_FIELD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyPhoneFieldInputDirective),\n multi: true,\n};\n\nconst SKY_PHONE_FIELD_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyPhoneFieldInputDirective),\n multi: true,\n};\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: [SKY_PHONE_FIELD_VALUE_ACCESSOR, SKY_PHONE_FIELD_VALIDATOR],\n})\nexport class SkyPhoneFieldInputDirective\n implements OnInit, OnDestroy, AfterViewInit, 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()\n public set disabled(value: boolean | undefined) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.#phoneFieldComponent) {\n this.#phoneFieldComponent.countrySelectDisabled = coercedValue;\n this.#adapterService?.setElementDisabledState(this.#elRef, coercedValue);\n }\n this.#_disabled = coercedValue;\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()\n public skyPhoneFieldNoValidate: boolean | undefined = false;\n\n set #modelValue(value: string | undefined) {\n const valueOrDefault = value ?? '';\n this.#_modelValue = valueOrDefault;\n this.#adapterService?.setElementValue(this.#elRef, valueOrDefault);\n\n if (valueOrDefault) {\n const formattedValue = this.#formatNumber(valueOrDefault.toString());\n\n this.#onChange(formattedValue);\n } else {\n this.#onChange(valueOrDefault);\n }\n this.#validatorChange();\n }\n\n get #modelValue(): string {\n return this.#_modelValue;\n }\n\n #control: AbstractControl | undefined;\n\n #textChanges: BehaviorSubject<string> | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #phoneUtils = PhoneNumberUtil.getInstance();\n\n #_disabled!: boolean;\n\n #_modelValue = '';\n\n #changeDetector: ChangeDetectorRef;\n #elRef: ElementRef;\n\n #adapterService: SkyPhoneFieldAdapterService | undefined;\n #phoneFieldComponent: SkyPhoneFieldComponent | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n elRef: ElementRef,\n @Optional() adapterService?: SkyPhoneFieldAdapterService,\n @Optional() phoneFieldComponent?: SkyPhoneFieldComponent,\n ) {\n this.#changeDetector = changeDetector;\n this.#elRef = elRef;\n this.#adapterService = adapterService;\n this.#phoneFieldComponent = phoneFieldComponent;\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.#adapterService?.setElementType(this.#elRef);\n this.#adapterService?.addElementClass(this.#elRef, 'sky-form-control');\n if (this.#phoneFieldComponent?.selectedCountry?.exampleNumber) {\n this.#adapterService?.setElementPlaceholder(\n this.#elRef,\n this.#phoneFieldComponent.selectedCountry.exampleNumber,\n );\n }\n }\n\n public ngAfterViewInit(): void {\n this.#phoneFieldComponent?.selectedCountryChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((country: SkyPhoneFieldCountry) => {\n this.#modelValue = this.#elRef.nativeElement.value;\n if (country?.exampleNumber) {\n this.#adapterService?.setElementPlaceholder(\n this.#elRef,\n country.exampleNumber,\n );\n }\n });\n\n // This is needed to address a bug in Angular 4, where the value is not changed on the view.\n // See: https://github.com/angular/angular/issues/13792\n /* istanbul ignore else */\n if (this.#control && this.#modelValue) {\n this.#control.setValue(this.#modelValue, { emitEvent: false });\n this.#changeDetector.detectChanges();\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Writes the new value for reactive forms on change events on the input element\n * @param event The change event that was received\n */\n @HostListener('change', ['$event'])\n public onInputChange(event: any): void {\n if (!this.#textChanges) {\n this.#setupTextChangeSubscription(event.target.value);\n } else {\n this.#textChanges.next(event.target.value);\n }\n }\n\n /**\n * Marks reactive form controls as touched on input blur events\n */\n @HostListener('blur')\n public onInputBlur(): void {\n this.#onTouched();\n }\n\n @HostListener('input', ['$event'])\n public onInputTyping(event: any): void {\n if (!this.#textChanges) {\n this.#setupTextChangeSubscription(event.target.value);\n } else {\n this.#textChanges.next(event.target.value);\n }\n }\n\n /**\n * Writes the new value for reactive forms\n * @param value The new value for the input\n */\n public writeValue(value: string): void {\n this.#phoneFieldComponent?.setCountryByDialCode(value);\n\n this.#modelValue = value;\n }\n\n public registerOnChange(fn: (value: string | undefined) => void): void {\n this.#onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#onTouched = fn;\n }\n\n public registerOnValidatorChange(fn: () => void): void {\n this.#validatorChange = fn;\n }\n\n /**\n * Sets the disabled state on the input\n * @param isDisabled the new value of the input's disabled state\n */\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Validate's the form control's current value\n * @param control the form control for the input\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n if (!this.#control) {\n this.#control = control;\n }\n\n if (this.skyPhoneFieldNoValidate) {\n return null;\n }\n\n const value = control.value;\n\n if (!value) {\n return null;\n }\n\n if (\n this.#phoneFieldComponent?.selectedCountry &&\n !this.#validateNumber(value)\n ) {\n if (!this.#textChanges) {\n // Mark the invalid control as touched so that the input's invalid CSS styles appear.\n // (This is only required when the invalid value is set by the FormControl constructor.)\n // We don't do this if the input is the active element so that we don't show validation\n // errors unless it is invalid on initialization or the input has been blurred.\n control.markAsTouched();\n }\n\n return {\n skyPhoneField: {\n invalid: value,\n },\n };\n }\n return null;\n }\n\n #setupTextChangeSubscription(text: string): void {\n this.#textChanges = new BehaviorSubject(text);\n\n this.#textChanges\n .pipe(debounceTime(500), takeUntil(this.#ngUnsubscribe))\n .subscribe((newValue) => {\n this.writeValue(newValue);\n this.#changeDetector.markForCheck();\n });\n }\n\n #validateNumber(phoneNumber: string): boolean {\n try {\n const numberObj = this.#phoneUtils.parseAndKeepRawInput(\n phoneNumber,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n\n if (\n this.#phoneFieldComponent &&\n !this.#phoneFieldComponent.allowExtensions &&\n numberObj.getExtension()\n ) {\n return false;\n }\n\n return this.#phoneUtils.isValidNumberForRegion(\n numberObj,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Format's the given phone number based on the currently selected country.\n * @param phoneNumber The number to format\n */\n #formatNumber(phoneNumber: string): string {\n try {\n const numberObj = this.#phoneUtils.parseAndKeepRawInput(\n phoneNumber,\n this.#phoneFieldComponent?.selectedCountry?.iso2,\n );\n if (this.#phoneUtils.isPossibleNumber(numberObj)) {\n switch (this.#phoneFieldComponent?.returnFormat) {\n case 'international':\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.INTERNATIONAL,\n );\n case 'national':\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n case 'default':\n default:\n if (\n this.#phoneFieldComponent?.selectedCountry?.iso2 !==\n this.#phoneFieldComponent?.defaultCountry\n ) {\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.INTERNATIONAL,\n );\n } else {\n return this.#phoneUtils.format(\n numberObj,\n PhoneNumberFormat.NATIONAL,\n );\n }\n }\n } else {\n return phoneNumber;\n }\n } catch (e) {\n /* sanity check */\n /* istanbul ignore next */\n return phoneNumber;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars\n #onChange = (_: string | undefined) => {};\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = () => {};\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #validatorChange = () => {};\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIconModule } from '@skyux/indicators';\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","i1.SkyPhoneFieldAdapterService","i2.SkyPhoneFieldComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/phone-field",
|
|
3
|
-
"version": "9.30.
|
|
3
|
+
"version": "9.30.6",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
"@angular/core": "^16.2.9",
|
|
43
43
|
"@angular/forms": "^16.2.9",
|
|
44
44
|
"@angular/platform-browser": "^16.2.9",
|
|
45
|
-
"@skyux-sdk/testing": "9.30.
|
|
46
|
-
"@skyux/forms": "9.30.
|
|
47
|
-
"@skyux/i18n": "9.30.
|
|
48
|
-
"@skyux/indicators": "9.30.
|
|
49
|
-
"@skyux/lookup": "9.30.
|
|
50
|
-
"@skyux/theme": "9.30.
|
|
45
|
+
"@skyux-sdk/testing": "9.30.6",
|
|
46
|
+
"@skyux/forms": "9.30.6",
|
|
47
|
+
"@skyux/i18n": "9.30.6",
|
|
48
|
+
"@skyux/indicators": "9.30.6",
|
|
49
|
+
"@skyux/lookup": "9.30.6",
|
|
50
|
+
"@skyux/theme": "9.30.6"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"google-libphonenumber": "3.2.33",
|