@angular/material 7.0.4 → 7.2.1
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/LICENSE +1 -1
- package/_theming.scss +61 -44
- package/autocomplete/typings/index.d.ts +1 -1
- package/autocomplete/typings/index.metadata.json +1 -1
- package/badge/typings/index.metadata.json +1 -1
- package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
- package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
- package/bottom-sheet/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +126 -32
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +1 -1
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-badge.umd.js +38 -5
- 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 +68 -21
- 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 +36 -13
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.min.js +1 -1
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +21 -14
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-button.umd.min.js +1 -1
- package/bundles/material-button.umd.min.js.map +1 -1
- package/bundles/material-card.umd.js +3 -3
- package/bundles/material-card.umd.js.map +1 -1
- package/bundles/material-card.umd.min.js +1 -1
- package/bundles/material-card.umd.min.js.map +1 -1
- package/bundles/material-checkbox.umd.js +56 -15
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.min.js +1 -1
- package/bundles/material-checkbox.umd.min.js.map +1 -1
- package/bundles/material-chips.umd.js +124 -34
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +1 -1
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +189 -126
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +1 -1
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +231 -53
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +2 -2
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +138 -40
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +1 -1
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-divider.umd.js +2 -2
- package/bundles/material-divider.umd.js.map +1 -1
- package/bundles/material-divider.umd.min.js.map +1 -1
- package/bundles/material-expansion.umd.js +53 -27
- 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 +121 -32
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +1 -1
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-grid-list.umd.js +66 -15
- package/bundles/material-grid-list.umd.js.map +1 -1
- package/bundles/material-grid-list.umd.min.js +1 -1
- package/bundles/material-grid-list.umd.min.js.map +1 -1
- package/bundles/material-icon.umd.js +277 -78
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-icon.umd.min.js +1 -1
- package/bundles/material-icon.umd.min.js.map +1 -1
- package/bundles/material-input.umd.js +50 -22
- 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 +69 -21
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -6
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +171 -66
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +1 -1
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-paginator.umd.js +52 -10
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-paginator.umd.min.js +1 -1
- package/bundles/material-paginator.umd.min.js.map +1 -1
- package/bundles/material-progress-bar.umd.js +31 -12
- package/bundles/material-progress-bar.umd.js.map +1 -1
- package/bundles/material-progress-bar.umd.min.js +1 -1
- package/bundles/material-progress-bar.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +29 -13
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +38 -40
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +189 -51
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +1 -1
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-sidenav.umd.js +104 -25
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.min.js +1 -1
- package/bundles/material-sidenav.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +30 -14
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.min.js +1 -1
- package/bundles/material-slide-toggle.umd.min.js.map +1 -1
- package/bundles/material-slider.umd.js +91 -21
- 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-snack-bar.umd.js +71 -19
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.min.js +1 -1
- package/bundles/material-snack-bar.umd.min.js.map +1 -1
- package/bundles/material-sort.umd.js +46 -24
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-stepper.umd.js +37 -35
- package/bundles/material-stepper.umd.js.map +1 -1
- package/bundles/material-stepper.umd.min.js +1 -1
- package/bundles/material-stepper.umd.min.js.map +1 -1
- package/bundles/material-table.umd.js +29 -9
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +170 -68
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +2 -2
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-toolbar.umd.js +14 -4
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.min.js +1 -1
- package/bundles/material-toolbar.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +53 -26
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +1 -1
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js +25 -16
- 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/bundles/material.umd.js +2853 -1010
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -21
- package/bundles/material.umd.min.js.map +1 -1
- package/button/typings/button.d.ts +0 -5
- package/button/typings/index.metadata.json +1 -1
- package/button-toggle/typings/index.metadata.json +1 -1
- package/card/typings/index.metadata.json +1 -1
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip-list.d.ts +1 -1
- package/chips/typings/chip.d.ts +2 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/index.metadata.json +1 -1
- package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/core/typings/public-api.d.ts +1 -1
- package/datepicker/typings/calendar-body.d.ts +21 -5
- package/datepicker/typings/calendar.d.ts +4 -1
- package/datepicker/typings/datepicker.d.ts +3 -0
- package/datepicker/typings/index.metadata.json +1 -1
- package/datepicker/typings/month-view.d.ts +4 -2
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +60 -29
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/badge.js +29 -6
- package/esm2015/badge.js.map +1 -1
- package/esm2015/bottom-sheet.js +45 -22
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js +20 -11
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +20 -15
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +5 -5
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +30 -12
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +64 -28
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +148 -129
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +124 -41
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +77 -40
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/divider.js +4 -4
- package/esm2015/divider.js.map +1 -1
- package/esm2015/expansion.js +58 -31
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +94 -34
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +45 -17
- package/esm2015/grid-list.js.map +1 -1
- package/esm2015/icon.js +136 -67
- package/esm2015/icon.js.map +1 -1
- package/esm2015/input.js +44 -23
- package/esm2015/input.js.map +1 -1
- package/esm2015/list.js +47 -22
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +13 -12
- package/esm2015/material.js.map +1 -1
- package/esm2015/menu.js +109 -63
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +35 -12
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-bar.js +26 -13
- package/esm2015/progress-bar.js.map +1 -1
- package/esm2015/progress-spinner.js +24 -14
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +22 -21
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +116 -53
- package/esm2015/select.js.map +1 -1
- package/esm2015/sidenav.js +75 -28
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/slide-toggle.js +23 -15
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +54 -24
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +41 -21
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +47 -24
- package/esm2015/sort.js.map +1 -1
- package/esm2015/stepper.js +35 -32
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +31 -11
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +113 -53
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/toolbar.js +9 -5
- package/esm2015/toolbar.js.map +1 -1
- package/esm2015/tooltip.js +43 -28
- package/esm2015/tooltip.js.map +1 -1
- package/esm2015/tree.js +22 -17
- package/esm2015/tree.js.map +1 -1
- package/esm5/autocomplete.es5.js +128 -34
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/badge.es5.js +40 -7
- package/esm5/badge.es5.js.map +1 -1
- package/esm5/bottom-sheet.es5.js +70 -23
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js +38 -15
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +23 -16
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +5 -5
- package/esm5/card.es5.js.map +1 -1
- package/esm5/checkbox.es5.js +58 -17
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +127 -37
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +192 -129
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +233 -55
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +140 -42
- package/esm5/dialog.es5.js.map +1 -1
- package/esm5/divider.es5.js +4 -4
- package/esm5/divider.es5.js.map +1 -1
- package/esm5/expansion.es5.js +56 -31
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +125 -36
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +68 -17
- package/esm5/grid-list.es5.js.map +1 -1
- package/esm5/icon.es5.js +279 -80
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/input.es5.js +52 -24
- package/esm5/input.es5.js.map +1 -1
- package/esm5/list.es5.js +72 -24
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +13 -12
- package/esm5/material.es5.js.map +1 -1
- package/esm5/menu.es5.js +170 -65
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +55 -13
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-bar.es5.js +33 -14
- package/esm5/progress-bar.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +31 -15
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +42 -42
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +193 -55
- package/esm5/select.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +107 -28
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +32 -16
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +94 -24
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +73 -21
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +53 -26
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/stepper.es5.js +40 -38
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +31 -11
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +162 -61
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/toolbar.es5.js +16 -6
- package/esm5/toolbar.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +55 -28
- package/esm5/tooltip.es5.js.map +1 -1
- package/esm5/tree.es5.js +27 -18
- package/esm5/tree.es5.js.map +1 -1
- package/expansion/typings/expansion-panel-header.d.ts +2 -2
- package/expansion/typings/expansion-panel.d.ts +19 -2
- package/expansion/typings/index.metadata.json +1 -1
- package/form-field/typings/form-field.d.ts +15 -4
- package/form-field/typings/index.metadata.json +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/icon/typings/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/material.d.ts +1 -1
- package/material.metadata.json +3 -3
- package/menu/typings/index.d.ts +4 -4
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-directive.d.ts +1 -0
- package/menu/typings/menu-item.d.ts +2 -0
- package/package.json +5 -5
- package/paginator/typings/index.metadata.json +1 -1
- package/paginator/typings/paginator.d.ts +7 -3
- 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/progress-bar/typings/index.metadata.json +1 -1
- package/radio/typings/index.metadata.json +1 -1
- package/radio/typings/radio.d.ts +2 -6
- package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
- package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
- package/schematics/ng-add/theming/theming.js +35 -19
- package/schematics/ng-add/theming/theming.js.map +1 -1
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/select/typings/index.metadata.json +1 -1
- package/select/typings/select.d.ts +12 -2
- package/sidenav/typings/drawer.d.ts +9 -2
- package/sidenav/typings/index.metadata.json +1 -1
- package/slide-toggle/typings/index.metadata.json +1 -1
- package/slider/typings/index.metadata.json +1 -1
- package/snack-bar/typings/index.metadata.json +1 -1
- package/sort/typings/index.metadata.json +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/step-header.d.ts +3 -5
- package/tabs/typings/index.d.ts +5 -5
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/tab-body.d.ts +2 -0
- package/tabs/typings/tab-group.d.ts +11 -2
- package/tabs/typings/tab-header.d.ts +9 -3
- package/toolbar/typings/index.metadata.json +1 -1
- package/tooltip/typings/index.metadata.json +1 -1
- package/tree/typings/data-source/flat-data-source.d.ts +2 -2
- package/tree/typings/index.metadata.json +1 -1
- package/typings/autocomplete/index.d.ts +1 -1
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/badge/index.metadata.json +1 -1
- package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/bottom-sheet/index.metadata.json +1 -1
- package/typings/button/button.d.ts +0 -5
- package/typings/button/index.metadata.json +1 -1
- package/typings/button-toggle/index.metadata.json +1 -1
- package/typings/card/index.metadata.json +1 -1
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip-list.d.ts +1 -1
- package/typings/chips/chip.d.ts +2 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/index.metadata.json +1 -1
- package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/core/public-api.d.ts +1 -1
- package/typings/datepicker/calendar-body.d.ts +21 -5
- package/typings/datepicker/calendar.d.ts +4 -1
- package/typings/datepicker/datepicker.d.ts +3 -0
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/datepicker/month-view.d.ts +4 -2
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/index.d.ts +1 -1
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/badge/index.metadata.json +1 -1
- package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
- package/typings/esm5/button/button.d.ts +0 -5
- package/typings/esm5/button/index.metadata.json +1 -1
- package/typings/esm5/button-toggle/index.metadata.json +1 -1
- package/typings/esm5/card/index.metadata.json +1 -1
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip-list.d.ts +1 -1
- package/typings/esm5/chips/chip.d.ts +2 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/esm5/core/public-api.d.ts +1 -1
- package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
- package/typings/esm5/datepicker/calendar.d.ts +4 -1
- package/typings/esm5/datepicker/datepicker.d.ts +3 -0
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/datepicker/month-view.d.ts +4 -2
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
- package/typings/esm5/expansion/index.metadata.json +1 -1
- package/typings/esm5/form-field/form-field.d.ts +15 -4
- package/typings/esm5/form-field/index.metadata.json +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/icon/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/menu/index.d.ts +4 -4
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-directive.d.ts +1 -0
- package/typings/esm5/menu/menu-item.d.ts +2 -0
- package/typings/esm5/paginator/index.metadata.json +1 -1
- package/typings/esm5/paginator/paginator.d.ts +7 -3
- package/typings/esm5/progress-bar/index.metadata.json +1 -1
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/radio/radio.d.ts +2 -6
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/select/select.d.ts +12 -2
- package/typings/esm5/sidenav/drawer.d.ts +9 -2
- package/typings/esm5/sidenav/index.metadata.json +1 -1
- package/typings/esm5/slide-toggle/index.metadata.json +1 -1
- package/typings/esm5/slider/index.metadata.json +1 -1
- package/typings/esm5/snack-bar/index.metadata.json +1 -1
- package/typings/esm5/sort/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/step-header.d.ts +3 -5
- package/typings/esm5/tabs/index.d.ts +5 -5
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/tab-body.d.ts +2 -0
- package/typings/esm5/tabs/tab-group.d.ts +11 -2
- package/typings/esm5/tabs/tab-header.d.ts +9 -3
- package/typings/esm5/toolbar/index.metadata.json +1 -1
- package/typings/esm5/tooltip/index.metadata.json +1 -1
- package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/esm5/tree/index.metadata.json +1 -1
- package/typings/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/expansion/expansion-panel.d.ts +19 -2
- package/typings/expansion/index.metadata.json +1 -1
- package/typings/form-field/form-field.d.ts +15 -4
- package/typings/form-field/index.metadata.json +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/icon/index.metadata.json +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/menu/index.d.ts +4 -4
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-directive.d.ts +1 -0
- package/typings/menu/menu-item.d.ts +2 -0
- package/typings/paginator/index.metadata.json +1 -1
- package/typings/paginator/paginator.d.ts +7 -3
- package/typings/progress-bar/index.metadata.json +1 -1
- package/typings/radio/index.metadata.json +1 -1
- package/typings/radio/radio.d.ts +2 -6
- package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/typings/select/index.metadata.json +1 -1
- package/typings/select/select.d.ts +12 -2
- package/typings/sidenav/drawer.d.ts +9 -2
- package/typings/sidenav/index.metadata.json +1 -1
- package/typings/slide-toggle/index.metadata.json +1 -1
- package/typings/slider/index.metadata.json +1 -1
- package/typings/snack-bar/index.metadata.json +1 -1
- package/typings/sort/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/step-header.d.ts +3 -5
- package/typings/tabs/index.d.ts +5 -5
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/tab-body.d.ts +2 -0
- package/typings/tabs/tab-group.d.ts +11 -2
- package/typings/tabs/tab-header.d.ts +9 -3
- package/typings/toolbar/index.metadata.json +1 -1
- package/typings/tooltip/index.metadata.json +1 -1
- package/typings/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/tree/index.metadata.json +1 -1
- package/schematics/ng-add/theming/custom-theme.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-form-field.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/form-field/form-field-errors.ts","../../src/lib/form-field/error.ts","../../src/lib/form-field/form-field-animations.ts","../../src/lib/form-field/form-field-control.ts","../../src/lib/form-field/hint.ts","../../src/lib/form-field/label.ts","../../src/lib/form-field/placeholder.ts","../../src/lib/form-field/prefix.ts","../../src/lib/form-field/suffix.ts","../../src/lib/form-field/form-field.ts","../../src/lib/form-field/form-field-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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\nexport 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\nexport 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\nexport 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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport 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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport 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\nexport 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\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport 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\nexport 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\nexport 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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport 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\nexport 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\nexport 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\nexport 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\nexport 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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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/** @docs-private */\nexport function getMatFormFieldPlaceholderConflictError(): Error {\n return Error('Placeholder attribute and child element were both specified.');\n}\n\n/** @docs-private */\nexport function getMatFormFieldDuplicatedHintError(align: string): Error {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n\n/** @docs-private */\nexport function getMatFormFieldMissingControlError(): Error {\n return Error('mat-form-field must contain a MatFormFieldControl.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Single error message to be shown underneath the form field. */\n@Directive({\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n})\nexport class MatError {\n @Input() id: string = `mat-error-${nextUniqueId++}`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the MatFormField.\n * @docs-private\n */\nexport const matFormFieldAnimations: {\n readonly transitionMessages: AnimationTriggerMetadata\n} = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-100%)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\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\nimport {Observable} from 'rxjs';\nimport {NgControl} from '@angular/forms';\n\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\nexport abstract class MatFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\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})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = `mat-hint-${nextUniqueId++}`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label'\n})\nexport class MatLabel {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\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@Directive({\n selector: 'mat-placeholder'\n})\nexport class MatPlaceholder {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** Prefix to be placed the the front of the form field. */\n@Directive({\n selector: '[matPrefix]',\n})\nexport class MatPrefix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix]',\n})\nexport class MatSuffix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n CanColor, CanColorCtor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {fromEvent, merge} from 'rxjs';\nimport {startWith, take} from 'rxjs/operators';\nimport {MatError} from './error';\nimport {matFormFieldAnimations} from './form-field-animations';\nimport {MatFormFieldControl} from './form-field-control';\nimport {\n getMatFormFieldDuplicatedHintError,\n getMatFormFieldMissingControlError,\n getMatFormFieldPlaceholderConflictError,\n} from './form-field-errors';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\nimport {Platform} from '@angular/cdk/platform';\nimport {NgControl} from '@angular/forms';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextUniqueId = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n\n\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nexport class MatFormFieldBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nexport const _MatFormFieldMixinBase: CanColorCtor & typeof MatFormFieldBase =\n mixinColor(MatFormFieldBase, 'primary');\n\n/** Possible appearance styles for the form field. */\nexport type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';\n\n/**\n * Represents the default options form the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatFormFieldDefaultOptions {\n appearance?: MatFormFieldAppearance;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nexport const MAT_FORM_FIELD_DEFAULT_OPTIONS =\n new InjectionToken<MatFormFieldDefaultOptions>('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n\n\n/** Container for form controls that applies Material Design styling and behavior. */\n@Component({\n moduleId: module.id,\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n templateUrl: 'form-field.html',\n // MatInput is a directive and can't have styles, so we need to include its styles here\n // in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a\n // big deal for people who aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-input.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.css',\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-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: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class MatFormField extends _MatFormFieldMixinBase\n implements AfterContentInit, AfterContentChecked, AfterViewInit, CanColor {\n private _labelOptions: LabelOptions;\n private _outlineGapCalculationNeeded = false;\n\n /** The form-field appearance style. */\n @Input()\n get appearance(): MatFormFieldAppearance { return this._appearance; }\n set appearance(value: MatFormFieldAppearance) {\n const oldValue = this._appearance;\n\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n\n if (this._appearance === 'outline' && oldValue !== value) {\n this._updateOutlineGapOnStable();\n }\n }\n _appearance: MatFormFieldAppearance;\n\n /** Whether the required marker should be hidden. */\n @Input()\n get hideRequiredMarker(): boolean { return this._hideRequiredMarker; }\n set hideRequiredMarker(value: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n private _hideRequiredMarker: boolean;\n\n /** Override for the logic that disables the label animation in certain cases. */\n private _showAlwaysAnimate = false;\n\n /** Whether the floating label should always float or not. */\n get _shouldAlwaysFloat(): boolean {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n\n /** Whether the label can float or not. */\n get _canLabelFloat(): boolean { return this.floatLabel !== 'never'; }\n\n /** State of the mat-hint and mat-error animations. */\n _subscriptAnimationState: string = '';\n\n /** Text for the form field hint. */\n @Input()\n get hintLabel(): string { return this._hintLabel; }\n set hintLabel(value: string) {\n this._hintLabel = value;\n this._processHints();\n }\n private _hintLabel = '';\n\n // Unique id for the hint label.\n _hintLabelId: string = `mat-hint-${nextUniqueId++}`;\n\n // Unique id for the internal form field label.\n _labelId = `mat-form-field-label-${nextUniqueId++}`;\n\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 @Input()\n get floatLabel(): FloatLabelType {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value: FloatLabelType) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._labelOptions.float || 'auto';\n this._changeDetectorRef.markForCheck();\n }\n }\n private _floatLabel: FloatLabelType;\n\n /** Whether the Angular animations are enabled. */\n _animationsEnabled: boolean;\n\n /**\n * @deprecated\n * @breaking-change 8.0.0\n */\n @ViewChild('underline') underlineRef: ElementRef;\n\n @ViewChild('connectionContainer') _connectionContainerRef: ElementRef;\n @ViewChild('inputContainer') _inputContainerRef: ElementRef;\n @ViewChild('label') private _label: ElementRef;\n @ContentChild(MatFormFieldControl) _control: MatFormFieldControl<any>;\n @ContentChild(MatPlaceholder) _placeholderChild: MatPlaceholder;\n @ContentChild(MatLabel) _labelChild: MatLabel;\n @ContentChildren(MatError) _errorChildren: QueryList<MatError>;\n @ContentChildren(MatHint) _hintChildren: QueryList<MatHint>;\n @ContentChildren(MatPrefix) _prefixChildren: QueryList<MatPrefix>;\n @ContentChildren(MatSuffix) _suffixChildren: QueryList<MatSuffix>;\n\n constructor(\n public _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_LABEL_GLOBAL_OPTIONS) labelOptions: LabelOptions,\n @Optional() private _dir: Directionality,\n @Optional() @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS)\n private _defaults: MatFormFieldDefaultOptions,\n // @breaking-change 8.0.0 _platform, _ngZone and _animationMode to be made required.\n private _platform?: Platform,\n private _ngZone?: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) _animationMode?: string) {\n super(_elementRef);\n\n this._labelOptions = labelOptions ? labelOptions : {};\n this.floatLabel = this._labelOptions.float || 'auto';\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n\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 }\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 getConnectedOverlayOrigin(): ElementRef {\n return this._connectionContainerRef || this._elementRef;\n }\n\n ngAfterContentInit() {\n this._validateControlChild();\n\n const control = this._control;\n\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith<void>(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges.subscribe(() => this._changeDetectorRef.markForCheck());\n }\n\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._updateOutlineGapOnStable();\n this._changeDetectorRef.markForCheck();\n });\n\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeeded) {\n this.updateOutlineGap();\n }\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n\n _hasLabel() {\n return !!this._labelChild;\n }\n\n _shouldLabelFloat() {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n }\n\n _hideControlPlaceholder() {\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\n _hasFloatingLabel() {\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\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages(): 'error' | 'hint' {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel(): void {\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) {\n this._showAlwaysAnimate = true;\n\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\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 private _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n\n /** Does any extra processing that is required when handling the hints. */\n private _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\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 private _validateHints() {\n if (this._hintChildren) {\n let startHint: MatHint;\n let endHint: MatHint;\n this._hintChildren.forEach((hint: MatHint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\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 private _syncDescribedByIds() {\n if (this._control) {\n let ids: string[] = [];\n\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids = this._errorChildren.map(error => error.id);\n }\n\n this._control.setDescribedByIds(ids);\n }\n }\n\n /** Throws an error if the form field's control is missing. */\n protected _validateControlChild() {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n }\n\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n\n if (this._platform && !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 (!document.documentElement!.contains(this._elementRef.nativeElement)) {\n this._outlineGapCalculationNeeded = true;\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n const startEls = this._connectionContainerRef.nativeElement.querySelectorAll(\n '.mat-form-field-outline-start');\n const gapEls = this._connectionContainerRef.nativeElement.querySelectorAll(\n '.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n const containerStart = this._getStartEnd(\n this._connectionContainerRef.nativeElement.getBoundingClientRect());\n const labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());\n let labelWidth = 0;\n\n for (const child of labelEl.children) {\n labelWidth += child.offsetWidth;\n }\n startWidth = labelStart - containerStart - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n\n for (let i = 0; i < startEls.length; i++) {\n startEls.item(i).style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls.item(i).style.width = `${gapWidth}px`;\n }\n\n this._outlineGapCalculationNeeded = false;\n }\n\n /** Gets the start end of the rect considering the current directionality. */\n private _getStartEnd(rect: ClientRect): number {\n return this._dir && this._dir.value === 'rtl' ? rect.right : rect.left;\n }\n\n /** Updates the outline gap the new time the zone stabilizes. */\n private _updateOutlineGapOnStable() {\n // @breaking-change 8.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => this.updateOutlineGap());\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {MatError} from './error';\nimport {MatFormField} from './form-field';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\n\n\n@NgModule({\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n ],\n exports: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n})\nexport class MatFormFieldModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","nextUniqueId","id","type","Directive","args","selector","host","class","role","[attr.id]","Input","MatError","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","[class.mat-right]","[attr.align]","MatHint","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","MatFormFieldBase","_elementRef","_MatFormFieldMixinBase","mixinColor","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MatFormField","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","_super","call","_outlineGapCalculationNeeded","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","float","_animationsEnabled","appearance","tslib_1.__extends","defineProperty","_appearance","value","oldValue","_updateOutlineGapOnStable","_hideRequiredMarker","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","ngAfterContentChecked","updateOutlineGap","ngAfterViewInit","detectChanges","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","fromEvent","_label","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","ids","startHint","find","endHint","push","map","error","setDescribedByIds","labelEl","children","textContent","trim","isBrowser","document","contains","startWidth","gapWidth","startEls","querySelectorAll","gapEls","containerStart","_getStartEnd","getBoundingClientRect","labelStart","labelWidth","_i","_a","offsetWidth","outlineGapPadding","i","item","width","rect","right","left","onStable","Promise","resolve","then","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-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","ctorParameters","ElementRef","ChangeDetectorRef","undefined","decorators","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","propDecorators","hideRequiredMarker","underlineRef","ViewChild","_inputContainerRef","ContentChild","ContentChildren","NgModule","declarations","imports","CommonModule","ObserversModule","exports","MatFormFieldModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-form-field.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/form-field/form-field-errors.ts","../../src/lib/form-field/error.ts","../../src/lib/form-field/form-field-animations.ts","../../src/lib/form-field/form-field-control.ts","../../src/lib/form-field/hint.ts","../../src/lib/form-field/label.ts","../../src/lib/form-field/placeholder.ts","../../src/lib/form-field/prefix.ts","../../src/lib/form-field/suffix.ts","../../src/lib/form-field/form-field.ts","../../src/lib/form-field/form-field-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar 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\nexport 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\nexport 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\nexport 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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport 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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport 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\nexport 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\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport 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\nexport 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\nexport 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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport 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\nexport 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\nexport 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\nexport 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\nexport 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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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/** @docs-private */\nexport function getMatFormFieldPlaceholderConflictError(): Error {\n return Error('Placeholder attribute and child element were both specified.');\n}\n\n/** @docs-private */\nexport function getMatFormFieldDuplicatedHintError(align: string): Error {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n\n/** @docs-private */\nexport function getMatFormFieldMissingControlError(): Error {\n return Error('mat-form-field must contain a MatFormFieldControl.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Single error message to be shown underneath the form field. */\n@Directive({\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n})\nexport class MatError {\n @Input() id: string = `mat-error-${nextUniqueId++}`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the MatFormField.\n * @docs-private\n */\nexport const matFormFieldAnimations: {\n readonly transitionMessages: AnimationTriggerMetadata\n} = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-100%)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\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\nimport {Observable} from 'rxjs';\nimport {NgControl} from '@angular/forms';\n\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\nexport abstract class MatFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\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})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = `mat-hint-${nextUniqueId++}`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label'\n})\nexport class MatLabel {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\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@Directive({\n selector: 'mat-placeholder'\n})\nexport class MatPlaceholder {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** Prefix to be placed the the front of the form field. */\n@Directive({\n selector: '[matPrefix]',\n})\nexport class MatPrefix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix]',\n})\nexport class MatSuffix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n OnDestroy,\n} from '@angular/core';\nimport {\n CanColor, CanColorCtor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {fromEvent, merge, Subject} from 'rxjs';\nimport {startWith, take, takeUntil} from 'rxjs/operators';\nimport {MatError} from './error';\nimport {matFormFieldAnimations} from './form-field-animations';\nimport {MatFormFieldControl} from './form-field-control';\nimport {\n getMatFormFieldDuplicatedHintError,\n getMatFormFieldMissingControlError,\n getMatFormFieldPlaceholderConflictError,\n} from './form-field-errors';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\nimport {Platform} from '@angular/cdk/platform';\nimport {NgControl} from '@angular/forms';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextUniqueId = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n\n\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nexport class MatFormFieldBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nexport const _MatFormFieldMixinBase: CanColorCtor & typeof MatFormFieldBase =\n mixinColor(MatFormFieldBase, 'primary');\n\n/** Possible appearance styles for the form field. */\nexport type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';\n\n/**\n * Represents the default options form the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatFormFieldDefaultOptions {\n appearance?: MatFormFieldAppearance;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nexport const MAT_FORM_FIELD_DEFAULT_OPTIONS =\n new InjectionToken<MatFormFieldDefaultOptions>('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n\n\n/** Container for form controls that applies Material Design styling and behavior. */\n@Component({\n moduleId: module.id,\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n templateUrl: 'form-field.html',\n // MatInput is a directive and can't have styles, so we need to include its styles here\n // in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a\n // big deal for people who aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-input.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.css',\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: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class MatFormField extends _MatFormFieldMixinBase\n implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy, CanColor {\n private _labelOptions: LabelOptions;\n\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n private _outlineGapCalculationNeededImmediately = false;\n\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n private _outlineGapCalculationNeededOnStable = false;\n\n private _destroyed = new Subject<void>();\n\n /** The form-field appearance style. */\n @Input()\n get appearance(): MatFormFieldAppearance { return this._appearance; }\n set appearance(value: MatFormFieldAppearance) {\n const oldValue = this._appearance;\n\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n\n if (this._appearance === 'outline' && oldValue !== value) {\n this._updateOutlineGapOnStable();\n }\n }\n _appearance: MatFormFieldAppearance;\n\n /** Whether the required marker should be hidden. */\n @Input()\n get hideRequiredMarker(): boolean { return this._hideRequiredMarker; }\n set hideRequiredMarker(value: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n private _hideRequiredMarker: boolean;\n\n /** Override for the logic that disables the label animation in certain cases. */\n private _showAlwaysAnimate = false;\n\n /** Whether the floating label should always float or not. */\n get _shouldAlwaysFloat(): boolean {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n\n /** Whether the label can float or not. */\n get _canLabelFloat(): boolean { return this.floatLabel !== 'never'; }\n\n /** State of the mat-hint and mat-error animations. */\n _subscriptAnimationState: string = '';\n\n /** Text for the form field hint. */\n @Input()\n get hintLabel(): string { return this._hintLabel; }\n set hintLabel(value: string) {\n this._hintLabel = value;\n this._processHints();\n }\n private _hintLabel = '';\n\n // Unique id for the hint label.\n _hintLabelId: string = `mat-hint-${nextUniqueId++}`;\n\n // Unique id for the internal form field label.\n _labelId = `mat-form-field-label-${nextUniqueId++}`;\n\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 @Input()\n get floatLabel(): FloatLabelType {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value: FloatLabelType) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._labelOptions.float || 'auto';\n this._changeDetectorRef.markForCheck();\n }\n }\n private _floatLabel: FloatLabelType;\n\n /** Whether the Angular animations are enabled. */\n _animationsEnabled: boolean;\n\n /**\n * @deprecated\n * @breaking-change 8.0.0\n */\n @ViewChild('underline') underlineRef: ElementRef;\n\n @ViewChild('connectionContainer') _connectionContainerRef: ElementRef;\n @ViewChild('inputContainer') _inputContainerRef: ElementRef;\n @ViewChild('label') private _label: ElementRef;\n @ContentChild(MatFormFieldControl) _control: MatFormFieldControl<any>;\n @ContentChild(MatPlaceholder) _placeholderChild: MatPlaceholder;\n @ContentChild(MatLabel) _labelChild: MatLabel;\n @ContentChildren(MatError) _errorChildren: QueryList<MatError>;\n @ContentChildren(MatHint) _hintChildren: QueryList<MatHint>;\n @ContentChildren(MatPrefix) _prefixChildren: QueryList<MatPrefix>;\n @ContentChildren(MatSuffix) _suffixChildren: QueryList<MatSuffix>;\n\n constructor(\n public _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_LABEL_GLOBAL_OPTIONS) labelOptions: LabelOptions,\n @Optional() private _dir: Directionality,\n @Optional() @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS)\n private _defaults: MatFormFieldDefaultOptions,\n // @breaking-change 8.0.0 _platform, _ngZone and _animationMode to be made required.\n private _platform?: Platform,\n private _ngZone?: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) _animationMode?: string) {\n super(_elementRef);\n\n this._labelOptions = labelOptions ? labelOptions : {};\n this.floatLabel = this._labelOptions.float || 'auto';\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n\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 }\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 getConnectedOverlayOrigin(): ElementRef {\n return this._connectionContainerRef || this._elementRef;\n }\n\n ngAfterContentInit() {\n this._validateControlChild();\n\n const control = this._control;\n\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith<void>(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this._changeDetectorRef.markForCheck());\n }\n\n // @breaking-change 7.0.0 Remove this check once _ngZone is required. Also reconsider\n // whether the `ngAfterContentChecked` below is still necessary.\n if (this._ngZone) {\n this._ngZone.onStable.asObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (this._outlineGapCalculationNeededOnStable) {\n this.updateOutlineGap();\n }\n });\n }\n\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._updateOutlineGapOnStable();\n this._changeDetectorRef.markForCheck();\n });\n\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n if (this._dir) {\n this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this.updateOutlineGap());\n }\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n\n _hasLabel() {\n return !!this._labelChild;\n }\n\n _shouldLabelFloat() {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n }\n\n _hideControlPlaceholder() {\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\n _hasFloatingLabel() {\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\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages(): 'error' | 'hint' {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel(): void {\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) {\n this._showAlwaysAnimate = true;\n\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\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 private _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n\n /** Does any extra processing that is required when handling the hints. */\n private _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\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 private _validateHints() {\n if (this._hintChildren) {\n let startHint: MatHint;\n let endHint: MatHint;\n this._hintChildren.forEach((hint: MatHint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\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 private _syncDescribedByIds() {\n if (this._control) {\n let ids: string[] = [];\n\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids = this._errorChildren.map(error => error.id);\n }\n\n this._control.setDescribedByIds(ids);\n }\n }\n\n /** Throws an error if the form field's control is missing. */\n protected _validateControlChild() {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n }\n\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n\n if (this._platform && !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 (!document.documentElement!.contains(this._elementRef.nativeElement)) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n\n const container = this._connectionContainerRef.nativeElement;\n const startEls = container.querySelectorAll('.mat-form-field-outline-start');\n const gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n\n if (this._label && this._label.nativeElement.children.length) {\n const containerRect = container.getBoundingClientRect();\n\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\n const containerStart = this._getStartEnd(containerRect);\n const labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());\n let labelWidth = 0;\n\n for (const child of labelEl.children) {\n labelWidth += child.offsetWidth;\n }\n startWidth = labelStart - containerStart - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n\n for (let i = 0; i < startEls.length; i++) {\n startEls.item(i).style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls.item(i).style.width = `${gapWidth}px`;\n }\n\n this._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = false;\n }\n\n /** Gets the start end of the rect considering the current directionality. */\n private _getStartEnd(rect: ClientRect): number {\n return this._dir && this._dir.value === 'rtl' ? rect.right : rect.left;\n }\n\n /**\n * Updates the outline gap the new time the zone stabilizes.\n * @breaking-change 7.0.0 Remove this method and only set the property once `_ngZone` is required.\n */\n private _updateOutlineGapOnStable() {\n // @breaking-change 8.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._outlineGapCalculationNeededOnStable = true;\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {MatError} from './error';\nimport {MatFormField} from './form-field';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\n\n\n@NgModule({\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n ],\n exports: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n})\nexport class MatFormFieldModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","nextUniqueId","MatError","id","type","Directive","args","selector","host","class","role","[attr.id]","Input","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","MatHint","[class.mat-right]","[attr.align]","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","MatFormFieldBase","_elementRef","_MatFormFieldMixinBase","mixinColor","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MatFormField","_super","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","call","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_destroyed","Subject","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","float","_animationsEnabled","appearance","tslib_1.__extends","defineProperty","_appearance","value","oldValue","_updateOutlineGapOnStable","_hideRequiredMarker","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","takeUntil","onStable","asObservable","updateOutlineGap","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","change","ngAfterContentChecked","ngAfterViewInit","detectChanges","ngOnDestroy","next","complete","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","fromEvent","_label","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","ids","startHint","find","endHint","push","map","error","setDescribedByIds","labelEl","children","textContent","trim","isBrowser","document","contains","startWidth","gapWidth","container","startEls","querySelectorAll","gapEls","containerRect","getBoundingClientRect","width","height","containerStart","_getStartEnd","labelStart","labelWidth","_i","_a","offsetWidth","outlineGapPadding","i","item","rect","right","left","Promise","resolve","then","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","ctorParameters","ElementRef","ChangeDetectorRef","undefined","decorators","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","propDecorators","hideRequiredMarker","underlineRef","ViewChild","_inputContainerRef","ContentChild","ContentChildren","MatFormFieldModule","NgModule","declarations","imports","CommonModule","ObserversModule","exports"],"mappings":"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"}
|
|
@@ -42,17 +42,18 @@ function __extends(d, b) {
|
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* @fileoverview added by tsickle
|
|
45
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
45
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
46
46
|
*/
|
|
47
|
-
/**
|
|
47
|
+
/**
|
|
48
48
|
* Injection token used to provide a grid list to a tile and to avoid circular imports.
|
|
49
49
|
* \@docs-private
|
|
50
|
-
|
|
50
|
+
* @type {?}
|
|
51
|
+
*/
|
|
51
52
|
var MAT_GRID_LIST = new core.InjectionToken('MAT_GRID_LIST');
|
|
52
53
|
|
|
53
54
|
/**
|
|
54
55
|
* @fileoverview added by tsickle
|
|
55
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
56
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
56
57
|
*/
|
|
57
58
|
var MatGridTile = /** @class */ (function () {
|
|
58
59
|
function MatGridTile(_element, _gridList) {
|
|
@@ -110,7 +111,7 @@ var MatGridTile = /** @class */ (function () {
|
|
|
110
111
|
* @return {?}
|
|
111
112
|
*/
|
|
112
113
|
function (property, value) {
|
|
113
|
-
(/** @type {?} */ (this._element.nativeElement.style))[property] = value;
|
|
114
|
+
((/** @type {?} */ (this._element.nativeElement.style)))[property] = value;
|
|
114
115
|
};
|
|
115
116
|
MatGridTile.decorators = [
|
|
116
117
|
{ type: core.Component, args: [{selector: 'mat-grid-tile',
|
|
@@ -212,7 +213,7 @@ var MatGridTileFooterCssMatStyler = /** @class */ (function () {
|
|
|
212
213
|
|
|
213
214
|
/**
|
|
214
215
|
* @fileoverview added by tsickle
|
|
215
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
216
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
216
217
|
*/
|
|
217
218
|
|
|
218
219
|
/**
|
|
@@ -314,17 +315,21 @@ TileCoordinator = /** @class */ (function () {
|
|
|
314
315
|
this.tracker.fill(0, 0, this.tracker.length);
|
|
315
316
|
this.positions = tiles.map(function (tile) { return _this._trackTile(tile); });
|
|
316
317
|
};
|
|
318
|
+
/** Calculates the row and col position of a tile. */
|
|
317
319
|
/**
|
|
318
320
|
* Calculates the row and col position of a tile.
|
|
321
|
+
* @private
|
|
319
322
|
* @param {?} tile
|
|
320
323
|
* @return {?}
|
|
321
324
|
*/
|
|
322
325
|
TileCoordinator.prototype._trackTile = /**
|
|
323
326
|
* Calculates the row and col position of a tile.
|
|
327
|
+
* @private
|
|
324
328
|
* @param {?} tile
|
|
325
329
|
* @return {?}
|
|
326
330
|
*/
|
|
327
331
|
function (tile) {
|
|
332
|
+
// Find a gap large enough for this tile.
|
|
328
333
|
/** @type {?} */
|
|
329
334
|
var gapStartIndex = this._findMatchingGap(tile.colspan);
|
|
330
335
|
// Place tile in the resulting gap.
|
|
@@ -334,13 +339,16 @@ TileCoordinator = /** @class */ (function () {
|
|
|
334
339
|
this.columnIndex = gapStartIndex + tile.colspan;
|
|
335
340
|
return new TilePosition(this.rowIndex, gapStartIndex);
|
|
336
341
|
};
|
|
342
|
+
/** Finds the next available space large enough to fit the tile. */
|
|
337
343
|
/**
|
|
338
344
|
* Finds the next available space large enough to fit the tile.
|
|
345
|
+
* @private
|
|
339
346
|
* @param {?} tileCols
|
|
340
347
|
* @return {?}
|
|
341
348
|
*/
|
|
342
349
|
TileCoordinator.prototype._findMatchingGap = /**
|
|
343
350
|
* Finds the next available space large enough to fit the tile.
|
|
351
|
+
* @private
|
|
344
352
|
* @param {?} tileCols
|
|
345
353
|
* @return {?}
|
|
346
354
|
*/
|
|
@@ -349,6 +357,7 @@ TileCoordinator = /** @class */ (function () {
|
|
|
349
357
|
throw Error("mat-grid-list: tile with colspan " + tileCols + " is wider than " +
|
|
350
358
|
("grid with cols=\"" + this.tracker.length + "\"."));
|
|
351
359
|
}
|
|
360
|
+
// Start index is inclusive, end index is exclusive.
|
|
352
361
|
/** @type {?} */
|
|
353
362
|
var gapStartIndex = -1;
|
|
354
363
|
/** @type {?} */
|
|
@@ -381,12 +390,15 @@ TileCoordinator = /** @class */ (function () {
|
|
|
381
390
|
// at least zero so the tile doesn't get pulled out of the grid.
|
|
382
391
|
return Math.max(gapStartIndex, 0);
|
|
383
392
|
};
|
|
393
|
+
/** Move "down" to the next row. */
|
|
384
394
|
/**
|
|
385
395
|
* Move "down" to the next row.
|
|
396
|
+
* @private
|
|
386
397
|
* @return {?}
|
|
387
398
|
*/
|
|
388
399
|
TileCoordinator.prototype._nextRow = /**
|
|
389
400
|
* Move "down" to the next row.
|
|
401
|
+
* @private
|
|
390
402
|
* @return {?}
|
|
391
403
|
*/
|
|
392
404
|
function () {
|
|
@@ -400,12 +412,18 @@ TileCoordinator = /** @class */ (function () {
|
|
|
400
412
|
/**
|
|
401
413
|
* Finds the end index (exclusive) of a gap given the index from which to start looking.
|
|
402
414
|
* The gap ends when a non-zero value is found.
|
|
415
|
+
*/
|
|
416
|
+
/**
|
|
417
|
+
* Finds the end index (exclusive) of a gap given the index from which to start looking.
|
|
418
|
+
* The gap ends when a non-zero value is found.
|
|
419
|
+
* @private
|
|
403
420
|
* @param {?} gapStartIndex
|
|
404
421
|
* @return {?}
|
|
405
422
|
*/
|
|
406
423
|
TileCoordinator.prototype._findGapEndIndex = /**
|
|
407
424
|
* Finds the end index (exclusive) of a gap given the index from which to start looking.
|
|
408
425
|
* The gap ends when a non-zero value is found.
|
|
426
|
+
* @private
|
|
409
427
|
* @param {?} gapStartIndex
|
|
410
428
|
* @return {?}
|
|
411
429
|
*/
|
|
@@ -418,14 +436,17 @@ TileCoordinator = /** @class */ (function () {
|
|
|
418
436
|
// The gap ends with the end of the row.
|
|
419
437
|
return this.tracker.length;
|
|
420
438
|
};
|
|
439
|
+
/** Update the tile tracker to account for the given tile in the given space. */
|
|
421
440
|
/**
|
|
422
441
|
* Update the tile tracker to account for the given tile in the given space.
|
|
442
|
+
* @private
|
|
423
443
|
* @param {?} start
|
|
424
444
|
* @param {?} tile
|
|
425
445
|
* @return {?}
|
|
426
446
|
*/
|
|
427
447
|
TileCoordinator.prototype._markTilePosition = /**
|
|
428
448
|
* Update the tile tracker to account for the given tile in the given space.
|
|
449
|
+
* @private
|
|
429
450
|
* @param {?} start
|
|
430
451
|
* @param {?} tile
|
|
431
452
|
* @return {?}
|
|
@@ -455,12 +476,14 @@ TilePosition = /** @class */ (function () {
|
|
|
455
476
|
|
|
456
477
|
/**
|
|
457
478
|
* @fileoverview added by tsickle
|
|
458
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
479
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
459
480
|
*/
|
|
460
|
-
|
|
481
|
+
|
|
482
|
+
/**
|
|
461
483
|
* RegExp that can be used to check whether a value will
|
|
462
484
|
* be allowed inside a CSS `calc()` expression.
|
|
463
|
-
|
|
485
|
+
* @type {?}
|
|
486
|
+
*/
|
|
464
487
|
var cssCalcAllowedValue = /^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;
|
|
465
488
|
/**
|
|
466
489
|
* Sets the style properties for an individual tile, given the position calculated by the
|
|
@@ -609,8 +632,11 @@ TileStyler = /** @class */ (function () {
|
|
|
609
632
|
* @return {?}
|
|
610
633
|
*/
|
|
611
634
|
function (tile, rowIndex, colIndex) {
|
|
635
|
+
// Percent of the available horizontal space that one column takes up.
|
|
612
636
|
/** @type {?} */
|
|
613
637
|
var percentWidthPerTile = 100 / this._cols;
|
|
638
|
+
// Fraction of the vertical gutter size that each column takes up.
|
|
639
|
+
// For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.
|
|
614
640
|
/** @type {?} */
|
|
615
641
|
var gutterWidthFractionPerTile = (this._cols - 1) / this._cols;
|
|
616
642
|
this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);
|
|
@@ -634,8 +660,11 @@ TileStyler = /** @class */ (function () {
|
|
|
634
660
|
* @return {?}
|
|
635
661
|
*/
|
|
636
662
|
function (tile, colIndex, percentWidth, gutterWidth) {
|
|
663
|
+
// Base horizontal size of a column.
|
|
637
664
|
/** @type {?} */
|
|
638
665
|
var baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);
|
|
666
|
+
// The width and horizontal position of each tile is always calculated the same way, but the
|
|
667
|
+
// height and vertical position depends on the rowMode.
|
|
639
668
|
/** @type {?} */
|
|
640
669
|
var side = this._direction === 'rtl' ? 'right' : 'left';
|
|
641
670
|
tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));
|
|
@@ -842,10 +871,12 @@ RatioTileStyler = /** @class */ (function (_super) {
|
|
|
842
871
|
});
|
|
843
872
|
};
|
|
844
873
|
/**
|
|
874
|
+
* @private
|
|
845
875
|
* @param {?} value
|
|
846
876
|
* @return {?}
|
|
847
877
|
*/
|
|
848
878
|
RatioTileStyler.prototype._parseRatio = /**
|
|
879
|
+
* @private
|
|
849
880
|
* @param {?} value
|
|
850
881
|
* @return {?}
|
|
851
882
|
*/
|
|
@@ -889,10 +920,13 @@ FitTileStyler = /** @class */ (function (_super) {
|
|
|
889
920
|
* @return {?}
|
|
890
921
|
*/
|
|
891
922
|
function (tile, rowIndex) {
|
|
923
|
+
// Percent of the available vertical space that one row takes up.
|
|
892
924
|
/** @type {?} */
|
|
893
925
|
var percentHeightPerTile = 100 / this._rowspan;
|
|
926
|
+
// Fraction of the horizontal gutter size that each column takes up.
|
|
894
927
|
/** @type {?} */
|
|
895
928
|
var gutterHeightPerTile = (this._rows - 1) / this._rows;
|
|
929
|
+
// Base vertical size of a column.
|
|
896
930
|
/** @type {?} */
|
|
897
931
|
var baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);
|
|
898
932
|
tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));
|
|
@@ -921,20 +955,25 @@ FitTileStyler = /** @class */ (function (_super) {
|
|
|
921
955
|
* @param {?} exp
|
|
922
956
|
* @return {?}
|
|
923
957
|
*/
|
|
924
|
-
function calc(exp) {
|
|
958
|
+
function calc(exp) {
|
|
959
|
+
return "calc(" + exp + ")";
|
|
960
|
+
}
|
|
925
961
|
/**
|
|
926
962
|
* Appends pixels to a CSS string if no units are given.
|
|
927
963
|
* @param {?} value
|
|
928
964
|
* @return {?}
|
|
929
965
|
*/
|
|
930
966
|
function normalizeUnits(value) {
|
|
931
|
-
return
|
|
967
|
+
return value.match(/([A-Za-z%]+)$/) ? value : value + "px";
|
|
932
968
|
}
|
|
933
969
|
|
|
934
970
|
/**
|
|
935
971
|
* @fileoverview added by tsickle
|
|
936
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
972
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
937
973
|
*/
|
|
974
|
+
// TODO(kara): Conditional (responsive) column count / row size.
|
|
975
|
+
// TODO(kara): Re-layout on window resize / media change (debounced).
|
|
976
|
+
// TODO(kara): gridTileHeader and gridTileFooter.
|
|
938
977
|
/** @type {?} */
|
|
939
978
|
var MAT_FIT_MODE = 'fit';
|
|
940
979
|
var MatGridList = /** @class */ (function () {
|
|
@@ -1027,12 +1066,15 @@ var MatGridList = /** @class */ (function () {
|
|
|
1027
1066
|
function () {
|
|
1028
1067
|
this._layoutTiles();
|
|
1029
1068
|
};
|
|
1069
|
+
/** Throw a friendly error if cols property is missing */
|
|
1030
1070
|
/**
|
|
1031
1071
|
* Throw a friendly error if cols property is missing
|
|
1072
|
+
* @private
|
|
1032
1073
|
* @return {?}
|
|
1033
1074
|
*/
|
|
1034
1075
|
MatGridList.prototype._checkCols = /**
|
|
1035
1076
|
* Throw a friendly error if cols property is missing
|
|
1077
|
+
* @private
|
|
1036
1078
|
* @return {?}
|
|
1037
1079
|
*/
|
|
1038
1080
|
function () {
|
|
@@ -1041,12 +1083,15 @@ var MatGridList = /** @class */ (function () {
|
|
|
1041
1083
|
"Example: <mat-grid-list cols=\"3\">");
|
|
1042
1084
|
}
|
|
1043
1085
|
};
|
|
1086
|
+
/** Default to equal width:height if rowHeight property is missing */
|
|
1044
1087
|
/**
|
|
1045
1088
|
* Default to equal width:height if rowHeight property is missing
|
|
1089
|
+
* @private
|
|
1046
1090
|
* @return {?}
|
|
1047
1091
|
*/
|
|
1048
1092
|
MatGridList.prototype._checkRowHeight = /**
|
|
1049
1093
|
* Default to equal width:height if rowHeight property is missing
|
|
1094
|
+
* @private
|
|
1050
1095
|
* @return {?}
|
|
1051
1096
|
*/
|
|
1052
1097
|
function () {
|
|
@@ -1054,13 +1099,16 @@ var MatGridList = /** @class */ (function () {
|
|
|
1054
1099
|
this._setTileStyler('1:1');
|
|
1055
1100
|
}
|
|
1056
1101
|
};
|
|
1102
|
+
/** Creates correct Tile Styler subtype based on rowHeight passed in by user */
|
|
1057
1103
|
/**
|
|
1058
1104
|
* Creates correct Tile Styler subtype based on rowHeight passed in by user
|
|
1105
|
+
* @private
|
|
1059
1106
|
* @param {?} rowHeight
|
|
1060
1107
|
* @return {?}
|
|
1061
1108
|
*/
|
|
1062
1109
|
MatGridList.prototype._setTileStyler = /**
|
|
1063
1110
|
* Creates correct Tile Styler subtype based on rowHeight passed in by user
|
|
1111
|
+
* @private
|
|
1064
1112
|
* @param {?} rowHeight
|
|
1065
1113
|
* @return {?}
|
|
1066
1114
|
*/
|
|
@@ -1078,12 +1126,15 @@ var MatGridList = /** @class */ (function () {
|
|
|
1078
1126
|
this._tileStyler = new FixedTileStyler(rowHeight);
|
|
1079
1127
|
}
|
|
1080
1128
|
};
|
|
1129
|
+
/** Computes and applies the size and position for all children grid tiles. */
|
|
1081
1130
|
/**
|
|
1082
1131
|
* Computes and applies the size and position for all children grid tiles.
|
|
1132
|
+
* @private
|
|
1083
1133
|
* @return {?}
|
|
1084
1134
|
*/
|
|
1085
1135
|
MatGridList.prototype._layoutTiles = /**
|
|
1086
1136
|
* Computes and applies the size and position for all children grid tiles.
|
|
1137
|
+
* @private
|
|
1087
1138
|
* @return {?}
|
|
1088
1139
|
*/
|
|
1089
1140
|
function () {
|
|
@@ -1119,7 +1170,7 @@ var MatGridList = /** @class */ (function () {
|
|
|
1119
1170
|
*/
|
|
1120
1171
|
function (style) {
|
|
1121
1172
|
if (style) {
|
|
1122
|
-
(/** @type {?} */ (this._element.nativeElement.style))[style[0]] = style[1];
|
|
1173
|
+
((/** @type {?} */ (this._element.nativeElement.style)))[style[0]] = style[1];
|
|
1123
1174
|
}
|
|
1124
1175
|
};
|
|
1125
1176
|
MatGridList.decorators = [
|
|
@@ -1154,7 +1205,7 @@ var MatGridList = /** @class */ (function () {
|
|
|
1154
1205
|
|
|
1155
1206
|
/**
|
|
1156
1207
|
* @fileoverview added by tsickle
|
|
1157
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1208
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1158
1209
|
*/
|
|
1159
1210
|
var MatGridListModule = /** @class */ (function () {
|
|
1160
1211
|
function MatGridListModule() {
|
|
@@ -1192,7 +1243,7 @@ exports.MatGridTileText = MatGridTileText;
|
|
|
1192
1243
|
exports.MatGridAvatarCssMatStyler = MatGridAvatarCssMatStyler;
|
|
1193
1244
|
exports.MatGridTileHeaderCssMatStyler = MatGridTileHeaderCssMatStyler;
|
|
1194
1245
|
exports.MatGridTileFooterCssMatStyler = MatGridTileFooterCssMatStyler;
|
|
1195
|
-
exports.ɵ
|
|
1246
|
+
exports.ɵa15 = MAT_GRID_LIST;
|
|
1196
1247
|
|
|
1197
1248
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1198
1249
|
|