@angular/material 9.2.0 → 9.2.4
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/_theming.scss +19 -4
- package/autocomplete/index.metadata.json +1 -1
- package/autocomplete/testing/autocomplete-harness.d.ts +4 -1
- package/badge/index.metadata.json +1 -1
- package/bottom-sheet/bottom-sheet.d.ts +2 -1
- package/bundles/material-autocomplete-testing.umd.js +55 -8
- package/bundles/material-autocomplete-testing.umd.js.map +1 -1
- package/bundles/material-autocomplete-testing.umd.min.js +4 -5
- package/bundles/material-autocomplete-testing.umd.min.js.map +1 -1
- package/bundles/material-autocomplete.umd.js +28 -27
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +5 -5
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-badge.umd.js +1 -1
- package/bundles/material-badge.umd.js.map +1 -1
- package/bundles/material-badge.umd.min.js +1 -1
- package/bundles/material-badge.umd.min.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.js +3 -2
- package/bundles/material-bottom-sheet.umd.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.min.js +1 -1
- package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
- package/bundles/material-button-toggle.umd.js +16 -6
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.min.js +3 -3
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-chips.umd.js +19 -3
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +4 -4
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +95 -71
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +9 -9
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +23 -10
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +7 -7
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +46 -27
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +6 -6
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-expansion.umd.js +3 -3
- package/bundles/material-expansion.umd.js.map +1 -1
- package/bundles/material-expansion.umd.min.js +1 -1
- package/bundles/material-expansion.umd.min.js.map +1 -1
- package/bundles/material-form-field.umd.js +6 -4
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +3 -3
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-icon.umd.js +9 -5
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-icon.umd.min.js +3 -3
- package/bundles/material-icon.umd.min.js.map +1 -1
- package/bundles/material-input.umd.js +18 -14
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-input.umd.min.js +1 -1
- package/bundles/material-input.umd.min.js.map +1 -1
- package/bundles/material-list.umd.js +4 -4
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -2
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +5 -5
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +6 -6
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +62 -47
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +10 -2
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select-testing.umd.js +45 -10
- package/bundles/material-select-testing.umd.js.map +1 -1
- package/bundles/material-select-testing.umd.min.js +2 -3
- package/bundles/material-select-testing.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +23 -14
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +3 -3
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-sidenav.umd.js +2 -1
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.min.js +2 -2
- package/bundles/material-sidenav.umd.min.js.map +1 -1
- package/bundles/material-slider.umd.js +14 -12
- package/bundles/material-slider.umd.js.map +1 -1
- package/bundles/material-slider.umd.min.js +1 -1
- package/bundles/material-slider.umd.min.js.map +1 -1
- package/bundles/material-table.umd.js +1 -1
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +9 -6
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +1 -1
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +5 -5
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +3 -3
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js +1 -1
- package/bundles/material-tree.umd.js.map +1 -1
- package/bundles/material-tree.umd.min.js +1 -1
- package/bundles/material-tree.umd.min.js.map +1 -1
- package/button-toggle/index.metadata.json +1 -1
- package/chips/chip.d.ts +10 -3
- package/chips/index.metadata.json +1 -1
- package/core/index.metadata.json +1 -1
- package/core/ripple/ripple-renderer.d.ts +10 -3
- package/core/ripple/ripple.d.ts +2 -1
- package/datepicker/datepicker-input.d.ts +5 -2
- package/datepicker/index.metadata.json +1 -1
- package/dialog/dialog-container.d.ts +9 -2
- package/dialog/dialog-ref.d.ts +5 -0
- package/dialog/index.metadata.json +1 -1
- package/esm2015/autocomplete/autocomplete-module.js +3 -1
- package/esm2015/autocomplete/autocomplete-trigger.js +25 -24
- package/esm2015/autocomplete/testing/autocomplete-harness.js +18 -7
- package/esm2015/badge/badge-module.js +2 -2
- package/esm2015/bottom-sheet/bottom-sheet.js +5 -3
- package/esm2015/button-toggle/button-toggle.js +18 -7
- package/esm2015/chips/chip-list.js +5 -2
- package/esm2015/chips/chip.js +34 -4
- package/esm2015/core/common-behaviors/common-module.js +1 -1
- package/esm2015/core/ripple/ripple-renderer.js +140 -119
- package/esm2015/core/ripple/ripple.js +10 -7
- package/esm2015/core/version.js +1 -1
- package/esm2015/datepicker/calendar-body.js +3 -3
- package/esm2015/datepicker/calendar.js +3 -3
- package/esm2015/datepicker/datepicker-input.js +17 -2
- package/esm2015/datepicker/datepicker-module.js +3 -1
- package/esm2015/datepicker/datepicker.js +8 -2
- package/esm2015/dialog/dialog-container.js +37 -17
- package/esm2015/dialog/dialog-ref.js +24 -6
- package/esm2015/dialog/dialog.js +1 -12
- package/esm2015/expansion/expansion-panel-header.js +3 -3
- package/esm2015/expansion/expansion-panel.js +1 -1
- package/esm2015/form-field/form-field-module.js +5 -2
- package/esm2015/icon/icon.js +15 -2
- package/esm2015/input/input.js +26 -23
- package/esm2015/list/selection-list.js +8 -6
- package/esm2015/menu/menu-module.js +3 -2
- package/esm2015/radio/public-api.js +2 -2
- package/esm2015/radio/radio.js +70 -59
- package/esm2015/select/select-module.js +10 -2
- package/esm2015/select/select.js +12 -10
- package/esm2015/select/testing/select-harness.js +11 -6
- package/esm2015/sidenav/sidenav-module.js +4 -3
- package/esm2015/slider/slider.js +17 -15
- package/esm2015/snack-bar/snack-bar.js +1 -1
- package/esm2015/table/table-module.js +2 -2
- package/esm2015/tabs/paginated-tab-header.js +7 -4
- package/esm2015/tabs/tab-header.js +1 -1
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +3 -3
- package/esm2015/tooltip/tooltip-module.js +3 -2
- package/esm2015/tree/tree-module.js +2 -2
- package/esm5/autocomplete/autocomplete-module.js +3 -1
- package/esm5/autocomplete/autocomplete-trigger.js +24 -24
- package/esm5/autocomplete/testing/autocomplete-harness.js +56 -9
- package/esm5/badge/badge-module.js +2 -2
- package/esm5/bottom-sheet/bottom-sheet.js +4 -3
- package/esm5/button-toggle/button-toggle.js +17 -7
- package/esm5/chips/chip-list.js +5 -2
- package/esm5/chips/chip.js +17 -4
- package/esm5/core/common-behaviors/common-module.js +1 -1
- package/esm5/core/ripple/ripple-renderer.js +91 -65
- package/esm5/core/ripple/ripple.js +4 -6
- package/esm5/core/version.js +1 -1
- package/esm5/datepicker/calendar-body.js +3 -3
- package/esm5/datepicker/calendar.js +3 -3
- package/esm5/datepicker/datepicker-input.js +8 -2
- package/esm5/datepicker/datepicker-module.js +3 -1
- package/esm5/datepicker/datepicker.js +8 -2
- package/esm5/dialog/dialog-container.js +29 -15
- package/esm5/dialog/dialog-ref.js +19 -6
- package/esm5/dialog/dialog.js +1 -9
- package/esm5/expansion/expansion-panel-header.js +3 -3
- package/esm5/expansion/expansion-panel.js +1 -1
- package/esm5/form-field/form-field-module.js +5 -2
- package/esm5/icon/icon.js +7 -2
- package/esm5/input/input.js +20 -16
- package/esm5/list/selection-list.js +5 -5
- package/esm5/menu/menu-module.js +3 -2
- package/esm5/radio/radio.js +63 -48
- package/esm5/select/select-module.js +10 -2
- package/esm5/select/select.js +12 -10
- package/esm5/select/testing/select-harness.js +46 -11
- package/esm5/sidenav/sidenav-module.js +4 -3
- package/esm5/slider/slider.js +15 -13
- package/esm5/table/table-module.js +2 -2
- package/esm5/tabs/paginated-tab-header.js +7 -4
- package/esm5/tabs/tab-header.js +1 -1
- package/esm5/tabs/tab-nav-bar/tab-nav-bar.js +3 -3
- package/esm5/tooltip/tooltip-module.js +3 -2
- package/esm5/tree/tree-module.js +2 -2
- package/expansion/index.metadata.json +1 -1
- package/fesm2015/autocomplete/testing.js +17 -6
- package/fesm2015/autocomplete/testing.js.map +1 -1
- package/fesm2015/autocomplete.js +26 -24
- package/fesm2015/autocomplete.js.map +1 -1
- package/fesm2015/badge.js +1 -1
- package/fesm2015/badge.js.map +1 -1
- package/fesm2015/bottom-sheet.js +4 -2
- package/fesm2015/bottom-sheet.js.map +1 -1
- package/fesm2015/button-toggle.js +17 -6
- package/fesm2015/button-toggle.js.map +1 -1
- package/fesm2015/chips.js +37 -4
- package/fesm2015/chips.js.map +1 -1
- package/fesm2015/core.js +150 -126
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/datepicker.js +29 -6
- package/fesm2015/datepicker.js.map +1 -1
- package/fesm2015/dialog.js +59 -32
- package/fesm2015/dialog.js.map +1 -1
- package/fesm2015/expansion.js +3 -3
- package/fesm2015/expansion.js.map +1 -1
- package/fesm2015/form-field.js +4 -2
- package/fesm2015/form-field.js.map +1 -1
- package/fesm2015/icon.js +14 -2
- package/fesm2015/icon.js.map +1 -1
- package/fesm2015/input.js +25 -22
- package/fesm2015/input.js.map +1 -1
- package/fesm2015/list.js +7 -5
- package/fesm2015/list.js.map +1 -1
- package/fesm2015/menu.js +2 -1
- package/fesm2015/menu.js.map +1 -1
- package/fesm2015/radio.js +71 -60
- package/fesm2015/radio.js.map +1 -1
- package/fesm2015/select/testing.js +10 -5
- package/fesm2015/select/testing.js.map +1 -1
- package/fesm2015/select.js +20 -11
- package/fesm2015/select.js.map +1 -1
- package/fesm2015/sidenav.js +3 -2
- package/fesm2015/sidenav.js.map +1 -1
- package/fesm2015/slider.js +16 -14
- package/fesm2015/slider.js.map +1 -1
- package/fesm2015/table.js +1 -1
- package/fesm2015/table.js.map +1 -1
- package/fesm2015/tabs.js +9 -6
- package/fesm2015/tabs.js.map +1 -1
- package/fesm2015/tooltip.js +2 -2
- package/fesm2015/tooltip.js.map +1 -1
- package/fesm2015/tree.js +1 -1
- package/fesm2015/tree.js.map +1 -1
- package/fesm5/autocomplete/testing.js +55 -8
- package/fesm5/autocomplete/testing.js.map +1 -1
- package/fesm5/autocomplete.js +25 -24
- package/fesm5/autocomplete.js.map +1 -1
- package/fesm5/badge.js +1 -1
- package/fesm5/badge.js.map +1 -1
- package/fesm5/bottom-sheet.js +3 -2
- package/fesm5/bottom-sheet.js.map +1 -1
- package/fesm5/button-toggle.js +16 -6
- package/fesm5/button-toggle.js.map +1 -1
- package/fesm5/chips.js +20 -4
- package/fesm5/chips.js.map +1 -1
- package/fesm5/core.js +95 -71
- package/fesm5/core.js.map +1 -1
- package/fesm5/datepicker.js +20 -6
- package/fesm5/datepicker.js.map +1 -1
- package/fesm5/dialog.js +46 -27
- package/fesm5/dialog.js.map +1 -1
- package/fesm5/expansion.js +3 -3
- package/fesm5/expansion.js.map +1 -1
- package/fesm5/form-field.js +4 -2
- package/fesm5/form-field.js.map +1 -1
- package/fesm5/icon.js +6 -2
- package/fesm5/icon.js.map +1 -1
- package/fesm5/input.js +19 -15
- package/fesm5/input.js.map +1 -1
- package/fesm5/list.js +4 -4
- package/fesm5/list.js.map +1 -1
- package/fesm5/menu.js +2 -1
- package/fesm5/menu.js.map +1 -1
- package/fesm5/radio.js +63 -49
- package/fesm5/radio.js.map +1 -1
- package/fesm5/select/testing.js +45 -10
- package/fesm5/select/testing.js.map +1 -1
- package/fesm5/select.js +20 -11
- package/fesm5/select.js.map +1 -1
- package/fesm5/sidenav.js +3 -2
- package/fesm5/sidenav.js.map +1 -1
- package/fesm5/slider.js +14 -12
- package/fesm5/slider.js.map +1 -1
- package/fesm5/table.js +1 -1
- package/fesm5/table.js.map +1 -1
- package/fesm5/tabs.js +9 -6
- package/fesm5/tabs.js.map +1 -1
- package/fesm5/tooltip.js +2 -2
- package/fesm5/tooltip.js.map +1 -1
- package/fesm5/tree.js +1 -1
- package/fesm5/tree.js.map +1 -1
- package/form-field/index.metadata.json +1 -1
- package/icon/icon.d.ts +2 -0
- package/icon/index.metadata.json +1 -1
- package/input/index.metadata.json +1 -1
- package/input/input.d.ts +4 -4
- package/list/index.metadata.json +1 -1
- package/menu/index.metadata.json +1 -1
- package/package.json +2 -2
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/radio/index.metadata.json +1 -1
- package/radio/radio.d.ts +8 -2
- package/schematics/collection.json +0 -7
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/index.js +23 -23
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/find-hammer-script-tags.d.ts +1 -1
- package/schematics/ng-update/migrations/hammer-gestures-v9/find-hammer-script-tags.js +51 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/find-main-module.d.ts +1 -1
- package/schematics/ng-update/migrations/hammer-gestures-v9/find-main-module.js +41 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/gesture-config.template +0 -0
- package/schematics/ng-update/{upgrade-rules/hammer-gestures-v9/hammer-gestures-rule.d.ts → migrations/hammer-gestures-v9/hammer-gestures-migration.d.ts} +6 -6
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +784 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/hammer-template-check.d.ts +1 -1
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-template-check.js +65 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/import-manager.d.ts +4 -4
- package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +379 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/remove-array-element.d.ts +1 -1
- package/schematics/ng-update/migrations/hammer-gestures-v9/remove-array-element.js +75 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/hammer-gestures-v9/remove-element-from-html.d.ts +1 -1
- package/schematics/ng-update/migrations/hammer-gestures-v9/remove-element-from-html.js +37 -0
- package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.d.ts +19 -0
- package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.js +57 -0
- package/schematics/ng-update/{upgrade-rules/misc-checks/misc-class-names-rule.d.ts → migrations/misc-checks/misc-class-names.d.ts} +5 -5
- package/schematics/ng-update/migrations/misc-checks/misc-class-names.js +52 -0
- package/schematics/ng-update/{upgrade-rules/misc-checks/misc-imports-rule.d.ts → migrations/misc-checks/misc-imports.d.ts} +5 -5
- package/schematics/ng-update/migrations/misc-checks/misc-imports.js +63 -0
- package/schematics/ng-update/{upgrade-rules/misc-checks/misc-property-names-rule.d.ts → migrations/misc-checks/misc-property-names.d.ts} +5 -5
- package/schematics/ng-update/migrations/misc-checks/misc-property-names.js +56 -0
- package/schematics/ng-update/migrations/misc-checks/misc-template.d.ts +17 -0
- package/schematics/ng-update/migrations/misc-checks/misc-template.js +69 -0
- package/schematics/ng-update/{upgrade-rules/misc-ripples-v7/ripple-speed-factor-rule.d.ts → migrations/misc-ripples-v7/ripple-speed-factor-migration.d.ts} +5 -5
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +147 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/misc-ripples-v7/ripple-speed-factor.d.ts +1 -1
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor.js +39 -0
- package/schematics/ng-update/{upgrade-rules → migrations}/package-imports-v8/material-symbols.json +0 -0
- package/schematics/ng-update/{upgrade-rules/package-imports-v8/secondary-entry-points-rule.d.ts → migrations/package-imports-v8/secondary-entry-points-migration.d.ts} +5 -5
- package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +177 -0
- package/schematics/ng-update/upgrade-data.d.ts +2 -2
- package/schematics/ng-update/upgrade-data.js +1 -1
- package/select/index.metadata.json +1 -1
- package/select/testing/select-harness.d.ts +2 -1
- package/sidenav/index.metadata.json +1 -1
- package/table/index.metadata.json +1 -1
- package/tabs/_tabs-common.scss +5 -3
- package/tabs/index.metadata.json +1 -1
- package/tooltip/index.metadata.json +1 -1
- package/tree/index.metadata.json +1 -1
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/find-hammer-script-tags.js +0 -51
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/find-main-module.js +0 -41
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/hammer-gestures-rule.js +0 -781
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/hammer-template-check.js +0 -65
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/import-manager.js +0 -379
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/remove-array-element.js +0 -75
- package/schematics/ng-update/upgrade-rules/hammer-gestures-v9/remove-element-from-html.js +0 -37
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.d.ts +0 -19
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.js +0 -57
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-names-rule.js +0 -52
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-imports-rule.js +0 -63
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-property-names-rule.js +0 -56
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.d.ts +0 -17
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.js +0 -69
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor-rule.js +0 -147
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor.js +0 -39
- package/schematics/ng-update/upgrade-rules/package-imports-v8/secondary-entry-points-rule.js +0 -177
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/material/material-form-field.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","formField","common","core","cdk","observers","bidi","coercion","rxjs","operators","animations","platform","platformBrowser","this","core$1","animations$1","nextUniqueId","MatError","id","decorators","type","Directive","args","selector","host","class","role","[attr.id]","propDecorators","Input","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","nextUniqueId$1","MatHint","[class.mat-right]","[attr.align]","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","nextUniqueId$2","_MatFormFieldMixinBase","mixinColor","MatFormFieldBase","_elementRef","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MAT_FORM_FIELD","MatFormField","_super","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","call","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_destroyed","Subject","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","_getDefaultFloatLabelState","_animationsEnabled","appearance","_hideRequiredMarker","hideRequiredMarker","__extends","__","constructor","prototype","create","defineProperty","get","_appearance","set","value","oldValue","enumerable","configurable","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","_explicitFormFieldControl","_controlNonStatic","_controlStatic","_labelChildNonStatic","_labelChildStatic","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","takeUntil","runOutsideAngular","onStable","asObservable","updateOutlineGap","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","change","requestAnimationFrame","ngAfterContentChecked","ngAfterViewInit","detectChanges","ngOnDestroy","next","complete","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","_label","fromEvent","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","float","ids","startHint","find","endHint","push","map","error","setDescribedByIds","e_1","_a","labelEl","children","textContent","trim","isBrowser","_isAttachedToDOM","startWidth","gapWidth","container","startEls","querySelectorAll","gapEls","containerRect","getBoundingClientRect","width","height","containerStart","_getStartEnd","labelStart","labelWidth","_b","__values","o","m","Symbol","iterator","i","done","_c","offsetWidth","e_1_1","return","Math","abs","outlineGapPadding","rect","right","left","element","getRootNode","rootNode","document","documentElement","contains","Component","exportAs","template","[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.mat-accent]","[class.mat-warn]","[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","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","useExisting","styles","ctorParameters","ElementRef","ChangeDetectorRef","undefined","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","NgZone","String","ANIMATION_MODULE_TYPE","underlineRef","ViewChild","static","_inputContainerRef","ContentChild","ContentChildren","descendants","MatFormFieldModule","NgModule","declarations","imports","CommonModule","ObserversModule"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/cdk/observers'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/material/core'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@angular/cdk/platform'), require('@angular/platform-browser/animations')) :\n typeof define === 'function' && define.amd ? define('@angular/material/form-field', ['exports', '@angular/common', '@angular/core', '@angular/cdk/observers', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/material/core', 'rxjs', 'rxjs/operators', '@angular/animations', '@angular/cdk/platform', '@angular/platform-browser/animations'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.formField = {}), global.ng.common, global.ng.core, global.ng.cdk.observers, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.material.core, global.rxjs, global.rxjs.operators, global.ng.animations, global.ng.cdk.platform, global.ng.platformBrowser.animations));\n}(this, (function (exports, common, core, observers, bidi, coercion, core$1, rxjs, operators, animations, platform, animations$1) { 'use strict';\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 var nextUniqueId = 0;\n /** Single error message to be shown underneath the form field. */\n var MatError = /** @class */ (function () {\n function MatError() {\n this.id = \"mat-error-\" + nextUniqueId++;\n }\n MatError.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n },] }\n ];\n MatError.propDecorators = {\n id: [{ type: core.Input }]\n };\n return MatError;\n }());\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation. All rights reserved.\r\n Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\n this file except in compliance with the License. You may obtain a copy of the\r\n License at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\n MERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\n See the Apache Version 2.0 License for specific language governing permissions\r\n and limitations under the License.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n\r\n function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n }\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n }\r\n\r\n function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n }\r\n\r\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n }\r\n\r\n function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n }\r\n\r\n function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n }\r\n\r\n function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n }\r\n\r\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n }\r\n\r\n function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n }\r\n\r\n function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n }\r\n\r\n function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n }\r\n\r\n function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n }\r\n\r\n function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\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 * Animations used by the MatFormField.\n * @docs-private\n */\n var matFormFieldAnimations = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: animations.trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n animations.state('enter', animations.style({ opacity: 1, transform: 'translateY(0%)' })),\n animations.transition('void => enter', [\n animations.style({ opacity: 0, transform: 'translateY(-100%)' }),\n animations.animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\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 /** An interface which allows a control to work inside of a `MatFormField`. */\n var MatFormFieldControl = /** @class */ (function () {\n function MatFormFieldControl() {\n }\n MatFormFieldControl.decorators = [\n { type: core.Directive }\n ];\n return MatFormFieldControl;\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 /** @docs-private */\n function getMatFormFieldPlaceholderConflictError() {\n return Error('Placeholder attribute and child element were both specified.');\n }\n /** @docs-private */\n function getMatFormFieldDuplicatedHintError(align) {\n return Error(\"A hint was already declared for 'align=\\\"\" + align + \"\\\"'.\");\n }\n /** @docs-private */\n function getMatFormFieldMissingControlError() {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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 var nextUniqueId$1 = 0;\n /** Hint text to be shown underneath the form field control. */\n var MatHint = /** @class */ (function () {\n function MatHint() {\n /** Whether to align the hint label at the start or end of the line. */\n this.align = 'start';\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n this.id = \"mat-hint-\" + nextUniqueId$1++;\n }\n MatHint.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-right]': 'align == \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n }\n },] }\n ];\n MatHint.propDecorators = {\n align: [{ type: core.Input }],\n id: [{ type: core.Input }]\n };\n return MatHint;\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 /** The floating label for a `mat-form-field`. */\n var MatLabel = /** @class */ (function () {\n function MatLabel() {\n }\n MatLabel.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-label'\n },] }\n ];\n return MatLabel;\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 * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\n var MatPlaceholder = /** @class */ (function () {\n function MatPlaceholder() {\n }\n MatPlaceholder.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-placeholder'\n },] }\n ];\n return MatPlaceholder;\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 /** Prefix to be placed in front of the form field. */\n var MatPrefix = /** @class */ (function () {\n function MatPrefix() {\n }\n MatPrefix.decorators = [\n { type: core.Directive, args: [{\n selector: '[matPrefix]',\n },] }\n ];\n return MatPrefix;\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 /** Suffix to be placed at the end of the form field. */\n var MatSuffix = /** @class */ (function () {\n function MatSuffix() {\n }\n MatSuffix.decorators = [\n { type: core.Directive, args: [{\n selector: '[matSuffix]',\n },] }\n ];\n return MatSuffix;\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 var nextUniqueId$2 = 0;\n var floatingLabelScale = 0.75;\n var outlineGapPadding = 5;\n /**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\n var MatFormFieldBase = /** @class */ (function () {\n function MatFormFieldBase(_elementRef) {\n this._elementRef = _elementRef;\n }\n return MatFormFieldBase;\n }());\n /**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\n var _MatFormFieldMixinBase = core$1.mixinColor(MatFormFieldBase, 'primary');\n /**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\n var MAT_FORM_FIELD_DEFAULT_OPTIONS = new core.InjectionToken('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n /**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\n var MAT_FORM_FIELD = new core.InjectionToken('MatFormField');\n /** Container for form controls that applies Material Design styling and behavior. */\n var MatFormField = /** @class */ (function (_super) {\n __extends(MatFormField, _super);\n function MatFormField(_elementRef, _changeDetectorRef, labelOptions, _dir, _defaults, _platform, _ngZone, _animationMode) {\n var _this = _super.call(this, _elementRef) || this;\n _this._elementRef = _elementRef;\n _this._changeDetectorRef = _changeDetectorRef;\n _this._dir = _dir;\n _this._defaults = _defaults;\n _this._platform = _platform;\n _this._ngZone = _ngZone;\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n _this._outlineGapCalculationNeededImmediately = false;\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n _this._outlineGapCalculationNeededOnStable = false;\n _this._destroyed = new rxjs.Subject();\n /** Override for the logic that disables the label animation in certain cases. */\n _this._showAlwaysAnimate = false;\n /** State of the mat-hint and mat-error animations. */\n _this._subscriptAnimationState = '';\n _this._hintLabel = '';\n // Unique id for the hint label.\n _this._hintLabelId = \"mat-hint-\" + nextUniqueId$2++;\n // Unique id for the internal form field label.\n _this._labelId = \"mat-form-field-label-\" + nextUniqueId$2++;\n _this._labelOptions = labelOptions ? labelOptions : {};\n _this.floatLabel = _this._getDefaultFloatLabelState();\n _this._animationsEnabled = _animationMode !== 'NoopAnimations';\n // Set the default through here so we invoke the setter on the first run.\n _this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';\n _this._hideRequiredMarker = (_defaults && _defaults.hideRequiredMarker != null) ?\n _defaults.hideRequiredMarker : false;\n return _this;\n }\n Object.defineProperty(MatFormField.prototype, \"appearance\", {\n /** The form-field appearance style. */\n get: function () { return this._appearance; },\n set: function (value) {\n var oldValue = this._appearance;\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n if (this._appearance === 'outline' && oldValue !== value) {\n this._outlineGapCalculationNeededOnStable = true;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"hideRequiredMarker\", {\n /** Whether the required marker should be hidden. */\n get: function () { return this._hideRequiredMarker; },\n set: function (value) {\n this._hideRequiredMarker = coercion.coerceBooleanProperty(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_shouldAlwaysFloat\", {\n /** Whether the floating label should always float or not. */\n get: function () {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_canLabelFloat\", {\n /** Whether the label can float or not. */\n get: function () { return this.floatLabel !== 'never'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"hintLabel\", {\n /** Text for the form field hint. */\n get: function () { return this._hintLabel; },\n set: function (value) {\n this._hintLabel = value;\n this._processHints();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"floatLabel\", {\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n get: function () {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n },\n set: function (value) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._getDefaultFloatLabelState();\n this._changeDetectorRef.markForCheck();\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_control\", {\n get: function () {\n // TODO(crisbeto): we need this workaround in order to support both Ivy and ViewEngine.\n // We should clean this up once Ivy is the default renderer.\n return this._explicitFormFieldControl || this._controlNonStatic || this._controlStatic;\n },\n set: function (value) {\n this._explicitFormFieldControl = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_labelChild\", {\n get: function () {\n return this._labelChildNonStatic || this._labelChildStatic;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n MatFormField.prototype.getConnectedOverlayOrigin = function () {\n return this._connectionContainerRef || this._elementRef;\n };\n MatFormField.prototype.ngAfterContentInit = function () {\n var _this = this;\n this._validateControlChild();\n var control = this._control;\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(\"mat-form-field-type-\" + control.controlType);\n }\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(operators.startWith(null)).subscribe(function () {\n _this._validatePlaceholders();\n _this._syncDescribedByIds();\n _this._changeDetectorRef.markForCheck();\n });\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._changeDetectorRef.markForCheck(); });\n }\n // Note that we have to run outside of the `NgZone` explicitly,\n // in order to avoid throwing users into an infinite loop\n // if `zone-patch-rxjs` is included.\n this._ngZone.runOutsideAngular(function () {\n _this._ngZone.onStable.asObservable().pipe(operators.takeUntil(_this._destroyed)).subscribe(function () {\n if (_this._outlineGapCalculationNeededOnStable) {\n _this.updateOutlineGap();\n }\n });\n });\n // Run change detection and update the outline if the suffix or prefix changes.\n rxjs.merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(function () {\n _this._outlineGapCalculationNeededOnStable = true;\n _this._changeDetectorRef.markForCheck();\n });\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(operators.startWith(null)).subscribe(function () {\n _this._processHints();\n _this._changeDetectorRef.markForCheck();\n });\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(operators.startWith(null)).subscribe(function () {\n _this._syncDescribedByIds();\n _this._changeDetectorRef.markForCheck();\n });\n if (this._dir) {\n this._dir.change.pipe(operators.takeUntil(this._destroyed)).subscribe(function () {\n if (typeof requestAnimationFrame === 'function') {\n _this._ngZone.runOutsideAngular(function () {\n requestAnimationFrame(function () { return _this.updateOutlineGap(); });\n });\n }\n else {\n _this.updateOutlineGap();\n }\n });\n }\n };\n MatFormField.prototype.ngAfterContentChecked = function () {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n };\n MatFormField.prototype.ngAfterViewInit = function () {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n };\n MatFormField.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n MatFormField.prototype._shouldForward = function (prop) {\n var ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n };\n MatFormField.prototype._hasPlaceholder = function () {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n };\n MatFormField.prototype._hasLabel = function () {\n return !!this._labelChild;\n };\n MatFormField.prototype._shouldLabelFloat = function () {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n };\n MatFormField.prototype._hideControlPlaceholder = function () {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n };\n MatFormField.prototype._hasFloatingLabel = function () {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n };\n /** Determines whether to display hints or errors. */\n MatFormField.prototype._getDisplayedMessages = function () {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n };\n /** Animates the placeholder up and locks it in position. */\n MatFormField.prototype._animateAndLockLabel = function () {\n var _this = this;\n if (this._hasFloatingLabel() && this._canLabelFloat) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled && this._label) {\n this._showAlwaysAnimate = true;\n rxjs.fromEvent(this._label.nativeElement, 'transitionend').pipe(operators.take(1)).subscribe(function () {\n _this._showAlwaysAnimate = false;\n });\n }\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n };\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n MatFormField.prototype._validatePlaceholders = function () {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n };\n /** Does any extra processing that is required when handling the hints. */\n MatFormField.prototype._processHints = function () {\n this._validateHints();\n this._syncDescribedByIds();\n };\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n MatFormField.prototype._validateHints = function () {\n var _this = this;\n if (this._hintChildren) {\n var startHint_1;\n var endHint_1;\n this._hintChildren.forEach(function (hint) {\n if (hint.align === 'start') {\n if (startHint_1 || _this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint_1 = hint;\n }\n else if (hint.align === 'end') {\n if (endHint_1) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint_1 = hint;\n }\n });\n }\n };\n /** Gets the default float label state. */\n MatFormField.prototype._getDefaultFloatLabelState = function () {\n return (this._defaults && this._defaults.floatLabel) || this._labelOptions.float || 'auto';\n };\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n MatFormField.prototype._syncDescribedByIds = function () {\n if (this._control) {\n var ids = [];\n if (this._getDisplayedMessages() === 'hint') {\n var startHint = this._hintChildren ?\n this._hintChildren.find(function (hint) { return hint.align === 'start'; }) : null;\n var endHint = this._hintChildren ?\n this._hintChildren.find(function (hint) { return hint.align === 'end'; }) : null;\n if (startHint) {\n ids.push(startHint.id);\n }\n else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n if (endHint) {\n ids.push(endHint.id);\n }\n }\n else if (this._errorChildren) {\n ids = this._errorChildren.map(function (error) { return error.id; });\n }\n this._control.setDescribedByIds(ids);\n }\n };\n /** Throws an error if the form field's control is missing. */\n MatFormField.prototype._validateControlChild = function () {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n };\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n MatFormField.prototype.updateOutlineGap = function () {\n var e_1, _a;\n var labelEl = this._label ? this._label.nativeElement : null;\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n if (!this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!this._isAttachedToDOM()) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n var startWidth = 0;\n var gapWidth = 0;\n var container = this._connectionContainerRef.nativeElement;\n var startEls = container.querySelectorAll('.mat-form-field-outline-start');\n var gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n var containerRect = container.getBoundingClientRect();\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n var containerStart = this._getStartEnd(containerRect);\n var labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());\n var labelWidth = 0;\n try {\n for (var _b = __values(labelEl.children), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n labelWidth += child.offsetWidth;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n startWidth = Math.abs(labelStart - containerStart) - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n for (var i = 0; i < startEls.length; i++) {\n startEls[i].style.width = startWidth + \"px\";\n }\n for (var i = 0; i < gapEls.length; i++) {\n gapEls[i].style.width = gapWidth + \"px\";\n }\n this._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = false;\n };\n /** Gets the start end of the rect considering the current directionality. */\n MatFormField.prototype._getStartEnd = function (rect) {\n return (this._dir && this._dir.value === 'rtl') ? rect.right : rect.left;\n };\n /** Checks whether the form field is attached to the DOM. */\n MatFormField.prototype._isAttachedToDOM = function () {\n var element = this._elementRef.nativeElement;\n if (element.getRootNode) {\n var rootNode = element.getRootNode();\n // If the element is inside the DOM the root node will be either the document\n // or the closest shadow root, otherwise it'll be the element itself.\n return rootNode && rootNode !== element;\n }\n // Otherwise fall back to checking if it's in the document. This doesn't account for\n // shadow DOM, however browser that support shadow DOM should support `getRootNode` as well.\n return document.documentElement.contains(element);\n };\n MatFormField.decorators = [\n { type: core.Component, args: [{\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n 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\",\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-has-label]': '_hasFloatingLabel()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.mat-accent]': 'color == \"accent\"',\n '[class.mat-warn]': 'color == \"warn\"',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled',\n },\n inputs: ['color'],\n encapsulation: core.ViewEncapsulation.None,\n changeDetection: core.ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: MAT_FORM_FIELD, useExisting: MatFormField },\n ],\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:scaleX(1);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._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}.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: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\"]\n }] }\n ];\n /** @nocollapse */\n MatFormField.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: core.ChangeDetectorRef },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MAT_LABEL_GLOBAL_OPTIONS,] }] },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_FORM_FIELD_DEFAULT_OPTIONS,] }] },\n { type: platform.Platform },\n { type: core.NgZone },\n { type: String, decorators: [{ type: core.Optional }, { type: core.Inject, args: [animations$1.ANIMATION_MODULE_TYPE,] }] }\n ]; };\n MatFormField.propDecorators = {\n appearance: [{ type: core.Input }],\n hideRequiredMarker: [{ type: core.Input }],\n hintLabel: [{ type: core.Input }],\n floatLabel: [{ type: core.Input }],\n underlineRef: [{ type: core.ViewChild, args: ['underline',] }],\n _connectionContainerRef: [{ type: core.ViewChild, args: ['connectionContainer', { static: true },] }],\n _inputContainerRef: [{ type: core.ViewChild, args: ['inputContainer',] }],\n _label: [{ type: core.ViewChild, args: ['label',] }],\n _controlNonStatic: [{ type: core.ContentChild, args: [MatFormFieldControl,] }],\n _controlStatic: [{ type: core.ContentChild, args: [MatFormFieldControl, { static: true },] }],\n _labelChildNonStatic: [{ type: core.ContentChild, args: [MatLabel,] }],\n _labelChildStatic: [{ type: core.ContentChild, args: [MatLabel, { static: true },] }],\n _placeholderChild: [{ type: core.ContentChild, args: [MatPlaceholder,] }],\n _errorChildren: [{ type: core.ContentChildren, args: [MatError, { descendants: true },] }],\n _hintChildren: [{ type: core.ContentChildren, args: [MatHint, { descendants: true },] }],\n _prefixChildren: [{ type: core.ContentChildren, args: [MatPrefix, { descendants: true },] }],\n _suffixChildren: [{ type: core.ContentChildren, args: [MatSuffix, { descendants: true },] }]\n };\n return MatFormField;\n }(_MatFormFieldMixinBase));\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 var MatFormFieldModule = /** @class */ (function () {\n function MatFormFieldModule() {\n }\n MatFormFieldModule.decorators = [\n { type: core.NgModule, args: [{\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n common.CommonModule,\n observers.ObserversModule,\n ],\n exports: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n },] }\n ];\n return MatFormFieldModule;\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 /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_FORM_FIELD = MAT_FORM_FIELD;\n exports.MAT_FORM_FIELD_DEFAULT_OPTIONS = MAT_FORM_FIELD_DEFAULT_OPTIONS;\n exports.MatError = MatError;\n exports.MatFormField = MatFormField;\n exports.MatFormFieldControl = MatFormFieldControl;\n exports.MatFormFieldModule = MatFormFieldModule;\n exports.MatHint = MatHint;\n exports.MatLabel = MatLabel;\n exports.MatPlaceholder = MatPlaceholder;\n exports.MatPrefix = MatPrefix;\n exports.MatSuffix = MatSuffix;\n exports.getMatFormFieldDuplicatedHintError = getMatFormFieldDuplicatedHintError;\n exports.getMatFormFieldMissingControlError = getMatFormFieldMissingControlError;\n exports.getMatFormFieldPlaceholderConflictError = getMatFormFieldPlaceholderConflictError;\n exports.matFormFieldAnimations = matFormFieldAnimations;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-form-field.umd.js.map\n"]}
|
|
1
|
+
{"version":3,"sources":["src/material/material-form-field.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","formField","cdk","observers","common","core","bidi","coercion","rxjs","operators","animations","platform","platformBrowser","this","core$1","animations$1","nextUniqueId","MatError","id","decorators","type","Directive","args","selector","host","class","role","[attr.id]","propDecorators","Input","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","nextUniqueId$1","MatHint","[class.mat-right]","[attr.align]","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","nextUniqueId$2","_MatFormFieldMixinBase","mixinColor","MatFormFieldBase","_elementRef","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MAT_FORM_FIELD","MatFormField","_super","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","call","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_destroyed","Subject","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","_getDefaultFloatLabelState","_animationsEnabled","appearance","_hideRequiredMarker","hideRequiredMarker","__extends","__","constructor","prototype","create","defineProperty","get","_appearance","set","value","oldValue","enumerable","configurable","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","_explicitFormFieldControl","_controlNonStatic","_controlStatic","_labelChildNonStatic","_labelChildStatic","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","takeUntil","runOutsideAngular","onStable","asObservable","updateOutlineGap","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","change","requestAnimationFrame","ngAfterContentChecked","ngAfterViewInit","detectChanges","ngOnDestroy","next","complete","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","_label","fromEvent","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","float","ids","startHint","find","endHint","push","map","error","setDescribedByIds","e_1","_a","labelEl","children","textContent","trim","isBrowser","_isAttachedToDOM","startWidth","gapWidth","container","startEls","querySelectorAll","gapEls","containerRect","getBoundingClientRect","width","height","containerStart","_getStartEnd","labelStart","labelWidth","_b","__values","o","m","Symbol","iterator","i","done","_c","offsetWidth","e_1_1","return","Math","abs","outlineGapPadding","rect","right","left","element","getRootNode","rootNode","document","documentElement","contains","Component","exportAs","template","[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.mat-accent]","[class.mat-warn]","[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","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","useExisting","styles","ctorParameters","ElementRef","ChangeDetectorRef","undefined","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","NgZone","String","ANIMATION_MODULE_TYPE","underlineRef","ViewChild","static","_inputContainerRef","ContentChild","ContentChildren","descendants","MatFormFieldModule","NgModule","declarations","imports","CommonModule","MatCommonModule","ObserversModule"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/observers'), require('@angular/common'), require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@angular/cdk/platform'), require('@angular/platform-browser/animations')) :\n typeof define === 'function' && define.amd ? define('@angular/material/form-field', ['exports', '@angular/cdk/observers', '@angular/common', '@angular/core', '@angular/material/core', '@angular/cdk/bidi', '@angular/cdk/coercion', 'rxjs', 'rxjs/operators', '@angular/animations', '@angular/cdk/platform', '@angular/platform-browser/animations'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.formField = {}), global.ng.cdk.observers, global.ng.common, global.ng.core, global.ng.material.core, global.ng.cdk.bidi, global.ng.cdk.coercion, global.rxjs, global.rxjs.operators, global.ng.animations, global.ng.cdk.platform, global.ng.platformBrowser.animations));\n}(this, (function (exports, observers, common, core, core$1, bidi, coercion, rxjs, operators, animations, platform, animations$1) { 'use strict';\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 var nextUniqueId = 0;\n /** Single error message to be shown underneath the form field. */\n var MatError = /** @class */ (function () {\n function MatError() {\n this.id = \"mat-error-\" + nextUniqueId++;\n }\n MatError.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n },] }\n ];\n MatError.propDecorators = {\n id: [{ type: core.Input }]\n };\n return MatError;\n }());\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation. All rights reserved.\r\n Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\n this file except in compliance with the License. You may obtain a copy of the\r\n License at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\n MERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\n See the Apache Version 2.0 License for specific language governing permissions\r\n and limitations under the License.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n\r\n function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n }\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n }\r\n\r\n function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n }\r\n\r\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n }\r\n\r\n function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n }\r\n\r\n function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n }\r\n\r\n function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n }\r\n\r\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n }\r\n\r\n function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n }\r\n\r\n function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n }\r\n\r\n function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n }\r\n\r\n function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n }\r\n\r\n function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\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 * Animations used by the MatFormField.\n * @docs-private\n */\n var matFormFieldAnimations = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: animations.trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n animations.state('enter', animations.style({ opacity: 1, transform: 'translateY(0%)' })),\n animations.transition('void => enter', [\n animations.style({ opacity: 0, transform: 'translateY(-100%)' }),\n animations.animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\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 /** An interface which allows a control to work inside of a `MatFormField`. */\n var MatFormFieldControl = /** @class */ (function () {\n function MatFormFieldControl() {\n }\n MatFormFieldControl.decorators = [\n { type: core.Directive }\n ];\n return MatFormFieldControl;\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 /** @docs-private */\n function getMatFormFieldPlaceholderConflictError() {\n return Error('Placeholder attribute and child element were both specified.');\n }\n /** @docs-private */\n function getMatFormFieldDuplicatedHintError(align) {\n return Error(\"A hint was already declared for 'align=\\\"\" + align + \"\\\"'.\");\n }\n /** @docs-private */\n function getMatFormFieldMissingControlError() {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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 var nextUniqueId$1 = 0;\n /** Hint text to be shown underneath the form field control. */\n var MatHint = /** @class */ (function () {\n function MatHint() {\n /** Whether to align the hint label at the start or end of the line. */\n this.align = 'start';\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n this.id = \"mat-hint-\" + nextUniqueId$1++;\n }\n MatHint.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-right]': 'align == \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n }\n },] }\n ];\n MatHint.propDecorators = {\n align: [{ type: core.Input }],\n id: [{ type: core.Input }]\n };\n return MatHint;\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 /** The floating label for a `mat-form-field`. */\n var MatLabel = /** @class */ (function () {\n function MatLabel() {\n }\n MatLabel.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-label'\n },] }\n ];\n return MatLabel;\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 * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\n var MatPlaceholder = /** @class */ (function () {\n function MatPlaceholder() {\n }\n MatPlaceholder.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-placeholder'\n },] }\n ];\n return MatPlaceholder;\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 /** Prefix to be placed in front of the form field. */\n var MatPrefix = /** @class */ (function () {\n function MatPrefix() {\n }\n MatPrefix.decorators = [\n { type: core.Directive, args: [{\n selector: '[matPrefix]',\n },] }\n ];\n return MatPrefix;\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 /** Suffix to be placed at the end of the form field. */\n var MatSuffix = /** @class */ (function () {\n function MatSuffix() {\n }\n MatSuffix.decorators = [\n { type: core.Directive, args: [{\n selector: '[matSuffix]',\n },] }\n ];\n return MatSuffix;\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 var nextUniqueId$2 = 0;\n var floatingLabelScale = 0.75;\n var outlineGapPadding = 5;\n /**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\n var MatFormFieldBase = /** @class */ (function () {\n function MatFormFieldBase(_elementRef) {\n this._elementRef = _elementRef;\n }\n return MatFormFieldBase;\n }());\n /**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\n var _MatFormFieldMixinBase = core$1.mixinColor(MatFormFieldBase, 'primary');\n /**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\n var MAT_FORM_FIELD_DEFAULT_OPTIONS = new core.InjectionToken('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n /**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\n var MAT_FORM_FIELD = new core.InjectionToken('MatFormField');\n /** Container for form controls that applies Material Design styling and behavior. */\n var MatFormField = /** @class */ (function (_super) {\n __extends(MatFormField, _super);\n function MatFormField(_elementRef, _changeDetectorRef, labelOptions, _dir, _defaults, _platform, _ngZone, _animationMode) {\n var _this = _super.call(this, _elementRef) || this;\n _this._elementRef = _elementRef;\n _this._changeDetectorRef = _changeDetectorRef;\n _this._dir = _dir;\n _this._defaults = _defaults;\n _this._platform = _platform;\n _this._ngZone = _ngZone;\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n _this._outlineGapCalculationNeededImmediately = false;\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n _this._outlineGapCalculationNeededOnStable = false;\n _this._destroyed = new rxjs.Subject();\n /** Override for the logic that disables the label animation in certain cases. */\n _this._showAlwaysAnimate = false;\n /** State of the mat-hint and mat-error animations. */\n _this._subscriptAnimationState = '';\n _this._hintLabel = '';\n // Unique id for the hint label.\n _this._hintLabelId = \"mat-hint-\" + nextUniqueId$2++;\n // Unique id for the internal form field label.\n _this._labelId = \"mat-form-field-label-\" + nextUniqueId$2++;\n _this._labelOptions = labelOptions ? labelOptions : {};\n _this.floatLabel = _this._getDefaultFloatLabelState();\n _this._animationsEnabled = _animationMode !== 'NoopAnimations';\n // Set the default through here so we invoke the setter on the first run.\n _this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';\n _this._hideRequiredMarker = (_defaults && _defaults.hideRequiredMarker != null) ?\n _defaults.hideRequiredMarker : false;\n return _this;\n }\n Object.defineProperty(MatFormField.prototype, \"appearance\", {\n /** The form-field appearance style. */\n get: function () { return this._appearance; },\n set: function (value) {\n var oldValue = this._appearance;\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n if (this._appearance === 'outline' && oldValue !== value) {\n this._outlineGapCalculationNeededOnStable = true;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"hideRequiredMarker\", {\n /** Whether the required marker should be hidden. */\n get: function () { return this._hideRequiredMarker; },\n set: function (value) {\n this._hideRequiredMarker = coercion.coerceBooleanProperty(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_shouldAlwaysFloat\", {\n /** Whether the floating label should always float or not. */\n get: function () {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_canLabelFloat\", {\n /** Whether the label can float or not. */\n get: function () { return this.floatLabel !== 'never'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"hintLabel\", {\n /** Text for the form field hint. */\n get: function () { return this._hintLabel; },\n set: function (value) {\n this._hintLabel = value;\n this._processHints();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"floatLabel\", {\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n get: function () {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n },\n set: function (value) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._getDefaultFloatLabelState();\n this._changeDetectorRef.markForCheck();\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_control\", {\n get: function () {\n // TODO(crisbeto): we need this workaround in order to support both Ivy and ViewEngine.\n // We should clean this up once Ivy is the default renderer.\n return this._explicitFormFieldControl || this._controlNonStatic || this._controlStatic;\n },\n set: function (value) {\n this._explicitFormFieldControl = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MatFormField.prototype, \"_labelChild\", {\n get: function () {\n return this._labelChildNonStatic || this._labelChildStatic;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n MatFormField.prototype.getConnectedOverlayOrigin = function () {\n return this._connectionContainerRef || this._elementRef;\n };\n MatFormField.prototype.ngAfterContentInit = function () {\n var _this = this;\n this._validateControlChild();\n var control = this._control;\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(\"mat-form-field-type-\" + control.controlType);\n }\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(operators.startWith(null)).subscribe(function () {\n _this._validatePlaceholders();\n _this._syncDescribedByIds();\n _this._changeDetectorRef.markForCheck();\n });\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._changeDetectorRef.markForCheck(); });\n }\n // Note that we have to run outside of the `NgZone` explicitly,\n // in order to avoid throwing users into an infinite loop\n // if `zone-patch-rxjs` is included.\n this._ngZone.runOutsideAngular(function () {\n _this._ngZone.onStable.asObservable().pipe(operators.takeUntil(_this._destroyed)).subscribe(function () {\n if (_this._outlineGapCalculationNeededOnStable) {\n _this.updateOutlineGap();\n }\n });\n });\n // Run change detection and update the outline if the suffix or prefix changes.\n rxjs.merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(function () {\n _this._outlineGapCalculationNeededOnStable = true;\n _this._changeDetectorRef.markForCheck();\n });\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(operators.startWith(null)).subscribe(function () {\n _this._processHints();\n _this._changeDetectorRef.markForCheck();\n });\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(operators.startWith(null)).subscribe(function () {\n _this._syncDescribedByIds();\n _this._changeDetectorRef.markForCheck();\n });\n if (this._dir) {\n this._dir.change.pipe(operators.takeUntil(this._destroyed)).subscribe(function () {\n if (typeof requestAnimationFrame === 'function') {\n _this._ngZone.runOutsideAngular(function () {\n requestAnimationFrame(function () { return _this.updateOutlineGap(); });\n });\n }\n else {\n _this.updateOutlineGap();\n }\n });\n }\n };\n MatFormField.prototype.ngAfterContentChecked = function () {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n };\n MatFormField.prototype.ngAfterViewInit = function () {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n };\n MatFormField.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n MatFormField.prototype._shouldForward = function (prop) {\n var ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n };\n MatFormField.prototype._hasPlaceholder = function () {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n };\n MatFormField.prototype._hasLabel = function () {\n return !!this._labelChild;\n };\n MatFormField.prototype._shouldLabelFloat = function () {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n };\n MatFormField.prototype._hideControlPlaceholder = function () {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n };\n MatFormField.prototype._hasFloatingLabel = function () {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n };\n /** Determines whether to display hints or errors. */\n MatFormField.prototype._getDisplayedMessages = function () {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n };\n /** Animates the placeholder up and locks it in position. */\n MatFormField.prototype._animateAndLockLabel = function () {\n var _this = this;\n if (this._hasFloatingLabel() && this._canLabelFloat) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled && this._label) {\n this._showAlwaysAnimate = true;\n rxjs.fromEvent(this._label.nativeElement, 'transitionend').pipe(operators.take(1)).subscribe(function () {\n _this._showAlwaysAnimate = false;\n });\n }\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n };\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n MatFormField.prototype._validatePlaceholders = function () {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n };\n /** Does any extra processing that is required when handling the hints. */\n MatFormField.prototype._processHints = function () {\n this._validateHints();\n this._syncDescribedByIds();\n };\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n MatFormField.prototype._validateHints = function () {\n var _this = this;\n if (this._hintChildren) {\n var startHint_1;\n var endHint_1;\n this._hintChildren.forEach(function (hint) {\n if (hint.align === 'start') {\n if (startHint_1 || _this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint_1 = hint;\n }\n else if (hint.align === 'end') {\n if (endHint_1) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint_1 = hint;\n }\n });\n }\n };\n /** Gets the default float label state. */\n MatFormField.prototype._getDefaultFloatLabelState = function () {\n return (this._defaults && this._defaults.floatLabel) || this._labelOptions.float || 'auto';\n };\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n MatFormField.prototype._syncDescribedByIds = function () {\n if (this._control) {\n var ids = [];\n if (this._getDisplayedMessages() === 'hint') {\n var startHint = this._hintChildren ?\n this._hintChildren.find(function (hint) { return hint.align === 'start'; }) : null;\n var endHint = this._hintChildren ?\n this._hintChildren.find(function (hint) { return hint.align === 'end'; }) : null;\n if (startHint) {\n ids.push(startHint.id);\n }\n else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n if (endHint) {\n ids.push(endHint.id);\n }\n }\n else if (this._errorChildren) {\n ids = this._errorChildren.map(function (error) { return error.id; });\n }\n this._control.setDescribedByIds(ids);\n }\n };\n /** Throws an error if the form field's control is missing. */\n MatFormField.prototype._validateControlChild = function () {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n };\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n MatFormField.prototype.updateOutlineGap = function () {\n var e_1, _a;\n var labelEl = this._label ? this._label.nativeElement : null;\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n if (!this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!this._isAttachedToDOM()) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n var startWidth = 0;\n var gapWidth = 0;\n var container = this._connectionContainerRef.nativeElement;\n var startEls = container.querySelectorAll('.mat-form-field-outline-start');\n var gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n var containerRect = container.getBoundingClientRect();\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n var containerStart = this._getStartEnd(containerRect);\n var labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());\n var labelWidth = 0;\n try {\n for (var _b = __values(labelEl.children), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n labelWidth += child.offsetWidth;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n startWidth = Math.abs(labelStart - containerStart) - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n for (var i = 0; i < startEls.length; i++) {\n startEls[i].style.width = startWidth + \"px\";\n }\n for (var i = 0; i < gapEls.length; i++) {\n gapEls[i].style.width = gapWidth + \"px\";\n }\n this._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = false;\n };\n /** Gets the start end of the rect considering the current directionality. */\n MatFormField.prototype._getStartEnd = function (rect) {\n return (this._dir && this._dir.value === 'rtl') ? rect.right : rect.left;\n };\n /** Checks whether the form field is attached to the DOM. */\n MatFormField.prototype._isAttachedToDOM = function () {\n var element = this._elementRef.nativeElement;\n if (element.getRootNode) {\n var rootNode = element.getRootNode();\n // If the element is inside the DOM the root node will be either the document\n // or the closest shadow root, otherwise it'll be the element itself.\n return rootNode && rootNode !== element;\n }\n // Otherwise fall back to checking if it's in the document. This doesn't account for\n // shadow DOM, however browser that support shadow DOM should support `getRootNode` as well.\n return document.documentElement.contains(element);\n };\n MatFormField.decorators = [\n { type: core.Component, args: [{\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n 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\",\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-has-label]': '_hasFloatingLabel()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.mat-accent]': 'color == \"accent\"',\n '[class.mat-warn]': 'color == \"warn\"',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled',\n },\n inputs: ['color'],\n encapsulation: core.ViewEncapsulation.None,\n changeDetection: core.ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: MAT_FORM_FIELD, useExisting: MatFormField },\n ],\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:scaleX(1);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._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}.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: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\"]\n }] }\n ];\n /** @nocollapse */\n MatFormField.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: core.ChangeDetectorRef },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MAT_LABEL_GLOBAL_OPTIONS,] }] },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_FORM_FIELD_DEFAULT_OPTIONS,] }] },\n { type: platform.Platform },\n { type: core.NgZone },\n { type: String, decorators: [{ type: core.Optional }, { type: core.Inject, args: [animations$1.ANIMATION_MODULE_TYPE,] }] }\n ]; };\n MatFormField.propDecorators = {\n appearance: [{ type: core.Input }],\n hideRequiredMarker: [{ type: core.Input }],\n hintLabel: [{ type: core.Input }],\n floatLabel: [{ type: core.Input }],\n underlineRef: [{ type: core.ViewChild, args: ['underline',] }],\n _connectionContainerRef: [{ type: core.ViewChild, args: ['connectionContainer', { static: true },] }],\n _inputContainerRef: [{ type: core.ViewChild, args: ['inputContainer',] }],\n _label: [{ type: core.ViewChild, args: ['label',] }],\n _controlNonStatic: [{ type: core.ContentChild, args: [MatFormFieldControl,] }],\n _controlStatic: [{ type: core.ContentChild, args: [MatFormFieldControl, { static: true },] }],\n _labelChildNonStatic: [{ type: core.ContentChild, args: [MatLabel,] }],\n _labelChildStatic: [{ type: core.ContentChild, args: [MatLabel, { static: true },] }],\n _placeholderChild: [{ type: core.ContentChild, args: [MatPlaceholder,] }],\n _errorChildren: [{ type: core.ContentChildren, args: [MatError, { descendants: true },] }],\n _hintChildren: [{ type: core.ContentChildren, args: [MatHint, { descendants: true },] }],\n _prefixChildren: [{ type: core.ContentChildren, args: [MatPrefix, { descendants: true },] }],\n _suffixChildren: [{ type: core.ContentChildren, args: [MatSuffix, { descendants: true },] }]\n };\n return MatFormField;\n }(_MatFormFieldMixinBase));\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 var MatFormFieldModule = /** @class */ (function () {\n function MatFormFieldModule() {\n }\n MatFormFieldModule.decorators = [\n { type: core.NgModule, args: [{\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n common.CommonModule,\n core$1.MatCommonModule,\n observers.ObserversModule,\n ],\n exports: [\n core$1.MatCommonModule,\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n },] }\n ];\n return MatFormFieldModule;\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 /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_FORM_FIELD = MAT_FORM_FIELD;\n exports.MAT_FORM_FIELD_DEFAULT_OPTIONS = MAT_FORM_FIELD_DEFAULT_OPTIONS;\n exports.MatError = MatError;\n exports.MatFormField = MatFormField;\n exports.MatFormFieldControl = MatFormFieldControl;\n exports.MatFormFieldModule = MatFormFieldModule;\n exports.MatHint = MatHint;\n exports.MatLabel = MatLabel;\n exports.MatPlaceholder = MatPlaceholder;\n exports.MatPrefix = MatPrefix;\n exports.MatSuffix = MatSuffix;\n exports.getMatFormFieldDuplicatedHintError = getMatFormFieldDuplicatedHintError;\n exports.getMatFormFieldMissingControlError = getMatFormFieldMissingControlError;\n exports.getMatFormFieldPlaceholderConflictError = getMatFormFieldPlaceholderConflictError;\n exports.matFormFieldAnimations = matFormFieldAnimations;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-form-field.umd.js.map\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/coercion'), require('@angular/common'), require('rxjs/operators'), require('@angular/common/http'), require('@angular/platform-browser')
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@angular/material/icon', ['exports', '@angular/core', '@angular/material/core', '@angular/cdk/coercion', '@angular/common', 'rxjs/operators', '@angular/common/http', '@angular/platform-browser'
|
|
4
|
-
(global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.icon = {}), global.ng.core, global.ng.material.core, global.ng.cdk.coercion, global.ng.common, global.rxjs.operators, global.ng.common.http, global.ng.platformBrowser
|
|
5
|
-
}(this, (function (exports, i0, core, coercion, i3, operators, i1, i2
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/coercion'), require('@angular/common'), require('rxjs'), require('rxjs/operators'), require('@angular/common/http'), require('@angular/platform-browser')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@angular/material/icon', ['exports', '@angular/core', '@angular/material/core', '@angular/cdk/coercion', '@angular/common', 'rxjs', 'rxjs/operators', '@angular/common/http', '@angular/platform-browser'], factory) :
|
|
4
|
+
(global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.icon = {}), global.ng.core, global.ng.material.core, global.ng.cdk.coercion, global.ng.common, global.rxjs, global.rxjs.operators, global.ng.common.http, global.ng.platformBrowser));
|
|
5
|
+
}(this, (function (exports, i0, core, coercion, i3, rxjs, operators, i1, i2) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -847,6 +847,8 @@
|
|
|
847
847
|
_this._location = _location;
|
|
848
848
|
_this._errorHandler = _errorHandler;
|
|
849
849
|
_this._inline = false;
|
|
850
|
+
/** Subscription to the current in-progress SVG icon request. */
|
|
851
|
+
_this._currentIconFetch = rxjs.Subscription.EMPTY;
|
|
850
852
|
// If the user has not explicitly set aria-hidden, mark the icon as hidden, as this is
|
|
851
853
|
// the right thing to do for the majority of icon use-cases.
|
|
852
854
|
if (!ariaHidden) {
|
|
@@ -915,9 +917,10 @@
|
|
|
915
917
|
// Only update the inline SVG icon if the inputs changed, to avoid unnecessary DOM operations.
|
|
916
918
|
var svgIconChanges = changes['svgIcon'];
|
|
917
919
|
if (svgIconChanges) {
|
|
920
|
+
this._currentIconFetch.unsubscribe();
|
|
918
921
|
if (this.svgIcon) {
|
|
919
922
|
var _a = __read(this._splitIconName(this.svgIcon), 2), namespace_1 = _a[0], iconName_1 = _a[1];
|
|
920
|
-
this._iconRegistry.getNamedSvgIcon(iconName_1, namespace_1)
|
|
923
|
+
this._currentIconFetch = this._iconRegistry.getNamedSvgIcon(iconName_1, namespace_1)
|
|
921
924
|
.pipe(operators.take(1))
|
|
922
925
|
.subscribe(function (svg) { return _this._setSvgElement(svg); }, function (err) {
|
|
923
926
|
var errorMessage = "Error retrieving icon " + namespace_1 + ":" + iconName_1 + "! " + err.message;
|
|
@@ -962,6 +965,7 @@
|
|
|
962
965
|
}
|
|
963
966
|
};
|
|
964
967
|
MatIcon.prototype.ngOnDestroy = function () {
|
|
968
|
+
this._currentIconFetch.unsubscribe();
|
|
965
969
|
if (this._elementsWithExternalReferences) {
|
|
966
970
|
this._elementsWithExternalReferences.clear();
|
|
967
971
|
}
|