@bravura/ui 5.2.3 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +630 -616
- package/README.md +56 -56
- package/_index.scss +5 -5
- package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -1
- package/fesm2022/bravura-ui-alert.mjs +13 -13
- package/fesm2022/bravura-ui-alert.mjs.map +1 -1
- package/fesm2022/bravura-ui-behavior.mjs +25 -21
- package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2022/bravura-ui-clip-note.mjs +15 -14
- package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
- package/fesm2022/bravura-ui-common.mjs +5 -5
- package/fesm2022/bravura-ui-common.mjs.map +1 -1
- package/fesm2022/bravura-ui-currency-input.mjs +10 -9
- package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-decimal-input.mjs +10 -9
- package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-discrete-input.mjs +9 -9
- package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-file-upload.mjs +12 -12
- package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
- package/fesm2022/bravura-ui-form-field.mjs +14 -13
- package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
- package/fesm2022/bravura-ui-icon-font.mjs +10 -9
- package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
- package/fesm2022/bravura-ui-panel.mjs +18 -17
- package/fesm2022/bravura-ui-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-phone-number.mjs +20 -17
- package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
- package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -1
- package/fesm2022/bravura-ui-radio-panel.mjs +14 -14
- package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-selection-panel.mjs +14 -13
- package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-skeletons.mjs +18 -13
- package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
- package/fesm2022/bravura-ui-stepper.mjs +30 -28
- package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
- package/fesm2022/bravura-ui-tooltip.mjs +14 -13
- package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
- package/m3-theme.scss +155 -155
- package/package.json +12 -52
- package/radio-panel/_radio-panel-theme.scss +11 -11
- package/selection-panel/_selection-panel-theme.scss +33 -33
- package/stepper/_stepper-theme.scss +20 -20
- package/stepper/public-api.d.ts +1 -1
- package/stepper/{step-label-prefix.directive.d.ts → step-label-top.directive.d.ts} +5 -5
- package/stepper/stepper.module.d.ts +2 -2
- package/theme/_ui-theme-legacy.scss +112 -112
- package/theme/_ui-theme.scss +101 -101
- package/esm2022/alert/alert-container.component.mjs +0 -207
- package/esm2022/alert/alert-message.component.mjs +0 -101
- package/esm2022/alert/alert.module.mjs +0 -22
- package/esm2022/alert/bravura-ui-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -2
- package/esm2022/alert/testing/bravura-ui-alert-testing.mjs +0 -5
- package/esm2022/alert/testing/test-api.mjs +0 -44
- package/esm2022/behavior/await.directive.mjs +0 -133
- package/esm2022/behavior/behavior.module.mjs +0 -37
- package/esm2022/behavior/bravura-ui-behavior.mjs +0 -5
- package/esm2022/behavior/observe-content-class.directive.mjs +0 -63
- package/esm2022/behavior/public-api.mjs +0 -6
- package/esm2022/behavior/sizing-monitor.directive.mjs +0 -31
- package/esm2022/behavior/sizing.directive.mjs +0 -256
- package/esm2022/bravura-ui.mjs +0 -5
- package/esm2022/clip-note/bravura-ui-clip-note.mjs +0 -5
- package/esm2022/clip-note/clip-note.component.mjs +0 -216
- package/esm2022/clip-note/clip-note.directive.mjs +0 -141
- package/esm2022/clip-note/clip-note.module.mjs +0 -32
- package/esm2022/clip-note/public-api.mjs +0 -2
- package/esm2022/common/bravura-ui-common.mjs +0 -5
- package/esm2022/common/common-utils.mjs +0 -34
- package/esm2022/common/common.module.mjs +0 -53
- package/esm2022/common/public-api.mjs +0 -3
- package/esm2022/currency-input/bravura-ui-currency-input.mjs +0 -5
- package/esm2022/currency-input/currency-input.directive.mjs +0 -276
- package/esm2022/currency-input/currency-input.module.mjs +0 -19
- package/esm2022/currency-input/public-api.mjs +0 -2
- package/esm2022/decimal-input/bravura-ui-decimal-input.mjs +0 -5
- package/esm2022/decimal-input/decimal-input.directive.mjs +0 -122
- package/esm2022/decimal-input/decimal-input.module.mjs +0 -19
- package/esm2022/decimal-input/public-api.mjs +0 -2
- package/esm2022/discrete-input/bravura-ui-discrete-input.mjs +0 -5
- package/esm2022/discrete-input/discrete-input.component.mjs +0 -337
- package/esm2022/discrete-input/discrete-input.module.mjs +0 -21
- package/esm2022/discrete-input/public-api.mjs +0 -3
- package/esm2022/file-upload/bravura-ui-file-upload.mjs +0 -5
- package/esm2022/file-upload/file-upload.component.mjs +0 -400
- package/esm2022/file-upload/file-upload.module.mjs +0 -44
- package/esm2022/file-upload/file-upload.service.mjs +0 -29
- package/esm2022/file-upload/public-api.mjs +0 -7
- package/esm2022/form-field/bravura-ui-form-field.mjs +0 -5
- package/esm2022/form-field/form-field.component.mjs +0 -82
- package/esm2022/form-field/form-field.module.mjs +0 -33
- package/esm2022/form-field/public-api.mjs +0 -3
- package/esm2022/icon-font/bravura-ui-icon-font.mjs +0 -5
- package/esm2022/icon-font/icon-font.module.mjs +0 -22
- package/esm2022/icon-font/icon.directive.mjs +0 -102
- package/esm2022/icon-font/public-api.mjs +0 -4
- package/esm2022/icon-font/utilities.mjs +0 -51
- package/esm2022/panel/bravura-ui-panel.mjs +0 -5
- package/esm2022/panel/panel-section.component.mjs +0 -41
- package/esm2022/panel/panel.component.mjs +0 -87
- package/esm2022/panel/panel.module.mjs +0 -23
- package/esm2022/panel/public-api.mjs +0 -2
- package/esm2022/panel/tinted.directive.mjs +0 -60
- package/esm2022/phone-number/bravura-ui-phone-number.mjs +0 -5
- package/esm2022/phone-number/phone-number.directive.mjs +0 -188
- package/esm2022/phone-number/phone-number.module.mjs +0 -24
- package/esm2022/phone-number/phone-number.pipe.mjs +0 -47
- package/esm2022/phone-number/phone-number.validator.mjs +0 -64
- package/esm2022/phone-number/public-api.mjs +0 -2
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio-panel/bravura-ui-radio-panel.mjs +0 -5
- package/esm2022/radio-panel/public-api.mjs +0 -4
- package/esm2022/radio-panel/radio-panel-item.component.mjs +0 -93
- package/esm2022/radio-panel/radio-panel.component.mjs +0 -81
- package/esm2022/radio-panel/radio-panel.module.mjs +0 -25
- package/esm2022/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -5
- package/esm2022/radio-panel/testing/test-api.mjs +0 -46
- package/esm2022/selection-panel/bravura-ui-selection-panel.mjs +0 -5
- package/esm2022/selection-panel/public-api.mjs +0 -4
- package/esm2022/selection-panel/selection-panel-item.component.mjs +0 -163
- package/esm2022/selection-panel/selection-panel.directive.mjs +0 -119
- package/esm2022/selection-panel/selection-panel.module.mjs +0 -23
- package/esm2022/skeletons/bravura-ui-skeletons.mjs +0 -5
- package/esm2022/skeletons/public-api.mjs +0 -4
- package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +0 -83
- package/esm2022/skeletons/skeleton-loader.component.mjs +0 -76
- package/esm2022/skeletons/skeletons.module.mjs +0 -35
- package/esm2022/stepper/bravura-ui-stepper.mjs +0 -5
- package/esm2022/stepper/public-api.mjs +0 -4
- package/esm2022/stepper/step-label-prefix.directive.mjs +0 -40
- package/esm2022/stepper/stepper-animation.mjs +0 -23
- package/esm2022/stepper/stepper.component.mjs +0 -178
- package/esm2022/stepper/stepper.module.mjs +0 -53
- package/esm2022/tooltip/bravura-ui-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -4
- package/esm2022/tooltip/tooltip.component.mjs +0 -63
- package/esm2022/tooltip/tooltip.directive.mjs +0 -150
- package/esm2022/tooltip/tooltip.module.mjs +0 -25
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Directive, Inject, Input } from '@angular/core';
|
|
3
|
-
import { generateID } from '@bravura/ui/common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* A "tinted" element has a shaded background specified by the `ThemePalette`, which
|
|
7
|
-
* is compatible with both light and dark themes.
|
|
8
|
-
*/
|
|
9
|
-
export class TintedDirective {
|
|
10
|
-
/**
|
|
11
|
-
* The base color of the shaded background
|
|
12
|
-
* @default 'primary'
|
|
13
|
-
*/
|
|
14
|
-
get color() {
|
|
15
|
-
return this._color;
|
|
16
|
-
}
|
|
17
|
-
set color(c) {
|
|
18
|
-
this._color = c;
|
|
19
|
-
this.generateStyle();
|
|
20
|
-
}
|
|
21
|
-
constructor(_doc, elemRef) {
|
|
22
|
-
this._doc = _doc;
|
|
23
|
-
this._color = 'default';
|
|
24
|
-
this._addedStyle = this._doc.createElement('style');
|
|
25
|
-
this._attr = 'bui-tinted-' + generateID();
|
|
26
|
-
this._element = elemRef.nativeElement;
|
|
27
|
-
elemRef.nativeElement.setAttribute(this._attr, '');
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this._element.style.position = 'relative';
|
|
31
|
-
this.generateStyle();
|
|
32
|
-
this._element.appendChild(this._addedStyle);
|
|
33
|
-
}
|
|
34
|
-
ngOnDestroy() {
|
|
35
|
-
this._element.removeChild(this._addedStyle);
|
|
36
|
-
}
|
|
37
|
-
generateStyle() {
|
|
38
|
-
this._addedStyle.innerText =
|
|
39
|
-
`[${this._attr}]::after { position: absolute; opacity: 0.1; border-radius: inherit; display: block; content: ''; ` +
|
|
40
|
-
` background-color: var(--bui-color-${this.color}); top: 0; left: 0; ` +
|
|
41
|
-
` bottom: 0; right: 0; pointer-events: none; }`;
|
|
42
|
-
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TintedDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: TintedDirective, selector: "[buiTinted], bui-panel", inputs: { color: ["buiTinted", "color"] }, host: { classAttribute: "bui-host" }, exportAs: ["buiTinted"], ngImport: i0 }); }
|
|
45
|
-
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TintedDirective, decorators: [{
|
|
47
|
-
type: Directive,
|
|
48
|
-
args: [{
|
|
49
|
-
selector: '[buiTinted], bui-panel',
|
|
50
|
-
host: { class: 'bui-host' },
|
|
51
|
-
exportAs: 'buiTinted'
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
54
|
-
type: Inject,
|
|
55
|
-
args: [DOCUMENT]
|
|
56
|
-
}] }, { type: i0.ElementRef }], propDecorators: { color: [{
|
|
57
|
-
type: Input,
|
|
58
|
-
args: ['buiTinted']
|
|
59
|
-
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGludGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3BhbmVsL3RpbnRlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVoRDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sZUFBZTtJQUMzQjs7O09BR0c7SUFDSCxJQUNJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFRRCxZQUFzQyxJQUFjLEVBQUUsT0FBZ0M7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBVTtRQU41QyxXQUFNLEdBQVEsU0FBUyxDQUFDO1FBTy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGFBQWE7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssb0dBQW9HO2dCQUNsSCxzQ0FBc0MsSUFBSSxDQUFDLEtBQUssc0JBQXNCO2dCQUN0RSwrQ0FBK0MsQ0FBQztJQUNsRCxDQUFDOzhHQTFDVyxlQUFlLGtCQW9CUCxRQUFRO2tHQXBCaEIsZUFBZTs7MkZBQWYsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO29CQUMzQixRQUFRLEVBQUUsV0FBVztpQkFDckI7OzBCQXFCYSxNQUFNOzJCQUFDLFFBQVE7a0VBZHhCLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSAnQGJyYXZ1cmEvdWkvY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBBIFwidGludGVkXCIgZWxlbWVudCBoYXMgYSBzaGFkZWQgYmFja2dyb3VuZCBzcGVjaWZpZWQgYnkgdGhlIGBUaGVtZVBhbGV0dGVgLCB3aGljaFxyXG4gKiBpcyBjb21wYXRpYmxlIHdpdGggYm90aCBsaWdodCBhbmQgZGFyayB0aGVtZXMuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tidWlUaW50ZWRdLCBidWktcGFuZWwnLFxyXG5cdGhvc3Q6IHsgY2xhc3M6ICdidWktaG9zdCcgfSxcclxuXHRleHBvcnRBczogJ2J1aVRpbnRlZCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbnRlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiAgVGhlIGJhc2UgY29sb3Igb2YgdGhlIHNoYWRlZCBiYWNrZ3JvdW5kXHJcblx0ICogQGRlZmF1bHQgJ3ByaW1hcnknXHJcblx0ICovXHJcblx0QElucHV0KCdidWlUaW50ZWQnKVxyXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbG9yO1xyXG5cdH1cclxuXHRzZXQgY29sb3IoYzogVGhlbWVQYWxldHRlKSB7XHJcblx0XHR0aGlzLl9jb2xvciA9IGM7XHJcblx0XHR0aGlzLmdlbmVyYXRlU3R5bGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NvbG9yOiBhbnkgPSAnZGVmYXVsdCc7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FkZGVkU3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQ7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfYXR0cjogc3RyaW5nO1xyXG5cdHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2M6IERvY3VtZW50LCBlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG5cdFx0dGhpcy5fYWRkZWRTdHlsZSA9IHRoaXMuX2RvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG5cdFx0dGhpcy5fYXR0ciA9ICdidWktdGludGVkLScgKyBnZW5lcmF0ZUlEKCk7XHJcblx0XHR0aGlzLl9lbGVtZW50ID0gZWxlbVJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0ZWxlbVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLl9hdHRyLCAnJyk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2VsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG5cdFx0dGhpcy5nZW5lcmF0ZVN0eWxlKCk7XHJcblx0XHR0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2FkZGVkU3R5bGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLl9lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2FkZGVkU3R5bGUpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZW5lcmF0ZVN0eWxlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fYWRkZWRTdHlsZS5pbm5lclRleHQgPVxyXG5cdFx0XHRgWyR7dGhpcy5fYXR0cn1dOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMC4xOyBib3JkZXItcmFkaXVzOiBpbmhlcml0OyBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IGAgK1xyXG5cdFx0XHRgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1aS1jb2xvci0ke3RoaXMuY29sb3J9KTsgdG9wOiAwOyBsZWZ0OiAwOyBgICtcclxuXHRcdFx0YCBib3R0b206IDA7IHJpZ2h0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfWA7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1waG9uZS1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9waG9uZS1udW1iZXIvYnJhdnVyYS11aS1waG9uZS1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Inject, Input, LOCALE_ID, Optional, Output } from '@angular/core';
|
|
2
|
-
import intlTelInput from 'intl-tel-input';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { debounceTime, take } from 'rxjs/operators';
|
|
5
|
-
import { getCountryCodeFromLocale } from './phone-number.pipe';
|
|
6
|
-
import { PhoneNumberValidator, SELECTOR } from './phone-number.validator';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@angular/material/form-field";
|
|
10
|
-
/**
|
|
11
|
-
* Add phone number validation support by specifying the `type` attribute as `tel` in an `<input>` element.
|
|
12
|
-
*
|
|
13
|
-
* To use this feature, please install a peer dependency `intl-tel-input` in your project and add the following
|
|
14
|
-
* to your application polyfills:
|
|
15
|
-
*
|
|
16
|
-
* ```javascript
|
|
17
|
-
* import 'intl-tel-input/build/js/utils.js';
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* You will also need to add the following statements to one of your global SCSS files:
|
|
21
|
-
*
|
|
22
|
-
* ```scss
|
|
23
|
-
* $flagsImagePath: '~intl-tel-input/build/img/' !default;
|
|
24
|
-
* @import '~intl-tel-input/src/css/intlTelInput';
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export class PhoneNumberDirective {
|
|
28
|
-
/**
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
static { this.POST_RENDER_INIT_DELAY = 20; }
|
|
32
|
-
/**
|
|
33
|
-
* @ignore
|
|
34
|
-
*/
|
|
35
|
-
static { this.BYPASS_SHADOW_DETECTION = false; }
|
|
36
|
-
constructor(_el, _ngModel, _formControlName, _formControlDirective, _locale, _zone, _matField) {
|
|
37
|
-
this._el = _el;
|
|
38
|
-
this._ngModel = _ngModel;
|
|
39
|
-
this._formControlName = _formControlName;
|
|
40
|
-
this._formControlDirective = _formControlDirective;
|
|
41
|
-
this._locale = _locale;
|
|
42
|
-
this._zone = _zone;
|
|
43
|
-
this._matField = _matField;
|
|
44
|
-
/**
|
|
45
|
-
* The type of phone number to validate for
|
|
46
|
-
*/
|
|
47
|
-
this.telType = 'FIXED_LINE';
|
|
48
|
-
/**
|
|
49
|
-
* Disable country dropdown by setting this property to `false`.
|
|
50
|
-
*/
|
|
51
|
-
this.telDropdown = true;
|
|
52
|
-
/**
|
|
53
|
-
* This event is triggered when a new country is selected from the dropdown. The event detail is the ISO country code.
|
|
54
|
-
*/
|
|
55
|
-
this.telCountryChange = new EventEmitter();
|
|
56
|
-
this._reactive = false;
|
|
57
|
-
this._countryChangeListener = () => null;
|
|
58
|
-
}
|
|
59
|
-
/** @internal */
|
|
60
|
-
onInput() {
|
|
61
|
-
const err = PhoneNumberValidator.validateControl(this._input, this.telType, true);
|
|
62
|
-
this._control.patchValue(this._input.value, { emitEvent: false });
|
|
63
|
-
if (this._reactive && err) {
|
|
64
|
-
this._control.setErrors({ ...this._control.errors, ...err });
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
ngOnInit() {
|
|
68
|
-
const ctrDirective = this._ngModel || this._formControlName || this._formControlDirective;
|
|
69
|
-
this._control = ctrDirective.control;
|
|
70
|
-
this._reactive = this._ngModel ? false : true;
|
|
71
|
-
this._input = this._el.nativeElement;
|
|
72
|
-
this._countryChangeListener = (() => {
|
|
73
|
-
this._zone.run(() => {
|
|
74
|
-
this._control.markAsDirty();
|
|
75
|
-
this._control.updateValueAndValidity({ emitEvent: true });
|
|
76
|
-
this.telCountryChange.emit(this._iti.getSelectedCountryData().iso2);
|
|
77
|
-
});
|
|
78
|
-
}).bind(this);
|
|
79
|
-
(PhoneNumberDirective.BYPASS_SHADOW_DETECTION ? of(0) : this._zone.onStable)
|
|
80
|
-
.pipe(debounceTime(10), take(1))
|
|
81
|
-
.subscribe(() => this.initElement());
|
|
82
|
-
}
|
|
83
|
-
ngOnDestroy() {
|
|
84
|
-
this._input.removeEventListener('countrychange', this._countryChangeListener);
|
|
85
|
-
this._iti?.destroy();
|
|
86
|
-
}
|
|
87
|
-
ngOnChanges(changes) {
|
|
88
|
-
const td = changes.telDropdown;
|
|
89
|
-
if (td && !td.firstChange) {
|
|
90
|
-
this.ngOnDestroy();
|
|
91
|
-
this.ngOnInit();
|
|
92
|
-
}
|
|
93
|
-
const type = changes.telType;
|
|
94
|
-
if (type && !type.firstChange) {
|
|
95
|
-
this.onInput();
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
initElement() {
|
|
99
|
-
const countryCode = getCountryCodeFromLocale(this._locale).toLowerCase();
|
|
100
|
-
const root = this._input.getRootNode();
|
|
101
|
-
if (!root.querySelector('#bui-tel-input-style')) {
|
|
102
|
-
const styleTag = document.createElement('style');
|
|
103
|
-
styleTag.id = 'bui-tel-input-style';
|
|
104
|
-
styleTag.innerText =
|
|
105
|
-
'.mat-mdc-form-field .bui-tel-input-placeholder:not(.mdc-floating-label--float-above){margin-left:44px;}' +
|
|
106
|
-
'.iti--allow-dropdown{margin-left:-8px}' +
|
|
107
|
-
'.bui-tel-input-with-value:disabled{cursor:pointer;}';
|
|
108
|
-
(root instanceof Document ? root.querySelector('head') : root).appendChild(styleTag);
|
|
109
|
-
}
|
|
110
|
-
this._iti = intlTelInput(this._input, {
|
|
111
|
-
initialCountry: countryCode,
|
|
112
|
-
placeholderNumberType: this.telType,
|
|
113
|
-
preferredCountries: [countryCode, ...['au', 'ca', 'nz', 'us', 'gb'].filter(c => c !== countryCode)],
|
|
114
|
-
dropdownContainer: root instanceof ShadowRoot ? root.querySelector('overlay-root') || root : root.body,
|
|
115
|
-
autoPlaceholder: 'off',
|
|
116
|
-
allowDropdown: this.telDropdown
|
|
117
|
-
});
|
|
118
|
-
this._input.$$iti = this._iti;
|
|
119
|
-
this._input.addEventListener('countrychange', this._countryChangeListener);
|
|
120
|
-
const frameTime = Date.now();
|
|
121
|
-
const postRenderWork = () => {
|
|
122
|
-
if (frameTime + PhoneNumberDirective.POST_RENDER_INIT_DELAY > Date.now()) {
|
|
123
|
-
window.requestAnimationFrame(postRenderWork);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
let label;
|
|
127
|
-
if (this._matField?.getLabelId() && typeof root.getElementById === 'function') {
|
|
128
|
-
label = root.getElementById(this._matField.getLabelId());
|
|
129
|
-
label?.classList.remove('bui-tel-input-placeholder');
|
|
130
|
-
}
|
|
131
|
-
if (label && this.telDropdown) {
|
|
132
|
-
label.classList.add('bui-tel-input-placeholder');
|
|
133
|
-
}
|
|
134
|
-
if (this._input?.value) {
|
|
135
|
-
this._input.classList.add('bui-tel-input-with-value');
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
window.requestAnimationFrame(postRenderWork);
|
|
139
|
-
this._input.addEventListener('click', () => {
|
|
140
|
-
if (this._control?.disabled && this._control.value) {
|
|
141
|
-
window.location.href = 'tel://' + this._control.value;
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
this._control?.registerOnDisabledChange(isDisabled => this._patchValueByState(isDisabled));
|
|
145
|
-
this._patchValueByState(this._control.disabled);
|
|
146
|
-
}
|
|
147
|
-
_patchValueByState(isDisabled) {
|
|
148
|
-
setTimeout(() => {
|
|
149
|
-
if (!isDisabled) {
|
|
150
|
-
this.onInput();
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
const v = this._iti.getNumber(intlTelInputUtils.numberFormat.NATIONAL);
|
|
154
|
-
this._input.value = v;
|
|
155
|
-
this._control?.patchValue(this._input?.value, { emitEvent: false });
|
|
156
|
-
}
|
|
157
|
-
}, 20);
|
|
158
|
-
}
|
|
159
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i1.FormControlName, optional: true }, { token: i1.FormControlDirective, optional: true }, { token: LOCALE_ID }, { token: i0.NgZone }, { token: i2.MatFormField, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
160
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: PhoneNumberDirective, selector: "[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]", inputs: { telType: "telType", telDropdown: "telDropdown" }, outputs: { telCountryChange: "telCountryChange" }, host: { listeners: { "input": "onInput()" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
161
|
-
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberDirective, decorators: [{
|
|
163
|
-
type: Directive,
|
|
164
|
-
args: [{
|
|
165
|
-
selector: SELECTOR
|
|
166
|
-
}]
|
|
167
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NgModel, decorators: [{
|
|
168
|
-
type: Optional
|
|
169
|
-
}] }, { type: i1.FormControlName, decorators: [{
|
|
170
|
-
type: Optional
|
|
171
|
-
}] }, { type: i1.FormControlDirective, decorators: [{
|
|
172
|
-
type: Optional
|
|
173
|
-
}] }, { type: undefined, decorators: [{
|
|
174
|
-
type: Inject,
|
|
175
|
-
args: [LOCALE_ID]
|
|
176
|
-
}] }, { type: i0.NgZone }, { type: i2.MatFormField, decorators: [{
|
|
177
|
-
type: Optional
|
|
178
|
-
}] }], propDecorators: { telType: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], telDropdown: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], telCountryChange: [{
|
|
183
|
-
type: Output
|
|
184
|
-
}], onInput: [{
|
|
185
|
-
type: HostListener,
|
|
186
|
-
args: ['input']
|
|
187
|
-
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFLVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFPcEY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2hDOztPQUVHO2FBQ0ksMkJBQXNCLEdBQUcsRUFBRSxBQUFMLENBQU07SUFFbkM7O09BRUc7YUFDSSw0QkFBdUIsR0FBRyxLQUFLLEFBQVIsQ0FBUztJQTBCdkMsWUFDUyxHQUFpQyxFQUNyQixRQUFpQixFQUNqQixnQkFBaUMsRUFDakMscUJBQTJDLEVBQ3BDLE9BQWUsRUFDbEMsS0FBYSxFQUNELFNBQXVCO1FBTm5DLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtR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LENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUixDQUFDOzhHQTdKVyxvQkFBb0Isc0xBd0N2QixTQUFTO2tHQXhDTixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7aUJBQ2xCOzswQkFzQ0UsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsUUFBUTt5Q0EzQlYsT0FBTztzQkFETixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFPTixnQkFBZ0I7c0JBRGYsTUFBTTtnQkFxQlAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdERpcmVjdGl2ZSxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0SW5qZWN0LFxyXG5cdElucHV0LFxyXG5cdExPQ0FMRV9JRCxcclxuXHROZ1pvbmUsXHJcblx0T25DaGFuZ2VzLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3B0aW9uYWwsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IGludGxUZWxJbnB1dCBmcm9tICdpbnRsLXRlbC1pbnB1dCc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGdldENvdW50cnlDb2RlRnJvbUxvY2FsZSB9IGZyb20gJy4vcGhvbmUtbnVtYmVyLnBpcGUnO1xyXG5pbXBvcnQgeyBQaG9uZU51bWJlclZhbGlkYXRvciwgU0VMRUNUT1IsIFRFTF9UWVBFIH0gZnJvbSAnLi9waG9uZS1udW1iZXIudmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5kZWNsYXJlIGNvbnN0IGludGxUZWxJbnB1dFV0aWxzOiBhbnk7XHJcblxyXG4vKipcclxuICogQWRkIHBob25lIG51bWJlciB2YWxpZGF0aW9uIHN1cHBvcnQgYnkgc3BlY2lmeWluZyB0aGUgYHR5cGVgIGF0dHJpYnV0ZSBhcyBgdGVsYCBpbiBhbiBgPGlucHV0PmAgZWxlbWVudC5cclxuICpcclxuICogVG8gdXNlIHRoaXMgZmVhdHVyZSwgcGxlYXNlIGluc3RhbGwgYSBwZWVyIGRlcGVuZGVuY3kgYGludGwtdGVsLWlucHV0YCBpbiB5b3VyIHByb2plY3QgYW5kIGFkZCB0aGUgZm9sbG93aW5nXHJcbiAqIHRvIHlvdXIgYXBwbGljYXRpb24gcG9seWZpbGxzOlxyXG4gKlxyXG4gKiBgYGBqYXZhc2NyaXB0XHJcbiAqIGltcG9ydCAnaW50bC10ZWwtaW5wdXQvYnVpbGQvanMvdXRpbHMuanMnO1xyXG4gKiBgYGBcclxuICpcclxuICogWW91IHdpbGwgYWxzbyBuZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHN0YXRlbWVudHMgdG8gb25lIG9mIHlvdXIgZ2xvYmFsIFNDU1MgZmlsZXM6XHJcbiAqXHJcbiAqIGBgYHNjc3NcclxuICogJGZsYWdzSW1hZ2VQYXRoOiAnfmludGwtdGVsLWlucHV0L2J1aWxkL2ltZy8nICFkZWZhdWx0O1xyXG4gKiBAaW1wb3J0ICd+aW50bC10ZWwtaW5wdXQvc3JjL2Nzcy9pbnRsVGVsSW5wdXQnO1xyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiBTRUxFQ1RPUlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0c3RhdGljIFBPU1RfUkVOREVSX0lOSVRfREVMQVkgPSAyMDtcclxuXHJcblx0LyoqXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdHN0YXRpYyBCWVBBU1NfU0hBRE9XX0RFVEVDVElPTiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgdHlwZSBvZiBwaG9uZSBudW1iZXIgdG8gdmFsaWRhdGUgZm9yXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHR0ZWxUeXBlOiBURUxfVFlQRSA9ICdGSVhFRF9MSU5FJztcclxuXHJcblx0LyoqXHJcblx0ICogRGlzYWJsZSBjb3VudHJ5IGRyb3Bkb3duIGJ5IHNldHRpbmcgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0dGVsRHJvcGRvd24gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIGEgbmV3IGNvdW50cnkgaXMgc2VsZWN0ZWQgZnJvbSB0aGUgZHJvcGRvd24uIFRoZSBldmVudCBkZXRhaWwgaXMgdGhlIElTTyBjb3VudHJ5IGNvZGUuXHJcblx0ICovXHJcblx0QE91dHB1dCgpXHJcblx0dGVsQ291bnRyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuXHRwcml2YXRlIF9jb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XHJcblx0cHJpdmF0ZSBfcmVhY3RpdmUgPSBmYWxzZTtcclxuXHRwcml2YXRlIF9jb3VudHJ5Q2hhbmdlTGlzdGVuZXI6ICgpID0+IHZvaWQgPSAoKSA9PiBudWxsO1xyXG5cdHByaXZhdGUgX2lucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdHByaXZhdGUgX2l0aTogYW55O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX2VsOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmdNb2RlbDogTmdNb2RlbCxcclxuXHRcdEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Db250cm9sTmFtZTogRm9ybUNvbnRyb2xOYW1lLFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybUNvbnRyb2xEaXJlY3RpdmU6IEZvcm1Db250cm9sRGlyZWN0aXZlLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfbWF0RmllbGQ6IE1hdEZvcm1GaWVsZFxyXG5cdCkge31cclxuXHJcblx0LyoqIEBpbnRlcm5hbCAqL1xyXG5cdEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcclxuXHRvbklucHV0KCkge1xyXG5cdFx0Y29uc3QgZXJyID0gUGhvbmVOdW1iZXJWYWxpZGF0b3IudmFsaWRhdGVDb250cm9sKHRoaXMuX2lucHV0ISwgdGhpcy50ZWxUeXBlLCB0cnVlKTtcclxuXHRcdHRoaXMuX2NvbnRyb2whLnBhdGNoVmFsdWUodGhpcy5faW5wdXQhLnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuX3JlYWN0aXZlICYmIGVycikge1xyXG5cdFx0XHR0aGlzLl9jb250cm9sIS5zZXRFcnJvcnMoeyAuLi50aGlzLl9jb250cm9sIS5lcnJvcnMsIC4uLmVyciB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0Y29uc3QgY3RyRGlyZWN0aXZlID0gdGhpcy5fbmdNb2RlbCB8fCB0aGlzLl9mb3JtQ29udHJvbE5hbWUgfHwgdGhpcy5fZm9ybUNvbnRyb2xEaXJlY3RpdmU7XHJcblx0XHR0aGlzLl9jb250cm9sID0gY3RyRGlyZWN0aXZlLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cdFx0dGhpcy5fcmVhY3RpdmUgPSB0aGlzLl9uZ01vZGVsID8gZmFsc2UgOiB0cnVlO1xyXG5cdFx0dGhpcy5faW5wdXQgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdHRoaXMuX2NvdW50cnlDaGFuZ2VMaXN0ZW5lciA9ICgoKSA9PiB7XHJcblx0XHRcdHRoaXMuX3pvbmUucnVuKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLl9jb250cm9sIS5tYXJrQXNEaXJ0eSgpO1xyXG5cdFx0XHRcdHRoaXMuX2NvbnRyb2whLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcblx0XHRcdFx0dGhpcy50ZWxDb3VudHJ5Q2hhbmdlLmVtaXQodGhpcy5faXRpLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5pc28yKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9KS5iaW5kKHRoaXMpO1xyXG5cclxuXHRcdChQaG9uZU51bWJlckRpcmVjdGl2ZS5CWVBBU1NfU0hBRE9XX0RFVEVDVElPTiA/IG9mKDAgYXMgYW55KSA6IHRoaXMuX3pvbmUub25TdGFibGUpXHJcblx0XHRcdC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2UoMSkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pbml0RWxlbWVudCgpKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5faW5wdXQhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvdW50cnljaGFuZ2UnLCB0aGlzLl9jb3VudHJ5Q2hhbmdlTGlzdGVuZXIpO1xyXG5cdFx0dGhpcy5faXRpPy5kZXN0cm95KCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCB0ZCA9IGNoYW5nZXMudGVsRHJvcGRvd247XHJcblx0XHRpZiAodGQgJiYgIXRkLmZpcnN0Q2hhbmdlKSB7XHJcblx0XHRcdHRoaXMubmdPbkRlc3Ryb3koKTtcclxuXHRcdFx0dGhpcy5uZ09uSW5pdCgpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgdHlwZSA9IGNoYW5nZXMudGVsVHlwZTtcclxuXHRcdGlmICh0eXBlICYmICF0eXBlLmZpcnN0Q2hhbmdlKSB7XHJcblx0XHRcdHRoaXMub25JbnB1dCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0RWxlbWVudCgpIHtcclxuXHRcdGNvbnN0IGNvdW50cnlDb2RlID0gZ2V0Q291bnRyeUNvZGVGcm9tTG9jYWxlKHRoaXMuX2xvY2FsZSkudG9Mb3dlckNhc2UoKTtcclxuXHJcblx0XHRjb25zdCByb290OiBTaGFkb3dSb290IHwgRG9jdW1lbnQgPSB0aGlzLl9pbnB1dCEuZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290IHwgRG9jdW1lbnQ7XHJcblx0XHRpZiAoIXJvb3QucXVlcnlTZWxlY3RvcignI2J1aS10ZWwtaW5wdXQtc3R5bGUnKSkge1xyXG5cdFx0XHRjb25zdCBzdHlsZVRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcblx0XHRcdHN0eWxlVGFnLmlkID0gJ2J1aS10ZWwtaW5wdXQtc3R5bGUnO1xyXG5cdFx0XHRzdHlsZVRhZy5pbm5lclRleHQgPVxyXG5cdFx0XHRcdCcubWF0LW1kYy1mb3JtLWZpZWxkIC5idWktdGVsLWlucHV0LXBsYWNlaG9sZGVyOm5vdCgubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSl7bWFyZ2luLWxlZnQ6NDRweDt9JyArXHJcblx0XHRcdFx0Jy5pdGktLWFsbG93LWRyb3Bkb3due21hcmdpbi1sZWZ0Oi04cHh9JyArXHJcblx0XHRcdFx0Jy5idWktdGVsLWlucHV0LXdpdGgtdmFsdWU6ZGlzYWJsZWR7Y3Vyc29yOnBvaW50ZXI7fSc7XHJcblx0XHRcdChyb290IGluc3RhbmNlb2YgRG9jdW1lbnQgPyAocm9vdC5xdWVyeVNlbGVjdG9yKCdoZWFkJykgYXMgYW55KSA6IHJvb3QpLmFwcGVuZENoaWxkKHN0eWxlVGFnKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuX2l0aSA9IGludGxUZWxJbnB1dCh0aGlzLl9pbnB1dCEsIHtcclxuXHRcdFx0aW5pdGlhbENvdW50cnk6IGNvdW50cnlDb2RlLFxyXG5cdFx0XHRwbGFjZWhvbGRlck51bWJlclR5cGU6IHRoaXMudGVsVHlwZSxcclxuXHRcdFx0cHJlZmVycmVkQ291bnRyaWVzOiBbY291bnRyeUNvZGUsIC4uLlsnYXUnLCAnY2EnLCAnbnonLCAndXMnLCAnZ2InXS5maWx0ZXIoYyA9PiBjICE9PSBjb3VudHJ5Q29kZSldLFxyXG5cdFx0XHRkcm9wZG93bkNvbnRhaW5lcjogcm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgPyByb290LnF1ZXJ5U2VsZWN0b3IoJ292ZXJsYXktcm9vdCcpIHx8IHJvb3QgOiAocm9vdC5ib2R5IGFzIGFueSksXHJcblx0XHRcdGF1dG9QbGFjZWhvbGRlcjogJ29mZicsXHJcblx0XHRcdGFsbG93RHJvcGRvd246IHRoaXMudGVsRHJvcGRvd25cclxuXHRcdH0pO1xyXG5cclxuXHRcdCh0aGlzLl9pbnB1dCBhcyBhbnkpLiQkaXRpID0gdGhpcy5faXRpO1xyXG5cdFx0dGhpcy5faW5wdXQhLmFkZEV2ZW50TGlzdGVuZXIoJ2NvdW50cnljaGFuZ2UnLCB0aGlzLl9jb3VudHJ5Q2hhbmdlTGlzdGVuZXIpO1xyXG5cdFx0Y29uc3QgZnJhbWVUaW1lID0gRGF0ZS5ub3coKTtcclxuXHRcdGNvbnN0IHBvc3RSZW5kZXJXb3JrID0gKCkgPT4ge1xyXG5cdFx0XHRpZiAoZnJhbWVUaW1lICsgUGhvbmVOdW1iZXJEaXJlY3RpdmUuUE9TVF9SRU5ERVJfSU5JVF9ERUxBWSA+IERhdGUubm93KCkpIHtcclxuXHRcdFx0XHR3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBvc3RSZW5kZXJXb3JrKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IGxhYmVsOiBIVE1MTGFiZWxFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdFx0XHRpZiAodGhpcy5fbWF0RmllbGQ/LmdldExhYmVsSWQoKSAmJiB0eXBlb2Ygcm9vdC5nZXRFbGVtZW50QnlJZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGxhYmVsID0gcm9vdC5nZXRFbGVtZW50QnlJZCh0aGlzLl9tYXRGaWVsZC5nZXRMYWJlbElkKCkhKSBhcyBIVE1MTGFiZWxFbGVtZW50O1xyXG5cdFx0XHRcdGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdidWktdGVsLWlucHV0LXBsYWNlaG9sZGVyJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGxhYmVsICYmIHRoaXMudGVsRHJvcGRvd24pIHtcclxuXHRcdFx0XHRsYWJlbC5jbGFzc0xpc3QuYWRkKCdidWktdGVsLWlucHV0LXBsYWNlaG9sZGVyJyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0aGlzLl9pbnB1dD8udmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLl9pbnB1dC5jbGFzc0xpc3QuYWRkKCdidWktdGVsLWlucHV0LXdpdGgtdmFsdWUnKTtcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocG9zdFJlbmRlcldvcmspO1xyXG5cclxuXHRcdHRoaXMuX2lucHV0IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuX2NvbnRyb2w/LmRpc2FibGVkICYmIHRoaXMuX2NvbnRyb2wudmFsdWUpIHtcclxuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9ICd0ZWw6Ly8nICsgdGhpcy5fY29udHJvbC52YWx1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5fY29udHJvbD8ucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKGlzRGlzYWJsZWQgPT4gdGhpcy5fcGF0Y2hWYWx1ZUJ5U3RhdGUoaXNEaXNhYmxlZCkpO1xyXG5cdFx0dGhpcy5fcGF0Y2hWYWx1ZUJ5U3RhdGUodGhpcy5fY29udHJvbCEuZGlzYWJsZWQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcGF0Y2hWYWx1ZUJ5U3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGlmICghaXNEaXNhYmxlZCkge1xyXG5cdFx0XHRcdHRoaXMub25JbnB1dCgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbnN0IHYgPSB0aGlzLl9pdGkuZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5OQVRJT05BTCk7XHJcblx0XHRcdFx0dGhpcy5faW5wdXQhLnZhbHVlID0gdjtcclxuXHRcdFx0XHR0aGlzLl9jb250cm9sPy5wYXRjaFZhbHVlKHRoaXMuX2lucHV0Py52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9LCAyMCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { PhoneNumberDirective } from './phone-number.directive';
|
|
4
|
-
import { PhoneNumberPipe } from './phone-number.pipe';
|
|
5
|
-
import { PhoneNumberValidator } from './phone-number.validator';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export class PhoneModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator], imports: [CommonModule], exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator] }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, imports: [CommonModule] }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, decorators: [{
|
|
16
|
-
type: NgModule,
|
|
17
|
-
args: [{
|
|
18
|
-
declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],
|
|
19
|
-
imports: [CommonModule],
|
|
20
|
-
exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator]
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
export { PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsaUJBSlIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixhQUNoRSxZQUFZLGFBQ1osb0JBQW9CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQjsrR0FFekQsV0FBVyxZQUhiLFlBQVk7OzJGQUdWLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO29CQUMzRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztpQkFDdEU7O0FBR0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBob25lTnVtYmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIucGlwZSc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyVmFsaWRhdG9yIH0gZnJvbSAnLi9waG9uZS1udW1iZXIudmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJWYWxpZGF0b3JdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBob25lTW9kdWxlIHt9XHJcblxyXG5leHBvcnQgeyBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvciB9O1xyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Inject, LOCALE_ID, Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export class PhoneNumberPipe {
|
|
7
|
-
constructor(_locale) {
|
|
8
|
-
this._locale = _locale;
|
|
9
|
-
}
|
|
10
|
-
transform(value, mode, renderLink) {
|
|
11
|
-
if (!value) {
|
|
12
|
-
return value;
|
|
13
|
-
}
|
|
14
|
-
const countryCode = getCountryCodeFromLocale(this._locale);
|
|
15
|
-
let format;
|
|
16
|
-
switch (mode) {
|
|
17
|
-
case 'NATIONAL':
|
|
18
|
-
format = intlTelInputUtils.numberFormat.NATIONAL;
|
|
19
|
-
break;
|
|
20
|
-
default:
|
|
21
|
-
format = intlTelInputUtils.numberFormat.INTERNATIONAL;
|
|
22
|
-
}
|
|
23
|
-
const result = intlTelInputUtils.formatNumber(value, countryCode, format);
|
|
24
|
-
if (renderLink) {
|
|
25
|
-
return `<a href="tel:${result}">${result}</a>`;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
32
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, name: "buiPhone" }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, decorators: [{
|
|
35
|
-
type: Pipe,
|
|
36
|
-
args: [{
|
|
37
|
-
name: 'buiPhone',
|
|
38
|
-
pure: true
|
|
39
|
-
}]
|
|
40
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
41
|
-
type: Inject,
|
|
42
|
-
args: [LOCALE_ID]
|
|
43
|
-
}] }] });
|
|
44
|
-
export function getCountryCodeFromLocale(locale) {
|
|
45
|
-
return locale.replace(/.+[-_]([a-z][a-z])$/i, '$1');
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJdkU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZTtJQUMzQixZQUF1QyxPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFFMUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFhLEVBQUUsVUFBb0I7UUFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1osT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNELElBQUksTUFBYyxDQUFDO1FBQ25CLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLFVBQVU7Z0JBQ2QsTUFBTSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ2pELE1BQU07WUFDUDtnQkFDQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLGdCQUFnQixNQUFNLEtBQUssTUFBTSxNQUFNLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE1BQU0sQ0FBQztRQUNmLENBQUM7SUFDRixDQUFDOzhHQXhCVyxlQUFlLGtCQUNQLFNBQVM7NEdBRGpCLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxJQUFJO2lCQUNWOzswQkFFYSxNQUFNOzJCQUFDLFNBQVM7O0FBMEI5QixNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBYztJQUN0RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5kZWNsYXJlIGNvbnN0IGludGxUZWxJbnB1dFV0aWxzOiBhbnk7XHJcblxyXG4vKipcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5AUGlwZSh7XHJcblx0bmFtZTogJ2J1aVBob25lJyxcclxuXHRwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU51bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlOiBzdHJpbmcpIHt9XHJcblxyXG5cdHRyYW5zZm9ybSh2YWx1ZTogYW55LCBtb2RlPzogc3RyaW5nLCByZW5kZXJMaW5rPzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRpZiAoIXZhbHVlKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjb3VudHJ5Q29kZSA9IGdldENvdW50cnlDb2RlRnJvbUxvY2FsZSh0aGlzLl9sb2NhbGUpO1xyXG5cclxuXHRcdGxldCBmb3JtYXQ6IG51bWJlcjtcclxuXHRcdHN3aXRjaCAobW9kZSkge1xyXG5cdFx0XHRjYXNlICdOQVRJT05BTCc6XHJcblx0XHRcdFx0Zm9ybWF0ID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0Lk5BVElPTkFMO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGZvcm1hdCA9IGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgcmVzdWx0ID0gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKHZhbHVlLCBjb3VudHJ5Q29kZSwgZm9ybWF0KTtcclxuXHRcdGlmIChyZW5kZXJMaW5rKSB7XHJcblx0XHRcdHJldHVybiBgPGEgaHJlZj1cInRlbDoke3Jlc3VsdH1cIj4ke3Jlc3VsdH08L2E+YDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiByZXN1bHQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeUNvZGVGcm9tTG9jYWxlKGxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRyZXR1cm4gbG9jYWxlLnJlcGxhY2UoLy4rWy1fXShbYS16XVthLXpdKSQvaSwgJyQxJyk7XHJcbn1cclxuIl19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
export const SELECTOR = '[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]';
|
|
8
|
-
/**
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export const PHONE_VALIDATOR = {
|
|
12
|
-
provide: NG_VALIDATORS,
|
|
13
|
-
useExisting: forwardRef(() => PhoneNumberValidator),
|
|
14
|
-
multi: true
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
export class PhoneNumberValidator {
|
|
20
|
-
static validateControl(inp, type, update) {
|
|
21
|
-
const err = { tel: true };
|
|
22
|
-
if (!inp.value) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
const iti = inp.$$iti;
|
|
26
|
-
if (!iti) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
if (iti.isValidNumber()) {
|
|
30
|
-
const n = iti.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL);
|
|
31
|
-
if (update) {
|
|
32
|
-
inp.value = n;
|
|
33
|
-
}
|
|
34
|
-
const t = iti.getNumberType();
|
|
35
|
-
if (t !== intlTelInputUtils.numberType.FIXED_LINE_OR_MOBILE) {
|
|
36
|
-
if ((type === 'MOBILE' && t !== intlTelInputUtils.numberType.MOBILE) ||
|
|
37
|
-
(type === 'FIXED_LINE' && t !== intlTelInputUtils.numberType.FIXED_LINE)) {
|
|
38
|
-
return err;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
return err;
|
|
44
|
-
}
|
|
45
|
-
constructor(_el) {
|
|
46
|
-
this._el = _el;
|
|
47
|
-
this.telType = 'FIXED_LINE';
|
|
48
|
-
}
|
|
49
|
-
validate(_) {
|
|
50
|
-
return PhoneNumberValidator.validateControl(this._el.nativeElement, this.telType, false);
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberValidator, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: PhoneNumberValidator, selector: "[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]", inputs: { telType: "telType" }, providers: [PHONE_VALIDATOR], ngImport: i0 }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberValidator, decorators: [{
|
|
56
|
-
type: Directive,
|
|
57
|
-
args: [{
|
|
58
|
-
selector: SELECTOR,
|
|
59
|
-
providers: [PHONE_VALIDATOR]
|
|
60
|
-
}]
|
|
61
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { telType: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFtQixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQ3BCLCtHQUErRyxDQUFDO0FBRWpIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtQjtJQUM5QyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ25ELEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQVlGOztHQUVHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUloQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQXFCLEVBQUUsSUFBYyxFQUFFLE1BQWU7UUFDNUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBSSxHQUFXLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWixHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLENBQUM7WUFFRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzdELElBQ0MsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO29CQUNoRSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFDdkUsQ0FBQztvQkFDRixPQUFPLEdBQUcsQ0FBQztnQkFDWixDQUFDO1lBQ0YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQW9CLEdBQWlDO1FBQWpDLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBL0JyRCxZQUFPLEdBQWEsWUFBWSxDQUFDO0lBK0J1QixDQUFDO0lBRXpELFFBQVEsQ0FBQyxDQUFrQjtRQUMxQixPQUFPLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFGLENBQUM7OEdBckNXLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdLQUZyQixDQUFDLGVBQWUsQ0FBQzs7MkZBRWhCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM1QjsrRUFHQSxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBTdGF0aWNQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCBjb25zdCBTRUxFQ1RPUiA9XHJcblx0J1tidWlUZWxJbnB1dF0sIGlucHV0KFt0eXBlPXRlbF0pW25nTW9kZWxdLCBpbnB1dChbdHlwZT10ZWxdKVtmb3JtQ29udHJvbE5hbWVdLCBpbnB1dChbdHlwZT10ZWxdKVtmb3JtQ29udHJvbF0nO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFBIT05FX1ZBTElEQVRPUjogU3RhdGljUHJvdmlkZXIgPSB7XHJcblx0cHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaG9uZU51bWJlclZhbGlkYXRvciksXHJcblx0bXVsdGk6IHRydWVcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCB0eXBlIFRFTF9UWVBFID0gJ01PQklMRScgfCAnRklYRURfTElORV9PUl9NT0JJTEUnIHwgJ0ZJWEVEX0xJTkUnO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZGVjbGFyZSBjb25zdCBpbnRsVGVsSW5wdXRVdGlsczogYW55O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6IFNFTEVDVE9SLFxyXG5cdHByb3ZpZGVyczogW1BIT05FX1ZBTElEQVRPUl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBob25lTnVtYmVyVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKVxyXG5cdHRlbFR5cGU6IFRFTF9UWVBFID0gJ0ZJWEVEX0xJTkUnO1xyXG5cclxuXHRzdGF0aWMgdmFsaWRhdGVDb250cm9sKGlucDogSFRNTElucHV0RWxlbWVudCwgdHlwZTogVEVMX1RZUEUsIHVwZGF0ZTogYm9vbGVhbik6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcclxuXHRcdGNvbnN0IGVyciA9IHsgdGVsOiB0cnVlIH07XHJcblx0XHRpZiAoIWlucC52YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGl0aSA9IChpbnAgYXMgYW55KS4kJGl0aTtcclxuXHRcdGlmICghaXRpKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGl0aS5pc1ZhbGlkTnVtYmVyKCkpIHtcclxuXHRcdFx0Y29uc3QgbiA9IGl0aS5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpO1xyXG5cdFx0XHRpZiAodXBkYXRlKSB7XHJcblx0XHRcdFx0aW5wLnZhbHVlID0gbjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgdCA9IGl0aS5nZXROdW1iZXJUeXBlKCk7XHJcblx0XHRcdGlmICh0ICE9PSBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJUeXBlLkZJWEVEX0xJTkVfT1JfTU9CSUxFKSB7XHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0KHR5cGUgPT09ICdNT0JJTEUnICYmIHQgIT09IGludGxUZWxJbnB1dFV0aWxzLm51bWJlclR5cGUuTU9CSUxFKSB8fFxyXG5cdFx0XHRcdFx0KHR5cGUgPT09ICdGSVhFRF9MSU5FJyAmJiB0ICE9PSBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJUeXBlLkZJWEVEX0xJTkUpXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gZXJyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdHJldHVybiBlcnI7XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge31cclxuXHJcblx0dmFsaWRhdGUoXzogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xyXG5cdFx0cmV0dXJuIFBob25lTnVtYmVyVmFsaWRhdG9yLnZhbGlkYXRlQ29udHJvbCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnRlbFR5cGUsIGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './phone-number.module';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bob25lLW51bWJlci5tb2R1bGUnO1xyXG4iXX0=
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const NO_EXPORT = 'NO_EXPORT';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT19FWFBPUlQgPSAnTk9fRVhQT1JUJztcclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1yYWRpby1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL2JyYXZ1cmEtdWktcmFkaW8tcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './radio-panel-item.component';
|
|
2
|
-
export * from './radio-panel.component';
|
|
3
|
-
export * from './radio-panel.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tcGFuZWwubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { Attribute, ChangeDetectionStrategy, Component, ContentChild, Inject, Input, Optional } from '@angular/core';
|
|
3
|
-
import { MatRadioButton, MAT_RADIO_DEFAULT_OPTIONS, MAT_RADIO_GROUP } from '@angular/material/radio';
|
|
4
|
-
import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/a11y";
|
|
7
|
-
import * as i2 from "@angular/cdk/collections";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@angular/material/core";
|
|
10
|
-
import * as i5 from "@angular/material/icon";
|
|
11
|
-
import * as i6 from "@angular/material/radio";
|
|
12
|
-
/**
|
|
13
|
-
* Use `bui-radio-panel-item` instead of `mat-radio-button` in a `bui-radio-panel` to display an option.
|
|
14
|
-
*/
|
|
15
|
-
export class RadioPanelItemComponent extends MatRadioButton {
|
|
16
|
-
get tickPosition() {
|
|
17
|
-
return this._tickPosition || this.radioGroup?.tickPosition;
|
|
18
|
-
}
|
|
19
|
-
set tickPosition(pos) {
|
|
20
|
-
this._tickPosition = pos;
|
|
21
|
-
}
|
|
22
|
-
constructor(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex) {
|
|
23
|
-
super(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex);
|
|
24
|
-
/**
|
|
25
|
-
* This will be displayed as the panel header
|
|
26
|
-
*/
|
|
27
|
-
this.title = '';
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelItemComponent, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: RadioPanelItemComponent, selector: "bui-radio-panel-item", inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", title: "title", _tickPosition: "_tickPosition", tickPosition: "tickPosition" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "class.bui-radio-checked": "checked", "class.bui-disabled": "disabled", "class._mat-animation-noopable": "_noopAnimations", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "attr.tabindex": "null", "attr.id": "id", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "bui-radio-panel-item" }, queries: [{ propertyName: "contentOnSelect", first: true, predicate: ["contentOnSelect"], descendants: true }], exportAs: ["matRadioButton"], usesInheritance: true, ngImport: i0, template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon class=\"bui-radio-panel-checked-icon\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputInteraction($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [
|
|
31
|
-
trigger('slideInOut', [
|
|
32
|
-
state('void', style({ height: '0px', overflow: 'hidden' })),
|
|
33
|
-
transition(':enter, :leave', animate('.25s'))
|
|
34
|
-
])
|
|
35
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelItemComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ selector: 'bui-radio-panel-item', inputs: ['disableRipple', 'tabIndex'], exportAs: 'matRadioButton', host: {
|
|
40
|
-
class: 'bui-radio-panel-item',
|
|
41
|
-
'[class.bui-radio-checked]': 'checked',
|
|
42
|
-
'[class.bui-disabled]': 'disabled',
|
|
43
|
-
'[class._mat-animation-noopable]': '_noopAnimations',
|
|
44
|
-
'[class.mat-primary]': 'color === "primary"',
|
|
45
|
-
'[class.mat-accent]': 'color === "accent"',
|
|
46
|
-
'[class.mat-warn]': 'color === "warn"',
|
|
47
|
-
// Needs to be removed since it causes some a11y issues (see #21266).
|
|
48
|
-
'[attr.tabindex]': 'null',
|
|
49
|
-
'[attr.id]': 'id',
|
|
50
|
-
'[attr.aria-label]': 'null',
|
|
51
|
-
'[attr.aria-labelledby]': 'null',
|
|
52
|
-
'[attr.aria-describedby]': 'null',
|
|
53
|
-
// Note: under normal conditions focus shouldn't land on this element, however it may be
|
|
54
|
-
// programmatically set, for example inside of a focus trap, in this case we want to forward
|
|
55
|
-
// the focus to the native element.
|
|
56
|
-
'(focus)': '_inputElement.nativeElement.focus()'
|
|
57
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
58
|
-
trigger('slideInOut', [
|
|
59
|
-
state('void', style({ height: '0px', overflow: 'hidden' })),
|
|
60
|
-
transition(':enter, :leave', animate('.25s'))
|
|
61
|
-
])
|
|
62
|
-
], template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon class=\"bui-radio-panel-checked-icon\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputInteraction($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"] }]
|
|
63
|
-
}], ctorParameters: () => [{ type: i6.MatRadioGroup, decorators: [{
|
|
64
|
-
type: Optional
|
|
65
|
-
}, {
|
|
66
|
-
type: Inject,
|
|
67
|
-
args: [MAT_RADIO_GROUP]
|
|
68
|
-
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined, decorators: [{
|
|
69
|
-
type: Optional
|
|
70
|
-
}, {
|
|
71
|
-
type: Inject,
|
|
72
|
-
args: [ANIMATION_MODULE_TYPE]
|
|
73
|
-
}] }, { type: undefined, decorators: [{
|
|
74
|
-
type: Optional
|
|
75
|
-
}, {
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [MAT_RADIO_DEFAULT_OPTIONS]
|
|
78
|
-
}] }, { type: undefined, decorators: [{
|
|
79
|
-
type: Attribute,
|
|
80
|
-
args: ['tabindex']
|
|
81
|
-
}] }], propDecorators: { title: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], _tickPosition: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], tickPosition: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}],
|
|
88
|
-
//@ts-ignore
|
|
89
|
-
contentOnSelect: [{
|
|
90
|
-
type: ContentChild,
|
|
91
|
-
args: ['contentOnSelect']
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9yYWRpby1wYW5lbC9yYWRpby1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRixPQUFPLEVBQ04sU0FBUyxFQUNULHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixjQUFjLEVBR2QseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQUU3RTs7R0FFRztBQW9DSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQVUxRCxJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUssSUFBSSxDQUFDLFVBQWtCLEVBQUUsWUFBWSxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxHQUFvQjtRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBTUQsWUFDc0MsVUFBeUIsRUFDOUQsVUFBc0IsRUFDdEIsZUFBa0MsRUFDbEMsYUFBMkIsRUFDM0IsZ0JBQTJDLEVBQ0EsYUFBc0IsRUFHakUsaUJBQTBDLEVBQ25CLFFBQWlCO1FBRXhDLEtBQUssQ0FDSixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsUUFBUSxDQUNSLENBQUM7UUExQ0g7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBdUNYLENBQUM7OEdBNUNXLHVCQUF1QixrQkF1QmQsZUFBZSw2SkFLZixxQkFBcUIsNkJBRWpDLHlCQUF5Qiw2QkFFdEIsVUFBVTtrR0FoQ1YsdUJBQXVCLHMzQkMvRHBDLDRxRUEwREEsc3NGREZhO1lBQ1gsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDLENBQUM7U0FDRjs7MkZBRVcsdUJBQXVCO2tCQW5DbkMsU0FBUzsrQkFDQyxzQkFBc0IsVUFJeEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFlBQzNCLGdCQUFnQixRQUVwQjt3QkFDTCxLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QiwyQkFBMkIsRUFBRSxTQUFTO3dCQUN0QyxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELHFCQUFxQixFQUFFLHFCQUFxQjt3QkFDNUMsb0JBQW9CLEVBQUUsb0JBQW9CO3dCQUMxQyxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLHFFQUFxRTt3QkFDckUsaUJBQWlCLEVBQUUsTUFBTTt3QkFDekIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLHdGQUF3Rjt3QkFDeEYsNEZBQTRGO3dCQUM1RixtQ0FBbUM7d0JBQ25DLFNBQVMsRUFBRSxxQ0FBcUM7cUJBQ2hELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNYLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3JCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs0QkFDM0QsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDN0MsQ0FBQztxQkFDRjs7MEJBeUJDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBS2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFDeEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUVoQyxTQUFTOzJCQUFDLFVBQVU7eUNBM0J0QixLQUFLO3NCQURKLEtBQUs7Z0JBSVcsYUFBYTtzQkFBN0IsS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7O1FBU04sWUFBWTtRQUNaLGVBQWU7c0JBRmQsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuXHRBdHRyaWJ1dGUsXHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEhvc3RCaW5kaW5nLFxyXG5cdEluamVjdCxcclxuXHRJbnB1dCxcclxuXHRPcHRpb25hbCxcclxuXHRUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdE1hdFJhZGlvQnV0dG9uLFxyXG5cdE1hdFJhZGlvRGVmYXVsdE9wdGlvbnMsXHJcblx0TWF0UmFkaW9Hcm91cCxcclxuXHRNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TLFxyXG5cdE1BVF9SQURJT19HUk9VUFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgYGJ1aS1yYWRpby1wYW5lbC1pdGVtYCBpbnN0ZWFkIG9mIGBtYXQtcmFkaW8tYnV0dG9uYCBpbiBhIGBidWktcmFkaW8tcGFuZWxgIHRvIGRpc3BsYXkgYW4gb3B0aW9uLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxyXG5cdGlucHV0czogWydkaXNhYmxlUmlwcGxlJywgJ3RhYkluZGV4J10sXHJcblx0ZXhwb3J0QXM6ICdtYXRSYWRpb0J1dHRvbicsXHJcblx0Ly8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0XHQnW2NsYXNzLmJ1aS1yYWRpby1jaGVja2VkXSc6ICdjaGVja2VkJyxcclxuXHRcdCdbY2xhc3MuYnVpLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcblx0XHQnW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSc6ICdfbm9vcEFuaW1hdGlvbnMnLFxyXG5cdFx0J1tjbGFzcy5tYXQtcHJpbWFyeV0nOiAnY29sb3IgPT09IFwicHJpbWFyeVwiJyxcclxuXHRcdCdbY2xhc3MubWF0LWFjY2VudF0nOiAnY29sb3IgPT09IFwiYWNjZW50XCInLFxyXG5cdFx0J1tjbGFzcy5tYXQtd2Fybl0nOiAnY29sb3IgPT09IFwid2FyblwiJyxcclxuXHRcdC8vIE5lZWRzIHRvIGJlIHJlbW92ZWQgc2luY2UgaXQgY2F1c2VzIHNvbWUgYTExeSBpc3N1ZXMgKHNlZSAjMjEyNjYpLlxyXG5cdFx0J1thdHRyLnRhYmluZGV4XSc6ICdudWxsJyxcclxuXHRcdCdbYXR0ci5pZF0nOiAnaWQnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcblx0XHQnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXHJcblx0XHQvLyBOb3RlOiB1bmRlciBub3JtYWwgY29uZGl0aW9ucyBmb2N1cyBzaG91bGRuJ3QgbGFuZCBvbiB0aGlzIGVsZW1lbnQsIGhvd2V2ZXIgaXQgbWF5IGJlXHJcblx0XHQvLyBwcm9ncmFtbWF0aWNhbGx5IHNldCwgZm9yIGV4YW1wbGUgaW5zaWRlIG9mIGEgZm9jdXMgdHJhcCwgaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZm9yd2FyZFxyXG5cdFx0Ly8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cclxuXHRcdCcoZm9jdXMpJzogJ19pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpJ1xyXG5cdH0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRcdFx0c3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSksXHJcblx0XHRcdHRyYW5zaXRpb24oJzplbnRlciwgOmxlYXZlJywgYW5pbWF0ZSgnLjI1cycpKVxyXG5cdFx0XSlcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCBleHRlbmRzIE1hdFJhZGlvQnV0dG9uIHtcclxuXHQvKipcclxuXHQgKiBUaGlzIHdpbGwgYmUgZGlzcGxheWVkIGFzIHRoZSBwYW5lbCBoZWFkZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRpdGxlID0gJyc7XHJcblxyXG5cdC8qKiBUaGUgZGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgJ3RpY2snIGljb24gcmVsYXRpdmUgdG8gdGhlIHRpdGxlLiAqL1xyXG5cdEBJbnB1dCgpIHByaXZhdGUgX3RpY2tQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0aWNrUG9zaXRpb24oKTogJ3N0YXJ0JyB8ICdlbmQnIHtcclxuXHRcdHJldHVybiB0aGlzLl90aWNrUG9zaXRpb24gfHwgKHRoaXMucmFkaW9Hcm91cCBhcyBhbnkpPy50aWNrUG9zaXRpb247XHJcblx0fVxyXG5cdHNldCB0aWNrUG9zaXRpb24ocG9zOiAnc3RhcnQnIHwgJ2VuZCcpIHtcclxuXHRcdHRoaXMuX3RpY2tQb3NpdGlvbiA9IHBvcztcclxuXHR9XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoJ2NvbnRlbnRPblNlbGVjdCcpXHJcblx0Ly9AdHMtaWdub3JlXHJcblx0Y29udGVudE9uU2VsZWN0OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX1JBRElPX0dST1VQKSByYWRpb0dyb3VwOiBNYXRSYWRpb0dyb3VwLFxyXG5cdFx0ZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuXHRcdF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcblx0XHRfcmFkaW9EaXNwYXRjaGVyOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyLFxyXG5cdFx0QE9wdGlvbmFsKCkgQEluamVjdChBTklNQVRJT05fTU9EVUxFX1RZUEUpIGFuaW1hdGlvbk1vZGU/OiBzdHJpbmcsXHJcblx0XHRAT3B0aW9uYWwoKVxyXG5cdFx0QEluamVjdChNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TKVxyXG5cdFx0X3Byb3ZpZGVyT3ZlcnJpZGU/OiBNYXRSYWRpb0RlZmF1bHRPcHRpb25zLFxyXG5cdFx0QEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleD86IHN0cmluZ1xyXG5cdCkge1xyXG5cdFx0c3VwZXIoXHJcblx0XHRcdHJhZGlvR3JvdXAsXHJcblx0XHRcdGVsZW1lbnRSZWYsXHJcblx0XHRcdF9jaGFuZ2VEZXRlY3RvcixcclxuXHRcdFx0X2ZvY3VzTW9uaXRvcixcclxuXHRcdFx0X3JhZGlvRGlzcGF0Y2hlcixcclxuXHRcdFx0YW5pbWF0aW9uTW9kZSxcclxuXHRcdFx0X3Byb3ZpZGVyT3ZlcnJpZGUsXHJcblx0XHRcdHRhYkluZGV4XHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCI8bGFiZWxcblx0bWF0UmlwcGxlXG5cdG1hdFJpcHBsZUNvbG9yPVwicmdiYSgxMjgsMTI4LDEyOCwuMSlcIlxuXHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY2hlY2tlZFwiXG5cdFthdHRyLmZvcl09XCJpbnB1dElkXCJcblx0I2xhYmVsXG5cdGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0tbGFiZWwgYnVpLWJvcmRlci17eyBjaGVja2VkID8gY29sb3IgOiAnZGVmYXVsdCcgfX1cIlxuPlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0td3JhcHBlclwiIFtjbGFzcy5idWktcmFkaW8tdGljay1hdC1lbmRdPVwidGlja1Bvc2l0aW9uID09PSAnZW5kJ1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtaGVhZGVyXCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1sYWJlbC10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L3NwYW4+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpUmFkaW9JdGVtSGVhZGluZ0VuZF1cIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdGNsYXNzPVwiYnVpLXBlcnNpc3RlbnQtcmlwcGxlXCJcblx0XHRcdFx0XHRtYXRSaXBwbGVcblx0XHRcdFx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVVuYm91bmRlZF09XCJ0cnVlXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJsYWJlbFwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVJhZGl1c109XCIyMFwiXG5cdFx0XHRcdFx0Km5nSWY9XCIhZGlzYWJsZWRcIlxuXHRcdFx0XHQ+PC9zcGFuPlxuXHRcdFx0XHQ8bWF0LWljb24gY2xhc3M9XCJidWktcmFkaW8tcGFuZWwtY2hlY2tlZC1pY29uXCIgKm5nSWY9XCJjaGVja2VkXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cblx0XHRcdFx0PG1hdC1pY29uICpuZ0lmPVwiIWNoZWNrZWRcIiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZS11bmNoZWNrZWRcIj5yYWRpb19idXR0b25fdW5jaGVja2VkPC9tYXQtaWNvbj5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0XHQ8IS0tIFRoZSBhY3R1YWwgJ3JhZGlvJyBwYXJ0IG9mIHRoZSBjb250cm9sLiAtLT5cblx0XHQ8c3BhbiBjbGFzcz1cInJhZGlvLWNvbnRhaW5lclwiPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdCNpbnB1dFxuXHRcdFx0XHRjbGFzcz1cIm1hdC1yYWRpby1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcblx0XHRcdFx0dHlwZT1cInJhZGlvXCJcblx0XHRcdFx0W2lkXT1cImlucHV0SWRcIlxuXHRcdFx0XHRbY2hlY2tlZF09XCJjaGVja2VkXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0W3RhYkluZGV4XT1cInRhYkluZGV4XCJcblx0XHRcdFx0W2F0dHIubmFtZV09XCJuYW1lXCJcblx0XHRcdFx0W2F0dHIudmFsdWVdPVwidmFsdWVcIlxuXHRcdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcblx0XHRcdFx0KGNoYW5nZSk9XCJfb25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIlxuXHRcdFx0XHQoY2xpY2spPVwiX29uSW5wdXRJbnRlcmFjdGlvbigkZXZlbnQpXCJcblx0XHRcdC8+XG5cdFx0PC9zcGFuPlxuXG5cdFx0PGRpdiBjbGFzcz1cImJ1aS1sYWJlbC1jb250ZW50LWdhcFwiPjwvZGl2PlxuXHRcdDwhLS0gVGhlIGxhYmVsIGNvbnRlbnQgZm9yIHJhZGlvIGNvbnRyb2wuIC0tPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiICpuZ0lmPVwiY29udGVudE9uU2VsZWN0ICYmIGNoZWNrZWRcIiBAc2xpZGVJbk91dD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T25TZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2xhYmVsPlxuIl19
|