@bravura/ui 3.8.0 → 4.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 +579 -557
- package/LICENSE +6 -6
- package/README.md +56 -54
- package/alert/alert-container.component.d.ts +1 -1
- package/alert/alert-message.component.d.ts +1 -1
- package/behavior/await.directive.d.ts +1 -1
- package/behavior/observe-content-class.directive.d.ts +1 -1
- package/behavior/sizing.directive.d.ts +1 -1
- package/clip-note/clip-note.directive.d.ts +1 -1
- package/currency-input/currency-input.directive.d.ts +1 -1
- package/decimal-input/decimal-input.directive.d.ts +1 -1
- package/discrete-input/discrete-input.component.d.ts +1 -1
- package/esm2022/alert/alert-container.component.mjs +207 -0
- package/esm2022/alert/alert-message.component.mjs +101 -0
- package/esm2022/alert/alert.module.mjs +22 -0
- package/{esm2020 → esm2022}/alert/public-api.mjs +1 -1
- package/esm2022/alert/testing/test-api.mjs +44 -0
- package/{esm2020 → esm2022}/behavior/await.directive.mjs +6 -6
- package/esm2022/behavior/behavior.module.mjs +37 -0
- package/{esm2020 → esm2022}/behavior/observe-content-class.directive.mjs +5 -5
- package/{esm2020 → esm2022}/behavior/public-api.mjs +1 -1
- package/esm2022/behavior/sizing-monitor.directive.mjs +31 -0
- package/esm2022/behavior/sizing.directive.mjs +256 -0
- package/esm2022/clip-note/clip-note.component.mjs +216 -0
- package/esm2022/clip-note/clip-note.directive.mjs +141 -0
- package/esm2022/clip-note/clip-note.module.mjs +32 -0
- package/{esm2020 → esm2022}/clip-note/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/common/common-utils.mjs +1 -1
- package/{esm2020 → esm2022}/common/common.module.mjs +7 -7
- package/{esm2020 → esm2022}/common/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/currency-input/currency-input.directive.mjs +6 -6
- package/esm2022/currency-input/currency-input.module.mjs +19 -0
- package/{esm2020 → esm2022}/currency-input/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/decimal-input/decimal-input.directive.mjs +9 -9
- package/{esm2020 → esm2022}/decimal-input/decimal-input.module.mjs +5 -5
- package/esm2022/discrete-input/discrete-input.component.mjs +337 -0
- package/esm2022/discrete-input/discrete-input.module.mjs +21 -0
- package/{esm2020 → esm2022}/discrete-input/public-api.mjs +1 -1
- package/esm2022/file-upload/file-upload.component.mjs +400 -0
- package/esm2022/file-upload/file-upload.module.mjs +44 -0
- package/esm2022/file-upload/file-upload.service.mjs +29 -0
- package/{esm2020 → esm2022}/file-upload/public-api.mjs +1 -1
- package/esm2022/form-field/form-field.component.mjs +82 -0
- package/esm2022/form-field/form-field.module.mjs +33 -0
- package/{esm2020 → esm2022}/form-field/public-api.mjs +1 -1
- package/esm2022/icon-font/icon-font.module.mjs +22 -0
- package/{esm2020 → esm2022}/icon-font/icon.directive.mjs +5 -5
- package/{esm2020 → esm2022}/icon-font/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/icon-font/utilities.mjs +1 -1
- package/esm2022/panel/panel-section.component.mjs +41 -0
- package/esm2022/panel/panel.component.mjs +87 -0
- package/esm2022/panel/panel.module.mjs +23 -0
- package/{esm2020 → esm2022}/panel/public-api.mjs +1 -1
- package/esm2022/panel/tinted.directive.mjs +60 -0
- package/esm2022/phone-number/phone-number.directive.mjs +188 -0
- package/{esm2020 → esm2022}/phone-number/phone-number.module.mjs +5 -5
- package/{esm2020 → esm2022}/phone-number/phone-number.pipe.mjs +6 -6
- package/esm2022/phone-number/phone-number.validator.mjs +64 -0
- package/{esm2020 → esm2022}/phone-number/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/esm2022/radio-panel/radio-panel-item.component.mjs +93 -0
- package/esm2022/radio-panel/radio-panel.component.mjs +81 -0
- package/{esm2020 → esm2022}/radio-panel/radio-panel.module.mjs +5 -5
- package/esm2022/radio-panel/testing/test-api.mjs +46 -0
- package/{esm2020 → esm2022}/selection-panel/public-api.mjs +1 -1
- package/esm2022/selection-panel/selection-panel-item.component.mjs +166 -0
- package/esm2022/selection-panel/selection-panel.directive.mjs +119 -0
- package/esm2022/selection-panel/selection-panel.module.mjs +23 -0
- package/{esm2020 → esm2022}/skeletons/public-api.mjs +1 -1
- package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +83 -0
- package/{esm2020 → esm2022}/skeletons/skeleton-loader.component.mjs +5 -5
- package/esm2022/skeletons/skeletons.module.mjs +35 -0
- package/{esm2020 → esm2022}/stepper/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/stepper/stepper-animation.mjs +1 -1
- package/esm2022/stepper/stepper.component.mjs +176 -0
- package/esm2022/stepper/stepper.module.mjs +52 -0
- package/{esm2020 → esm2022}/tooltip/public-api.mjs +1 -1
- package/esm2022/tooltip/tooltip.component.mjs +63 -0
- package/esm2022/tooltip/tooltip.directive.mjs +148 -0
- package/esm2022/tooltip/tooltip.module.mjs +25 -0
- package/{fesm2020 → fesm2022}/bravura-ui-alert-testing.mjs +2 -2
- package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -0
- package/fesm2022/bravura-ui-alert.mjs +327 -0
- package/fesm2022/bravura-ui-alert.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-behavior.mjs +45 -45
- package/fesm2022/bravura-ui-behavior.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-clip-note.mjs +70 -70
- package/fesm2022/bravura-ui-clip-note.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-common.mjs +6 -6
- package/fesm2022/bravura-ui-common.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-currency-input.mjs +11 -11
- package/fesm2022/bravura-ui-currency-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-decimal-input.mjs +12 -12
- package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-discrete-input.mjs +48 -48
- package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -0
- package/fesm2022/bravura-ui-file-upload.mjs +474 -0
- package/fesm2022/bravura-ui-file-upload.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-form-field.mjs +19 -19
- package/fesm2022/bravura-ui-form-field.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-icon-font.mjs +8 -8
- package/fesm2022/bravura-ui-icon-font.mjs.map +1 -0
- package/fesm2022/bravura-ui-panel.mjs +206 -0
- package/fesm2022/bravura-ui-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-phone-number.mjs +30 -30
- package/fesm2022/bravura-ui-phone-number.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-radio-panel-testing.mjs +5 -6
- package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-radio-panel.mjs +31 -31
- package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -0
- package/fesm2022/bravura-ui-selection-panel.mjs +306 -0
- package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-skeletons.mjs +43 -43
- package/fesm2022/bravura-ui-skeletons.mjs.map +1 -0
- package/fesm2022/bravura-ui-stepper.mjs +251 -0
- package/fesm2022/bravura-ui-stepper.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-tooltip.mjs +32 -24
- package/fesm2022/bravura-ui-tooltip.mjs.map +1 -0
- package/fesm2022/bravura-ui.mjs.map +1 -0
- package/file-upload/file-upload.component.d.ts +1 -1
- package/form-field/form-field.component.d.ts +1 -1
- package/icon-font/icon.directive.d.ts +1 -1
- package/package.json +76 -120
- package/panel/panel.component.d.ts +1 -1
- package/panel/tinted.directive.d.ts +1 -1
- package/phone-number/phone-number.directive.d.ts +1 -1
- package/phone-number/phone-number.validator.d.ts +2 -2
- package/radio-panel/radio-panel-item.component.d.ts +1 -1
- package/radio-panel/radio-panel.component.d.ts +1 -1
- package/radio-panel/testing/test-api.d.ts +2 -3
- package/selection-panel/selection-panel-item.component.d.ts +1 -1
- package/selection-panel/selection-panel.directive.d.ts +1 -1
- package/skeletons/skeleton-loader-presets.directive.d.ts +3 -3
- package/stepper/stepper.component.d.ts +1 -1
- package/theme/_bui-card.scss +56 -56
- package/theme/_ui-theme.scss +112 -112
- package/theme/global-style-by-bootstrap.scss +3 -3
- package/theme/global-style-by-tailwind.scss +3 -3
- package/theme/scrollbar.scss +40 -40
- package/tooltip/tooltip.component.d.ts +2 -0
- package/tooltip/tooltip.directive.d.ts +3 -5
- package/esm2020/alert/alert-container.component.mjs +0 -207
- package/esm2020/alert/alert-message.component.mjs +0 -102
- package/esm2020/alert/alert.module.mjs +0 -22
- package/esm2020/alert/testing/test-api.mjs +0 -44
- package/esm2020/behavior/behavior.module.mjs +0 -37
- package/esm2020/behavior/sizing-monitor.directive.mjs +0 -31
- package/esm2020/behavior/sizing.directive.mjs +0 -256
- package/esm2020/clip-note/clip-note.component.mjs +0 -216
- package/esm2020/clip-note/clip-note.directive.mjs +0 -141
- package/esm2020/clip-note/clip-note.module.mjs +0 -32
- package/esm2020/currency-input/currency-input.module.mjs +0 -19
- package/esm2020/discrete-input/discrete-input.component.mjs +0 -337
- package/esm2020/discrete-input/discrete-input.module.mjs +0 -21
- package/esm2020/file-upload/file-upload.component.mjs +0 -400
- package/esm2020/file-upload/file-upload.module.mjs +0 -44
- package/esm2020/file-upload/file-upload.service.mjs +0 -29
- package/esm2020/form-field/form-field.component.mjs +0 -82
- package/esm2020/form-field/form-field.module.mjs +0 -33
- package/esm2020/icon-font/icon-font.module.mjs +0 -22
- package/esm2020/panel/panel-section.component.mjs +0 -41
- package/esm2020/panel/panel.component.mjs +0 -87
- package/esm2020/panel/panel.module.mjs +0 -23
- package/esm2020/panel/tinted.directive.mjs +0 -60
- package/esm2020/phone-number/phone-number.directive.mjs +0 -188
- package/esm2020/phone-number/phone-number.validator.mjs +0 -64
- package/esm2020/radio-panel/radio-panel-item.component.mjs +0 -93
- package/esm2020/radio-panel/radio-panel.component.mjs +0 -81
- package/esm2020/radio-panel/testing/test-api.mjs +0 -47
- package/esm2020/selection-panel/selection-panel-item.component.mjs +0 -166
- package/esm2020/selection-panel/selection-panel.directive.mjs +0 -119
- package/esm2020/selection-panel/selection-panel.module.mjs +0 -23
- package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +0 -83
- package/esm2020/skeletons/skeletons.module.mjs +0 -35
- package/esm2020/stepper/stepper.component.mjs +0 -176
- package/esm2020/stepper/stepper.module.mjs +0 -52
- package/esm2020/tooltip/tooltip.component.mjs +0 -54
- package/esm2020/tooltip/tooltip.directive.mjs +0 -149
- package/esm2020/tooltip/tooltip.module.mjs +0 -25
- package/fesm2015/bravura-ui-alert-testing.mjs +0 -64
- package/fesm2015/bravura-ui-alert-testing.mjs.map +0 -1
- package/fesm2015/bravura-ui-alert.mjs +0 -340
- package/fesm2015/bravura-ui-alert.mjs.map +0 -1
- package/fesm2015/bravura-ui-behavior.mjs +0 -515
- package/fesm2015/bravura-ui-behavior.mjs.map +0 -1
- package/fesm2015/bravura-ui-clip-note.mjs +0 -393
- package/fesm2015/bravura-ui-clip-note.mjs.map +0 -1
- package/fesm2015/bravura-ui-common.mjs +0 -96
- package/fesm2015/bravura-ui-common.mjs.map +0 -1
- package/fesm2015/bravura-ui-currency-input.mjs +0 -300
- package/fesm2015/bravura-ui-currency-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-decimal-input.mjs +0 -145
- package/fesm2015/bravura-ui-decimal-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-discrete-input.mjs +0 -365
- package/fesm2015/bravura-ui-discrete-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-file-upload.mjs +0 -478
- package/fesm2015/bravura-ui-file-upload.mjs.map +0 -1
- package/fesm2015/bravura-ui-form-field.mjs +0 -120
- package/fesm2015/bravura-ui-form-field.mjs.map +0 -1
- package/fesm2015/bravura-ui-icon-font.mjs +0 -178
- package/fesm2015/bravura-ui-icon-font.mjs.map +0 -1
- package/fesm2015/bravura-ui-panel.mjs +0 -210
- package/fesm2015/bravura-ui-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-phone-number.mjs +0 -327
- package/fesm2015/bravura-ui-phone-number.mjs.map +0 -1
- package/fesm2015/bravura-ui-radio-panel-testing.mjs +0 -63
- package/fesm2015/bravura-ui-radio-panel-testing.mjs.map +0 -1
- package/fesm2015/bravura-ui-radio-panel.mjs +0 -200
- package/fesm2015/bravura-ui-radio-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-selection-panel.mjs +0 -311
- package/fesm2015/bravura-ui-selection-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-skeletons.mjs +0 -195
- package/fesm2015/bravura-ui-skeletons.mjs.map +0 -1
- package/fesm2015/bravura-ui-stepper.mjs +0 -253
- package/fesm2015/bravura-ui-stepper.mjs.map +0 -1
- package/fesm2015/bravura-ui-tooltip.mjs +0 -229
- package/fesm2015/bravura-ui-tooltip.mjs.map +0 -1
- package/fesm2015/bravura-ui.mjs.map +0 -1
- package/fesm2020/bravura-ui-alert-testing.mjs.map +0 -1
- package/fesm2020/bravura-ui-alert.mjs +0 -328
- package/fesm2020/bravura-ui-alert.mjs.map +0 -1
- package/fesm2020/bravura-ui-behavior.mjs.map +0 -1
- package/fesm2020/bravura-ui-clip-note.mjs.map +0 -1
- package/fesm2020/bravura-ui-common.mjs.map +0 -1
- package/fesm2020/bravura-ui-currency-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-decimal-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-discrete-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-file-upload.mjs +0 -474
- package/fesm2020/bravura-ui-file-upload.mjs.map +0 -1
- package/fesm2020/bravura-ui-form-field.mjs.map +0 -1
- package/fesm2020/bravura-ui-icon-font.mjs.map +0 -1
- package/fesm2020/bravura-ui-panel.mjs +0 -206
- package/fesm2020/bravura-ui-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-phone-number.mjs.map +0 -1
- package/fesm2020/bravura-ui-radio-panel-testing.mjs.map +0 -1
- package/fesm2020/bravura-ui-radio-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-selection-panel.mjs +0 -306
- package/fesm2020/bravura-ui-selection-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-skeletons.mjs.map +0 -1
- package/fesm2020/bravura-ui-stepper.mjs +0 -251
- package/fesm2020/bravura-ui-stepper.mjs.map +0 -1
- package/fesm2020/bravura-ui-tooltip.mjs.map +0 -1
- package/fesm2020/bravura-ui.mjs +0 -8
- package/fesm2020/bravura-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alert/bravura-ui-alert.mjs +0 -0
- /package/{esm2020 → esm2022}/alert/testing/bravura-ui-alert-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/behavior/bravura-ui-behavior.mjs +0 -0
- /package/{esm2020 → esm2022}/bravura-ui.mjs +0 -0
- /package/{esm2020 → esm2022}/clip-note/bravura-ui-clip-note.mjs +0 -0
- /package/{esm2020 → esm2022}/common/bravura-ui-common.mjs +0 -0
- /package/{esm2020 → esm2022}/currency-input/bravura-ui-currency-input.mjs +0 -0
- /package/{esm2020 → esm2022}/decimal-input/bravura-ui-decimal-input.mjs +0 -0
- /package/{esm2020 → esm2022}/decimal-input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/discrete-input/bravura-ui-discrete-input.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/bravura-ui-file-upload.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/bravura-ui-form-field.mjs +0 -0
- /package/{esm2020 → esm2022}/icon-font/bravura-ui-icon-font.mjs +0 -0
- /package/{esm2020 → esm2022}/panel/bravura-ui-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/phone-number/bravura-ui-phone-number.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/bravura-ui-radio-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/selection-panel/bravura-ui-selection-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/skeletons/bravura-ui-skeletons.mjs +0 -0
- /package/{esm2020 → esm2022}/stepper/bravura-ui-stepper.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/bravura-ui-tooltip.mjs +0 -0
- /package/{fesm2015 → fesm2022}/bravura-ui.mjs +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
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: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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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RUFBRSxFQUFFLENBQUMsQ0FBQztJQUNSLENBQUM7K0dBN0pXLG9CQUFvQixzTEF3Q3ZCLFNBQVM7bUdBeENOLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsUUFBUTtpQkFDbEI7OzBCQXNDRSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixRQUFRO3lDQTNCVixPQUFPO3NCQUROLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLGdCQUFnQjtzQkFEZixNQUFNO2dCQXFCUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0RGlyZWN0aXZlLFxyXG5cdEVsZW1lbnRSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdEhvc3RMaXN0ZW5lcixcclxuXHRJbmplY3QsXHJcblx0SW5wdXQsXHJcblx0TE9DQUxFX0lELFxyXG5cdE5nWm9uZSxcclxuXHRPbkNoYW5nZXMsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPcHRpb25hbCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIEZvcm1Db250cm9sRGlyZWN0aXZlLCBGb3JtQ29udHJvbE5hbWUsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgaW50bFRlbElucHV0IGZyb20gJ2ludGwtdGVsLWlucHV0JztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZ2V0Q291bnRyeUNvZGVGcm9tTG9jYWxlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIucGlwZSc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyVmFsaWRhdG9yLCBTRUxFQ1RPUiwgVEVMX1RZUEUgfSBmcm9tICcuL3Bob25lLW51bWJlci52YWxpZGF0b3InO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmRlY2xhcmUgY29uc3QgaW50bFRlbElucHV0VXRpbHM6IGFueTtcclxuXHJcbi8qKlxyXG4gKiBBZGQgcGhvbmUgbnVtYmVyIHZhbGlkYXRpb24gc3VwcG9ydCBieSBzcGVjaWZ5aW5nIHRoZSBgdHlwZWAgYXR0cmlidXRlIGFzIGB0ZWxgIGluIGFuIGA8aW5wdXQ+YCBlbGVtZW50LlxyXG4gKlxyXG4gKiBUbyB1c2UgdGhpcyBmZWF0dXJlLCBwbGVhc2UgaW5zdGFsbCBhIHBlZXIgZGVwZW5kZW5jeSBgaW50bC10ZWwtaW5wdXRgIGluIHlvdXIgcHJvamVjdCBhbmQgYWRkIHRoZSBmb2xsb3dpbmdcclxuICogdG8geW91ciBhcHBsaWNhdGlvbiBwb2x5ZmlsbHM6XHJcbiAqXHJcbiAqIGBgYGphdmFzY3JpcHRcclxuICogaW1wb3J0ICdpbnRsLXRlbC1pbnB1dC9idWlsZC9qcy91dGlscy5qcyc7XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBZb3Ugd2lsbCBhbHNvIG5lZWQgdG8gYWRkIHRoZSBmb2xsb3dpbmcgc3RhdGVtZW50cyB0byBvbmUgb2YgeW91ciBnbG9iYWwgU0NTUyBmaWxlczpcclxuICpcclxuICogYGBgc2Nzc1xyXG4gKiAkZmxhZ3NJbWFnZVBhdGg6ICd+aW50bC10ZWwtaW5wdXQvYnVpbGQvaW1nLycgIWRlZmF1bHQ7XHJcbiAqIEBpbXBvcnQgJ35pbnRsLXRlbC1pbnB1dC9zcmMvY3NzL2ludGxUZWxJbnB1dCc7XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6IFNFTEVDVE9SXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU51bWJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cdC8qKlxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKi9cclxuXHRzdGF0aWMgUE9TVF9SRU5ERVJfSU5JVF9ERUxBWSA9IDIwO1xyXG5cclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0c3RhdGljIEJZUEFTU19TSEFET1dfREVURUNUSU9OID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSB0eXBlIG9mIHBob25lIG51bWJlciB0byB2YWxpZGF0ZSBmb3JcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRlbFR5cGU6IFRFTF9UWVBFID0gJ0ZJWEVEX0xJTkUnO1xyXG5cclxuXHQvKipcclxuXHQgKiBEaXNhYmxlIGNvdW50cnkgZHJvcGRvd24gYnkgc2V0dGluZyB0aGlzIHByb3BlcnR5IHRvIGBmYWxzZWAuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHR0ZWxEcm9wZG93biA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gYSBuZXcgY291bnRyeSBpcyBzZWxlY3RlZCBmcm9tIHRoZSBkcm9wZG93bi4gVGhlIGV2ZW50IGRldGFpbCBpcyB0aGUgSVNPIGNvdW50cnkgY29kZS5cclxuXHQgKi9cclxuXHRAT3V0cHV0KClcclxuXHR0ZWxDb3VudHJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cdHByaXZhdGUgX2NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZDtcclxuXHRwcml2YXRlIF9yZWFjdGl2ZSA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2NvdW50cnlDaGFuZ2VMaXN0ZW5lcjogKCkgPT4gdm9pZCA9ICgpID0+IG51bGw7XHJcblx0cHJpdmF0ZSBfaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblx0cHJpdmF0ZSBfaXRpOiBhbnk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9uZ01vZGVsOiBOZ01vZGVsLFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybUNvbnRyb2xOYW1lOiBGb3JtQ29udHJvbE5hbWUsXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtQ29udHJvbERpcmVjdGl2ZTogRm9ybUNvbnRyb2xEaXJlY3RpdmUsXHJcblx0XHRASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlOiBzdHJpbmcsXHJcblx0XHRwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIF9tYXRGaWVsZDogTWF0Rm9ybUZpZWxkXHJcblx0KSB7fVxyXG5cclxuXHQvKiogQGludGVybmFsICovXHJcblx0QEhvc3RMaXN0ZW5lcignaW5wdXQnKVxyXG5cdG9uSW5wdXQoKSB7XHJcblx0XHRjb25zdCBlcnIgPSBQaG9uZU51bWJlclZhbGlkYXRvci52YWxpZGF0ZUNvbnRyb2wodGhpcy5faW5wdXQhLCB0aGlzLnRlbFR5cGUsIHRydWUpO1xyXG5cdFx0dGhpcy5fY29udHJvbCEucGF0Y2hWYWx1ZSh0aGlzLl9pbnB1dCEudmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHJcblx0XHRpZiAodGhpcy5fcmVhY3RpdmUgJiYgZXJyKSB7XHJcblx0XHRcdHRoaXMuX2NvbnRyb2whLnNldEVycm9ycyh7IC4uLnRoaXMuX2NvbnRyb2whLmVycm9ycywgLi4uZXJyIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRjb25zdCBjdHJEaXJlY3RpdmUgPSB0aGlzLl9uZ01vZGVsIHx8IHRoaXMuX2Zvcm1Db250cm9sTmFtZSB8fCB0aGlzLl9mb3JtQ29udHJvbERpcmVjdGl2ZTtcclxuXHRcdHRoaXMuX2NvbnRyb2wgPSBjdHJEaXJlY3RpdmUuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblx0XHR0aGlzLl9yZWFjdGl2ZSA9IHRoaXMuX25nTW9kZWwgPyBmYWxzZSA6IHRydWU7XHJcblx0XHR0aGlzLl9pbnB1dCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG5cdFx0dGhpcy5fY291bnRyeUNoYW5nZUxpc3RlbmVyID0gKCgpID0+IHtcclxuXHRcdFx0dGhpcy5fem9uZS5ydW4oKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2NvbnRyb2whLm1hcmtBc0RpcnR5KCk7XHJcblx0XHRcdFx0dGhpcy5fY29udHJvbCEudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuXHRcdFx0XHR0aGlzLnRlbENvdW50cnlDaGFuZ2UuZW1pdCh0aGlzLl9pdGkuZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpLmlzbzIpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pLmJpbmQodGhpcyk7XHJcblxyXG5cdFx0KFBob25lTnVtYmVyRGlyZWN0aXZlLkJZUEFTU19TSEFET1dfREVURUNUSU9OID8gb2YoMCBhcyBhbnkpIDogdGhpcy5fem9uZS5vblN0YWJsZSlcclxuXHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDEwKSwgdGFrZSgxKSlcclxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmluaXRFbGVtZW50KCkpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLl9pbnB1dCEucmVtb3ZlRXZlbnRMaXN0ZW5lcignY291bnRyeWNoYW5nZScsIHRoaXMuX2NvdW50cnlDaGFuZ2VMaXN0ZW5lcik7XHJcblx0XHR0aGlzLl9pdGk/LmRlc3Ryb3koKTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHRkID0gY2hhbmdlcy50ZWxEcm9wZG93bjtcclxuXHRcdGlmICh0ZCAmJiAhdGQuZmlyc3RDaGFuZ2UpIHtcclxuXHRcdFx0dGhpcy5uZ09uRGVzdHJveSgpO1xyXG5cdFx0XHR0aGlzLm5nT25Jbml0KCk7XHJcblx0XHR9XHJcblx0XHRjb25zdCB0eXBlID0gY2hhbmdlcy50ZWxUeXBlO1xyXG5cdFx0aWYgKHR5cGUgJiYgIXR5cGUuZmlyc3RDaGFuZ2UpIHtcclxuXHRcdFx0dGhpcy5vbklucHV0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRFbGVtZW50KCkge1xyXG5cdFx0Y29uc3QgY291bnRyeUNvZGUgPSBnZXRDb3VudHJ5Q29kZUZyb21Mb2NhbGUodGhpcy5fbG9jYWxlKS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHRcdGNvbnN0IHJvb3Q6IFNoYWRvd1Jvb3QgfCBEb2N1bWVudCA9IHRoaXMuX2lucHV0IS5nZXRSb290Tm9kZSgpIGFzIFNoYWRvd1Jvb3QgfCBEb2N1bWVudDtcclxuXHRcdGlmICghcm9vdC5xdWVyeVNlbGVjdG9yKCcjYnVpLXRlbC1pbnB1dC1zdHlsZScpKSB7XHJcblx0XHRcdGNvbnN0IHN0eWxlVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuXHRcdFx0c3R5bGVUYWcuaWQgPSAnYnVpLXRlbC1pbnB1dC1zdHlsZSc7XHJcblx0XHRcdHN0eWxlVGFnLmlubmVyVGV4dCA9XHJcblx0XHRcdFx0Jy5tYXQtbWRjLWZvcm0tZmllbGQgLmJ1aS10ZWwtaW5wdXQtcGxhY2Vob2xkZXI6bm90KC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlKXttYXJnaW4tbGVmdDo0NHB4O30nICtcclxuXHRcdFx0XHQnLml0aS0tYWxsb3ctZHJvcGRvd257bWFyZ2luLWxlZnQ6LThweH0nICtcclxuXHRcdFx0XHQnLmJ1aS10ZWwtaW5wdXQtd2l0aC12YWx1ZTpkaXNhYmxlZHtjdXJzb3I6cG9pbnRlcjt9JztcclxuXHRcdFx0KHJvb3QgaW5zdGFuY2VvZiBEb2N1bWVudCA/IChyb290LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSBhcyBhbnkpIDogcm9vdCkuYXBwZW5kQ2hpbGQoc3R5bGVUYWcpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5faXRpID0gaW50bFRlbElucHV0KHRoaXMuX2lucHV0ISwge1xyXG5cdFx0XHRpbml0aWFsQ291bnRyeTogY291bnRyeUNvZGUsXHJcblx0XHRcdHBsYWNlaG9sZGVyTnVtYmVyVHlwZTogdGhpcy50ZWxUeXBlLFxyXG5cdFx0XHRwcmVmZXJyZWRDb3VudHJpZXM6IFtjb3VudHJ5Q29kZSwgLi4uWydhdScsICdjYScsICdueicsICd1cycsICdnYiddLmZpbHRlcihjID0+IGMgIT09IGNvdW50cnlDb2RlKV0sXHJcblx0XHRcdGRyb3Bkb3duQ29udGFpbmVyOiByb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCA/IHJvb3QucXVlcnlTZWxlY3Rvcignb3ZlcmxheS1yb290JykgfHwgcm9vdCA6IChyb290LmJvZHkgYXMgYW55KSxcclxuXHRcdFx0YXV0b1BsYWNlaG9sZGVyOiAnb2ZmJyxcclxuXHRcdFx0YWxsb3dEcm9wZG93bjogdGhpcy50ZWxEcm9wZG93blxyXG5cdFx0fSk7XHJcblxyXG5cdFx0KHRoaXMuX2lucHV0IGFzIGFueSkuJCRpdGkgPSB0aGlzLl9pdGk7XHJcblx0XHR0aGlzLl9pbnB1dCEuYWRkRXZlbnRMaXN0ZW5lcignY291bnRyeWNoYW5nZScsIHRoaXMuX2NvdW50cnlDaGFuZ2VMaXN0ZW5lcik7XHJcblx0XHRjb25zdCBmcmFtZVRpbWUgPSBEYXRlLm5vdygpO1xyXG5cdFx0Y29uc3QgcG9zdFJlbmRlcldvcmsgPSAoKSA9PiB7XHJcblx0XHRcdGlmIChmcmFtZVRpbWUgKyBQaG9uZU51bWJlckRpcmVjdGl2ZS5QT1NUX1JFTkRFUl9JTklUX0RFTEFZID4gRGF0ZS5ub3coKSkge1xyXG5cdFx0XHRcdHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocG9zdFJlbmRlcldvcmspO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHRsZXQgbGFiZWw6IEhUTUxMYWJlbEVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblx0XHRcdGlmICh0aGlzLl9tYXRGaWVsZD8uZ2V0TGFiZWxJZCgpICYmIHR5cGVvZiByb290LmdldEVsZW1lbnRCeUlkID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdFx0bGFiZWwgPSByb290LmdldEVsZW1lbnRCeUlkKHRoaXMuX21hdEZpZWxkLmdldExhYmVsSWQoKSEpIGFzIEhUTUxMYWJlbEVsZW1lbnQ7XHJcblx0XHRcdFx0bGFiZWw/LmNsYXNzTGlzdC5yZW1vdmUoJ2J1aS10ZWwtaW5wdXQtcGxhY2Vob2xkZXInKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobGFiZWwgJiYgdGhpcy50ZWxEcm9wZG93bikge1xyXG5cdFx0XHRcdGxhYmVsLmNsYXNzTGlzdC5hZGQoJ2J1aS10ZWwtaW5wdXQtcGxhY2Vob2xkZXInKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMuX2lucHV0Py52YWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMuX2lucHV0LmNsYXNzTGlzdC5hZGQoJ2J1aS10ZWwtaW5wdXQtd2l0aC12YWx1ZScpO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShwb3N0UmVuZGVyV29yayk7XHJcblxyXG5cdFx0dGhpcy5faW5wdXQhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5fY29udHJvbD8uZGlzYWJsZWQgJiYgdGhpcy5fY29udHJvbC52YWx1ZSkge1xyXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ3RlbDovLycgKyB0aGlzLl9jb250cm9sLnZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLl9jb250cm9sPy5yZWdpc3Rlck9uRGlzYWJsZWRDaGFuZ2UoaXNEaXNhYmxlZCA9PiB0aGlzLl9wYXRjaFZhbHVlQnlTdGF0ZShpc0Rpc2FibGVkKSk7XHJcblx0XHR0aGlzLl9wYXRjaFZhbHVlQnlTdGF0ZSh0aGlzLl9jb250cm9sIS5kaXNhYmxlZCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wYXRjaFZhbHVlQnlTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0aWYgKCFpc0Rpc2FibGVkKSB7XHJcblx0XHRcdFx0dGhpcy5vbklucHV0KCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29uc3QgdiA9IHRoaXMuX2l0aS5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0Lk5BVElPTkFMKTtcclxuXHRcdFx0XHR0aGlzLl9pbnB1dCEudmFsdWUgPSB2O1xyXG5cdFx0XHRcdHRoaXMuX2NvbnRyb2w/LnBhdGNoVmFsdWUodGhpcy5faW5wdXQ/LnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdH1cclxuXHRcdH0sIDIwKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -8,11 +8,11 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
10
|
export class PhoneModule {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", 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: "17.3.12", ngImport: i0, type: PhoneModule, imports: [CommonModule] }); }
|
|
11
14
|
}
|
|
12
|
-
|
|
13
|
-
PhoneModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: PhoneModule, declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator], imports: [CommonModule], exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator] });
|
|
14
|
-
PhoneModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PhoneModule, imports: [CommonModule] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PhoneModule, decorators: [{
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
23
|
export { PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sV0FBVzsrR0FBWCxXQUFXO2dIQUFYLFdBQVcsaUJBSlIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixhQUNoRSxZQUFZLGFBQ1osb0JBQW9CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQjtnSEFFekQsV0FBVyxZQUhiLFlBQVk7OzRGQUdWLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO29CQUMzRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztpQkFDdEU7O0FBR0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBob25lTnVtYmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIucGlwZSc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyVmFsaWRhdG9yIH0gZnJvbSAnLi9waG9uZS1udW1iZXIudmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJWYWxpZGF0b3JdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBob25lTW9kdWxlIHt9XHJcblxyXG5leHBvcnQgeyBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvciB9O1xyXG4iXX0=
|
|
@@ -28,20 +28,20 @@ export class PhoneNumberPipe {
|
|
|
28
28
|
return result;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
32
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PhoneNumberPipe, name: "buiPhone" }); }
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
PhoneNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: PhoneNumberPipe, name: "buiPhone" });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: PhoneNumberPipe, decorators: [{
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneNumberPipe, decorators: [{
|
|
35
35
|
type: Pipe,
|
|
36
36
|
args: [{
|
|
37
37
|
name: 'buiPhone',
|
|
38
38
|
pure: true
|
|
39
39
|
}]
|
|
40
|
-
}], ctorParameters:
|
|
40
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
41
41
|
type: Inject,
|
|
42
42
|
args: [LOCALE_ID]
|
|
43
|
-
}] }]
|
|
43
|
+
}] }] });
|
|
44
44
|
export function getCountryCodeFromLocale(locale) {
|
|
45
45
|
return locale.replace(/.+[-_]([a-z][a-z])$/i, '$1');
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJdkU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZTtJQUMzQixZQUF1QyxPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFFMUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFhLEVBQUUsVUFBb0I7UUFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNYLE9BQU8sS0FBSyxDQUFDO1NBQ2I7UUFFRCxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0QsSUFBSSxNQUFjLENBQUM7UUFDbkIsUUFBUSxJQUFJLEVBQUU7WUFDYixLQUFLLFVBQVU7Z0JBQ2QsTUFBTSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ2pELE1BQU07WUFDUDtnQkFDQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztTQUN2RDtRQUNELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLElBQUksVUFBVSxFQUFFO1lBQ2YsT0FBTyxnQkFBZ0IsTUFBTSxLQUFLLE1BQU0sTUFBTSxDQUFDO1NBQy9DO2FBQU07WUFDTixPQUFPLE1BQU0sQ0FBQztTQUNkO0lBQ0YsQ0FBQzsrR0F4QlcsZUFBZSxrQkFDUCxTQUFTOzZHQURqQixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNMLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsSUFBSTtpQkFDVjs7MEJBRWEsTUFBTTsyQkFBQyxTQUFTOztBQTBCOUIsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQWM7SUFDdEQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBpbnRsVGVsSW5wdXRVdGlsczogYW55O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuQFBpcGUoe1xyXG5cdG5hbWU6ICdidWlQaG9uZScsXHJcblx0cHVyZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0Y29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nKSB7fVxyXG5cclxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSwgbW9kZT86IHN0cmluZywgcmVuZGVyTGluaz86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG5cdFx0aWYgKCF2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgY291bnRyeUNvZGUgPSBnZXRDb3VudHJ5Q29kZUZyb21Mb2NhbGUodGhpcy5fbG9jYWxlKTtcclxuXHJcblx0XHRsZXQgZm9ybWF0OiBudW1iZXI7XHJcblx0XHRzd2l0Y2ggKG1vZGUpIHtcclxuXHRcdFx0Y2FzZSAnTkFUSU9OQUwnOlxyXG5cdFx0XHRcdGZvcm1hdCA9IGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5OQVRJT05BTDtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRmb3JtYXQgPSBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHJlc3VsdCA9IGludGxUZWxJbnB1dFV0aWxzLmZvcm1hdE51bWJlcih2YWx1ZSwgY291bnRyeUNvZGUsIGZvcm1hdCk7XHJcblx0XHRpZiAocmVuZGVyTGluaykge1xyXG5cdFx0XHRyZXR1cm4gYDxhIGhyZWY9XCJ0ZWw6JHtyZXN1bHR9XCI+JHtyZXN1bHR9PC9hPmA7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENvdW50cnlDb2RlRnJvbUxvY2FsZShsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0cmV0dXJuIGxvY2FsZS5yZXBsYWNlKC8uK1stX10oW2Etel1bYS16XSkkL2ksICckMScpO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
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: "17.3.12", ngImport: i0, type: PhoneNumberValidator, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", 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: "17.3.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFtQixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQ3BCLCtHQUErRyxDQUFDO0FBRWpIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtQjtJQUM5QyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ25ELEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQVlGOztHQUVHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUloQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQXFCLEVBQUUsSUFBYyxFQUFFLE1BQWU7UUFDNUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsTUFBTSxHQUFHLEdBQUksR0FBVyxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDWjtRQUNELElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RFLElBQUksTUFBTSxFQUFFO2dCQUNYLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7WUFFRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFO2dCQUM1RCxJQUNDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztvQkFDaEUsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQ3ZFO29CQUNELE9BQU8sR0FBRyxDQUFDO2lCQUNYO2FBQ0Q7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsWUFBb0IsR0FBaUM7UUFBakMsUUFBRyxHQUFILEdBQUcsQ0FBOEI7UUEvQnJELFlBQU8sR0FBYSxZQUFZLENBQUM7SUErQnVCLENBQUM7SUFFekQsUUFBUSxDQUFDLENBQWtCO1FBQzFCLE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUYsQ0FBQzsrR0FyQ1csb0JBQW9CO21HQUFwQixvQkFBb0Isd0tBRnJCLENBQUMsZUFBZSxDQUFDOzs0RkFFaEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzVCOytFQUdBLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFN0YXRpY1Byb3ZpZGVyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFNFTEVDVE9SID1cclxuXHQnW2J1aVRlbElucHV0XSwgaW5wdXQoW3R5cGU9dGVsXSlbbmdNb2RlbF0sIGlucHV0KFt0eXBlPXRlbF0pW2Zvcm1Db250cm9sTmFtZV0sIGlucHV0KFt0eXBlPXRlbF0pW2Zvcm1Db250cm9sXSc7XHJcblxyXG4vKipcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgUEhPTkVfVkFMSURBVE9SOiBTdGF0aWNQcm92aWRlciA9IHtcclxuXHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBob25lTnVtYmVyVmFsaWRhdG9yKSxcclxuXHRtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgVEVMX1RZUEUgPSAnTU9CSUxFJyB8ICdGSVhFRF9MSU5FX09SX01PQklMRScgfCAnRklYRURfTElORSc7XHJcblxyXG4vKipcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5kZWNsYXJlIGNvbnN0IGludGxUZWxJbnB1dFV0aWxzOiBhbnk7XHJcblxyXG4vKipcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogU0VMRUNUT1IsXHJcblx0cHJvdmlkZXJzOiBbUEhPTkVfVkFMSURBVE9SXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xyXG5cdEBJbnB1dCgpXHJcblx0dGVsVHlwZTogVEVMX1RZUEUgPSAnRklYRURfTElORSc7XHJcblxyXG5cdHN0YXRpYyB2YWxpZGF0ZUNvbnRyb2woaW5wOiBIVE1MSW5wdXRFbGVtZW50LCB0eXBlOiBURUxfVFlQRSwgdXBkYXRlOiBib29sZWFuKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xyXG5cdFx0Y29uc3QgZXJyID0geyB0ZWw6IHRydWUgfTtcclxuXHRcdGlmICghaW5wLnZhbHVlKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgaXRpID0gKGlucCBhcyBhbnkpLiQkaXRpO1xyXG5cdFx0aWYgKCFpdGkpIHtcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHR9XHJcblx0XHRpZiAoaXRpLmlzVmFsaWROdW1iZXIoKSkge1xyXG5cdFx0XHRjb25zdCBuID0gaXRpLmdldE51bWJlcihpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTCk7XHJcblx0XHRcdGlmICh1cGRhdGUpIHtcclxuXHRcdFx0XHRpbnAudmFsdWUgPSBuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRjb25zdCB0ID0gaXRpLmdldE51bWJlclR5cGUoKTtcclxuXHRcdFx0aWYgKHQgIT09IGludGxUZWxJbnB1dFV0aWxzLm51bWJlclR5cGUuRklYRURfTElORV9PUl9NT0JJTEUpIHtcclxuXHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHQodHlwZSA9PT0gJ01PQklMRScgJiYgdCAhPT0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyVHlwZS5NT0JJTEUpIHx8XHJcblx0XHRcdFx0XHQodHlwZSA9PT0gJ0ZJWEVEX0xJTkUnICYmIHQgIT09IGludGxUZWxJbnB1dFV0aWxzLm51bWJlclR5cGUuRklYRURfTElORSlcclxuXHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdHJldHVybiBlcnI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGVycjtcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7fVxyXG5cclxuXHR2YWxpZGF0ZShfOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XHJcblx0XHRyZXR1cm4gUGhvbmVOdW1iZXJWYWxpZGF0b3IudmFsaWRhdGVDb250cm9sKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsIHRoaXMudGVsVHlwZSwgZmFsc2UpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './phone-number.module';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bob25lLW51bWJlci5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const NO_EXPORT = 'NO_EXPORT';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT19FWFBPUlQgPSAnTk9fRVhQT1JUJztcclxuIl19
|
|
@@ -0,0 +1,93 @@
|
|
|
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: "17.3.12", 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: "17.3.12", 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 [color]=\"color\" *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)=\"_onInputClick($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: "17.3.12", 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 [color]=\"color\" *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)=\"_onInputClick($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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9yYWRpby1wYW5lbC9yYWRpby1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRixPQUFPLEVBQ04sU0FBUyxFQUNULHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixjQUFjLEVBR2QseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQUU3RTs7R0FFRztBQW9DSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQVUxRCxJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUssSUFBSSxDQUFDLFVBQWtCLEVBQUUsWUFBWSxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxHQUFvQjtRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBTUQsWUFDc0MsVUFBeUIsRUFDOUQsVUFBc0IsRUFDdEIsZUFBa0MsRUFDbEMsYUFBMkIsRUFDM0IsZ0JBQTJDLEVBQ0EsYUFBc0IsRUFHakUsaUJBQTBDLEVBQ25CLFFBQWlCO1FBRXhDLEtBQUssQ0FDSixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsUUFBUSxDQUNSLENBQUM7UUExQ0g7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBdUNYLENBQUM7K0dBNUNXLHVCQUF1QixrQkF1QmQsZUFBZSw2SkFLZixxQkFBcUIsNkJBRWpDLHlCQUF5Qiw2QkFFdEIsVUFBVTttR0FoQ1YsdUJBQXVCLHMzQkMvRHBDLGlwRUEwREEsc3NGREZhO1lBQ1gsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDLENBQUM7U0FDRjs7NEZBRVcsdUJBQXVCO2tCQW5DbkMsU0FBUzsrQkFDQyxzQkFBc0IsVUFJeEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFlBQzNCLGdCQUFnQixRQUVwQjt3QkFDTCxLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QiwyQkFBMkIsRUFBRSxTQUFTO3dCQUN0QyxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELHFCQUFxQixFQUFFLHFCQUFxQjt3QkFDNUMsb0JBQW9CLEVBQUUsb0JBQW9CO3dCQUMxQyxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLHFFQUFxRTt3QkFDckUsaUJBQWlCLEVBQUUsTUFBTTt3QkFDekIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLHdGQUF3Rjt3QkFDeEYsNEZBQTRGO3dCQUM1RixtQ0FBbUM7d0JBQ25DLFNBQVMsRUFBRSxxQ0FBcUM7cUJBQ2hELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNYLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3JCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs0QkFDM0QsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDN0MsQ0FBQztxQkFDRjs7MEJBeUJDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBS2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFDeEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUVoQyxTQUFTOzJCQUFDLFVBQVU7eUNBM0J0QixLQUFLO3NCQURKLEtBQUs7Z0JBSVcsYUFBYTtzQkFBN0IsS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7O1FBU04sWUFBWTtRQUNaLGVBQWU7c0JBRmQsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuXHRBdHRyaWJ1dGUsXHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEhvc3RCaW5kaW5nLFxyXG5cdEluamVjdCxcclxuXHRJbnB1dCxcclxuXHRPcHRpb25hbCxcclxuXHRUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdE1hdFJhZGlvQnV0dG9uLFxyXG5cdE1hdFJhZGlvRGVmYXVsdE9wdGlvbnMsXHJcblx0TWF0UmFkaW9Hcm91cCxcclxuXHRNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TLFxyXG5cdE1BVF9SQURJT19HUk9VUFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgYGJ1aS1yYWRpby1wYW5lbC1pdGVtYCBpbnN0ZWFkIG9mIGBtYXQtcmFkaW8tYnV0dG9uYCBpbiBhIGBidWktcmFkaW8tcGFuZWxgIHRvIGRpc3BsYXkgYW4gb3B0aW9uLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxyXG5cdGlucHV0czogWydkaXNhYmxlUmlwcGxlJywgJ3RhYkluZGV4J10sXHJcblx0ZXhwb3J0QXM6ICdtYXRSYWRpb0J1dHRvbicsXHJcblx0Ly8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0XHQnW2NsYXNzLmJ1aS1yYWRpby1jaGVja2VkXSc6ICdjaGVja2VkJyxcclxuXHRcdCdbY2xhc3MuYnVpLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcblx0XHQnW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSc6ICdfbm9vcEFuaW1hdGlvbnMnLFxyXG5cdFx0J1tjbGFzcy5tYXQtcHJpbWFyeV0nOiAnY29sb3IgPT09IFwicHJpbWFyeVwiJyxcclxuXHRcdCdbY2xhc3MubWF0LWFjY2VudF0nOiAnY29sb3IgPT09IFwiYWNjZW50XCInLFxyXG5cdFx0J1tjbGFzcy5tYXQtd2Fybl0nOiAnY29sb3IgPT09IFwid2FyblwiJyxcclxuXHRcdC8vIE5lZWRzIHRvIGJlIHJlbW92ZWQgc2luY2UgaXQgY2F1c2VzIHNvbWUgYTExeSBpc3N1ZXMgKHNlZSAjMjEyNjYpLlxyXG5cdFx0J1thdHRyLnRhYmluZGV4XSc6ICdudWxsJyxcclxuXHRcdCdbYXR0ci5pZF0nOiAnaWQnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcblx0XHQnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXHJcblx0XHQvLyBOb3RlOiB1bmRlciBub3JtYWwgY29uZGl0aW9ucyBmb2N1cyBzaG91bGRuJ3QgbGFuZCBvbiB0aGlzIGVsZW1lbnQsIGhvd2V2ZXIgaXQgbWF5IGJlXHJcblx0XHQvLyBwcm9ncmFtbWF0aWNhbGx5IHNldCwgZm9yIGV4YW1wbGUgaW5zaWRlIG9mIGEgZm9jdXMgdHJhcCwgaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZm9yd2FyZFxyXG5cdFx0Ly8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cclxuXHRcdCcoZm9jdXMpJzogJ19pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpJ1xyXG5cdH0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRcdFx0c3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSksXHJcblx0XHRcdHRyYW5zaXRpb24oJzplbnRlciwgOmxlYXZlJywgYW5pbWF0ZSgnLjI1cycpKVxyXG5cdFx0XSlcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCBleHRlbmRzIE1hdFJhZGlvQnV0dG9uIHtcclxuXHQvKipcclxuXHQgKiBUaGlzIHdpbGwgYmUgZGlzcGxheWVkIGFzIHRoZSBwYW5lbCBoZWFkZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRpdGxlID0gJyc7XHJcblxyXG5cdC8qKiBUaGUgZGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgJ3RpY2snIGljb24gcmVsYXRpdmUgdG8gdGhlIHRpdGxlLiAqL1xyXG5cdEBJbnB1dCgpIHByaXZhdGUgX3RpY2tQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0aWNrUG9zaXRpb24oKTogJ3N0YXJ0JyB8ICdlbmQnIHtcclxuXHRcdHJldHVybiB0aGlzLl90aWNrUG9zaXRpb24gfHwgKHRoaXMucmFkaW9Hcm91cCBhcyBhbnkpPy50aWNrUG9zaXRpb247XHJcblx0fVxyXG5cdHNldCB0aWNrUG9zaXRpb24ocG9zOiAnc3RhcnQnIHwgJ2VuZCcpIHtcclxuXHRcdHRoaXMuX3RpY2tQb3NpdGlvbiA9IHBvcztcclxuXHR9XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoJ2NvbnRlbnRPblNlbGVjdCcpXHJcblx0Ly9AdHMtaWdub3JlXHJcblx0Y29udGVudE9uU2VsZWN0OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX1JBRElPX0dST1VQKSByYWRpb0dyb3VwOiBNYXRSYWRpb0dyb3VwLFxyXG5cdFx0ZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuXHRcdF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcblx0XHRfcmFkaW9EaXNwYXRjaGVyOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyLFxyXG5cdFx0QE9wdGlvbmFsKCkgQEluamVjdChBTklNQVRJT05fTU9EVUxFX1RZUEUpIGFuaW1hdGlvbk1vZGU/OiBzdHJpbmcsXHJcblx0XHRAT3B0aW9uYWwoKVxyXG5cdFx0QEluamVjdChNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TKVxyXG5cdFx0X3Byb3ZpZGVyT3ZlcnJpZGU/OiBNYXRSYWRpb0RlZmF1bHRPcHRpb25zLFxyXG5cdFx0QEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleD86IHN0cmluZ1xyXG5cdCkge1xyXG5cdFx0c3VwZXIoXHJcblx0XHRcdHJhZGlvR3JvdXAsXHJcblx0XHRcdGVsZW1lbnRSZWYsXHJcblx0XHRcdF9jaGFuZ2VEZXRlY3RvcixcclxuXHRcdFx0X2ZvY3VzTW9uaXRvcixcclxuXHRcdFx0X3JhZGlvRGlzcGF0Y2hlcixcclxuXHRcdFx0YW5pbWF0aW9uTW9kZSxcclxuXHRcdFx0X3Byb3ZpZGVyT3ZlcnJpZGUsXHJcblx0XHRcdHRhYkluZGV4XHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCI8bGFiZWxcblx0bWF0UmlwcGxlXG5cdG1hdFJpcHBsZUNvbG9yPVwicmdiYSgxMjgsMTI4LDEyOCwuMSlcIlxuXHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY2hlY2tlZFwiXG5cdFthdHRyLmZvcl09XCJpbnB1dElkXCJcblx0I2xhYmVsXG5cdGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0tbGFiZWwgYnVpLWJvcmRlci17eyBjaGVja2VkID8gY29sb3IgOiAnZGVmYXVsdCcgfX1cIlxuPlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0td3JhcHBlclwiIFtjbGFzcy5idWktcmFkaW8tdGljay1hdC1lbmRdPVwidGlja1Bvc2l0aW9uID09PSAnZW5kJ1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtaGVhZGVyXCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1sYWJlbC10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L3NwYW4+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpUmFkaW9JdGVtSGVhZGluZ0VuZF1cIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdGNsYXNzPVwiYnVpLXBlcnNpc3RlbnQtcmlwcGxlXCJcblx0XHRcdFx0XHRtYXRSaXBwbGVcblx0XHRcdFx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVVuYm91bmRlZF09XCJ0cnVlXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJsYWJlbFwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVJhZGl1c109XCIyMFwiXG5cdFx0XHRcdFx0Km5nSWY9XCIhZGlzYWJsZWRcIlxuXHRcdFx0XHQ+PC9zcGFuPlxuXHRcdFx0XHQ8bWF0LWljb24gW2NvbG9yXT1cImNvbG9yXCIgKm5nSWY9XCJjaGVja2VkXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cblx0XHRcdFx0PG1hdC1pY29uICpuZ0lmPVwiIWNoZWNrZWRcIiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZS11bmNoZWNrZWRcIj5yYWRpb19idXR0b25fdW5jaGVja2VkPC9tYXQtaWNvbj5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0XHQ8IS0tIFRoZSBhY3R1YWwgJ3JhZGlvJyBwYXJ0IG9mIHRoZSBjb250cm9sLiAtLT5cblx0XHQ8c3BhbiBjbGFzcz1cInJhZGlvLWNvbnRhaW5lclwiPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdCNpbnB1dFxuXHRcdFx0XHRjbGFzcz1cIm1hdC1yYWRpby1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcblx0XHRcdFx0dHlwZT1cInJhZGlvXCJcblx0XHRcdFx0W2lkXT1cImlucHV0SWRcIlxuXHRcdFx0XHRbY2hlY2tlZF09XCJjaGVja2VkXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0W3RhYkluZGV4XT1cInRhYkluZGV4XCJcblx0XHRcdFx0W2F0dHIubmFtZV09XCJuYW1lXCJcblx0XHRcdFx0W2F0dHIudmFsdWVdPVwidmFsdWVcIlxuXHRcdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcblx0XHRcdFx0KGNoYW5nZSk9XCJfb25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIlxuXHRcdFx0XHQoY2xpY2spPVwiX29uSW5wdXRDbGljaygkZXZlbnQpXCJcblx0XHRcdC8+XG5cdFx0PC9zcGFuPlxuXG5cdFx0PGRpdiBjbGFzcz1cImJ1aS1sYWJlbC1jb250ZW50LWdhcFwiPjwvZGl2PlxuXHRcdDwhLS0gVGhlIGxhYmVsIGNvbnRlbnQgZm9yIHJhZGlvIGNvbnRyb2wuIC0tPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiICpuZ0lmPVwiY29udGVudE9uU2VsZWN0ICYmIGNoZWNrZWRcIiBAc2xpZGVJbk91dD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T25TZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2xhYmVsPlxuIl19
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, ContentChildren, forwardRef, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { MAT_RADIO_GROUP, MatRadioGroup } from '@angular/material/radio';
|
|
4
|
+
import { RadioPanelItemComponent } from './radio-panel-item.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Radio panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor)
|
|
8
|
+
* that extends Angular Material's [radio group component](https://material.angular.io/components/radio/overview).
|
|
9
|
+
* It inherits all the features of `MatRadioGroup`, and arranges the child items in panels,
|
|
10
|
+
* with the `title` attributes rendered as captions. The check box icon and the borders will be displayed
|
|
11
|
+
* in the color selected by the theme attribute `color`.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export class RadioPanelComponent extends MatRadioGroup {
|
|
15
|
+
constructor(cd) {
|
|
16
|
+
super(cd);
|
|
17
|
+
/**
|
|
18
|
+
* @ignore
|
|
19
|
+
*/
|
|
20
|
+
this.classAttr = '';
|
|
21
|
+
/**
|
|
22
|
+
* The default width of each panel when the `direction` is `row`
|
|
23
|
+
*/
|
|
24
|
+
this.panelWidth = 300;
|
|
25
|
+
/** The flow direction of the radio panel items */
|
|
26
|
+
this.direction = 'row';
|
|
27
|
+
/** The default position of the 'tick' icon relative to the title. */
|
|
28
|
+
this.tickPosition = 'start';
|
|
29
|
+
}
|
|
30
|
+
/** @ignore */
|
|
31
|
+
ngOnChanges(changes) {
|
|
32
|
+
if (['color', 'tickPosition'].some(p => changes[p]) && this._radios) {
|
|
33
|
+
this._radios.forEach(item => item._markForCheck());
|
|
34
|
+
}
|
|
35
|
+
if (this.direction === 'row') {
|
|
36
|
+
this.classAttr = 'bui-radio-panel bui-host radio-dir-row';
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.classAttr = 'bui-radio-panel bui-host radio-dir-column';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "style.--bui-panel-width": "panelWidth +'px'", "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
|
|
44
|
+
{
|
|
45
|
+
provide: NG_VALUE_ACCESSOR,
|
|
46
|
+
useExisting: forwardRef(() => RadioPanelComponent),
|
|
47
|
+
multi: true
|
|
48
|
+
},
|
|
49
|
+
{ provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
|
|
50
|
+
], queries: [{ propertyName: "_radios", predicate: RadioPanelItemComponent, descendants: true }], exportAs: ["buiRadioPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioPanelComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'bui-radio-panel', exportAs: 'buiRadioPanel', providers: [
|
|
55
|
+
{
|
|
56
|
+
provide: NG_VALUE_ACCESSOR,
|
|
57
|
+
useExisting: forwardRef(() => RadioPanelComponent),
|
|
58
|
+
multi: true
|
|
59
|
+
},
|
|
60
|
+
{ provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
|
|
61
|
+
], host: {
|
|
62
|
+
role: 'radiogroup',
|
|
63
|
+
class: 'bui-radio-panel bui-host',
|
|
64
|
+
'[style.--bui-panel-width]': "panelWidth +'px'"
|
|
65
|
+
}, template: ` <ng-content></ng-content> `, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }]
|
|
66
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { classAttr: [{
|
|
67
|
+
type: HostBinding,
|
|
68
|
+
args: ['attr.class']
|
|
69
|
+
}], panelWidth: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], direction: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], color: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], tickPosition: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], _radios: [{
|
|
78
|
+
type: ContentChildren,
|
|
79
|
+
args: [RadioPanelItemComponent, { descendants: true }]
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvcmFkaW8tcGFuZWwvcmFkaW8tcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBQ3ZFOzs7Ozs7O0dBT0c7QUFzQkgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUE2QnJELFlBQVksRUFBcUI7UUFDaEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBN0JYOztXQUVHO1FBRUgsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUVILGVBQVUsR0FBRyxHQUFHLENBQUM7UUFFakIsa0RBQWtEO1FBRWxELGNBQVMsR0FBcUIsS0FBSyxDQUFDO1FBS3BDLHFFQUFxRTtRQUM1RCxpQkFBWSxHQUFvQixPQUFPLENBQUM7SUFVakQsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsd0NBQXdDLENBQUM7U0FDMUQ7YUFBTTtZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsMkNBQTJDLENBQUM7U0FDN0Q7SUFDRixDQUFDOytHQTVDVyxtQkFBbUI7bUdBQW5CLG1CQUFtQixpVkFqQnBCO1lBQ1Y7Z0JBQ0MsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWDtZQUNELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7U0FDaEYsa0RBb0NnQix1QkFBdUIseUhBN0I5Qiw2QkFBNkI7OzRGQUczQixtQkFBbUI7a0JBckIvQixTQUFTOytCQUVDLGlCQUFpQixZQUNqQixlQUFlLGFBQ2Q7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3dCQUNELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO3FCQUNoRixRQUVLO3dCQUNMLElBQUksRUFBRSxZQUFZO3dCQUNsQixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywyQkFBMkIsRUFBRSxrQkFBa0I7cUJBQy9DLFlBQ1MsNkJBQTZCO3NGQVF2QyxTQUFTO3NCQURSLFdBQVc7dUJBQUMsWUFBWTtnQkFPekIsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFNTixPQUFPO3NCQUROLGVBQWU7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdGZvcndhcmRSZWYsXHJcblx0SG9zdEJpbmRpbmcsXHJcblx0SW5wdXQsXHJcblx0T25DaGFuZ2VzLFxyXG5cdFF1ZXJ5TGlzdCxcclxuXHRTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTUFUX1JBRElPX0dST1VQLCBNYXRSYWRpb0dyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xyXG4vKipcclxuICogUmFkaW8gcGFuZWwgaXMgYSBbY29udHJvbCB2YWx1ZSBhY2Nlc3Nvcl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcilcclxuICogdGhhdCBleHRlbmRzIEFuZ3VsYXIgTWF0ZXJpYWwncyBbcmFkaW8gZ3JvdXAgY29tcG9uZW50XShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9yYWRpby9vdmVydmlldykuXHJcbiAqIEl0IGluaGVyaXRzIGFsbCB0aGUgZmVhdHVyZXMgb2YgYE1hdFJhZGlvR3JvdXBgLCBhbmQgYXJyYW5nZXMgdGhlIGNoaWxkIGl0ZW1zIGluIHBhbmVscyxcclxuICogd2l0aCB0aGUgYHRpdGxlYCBhdHRyaWJ1dGVzIHJlbmRlcmVkIGFzIGNhcHRpb25zLiBUaGUgY2hlY2sgYm94IGljb24gYW5kIHRoZSBib3JkZXJzIHdpbGwgYmUgZGlzcGxheWVkXHJcbiAqIGluIHRoZSBjb2xvciBzZWxlY3RlZCBieSB0aGUgdGhlbWUgYXR0cmlidXRlIGBjb2xvcmAuXHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxyXG5cdHNlbGVjdG9yOiAnYnVpLXJhZGlvLXBhbmVsJyxcclxuXHRleHBvcnRBczogJ2J1aVJhZGlvUGFuZWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9QYW5lbENvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9LFxyXG5cdFx0eyBwcm92aWRlOiBNQVRfUkFESU9fR1JPVVAsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvUGFuZWxDb21wb25lbnQpIH1cclxuXHRdLFxyXG5cdC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxyXG5cdGhvc3Q6IHtcclxuXHRcdHJvbGU6ICdyYWRpb2dyb3VwJyxcclxuXHRcdGNsYXNzOiAnYnVpLXJhZGlvLXBhbmVsIGJ1aS1ob3N0JyxcclxuXHRcdCdbc3R5bGUuLS1idWktcGFuZWwtd2lkdGhdJzogXCJwYW5lbFdpZHRoICsncHgnXCJcclxuXHR9LFxyXG5cdHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcclxuXHRzdHlsZVVybHM6IFsncmFkaW8tcGFuZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9QYW5lbENvbXBvbmVudCBleHRlbmRzIE1hdFJhZGlvR3JvdXAgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cdC8qKlxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKi9cclxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKVxyXG5cdGNsYXNzQXR0cjogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBkZWZhdWx0IHdpZHRoIG9mIGVhY2ggcGFuZWwgd2hlbiB0aGUgYGRpcmVjdGlvbmAgaXMgYHJvd2BcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHBhbmVsV2lkdGggPSAzMDA7XHJcblxyXG5cdC8qKiBUaGUgZmxvdyBkaXJlY3Rpb24gb2YgdGhlIHJhZGlvIHBhbmVsIGl0ZW1zICovXHJcblx0QElucHV0KClcclxuXHRkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAncm93JztcclxuXHJcblx0LyoqIFRoZW1lIGNvbG9yIGZvciBhbGwgb2YgdGhlIHJhZGlvIHBhbmVscyBpbiB0aGUgZ3JvdXAuICovXHJcblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcclxuXHJcblx0LyoqIFRoZSBkZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSAndGljaycgaWNvbiByZWxhdGl2ZSB0byB0aGUgdGl0bGUuICovXHJcblx0QElucHV0KCkgdGlja1Bvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xyXG5cclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0QENvbnRlbnRDaGlsZHJlbihSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG5cdF9yYWRpb3MhOiBRdWVyeUxpc3Q8UmFkaW9QYW5lbEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHN1cGVyKGNkKTtcclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0aWYgKFsnY29sb3InLCAndGlja1Bvc2l0aW9uJ10uc29tZShwID0+IGNoYW5nZXNbcF0pICYmIHRoaXMuX3JhZGlvcykge1xyXG5cdFx0XHR0aGlzLl9yYWRpb3MuZm9yRWFjaChpdGVtID0+IGl0ZW0uX21hcmtGb3JDaGVjaygpKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5kaXJlY3Rpb24gPT09ICdyb3cnKSB7XHJcblx0XHRcdHRoaXMuY2xhc3NBdHRyID0gJ2J1aS1yYWRpby1wYW5lbCBidWktaG9zdCByYWRpby1kaXItcm93JztcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2xhc3NBdHRyID0gJ2J1aS1yYWRpby1wYW5lbCBidWktaG9zdCByYWRpby1kaXItY29sdW1uJztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|