@angular/material 12.0.6 → 12.1.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/autocomplete/autocomplete.d.ts +4 -4
- package/autocomplete/index.metadata.json +1 -1
- package/badge/_badge-theme.scss +7 -6
- package/badge/badge.d.ts +5 -5
- package/badge/index.metadata.json +1 -1
- package/bundles/material-autocomplete-testing.umd.js +14 -11
- package/bundles/material-autocomplete-testing.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.js +18 -16
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-badge-testing.umd.js +14 -11
- package/bundles/material-badge-testing.umd.js.map +1 -1
- package/bundles/material-badge.umd.js +19 -17
- package/bundles/material-badge.umd.js.map +1 -1
- package/bundles/material-bottom-sheet-testing.umd.js +14 -11
- package/bundles/material-bottom-sheet-testing.umd.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.js +14 -11
- package/bundles/material-bottom-sheet.umd.js.map +1 -1
- package/bundles/material-button-testing.umd.js +14 -11
- package/bundles/material-button-testing.umd.js.map +1 -1
- package/bundles/material-button-toggle-testing.umd.js +14 -11
- package/bundles/material-button-toggle-testing.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.js +19 -17
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button.umd.js +19 -18
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-card-testing.umd.js +14 -11
- package/bundles/material-card-testing.umd.js.map +1 -1
- package/bundles/material-checkbox-testing.umd.js +14 -11
- package/bundles/material-checkbox-testing.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.js +19 -17
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-chips-testing.umd.js +14 -11
- package/bundles/material-chips-testing.umd.js.map +1 -1
- package/bundles/material-chips.umd.js +19 -17
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-core-testing.umd.js +14 -11
- package/bundles/material-core-testing.umd.js.map +1 -1
- package/bundles/material-core.umd.js +20 -18
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-datepicker-testing.umd.js +14 -11
- package/bundles/material-datepicker-testing.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.js +21 -21
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-dialog-testing.umd.js +14 -11
- package/bundles/material-dialog-testing.umd.js.map +1 -1
- package/bundles/material-dialog.umd.js +23 -12
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-divider-testing.umd.js +14 -11
- package/bundles/material-divider-testing.umd.js.map +1 -1
- package/bundles/material-expansion-testing.umd.js +14 -11
- package/bundles/material-expansion-testing.umd.js.map +1 -1
- package/bundles/material-expansion.umd.js +42 -33
- package/bundles/material-expansion.umd.js.map +1 -1
- package/bundles/material-form-field-testing-control.umd.js +14 -11
- package/bundles/material-form-field-testing-control.umd.js.map +1 -1
- package/bundles/material-form-field-testing.umd.js +14 -11
- package/bundles/material-form-field-testing.umd.js.map +1 -1
- package/bundles/material-form-field.umd.js +20 -22
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-grid-list-testing.umd.js +14 -11
- package/bundles/material-grid-list-testing.umd.js.map +1 -1
- package/bundles/material-grid-list.umd.js +16 -15
- package/bundles/material-grid-list.umd.js.map +1 -1
- package/bundles/material-icon-testing.umd.js +14 -11
- package/bundles/material-icon-testing.umd.js.map +1 -1
- package/bundles/material-icon.umd.js +19 -17
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-input-testing.umd.js +14 -11
- package/bundles/material-input-testing.umd.js.map +1 -1
- package/bundles/material-input.umd.js +20 -17
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-list-testing.umd.js +14 -11
- package/bundles/material-list-testing.umd.js.map +1 -1
- package/bundles/material-list.umd.js +34 -35
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-menu-testing.umd.js +14 -11
- package/bundles/material-menu-testing.umd.js.map +1 -1
- package/bundles/material-menu.umd.js +29 -26
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-paginator-testing.umd.js +14 -11
- package/bundles/material-paginator-testing.umd.js.map +1 -1
- package/bundles/material-paginator.umd.js +19 -17
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-progress-bar-testing.umd.js +14 -11
- package/bundles/material-progress-bar-testing.umd.js.map +1 -1
- package/bundles/material-progress-bar.umd.js +19 -17
- package/bundles/material-progress-bar.umd.js.map +1 -1
- package/bundles/material-progress-spinner-testing.umd.js +14 -11
- package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +19 -17
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-radio-testing.umd.js +14 -11
- package/bundles/material-radio-testing.umd.js.map +1 -1
- package/bundles/material-radio.umd.js +16 -13
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-select-testing.umd.js +14 -11
- package/bundles/material-select-testing.umd.js.map +1 -1
- package/bundles/material-select.umd.js +18 -16
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-sidenav-testing.umd.js +14 -11
- package/bundles/material-sidenav-testing.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.js +14 -11
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-slide-toggle-testing.umd.js +14 -11
- package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +19 -17
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slider-testing.umd.js +14 -11
- package/bundles/material-slider-testing.umd.js.map +1 -1
- package/bundles/material-slider.umd.js +108 -57
- package/bundles/material-slider.umd.js.map +1 -1
- package/bundles/material-snack-bar-testing.umd.js +14 -11
- package/bundles/material-snack-bar-testing.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.js +14 -11
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-sort-testing.umd.js +14 -11
- package/bundles/material-sort-testing.umd.js.map +1 -1
- package/bundles/material-sort.umd.js +24 -23
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-stepper-testing.umd.js +14 -11
- package/bundles/material-stepper-testing.umd.js.map +1 -1
- package/bundles/material-stepper.umd.js +17 -15
- package/bundles/material-stepper.umd.js.map +1 -1
- package/bundles/material-table-testing.umd.js +14 -11
- package/bundles/material-table-testing.umd.js.map +1 -1
- package/bundles/material-table.umd.js +14 -11
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-tabs-testing.umd.js +14 -11
- package/bundles/material-tabs-testing.umd.js.map +1 -1
- package/bundles/material-tabs.umd.js +53 -36
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-toolbar-testing.umd.js +14 -11
- package/bundles/material-toolbar-testing.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.js +19 -17
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-tooltip-testing.umd.js +14 -11
- package/bundles/material-tooltip-testing.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.js +14 -11
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tree-testing.umd.js +14 -11
- package/bundles/material-tree-testing.umd.js.map +1 -1
- package/bundles/material-tree.umd.js +16 -13
- package/bundles/material-tree.umd.js.map +1 -1
- package/button/button.d.ts +7 -8
- package/button/index.metadata.json +1 -1
- package/button-toggle/button-toggle.d.ts +5 -5
- package/button-toggle/index.metadata.json +1 -1
- package/checkbox/checkbox.d.ts +7 -7
- package/checkbox/index.metadata.json +1 -1
- package/chips/chip-list.d.ts +11 -13
- package/chips/chip.d.ts +2 -2
- package/chips/index.metadata.json +1 -1
- package/core/common-behaviors/color.d.ts +5 -1
- package/core/common-behaviors/disable-ripple.d.ts +5 -1
- package/core/common-behaviors/disabled.d.ts +5 -1
- package/core/common-behaviors/error-state.d.ts +5 -1
- package/core/common-behaviors/initialized.d.ts +5 -1
- package/core/common-behaviors/tabindex.d.ts +5 -1
- package/core/focus-indicators/_focus-indicators-theme.scss +9 -35
- package/core/index.metadata.json +1 -1
- package/core/option/optgroup.d.ts +4 -4
- package/core/style/_menu-common.scss +2 -1
- package/core/style/_private.scss +27 -0
- package/core/style/_vendor-prefixes.scss +10 -0
- package/core/typography/_typography-utils.scss +4 -2
- package/datepicker/date-range-input-parts.d.ts +2 -2
- package/datepicker/datepicker-base.d.ts +7 -7
- package/datepicker/index.metadata.json +1 -1
- package/dialog/dialog-content-directives.d.ts +13 -1
- package/dialog/dialog-ref.d.ts +4 -1
- package/dialog/index.metadata.json +1 -1
- package/esm2015/autocomplete/autocomplete.js +3 -4
- package/esm2015/badge/badge.js +4 -5
- package/esm2015/button/button.js +4 -6
- package/esm2015/button-toggle/button-toggle.js +4 -5
- package/esm2015/checkbox/checkbox.js +4 -5
- package/esm2015/chips/chip-list.js +4 -5
- package/esm2015/chips/chip.js +1 -1
- package/esm2015/core/common-behaviors/color.js +1 -1
- package/esm2015/core/common-behaviors/common-module.js +1 -1
- package/esm2015/core/common-behaviors/disable-ripple.js +1 -1
- package/esm2015/core/common-behaviors/disabled.js +1 -1
- package/esm2015/core/common-behaviors/error-state.js +1 -1
- package/esm2015/core/common-behaviors/initialized.js +1 -1
- package/esm2015/core/common-behaviors/tabindex.js +1 -1
- package/esm2015/core/option/optgroup.js +3 -4
- package/esm2015/core/version.js +1 -1
- package/esm2015/datepicker/date-range-input-parts.js +2 -4
- package/esm2015/datepicker/date-range-input.js +1 -1
- package/esm2015/datepicker/datepicker-base.js +4 -5
- package/esm2015/dialog/dialog-content-directives.js +7 -1
- package/esm2015/dialog/dialog-ref.js +4 -2
- package/esm2015/expansion/expansion-panel-header.js +16 -6
- package/esm2015/form-field/form-field.js +5 -10
- package/esm2015/icon/icon.js +4 -5
- package/esm2015/input/input.js +5 -5
- package/esm2015/list/list.js +7 -9
- package/esm2015/list/selection-list.js +7 -9
- package/esm2015/menu/menu-item.js +4 -5
- package/esm2015/menu/menu.js +8 -9
- package/esm2015/paginator/paginator.js +4 -5
- package/esm2015/progress-bar/progress-bar.js +4 -5
- package/esm2015/progress-spinner/progress-spinner.js +4 -5
- package/esm2015/radio/radio.js +3 -3
- package/esm2015/select/select.js +3 -4
- package/esm2015/slide-toggle/slide-toggle.js +4 -5
- package/esm2015/slider/slider.js +93 -45
- package/esm2015/sort/sort-header.js +4 -5
- package/esm2015/sort/sort.js +4 -5
- package/esm2015/stepper/public-api.js +1 -1
- package/esm2015/stepper/step-header.js +4 -5
- package/esm2015/tabs/tab-config.js +1 -1
- package/esm2015/tabs/tab-group.js +18 -6
- package/esm2015/tabs/tab-label-wrapper.js +4 -5
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +3 -4
- package/esm2015/tabs/tab.js +4 -5
- package/esm2015/toolbar/toolbar.js +4 -5
- package/esm2015/tree/node.js +3 -3
- package/expansion/expansion-panel-header.d.ts +11 -2
- package/expansion/index.metadata.json +1 -1
- package/fesm2015/autocomplete.js +2 -3
- package/fesm2015/autocomplete.js.map +1 -1
- package/fesm2015/badge.js +3 -4
- package/fesm2015/badge.js.map +1 -1
- package/fesm2015/button-toggle.js +3 -4
- package/fesm2015/button-toggle.js.map +1 -1
- package/fesm2015/button.js +3 -5
- package/fesm2015/button.js.map +1 -1
- package/fesm2015/checkbox.js +3 -4
- package/fesm2015/checkbox.js.map +1 -1
- package/fesm2015/chips.js +3 -4
- package/fesm2015/chips.js.map +1 -1
- package/fesm2015/core.js +4 -5
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/datepicker.js +5 -8
- package/fesm2015/datepicker.js.map +1 -1
- package/fesm2015/dialog.js +9 -1
- package/fesm2015/dialog.js.map +1 -1
- package/fesm2015/expansion.js +15 -6
- package/fesm2015/expansion.js.map +1 -1
- package/fesm2015/form-field.js +4 -9
- package/fesm2015/form-field.js.map +1 -1
- package/fesm2015/icon.js +3 -4
- package/fesm2015/icon.js.map +1 -1
- package/fesm2015/input.js +4 -4
- package/fesm2015/input.js.map +1 -1
- package/fesm2015/list.js +12 -16
- package/fesm2015/list.js.map +1 -1
- package/fesm2015/menu.js +10 -12
- package/fesm2015/menu.js.map +1 -1
- package/fesm2015/paginator.js +3 -4
- package/fesm2015/paginator.js.map +1 -1
- package/fesm2015/progress-bar.js +3 -4
- package/fesm2015/progress-bar.js.map +1 -1
- package/fesm2015/progress-spinner.js +3 -4
- package/fesm2015/progress-spinner.js.map +1 -1
- package/fesm2015/radio.js +2 -2
- package/fesm2015/radio.js.map +1 -1
- package/fesm2015/select.js +2 -3
- package/fesm2015/select.js.map +1 -1
- package/fesm2015/slide-toggle.js +3 -4
- package/fesm2015/slide-toggle.js.map +1 -1
- package/fesm2015/slider.js +92 -44
- package/fesm2015/slider.js.map +1 -1
- package/fesm2015/sort.js +6 -8
- package/fesm2015/sort.js.map +1 -1
- package/fesm2015/stepper.js +3 -4
- package/fesm2015/stepper.js.map +1 -1
- package/fesm2015/tabs.js +25 -16
- package/fesm2015/tabs.js.map +1 -1
- package/fesm2015/toolbar.js +3 -4
- package/fesm2015/toolbar.js.map +1 -1
- package/fesm2015/tree.js +2 -2
- package/fesm2015/tree.js.map +1 -1
- package/form-field/_form-field-fill-theme.scss +2 -1
- package/form-field/_form-field-legacy-theme.scss +5 -4
- package/form-field/_form-field-outline-theme.scss +3 -2
- package/form-field/_form-field-theme.scss +4 -3
- package/form-field/form-field.d.ts +7 -11
- package/form-field/index.metadata.json +1 -1
- package/icon/icon.d.ts +7 -7
- package/icon/index.metadata.json +1 -1
- package/input/_input-theme.scss +2 -1
- package/input/index.metadata.json +1 -1
- package/input/input.d.ts +13 -13
- package/list/index.metadata.json +1 -1
- package/list/list.d.ts +9 -9
- package/list/selection-list.d.ts +9 -9
- package/menu/index.metadata.json +1 -1
- package/menu/menu-item.d.ts +5 -5
- package/menu/menu.d.ts +4 -0
- package/package.json +3 -3
- package/paginator/index.metadata.json +1 -1
- package/paginator/paginator.d.ts +4 -4
- package/progress-bar/index.metadata.json +1 -1
- package/progress-bar/progress-bar.d.ts +7 -7
- package/progress-spinner/index.metadata.json +1 -1
- package/progress-spinner/progress-spinner.d.ts +7 -7
- package/radio/index.metadata.json +1 -1
- package/radio/radio.d.ts +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-update/migrations/theming-api-v12/config.js +4 -1
- package/schematics/ng-update/migrations/theming-api-v12/config.mjs +4 -1
- package/schematics/ng-update/migrations/theming-api-v12/migration.d.ts +9 -1
- package/schematics/ng-update/migrations/theming-api-v12/migration.js +40 -36
- package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +40 -36
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +2 -2
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +2 -2
- package/select/index.metadata.json +1 -1
- package/select/select.d.ts +10 -10
- package/slide-toggle/index.metadata.json +1 -1
- package/slide-toggle/slide-toggle.d.ts +7 -7
- package/slider/index.metadata.json +1 -1
- package/slider/slider.d.ts +17 -9
- package/sort/index.metadata.json +1 -1
- package/sort/sort-header.d.ts +5 -5
- package/sort/sort.d.ts +5 -5
- package/stepper/_stepper-theme.scss +4 -3
- package/stepper/index.metadata.json +1 -1
- package/stepper/public-api.d.ts +1 -1
- package/stepper/step-header.d.ts +9 -7
- package/tabs/index.metadata.json +1 -1
- package/tabs/tab-config.d.ts +2 -0
- package/tabs/tab-group.d.ts +16 -6
- package/tabs/tab-label-wrapper.d.ts +5 -5
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +4 -4
- package/tabs/tab.d.ts +5 -5
- package/toolbar/index.metadata.json +1 -1
- package/toolbar/toolbar.d.ts +7 -7
- package/tooltip/_tooltip-theme.scss +3 -2
- package/tree/index.metadata.json +1 -1
- package/tree/node.d.ts +3 -3
package/fesm2015/toolbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sources":["../../../../../../src/material/toolbar/toolbar.ts","../../../../../../src/material/toolbar/toolbar-module.ts","../../../../../../src/material/toolbar/public-api.ts","../../../../../../src/material/toolbar/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor,
|
|
1
|
+
{"version":3,"file":"toolbar.js","sources":["../../../../../../src/material/toolbar/toolbar.ts","../../../../../../src/material/toolbar/toolbar-module.ts","../../../../../../src/material/toolbar/public-api.ts","../../../../../../src/material/toolbar/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor, mixinColor} from '@angular/material/core';\n\n\n// Boilerplate for applying mixins to MatToolbar.\n/** @docs-private */\nconst _MatToolbarBase = mixinColor(class {\n constructor(public _elementRef: ElementRef) {}\n});\n\n@Directive({\n selector: 'mat-toolbar-row',\n exportAs: 'matToolbarRow',\n host: {'class': 'mat-toolbar-row'},\n})\nexport class MatToolbarRow {}\n\n@Component({\n selector: 'mat-toolbar',\n exportAs: 'matToolbar',\n templateUrl: 'toolbar.html',\n styleUrls: ['toolbar.css'],\n inputs: ['color'],\n host: {\n 'class': 'mat-toolbar',\n '[class.mat-toolbar-multiple-rows]': '_toolbarRows.length > 0',\n '[class.mat-toolbar-single-row]': '_toolbarRows.length === 0',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatToolbar extends _MatToolbarBase implements CanColor, AfterViewInit {\n private _document: Document;\n\n /** Reference to all toolbar row elements that have been projected. */\n @ContentChildren(MatToolbarRow, {descendants: true}) _toolbarRows: QueryList<MatToolbarRow>;\n\n constructor(\n elementRef: ElementRef,\n private _platform: Platform,\n @Inject(DOCUMENT) document?: any) {\n super(elementRef);\n\n // TODO: make the document a required param when doing breaking changes.\n this._document = document;\n }\n\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._checkToolbarMixedModes();\n this._toolbarRows.changes.subscribe(() => this._checkToolbarMixedModes());\n }\n }\n\n /**\n * Throws an exception when developers are attempting to combine the different toolbar row modes.\n */\n private _checkToolbarMixedModes() {\n if (this._toolbarRows.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // Check if there are any other DOM nodes that can display content but aren't inside of\n // a <mat-toolbar-row> element.\n const isCombinedUsage = Array.from<HTMLElement>(this._elementRef.nativeElement.childNodes)\n .filter(node => !(node.classList && node.classList.contains('mat-toolbar-row')))\n .filter(node => node.nodeType !== (this._document ? this._document.COMMENT_NODE : 8))\n .some(node => !!(node.textContent && node.textContent.trim()));\n\n if (isCombinedUsage) {\n throwToolbarMixedModesError();\n }\n }\n }\n}\n\n/**\n * Throws an exception when attempting to combine the different toolbar row modes.\n * @docs-private\n */\nexport function throwToolbarMixedModesError() {\n throw Error('MatToolbar: Attempting to combine different toolbar modes. ' +\n 'Either specify multiple `<mat-toolbar-row>` elements explicitly or just place content ' +\n 'inside of a `<mat-toolbar>` for a single row.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatToolbar, MatToolbarRow} from './toolbar';\n\n\n@NgModule({\n imports: [MatCommonModule],\n exports: [MatToolbar, MatToolbarRow, MatCommonModule],\n declarations: [MatToolbar, MatToolbarRow],\n})\nexport class MatToolbarModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './toolbar-module';\nexport * from './toolbar';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;AAwBA;AACA;AACA,MAAM,eAAe,GAAG,UAAU,CAAC;IACjC,YAAmB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;KAAI;CAC/C,CAAC,CAAC;MAOU,aAAa;;;YALzB,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;aACnC;;MAiBY,UAAW,SAAQ,eAAe;IAM7C,YACE,UAAsB,EACd,SAAmB,EACT,QAAc;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QAFV,cAAS,GAAT,SAAS,CAAU;;QAK3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;IAED,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;SAC3E;KACF;;;;IAKO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;;;YAG/E,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAc,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC;iBACvF,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC/E,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;iBACpF,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjE,IAAI,eAAe,EAAE;gBACnB,2BAA2B,EAAE,CAAC;aAC/B;SACF;KACF;;;YArDF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,YAAY;gBACtB,6FAA2B;gBAE3B,MAAM,EAAE,CAAC,OAAO,CAAC;gBACjB,IAAI,EAAE;oBACJ,OAAO,EAAE,aAAa;oBACtB,mCAAmC,EAAE,yBAAyB;oBAC9D,gCAAgC,EAAE,2BAA2B;iBAC9D;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;;aACtC;;;YAlCC,UAAU;YARJ,QAAQ;4CAoDX,MAAM,SAAC,QAAQ;;;2BALjB,eAAe,SAAC,aAAa,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;;AAsCrD;;;;SAIgB,2BAA2B;IACzC,MAAM,KAAK,CAAC,6DAA6D;QACvE,wFAAwF;QACxF,+CAA+C,CAAC,CAAC;AACrD;;ACrGA;;;;;;;MAkBa,gBAAgB;;;YAL5B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC;gBACrD,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;aAC1C;;;ACjBD;;;;;;;;ACAA;;;;;;"}
|
package/fesm2015/tree.js
CHANGED
|
@@ -13,11 +13,11 @@ import { take, map } from 'rxjs/operators';
|
|
|
13
13
|
* Use of this source code is governed by an MIT-style license that can be
|
|
14
14
|
* found in the LICENSE file at https://angular.io/license
|
|
15
15
|
*/
|
|
16
|
-
const
|
|
16
|
+
const _MatTreeNodeBase = mixinTabIndex(mixinDisabled(CdkTreeNode));
|
|
17
17
|
/**
|
|
18
18
|
* Wrapper for the CdkTree node with Material design styles.
|
|
19
19
|
*/
|
|
20
|
-
class MatTreeNode extends
|
|
20
|
+
class MatTreeNode extends _MatTreeNodeBase {
|
|
21
21
|
constructor(_elementRef, _tree, tabIndex) {
|
|
22
22
|
super(_elementRef, _tree);
|
|
23
23
|
this._elementRef = _elementRef;
|
package/fesm2015/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sources":["../../../../../../src/material/tree/node.ts","../../../../../../src/material/tree/padding.ts","../../../../../../src/material/tree/outlet.ts","../../../../../../src/material/tree/tree.ts","../../../../../../src/material/tree/toggle.ts","../../../../../../src/material/tree/tree-module.ts","../../../../../../src/material/tree/data-source/flat-data-source.ts","../../../../../../src/material/tree/data-source/nested-data-source.ts","../../../../../../src/material/tree/public-api.ts","../../../../../../src/material/tree/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n DoCheck,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy, OnInit,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty, NumberInput} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T, K = T> extends _MatTreeNodeMixinBase<T, K>\n implements CanDisable, DoCheck, HasTabIndex, OnInit, OnDestroy {\n\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T, K>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.classList.add('mat-tree-node');\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngDoCheck() {\n super.ngDoCheck();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_tabIndex: NumberInput;\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, DoCheck, OnDestroy, OnInit {\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T, K>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.classList.add('mat-nested-tree-node');\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngDoCheck() {\n super.ngDoCheck();\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding')\n get level(): number { return this._level; }\n set level(value: number) { this._setLevelInput(value); }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n get indent(): number | string { return this._indent; }\n set indent(indent: number | string) { this._setIndentInput(indent); }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [{\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }]\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n // The 'cdk-tree' class needs to be included here because classes set in the host in the\n // parent class are not inherited with View Engine. The 'cdk-tree' class in CdkTreeNode has\n // to be set in the host because:\n // if it is set as a @HostBinding it is not set by the time the tree nodes try to read the\n // class from it.\n // the ElementRef is not available in the constructor so the class can't be applied directly\n // without a breaking constructor change.\n 'class': 'mat-tree cdk-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\n// tslint:disable-next-line: coercion-types\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {\n @Input('matTreeNodeToggleRecursive')\n get recursive(): boolean { return this._recursive; }\n set recursive(value: boolean) {\n // TODO: when we remove support for ViewEngine, change this setter to an input\n // alias in the decorator metadata.\n this._recursive = coerceBooleanProperty(value);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, MatCommonModule],\n exports: [MatCommonModule, MAT_TREE_DIRECTIVES],\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F, K = F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[]) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData\n ).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data] as Observable<unknown>[])\n .pipe(map(() => this.data));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nexport * from './node';\nexport * from './padding';\nexport * from './tree';\nexport * from './tree-module';\nexport * from './toggle';\nexport * from './outlet';\nexport * from './data-source/flat-data-source';\nexport * from './data-source/nested-data-source';\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":"tree.js","sources":["../../../../../../src/material/tree/node.ts","../../../../../../src/material/tree/padding.ts","../../../../../../src/material/tree/outlet.ts","../../../../../../src/material/tree/tree.ts","../../../../../../src/material/tree/toggle.ts","../../../../../../src/material/tree/tree-module.ts","../../../../../../src/material/tree/data-source/flat-data-source.ts","../../../../../../src/material/tree/data-source/nested-data-source.ts","../../../../../../src/material/tree/public-api.ts","../../../../../../src/material/tree/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n DoCheck,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy, OnInit,\n} from '@angular/core';\nimport {\n CanDisable,\n HasTabIndex,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty, NumberInput} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeBase = mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T, K = T> extends _MatTreeNodeBase<T, K>\n implements CanDisable, DoCheck, HasTabIndex, OnInit, OnDestroy {\n\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T, K>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.classList.add('mat-tree-node');\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngDoCheck() {\n super.ngDoCheck();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_tabIndex: NumberInput;\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, DoCheck, OnDestroy, OnInit {\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T, K>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.classList.add('mat-nested-tree-node');\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngDoCheck() {\n super.ngDoCheck();\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding')\n get level(): number { return this._level; }\n set level(value: number) { this._setLevelInput(value); }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n get indent(): number | string { return this._indent; }\n set indent(indent: number | string) { this._setIndentInput(indent); }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [{\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }]\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n // The 'cdk-tree' class needs to be included here because classes set in the host in the\n // parent class are not inherited with View Engine. The 'cdk-tree' class in CdkTreeNode has\n // to be set in the host because:\n // if it is set as a @HostBinding it is not set by the time the tree nodes try to read the\n // class from it.\n // the ElementRef is not available in the constructor so the class can't be applied directly\n // without a breaking constructor change.\n 'class': 'mat-tree cdk-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\n// tslint:disable-next-line: coercion-types\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {\n @Input('matTreeNodeToggleRecursive')\n get recursive(): boolean { return this._recursive; }\n set recursive(value: boolean) {\n // TODO: when we remove support for ViewEngine, change this setter to an input\n // alias in the decorator metadata.\n this._recursive = coerceBooleanProperty(value);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, MatCommonModule],\n exports: [MatCommonModule, MAT_TREE_DIRECTIVES],\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F, K = F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[]) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData\n ).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data] as Observable<unknown>[])\n .pipe(map(() => this.data));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nexport * from './node';\nexport * from './padding';\nexport * from './tree';\nexport * from './tree-module';\nexport * from './toggle';\nexport * from './outlet';\nexport * from './data-source/flat-data-source';\nexport * from './data-source/nested-data-source';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@use '../core/theming/theming';
|
|
3
3
|
@use '../core/typography/typography';
|
|
4
4
|
@use '../core/typography/typography-utils';
|
|
5
|
+
@use '../core/style/private';
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
// Theme styles that only apply to the fill appearance of the form-field.
|
|
@@ -54,7 +55,7 @@ $fill-dedupe: 0;
|
|
|
54
55
|
@mixin _label-floating($font-scale, $infix-padding, $infix-margin-top) {
|
|
55
56
|
transform: translateY(-$infix-margin-top - $infix-padding + $fill-dedupe)
|
|
56
57
|
scale($font-scale);
|
|
57
|
-
width: 100
|
|
58
|
+
width: private.private-div(100%, $font-scale) + $fill-dedupe;
|
|
58
59
|
|
|
59
60
|
$fill-dedupe: $fill-dedupe + 0.00001 !global;
|
|
60
61
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '../core/theming/theming';
|
|
3
|
+
@use '../core/style/private';
|
|
3
4
|
@use '../core/style/form-common';
|
|
4
5
|
@use '../core/typography/typography';
|
|
5
6
|
@use '../core/typography/typography-utils';
|
|
@@ -54,7 +55,7 @@ $legacy-dedupe: 0;
|
|
|
54
55
|
-ms-transform: translateY(-$infix-margin-top - $infix-padding + $legacy-dedupe)
|
|
55
56
|
scale($font-scale);
|
|
56
57
|
|
|
57
|
-
width: 100
|
|
58
|
+
width: private.private-div(100%, $font-scale) + $legacy-dedupe;
|
|
58
59
|
|
|
59
60
|
$legacy-dedupe: $legacy-dedupe + 0.00001 !global;
|
|
60
61
|
}
|
|
@@ -79,7 +80,7 @@ $legacy-dedupe: 0;
|
|
|
79
80
|
$subscript-font-scale: 0.75;
|
|
80
81
|
// The amount of space between the top of the line and the top of the actual text
|
|
81
82
|
// (as a fraction of the font-size).
|
|
82
|
-
$line-spacing: ($line-height - 1
|
|
83
|
+
$line-spacing: private.private-div($line-height - 1, 2);
|
|
83
84
|
// The padding on the infix. Mocks show half of the text size, but seem to measure from the edge
|
|
84
85
|
// of the text itself, not the edge of the line; therefore we subtract off the line spacing.
|
|
85
86
|
$infix-padding: 0.5em - $line-spacing;
|
|
@@ -90,7 +91,7 @@ $legacy-dedupe: 0;
|
|
|
90
91
|
// text font size, so we need to divide by the scale factor to make it half of the original text
|
|
91
92
|
// size. We again need to subtract off the line spacing since the mocks measure to the edge of the
|
|
92
93
|
// text, not the edge of the line.
|
|
93
|
-
$subscript-margin-top: 0.5em
|
|
94
|
+
$subscript-margin-top: private.private-div(0.5em, $subscript-font-scale) - ($line-spacing * 2);
|
|
94
95
|
// The padding applied to the form-field-wrapper to reserve space for the subscript, since it's
|
|
95
96
|
// absolutely positioned. This is a combination of the subscript's margin and line-height, but we
|
|
96
97
|
// need to multiply by the subscript font scale factor since the wrapper has a larger font size.
|
|
@@ -143,7 +144,7 @@ $legacy-dedupe: 0;
|
|
|
143
144
|
|
|
144
145
|
// We want the subscript to start at the end of the content box, not the padding box,
|
|
145
146
|
// so we move it up by the padding amount (adjusted for the smaller font size);
|
|
146
|
-
top: calc(100% - #{$wrapper-padding-bottom
|
|
147
|
+
top: calc(100% - #{private.private-div($wrapper-padding-bottom, $subscript-font-scale)});
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use '../core/theming/theming';
|
|
3
|
+
@use '../core/style/private';
|
|
3
4
|
@use '../core/typography/typography';
|
|
4
5
|
@use '../core/typography/typography-utils';
|
|
5
6
|
|
|
@@ -77,7 +78,7 @@ $outline-dedupe: 0;
|
|
|
77
78
|
@mixin _label-floating($font-scale, $infix-padding, $infix-margin-top) {
|
|
78
79
|
transform: translateY(-$infix-margin-top - $infix-padding + $outline-dedupe)
|
|
79
80
|
scale($font-scale);
|
|
80
|
-
width: 100
|
|
81
|
+
width: private.private-div(100%, $font-scale) + $outline-dedupe;
|
|
81
82
|
|
|
82
83
|
$outline-dedupe: $outline-dedupe + 0.00001 !global;
|
|
83
84
|
}
|
|
@@ -97,7 +98,7 @@ $outline-dedupe: 0;
|
|
|
97
98
|
// Mocks show half of the text size, but this margin is applied to an element with the subscript
|
|
98
99
|
// text font size, so we need to divide by the scale factor to make it half of the original text
|
|
99
100
|
// size.
|
|
100
|
-
$subscript-margin-top: 0.5em
|
|
101
|
+
$subscript-margin-top: private.private-div(0.5em, $subscript-font-scale);
|
|
101
102
|
// The padding applied to the form-field-wrapper to reserve space for the subscript, since it's
|
|
102
103
|
// absolutely positioned. This is a combination of the subscript's margin and line-height, but we
|
|
103
104
|
// need to multiply by the subscript font scale factor since the wrapper has a larger font size.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@use '../core/theming/theming';
|
|
3
3
|
@use '../core/typography/typography';
|
|
4
4
|
@use '../core/typography/typography-utils';
|
|
5
|
+
@use '../core/style/private';
|
|
5
6
|
|
|
6
7
|
@use './form-field-fill-theme.scss';
|
|
7
8
|
@use './form-field-legacy-theme.scss';
|
|
@@ -126,7 +127,7 @@ $dedupe: 0;
|
|
|
126
127
|
@mixin _label-floating($font-scale, $infix-padding, $infix-margin-top) {
|
|
127
128
|
transform: translateY(-$infix-margin-top - $infix-padding + $dedupe)
|
|
128
129
|
scale($font-scale);
|
|
129
|
-
width: 100
|
|
130
|
+
width: private.private-div(100%, $font-scale) + $dedupe;
|
|
130
131
|
|
|
131
132
|
$dedupe: $dedupe + 0.00001 !global;
|
|
132
133
|
}
|
|
@@ -154,7 +155,7 @@ $dedupe: 0;
|
|
|
154
155
|
// Mocks show half of the text size, but this margin is applied to an element with the subscript
|
|
155
156
|
// text font size, so we need to divide by the scale factor to make it half of the original text
|
|
156
157
|
// size.
|
|
157
|
-
$subscript-margin-top: 0.5em
|
|
158
|
+
$subscript-margin-top: private.private-div(0.5em, $subscript-font-scale);
|
|
158
159
|
// The padding applied to the form-field-wrapper to reserve space for the subscript, since it's
|
|
159
160
|
// absolutely positioned. This is a combination of the subscript's margin and line-height, but we
|
|
160
161
|
// need to multiply by the subscript font scale factor since the wrapper has a larger font size.
|
|
@@ -231,7 +232,7 @@ $dedupe: 0;
|
|
|
231
232
|
|
|
232
233
|
// We want the subscript to start at the end of the content box, not the padding box,
|
|
233
234
|
// so we move it up by the padding amount (adjusted for the smaller font size);
|
|
234
|
-
top: calc(100% - #{$wrapper-padding-bottom
|
|
235
|
+
top: calc(100% - #{private.private-div($wrapper-padding-bottom, $subscript-font-scale)});
|
|
235
236
|
}
|
|
236
237
|
|
|
237
238
|
@include form-field-legacy-theme.legacy-typography($config);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { Directionality } from '@angular/cdk/bidi';
|
|
9
9
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
10
10
|
import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, InjectionToken, NgZone, QueryList, OnDestroy } from '@angular/core';
|
|
11
|
-
import { CanColor
|
|
11
|
+
import { CanColor } from '@angular/material/core';
|
|
12
12
|
import { MatError } from './error';
|
|
13
13
|
import { MatFormFieldControl } from './form-field-control';
|
|
14
14
|
import { MatHint } from './hint';
|
|
@@ -22,15 +22,11 @@ import { NgControl } from '@angular/forms';
|
|
|
22
22
|
* Boilerplate for applying mixins to MatFormField.
|
|
23
23
|
* @docs-private
|
|
24
24
|
*/
|
|
25
|
-
declare
|
|
26
|
-
_elementRef: ElementRef
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
* Base class to which we're applying the form field mixins.
|
|
31
|
-
* @docs-private
|
|
32
|
-
*/
|
|
33
|
-
declare const _MatFormFieldMixinBase: CanColorCtor & typeof MatFormFieldBase;
|
|
25
|
+
declare const _MatFormFieldBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanColor> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanColor> & {
|
|
26
|
+
new (_elementRef: ElementRef): {
|
|
27
|
+
_elementRef: ElementRef;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
34
30
|
/** Possible appearance styles for the form field. */
|
|
35
31
|
export declare type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';
|
|
36
32
|
/** Possible values for the "floatLabel" form-field input. */
|
|
@@ -60,7 +56,7 @@ export declare const MAT_FORM_FIELD_DEFAULT_OPTIONS: InjectionToken<MatFormField
|
|
|
60
56
|
*/
|
|
61
57
|
export declare const MAT_FORM_FIELD: InjectionToken<MatFormField>;
|
|
62
58
|
/** Container for form controls that applies Material Design styling and behavior. */
|
|
63
|
-
export declare class MatFormField extends
|
|
59
|
+
export declare class MatFormField extends _MatFormFieldBase implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy, CanColor {
|
|
64
60
|
_elementRef: ElementRef;
|
|
65
61
|
private _changeDetectorRef;
|
|
66
62
|
private _dir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"MatFormFieldModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":20,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MatError"},{"__symbolic":"reference","name":"MatFormField"},{"__symbolic":"reference","name":"MatHint"},{"__symbolic":"reference","name":"MatLabel"},{"__symbolic":"reference","name":"MatPlaceholder"},{"__symbolic":"reference","name":"MatPrefix"},{"__symbolic":"reference","name":"MatSuffix"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatCommonModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/cdk/observers","name":"ObserversModule","line":33,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/material/core","name":"MatCommonModule","line":36,"character":4},{"__symbolic":"reference","name":"MatError"},{"__symbolic":"reference","name":"MatFormField"},{"__symbolic":"reference","name":"MatHint"},{"__symbolic":"reference","name":"MatLabel"},{"__symbolic":"reference","name":"MatPlaceholder"},{"__symbolic":"reference","name":"MatPrefix"},{"__symbolic":"reference","name":"MatSuffix"}]}]}],"members":{}},"MAT_ERROR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":17,"character":29},"arguments":["MatError"]},"MatError":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"mat-error","host":{"class":"mat-error","[attr.id]":"id","aria-atomic":"true","$quoted$":["class","[attr.id]","aria-atomic"]},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_ERROR"},"useExisting":{"__symbolic":"reference","name":"MatError"}}]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":32,"character":15},"arguments":["aria-live"]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":32,"character":68}]}]}},"MatFormFieldAppearance":{"__symbolic":"interface"},"FloatLabelType":{"__symbolic":"interface"},"MatFormFieldDefaultOptions":{"__symbolic":"interface"},"MAT_FORM_FIELD_DEFAULT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":99,"character":8},"arguments":["MAT_FORM_FIELD_DEFAULT_OPTIONS"]},"MAT_FORM_FIELD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":106,"character":34},"arguments":["MatFormField"]},"MatFormField":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":156,"character":34,"module":"./form-field"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":109,"character":1},"arguments":[{"selector":"mat-form-field","exportAs":"matFormField","animations":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"matFormFieldAnimations"},"member":"transitionMessages"}],"host":{"class":"mat-form-field","[class.mat-form-field-appearance-standard]":"appearance == \"standard\"","[class.mat-form-field-appearance-fill]":"appearance == \"fill\"","[class.mat-form-field-appearance-outline]":"appearance == \"outline\"","[class.mat-form-field-appearance-legacy]":"appearance == \"legacy\"","[class.mat-form-field-invalid]":"_control.errorState","[class.mat-form-field-can-float]":"_canLabelFloat()","[class.mat-form-field-should-float]":"_shouldLabelFloat()","[class.mat-form-field-has-label]":"_hasFloatingLabel()","[class.mat-form-field-hide-placeholder]":"_hideControlPlaceholder()","[class.mat-form-field-disabled]":"_control.disabled","[class.mat-form-field-autofilled]":"_control.autofilled","[class.mat-focused]":"_control.focused","[class.ng-untouched]":"_shouldForward(\"untouched\")","[class.ng-touched]":"_shouldForward(\"touched\")","[class.ng-pristine]":"_shouldForward(\"pristine\")","[class.ng-dirty]":"_shouldForward(\"dirty\")","[class.ng-valid]":"_shouldForward(\"valid\")","[class.ng-invalid]":"_shouldForward(\"invalid\")","[class.ng-pending]":"_shouldForward(\"pending\")","[class._mat-animation-noopable]":"!_animationsEnabled","$quoted$":["class","[class.mat-form-field-appearance-standard]","[class.mat-form-field-appearance-fill]","[class.mat-form-field-appearance-outline]","[class.mat-form-field-appearance-legacy]","[class.mat-form-field-invalid]","[class.mat-form-field-can-float]","[class.mat-form-field-should-float]","[class.mat-form-field-has-label]","[class.mat-form-field-hide-placeholder]","[class.mat-form-field-disabled]","[class.mat-form-field-autofilled]","[class.mat-focused]","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]","[class._mat-animation-noopable]"]},"inputs":["color"],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":149,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":150,"character":19},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_FORM_FIELD"},"useExisting":{"__symbolic":"reference","name":"MatFormField"}}],"template":"<div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\" #connectionContainer\n (click)=\"_control.onContainerClick && _control.onContainerClick($event)\">\n\n <!-- Outline used for outline appearance. -->\n <ng-container *ngIf=\"appearance == 'outline'\">\n <div class=\"mat-form-field-outline\">\n <div class=\"mat-form-field-outline-start\"></div>\n <div class=\"mat-form-field-outline-gap\"></div>\n <div class=\"mat-form-field-outline-end\"></div>\n </div>\n <div class=\"mat-form-field-outline mat-form-field-outline-thick\">\n <div class=\"mat-form-field-outline-start\"></div>\n <div class=\"mat-form-field-outline-gap\"></div>\n <div class=\"mat-form-field-outline-end\"></div>\n </div>\n </ng-container>\n\n <div class=\"mat-form-field-prefix\" *ngIf=\"_prefixChildren.length\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n </div>\n\n <div class=\"mat-form-field-infix\" #inputContainer>\n <ng-content></ng-content>\n\n <span class=\"mat-form-field-label-wrapper\">\n <!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\n read if it comes before the control in the DOM. -->\n <label class=\"mat-form-field-label\"\n (cdkObserveContent)=\"updateOutlineGap()\"\n [cdkObserveContentDisabled]=\"appearance != 'outline'\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.id\"\n [attr.aria-owns]=\"_control.id\"\n [class.mat-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n [class.mat-form-field-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n [class.mat-accent]=\"color == 'accent'\"\n [class.mat-warn]=\"color == 'warn'\"\n #label\n *ngIf=\"_hasFloatingLabel()\"\n [ngSwitch]=\"_hasLabel()\">\n\n <!-- @breaking-change 8.0.0 remove in favor of mat-label element an placeholder attr. -->\n <ng-container *ngSwitchCase=\"false\">\n <ng-content select=\"mat-placeholder\"></ng-content>\n <span>{{_control.placeholder}}</span>\n </ng-container>\n\n <ng-content select=\"mat-label\" *ngSwitchCase=\"true\"></ng-content>\n\n <!-- @breaking-change 8.0.0 remove `mat-placeholder-required` class -->\n <span\n class=\"mat-placeholder-required mat-form-field-required-marker\"\n aria-hidden=\"true\"\n *ngIf=\"!hideRequiredMarker && _control.required && !_control.disabled\"> *</span>\n </label>\n </span>\n </div>\n\n <div class=\"mat-form-field-suffix\" *ngIf=\"_suffixChildren.length\">\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </div>\n\n <!-- Underline used for legacy, standard, and box appearances. -->\n <div class=\"mat-form-field-underline\" #underline\n *ngIf=\"appearance != 'outline'\">\n <span class=\"mat-form-field-ripple\"\n [class.mat-accent]=\"color == 'accent'\"\n [class.mat-warn]=\"color == 'warn'\"></span>\n </div>\n\n <div class=\"mat-form-field-subscript-wrapper\"\n [ngSwitch]=\"_getDisplayedMessages()\">\n <div *ngSwitchCase=\"'error'\" [@transitionMessages]=\"_subscriptAnimationState\">\n <ng-content select=\"mat-error\"></ng-content>\n </div>\n\n <div class=\"mat-form-field-hint-wrapper\" *ngSwitchCase=\"'hint'\"\n [@transitionMessages]=\"_subscriptAnimationState\">\n <!-- TODO(mmalerba): use an actual <mat-hint> once all selectors are switched to mat-* -->\n <div *ngIf=\"hintLabel\" [id]=\"_hintLabelId\" class=\"mat-hint\">{{hintLabel}}</div>\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n </div>\n</div>\n","styles":[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\n",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\"\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\n",".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\" \";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\"\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\n",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\n",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\n",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\n"]}]}],"members":{"appearance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3}}]}],"hideRequiredMarker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"_shouldAlwaysFloat":[{"__symbolic":"method"}],"_canLabelFloat":[{"__symbolic":"method"}],"hintLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3}}]}],"floatLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":229,"character":3}}]}],"underlineRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":248,"character":3},"arguments":["underline"]}]}],"_connectionContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":250,"character":3},"arguments":["connectionContainer",{"static":true}]}]}],"_inputContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":251,"character":3},"arguments":["inputContainer"]}]}],"_label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":252,"character":3},"arguments":["label"]}]}],"_controlNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":254,"character":3},"arguments":[{"__symbolic":"reference","name":"MatFormFieldControl"}]}]}],"_controlStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":255,"character":3},"arguments":[{"__symbolic":"reference","name":"MatFormFieldControl"},{"static":true}]}]}],"_labelChildNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":266,"character":3},"arguments":[{"__symbolic":"reference","name":"MatLabel"}]}]}],"_labelChildStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":267,"character":3},"arguments":[{"__symbolic":"reference","name":"MatLabel"},{"static":true}]}]}],"_placeholderChild":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":268,"character":3},"arguments":[{"__symbolic":"reference","name":"MatPlaceholder"}]}]}],"_errorChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":270,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_ERROR"},{"descendants":true}]}]}],"_hintChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":271,"character":3},"arguments":[{"__symbolic":"reference","name":"_MAT_HINT"},{"descendants":true}]}]}],"_prefixChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":272,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_PREFIX"},{"descendants":true}]}]}],"_suffixChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":273,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_SUFFIX"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":281,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":276,"character":26}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":284,"character":7}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":285,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":285,"character":19},"arguments":[{"__symbolic":"reference","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS"}]}],null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":287,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":287,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":287,"character":26}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":276,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":276,"character":66},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":284,"character":32},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":286,"character":57},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":286,"character":84},{"__symbolic":"reference","name":"string"}]}],"getLabelId":[{"__symbolic":"method"}],"getConnectedOverlayOrigin":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_shouldForward":[{"__symbolic":"method"}],"_hasPlaceholder":[{"__symbolic":"method"}],"_hasLabel":[{"__symbolic":"method"}],"_shouldLabelFloat":[{"__symbolic":"method"}],"_hideControlPlaceholder":[{"__symbolic":"method"}],"_hasFloatingLabel":[{"__symbolic":"method"}],"_getDisplayedMessages":[{"__symbolic":"method"}],"_animateAndLockLabel":[{"__symbolic":"method"}],"_validatePlaceholders":[{"__symbolic":"method"}],"_processHints":[{"__symbolic":"method"}],"_validateHints":[{"__symbolic":"method"}],"_getDefaultFloatLabelState":[{"__symbolic":"method"}],"_syncDescribedByIds":[{"__symbolic":"method"}],"_validateControlChild":[{"__symbolic":"method"}],"updateOutlineGap":[{"__symbolic":"method"}],"_getStartEnd":[{"__symbolic":"method"}],"_isAttachedToDOM":[{"__symbolic":"method"}]}},"MatFormFieldControl":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1}}],"members":{"setDescribedByIds":[{"__symbolic":"method"}],"onContainerClick":[{"__symbolic":"method"}]}},"getMatFormFieldPlaceholderConflictError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Placeholder attribute and child element were both specified."]}},"getMatFormFieldDuplicatedHintError":{"__symbolic":"function","parameters":["align"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":[{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"A hint was already declared for 'align=\"","right":{"__symbolic":"reference","name":"align"}},"right":"\"'."}]}},"getMatFormFieldMissingControlError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["mat-form-field must contain a MatFormFieldControl."]}},"_MAT_HINT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":29},"arguments":["MatHint"]},"MatHint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"mat-hint","host":{"class":"mat-hint","[class.mat-form-field-hint-end]":"align === \"end\"","[attr.id]":"id","[attr.align]":"null","$quoted$":["class","[class.mat-form-field-hint-end]","[attr.id]","[attr.align]"]},"providers":[{"provide":{"__symbolic":"reference","name":"_MAT_HINT"},"useExisting":{"__symbolic":"reference","name":"MatHint"}}]}]}],"members":{"align":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}]}},"MatPlaceholder":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"mat-placeholder"}]}],"members":{}},"MAT_PREFIX":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":30},"arguments":["MatPrefix"]},"MatPrefix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[matPrefix]","providers":[{"provide":{"__symbolic":"reference","name":"MAT_PREFIX"},"useExisting":{"__symbolic":"reference","name":"MatPrefix"}}]}]}],"members":{}},"MAT_SUFFIX":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":30},"arguments":["MatSuffix"]},"MatSuffix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[matSuffix]","providers":[{"provide":{"__symbolic":"reference","name":"MAT_SUFFIX"},"useExisting":{"__symbolic":"reference","name":"MatSuffix"}}]}]}],"members":{}},"MatLabel":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":12,"character":1},"arguments":[{"selector":"mat-label"}]}],"members":{}},"matFormFieldAnimations":{"transitionMessages":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":24,"character":22},"arguments":["transitionMessages",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":26,"character":4},"arguments":["enter",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":26,"character":19},"arguments":[{"opacity":1,"transform":"translateY(0%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":27,"character":4},"arguments":["void => enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":28,"character":6},"arguments":[{"opacity":0,"transform":"translateY(-5px)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":29,"character":6},"arguments":["300ms cubic-bezier(0.55, 0, 0.55, 0.2)"]}]]}]]}}},"origins":{"MatFormFieldModule":"./form-field-module","MAT_ERROR":"./error","MatError":"./error","MatFormFieldAppearance":"./form-field","FloatLabelType":"./form-field","MatFormFieldDefaultOptions":"./form-field","MAT_FORM_FIELD_DEFAULT_OPTIONS":"./form-field","MAT_FORM_FIELD":"./form-field","MatFormField":"./form-field","MatFormFieldControl":"./form-field-control","getMatFormFieldPlaceholderConflictError":"./form-field-errors","getMatFormFieldDuplicatedHintError":"./form-field-errors","getMatFormFieldMissingControlError":"./form-field-errors","_MAT_HINT":"./hint","MatHint":"./hint","MatPlaceholder":"./placeholder","MAT_PREFIX":"./prefix","MatPrefix":"./prefix","MAT_SUFFIX":"./suffix","MatSuffix":"./suffix","MatLabel":"./label","matFormFieldAnimations":"./form-field-animations"},"importAs":"@angular/material/form-field"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"MatFormFieldModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":20,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MatError"},{"__symbolic":"reference","name":"MatFormField"},{"__symbolic":"reference","name":"MatHint"},{"__symbolic":"reference","name":"MatLabel"},{"__symbolic":"reference","name":"MatPlaceholder"},{"__symbolic":"reference","name":"MatPrefix"},{"__symbolic":"reference","name":"MatSuffix"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatCommonModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/cdk/observers","name":"ObserversModule","line":33,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/material/core","name":"MatCommonModule","line":36,"character":4},{"__symbolic":"reference","name":"MatError"},{"__symbolic":"reference","name":"MatFormField"},{"__symbolic":"reference","name":"MatHint"},{"__symbolic":"reference","name":"MatLabel"},{"__symbolic":"reference","name":"MatPlaceholder"},{"__symbolic":"reference","name":"MatPrefix"},{"__symbolic":"reference","name":"MatSuffix"}]}]}],"members":{}},"MAT_ERROR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":17,"character":29},"arguments":["MatError"]},"MatError":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"mat-error","host":{"class":"mat-error","[attr.id]":"id","aria-atomic":"true","$quoted$":["class","[attr.id]","aria-atomic"]},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_ERROR"},"useExisting":{"__symbolic":"reference","name":"MatError"}}]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":32,"character":15},"arguments":["aria-live"]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":32,"character":68}]}]}},"MatFormFieldAppearance":{"__symbolic":"interface"},"FloatLabelType":{"__symbolic":"interface"},"MatFormFieldDefaultOptions":{"__symbolic":"interface"},"MAT_FORM_FIELD_DEFAULT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":92,"character":8},"arguments":["MAT_FORM_FIELD_DEFAULT_OPTIONS"]},"MAT_FORM_FIELD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":99,"character":34},"arguments":["MatFormField"]},"MatFormField":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":149,"character":34,"module":"./form-field"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":102,"character":1},"arguments":[{"selector":"mat-form-field","exportAs":"matFormField","animations":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"matFormFieldAnimations"},"member":"transitionMessages"}],"host":{"class":"mat-form-field","[class.mat-form-field-appearance-standard]":"appearance == \"standard\"","[class.mat-form-field-appearance-fill]":"appearance == \"fill\"","[class.mat-form-field-appearance-outline]":"appearance == \"outline\"","[class.mat-form-field-appearance-legacy]":"appearance == \"legacy\"","[class.mat-form-field-invalid]":"_control.errorState","[class.mat-form-field-can-float]":"_canLabelFloat()","[class.mat-form-field-should-float]":"_shouldLabelFloat()","[class.mat-form-field-has-label]":"_hasFloatingLabel()","[class.mat-form-field-hide-placeholder]":"_hideControlPlaceholder()","[class.mat-form-field-disabled]":"_control.disabled","[class.mat-form-field-autofilled]":"_control.autofilled","[class.mat-focused]":"_control.focused","[class.ng-untouched]":"_shouldForward(\"untouched\")","[class.ng-touched]":"_shouldForward(\"touched\")","[class.ng-pristine]":"_shouldForward(\"pristine\")","[class.ng-dirty]":"_shouldForward(\"dirty\")","[class.ng-valid]":"_shouldForward(\"valid\")","[class.ng-invalid]":"_shouldForward(\"invalid\")","[class.ng-pending]":"_shouldForward(\"pending\")","[class._mat-animation-noopable]":"!_animationsEnabled","$quoted$":["class","[class.mat-form-field-appearance-standard]","[class.mat-form-field-appearance-fill]","[class.mat-form-field-appearance-outline]","[class.mat-form-field-appearance-legacy]","[class.mat-form-field-invalid]","[class.mat-form-field-can-float]","[class.mat-form-field-should-float]","[class.mat-form-field-has-label]","[class.mat-form-field-hide-placeholder]","[class.mat-form-field-disabled]","[class.mat-form-field-autofilled]","[class.mat-focused]","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]","[class._mat-animation-noopable]"]},"inputs":["color"],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":142,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":143,"character":19},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","name":"MAT_FORM_FIELD"},"useExisting":{"__symbolic":"reference","name":"MatFormField"}}],"template":"<div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\" #connectionContainer\n (click)=\"_control.onContainerClick && _control.onContainerClick($event)\">\n\n <!-- Outline used for outline appearance. -->\n <ng-container *ngIf=\"appearance == 'outline'\">\n <div class=\"mat-form-field-outline\">\n <div class=\"mat-form-field-outline-start\"></div>\n <div class=\"mat-form-field-outline-gap\"></div>\n <div class=\"mat-form-field-outline-end\"></div>\n </div>\n <div class=\"mat-form-field-outline mat-form-field-outline-thick\">\n <div class=\"mat-form-field-outline-start\"></div>\n <div class=\"mat-form-field-outline-gap\"></div>\n <div class=\"mat-form-field-outline-end\"></div>\n </div>\n </ng-container>\n\n <div class=\"mat-form-field-prefix\" *ngIf=\"_prefixChildren.length\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n </div>\n\n <div class=\"mat-form-field-infix\" #inputContainer>\n <ng-content></ng-content>\n\n <span class=\"mat-form-field-label-wrapper\">\n <!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\n read if it comes before the control in the DOM. -->\n <label class=\"mat-form-field-label\"\n (cdkObserveContent)=\"updateOutlineGap()\"\n [cdkObserveContentDisabled]=\"appearance != 'outline'\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.id\"\n [attr.aria-owns]=\"_control.id\"\n [class.mat-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n [class.mat-form-field-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n [class.mat-accent]=\"color == 'accent'\"\n [class.mat-warn]=\"color == 'warn'\"\n #label\n *ngIf=\"_hasFloatingLabel()\"\n [ngSwitch]=\"_hasLabel()\">\n\n <!-- @breaking-change 8.0.0 remove in favor of mat-label element an placeholder attr. -->\n <ng-container *ngSwitchCase=\"false\">\n <ng-content select=\"mat-placeholder\"></ng-content>\n <span>{{_control.placeholder}}</span>\n </ng-container>\n\n <ng-content select=\"mat-label\" *ngSwitchCase=\"true\"></ng-content>\n\n <!-- @breaking-change 8.0.0 remove `mat-placeholder-required` class -->\n <span\n class=\"mat-placeholder-required mat-form-field-required-marker\"\n aria-hidden=\"true\"\n *ngIf=\"!hideRequiredMarker && _control.required && !_control.disabled\"> *</span>\n </label>\n </span>\n </div>\n\n <div class=\"mat-form-field-suffix\" *ngIf=\"_suffixChildren.length\">\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </div>\n\n <!-- Underline used for legacy, standard, and box appearances. -->\n <div class=\"mat-form-field-underline\" #underline\n *ngIf=\"appearance != 'outline'\">\n <span class=\"mat-form-field-ripple\"\n [class.mat-accent]=\"color == 'accent'\"\n [class.mat-warn]=\"color == 'warn'\"></span>\n </div>\n\n <div class=\"mat-form-field-subscript-wrapper\"\n [ngSwitch]=\"_getDisplayedMessages()\">\n <div *ngSwitchCase=\"'error'\" [@transitionMessages]=\"_subscriptAnimationState\">\n <ng-content select=\"mat-error\"></ng-content>\n </div>\n\n <div class=\"mat-form-field-hint-wrapper\" *ngSwitchCase=\"'hint'\"\n [@transitionMessages]=\"_subscriptAnimationState\">\n <!-- TODO(mmalerba): use an actual <mat-hint> once all selectors are switched to mat-* -->\n <div *ngIf=\"hintLabel\" [id]=\"_hintLabelId\" class=\"mat-hint\">{{hintLabel}}</div>\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n </div>\n</div>\n","styles":[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\n",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\"\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\n",".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\" \";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-input-element::placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{opacity:0}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\"\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\n",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\n",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\n",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\n"]}]}],"members":{"appearance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":3}}]}],"hideRequiredMarker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":178,"character":3}}]}],"_shouldAlwaysFloat":[{"__symbolic":"method"}],"_canLabelFloat":[{"__symbolic":"method"}],"hintLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":200,"character":3}}]}],"floatLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":222,"character":3}}]}],"underlineRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":241,"character":3},"arguments":["underline"]}]}],"_connectionContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":243,"character":3},"arguments":["connectionContainer",{"static":true}]}]}],"_inputContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":244,"character":3},"arguments":["inputContainer"]}]}],"_label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":245,"character":3},"arguments":["label"]}]}],"_controlNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":247,"character":3},"arguments":[{"__symbolic":"reference","name":"MatFormFieldControl"}]}]}],"_controlStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":248,"character":3},"arguments":[{"__symbolic":"reference","name":"MatFormFieldControl"},{"static":true}]}]}],"_labelChildNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":259,"character":3},"arguments":[{"__symbolic":"reference","name":"MatLabel"}]}]}],"_labelChildStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":260,"character":3},"arguments":[{"__symbolic":"reference","name":"MatLabel"},{"static":true}]}]}],"_placeholderChild":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":261,"character":3},"arguments":[{"__symbolic":"reference","name":"MatPlaceholder"}]}]}],"_errorChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":263,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_ERROR"},{"descendants":true}]}]}],"_hintChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":264,"character":3},"arguments":[{"__symbolic":"reference","name":"_MAT_HINT"},{"descendants":true}]}]}],"_prefixChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":265,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_PREFIX"},{"descendants":true}]}]}],"_suffixChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":266,"character":3},"arguments":[{"__symbolic":"reference","name":"MAT_SUFFIX"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":274,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":269,"character":26}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":277,"character":7}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":278,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":278,"character":19},"arguments":[{"__symbolic":"reference","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS"}]}],null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":280,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":280,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ANIMATION_MODULE_TYPE","line":280,"character":26}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":269,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":269,"character":66},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/bidi","name":"Directionality","line":277,"character":32},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":279,"character":57},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":279,"character":84},{"__symbolic":"reference","name":"string"}]}],"getLabelId":[{"__symbolic":"method"}],"getConnectedOverlayOrigin":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_shouldForward":[{"__symbolic":"method"}],"_hasPlaceholder":[{"__symbolic":"method"}],"_hasLabel":[{"__symbolic":"method"}],"_shouldLabelFloat":[{"__symbolic":"method"}],"_hideControlPlaceholder":[{"__symbolic":"method"}],"_hasFloatingLabel":[{"__symbolic":"method"}],"_getDisplayedMessages":[{"__symbolic":"method"}],"_animateAndLockLabel":[{"__symbolic":"method"}],"_validatePlaceholders":[{"__symbolic":"method"}],"_processHints":[{"__symbolic":"method"}],"_validateHints":[{"__symbolic":"method"}],"_getDefaultFloatLabelState":[{"__symbolic":"method"}],"_syncDescribedByIds":[{"__symbolic":"method"}],"_validateControlChild":[{"__symbolic":"method"}],"updateOutlineGap":[{"__symbolic":"method"}],"_getStartEnd":[{"__symbolic":"method"}],"_isAttachedToDOM":[{"__symbolic":"method"}]}},"MatFormFieldControl":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1}}],"members":{"setDescribedByIds":[{"__symbolic":"method"}],"onContainerClick":[{"__symbolic":"method"}]}},"getMatFormFieldPlaceholderConflictError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Placeholder attribute and child element were both specified."]}},"getMatFormFieldDuplicatedHintError":{"__symbolic":"function","parameters":["align"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":[{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"A hint was already declared for 'align=\"","right":{"__symbolic":"reference","name":"align"}},"right":"\"'."}]}},"getMatFormFieldMissingControlError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["mat-form-field must contain a MatFormFieldControl."]}},"_MAT_HINT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":20,"character":29},"arguments":["MatHint"]},"MatHint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"mat-hint","host":{"class":"mat-hint","[class.mat-form-field-hint-end]":"align === \"end\"","[attr.id]":"id","[attr.align]":"null","$quoted$":["class","[class.mat-form-field-hint-end]","[attr.id]","[attr.align]"]},"providers":[{"provide":{"__symbolic":"reference","name":"_MAT_HINT"},"useExisting":{"__symbolic":"reference","name":"MatHint"}}]}]}],"members":{"align":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}]}},"MatPlaceholder":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"mat-placeholder"}]}],"members":{}},"MAT_PREFIX":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":30},"arguments":["MatPrefix"]},"MatPrefix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[matPrefix]","providers":[{"provide":{"__symbolic":"reference","name":"MAT_PREFIX"},"useExisting":{"__symbolic":"reference","name":"MatPrefix"}}]}]}],"members":{}},"MAT_SUFFIX":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":30},"arguments":["MatSuffix"]},"MatSuffix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[matSuffix]","providers":[{"provide":{"__symbolic":"reference","name":"MAT_SUFFIX"},"useExisting":{"__symbolic":"reference","name":"MatSuffix"}}]}]}],"members":{}},"MatLabel":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":12,"character":1},"arguments":[{"selector":"mat-label"}]}],"members":{}},"matFormFieldAnimations":{"transitionMessages":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":24,"character":22},"arguments":["transitionMessages",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":26,"character":4},"arguments":["enter",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":26,"character":19},"arguments":[{"opacity":1,"transform":"translateY(0%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":27,"character":4},"arguments":["void => enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":28,"character":6},"arguments":[{"opacity":0,"transform":"translateY(-5px)"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":29,"character":6},"arguments":["300ms cubic-bezier(0.55, 0, 0.55, 0.2)"]}]]}]]}}},"origins":{"MatFormFieldModule":"./form-field-module","MAT_ERROR":"./error","MatError":"./error","MatFormFieldAppearance":"./form-field","FloatLabelType":"./form-field","MatFormFieldDefaultOptions":"./form-field","MAT_FORM_FIELD_DEFAULT_OPTIONS":"./form-field","MAT_FORM_FIELD":"./form-field","MatFormField":"./form-field","MatFormFieldControl":"./form-field-control","getMatFormFieldPlaceholderConflictError":"./form-field-errors","getMatFormFieldDuplicatedHintError":"./form-field-errors","getMatFormFieldMissingControlError":"./form-field-errors","_MAT_HINT":"./hint","MatHint":"./hint","MatPlaceholder":"./placeholder","MAT_PREFIX":"./prefix","MatPrefix":"./prefix","MAT_SUFFIX":"./suffix","MatSuffix":"./suffix","MatLabel":"./label","matFormFieldAnimations":"./form-field-animations"},"importAs":"@angular/material/form-field"}
|