@bravura/ui 6.1.0 → 7.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 +11 -1
- package/README.md +58 -57
- package/alert/index.d.ts +126 -3
- package/alert/testing/index.d.ts +28 -5
- package/behavior/index.d.ts +231 -3
- package/clip-note/index.d.ts +125 -3
- package/common/index.d.ts +24 -3
- package/currency-input/index.d.ts +69 -3
- package/decimal-input/index.d.ts +39 -3
- package/discrete-input/index.d.ts +139 -3
- package/fesm2022/bravura-ui-alert.mjs +18 -21
- package/fesm2022/bravura-ui-alert.mjs.map +1 -1
- package/fesm2022/bravura-ui-behavior.mjs +18 -18
- package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2022/bravura-ui-clip-note.mjs +10 -10
- package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
- package/fesm2022/bravura-ui-common.mjs +5 -6
- package/fesm2022/bravura-ui-common.mjs.map +1 -1
- package/fesm2022/bravura-ui-currency-input.mjs +7 -7
- package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-decimal-input.mjs +7 -7
- package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-discrete-input.mjs +10 -11
- package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
- package/fesm2022/bravura-ui-file-upload.mjs +18 -18
- package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
- package/fesm2022/bravura-ui-form-field.mjs +10 -10
- package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
- package/fesm2022/bravura-ui-icon-font.mjs +7 -7
- package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
- package/fesm2022/bravura-ui-panel.mjs +16 -16
- package/fesm2022/bravura-ui-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-phone-number.mjs +13 -13
- package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
- package/fesm2022/bravura-ui-radio-panel.mjs +12 -14
- package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-selection-panel.mjs +11 -11
- package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
- package/fesm2022/bravura-ui-skeletons.mjs +10 -10
- package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
- package/fesm2022/bravura-ui-stepper.mjs +18 -18
- package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
- package/fesm2022/bravura-ui-tooltip.mjs +13 -13
- package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
- package/file-upload/index.d.ts +200 -3
- package/form-field/index.d.ts +49 -3
- package/icon-font/index.d.ts +79 -3
- package/index.d.ts +3 -5
- package/package.json +24 -24
- package/panel/index.d.ts +107 -3
- package/phone-number/index.d.ts +108 -3
- package/radio-panel/index.d.ts +71 -3
- package/radio-panel/testing/index.d.ts +32 -5
- package/selection-panel/index.d.ts +149 -3
- package/skeletons/index.d.ts +79 -3
- package/stepper/index.d.ts +106 -3
- package/tooltip/index.d.ts +83 -3
- package/alert/alert-container.component.d.ts +0 -71
- package/alert/alert-message.component.d.ts +0 -47
- package/alert/alert.module.d.ts +0 -14
- package/alert/public-api.d.ts +0 -1
- package/alert/testing/test-api.d.ts +0 -24
- package/behavior/await.directive.d.ts +0 -71
- package/behavior/behavior.module.d.ts +0 -17
- package/behavior/observe-content-class.directive.d.ts +0 -29
- package/behavior/public-api.d.ts +0 -5
- package/behavior/sizing-monitor.directive.d.ts +0 -23
- package/behavior/sizing.directive.d.ts +0 -98
- package/clip-note/clip-note.component.d.ts +0 -45
- package/clip-note/clip-note.directive.d.ts +0 -69
- package/clip-note/clip-note.module.d.ts +0 -19
- package/clip-note/public-api.d.ts +0 -1
- package/common/common-utils.d.ts +0 -11
- package/common/common.module.d.ts +0 -11
- package/common/public-api.d.ts +0 -2
- package/currency-input/currency-input.directive.d.ts +0 -62
- package/currency-input/currency-input.module.d.ts +0 -10
- package/currency-input/public-api.d.ts +0 -1
- package/decimal-input/decimal-input.directive.d.ts +0 -32
- package/decimal-input/decimal-input.module.d.ts +0 -10
- package/decimal-input/public-api.d.ts +0 -1
- package/discrete-input/discrete-input.component.d.ts +0 -128
- package/discrete-input/discrete-input.module.d.ts +0 -11
- package/discrete-input/public-api.d.ts +0 -2
- package/file-upload/file-upload.component.d.ts +0 -148
- package/file-upload/file-upload.module.d.ts +0 -14
- package/file-upload/file-upload.service.d.ts +0 -42
- package/file-upload/public-api.d.ts +0 -6
- package/form-field/form-field.component.d.ts +0 -39
- package/form-field/form-field.module.d.ts +0 -13
- package/form-field/public-api.d.ts +0 -2
- package/icon-font/icon-font.module.d.ts +0 -12
- package/icon-font/icon.directive.d.ts +0 -46
- package/icon-font/public-api.d.ts +0 -3
- package/icon-font/utilities.d.ts +0 -20
- package/panel/panel-section.component.d.ts +0 -15
- package/panel/panel.component.d.ts +0 -60
- package/panel/panel.module.d.ts +0 -16
- package/panel/public-api.d.ts +0 -1
- package/panel/tinted.directive.d.ts +0 -26
- package/phone-number/phone-number.directive.d.ts +0 -66
- package/phone-number/phone-number.module.d.ts +0 -17
- package/phone-number/phone-number.pipe.d.ts +0 -13
- package/phone-number/phone-number.validator.d.ts +0 -31
- package/phone-number/public-api.d.ts +0 -1
- package/public-api.d.ts +0 -1
- package/radio-panel/public-api.d.ts +0 -3
- package/radio-panel/radio-panel-item.component.d.ts +0 -22
- package/radio-panel/radio-panel.component.d.ts +0 -38
- package/radio-panel/radio-panel.module.d.ts +0 -15
- package/radio-panel/testing/test-api.d.ts +0 -27
- package/selection-panel/public-api.d.ts +0 -3
- package/selection-panel/selection-panel-item.component.d.ts +0 -77
- package/selection-panel/selection-panel.directive.d.ts +0 -67
- package/selection-panel/selection-panel.module.d.ts +0 -13
- package/skeletons/public-api.d.ts +0 -3
- package/skeletons/skeleton-loader-presets.directive.d.ts +0 -23
- package/skeletons/skeleton-loader.component.d.ts +0 -44
- package/skeletons/skeletons.module.d.ts +0 -16
- package/stepper/public-api.d.ts +0 -3
- package/stepper/step-label-top.directive.d.ts +0 -17
- package/stepper/stepper-animation.d.ts +0 -6
- package/stepper/stepper.component.d.ts +0 -75
- package/stepper/stepper.module.d.ts +0 -17
- package/tooltip/public-api.d.ts +0 -3
- package/tooltip/tooltip.component.d.ts +0 -26
- package/tooltip/tooltip.directive.d.ts +0 -48
- package/tooltip/tooltip.module.d.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\r\n\tChangeDetectionStrategy,\r\n\tComponent,\r\n\tDirective,\r\n\tElementRef,\r\n\tHost,\r\n\tInject,\r\n\tInjectionToken,\r\n\tInput,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatFormField } from '@angular/material/form-field';\r\n\r\nexport interface BuiFormFieldConfig {\r\n\tappearance?: 'fill' | 'outline' | 'bound';\r\n}\r\n\r\nexport const BUI_FORM_FIELD_CONFIG = new InjectionToken<BuiFormFieldConfig>('@bravura/ui/buiFormFieldConfig', {\r\n\tfactory: () => ({ appearance: 'fill' }),\r\n\tprovidedIn: 'root'\r\n});\r\n/**\r\n * Container for form controls that applies Material Design styling and behavior.\r\n *\r\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\r\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\r\n * is generally used with form controls that render their own borders.\r\n *\r\n * ** IMPORTANT NOTICE **\r\n *\r\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\r\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\r\n * component.\r\n */\r\n@Component({\r\n\tselector: 'bui-dummy-component',\r\n\ttemplate: ``,\r\n\tstyleUrls: ['./form-field.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class FormFieldComponent extends MatFormField {}\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Directive({\r\n\tselector: 'bui-form-field, mat-form-field',\r\n\thost: {\r\n\t\tclass: 'bui-host'\r\n\t},\r\n\tstandalone: false\r\n})\r\nexport class FormFieldStyleDirective {\r\n\tprivate _appearance: any;\r\n\tprivate _flowDetection: any;\r\n\r\n\t/** The form field appearance style. */\r\n\t@Input()\r\n\tget appearance(): any {\r\n\t\treturn this._appearance;\r\n\t}\r\n\tset appearance(value: any) {\r\n\t\tthis._appearance = value;\r\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\r\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\r\n\t\t\tthis.matFormField.appearance = 'outline';\r\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\r\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\r\n\t\t} else {\r\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\r\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\t@Host() private matFormField: MatFormField,\r\n\t\tprivate elemRef: ElementRef<HTMLElement>,\r\n\t\t@Inject(BUI_FORM_FIELD_CONFIG) config: BuiFormFieldConfig\r\n\t) {\r\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\r\n\t\tthis.appearance = config.appearance;\r\n\t}\r\n}\r\n\r\nconst matFormFieldRef: any = MatFormField.ɵcmp;\r\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\r\n\r\nmatFormFieldRef.styles.push(...formFieldRef.styles);\r\nmatFormFieldRef.selectors.push(['bui-form-field']);\r\ndelete matFormFieldRef.inputs.appearance;\r\ndelete matFormFieldRef.declaredInputs.appearance;\r\n","import { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport {\r\n\tBuiFormFieldConfig,\r\n\tBUI_FORM_FIELD_CONFIG,\r\n\tFormFieldComponent,\r\n\tFormFieldStyleDirective\r\n} from './form-field.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\r\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\r\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\r\n})\r\nexport class FormFieldModule {\r\n\tstatic forConfig(config: BuiFormFieldConfig): ModuleWithProviders<FormFieldModule> {\r\n\t\tconst cfg = { ...config };\r\n\t\tcfg.appearance = cfg.appearance || 'fill';\r\n\t\treturn {\r\n\t\t\tngModule: FormFieldModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: BUI_FORM_FIELD_CONFIG,\r\n\t\t\t\t\tuseValue: cfg\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bravura-ui-form-field.mjs","sources":["../../../projects/ui/form-field/form-field.component.ts","../../../projects/ui/form-field/form-field.module.ts","../../../projects/ui/form-field/bravura-ui-form-field.ts"],"sourcesContent":["import {\r\n\tChangeDetectionStrategy,\r\n\tComponent,\r\n\tDirective,\r\n\tElementRef,\r\n\tHost,\r\n\tInject,\r\n\tInjectionToken,\r\n\tInput,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatFormField } from '@angular/material/form-field';\r\n\r\nexport interface BuiFormFieldConfig {\r\n\tappearance?: 'fill' | 'outline' | 'bound';\r\n}\r\n\r\nexport const BUI_FORM_FIELD_CONFIG = new InjectionToken<BuiFormFieldConfig>('@bravura/ui/buiFormFieldConfig', {\r\n\tfactory: () => ({ appearance: 'fill' }),\r\n\tprovidedIn: 'root'\r\n});\r\n/**\r\n * Container for form controls that applies Material Design styling and behavior.\r\n *\r\n * This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances\r\n * `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`\r\n * is generally used with form controls that render their own borders.\r\n *\r\n * ** IMPORTANT NOTICE **\r\n *\r\n * From version 3.0 onward, the selector `bui-form-field` is deprecated and will be removed in later releases. You no longer need to use this tag name\r\n * for the new appearances. As long as you import the `NgModule` from this package, the new appearances will be supported by Material's `mat-form-field`\r\n * component.\r\n */\r\n@Component({\r\n\tselector: 'bui-dummy-component',\r\n\ttemplate: ``,\r\n\tstyleUrls: ['./form-field.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class FormFieldComponent extends MatFormField {}\r\n\r\n/**\r\n * @ignore\r\n */\r\n@Directive({\r\n\tselector: 'bui-form-field, mat-form-field',\r\n\thost: {\r\n\t\tclass: 'bui-host'\r\n\t},\r\n\tstandalone: false\r\n})\r\nexport class FormFieldStyleDirective {\r\n\tprivate _appearance: any;\r\n\tprivate _flowDetection: any;\r\n\r\n\t/** The form field appearance style. */\r\n\t@Input()\r\n\tget appearance(): any {\r\n\t\treturn this._appearance;\r\n\t}\r\n\tset appearance(value: any) {\r\n\t\tthis._appearance = value;\r\n\t\tthis.elemRef.nativeElement.classList.remove('bui-form-field-bound', 'bui-form-field-detach');\r\n\t\tif (['bound', 'detach'].includes(this._appearance)) {\r\n\t\t\tthis.matFormField.appearance = 'outline';\r\n\t\t\tthis.elemRef.nativeElement.classList.add(`bui-form-field-${value}`);\r\n\t\t\tthis.matFormField._shouldAlwaysFloat = () => true;\r\n\t\t} else {\r\n\t\t\tthis.matFormField.appearance = ['outline', 'fill'].includes(this._appearance) ? this._appearance : undefined;\r\n\t\t\tthis.matFormField._shouldAlwaysFloat = this._flowDetection;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\t@Host() private matFormField: MatFormField,\r\n\t\tprivate elemRef: ElementRef<HTMLElement>,\r\n\t\t@Inject(BUI_FORM_FIELD_CONFIG) config: BuiFormFieldConfig\r\n\t) {\r\n\t\tthis._flowDetection = matFormField._shouldAlwaysFloat;\r\n\t\tthis.appearance = config.appearance;\r\n\t}\r\n}\r\n\r\nconst matFormFieldRef: any = MatFormField.ɵcmp;\r\nconst formFieldRef: any = FormFieldComponent.ɵcmp;\r\n\r\nmatFormFieldRef.styles.push(...formFieldRef.styles);\r\nmatFormFieldRef.selectors.push(['bui-form-field']);\r\ndelete matFormFieldRef.inputs.appearance;\r\ndelete matFormFieldRef.declaredInputs.appearance;\r\n","import { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport {\r\n\tBuiFormFieldConfig,\r\n\tBUI_FORM_FIELD_CONFIG,\r\n\tFormFieldComponent,\r\n\tFormFieldStyleDirective\r\n} from './form-field.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [FormFieldComponent, FormFieldStyleDirective],\r\n\timports: [CommonModule, MatFormFieldModule, ObserversModule],\r\n\texports: [FormFieldComponent, FormFieldStyleDirective, MatFormFieldModule]\r\n})\r\nexport class FormFieldModule {\r\n\tstatic forConfig(config: BuiFormFieldConfig): ModuleWithProviders<FormFieldModule> {\r\n\t\tconst cfg = { ...config };\r\n\t\tcfg.appearance = cfg.appearance || 'fill';\r\n\t\treturn {\r\n\t\t\tngModule: FormFieldModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: BUI_FORM_FIELD_CONFIG,\r\n\t\t\t\t\tuseValue: cfg\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -137,10 +137,10 @@ class IconDirective {
|
|
|
137
137
|
element.style.width = `${this.size}px`;
|
|
138
138
|
element.style.height = `${this.size}px`;
|
|
139
139
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
141
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IconDirective, deps: [{ token: i1.MatIcon }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
141
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: IconDirective, isStandalone: false, selector: "[buiIcon]", inputs: { buiIcon: "buiIcon", size: "size", variant: "variant" }, usesOnChanges: true, ngImport: i0 }); }
|
|
142
142
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IconDirective, decorators: [{
|
|
144
144
|
type: Directive,
|
|
145
145
|
args: [{
|
|
146
146
|
selector: '[buiIcon]',
|
|
@@ -158,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
158
158
|
* Module for utility functions and directives based on `mat-icon` and icon fonts.
|
|
159
159
|
*/
|
|
160
160
|
class IconFontModule {
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
162
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
163
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IconFontModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
162
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: IconFontModule, declarations: [IconDirective], imports: [CommonModule, MatIconModule], exports: [MatIconModule, IconDirective] }); }
|
|
163
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IconFontModule, imports: [CommonModule, MatIconModule, MatIconModule] }); }
|
|
164
164
|
}
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IconFontModule, decorators: [{
|
|
166
166
|
type: NgModule,
|
|
167
167
|
args: [{
|
|
168
168
|
declarations: [IconDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-icon-font.mjs","sources":["../../../projects/ui/icon-font/utilities.ts","../../../projects/ui/icon-font/icon.directive.ts","../../../projects/ui/icon-font/icon-font.module.ts","../../../projects/ui/icon-font/bravura-ui-icon-font.ts"],"sourcesContent":["/**\r\n * @ignore\r\n */\r\nconst faReplacementMap: { [key: string]: string } = {\r\n\t'fa-shield': 'fa-shield-alt',\r\n\t'fa-line-chart': 'fa-chart-line'\r\n};\r\n\r\n/**\r\n * Decode the FontAwesome icon font set name from the icon name\r\n *\r\n * `'far fa-alarm' => 'far'`\r\n *\r\n * `'home' => ''`\r\n *\r\n * `'fa-user' => 'fas'`\r\n */\r\nexport function decodeFAIconFontSet(iconName: string): string {\r\n\tlet fontSet = '';\r\n\tlet isFA = false;\r\n\tif (iconName) {\r\n\t\ticonName.split(/\\s/).forEach(s => {\r\n\t\t\tif (s.startsWith('fa-')) {\r\n\t\t\t\tisFA = true;\r\n\t\t\t} else {\r\n\t\t\t\tfontSet = s;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tif (isFA) {\r\n\t\treturn fontSet || 'fas';\r\n\t}\r\n\r\n\treturn '';\r\n}\r\n\r\n/**\r\n * Decode the FontAwesome icon font name from the icon name\r\n *\r\n * `'far fa-alarm' => 'fa-alarm'`\r\n *\r\n * `'home' => ''`\r\n *\r\n * `'fa-user' => 'fa-user'`\r\n */\r\nexport function decodeFAIconFontName(iconName: string): string {\r\n\tif (iconName) {\r\n\t\tconst name = iconName.split(/\\s/).find(s => s && s.startsWith('fa-')) || '';\r\n\t\treturn faReplacementMap[name] || name;\r\n\t}\r\n\r\n\treturn '';\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\nimport { decodeFAIconFontName, decodeFAIconFontSet } from './utilities';\r\n\r\n/**\r\n * @ignore\r\n */\r\nconst BUI_ICON_CLASS = 'bui-font-awesome-icon';\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const BUI_ICON_MAT_VARIANTS = ['filled', 'outlined', 'round', 'two-tone', 'sharp'];\r\n\r\n/**\r\n * @ignore\r\n */\r\nfunction variantToClass(variant: string) {\r\n\treturn `material-icons-${variant}`.replace(/-filled$/, '');\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\nconst ALL_MAT_CLASSES = BUI_ICON_MAT_VARIANTS.map(variantToClass);\r\n\r\n/**\r\n * Use this directive, together with `<mat-icon>`, to display an icon font character/symbol\r\n * from Material or FontAwesome icons.\r\n *\r\n * To use the icon fonts, add the following statements to one of your global SCSS files:\r\n *\r\n * ```css\r\n * @import url(https://fonts.googleapis.com/css2?family=Material+Icons);\r\n * @import url(https://use.fontawesome.com/releases/v5.15.0/css/all.css);\r\n * ```\r\n *\r\n * @example <mat-icon buiIcon=\"far fa-circle\"></mat-icon> <!-- FontAwesome -->\r\n * @example <mat-icon buiIcon=\"home\" [size]=\"42\"></mat-icon> <!-- Material -->\r\n */\r\n@Directive({\r\n\tselector: '[buiIcon]',\r\n\tstandalone: false\r\n})\r\nexport class IconDirective implements OnChanges {\r\n\t/**\r\n\t * The icon name\r\n\t *\r\n\t * @example 'far fa-circle'\r\n\t * @example 'home'\r\n\t */\r\n\t@Input()\r\n\tbuiIcon = '';\r\n\r\n\t/**\r\n\t * Override the default icon size\r\n\t *\r\n\t * @default 24\r\n\t */\r\n\t@Input()\r\n\tsize = 24;\r\n\r\n\t/**\r\n\t * The style variant of Material Icons. It is not applicable for Font Awesome Icons or any other custom font icon sets.\r\n\t * @default `filled`\r\n\t */\r\n\t@Input()\r\n\tvariant: 'filled' | 'outlined' | 'round' | 'two-tone' | 'sharp' = 'filled';\r\n\r\n\tconstructor(private _icon: MatIcon) {\r\n\t\tif (!this._icon) {\r\n\t\t\tthrow new Error('Directive [buiIcon] must be used on a mat-icon!');\r\n\t\t}\r\n\t}\r\n\r\n\tngOnChanges(_: SimpleChanges) {\r\n\t\tconst iconFontSet = this.buiIcon && decodeFAIconFontSet(this.buiIcon);\r\n\t\tconst iconFontName = this.buiIcon && decodeFAIconFontName(this.buiIcon);\r\n\r\n\t\tconst element: HTMLElement = this._icon._elementRef.nativeElement;\r\n\t\tif (iconFontSet) {\r\n\t\t\tthis._icon.fontSet = iconFontSet;\r\n\t\t\tthis._icon.fontIcon = iconFontName;\r\n\t\t\telement.textContent = '';\r\n\t\t\telement.classList.add(BUI_ICON_CLASS);\r\n\t\t\telement.style.fontSize = `${(this.size * 20) / 24}px`;\r\n\t\t\tthis._icon['_updateFontIconClasses']();\r\n\t\t} else {\r\n\t\t\telement.textContent = this.buiIcon;\r\n\t\t\tthis._icon.fontSet = '';\r\n\t\t\tthis._icon.fontIcon = '';\r\n\t\t\telement.classList.remove(BUI_ICON_CLASS);\r\n\t\t\telement.style.fontSize = `${this.size}px`;\r\n\t\t\tthis._icon['_updateFontIconClasses']();\r\n\t\t\telement.classList.remove(...ALL_MAT_CLASSES);\r\n\t\t\telement.classList.add(variantToClass(this.variant));\r\n\t\t}\r\n\t\telement.style.width = `${this.size}px`;\r\n\t\telement.style.height = `${this.size}px`;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconDirective } from './icon.directive';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n/**\r\n * Module for utility functions and directives based on `mat-icon` and icon fonts.\r\n */\r\n@NgModule({\r\n\tdeclarations: [IconDirective],\r\n\timports: [CommonModule, MatIconModule],\r\n\texports: [MatIconModule, IconDirective]\r\n})\r\nexport class IconFontModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bravura-ui-icon-font.mjs","sources":["../../../projects/ui/icon-font/utilities.ts","../../../projects/ui/icon-font/icon.directive.ts","../../../projects/ui/icon-font/icon-font.module.ts","../../../projects/ui/icon-font/bravura-ui-icon-font.ts"],"sourcesContent":["/**\r\n * @ignore\r\n */\r\nconst faReplacementMap: { [key: string]: string } = {\r\n\t'fa-shield': 'fa-shield-alt',\r\n\t'fa-line-chart': 'fa-chart-line'\r\n};\r\n\r\n/**\r\n * Decode the FontAwesome icon font set name from the icon name\r\n *\r\n * `'far fa-alarm' => 'far'`\r\n *\r\n * `'home' => ''`\r\n *\r\n * `'fa-user' => 'fas'`\r\n */\r\nexport function decodeFAIconFontSet(iconName: string): string {\r\n\tlet fontSet = '';\r\n\tlet isFA = false;\r\n\tif (iconName) {\r\n\t\ticonName.split(/\\s/).forEach(s => {\r\n\t\t\tif (s.startsWith('fa-')) {\r\n\t\t\t\tisFA = true;\r\n\t\t\t} else {\r\n\t\t\t\tfontSet = s;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tif (isFA) {\r\n\t\treturn fontSet || 'fas';\r\n\t}\r\n\r\n\treturn '';\r\n}\r\n\r\n/**\r\n * Decode the FontAwesome icon font name from the icon name\r\n *\r\n * `'far fa-alarm' => 'fa-alarm'`\r\n *\r\n * `'home' => ''`\r\n *\r\n * `'fa-user' => 'fa-user'`\r\n */\r\nexport function decodeFAIconFontName(iconName: string): string {\r\n\tif (iconName) {\r\n\t\tconst name = iconName.split(/\\s/).find(s => s && s.startsWith('fa-')) || '';\r\n\t\treturn faReplacementMap[name] || name;\r\n\t}\r\n\r\n\treturn '';\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\nimport { decodeFAIconFontName, decodeFAIconFontSet } from './utilities';\r\n\r\n/**\r\n * @ignore\r\n */\r\nconst BUI_ICON_CLASS = 'bui-font-awesome-icon';\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const BUI_ICON_MAT_VARIANTS = ['filled', 'outlined', 'round', 'two-tone', 'sharp'];\r\n\r\n/**\r\n * @ignore\r\n */\r\nfunction variantToClass(variant: string) {\r\n\treturn `material-icons-${variant}`.replace(/-filled$/, '');\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\nconst ALL_MAT_CLASSES = BUI_ICON_MAT_VARIANTS.map(variantToClass);\r\n\r\n/**\r\n * Use this directive, together with `<mat-icon>`, to display an icon font character/symbol\r\n * from Material or FontAwesome icons.\r\n *\r\n * To use the icon fonts, add the following statements to one of your global SCSS files:\r\n *\r\n * ```css\r\n * @import url(https://fonts.googleapis.com/css2?family=Material+Icons);\r\n * @import url(https://use.fontawesome.com/releases/v5.15.0/css/all.css);\r\n * ```\r\n *\r\n * @example <mat-icon buiIcon=\"far fa-circle\"></mat-icon> <!-- FontAwesome -->\r\n * @example <mat-icon buiIcon=\"home\" [size]=\"42\"></mat-icon> <!-- Material -->\r\n */\r\n@Directive({\r\n\tselector: '[buiIcon]',\r\n\tstandalone: false\r\n})\r\nexport class IconDirective implements OnChanges {\r\n\t/**\r\n\t * The icon name\r\n\t *\r\n\t * @example 'far fa-circle'\r\n\t * @example 'home'\r\n\t */\r\n\t@Input()\r\n\tbuiIcon = '';\r\n\r\n\t/**\r\n\t * Override the default icon size\r\n\t *\r\n\t * @default 24\r\n\t */\r\n\t@Input()\r\n\tsize = 24;\r\n\r\n\t/**\r\n\t * The style variant of Material Icons. It is not applicable for Font Awesome Icons or any other custom font icon sets.\r\n\t * @default `filled`\r\n\t */\r\n\t@Input()\r\n\tvariant: 'filled' | 'outlined' | 'round' | 'two-tone' | 'sharp' = 'filled';\r\n\r\n\tconstructor(private _icon: MatIcon) {\r\n\t\tif (!this._icon) {\r\n\t\t\tthrow new Error('Directive [buiIcon] must be used on a mat-icon!');\r\n\t\t}\r\n\t}\r\n\r\n\tngOnChanges(_: SimpleChanges) {\r\n\t\tconst iconFontSet = this.buiIcon && decodeFAIconFontSet(this.buiIcon);\r\n\t\tconst iconFontName = this.buiIcon && decodeFAIconFontName(this.buiIcon);\r\n\r\n\t\tconst element: HTMLElement = this._icon._elementRef.nativeElement;\r\n\t\tif (iconFontSet) {\r\n\t\t\tthis._icon.fontSet = iconFontSet;\r\n\t\t\tthis._icon.fontIcon = iconFontName;\r\n\t\t\telement.textContent = '';\r\n\t\t\telement.classList.add(BUI_ICON_CLASS);\r\n\t\t\telement.style.fontSize = `${(this.size * 20) / 24}px`;\r\n\t\t\tthis._icon['_updateFontIconClasses']();\r\n\t\t} else {\r\n\t\t\telement.textContent = this.buiIcon;\r\n\t\t\tthis._icon.fontSet = '';\r\n\t\t\tthis._icon.fontIcon = '';\r\n\t\t\telement.classList.remove(BUI_ICON_CLASS);\r\n\t\t\telement.style.fontSize = `${this.size}px`;\r\n\t\t\tthis._icon['_updateFontIconClasses']();\r\n\t\t\telement.classList.remove(...ALL_MAT_CLASSES);\r\n\t\t\telement.classList.add(variantToClass(this.variant));\r\n\t\t}\r\n\t\telement.style.width = `${this.size}px`;\r\n\t\telement.style.height = `${this.size}px`;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconDirective } from './icon.directive';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n/**\r\n * Module for utility functions and directives based on `mat-icon` and icon fonts.\r\n */\r\n@NgModule({\r\n\tdeclarations: [IconDirective],\r\n\timports: [CommonModule, MatIconModule],\r\n\texports: [MatIconModule, IconDirective]\r\n})\r\nexport class IconFontModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Input, Inject, Directive, Host, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { DOCUMENT, Input, Inject, Directive, Host, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { generateID } from '@bravura/ui/common';
|
|
5
5
|
import * as i2 from '@angular/material/card';
|
|
6
6
|
import { MatCardModule } from '@angular/material/card';
|
|
@@ -45,10 +45,10 @@ class TintedDirective {
|
|
|
45
45
|
` background-color: var(--bui-color-${this.color}); top: 0; left: 0; ` +
|
|
46
46
|
` bottom: 0; right: 0; pointer-events: none; }`;
|
|
47
47
|
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
49
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TintedDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TintedDirective, isStandalone: false, selector: "[buiTinted], bui-panel", inputs: { color: ["buiTinted", "color"] }, host: { classAttribute: "bui-host" }, exportAs: ["buiTinted"], ngImport: i0 }); }
|
|
50
50
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TintedDirective, decorators: [{
|
|
52
52
|
type: Directive,
|
|
53
53
|
args: [{
|
|
54
54
|
selector: '[buiTinted], bui-panel',
|
|
@@ -122,16 +122,16 @@ class PanelComponent {
|
|
|
122
122
|
this._width = width;
|
|
123
123
|
this._cd.markForCheck();
|
|
124
124
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TintedDirective, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
126
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PanelComponent, isStandalone: false, selector: "bui-panel", inputs: { backdropClass: "backdropClass", cardClass: "cardClass", color: "color", appearance: "appearance", breakpoint: "breakpoint" }, host: { properties: { "class.bui-panel-vertical": "_width < breakpoint", "class.bui-panel-horizontal": "_width >= breakpoint" }, classAttribute: "bui-panel bui-host" }, ngImport: i0, template: "<mat-card\r\n\t[buiSizingBy]=\"'parent'\"\r\n\t(buiResized)=\"_resized($event.width)\"\r\n\t[appearance]=\"appearance === 'flat' ? 'raised' : appearance\"\r\n\tclass=\"bui-border-{{ color || 'none' }} {{ cardClass }} {{\r\n\t\tappearance === 'flat' ? 'mat-elevation-z' : appearance === 'outlined' ? 'mat-elevation-z bui-panel-border' : ''\r\n\t}}\"\r\n>\r\n\t<ng-content></ng-content>\r\n</mat-card>\r\n", styles: [":host{border-radius:var(--mat-card-elevated-container-shape, var(--mat-shape-medium, 4px));position:relative}:host .bui-panel-border{border-width:1px;border-style:solid}:host ::ng-deep .bui-panel-section-container{display:flex;box-sizing:border-box!important}:host(:not([hidden])){display:block}:host(:not([hidden])) .mat-mdc-card{background-color:transparent;padding:16px}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-header,:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-content,:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-actions{padding:0}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-actions{margin-inline-start:-10px}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-footer{margin:0 -16px -16px}:host(:not([hidden])) .mat-mdc-card.mat-elevation-z{box-shadow:none!important}:host(.bui-panel-horizontal) ::ng-deep .bui-panel-section-container{flex-direction:row}:host(.bui-panel-vertical) ::ng-deep .bui-panel-section-container{flex-direction:column}\n"], dependencies: [{ kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: ["buiSizing", "sizingBy", "buiSizingBy", "buiFixedHeight"], outputs: ["buiResized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
127
127
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
130
130
|
args: [{ selector: 'bui-panel', host: {
|
|
131
131
|
class: 'bui-panel bui-host',
|
|
132
132
|
'[class.bui-panel-vertical]': `_width < breakpoint`,
|
|
133
133
|
'[class.bui-panel-horizontal]': `_width >= breakpoint`
|
|
134
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-card\r\n\t[buiSizingBy]=\"'parent'\"\r\n\t(buiResized)=\"_resized($event.width)\"\r\n\t[appearance]=\"appearance === 'flat' ? 'raised' : appearance\"\r\n\tclass=\"bui-border-{{ color || 'none' }} {{ cardClass }} {{\r\n\t\tappearance === 'flat' ? 'mat-elevation-z' : appearance === 'outlined' ? 'mat-elevation-z bui-panel-border' : ''\r\n\t}}\"\r\n>\r\n\t<ng-content></ng-content>\r\n</mat-card>\r\n", styles: [":host{border-radius:var(--
|
|
134
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-card\r\n\t[buiSizingBy]=\"'parent'\"\r\n\t(buiResized)=\"_resized($event.width)\"\r\n\t[appearance]=\"appearance === 'flat' ? 'raised' : appearance\"\r\n\tclass=\"bui-border-{{ color || 'none' }} {{ cardClass }} {{\r\n\t\tappearance === 'flat' ? 'mat-elevation-z' : appearance === 'outlined' ? 'mat-elevation-z bui-panel-border' : ''\r\n\t}}\"\r\n>\r\n\t<ng-content></ng-content>\r\n</mat-card>\r\n", styles: [":host{border-radius:var(--mat-card-elevated-container-shape, var(--mat-shape-medium, 4px));position:relative}:host .bui-panel-border{border-width:1px;border-style:solid}:host ::ng-deep .bui-panel-section-container{display:flex;box-sizing:border-box!important}:host(:not([hidden])){display:block}:host(:not([hidden])) .mat-mdc-card{background-color:transparent;padding:16px}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-header,:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-content,:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-actions{padding:0}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-actions{margin-inline-start:-10px}:host(:not([hidden])) .mat-mdc-card ::ng-deep .mat-mdc-card-footer{margin:0 -16px -16px}:host(:not([hidden])) .mat-mdc-card.mat-elevation-z{box-shadow:none!important}:host(.bui-panel-horizontal) ::ng-deep .bui-panel-section-container{flex-direction:row}:host(.bui-panel-vertical) ::ng-deep .bui-panel-section-container{flex-direction:column}\n"] }]
|
|
135
135
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TintedDirective, decorators: [{
|
|
136
136
|
type: Host
|
|
137
137
|
}] }], propDecorators: { backdropClass: [{
|
|
@@ -175,10 +175,10 @@ class PanelSectionComponent {
|
|
|
175
175
|
this._parentElement.setAttribute(COUNT_ATTR, count);
|
|
176
176
|
this._parentElement.classList.add(`${CONTAINER_PREFIX}-${count}`);
|
|
177
177
|
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelSectionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: PanelSectionComponent, isStandalone: false, selector: "bui-panel-section", host: { classAttribute: "bui-panel-section" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{flex-grow:1}:host-context(.bui-panel-horizontal) :host:not(:first-child){border-inline-start:1px solid rgba(128,128,128,.2);padding-inline-start:16px}:host-context(.bui-panel-horizontal) :host:not(:last-child){padding-inline-end:16px}:host-context(.bui-panel-vertical) :host:not(:first-child){border-top:1px solid rgba(128,128,128,.2);padding-top:16px}:host-context(.bui-panel-vertical) :host:not(:last-child){padding-bottom:16px}:host-context(.bui-panel-horizontal .bui-panel-section-container-2){flex-basis:50%}:host-context(.bui-panel-horizontal .bui-panel-section-container-3){flex-basis:33.3333333333%}:host-context(.bui-panel-horizontal .bui-panel-section-container-4){flex-basis:25%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
180
180
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelSectionComponent, decorators: [{
|
|
182
182
|
type: Component,
|
|
183
183
|
args: [{ selector: 'bui-panel-section', host: {
|
|
184
184
|
class: 'bui-panel-section'
|
|
@@ -186,11 +186,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
186
186
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
187
187
|
|
|
188
188
|
class PanelModule {
|
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
190
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
191
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
190
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: PanelModule, declarations: [PanelComponent, PanelSectionComponent, TintedDirective], imports: [CommonModule, MatCardModule, BehaviorModule], exports: [MatCardModule, PanelComponent, PanelSectionComponent, TintedDirective] }); }
|
|
191
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelModule, imports: [CommonModule, MatCardModule, BehaviorModule, MatCardModule] }); }
|
|
192
192
|
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PanelModule, decorators: [{
|
|
194
194
|
type: NgModule,
|
|
195
195
|
args: [{
|
|
196
196
|
declarations: [PanelComponent, PanelSectionComponent, TintedDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-panel.mjs","sources":["../../../projects/ui/panel/tinted.directive.ts","../../../projects/ui/panel/panel.component.ts","../../../projects/ui/panel/panel.component.html","../../../projects/ui/panel/panel-section.component.ts","../../../projects/ui/panel/panel-section.component.html","../../../projects/ui/panel/panel.module.ts","../../../projects/ui/panel/bravura-ui-panel.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { generateID } from '@bravura/ui/common';\r\n\r\n/**\r\n * A \"tinted\" element has a shaded background specified by the `ThemePalette`, which\r\n * is compatible with both light and dark themes.\r\n */\r\n@Directive({\r\n\tselector: '[buiTinted], bui-panel',\r\n\thost: { class: 'bui-host' },\r\n\texportAs: 'buiTinted',\r\n\tstandalone: false\r\n})\r\nexport class TintedDirective implements OnInit, OnDestroy {\r\n\t/**\r\n\t * The base color of the shaded background\r\n\t * @default 'primary'\r\n\t */\r\n\t@Input('buiTinted')\r\n\tget color(): ThemePalette {\r\n\t\treturn this._color;\r\n\t}\r\n\tset color(c: ThemePalette) {\r\n\t\tthis._color = c;\r\n\t\tthis.generateStyle();\r\n\t}\r\n\r\n\tprivate _color: any = 'default';\r\n\r\n\tprivate readonly _addedStyle: HTMLStyleElement;\r\n\tprivate readonly _attr: string;\r\n\tprivate _element: HTMLElement;\r\n\r\n\tconstructor(\r\n\t\t@Inject(DOCUMENT) private _doc: Document,\r\n\t\telemRef: ElementRef<HTMLElement>\r\n\t) {\r\n\t\tthis._addedStyle = this._doc.createElement('style');\r\n\t\tthis._attr = 'bui-tinted-' + generateID();\r\n\t\tthis._element = elemRef.nativeElement;\r\n\t\telemRef.nativeElement.setAttribute(this._attr, '');\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._element.style.position = 'relative';\r\n\t\tthis.generateStyle();\r\n\t\tthis._element.appendChild(this._addedStyle);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._element.removeChild(this._addedStyle);\r\n\t}\r\n\r\n\tprivate generateStyle(): void {\r\n\t\tthis._addedStyle.innerText =\r\n\t\t\t`[${this._attr}]::after { position: absolute; opacity: 0.1; border-radius: inherit; display: block; content: ''; ` +\r\n\t\t\t` background-color: var(--bui-color-${this.color}); top: 0; left: 0; ` +\r\n\t\t\t` bottom: 0; right: 0; pointer-events: none; }`;\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, Input, OnInit } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { TintedDirective } from './tinted.directive';\r\n\r\n/**\r\n * A `bui-panel` consists of a `mat-card` and a tinted backdrop.\r\n *\r\n * Unlike `mat-card`, `bui-panel` has a flat appearance by default and a transparent background.\r\n * The backdrop is nearly transparent, blending the theme palette `color`\r\n * and the effective background color of the DOM ancestors.\r\n *\r\n * `bui-panel` supports all the content child directives of `mat-card` as well as `bui-panel-section`.\r\n *\r\n * `bui-panel-section`s are subdivisions of `bui-panel` that rearrange their orientation based on the width of the container element.\r\n *\r\n */\r\n@Component({\r\n\tselector: 'bui-panel',\r\n\ttemplateUrl: './panel.component.html',\r\n\tstyleUrls: ['./panel.component.scss'],\r\n\thost: {\r\n\t\tclass: 'bui-panel bui-host',\r\n\t\t'[class.bui-panel-vertical]': `_width < breakpoint`,\r\n\t\t'[class.bui-panel-horizontal]': `_width >= breakpoint`\r\n\t},\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class PanelComponent implements OnInit {\r\n\t/**\r\n\t * Additional style classes on the tinted backdrop element.\r\n\t * @deprecated\r\n\t * @ignore\r\n\t */\r\n\t@Input()\r\n\tbackdropClass?: string;\r\n\r\n\t/**\r\n\t * Additional style classes on the `<mat-card>` element.\r\n\t */\r\n\t@Input()\r\n\tcardClass?: string;\r\n\r\n\t/**\r\n\t * This property defines the background (shaded) and border colors of the panel\r\n\t */\r\n\t@Input()\r\n\tget color(): ThemePalette {\r\n\t\treturn this._color;\r\n\t}\r\n\tset color(value: ThemePalette) {\r\n\t\tthis._color = value;\r\n\t\tthis._tinted.color = value;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t/**\r\n\t * In contrast to using a `mat-card` alone, a `bui-panel` does not have a elevated appearance by default.\r\n\t *\r\n\t * This property can change the default appearance to\r\n\t *\r\n\t * * `raised` - the original `mat-card` default\r\n\t * * `outline` - a `mat-card` with borders\r\n\t * * `flat` - no border or elevation\r\n\t */\r\n\t@Input()\r\n\tget appearance(): 'outlined' | 'raised' | 'flat' {\r\n\t\treturn this._appearance;\r\n\t}\r\n\tset appearance(value: 'outlined' | 'raised' | 'flat') {\r\n\t\tthis._appearance = value;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t/**\r\n\t * The width of the host element, at which the panel section container will change its orientation.\r\n\t */\r\n\t@Input()\r\n\tbreakpoint = 600;\r\n\r\n\t/** @ignore */\r\n\t_width = 600;\r\n\r\n\tprivate _color: ThemePalette = 'primary';\r\n\r\n\tprivate _appearance: 'outlined' | 'raised' | 'flat' = 'flat';\r\n\r\n\tconstructor(\r\n\t\tprivate _cd: ChangeDetectorRef,\r\n\t\t@Host() private _tinted: TintedDirective\r\n\t) {}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\t/** @ignore */\r\n\t_resized(width: number): void {\r\n\t\tthis._width = width;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n}\r\n","<mat-card\r\n\t[buiSizingBy]=\"'parent'\"\r\n\t(buiResized)=\"_resized($event.width)\"\r\n\t[appearance]=\"appearance === 'flat' ? 'raised' : appearance\"\r\n\tclass=\"bui-border-{{ color || 'none' }} {{ cardClass }} {{\r\n\t\tappearance === 'flat' ? 'mat-elevation-z' : appearance === 'outlined' ? 'mat-elevation-z bui-panel-border' : ''\r\n\t}}\"\r\n>\r\n\t<ng-content></ng-content>\r\n</mat-card>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\n\r\nconst CONTAINER_PREFIX = 'bui-panel-section-container';\r\n\r\nconst COUNT_ATTR = 'bui-section-count';\r\n/**\r\n * `bui-panel-section`s are subdivisions of `bui-panel` that rearrange their orientation based on the width of the container element.\r\n */\r\n@Component({\r\n\tselector: 'bui-panel-section',\r\n\ttemplateUrl: './panel-section.component.html',\r\n\tstyleUrls: ['./panel-section.component.scss'],\r\n\thost: {\r\n\t\tclass: 'bui-panel-section'\r\n\t},\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class PanelSectionComponent implements OnInit, OnDestroy {\r\n\tprivate _parentElement!: HTMLElement;\r\n\r\n\tconstructor(private _elementRef: ElementRef<HTMLElement>) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._parentElement = this._elementRef.nativeElement.parentElement!;\r\n\t\tthis._parentElement.classList.add(CONTAINER_PREFIX);\r\n\t\tthis._calcCount(1);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._calcCount(-1);\r\n\t}\r\n\r\n\tprivate _calcCount(delta: number) {\r\n\t\tlet count = this._parentElement.getAttribute(COUNT_ATTR);\r\n\t\tif (count) {\r\n\t\t\tthis._parentElement.classList.remove(`${CONTAINER_PREFIX}-${count}`);\r\n\t\t} else {\r\n\t\t\tcount = '0';\r\n\t\t}\r\n\t\tcount = `${Math.max(Number(count) + delta, 0)}`;\r\n\t\tthis._parentElement.setAttribute(COUNT_ATTR, count);\r\n\t\tthis._parentElement.classList.add(`${CONTAINER_PREFIX}-${count}`);\r\n\t}\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PanelComponent } from './panel.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { BehaviorModule } from '@bravura/ui/behavior';\r\nimport { PanelSectionComponent } from './panel-section.component';\r\nimport { TintedDirective } from './tinted.directive';\r\n\r\n@NgModule({\r\n\tdeclarations: [PanelComponent, PanelSectionComponent, TintedDirective],\r\n\timports: [CommonModule, MatCardModule, BehaviorModule],\r\n\texports: [MatCardModule, PanelComponent, PanelSectionComponent, TintedDirective]\r\n})\r\nexport class PanelModule {}\r\n\r\nexport { PanelComponent, PanelSectionComponent, TintedDirective };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TintedDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-panel.mjs","sources":["../../../projects/ui/panel/tinted.directive.ts","../../../projects/ui/panel/panel.component.ts","../../../projects/ui/panel/panel.component.html","../../../projects/ui/panel/panel-section.component.ts","../../../projects/ui/panel/panel-section.component.html","../../../projects/ui/panel/panel.module.ts","../../../projects/ui/panel/bravura-ui-panel.ts"],"sourcesContent":["import { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, DOCUMENT } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { generateID } from '@bravura/ui/common';\n\n/**\n * A \"tinted\" element has a shaded background specified by the `ThemePalette`, which\n * is compatible with both light and dark themes.\n */\n@Directive({\n\tselector: '[buiTinted], bui-panel',\n\thost: { class: 'bui-host' },\n\texportAs: 'buiTinted',\n\tstandalone: false\n})\nexport class TintedDirective implements OnInit, OnDestroy {\n\t/**\n\t * The base color of the shaded background\n\t * @default 'primary'\n\t */\n\t@Input('buiTinted')\n\tget color(): ThemePalette {\n\t\treturn this._color;\n\t}\n\tset color(c: ThemePalette) {\n\t\tthis._color = c;\n\t\tthis.generateStyle();\n\t}\n\n\tprivate _color: any = 'default';\n\n\tprivate readonly _addedStyle: HTMLStyleElement;\n\tprivate readonly _attr: string;\n\tprivate _element: HTMLElement;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\telemRef: ElementRef<HTMLElement>\n\t) {\n\t\tthis._addedStyle = this._doc.createElement('style');\n\t\tthis._attr = 'bui-tinted-' + generateID();\n\t\tthis._element = elemRef.nativeElement;\n\t\telemRef.nativeElement.setAttribute(this._attr, '');\n\t}\n\n\tngOnInit(): void {\n\t\tthis._element.style.position = 'relative';\n\t\tthis.generateStyle();\n\t\tthis._element.appendChild(this._addedStyle);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._element.removeChild(this._addedStyle);\n\t}\n\n\tprivate generateStyle(): void {\n\t\tthis._addedStyle.innerText =\n\t\t\t`[${this._attr}]::after { position: absolute; opacity: 0.1; border-radius: inherit; display: block; content: ''; ` +\n\t\t\t` background-color: var(--bui-color-${this.color}); top: 0; left: 0; ` +\n\t\t\t` bottom: 0; right: 0; pointer-events: none; }`;\n\t}\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, Input, OnInit } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { TintedDirective } from './tinted.directive';\r\n\r\n/**\r\n * A `bui-panel` consists of a `mat-card` and a tinted backdrop.\r\n *\r\n * Unlike `mat-card`, `bui-panel` has a flat appearance by default and a transparent background.\r\n * The backdrop is nearly transparent, blending the theme palette `color`\r\n * and the effective background color of the DOM ancestors.\r\n *\r\n * `bui-panel` supports all the content child directives of `mat-card` as well as `bui-panel-section`.\r\n *\r\n * `bui-panel-section`s are subdivisions of `bui-panel` that rearrange their orientation based on the width of the container element.\r\n *\r\n */\r\n@Component({\r\n\tselector: 'bui-panel',\r\n\ttemplateUrl: './panel.component.html',\r\n\tstyleUrls: ['./panel.component.scss'],\r\n\thost: {\r\n\t\tclass: 'bui-panel bui-host',\r\n\t\t'[class.bui-panel-vertical]': `_width < breakpoint`,\r\n\t\t'[class.bui-panel-horizontal]': `_width >= breakpoint`\r\n\t},\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class PanelComponent implements OnInit {\r\n\t/**\r\n\t * Additional style classes on the tinted backdrop element.\r\n\t * @deprecated\r\n\t * @ignore\r\n\t */\r\n\t@Input()\r\n\tbackdropClass?: string;\r\n\r\n\t/**\r\n\t * Additional style classes on the `<mat-card>` element.\r\n\t */\r\n\t@Input()\r\n\tcardClass?: string;\r\n\r\n\t/**\r\n\t * This property defines the background (shaded) and border colors of the panel\r\n\t */\r\n\t@Input()\r\n\tget color(): ThemePalette {\r\n\t\treturn this._color;\r\n\t}\r\n\tset color(value: ThemePalette) {\r\n\t\tthis._color = value;\r\n\t\tthis._tinted.color = value;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t/**\r\n\t * In contrast to using a `mat-card` alone, a `bui-panel` does not have a elevated appearance by default.\r\n\t *\r\n\t * This property can change the default appearance to\r\n\t *\r\n\t * * `raised` - the original `mat-card` default\r\n\t * * `outline` - a `mat-card` with borders\r\n\t * * `flat` - no border or elevation\r\n\t */\r\n\t@Input()\r\n\tget appearance(): 'outlined' | 'raised' | 'flat' {\r\n\t\treturn this._appearance;\r\n\t}\r\n\tset appearance(value: 'outlined' | 'raised' | 'flat') {\r\n\t\tthis._appearance = value;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t/**\r\n\t * The width of the host element, at which the panel section container will change its orientation.\r\n\t */\r\n\t@Input()\r\n\tbreakpoint = 600;\r\n\r\n\t/** @ignore */\r\n\t_width = 600;\r\n\r\n\tprivate _color: ThemePalette = 'primary';\r\n\r\n\tprivate _appearance: 'outlined' | 'raised' | 'flat' = 'flat';\r\n\r\n\tconstructor(\r\n\t\tprivate _cd: ChangeDetectorRef,\r\n\t\t@Host() private _tinted: TintedDirective\r\n\t) {}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\t/** @ignore */\r\n\t_resized(width: number): void {\r\n\t\tthis._width = width;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n}\r\n","<mat-card\r\n\t[buiSizingBy]=\"'parent'\"\r\n\t(buiResized)=\"_resized($event.width)\"\r\n\t[appearance]=\"appearance === 'flat' ? 'raised' : appearance\"\r\n\tclass=\"bui-border-{{ color || 'none' }} {{ cardClass }} {{\r\n\t\tappearance === 'flat' ? 'mat-elevation-z' : appearance === 'outlined' ? 'mat-elevation-z bui-panel-border' : ''\r\n\t}}\"\r\n>\r\n\t<ng-content></ng-content>\r\n</mat-card>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\n\r\nconst CONTAINER_PREFIX = 'bui-panel-section-container';\r\n\r\nconst COUNT_ATTR = 'bui-section-count';\r\n/**\r\n * `bui-panel-section`s are subdivisions of `bui-panel` that rearrange their orientation based on the width of the container element.\r\n */\r\n@Component({\r\n\tselector: 'bui-panel-section',\r\n\ttemplateUrl: './panel-section.component.html',\r\n\tstyleUrls: ['./panel-section.component.scss'],\r\n\thost: {\r\n\t\tclass: 'bui-panel-section'\r\n\t},\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class PanelSectionComponent implements OnInit, OnDestroy {\r\n\tprivate _parentElement!: HTMLElement;\r\n\r\n\tconstructor(private _elementRef: ElementRef<HTMLElement>) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._parentElement = this._elementRef.nativeElement.parentElement!;\r\n\t\tthis._parentElement.classList.add(CONTAINER_PREFIX);\r\n\t\tthis._calcCount(1);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._calcCount(-1);\r\n\t}\r\n\r\n\tprivate _calcCount(delta: number) {\r\n\t\tlet count = this._parentElement.getAttribute(COUNT_ATTR);\r\n\t\tif (count) {\r\n\t\t\tthis._parentElement.classList.remove(`${CONTAINER_PREFIX}-${count}`);\r\n\t\t} else {\r\n\t\t\tcount = '0';\r\n\t\t}\r\n\t\tcount = `${Math.max(Number(count) + delta, 0)}`;\r\n\t\tthis._parentElement.setAttribute(COUNT_ATTR, count);\r\n\t\tthis._parentElement.classList.add(`${CONTAINER_PREFIX}-${count}`);\r\n\t}\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PanelComponent } from './panel.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { BehaviorModule } from '@bravura/ui/behavior';\r\nimport { PanelSectionComponent } from './panel-section.component';\r\nimport { TintedDirective } from './tinted.directive';\r\n\r\n@NgModule({\r\n\tdeclarations: [PanelComponent, PanelSectionComponent, TintedDirective],\r\n\timports: [CommonModule, MatCardModule, BehaviorModule],\r\n\texports: [MatCardModule, PanelComponent, PanelSectionComponent, TintedDirective]\r\n})\r\nexport class PanelModule {}\r\n\r\nexport { PanelComponent, PanelSectionComponent, TintedDirective };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TintedDirective"],"mappings":"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"}
|
|
@@ -36,10 +36,10 @@ class PhoneNumberPipe {
|
|
|
36
36
|
return result;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
40
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberPipe, isStandalone: false, name: "buiPhone" }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberPipe, decorators: [{
|
|
43
43
|
type: Pipe,
|
|
44
44
|
args: [{
|
|
45
45
|
name: 'buiPhone',
|
|
@@ -102,10 +102,10 @@ class PhoneNumberValidator {
|
|
|
102
102
|
validate(_) {
|
|
103
103
|
return PhoneNumberValidator.validateControl(this._el.nativeElement, this.telType, false);
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
106
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberValidator, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
106
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: PhoneNumberValidator, isStandalone: false, selector: "[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]", inputs: { telType: "telType" }, providers: [PHONE_VALIDATOR], ngImport: i0 }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberValidator, decorators: [{
|
|
109
109
|
type: Directive,
|
|
110
110
|
args: [{
|
|
111
111
|
selector: SELECTOR,
|
|
@@ -265,10 +265,10 @@ class PhoneNumberDirective {
|
|
|
265
265
|
}
|
|
266
266
|
}, 20);
|
|
267
267
|
}
|
|
268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
269
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
268
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", 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 }); }
|
|
269
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: PhoneNumberDirective, isStandalone: false, 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 }); }
|
|
270
270
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneNumberDirective, decorators: [{
|
|
272
272
|
type: Directive,
|
|
273
273
|
args: [{
|
|
274
274
|
selector: SELECTOR,
|
|
@@ -300,11 +300,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
300
300
|
* @internal
|
|
301
301
|
*/
|
|
302
302
|
class PhoneModule {
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
304
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
305
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
303
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
304
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: PhoneModule, declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator], imports: [CommonModule], exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator] }); }
|
|
305
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneModule, imports: [CommonModule] }); }
|
|
306
306
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PhoneModule, decorators: [{
|
|
308
308
|
type: NgModule,
|
|
309
309
|
args: [{
|
|
310
310
|
declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-phone-number.mjs","sources":["../../../projects/ui/phone-number/phone-number.pipe.ts","../../../projects/ui/phone-number/phone-number.validator.ts","../../../projects/ui/phone-number/phone-number.directive.ts","../../../projects/ui/phone-number/phone-number.module.ts","../../../projects/ui/phone-number/bravura-ui-phone-number.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\r\n\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * @internal\r\n */\r\n@Pipe({\r\n\tname: 'buiPhone',\r\n\tpure: true,\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {}\r\n\r\n\ttransform(value: any, mode?: string, renderLink?: boolean): string {\r\n\t\tif (!value) {\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tconst countryCode = getCountryCodeFromLocale(this._locale);\r\n\r\n\t\tlet format: number;\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'NATIONAL':\r\n\t\t\t\tformat = intlTelInputUtils.numberFormat.NATIONAL;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tformat = intlTelInputUtils.numberFormat.INTERNATIONAL;\r\n\t\t}\r\n\t\tconst result = intlTelInputUtils.formatNumber(value, countryCode, format);\r\n\t\tif (renderLink) {\r\n\t\t\treturn `<a href=\"tel:${result}\">${result}</a>`;\r\n\t\t} else {\r\n\t\t\treturn result;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function getCountryCodeFromLocale(locale: string): string {\r\n\treturn locale.replace(/.+[-_]([a-z][a-z])$/i, '$1');\r\n}\r\n","import { Directive, ElementRef, Input, StaticProvider, forwardRef } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const SELECTOR =\r\n\t'[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]';\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const PHONE_VALIDATOR: StaticProvider = {\r\n\tprovide: NG_VALIDATORS,\r\n\tuseExisting: forwardRef(() => PhoneNumberValidator),\r\n\tmulti: true\r\n};\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type TEL_TYPE = 'MOBILE' | 'FIXED_LINE_OR_MOBILE' | 'FIXED_LINE';\r\n\r\n/**\r\n * @internal\r\n */\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * @internal\r\n */\r\n@Directive({\r\n\tselector: SELECTOR,\r\n\tproviders: [PHONE_VALIDATOR],\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberValidator implements Validator {\r\n\t@Input()\r\n\ttelType: TEL_TYPE = 'FIXED_LINE';\r\n\r\n\tstatic validateControl(inp: HTMLInputElement, type: TEL_TYPE, update: boolean): { [key: string]: any } | null {\r\n\t\tconst err = { tel: true };\r\n\t\tif (!inp.value) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst iti = (inp as any).$$iti;\r\n\t\tif (!iti) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (iti.isValidNumber()) {\r\n\t\t\tconst n = iti.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL);\r\n\t\t\tif (update) {\r\n\t\t\t\tinp.value = n;\r\n\t\t\t}\r\n\r\n\t\t\tconst t = iti.getNumberType();\r\n\t\t\tif (t !== intlTelInputUtils.numberType.FIXED_LINE_OR_MOBILE) {\r\n\t\t\t\tif (\r\n\t\t\t\t\t(type === 'MOBILE' && t !== intlTelInputUtils.numberType.MOBILE) ||\r\n\t\t\t\t\t(type === 'FIXED_LINE' && t !== intlTelInputUtils.numberType.FIXED_LINE)\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn err;\r\n\t}\r\n\r\n\tconstructor(private _el: ElementRef<HTMLInputElement>) {}\r\n\r\n\tvalidate(_: AbstractControl): { [key: string]: any } | null {\r\n\t\treturn PhoneNumberValidator.validateControl(this._el.nativeElement, this.telType, false);\r\n\t}\r\n}\r\n","import {\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHostListener,\r\n\tInject,\r\n\tInput,\r\n\tLOCALE_ID,\r\n\tNgZone,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOptional,\r\n\tOutput,\r\n\tSimpleChanges\r\n} from '@angular/core';\r\nimport { UntypedFormControl, FormControlDirective, FormControlName, NgModel } from '@angular/forms';\r\nimport { MatFormField } from '@angular/material/form-field';\r\nimport intlTelInput from 'intl-tel-input';\r\nimport { of } from 'rxjs';\r\nimport { debounceTime, take } from 'rxjs/operators';\r\n\r\nimport { getCountryCodeFromLocale } from './phone-number.pipe';\r\nimport { PhoneNumberValidator, SELECTOR, TEL_TYPE } from './phone-number.validator';\r\n\r\n/**\r\n * @ignore\r\n */\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * Add phone number validation support by specifying the `type` attribute as `tel` in an `<input>` element.\r\n *\r\n * To use this feature, please install a peer dependency `intl-tel-input` in your project and add the following\r\n * to your application polyfills:\r\n *\r\n * ```javascript\r\n * import 'intl-tel-input/build/js/utils.js';\r\n * ```\r\n *\r\n * You will also need to add the following statements to one of your global SCSS files:\r\n *\r\n * ```scss\r\n * $flagsImagePath: '~intl-tel-input/build/img/' !default;\r\n * @import '~intl-tel-input/src/css/intlTelInput';\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: SELECTOR,\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberDirective implements OnInit, OnChanges, OnDestroy {\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tstatic POST_RENDER_INIT_DELAY = 20;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tstatic BYPASS_SHADOW_DETECTION = false;\r\n\r\n\t/**\r\n\t * The type of phone number to validate for\r\n\t */\r\n\t@Input()\r\n\ttelType: TEL_TYPE = 'FIXED_LINE';\r\n\r\n\t/**\r\n\t * Disable country dropdown by setting this property to `false`.\r\n\t */\r\n\t@Input()\r\n\ttelDropdown = true;\r\n\r\n\t/**\r\n\t * This event is triggered when a new country is selected from the dropdown. The event detail is the ISO country code.\r\n\t */\r\n\t@Output()\r\n\ttelCountryChange = new EventEmitter<string>();\r\n\r\n\tprivate _control: UntypedFormControl | undefined;\r\n\tprivate _reactive = false;\r\n\tprivate _countryChangeListener: () => void = () => null;\r\n\tprivate _input: HTMLInputElement | undefined;\r\n\tprivate _iti: any;\r\n\r\n\tconstructor(\r\n\t\tprivate _el: ElementRef<HTMLInputElement>,\r\n\t\t@Optional() private _ngModel: NgModel,\r\n\t\t@Optional() private _formControlName: FormControlName,\r\n\t\t@Optional() private _formControlDirective: FormControlDirective,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _zone: NgZone,\r\n\t\t@Optional() private _matField: MatFormField\r\n\t) {}\r\n\r\n\t/** @internal */\r\n\t@HostListener('input')\r\n\tonInput() {\r\n\t\tconst err = PhoneNumberValidator.validateControl(this._input!, this.telType, true);\r\n\t\tthis._control!.patchValue(this._input!.value, { emitEvent: false });\r\n\r\n\t\tif (this._reactive && err) {\r\n\t\t\tthis._control!.setErrors({ ...this._control!.errors, ...err });\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconst ctrDirective = this._ngModel || this._formControlName || this._formControlDirective;\r\n\t\tthis._control = ctrDirective.control as UntypedFormControl;\r\n\t\tthis._reactive = this._ngModel ? false : true;\r\n\t\tthis._input = this._el.nativeElement;\r\n\r\n\t\tthis._countryChangeListener = (() => {\r\n\t\t\tthis._zone.run(() => {\r\n\t\t\t\tthis._control!.markAsDirty();\r\n\t\t\t\tthis._control!.updateValueAndValidity({ emitEvent: true });\r\n\t\t\t\tthis.telCountryChange.emit(this._iti.getSelectedCountryData().iso2);\r\n\t\t\t});\r\n\t\t}).bind(this);\r\n\r\n\t\t(PhoneNumberDirective.BYPASS_SHADOW_DETECTION ? of(0 as any) : this._zone.onStable)\r\n\t\t\t.pipe(debounceTime(10), take(1))\r\n\t\t\t.subscribe(() => this.initElement());\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._input!.removeEventListener('countrychange', this._countryChangeListener);\r\n\t\tthis._iti?.destroy();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst td = changes.telDropdown;\r\n\t\tif (td && !td.firstChange) {\r\n\t\t\tthis.ngOnDestroy();\r\n\t\t\tthis.ngOnInit();\r\n\t\t}\r\n\t\tconst type = changes.telType;\r\n\t\tif (type && !type.firstChange) {\r\n\t\t\tthis.onInput();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initElement() {\r\n\t\tconst countryCode = getCountryCodeFromLocale(this._locale).toLowerCase();\r\n\r\n\t\tconst root: ShadowRoot | Document = this._input!.getRootNode() as ShadowRoot | Document;\r\n\t\tif (!root.querySelector('#bui-tel-input-style')) {\r\n\t\t\tconst styleTag = document.createElement('style');\r\n\t\t\tstyleTag.id = 'bui-tel-input-style';\r\n\t\t\tstyleTag.innerText =\r\n\t\t\t\t'.mat-mdc-form-field .bui-tel-input-placeholder:not(.mdc-floating-label--float-above){margin-left:44px;}' +\r\n\t\t\t\t'.iti--allow-dropdown{margin-left:-8px}' +\r\n\t\t\t\t'.bui-tel-input-with-value:disabled{cursor:pointer;}';\r\n\t\t\t(root instanceof Document ? (root.querySelector('head') as any) : root).appendChild(styleTag);\r\n\t\t}\r\n\t\tthis._iti = intlTelInput(this._input!, {\r\n\t\t\tinitialCountry: countryCode,\r\n\t\t\tplaceholderNumberType: this.telType,\r\n\t\t\tpreferredCountries: [countryCode, ...['au', 'ca', 'nz', 'us', 'gb'].filter(c => c !== countryCode)],\r\n\t\t\tdropdownContainer: root instanceof ShadowRoot ? root.querySelector('overlay-root') || root : (root.body as any),\r\n\t\t\tautoPlaceholder: 'off',\r\n\t\t\tallowDropdown: this.telDropdown\r\n\t\t});\r\n\r\n\t\t(this._input as any).$$iti = this._iti;\r\n\t\tthis._input!.addEventListener('countrychange', this._countryChangeListener);\r\n\t\tconst frameTime = Date.now();\r\n\t\tconst postRenderWork = () => {\r\n\t\t\tif (frameTime + PhoneNumberDirective.POST_RENDER_INIT_DELAY > Date.now()) {\r\n\t\t\t\twindow.requestAnimationFrame(postRenderWork);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tlet label: HTMLLabelElement | undefined;\r\n\t\t\tif (this._matField?.getLabelId() && typeof root.getElementById === 'function') {\r\n\t\t\t\tlabel = root.getElementById(this._matField.getLabelId()!) as HTMLLabelElement;\r\n\t\t\t\tlabel?.classList.remove('bui-tel-input-placeholder');\r\n\t\t\t}\r\n\t\t\tif (label && this.telDropdown) {\r\n\t\t\t\tlabel.classList.add('bui-tel-input-placeholder');\r\n\t\t\t}\r\n\r\n\t\t\tif (this._input?.value) {\r\n\t\t\t\tthis._input.classList.add('bui-tel-input-with-value');\r\n\t\t\t}\r\n\t\t};\r\n\t\twindow.requestAnimationFrame(postRenderWork);\r\n\r\n\t\tthis._input!.addEventListener('click', () => {\r\n\t\t\tif (this._control?.disabled && this._control.value) {\r\n\t\t\t\twindow.location.href = 'tel://' + this._control.value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._control?.registerOnDisabledChange(isDisabled => this._patchValueByState(isDisabled));\r\n\t\tthis._patchValueByState(this._control!.disabled);\r\n\t}\r\n\r\n\tprivate _patchValueByState(isDisabled: boolean) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (!isDisabled) {\r\n\t\t\t\tthis.onInput();\r\n\t\t\t} else {\r\n\t\t\t\tconst v = this._iti.getNumber(intlTelInputUtils.numberFormat.NATIONAL);\r\n\t\t\t\tthis._input!.value = v;\r\n\t\t\t\tthis._control?.patchValue(this._input?.value, { emitEvent: false });\r\n\t\t\t}\r\n\t\t}, 20);\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { PhoneNumberDirective } from './phone-number.directive';\r\nimport { PhoneNumberPipe } from './phone-number.pipe';\r\nimport { PhoneNumberValidator } from './phone-number.validator';\r\n\r\n/**\r\n * @internal\r\n */\r\n@NgModule({\r\n\tdeclarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],\r\n\timports: [CommonModule],\r\n\texports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator]\r\n})\r\nexport class PhoneModule {}\r\n\r\nexport { PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-phone-number.mjs","sources":["../../../projects/ui/phone-number/phone-number.pipe.ts","../../../projects/ui/phone-number/phone-number.validator.ts","../../../projects/ui/phone-number/phone-number.directive.ts","../../../projects/ui/phone-number/phone-number.module.ts","../../../projects/ui/phone-number/bravura-ui-phone-number.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\r\n\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * @internal\r\n */\r\n@Pipe({\r\n\tname: 'buiPhone',\r\n\tpure: true,\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {}\r\n\r\n\ttransform(value: any, mode?: string, renderLink?: boolean): string {\r\n\t\tif (!value) {\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tconst countryCode = getCountryCodeFromLocale(this._locale);\r\n\r\n\t\tlet format: number;\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'NATIONAL':\r\n\t\t\t\tformat = intlTelInputUtils.numberFormat.NATIONAL;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tformat = intlTelInputUtils.numberFormat.INTERNATIONAL;\r\n\t\t}\r\n\t\tconst result = intlTelInputUtils.formatNumber(value, countryCode, format);\r\n\t\tif (renderLink) {\r\n\t\t\treturn `<a href=\"tel:${result}\">${result}</a>`;\r\n\t\t} else {\r\n\t\t\treturn result;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function getCountryCodeFromLocale(locale: string): string {\r\n\treturn locale.replace(/.+[-_]([a-z][a-z])$/i, '$1');\r\n}\r\n","import { Directive, ElementRef, Input, StaticProvider, forwardRef } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const SELECTOR =\r\n\t'[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]';\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const PHONE_VALIDATOR: StaticProvider = {\r\n\tprovide: NG_VALIDATORS,\r\n\tuseExisting: forwardRef(() => PhoneNumberValidator),\r\n\tmulti: true\r\n};\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type TEL_TYPE = 'MOBILE' | 'FIXED_LINE_OR_MOBILE' | 'FIXED_LINE';\r\n\r\n/**\r\n * @internal\r\n */\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * @internal\r\n */\r\n@Directive({\r\n\tselector: SELECTOR,\r\n\tproviders: [PHONE_VALIDATOR],\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberValidator implements Validator {\r\n\t@Input()\r\n\ttelType: TEL_TYPE = 'FIXED_LINE';\r\n\r\n\tstatic validateControl(inp: HTMLInputElement, type: TEL_TYPE, update: boolean): { [key: string]: any } | null {\r\n\t\tconst err = { tel: true };\r\n\t\tif (!inp.value) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tconst iti = (inp as any).$$iti;\r\n\t\tif (!iti) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (iti.isValidNumber()) {\r\n\t\t\tconst n = iti.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL);\r\n\t\t\tif (update) {\r\n\t\t\t\tinp.value = n;\r\n\t\t\t}\r\n\r\n\t\t\tconst t = iti.getNumberType();\r\n\t\t\tif (t !== intlTelInputUtils.numberType.FIXED_LINE_OR_MOBILE) {\r\n\t\t\t\tif (\r\n\t\t\t\t\t(type === 'MOBILE' && t !== intlTelInputUtils.numberType.MOBILE) ||\r\n\t\t\t\t\t(type === 'FIXED_LINE' && t !== intlTelInputUtils.numberType.FIXED_LINE)\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn err;\r\n\t}\r\n\r\n\tconstructor(private _el: ElementRef<HTMLInputElement>) {}\r\n\r\n\tvalidate(_: AbstractControl): { [key: string]: any } | null {\r\n\t\treturn PhoneNumberValidator.validateControl(this._el.nativeElement, this.telType, false);\r\n\t}\r\n}\r\n","import {\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHostListener,\r\n\tInject,\r\n\tInput,\r\n\tLOCALE_ID,\r\n\tNgZone,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOptional,\r\n\tOutput,\r\n\tSimpleChanges\r\n} from '@angular/core';\r\nimport { UntypedFormControl, FormControlDirective, FormControlName, NgModel } from '@angular/forms';\r\nimport { MatFormField } from '@angular/material/form-field';\r\nimport intlTelInput from 'intl-tel-input';\r\nimport { of } from 'rxjs';\r\nimport { debounceTime, take } from 'rxjs/operators';\r\n\r\nimport { getCountryCodeFromLocale } from './phone-number.pipe';\r\nimport { PhoneNumberValidator, SELECTOR, TEL_TYPE } from './phone-number.validator';\r\n\r\n/**\r\n * @ignore\r\n */\r\ndeclare const intlTelInputUtils: any;\r\n\r\n/**\r\n * Add phone number validation support by specifying the `type` attribute as `tel` in an `<input>` element.\r\n *\r\n * To use this feature, please install a peer dependency `intl-tel-input` in your project and add the following\r\n * to your application polyfills:\r\n *\r\n * ```javascript\r\n * import 'intl-tel-input/build/js/utils.js';\r\n * ```\r\n *\r\n * You will also need to add the following statements to one of your global SCSS files:\r\n *\r\n * ```scss\r\n * $flagsImagePath: '~intl-tel-input/build/img/' !default;\r\n * @import '~intl-tel-input/src/css/intlTelInput';\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: SELECTOR,\r\n\tstandalone: false\r\n})\r\nexport class PhoneNumberDirective implements OnInit, OnChanges, OnDestroy {\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tstatic POST_RENDER_INIT_DELAY = 20;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tstatic BYPASS_SHADOW_DETECTION = false;\r\n\r\n\t/**\r\n\t * The type of phone number to validate for\r\n\t */\r\n\t@Input()\r\n\ttelType: TEL_TYPE = 'FIXED_LINE';\r\n\r\n\t/**\r\n\t * Disable country dropdown by setting this property to `false`.\r\n\t */\r\n\t@Input()\r\n\ttelDropdown = true;\r\n\r\n\t/**\r\n\t * This event is triggered when a new country is selected from the dropdown. The event detail is the ISO country code.\r\n\t */\r\n\t@Output()\r\n\ttelCountryChange = new EventEmitter<string>();\r\n\r\n\tprivate _control: UntypedFormControl | undefined;\r\n\tprivate _reactive = false;\r\n\tprivate _countryChangeListener: () => void = () => null;\r\n\tprivate _input: HTMLInputElement | undefined;\r\n\tprivate _iti: any;\r\n\r\n\tconstructor(\r\n\t\tprivate _el: ElementRef<HTMLInputElement>,\r\n\t\t@Optional() private _ngModel: NgModel,\r\n\t\t@Optional() private _formControlName: FormControlName,\r\n\t\t@Optional() private _formControlDirective: FormControlDirective,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _zone: NgZone,\r\n\t\t@Optional() private _matField: MatFormField\r\n\t) {}\r\n\r\n\t/** @internal */\r\n\t@HostListener('input')\r\n\tonInput() {\r\n\t\tconst err = PhoneNumberValidator.validateControl(this._input!, this.telType, true);\r\n\t\tthis._control!.patchValue(this._input!.value, { emitEvent: false });\r\n\r\n\t\tif (this._reactive && err) {\r\n\t\t\tthis._control!.setErrors({ ...this._control!.errors, ...err });\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconst ctrDirective = this._ngModel || this._formControlName || this._formControlDirective;\r\n\t\tthis._control = ctrDirective.control as UntypedFormControl;\r\n\t\tthis._reactive = this._ngModel ? false : true;\r\n\t\tthis._input = this._el.nativeElement;\r\n\r\n\t\tthis._countryChangeListener = (() => {\r\n\t\t\tthis._zone.run(() => {\r\n\t\t\t\tthis._control!.markAsDirty();\r\n\t\t\t\tthis._control!.updateValueAndValidity({ emitEvent: true });\r\n\t\t\t\tthis.telCountryChange.emit(this._iti.getSelectedCountryData().iso2);\r\n\t\t\t});\r\n\t\t}).bind(this);\r\n\r\n\t\t(PhoneNumberDirective.BYPASS_SHADOW_DETECTION ? of(0 as any) : this._zone.onStable)\r\n\t\t\t.pipe(debounceTime(10), take(1))\r\n\t\t\t.subscribe(() => this.initElement());\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._input!.removeEventListener('countrychange', this._countryChangeListener);\r\n\t\tthis._iti?.destroy();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst td = changes.telDropdown;\r\n\t\tif (td && !td.firstChange) {\r\n\t\t\tthis.ngOnDestroy();\r\n\t\t\tthis.ngOnInit();\r\n\t\t}\r\n\t\tconst type = changes.telType;\r\n\t\tif (type && !type.firstChange) {\r\n\t\t\tthis.onInput();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initElement() {\r\n\t\tconst countryCode = getCountryCodeFromLocale(this._locale).toLowerCase();\r\n\r\n\t\tconst root: ShadowRoot | Document = this._input!.getRootNode() as ShadowRoot | Document;\r\n\t\tif (!root.querySelector('#bui-tel-input-style')) {\r\n\t\t\tconst styleTag = document.createElement('style');\r\n\t\t\tstyleTag.id = 'bui-tel-input-style';\r\n\t\t\tstyleTag.innerText =\r\n\t\t\t\t'.mat-mdc-form-field .bui-tel-input-placeholder:not(.mdc-floating-label--float-above){margin-left:44px;}' +\r\n\t\t\t\t'.iti--allow-dropdown{margin-left:-8px}' +\r\n\t\t\t\t'.bui-tel-input-with-value:disabled{cursor:pointer;}';\r\n\t\t\t(root instanceof Document ? (root.querySelector('head') as any) : root).appendChild(styleTag);\r\n\t\t}\r\n\t\tthis._iti = intlTelInput(this._input!, {\r\n\t\t\tinitialCountry: countryCode,\r\n\t\t\tplaceholderNumberType: this.telType,\r\n\t\t\tpreferredCountries: [countryCode, ...['au', 'ca', 'nz', 'us', 'gb'].filter(c => c !== countryCode)],\r\n\t\t\tdropdownContainer: root instanceof ShadowRoot ? root.querySelector('overlay-root') || root : (root.body as any),\r\n\t\t\tautoPlaceholder: 'off',\r\n\t\t\tallowDropdown: this.telDropdown\r\n\t\t});\r\n\r\n\t\t(this._input as any).$$iti = this._iti;\r\n\t\tthis._input!.addEventListener('countrychange', this._countryChangeListener);\r\n\t\tconst frameTime = Date.now();\r\n\t\tconst postRenderWork = () => {\r\n\t\t\tif (frameTime + PhoneNumberDirective.POST_RENDER_INIT_DELAY > Date.now()) {\r\n\t\t\t\twindow.requestAnimationFrame(postRenderWork);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tlet label: HTMLLabelElement | undefined;\r\n\t\t\tif (this._matField?.getLabelId() && typeof root.getElementById === 'function') {\r\n\t\t\t\tlabel = root.getElementById(this._matField.getLabelId()!) as HTMLLabelElement;\r\n\t\t\t\tlabel?.classList.remove('bui-tel-input-placeholder');\r\n\t\t\t}\r\n\t\t\tif (label && this.telDropdown) {\r\n\t\t\t\tlabel.classList.add('bui-tel-input-placeholder');\r\n\t\t\t}\r\n\r\n\t\t\tif (this._input?.value) {\r\n\t\t\t\tthis._input.classList.add('bui-tel-input-with-value');\r\n\t\t\t}\r\n\t\t};\r\n\t\twindow.requestAnimationFrame(postRenderWork);\r\n\r\n\t\tthis._input!.addEventListener('click', () => {\r\n\t\t\tif (this._control?.disabled && this._control.value) {\r\n\t\t\t\twindow.location.href = 'tel://' + this._control.value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._control?.registerOnDisabledChange(isDisabled => this._patchValueByState(isDisabled));\r\n\t\tthis._patchValueByState(this._control!.disabled);\r\n\t}\r\n\r\n\tprivate _patchValueByState(isDisabled: boolean) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (!isDisabled) {\r\n\t\t\t\tthis.onInput();\r\n\t\t\t} else {\r\n\t\t\t\tconst v = this._iti.getNumber(intlTelInputUtils.numberFormat.NATIONAL);\r\n\t\t\t\tthis._input!.value = v;\r\n\t\t\t\tthis._control?.patchValue(this._input?.value, { emitEvent: false });\r\n\t\t\t}\r\n\t\t}, 20);\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { PhoneNumberDirective } from './phone-number.directive';\r\nimport { PhoneNumberPipe } from './phone-number.pipe';\r\nimport { PhoneNumberValidator } from './phone-number.validator';\r\n\r\n/**\r\n * @internal\r\n */\r\n@NgModule({\r\n\tdeclarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],\r\n\timports: [CommonModule],\r\n\texports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator]\r\n})\r\nexport class PhoneModule {}\r\n\r\nexport { PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|