@angular/material 2.0.0-beta.0 → 2.0.0-beta.12
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/README.md +4 -165
- package/_theming.scss +3878 -0
- package/autocomplete/index.d.ts +8 -5
- package/autocomplete/index.metadata.json +12 -1
- package/autocomplete/package.json +7 -0
- package/autocomplete/typings/autocomplete-module.d.ts +2 -0
- package/autocomplete/typings/autocomplete-trigger.d.ts +159 -0
- package/autocomplete/typings/autocomplete.d.ts +62 -0
- package/autocomplete/typings/index.d.ts +4 -0
- package/autocomplete/typings/index.metadata.json +1 -0
- package/autocomplete/typings/public-api.d.ts +10 -0
- package/autocomplete.d.ts +8 -0
- package/autocomplete.metadata.json +12 -0
- package/bundles/material-autocomplete.umd.js +2969 -0
- package/bundles/material-autocomplete.umd.js.map +1 -0
- package/bundles/material-autocomplete.umd.min.js +10 -0
- package/bundles/material-autocomplete.umd.min.js.map +1 -0
- package/bundles/material-button-toggle.umd.js +2284 -0
- package/bundles/material-button-toggle.umd.js.map +1 -0
- package/bundles/material-button-toggle.umd.min.js +10 -0
- package/bundles/material-button-toggle.umd.min.js.map +1 -0
- package/bundles/material-button.umd.js +2092 -0
- package/bundles/material-button.umd.js.map +1 -0
- package/bundles/material-button.umd.min.js +10 -0
- package/bundles/material-button.umd.min.js.map +1 -0
- package/bundles/material-card.umd.js +2006 -0
- package/bundles/material-card.umd.js.map +1 -0
- package/bundles/material-card.umd.min.js +9 -0
- package/bundles/material-card.umd.min.js.map +1 -0
- package/bundles/material-checkbox.umd.js +2327 -0
- package/bundles/material-checkbox.umd.js.map +1 -0
- package/bundles/material-checkbox.umd.min.js +10 -0
- package/bundles/material-checkbox.umd.min.js.map +1 -0
- package/bundles/material-chips.umd.js +3542 -0
- package/bundles/material-chips.umd.js.map +1 -0
- package/bundles/material-chips.umd.min.js +10 -0
- package/bundles/material-chips.umd.min.js.map +1 -0
- package/bundles/material-core.umd.js +2206 -0
- package/bundles/material-core.umd.js.map +1 -0
- package/bundles/material-core.umd.min.js +9 -0
- package/bundles/material-core.umd.min.js.map +1 -0
- package/bundles/material-datepicker.umd.js +6128 -0
- package/bundles/material-datepicker.umd.js.map +1 -0
- package/bundles/material-datepicker.umd.min.js +12 -0
- package/bundles/material-datepicker.umd.min.js.map +1 -0
- package/bundles/material-dialog.umd.js +2530 -0
- package/bundles/material-dialog.umd.js.map +1 -0
- package/bundles/material-dialog.umd.min.js +10 -0
- package/bundles/material-dialog.umd.min.js.map +1 -0
- package/bundles/material-expansion.umd.js +2128 -0
- package/bundles/material-expansion.umd.js.map +1 -0
- package/bundles/material-expansion.umd.min.js +9 -0
- package/bundles/material-expansion.umd.min.js.map +1 -0
- package/bundles/material-form-field.umd.js +2091 -0
- package/bundles/material-form-field.umd.js.map +1 -0
- package/bundles/material-form-field.umd.min.js +10 -0
- package/bundles/material-form-field.umd.min.js.map +1 -0
- package/bundles/material-grid-list.umd.js +2621 -0
- package/bundles/material-grid-list.umd.js.map +1 -0
- package/bundles/material-grid-list.umd.min.js +10 -0
- package/bundles/material-grid-list.umd.min.js.map +1 -0
- package/bundles/material-icon.umd.js +2442 -0
- package/bundles/material-icon.umd.js.map +1 -0
- package/bundles/material-icon.umd.min.js +10 -0
- package/bundles/material-icon.umd.min.js.map +1 -0
- package/bundles/material-input.umd.js +2716 -0
- package/bundles/material-input.umd.js.map +1 -0
- package/bundles/material-input.umd.min.js +10 -0
- package/bundles/material-input.umd.min.js.map +1 -0
- package/bundles/material-list.umd.js +2611 -0
- package/bundles/material-list.umd.js.map +1 -0
- package/bundles/material-list.umd.min.js +11 -0
- package/bundles/material-list.umd.min.js.map +1 -0
- package/bundles/material-menu.umd.js +2613 -0
- package/bundles/material-menu.umd.js.map +1 -0
- package/bundles/material-menu.umd.min.js +10 -0
- package/bundles/material-menu.umd.min.js.map +1 -0
- package/bundles/material-paginator.umd.js +5228 -0
- package/bundles/material-paginator.umd.js.map +1 -0
- package/bundles/material-paginator.umd.min.js +11 -0
- package/bundles/material-paginator.umd.min.js.map +1 -0
- package/bundles/material-progress-bar.umd.js +1784 -0
- package/bundles/material-progress-bar.umd.js.map +1 -0
- package/bundles/material-progress-bar.umd.min.js +9 -0
- package/bundles/material-progress-bar.umd.min.js.map +1 -0
- package/bundles/material-progress-spinner.umd.js +2005 -0
- package/bundles/material-progress-spinner.umd.js.map +1 -0
- package/bundles/material-progress-spinner.umd.min.js +10 -0
- package/bundles/material-progress-spinner.umd.min.js.map +1 -0
- package/bundles/material-radio.umd.js +2530 -0
- package/bundles/material-radio.umd.js.map +1 -0
- package/bundles/material-radio.umd.min.js +10 -0
- package/bundles/material-radio.umd.min.js.map +1 -0
- package/bundles/material-select.umd.js +3843 -0
- package/bundles/material-select.umd.js.map +1 -0
- package/bundles/material-select.umd.min.js +10 -0
- package/bundles/material-select.umd.min.js.map +1 -0
- package/bundles/material-sidenav.umd.js +2577 -0
- package/bundles/material-sidenav.umd.js.map +1 -0
- package/bundles/material-sidenav.umd.min.js +10 -0
- package/bundles/material-sidenav.umd.min.js.map +1 -0
- package/bundles/material-slide-toggle.umd.js +2253 -0
- package/bundles/material-slide-toggle.umd.js.map +1 -0
- package/bundles/material-slide-toggle.umd.min.js +10 -0
- package/bundles/material-slide-toggle.umd.min.js.map +1 -0
- package/bundles/material-slider.umd.js +2621 -0
- package/bundles/material-slider.umd.js.map +1 -0
- package/bundles/material-slider.umd.min.js +10 -0
- package/bundles/material-slider.umd.min.js.map +1 -0
- package/bundles/material-snack-bar.umd.js +2258 -0
- package/bundles/material-snack-bar.umd.js.map +1 -0
- package/bundles/material-snack-bar.umd.min.js +10 -0
- package/bundles/material-snack-bar.umd.min.js.map +1 -0
- package/bundles/material-sort.umd.js +1917 -0
- package/bundles/material-sort.umd.js.map +1 -0
- package/bundles/material-sort.umd.min.js +9 -0
- package/bundles/material-sort.umd.min.js.map +1 -0
- package/bundles/material-stepper.umd.js +3271 -0
- package/bundles/material-stepper.umd.js.map +1 -0
- package/bundles/material-stepper.umd.min.js +10 -0
- package/bundles/material-stepper.umd.min.js.map +1 -0
- package/bundles/material-table.umd.js +1976 -0
- package/bundles/material-table.umd.js.map +1 -0
- package/bundles/material-table.umd.min.js +9 -0
- package/bundles/material-table.umd.min.js.map +1 -0
- package/bundles/material-tabs.umd.js +3341 -0
- package/bundles/material-tabs.umd.js.map +1 -0
- package/bundles/material-tabs.umd.min.js +10 -0
- package/bundles/material-tabs.umd.min.js.map +1 -0
- package/bundles/material-toolbar.umd.js +1790 -0
- package/bundles/material-toolbar.umd.js.map +1 -0
- package/bundles/material-toolbar.umd.min.js +9 -0
- package/bundles/material-toolbar.umd.min.js.map +1 -0
- package/bundles/material-tooltip.umd.js +2339 -0
- package/bundles/material-tooltip.umd.js.map +1 -0
- package/bundles/material-tooltip.umd.min.js +10 -0
- package/bundles/material-tooltip.umd.min.js.map +1 -0
- package/bundles/material.umd.js +21541 -12552
- package/bundles/material.umd.js.map +1 -0
- package/bundles/material.umd.min.js +22 -0
- package/bundles/material.umd.min.js.map +1 -0
- package/button/index.d.ts +8 -1
- package/button/index.metadata.json +12 -1
- package/button/package.json +7 -0
- package/button/typings/button-module.d.ts +2 -0
- package/button/typings/button.d.ts +77 -0
- package/button/typings/index.d.ts +4 -0
- package/button/typings/index.metadata.json +1 -0
- package/button/typings/public-api.d.ts +9 -0
- package/button-toggle/index.d.ts +8 -1
- package/button-toggle/index.metadata.json +12 -1
- package/button-toggle/package.json +7 -0
- package/button-toggle/typings/button-toggle-module.d.ts +2 -0
- package/button-toggle/typings/button-toggle.d.ts +163 -0
- package/button-toggle/typings/index.d.ts +4 -0
- package/button-toggle/typings/index.metadata.json +1 -0
- package/button-toggle/typings/public-api.d.ts +9 -0
- package/button-toggle.d.ts +8 -0
- package/button-toggle.metadata.json +12 -0
- package/button.d.ts +8 -0
- package/button.metadata.json +12 -0
- package/card/index.d.ts +8 -1
- package/card/index.metadata.json +12 -1
- package/card/package.json +7 -0
- package/card/typings/card-module.d.ts +2 -0
- package/card/typings/card.d.ts +95 -0
- package/card/typings/index.d.ts +4 -0
- package/card/typings/index.metadata.json +1 -0
- package/card/typings/public-api.d.ts +9 -0
- package/card.d.ts +8 -0
- package/card.metadata.json +12 -0
- package/checkbox/index.d.ts +8 -1
- package/checkbox/index.metadata.json +12 -1
- package/checkbox/package.json +7 -0
- package/checkbox/typings/checkbox-module.d.ts +2 -0
- package/checkbox/typings/checkbox-required-validator.d.ts +18 -0
- package/checkbox/typings/checkbox.d.ts +157 -0
- package/checkbox/typings/index.d.ts +4 -0
- package/checkbox/typings/index.metadata.json +1 -0
- package/checkbox/typings/public-api.d.ts +10 -0
- package/checkbox.d.ts +8 -0
- package/checkbox.metadata.json +12 -0
- package/chips/index.d.ts +8 -2
- package/chips/index.metadata.json +12 -1
- package/chips/package.json +7 -0
- package/chips/typings/chip-input.d.ts +43 -0
- package/chips/typings/chip-list.d.ts +222 -0
- package/chips/typings/chip.d.ts +123 -0
- package/chips/typings/chips-module.d.ts +2 -0
- package/chips/typings/index.d.ts +4 -0
- package/chips/typings/index.metadata.json +1 -0
- package/chips/typings/public-api.d.ts +11 -0
- package/chips.d.ts +8 -0
- package/chips.metadata.json +12 -0
- package/core/index.d.ts +8 -1
- package/core/index.metadata.json +12 -1
- package/core/package.json +7 -0
- package/core/typings/animation/animation.d.ts +20 -0
- package/core/typings/common-behaviors/color.d.ts +22 -0
- package/core/typings/common-behaviors/common-module.d.ts +25 -0
- package/core/typings/common-behaviors/constructor.d.ts +9 -0
- package/core/typings/common-behaviors/disable-ripple.d.ts +7 -0
- package/core/typings/common-behaviors/disabled.d.ts +7 -0
- package/core/typings/common-behaviors/index.d.ts +12 -0
- package/core/typings/common-behaviors/tabindex.d.ts +15 -0
- package/core/typings/compatibility/compatibility.d.ts +32 -0
- package/core/typings/datetime/date-adapter.d.ts +198 -0
- package/core/typings/datetime/date-formats.d.ts +20 -0
- package/core/typings/datetime/index.d.ts +8 -0
- package/core/typings/datetime/native-date-adapter.d.ts +50 -0
- package/core/typings/datetime/native-date-formats.d.ts +9 -0
- package/core/typings/error/error-options.d.ts +9 -0
- package/core/typings/gestures/gesture-annotations.d.ts +51 -0
- package/core/{gestures → typings/gestures}/gesture-config.d.ts +0 -0
- package/core/typings/index.d.ts +5 -0
- package/core/typings/index.metadata.json +1 -0
- package/core/typings/line/line.d.ts +30 -0
- package/core/typings/option/index.d.ts +4 -0
- package/core/typings/option/optgroup.d.ts +14 -0
- package/core/typings/option/option.d.ts +90 -0
- package/core/typings/placeholder/placeholder-options.d.ts +15 -0
- package/core/typings/public-api.d.ts +22 -0
- package/core/typings/ripple/index.d.ts +5 -0
- package/core/typings/ripple/ripple-ref.d.ts +28 -0
- package/core/typings/ripple/ripple-renderer.d.ts +69 -0
- package/core/typings/ripple/ripple.d.ts +65 -0
- package/core/typings/selection/index.d.ts +3 -0
- package/core/typings/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
- package/core/typings/style/apply-transform.d.ts +13 -0
- package/core/typings/style/index.d.ts +8 -0
- package/core/typings/testing/month-constants.d.ts +12 -0
- package/core/typings/util/object-extend.d.ts +15 -0
- package/core.d.ts +7 -0
- package/core.metadata.json +12 -1
- package/datepicker/index.d.ts +8 -0
- package/datepicker/index.metadata.json +12 -0
- package/datepicker/package.json +7 -0
- package/datepicker/typings/calendar-body.d.ts +52 -0
- package/datepicker/typings/calendar.d.ts +97 -0
- package/datepicker/typings/coerce-date-property.d.ts +19 -0
- package/datepicker/typings/datepicker-errors.d.ts +9 -0
- package/datepicker/typings/datepicker-input.d.ts +92 -0
- package/datepicker/typings/datepicker-intl.d.ts +25 -0
- package/datepicker/typings/datepicker-module.d.ts +2 -0
- package/datepicker/typings/datepicker-toggle.d.ts +24 -0
- package/datepicker/typings/datepicker.d.ts +117 -0
- package/datepicker/typings/index.d.ts +4 -0
- package/datepicker/typings/index.metadata.json +1 -0
- package/datepicker/typings/month-view.d.ts +66 -0
- package/datepicker/typings/public-api.d.ts +17 -0
- package/datepicker/typings/year-view.d.ts +55 -0
- package/datepicker.d.ts +8 -0
- package/datepicker.metadata.json +12 -0
- package/dialog/index.d.ts +8 -9
- package/dialog/index.metadata.json +12 -1
- package/dialog/package.json +7 -0
- package/dialog/typings/dialog-config.d.ts +54 -0
- package/dialog/typings/dialog-container.d.ts +68 -0
- package/dialog/typings/dialog-content-directives.d.ts +43 -0
- package/dialog/typings/dialog-module.d.ts +2 -0
- package/dialog/typings/dialog-ref.d.ts +68 -0
- package/dialog/typings/dialog.d.ts +108 -0
- package/dialog/typings/index.d.ts +4 -0
- package/dialog/typings/index.metadata.json +1 -0
- package/dialog/typings/public-api.d.ts +13 -0
- package/dialog.d.ts +8 -0
- package/dialog.metadata.json +12 -0
- package/esm2015/autocomplete.js +673 -0
- package/esm2015/autocomplete.js.map +1 -0
- package/esm2015/button-toggle.js +589 -0
- package/esm2015/button-toggle.js.map +1 -0
- package/esm2015/button.js +318 -0
- package/esm2015/button.js.map +1 -0
- package/esm2015/card.js +312 -0
- package/esm2015/card.js.map +1 -0
- package/esm2015/checkbox.js +500 -0
- package/esm2015/checkbox.js.map +1 -0
- package/esm2015/chips.js +1330 -0
- package/esm2015/chips.js.map +1 -0
- package/esm2015/core.js +2117 -0
- package/esm2015/core.js.map +1 -0
- package/esm2015/datepicker.js +1813 -0
- package/esm2015/datepicker.js.map +1 -0
- package/esm2015/dialog.js +854 -0
- package/esm2015/dialog.js.map +1 -0
- package/esm2015/expansion.js +587 -0
- package/esm2015/expansion.js.map +1 -0
- package/esm2015/form-field.js +535 -0
- package/esm2015/form-field.js.map +1 -0
- package/esm2015/grid-list.js +827 -0
- package/esm2015/grid-list.js.map +1 -0
- package/esm2015/icon.js +735 -0
- package/esm2015/icon.js.map +1 -0
- package/esm2015/input.js +585 -0
- package/esm2015/input.js.map +1 -0
- package/esm2015/list.js +640 -0
- package/esm2015/list.js.map +1 -0
- package/esm2015/material.js +51 -0
- package/esm2015/material.js.map +1 -0
- package/esm2015/menu.js +923 -0
- package/esm2015/menu.js.map +1 -0
- package/esm2015/paginator.js +303 -0
- package/esm2015/paginator.js.map +1 -0
- package/esm2015/progress-bar.js +133 -0
- package/esm2015/progress-bar.js.map +1 -0
- package/esm2015/progress-spinner.js +303 -0
- package/esm2015/progress-spinner.js.map +1 -0
- package/esm2015/radio.js +709 -0
- package/esm2015/radio.js.map +1 -0
- package/esm2015/select.js +1394 -0
- package/esm2015/select.js.map +1 -0
- package/esm2015/sidenav.js +866 -0
- package/esm2015/sidenav.js.map +1 -0
- package/esm2015/slide-toggle.js +428 -0
- package/esm2015/slide-toggle.js.map +1 -0
- package/esm2015/slider.js +834 -0
- package/esm2015/slider.js.map +1 -0
- package/esm2015/snack-bar.js +596 -0
- package/esm2015/snack-bar.js.map +1 -0
- package/esm2015/sort.js +371 -0
- package/esm2015/sort.js.map +1 -0
- package/esm2015/stepper.js +395 -0
- package/esm2015/stepper.js.map +1 -0
- package/esm2015/table.js +272 -0
- package/esm2015/table.js.map +1 -0
- package/esm2015/tabs.js +1480 -0
- package/esm2015/tabs.js.map +1 -0
- package/esm2015/toolbar.js +89 -0
- package/esm2015/toolbar.js.map +1 -0
- package/esm2015/tooltip.js +671 -0
- package/esm2015/tooltip.js.map +1 -0
- package/esm5/autocomplete.es5.js +712 -0
- package/esm5/autocomplete.es5.js.map +1 -0
- package/esm5/button-toggle.es5.js +646 -0
- package/esm5/button-toggle.es5.js.map +1 -0
- package/esm5/button.es5.js +344 -0
- package/esm5/button.es5.js.map +1 -0
- package/esm5/card.es5.js +355 -0
- package/esm5/card.es5.js.map +1 -0
- package/esm5/checkbox.es5.js +538 -0
- package/esm5/checkbox.es5.js.map +1 -0
- package/esm5/chips.es5.js +1464 -0
- package/esm5/chips.es5.js.map +1 -0
- package/esm5/core.es5.js +2126 -0
- package/esm5/core.es5.js.map +1 -0
- package/esm5/datepicker.es5.js +1946 -0
- package/esm5/datepicker.es5.js.map +1 -0
- package/esm5/dialog.es5.js +894 -0
- package/esm5/dialog.es5.js.map +1 -0
- package/esm5/expansion.es5.js +622 -0
- package/esm5/expansion.es5.js.map +1 -0
- package/esm5/form-field.es5.js +580 -0
- package/esm5/form-field.es5.js.map +1 -0
- package/esm5/grid-list.es5.js +888 -0
- package/esm5/grid-list.es5.js.map +1 -0
- package/esm5/icon.es5.js +754 -0
- package/esm5/icon.es5.js.map +1 -0
- package/esm5/input.es5.js +630 -0
- package/esm5/input.es5.js.map +1 -0
- package/esm5/list.es5.js +704 -0
- package/esm5/list.es5.js.map +1 -0
- package/esm5/material.es5.js +51 -0
- package/esm5/material.es5.js.map +1 -0
- package/esm5/menu.es5.js +962 -0
- package/esm5/menu.es5.js.map +1 -0
- package/esm5/paginator.es5.js +328 -0
- package/esm5/paginator.es5.js.map +1 -0
- package/esm5/progress-bar.es5.js +147 -0
- package/esm5/progress-bar.es5.js.map +1 -0
- package/esm5/progress-spinner.es5.js +317 -0
- package/esm5/progress-spinner.es5.js.map +1 -0
- package/esm5/radio.es5.js +786 -0
- package/esm5/radio.es5.js.map +1 -0
- package/esm5/select.es5.js +1481 -0
- package/esm5/select.es5.js.map +1 -0
- package/esm5/sidenav.es5.js +946 -0
- package/esm5/sidenav.es5.js.map +1 -0
- package/esm5/slide-toggle.es5.js +455 -0
- package/esm5/slide-toggle.es5.js.map +1 -0
- package/esm5/slider.es5.js +938 -0
- package/esm5/slider.es5.js.map +1 -0
- package/esm5/snack-bar.es5.js +622 -0
- package/esm5/snack-bar.es5.js.map +1 -0
- package/esm5/sort.es5.js +389 -0
- package/esm5/sort.es5.js.map +1 -0
- package/esm5/stepper.es5.js +448 -0
- package/esm5/stepper.es5.js.map +1 -0
- package/esm5/table.es5.js +323 -0
- package/esm5/table.es5.js.map +1 -0
- package/esm5/tabs.es5.js +1591 -0
- package/esm5/tabs.es5.js.map +1 -0
- package/esm5/toolbar.es5.js +100 -0
- package/esm5/toolbar.es5.js.map +1 -0
- package/esm5/tooltip.es5.js +705 -0
- package/esm5/tooltip.es5.js.map +1 -0
- package/expansion/index.d.ts +8 -0
- package/expansion/index.metadata.json +12 -0
- package/expansion/package.json +7 -0
- package/expansion/typings/accordion-item.d.ts +41 -0
- package/expansion/typings/accordion.d.ts +29 -0
- package/expansion/typings/expansion-module.d.ts +2 -0
- package/expansion/typings/expansion-panel-header.d.ts +49 -0
- package/expansion/typings/expansion-panel.d.ts +40 -0
- package/expansion/typings/index.d.ts +5 -0
- package/expansion/typings/index.metadata.json +1 -0
- package/expansion/typings/public-api.d.ts +12 -0
- package/expansion.d.ts +8 -0
- package/expansion.metadata.json +12 -0
- package/form-field/index.d.ts +8 -0
- package/form-field/index.metadata.json +12 -0
- package/form-field/package.json +7 -0
- package/form-field/typings/error.d.ts +4 -0
- package/form-field/typings/form-field-control.d.ts +47 -0
- package/form-field/typings/form-field-errors.d.ts +13 -0
- package/form-field/typings/form-field-module.d.ts +2 -0
- package/form-field/typings/form-field.d.ts +78 -0
- package/form-field/typings/hint.d.ts +7 -0
- package/form-field/typings/index.d.ts +4 -0
- package/form-field/typings/index.metadata.json +1 -0
- package/form-field/typings/placeholder.d.ts +3 -0
- package/form-field/typings/prefix.d.ts +3 -0
- package/form-field/typings/public-api.d.ts +16 -0
- package/form-field/typings/suffix.d.ts +3 -0
- package/form-field.d.ts +8 -0
- package/form-field.metadata.json +12 -0
- package/grid-list/index.d.ts +8 -1
- package/grid-list/index.metadata.json +12 -1
- package/grid-list/package.json +7 -0
- package/grid-list/typings/grid-list-measure.d.ts +17 -0
- package/grid-list/typings/grid-list-module.d.ts +2 -0
- package/grid-list/typings/grid-list.d.ts +53 -0
- package/grid-list/typings/grid-tile.d.ts +55 -0
- package/grid-list/typings/index.d.ts +5 -0
- package/grid-list/typings/index.metadata.json +1 -0
- package/grid-list/typings/public-api.d.ts +10 -0
- package/grid-list/typings/tile-coordinator.d.ts +64 -0
- package/grid-list/typings/tile-styler.d.ts +129 -0
- package/grid-list.d.ts +8 -0
- package/grid-list.metadata.json +12 -0
- package/icon/index.d.ts +8 -1
- package/icon/index.metadata.json +12 -1
- package/icon/package.json +7 -0
- package/icon/typings/icon-module.d.ts +2 -0
- package/icon/typings/icon-registry.d.ts +187 -0
- package/icon/typings/icon.d.ts +69 -0
- package/icon/typings/index.d.ts +4 -0
- package/icon/typings/index.metadata.json +1 -0
- package/icon/typings/public-api.d.ts +10 -0
- package/icon.d.ts +8 -0
- package/icon.metadata.json +12 -0
- package/input/index.d.ts +8 -4
- package/input/index.metadata.json +12 -1
- package/input/package.json +7 -0
- package/input/typings/autosize.d.ts +43 -0
- package/input/typings/index.d.ts +4 -0
- package/input/typings/index.metadata.json +1 -0
- package/input/typings/input-errors.d.ts +9 -0
- package/input/typings/input-module.d.ts +2 -0
- package/input/typings/input.d.ts +85 -0
- package/input/typings/public-api.d.ts +11 -0
- package/input.d.ts +8 -0
- package/input.metadata.json +12 -0
- package/list/index.d.ts +8 -1
- package/list/index.metadata.json +12 -1
- package/list/package.json +7 -0
- package/list/typings/index.d.ts +4 -0
- package/list/typings/index.metadata.json +1 -0
- package/list/typings/list-module.d.ts +2 -0
- package/list/typings/list.d.ts +77 -0
- package/list/typings/public-api.d.ts +10 -0
- package/list/typings/selection-list.d.ts +103 -0
- package/list.d.ts +8 -0
- package/list.metadata.json +12 -0
- package/material.d.ts +39 -0
- package/material.metadata.json +105 -0
- package/menu/index.d.ts +8 -5
- package/menu/index.metadata.json +12 -1
- package/menu/package.json +7 -0
- package/menu/typings/index.d.ts +6 -0
- package/menu/typings/index.metadata.json +1 -0
- package/menu/typings/menu-animations.d.ts +27 -0
- package/menu/typings/menu-directive.d.ts +89 -0
- package/menu/typings/menu-errors.d.ts +24 -0
- package/menu/typings/menu-item.d.ts +42 -0
- package/menu/typings/menu-module.d.ts +2 -0
- package/menu/typings/menu-panel.d.ts +22 -0
- package/menu/typings/menu-positions.d.ts +9 -0
- package/menu/typings/menu-trigger.d.ts +115 -0
- package/menu/typings/menu.d.ts +12 -0
- package/menu/typings/public-api.d.ts +11 -0
- package/menu.d.ts +8 -0
- package/menu.metadata.json +12 -0
- package/package.json +10 -9
- package/paginator/index.d.ts +8 -0
- package/paginator/index.metadata.json +12 -0
- package/paginator/package.json +7 -0
- package/paginator/typings/index.d.ts +4 -0
- package/paginator/typings/index.metadata.json +1 -0
- package/paginator/typings/paginator-intl.d.ts +20 -0
- package/paginator/typings/paginator-module.d.ts +2 -0
- package/paginator/typings/paginator.d.ts +75 -0
- package/paginator/typings/public-api.d.ts +10 -0
- package/paginator.d.ts +8 -0
- package/paginator.metadata.json +12 -0
- package/prebuilt-themes/deeppurple-amber.css +1 -0
- package/prebuilt-themes/indigo-pink.css +1 -0
- package/prebuilt-themes/pink-bluegrey.css +1 -0
- package/prebuilt-themes/purple-green.css +1 -0
- package/progress-bar/index.d.ts +8 -1
- package/progress-bar/index.metadata.json +12 -1
- package/progress-bar/package.json +7 -0
- package/progress-bar/typings/index.d.ts +4 -0
- package/progress-bar/typings/index.metadata.json +1 -0
- package/progress-bar/typings/progress-bar-module.d.ts +2 -0
- package/progress-bar/typings/progress-bar.d.ts +32 -0
- package/progress-bar/typings/public-api.d.ts +9 -0
- package/progress-bar.d.ts +8 -0
- package/progress-bar.metadata.json +12 -0
- package/progress-spinner/index.d.ts +8 -2
- package/progress-spinner/index.metadata.json +12 -1
- package/progress-spinner/package.json +7 -0
- package/progress-spinner/typings/index.d.ts +4 -0
- package/progress-spinner/typings/index.metadata.json +1 -0
- package/progress-spinner/typings/progress-spinner-module.d.ts +3 -0
- package/progress-spinner/typings/progress-spinner.d.ts +69 -0
- package/progress-spinner/typings/public-api.d.ts +9 -0
- package/progress-spinner.d.ts +8 -0
- package/progress-spinner.metadata.json +12 -0
- package/radio/index.d.ts +8 -1
- package/radio/index.metadata.json +12 -1
- package/radio/package.json +7 -0
- package/radio/typings/index.d.ts +4 -0
- package/radio/typings/index.metadata.json +1 -0
- package/radio/typings/public-api.d.ts +9 -0
- package/radio/typings/radio-module.d.ts +2 -0
- package/radio/typings/radio.d.ts +215 -0
- package/radio.d.ts +8 -0
- package/radio.metadata.json +12 -0
- package/select/index.d.ts +8 -7
- package/select/index.metadata.json +12 -1
- package/select/package.json +7 -0
- package/select/typings/index.d.ts +4 -0
- package/select/typings/index.metadata.json +1 -0
- package/select/typings/public-api.d.ts +10 -0
- package/select/typings/select-animations.d.ts +30 -0
- package/select/typings/select-errors.d.ts +26 -0
- package/select/typings/select-module.d.ts +2 -0
- package/select/typings/select.d.ts +393 -0
- package/select.d.ts +8 -0
- package/select.metadata.json +12 -0
- package/sidenav/index.d.ts +8 -1
- package/sidenav/index.metadata.json +12 -1
- package/sidenav/package.json +7 -0
- package/sidenav/typings/drawer.d.ts +190 -0
- package/sidenav/typings/index.d.ts +4 -0
- package/sidenav/typings/index.metadata.json +1 -0
- package/sidenav/typings/public-api.d.ts +10 -0
- package/sidenav/typings/sidenav-module.d.ts +2 -0
- package/sidenav/typings/sidenav.d.ts +33 -0
- package/sidenav.d.ts +8 -0
- package/sidenav.metadata.json +12 -0
- package/slide-toggle/index.d.ts +8 -1
- package/slide-toggle/index.metadata.json +12 -1
- package/slide-toggle/package.json +7 -0
- package/slide-toggle/typings/index.d.ts +4 -0
- package/slide-toggle/typings/index.metadata.json +1 -0
- package/slide-toggle/typings/public-api.d.ts +9 -0
- package/slide-toggle/typings/slide-toggle-module.d.ts +2 -0
- package/slide-toggle/typings/slide-toggle.d.ts +93 -0
- package/slide-toggle.d.ts +8 -0
- package/slide-toggle.metadata.json +12 -0
- package/slider/index.d.ts +8 -1
- package/slider/index.metadata.json +12 -1
- package/slider/package.json +7 -0
- package/slider/typings/index.d.ts +4 -0
- package/slider/typings/index.metadata.json +1 -0
- package/slider/typings/public-api.d.ts +9 -0
- package/slider/typings/slider-module.d.ts +2 -0
- package/slider/typings/slider.d.ts +207 -0
- package/slider.d.ts +8 -0
- package/slider.metadata.json +12 -0
- package/snack-bar/index.d.ts +8 -4
- package/snack-bar/index.metadata.json +12 -1
- package/snack-bar/package.json +7 -0
- package/snack-bar/typings/index.d.ts +4 -0
- package/snack-bar/typings/index.metadata.json +1 -0
- package/snack-bar/typings/public-api.d.ts +13 -0
- package/snack-bar/typings/simple-snack-bar.d.ts +18 -0
- package/snack-bar/typings/snack-bar-config.d.ts +38 -0
- package/snack-bar/typings/snack-bar-container.d.ts +55 -0
- package/snack-bar/typings/snack-bar-module.d.ts +2 -0
- package/snack-bar/typings/snack-bar-ref.d.ts +51 -0
- package/snack-bar/typings/snack-bar.d.ts +70 -0
- package/snack-bar.d.ts +8 -0
- package/snack-bar.metadata.json +12 -0
- package/sort/index.d.ts +8 -0
- package/sort/index.metadata.json +12 -0
- package/sort/package.json +7 -0
- package/sort/typings/index.d.ts +4 -0
- package/sort/typings/index.metadata.json +1 -0
- package/sort/typings/public-api.d.ts +12 -0
- package/sort/typings/sort-direction.d.ts +8 -0
- package/sort/typings/sort-errors.d.ts +15 -0
- package/sort/typings/sort-header-intl.d.ts +17 -0
- package/sort/typings/sort-header.d.ts +43 -0
- package/sort/typings/sort-module.d.ts +2 -0
- package/sort/typings/sort.d.ts +55 -0
- package/sort.d.ts +8 -0
- package/sort.metadata.json +12 -0
- package/stepper/index.d.ts +8 -0
- package/stepper/index.metadata.json +12 -0
- package/stepper/package.json +7 -0
- package/stepper/typings/index.d.ts +4 -0
- package/stepper/typings/index.metadata.json +1 -0
- package/stepper/typings/public-api.d.ts +13 -0
- package/stepper/typings/step-header.d.ts +41 -0
- package/stepper/typings/step-label.d.ts +14 -0
- package/stepper/typings/stepper-button.d.ts +10 -0
- package/stepper/typings/stepper-intl.d.ts +11 -0
- package/stepper/typings/stepper-module.d.ts +2 -0
- package/stepper/typings/stepper.d.ts +26 -0
- package/stepper.d.ts +8 -0
- package/stepper.metadata.json +12 -0
- package/table/index.d.ts +8 -0
- package/table/index.metadata.json +12 -0
- package/table/package.json +7 -0
- package/table/typings/cell.d.ts +43 -0
- package/table/typings/index.d.ts +4 -0
- package/table/typings/index.metadata.json +1 -0
- package/table/typings/public-api.d.ts +11 -0
- package/table/typings/row.d.ts +25 -0
- package/table/typings/table-module.d.ts +2 -0
- package/table/typings/table.d.ts +8 -0
- package/table.d.ts +8 -0
- package/table.metadata.json +12 -0
- package/tabs/index.d.ts +8 -7
- package/tabs/index.metadata.json +12 -1
- package/tabs/package.json +7 -0
- package/tabs/typings/index.d.ts +8 -0
- package/tabs/typings/index.metadata.json +1 -0
- package/tabs/typings/ink-bar.d.ts +33 -0
- package/tabs/typings/public-api.d.ts +16 -0
- package/tabs/typings/tab-body.d.ts +69 -0
- package/tabs/typings/tab-group.d.ts +104 -0
- package/tabs/typings/tab-header.d.ts +158 -0
- package/tabs/typings/tab-label-wrapper.d.ts +25 -0
- package/tabs/typings/tab-label.d.ts +15 -0
- package/tabs/typings/tab-nav-bar/index.d.ts +8 -0
- package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +78 -0
- package/tabs/typings/tab.d.ts +50 -0
- package/tabs/typings/tabs-module.d.ts +2 -0
- package/tabs.d.ts +8 -0
- package/tabs.metadata.json +12 -0
- package/toolbar/index.d.ts +8 -1
- package/toolbar/index.metadata.json +12 -1
- package/toolbar/package.json +7 -0
- package/toolbar/typings/index.d.ts +4 -0
- package/toolbar/typings/index.metadata.json +1 -0
- package/toolbar/typings/public-api.d.ts +9 -0
- package/toolbar/typings/toolbar-module.d.ts +2 -0
- package/toolbar/typings/toolbar.d.ts +21 -0
- package/toolbar.d.ts +8 -0
- package/toolbar.metadata.json +12 -0
- package/tooltip/index.d.ts +8 -1
- package/tooltip/index.metadata.json +12 -1
- package/tooltip/package.json +7 -0
- package/tooltip/typings/index.d.ts +4 -0
- package/tooltip/typings/index.metadata.json +1 -0
- package/tooltip/typings/public-api.d.ts +9 -0
- package/tooltip/typings/tooltip-module.d.ts +2 -0
- package/tooltip/typings/tooltip.d.ts +175 -0
- package/tooltip.d.ts +8 -0
- package/tooltip.metadata.json +12 -0
- package/typings/autocomplete/autocomplete-module.d.ts +2 -0
- package/typings/autocomplete/autocomplete-trigger.d.ts +159 -0
- package/typings/autocomplete/autocomplete.d.ts +62 -0
- package/typings/autocomplete/index.d.ts +4 -0
- package/typings/autocomplete/index.metadata.json +1 -0
- package/typings/autocomplete/public-api.d.ts +10 -0
- package/typings/button/button-module.d.ts +2 -0
- package/typings/button/button.d.ts +77 -0
- package/typings/button/index.d.ts +4 -0
- package/typings/button/index.metadata.json +1 -0
- package/typings/button/public-api.d.ts +9 -0
- package/typings/button-toggle/button-toggle-module.d.ts +2 -0
- package/typings/button-toggle/button-toggle.d.ts +163 -0
- package/typings/button-toggle/index.d.ts +4 -0
- package/typings/button-toggle/index.metadata.json +1 -0
- package/typings/button-toggle/public-api.d.ts +9 -0
- package/typings/card/card-module.d.ts +2 -0
- package/typings/card/card.d.ts +95 -0
- package/typings/card/index.d.ts +4 -0
- package/typings/card/index.metadata.json +1 -0
- package/typings/card/public-api.d.ts +9 -0
- package/typings/checkbox/checkbox-module.d.ts +2 -0
- package/typings/checkbox/checkbox-required-validator.d.ts +18 -0
- package/typings/checkbox/checkbox.d.ts +157 -0
- package/typings/checkbox/index.d.ts +4 -0
- package/typings/checkbox/index.metadata.json +1 -0
- package/typings/checkbox/public-api.d.ts +10 -0
- package/typings/chips/chip-input.d.ts +43 -0
- package/typings/chips/chip-list.d.ts +222 -0
- package/typings/chips/chip.d.ts +123 -0
- package/typings/chips/chips-module.d.ts +2 -0
- package/typings/chips/index.d.ts +4 -0
- package/typings/chips/index.metadata.json +1 -0
- package/typings/chips/public-api.d.ts +11 -0
- package/typings/core/animation/animation.d.ts +20 -0
- package/typings/core/common-behaviors/color.d.ts +22 -0
- package/typings/core/common-behaviors/common-module.d.ts +25 -0
- package/typings/core/common-behaviors/constructor.d.ts +9 -0
- package/typings/core/common-behaviors/disable-ripple.d.ts +7 -0
- package/typings/core/common-behaviors/disabled.d.ts +7 -0
- package/typings/core/common-behaviors/index.d.ts +12 -0
- package/typings/core/common-behaviors/tabindex.d.ts +15 -0
- package/typings/core/compatibility/compatibility.d.ts +32 -0
- package/typings/core/datetime/date-adapter.d.ts +198 -0
- package/typings/core/datetime/date-formats.d.ts +20 -0
- package/typings/core/datetime/index.d.ts +8 -0
- package/typings/core/datetime/native-date-adapter.d.ts +50 -0
- package/typings/core/datetime/native-date-formats.d.ts +9 -0
- package/typings/core/error/error-options.d.ts +9 -0
- package/typings/core/gestures/gesture-annotations.d.ts +51 -0
- package/typings/core/gestures/gesture-config.d.ts +23 -0
- package/typings/core/index.d.ts +5 -0
- package/typings/core/index.metadata.json +1 -0
- package/typings/core/line/line.d.ts +30 -0
- package/typings/core/option/index.d.ts +4 -0
- package/typings/core/option/optgroup.d.ts +14 -0
- package/typings/core/option/option.d.ts +90 -0
- package/typings/core/placeholder/placeholder-options.d.ts +15 -0
- package/typings/core/public-api.d.ts +22 -0
- package/typings/core/ripple/index.d.ts +5 -0
- package/typings/core/ripple/ripple-ref.d.ts +28 -0
- package/typings/core/ripple/ripple-renderer.d.ts +69 -0
- package/typings/core/ripple/ripple.d.ts +65 -0
- package/typings/core/selection/index.d.ts +3 -0
- package/typings/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
- package/typings/core/style/apply-transform.d.ts +13 -0
- package/typings/core/style/index.d.ts +8 -0
- package/typings/core/testing/month-constants.d.ts +12 -0
- package/typings/core/util/object-extend.d.ts +15 -0
- package/typings/datepicker/calendar-body.d.ts +52 -0
- package/typings/datepicker/calendar.d.ts +97 -0
- package/typings/datepicker/coerce-date-property.d.ts +19 -0
- package/typings/datepicker/datepicker-errors.d.ts +9 -0
- package/typings/datepicker/datepicker-input.d.ts +92 -0
- package/typings/datepicker/datepicker-intl.d.ts +25 -0
- package/typings/datepicker/datepicker-module.d.ts +2 -0
- package/typings/datepicker/datepicker-toggle.d.ts +24 -0
- package/typings/datepicker/datepicker.d.ts +117 -0
- package/typings/datepicker/index.d.ts +4 -0
- package/typings/datepicker/index.metadata.json +1 -0
- package/typings/datepicker/month-view.d.ts +66 -0
- package/typings/datepicker/public-api.d.ts +17 -0
- package/typings/datepicker/year-view.d.ts +55 -0
- package/typings/dialog/dialog-config.d.ts +54 -0
- package/typings/dialog/dialog-container.d.ts +68 -0
- package/typings/dialog/dialog-content-directives.d.ts +43 -0
- package/typings/dialog/dialog-module.d.ts +2 -0
- package/typings/dialog/dialog-ref.d.ts +68 -0
- package/typings/dialog/dialog.d.ts +108 -0
- package/typings/dialog/index.d.ts +4 -0
- package/typings/dialog/index.metadata.json +1 -0
- package/typings/dialog/public-api.d.ts +13 -0
- package/typings/expansion/accordion-item.d.ts +41 -0
- package/typings/expansion/accordion.d.ts +29 -0
- package/typings/expansion/expansion-module.d.ts +2 -0
- package/typings/expansion/expansion-panel-header.d.ts +49 -0
- package/typings/expansion/expansion-panel.d.ts +40 -0
- package/typings/expansion/index.d.ts +5 -0
- package/typings/expansion/index.metadata.json +1 -0
- package/typings/expansion/public-api.d.ts +12 -0
- package/typings/form-field/error.d.ts +4 -0
- package/typings/form-field/form-field-control.d.ts +47 -0
- package/typings/form-field/form-field-errors.d.ts +13 -0
- package/typings/form-field/form-field-module.d.ts +2 -0
- package/typings/form-field/form-field.d.ts +78 -0
- package/typings/form-field/hint.d.ts +7 -0
- package/typings/form-field/index.d.ts +4 -0
- package/typings/form-field/index.metadata.json +1 -0
- package/typings/form-field/placeholder.d.ts +3 -0
- package/typings/form-field/prefix.d.ts +3 -0
- package/typings/form-field/public-api.d.ts +16 -0
- package/typings/form-field/suffix.d.ts +3 -0
- package/typings/grid-list/grid-list-measure.d.ts +17 -0
- package/typings/grid-list/grid-list-module.d.ts +2 -0
- package/typings/grid-list/grid-list.d.ts +53 -0
- package/typings/grid-list/grid-tile.d.ts +55 -0
- package/typings/grid-list/index.d.ts +5 -0
- package/typings/grid-list/index.metadata.json +1 -0
- package/typings/grid-list/public-api.d.ts +10 -0
- package/typings/grid-list/tile-coordinator.d.ts +64 -0
- package/typings/grid-list/tile-styler.d.ts +129 -0
- package/typings/icon/icon-module.d.ts +2 -0
- package/typings/icon/icon-registry.d.ts +187 -0
- package/typings/icon/icon.d.ts +69 -0
- package/typings/icon/index.d.ts +4 -0
- package/typings/icon/index.metadata.json +1 -0
- package/typings/icon/public-api.d.ts +10 -0
- package/typings/index.d.ts +4 -0
- package/typings/index.metadata.json +1 -0
- package/typings/input/autosize.d.ts +43 -0
- package/typings/input/index.d.ts +4 -0
- package/typings/input/index.metadata.json +1 -0
- package/typings/input/input-errors.d.ts +9 -0
- package/typings/input/input-module.d.ts +2 -0
- package/typings/input/input.d.ts +85 -0
- package/typings/input/public-api.d.ts +11 -0
- package/typings/list/index.d.ts +4 -0
- package/typings/list/index.metadata.json +1 -0
- package/typings/list/list-module.d.ts +2 -0
- package/typings/list/list.d.ts +77 -0
- package/typings/list/public-api.d.ts +10 -0
- package/typings/list/selection-list.d.ts +103 -0
- package/typings/menu/index.d.ts +6 -0
- package/typings/menu/index.metadata.json +1 -0
- package/typings/menu/menu-animations.d.ts +27 -0
- package/typings/menu/menu-directive.d.ts +89 -0
- package/typings/menu/menu-errors.d.ts +24 -0
- package/typings/menu/menu-item.d.ts +42 -0
- package/typings/menu/menu-module.d.ts +2 -0
- package/typings/menu/menu-panel.d.ts +22 -0
- package/typings/menu/menu-positions.d.ts +9 -0
- package/typings/menu/menu-trigger.d.ts +115 -0
- package/typings/menu/menu.d.ts +12 -0
- package/typings/menu/public-api.d.ts +11 -0
- package/typings/paginator/index.d.ts +4 -0
- package/typings/paginator/index.metadata.json +1 -0
- package/typings/paginator/paginator-intl.d.ts +20 -0
- package/typings/paginator/paginator-module.d.ts +2 -0
- package/typings/paginator/paginator.d.ts +75 -0
- package/typings/paginator/public-api.d.ts +10 -0
- package/typings/progress-bar/index.d.ts +4 -0
- package/typings/progress-bar/index.metadata.json +1 -0
- package/typings/progress-bar/progress-bar-module.d.ts +2 -0
- package/typings/progress-bar/progress-bar.d.ts +32 -0
- package/typings/progress-bar/public-api.d.ts +9 -0
- package/typings/progress-spinner/index.d.ts +4 -0
- package/typings/progress-spinner/index.metadata.json +1 -0
- package/typings/progress-spinner/progress-spinner-module.d.ts +3 -0
- package/typings/progress-spinner/progress-spinner.d.ts +69 -0
- package/typings/progress-spinner/public-api.d.ts +9 -0
- package/typings/public-api.d.ts +39 -0
- package/typings/radio/index.d.ts +4 -0
- package/typings/radio/index.metadata.json +1 -0
- package/typings/radio/public-api.d.ts +9 -0
- package/typings/radio/radio-module.d.ts +2 -0
- package/typings/radio/radio.d.ts +215 -0
- package/typings/select/index.d.ts +4 -0
- package/typings/select/index.metadata.json +1 -0
- package/typings/select/public-api.d.ts +10 -0
- package/typings/select/select-animations.d.ts +30 -0
- package/typings/select/select-errors.d.ts +26 -0
- package/typings/select/select-module.d.ts +2 -0
- package/typings/select/select.d.ts +393 -0
- package/typings/sidenav/drawer.d.ts +190 -0
- package/typings/sidenav/index.d.ts +4 -0
- package/typings/sidenav/index.metadata.json +1 -0
- package/typings/sidenav/public-api.d.ts +10 -0
- package/typings/sidenav/sidenav-module.d.ts +2 -0
- package/typings/sidenav/sidenav.d.ts +33 -0
- package/typings/slide-toggle/index.d.ts +4 -0
- package/typings/slide-toggle/index.metadata.json +1 -0
- package/typings/slide-toggle/public-api.d.ts +9 -0
- package/typings/slide-toggle/slide-toggle-module.d.ts +2 -0
- package/typings/slide-toggle/slide-toggle.d.ts +93 -0
- package/typings/slider/index.d.ts +4 -0
- package/typings/slider/index.metadata.json +1 -0
- package/typings/slider/public-api.d.ts +9 -0
- package/typings/slider/slider-module.d.ts +2 -0
- package/typings/slider/slider.d.ts +207 -0
- package/typings/snack-bar/index.d.ts +4 -0
- package/typings/snack-bar/index.metadata.json +1 -0
- package/typings/snack-bar/public-api.d.ts +13 -0
- package/typings/snack-bar/simple-snack-bar.d.ts +18 -0
- package/typings/snack-bar/snack-bar-config.d.ts +38 -0
- package/typings/snack-bar/snack-bar-container.d.ts +55 -0
- package/typings/snack-bar/snack-bar-module.d.ts +2 -0
- package/typings/snack-bar/snack-bar-ref.d.ts +51 -0
- package/typings/snack-bar/snack-bar.d.ts +70 -0
- package/typings/sort/index.d.ts +4 -0
- package/typings/sort/index.metadata.json +1 -0
- package/typings/sort/public-api.d.ts +12 -0
- package/typings/sort/sort-direction.d.ts +8 -0
- package/typings/sort/sort-errors.d.ts +15 -0
- package/typings/sort/sort-header-intl.d.ts +17 -0
- package/typings/sort/sort-header.d.ts +43 -0
- package/typings/sort/sort-module.d.ts +2 -0
- package/typings/sort/sort.d.ts +55 -0
- package/typings/stepper/index.d.ts +4 -0
- package/typings/stepper/index.metadata.json +1 -0
- package/typings/stepper/public-api.d.ts +13 -0
- package/typings/stepper/step-header.d.ts +41 -0
- package/typings/stepper/step-label.d.ts +14 -0
- package/typings/stepper/stepper-button.d.ts +10 -0
- package/typings/stepper/stepper-intl.d.ts +11 -0
- package/typings/stepper/stepper-module.d.ts +2 -0
- package/typings/stepper/stepper.d.ts +26 -0
- package/typings/table/cell.d.ts +43 -0
- package/typings/table/index.d.ts +4 -0
- package/typings/table/index.metadata.json +1 -0
- package/typings/table/public-api.d.ts +11 -0
- package/typings/table/row.d.ts +25 -0
- package/typings/table/table-module.d.ts +2 -0
- package/typings/table/table.d.ts +8 -0
- package/typings/tabs/index.d.ts +8 -0
- package/typings/tabs/index.metadata.json +1 -0
- package/typings/tabs/ink-bar.d.ts +33 -0
- package/typings/tabs/public-api.d.ts +16 -0
- package/typings/tabs/tab-body.d.ts +69 -0
- package/typings/tabs/tab-group.d.ts +104 -0
- package/typings/tabs/tab-header.d.ts +158 -0
- package/typings/tabs/tab-label-wrapper.d.ts +25 -0
- package/typings/tabs/tab-label.d.ts +15 -0
- package/typings/tabs/tab-nav-bar/index.d.ts +8 -0
- package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +78 -0
- package/typings/tabs/tab.d.ts +50 -0
- package/typings/tabs/tabs-module.d.ts +2 -0
- package/typings/toolbar/index.d.ts +4 -0
- package/typings/toolbar/index.metadata.json +1 -0
- package/typings/toolbar/public-api.d.ts +9 -0
- package/typings/toolbar/toolbar-module.d.ts +2 -0
- package/typings/toolbar/toolbar.d.ts +21 -0
- package/typings/tooltip/index.d.ts +4 -0
- package/typings/tooltip/index.metadata.json +1 -0
- package/typings/tooltip/public-api.d.ts +9 -0
- package/typings/tooltip/tooltip-module.d.ts +2 -0
- package/typings/tooltip/tooltip.d.ts +175 -0
- package/typings/version.d.ts +10 -0
- package/autocomplete/README.md +0 -5
- package/autocomplete/_autocomplete-theme.scss +0 -5
- package/autocomplete/autocomplete.css +0 -0
- package/autocomplete/autocomplete.css.map +0 -1
- package/autocomplete/autocomplete.d.ts +0 -2
- package/autocomplete/autocomplete.html +0 -1
- package/autocomplete/autocomplete.js +0 -25
- package/autocomplete/autocomplete.js.map +0 -1
- package/autocomplete/autocomplete.metadata.json +0 -1
- package/autocomplete/autocomplete.scss +0 -0
- package/autocomplete/index.js +0 -34
- package/autocomplete/index.js.map +0 -1
- package/button/OVERVIEW.md +0 -25
- package/button/README.md +0 -116
- package/button/_button-base.scss +0 -111
- package/button/_button-theme.scss +0 -85
- package/button/button.css +0 -1
- package/button/button.css.map +0 -1
- package/button/button.d.ts +0 -46
- package/button/button.html +0 -1
- package/button/button.js +0 -203
- package/button/button.js.map +0 -1
- package/button/button.metadata.json +0 -1
- package/button/button.scss +0 -105
- package/button/index.js +0 -3
- package/button/index.js.map +0 -1
- package/button-toggle/OVERVIEW.md +0 -22
- package/button-toggle/README.md +0 -139
- package/button-toggle/_button-toggle-theme.scss +0 -14
- package/button-toggle/button-toggle.css +0 -1
- package/button-toggle/button-toggle.css.map +0 -1
- package/button-toggle/button-toggle.d.ts +0 -136
- package/button-toggle/button-toggle.html +0 -1
- package/button-toggle/button-toggle.js +0 -502
- package/button-toggle/button-toggle.js.map +0 -1
- package/button-toggle/button-toggle.metadata.json +0 -1
- package/button-toggle/button-toggle.scss +0 -49
- package/button-toggle/index.js +0 -3
- package/button-toggle/index.js.map +0 -1
- package/card/OVERVIEW.md +0 -45
- package/card/README.md +0 -116
- package/card/_card-theme.scss +0 -17
- package/card/card-header.html +0 -1
- package/card/card-title-group.html +0 -1
- package/card/card.css +0 -1
- package/card/card.css.map +0 -1
- package/card/card.d.ts +0 -54
- package/card/card.html +0 -1
- package/card/card.js +0 -174
- package/card/card.js.map +0 -1
- package/card/card.metadata.json +0 -1
- package/card/card.scss +0 -227
- package/card/index.js +0 -3
- package/card/index.js.map +0 -1
- package/checkbox/OVERVIEW.md +0 -28
- package/checkbox/README.md +0 -93
- package/checkbox/_checkbox-theme.scss +0 -84
- package/checkbox/checkbox.css +0 -1
- package/checkbox/checkbox.css.map +0 -1
- package/checkbox/checkbox.d.ts +0 -155
- package/checkbox/checkbox.html +0 -1
- package/checkbox/checkbox.js +0 -432
- package/checkbox/checkbox.js.map +0 -1
- package/checkbox/checkbox.metadata.json +0 -1
- package/checkbox/checkbox.scss +0 -431
- package/checkbox/index.js +0 -3
- package/checkbox/index.js.map +0 -1
- package/chips/OVERVIEW.md +0 -40
- package/chips/README.md +0 -7
- package/chips/_chips-theme.scss +0 -49
- package/chips/chip-list.d.ts +0 -66
- package/chips/chip-list.js +0 -210
- package/chips/chip-list.js.map +0 -1
- package/chips/chip-list.metadata.json +0 -1
- package/chips/chip.d.ts +0 -53
- package/chips/chip.js +0 -177
- package/chips/chip.js.map +0 -1
- package/chips/chip.metadata.json +0 -1
- package/chips/chips.css +0 -1
- package/chips/chips.css.map +0 -1
- package/chips/chips.scss +0 -80
- package/chips/index.js +0 -4
- package/chips/index.js.map +0 -1
- package/core/README.md +0 -1
- package/core/_core.scss +0 -27
- package/core/a11y/README.md +0 -30
- package/core/a11y/_a11y.scss +0 -24
- package/core/a11y/fake-mousedown.d.ts +0 -8
- package/core/a11y/fake-mousedown.js +0 -12
- package/core/a11y/fake-mousedown.js.map +0 -1
- package/core/a11y/fake-mousedown.metadata.json +0 -1
- package/core/a11y/focus-trap.d.ts +0 -41
- package/core/a11y/focus-trap.html +0 -1
- package/core/a11y/focus-trap.js +0 -129
- package/core/a11y/focus-trap.js.map +0 -1
- package/core/a11y/focus-trap.metadata.json +0 -1
- package/core/a11y/index.d.ts +0 -7
- package/core/a11y/index.js +0 -40
- package/core/a11y/index.js.map +0 -1
- package/core/a11y/index.metadata.json +0 -1
- package/core/a11y/interactivity-checker.d.ts +0 -45
- package/core/a11y/interactivity-checker.js +0 -210
- package/core/a11y/interactivity-checker.js.map +0 -1
- package/core/a11y/interactivity-checker.metadata.json +0 -1
- package/core/a11y/list-key-manager.d.ts +0 -83
- package/core/a11y/list-key-manager.js +0 -157
- package/core/a11y/list-key-manager.js.map +0 -1
- package/core/a11y/list-key-manager.metadata.json +0 -1
- package/core/a11y/live-announcer.d.ts +0 -17
- package/core/a11y/live-announcer.js +0 -63
- package/core/a11y/live-announcer.js.map +0 -1
- package/core/a11y/live-announcer.metadata.json +0 -1
- package/core/animation/animation.d.ts +0 -13
- package/core/animation/animation.js +0 -21
- package/core/animation/animation.js.map +0 -1
- package/core/animation/animation.metadata.json +0 -1
- package/core/async/promise-completer.d.ts +0 -7
- package/core/async/promise-completer.js +0 -13
- package/core/async/promise-completer.js.map +0 -1
- package/core/async/promise-completer.metadata.json +0 -1
- package/core/coercion/boolean-property.d.ts +0 -2
- package/core/coercion/boolean-property.js +0 -6
- package/core/coercion/boolean-property.js.map +0 -1
- package/core/coercion/boolean-property.metadata.json +0 -1
- package/core/coercion/number-property.d.ts +0 -2
- package/core/coercion/number-property.js +0 -10
- package/core/coercion/number-property.js.map +0 -1
- package/core/coercion/number-property.metadata.json +0 -1
- package/core/compatibility/default-mode.d.ts +0 -19
- package/core/compatibility/default-mode.js +0 -61
- package/core/compatibility/default-mode.js.map +0 -1
- package/core/compatibility/default-mode.metadata.json +0 -1
- package/core/compatibility/no-conflict-mode.d.ts +0 -10
- package/core/compatibility/no-conflict-mode.js +0 -47
- package/core/compatibility/no-conflict-mode.js.map +0 -1
- package/core/compatibility/no-conflict-mode.metadata.json +0 -1
- package/core/coordination/unique-selection-dispatcher.d.ts +0 -21
- package/core/coordination/unique-selection-dispatcher.js +0 -46
- package/core/coordination/unique-selection-dispatcher.js.map +0 -1
- package/core/coordination/unique-selection-dispatcher.metadata.json +0 -1
- package/core/core.d.ts +0 -45
- package/core/core.js +0 -110
- package/core/core.js.map +0 -1
- package/core/core.metadata.json +0 -1
- package/core/errors/error.d.ts +0 -7
- package/core/errors/error.js +0 -20
- package/core/errors/error.js.map +0 -1
- package/core/errors/error.metadata.json +0 -1
- package/core/gestures/gesture-annotations.d.ts +0 -44
- package/core/gestures/gesture-annotations.js +0 -7
- package/core/gestures/gesture-annotations.js.map +0 -1
- package/core/gestures/gesture-config.js +0 -85
- package/core/gestures/gesture-config.js.map +0 -1
- package/core/gestures/gesture-config.metadata.json +0 -1
- package/core/index.js +0 -3
- package/core/index.js.map +0 -1
- package/core/keyboard/keycodes.d.ts +0 -14
- package/core/keyboard/keycodes.js +0 -20
- package/core/keyboard/keycodes.js.map +0 -1
- package/core/keyboard/keycodes.metadata.json +0 -1
- package/core/line/line.d.ts +0 -23
- package/core/line/line.js +0 -74
- package/core/line/line.js.map +0 -1
- package/core/line/line.metadata.json +0 -1
- package/core/observe-content/observe-content.d.ts +0 -17
- package/core/observe-content/observe-content.js +0 -66
- package/core/observe-content/observe-content.js.map +0 -1
- package/core/observe-content/observe-content.metadata.json +0 -1
- package/core/overlay/_overlay.scss +0 -68
- package/core/overlay/generic-component-type.d.ts +0 -3
- package/core/overlay/generic-component-type.js +0 -3
- package/core/overlay/generic-component-type.js.map +0 -1
- package/core/overlay/overlay-container.d.ts +0 -19
- package/core/overlay/overlay-container.js +0 -33
- package/core/overlay/overlay-container.js.map +0 -1
- package/core/overlay/overlay-container.metadata.json +0 -1
- package/core/overlay/overlay-directives.d.ts +0 -80
- package/core/overlay/overlay-directives.js +0 -316
- package/core/overlay/overlay-directives.js.map +0 -1
- package/core/overlay/overlay-directives.metadata.json +0 -1
- package/core/overlay/overlay-ref.d.ts +0 -56
- package/core/overlay/overlay-ref.js +0 -155
- package/core/overlay/overlay-ref.js.map +0 -1
- package/core/overlay/overlay-ref.metadata.json +0 -1
- package/core/overlay/overlay-state.d.ts +0 -24
- package/core/overlay/overlay-state.js +0 -17
- package/core/overlay/overlay-state.js.map +0 -1
- package/core/overlay/overlay-state.metadata.json +0 -1
- package/core/overlay/overlay.d.ts +0 -54
- package/core/overlay/overlay.js +0 -97
- package/core/overlay/overlay.js.map +0 -1
- package/core/overlay/overlay.metadata.json +0 -1
- package/core/overlay/position/connected-position-strategy.d.ts +0 -133
- package/core/overlay/position/connected-position-strategy.js +0 -292
- package/core/overlay/position/connected-position-strategy.js.map +0 -1
- package/core/overlay/position/connected-position-strategy.metadata.json +0 -1
- package/core/overlay/position/connected-position.d.ts +0 -56
- package/core/overlay/position/connected-position.js +0 -65
- package/core/overlay/position/connected-position.js.map +0 -1
- package/core/overlay/position/connected-position.metadata.json +0 -1
- package/core/overlay/position/fake-viewport-ruler.d.ts +0 -15
- package/core/overlay/position/fake-viewport-ruler.js +0 -16
- package/core/overlay/position/fake-viewport-ruler.js.map +0 -1
- package/core/overlay/position/fake-viewport-ruler.metadata.json +0 -1
- package/core/overlay/position/global-position-strategy.d.ts +0 -75
- package/core/overlay/position/global-position-strategy.js +0 -148
- package/core/overlay/position/global-position-strategy.js.map +0 -1
- package/core/overlay/position/global-position-strategy.metadata.json +0 -1
- package/core/overlay/position/overlay-position-builder.d.ts +0 -21
- package/core/overlay/position/overlay-position-builder.js +0 -41
- package/core/overlay/position/overlay-position-builder.js.map +0 -1
- package/core/overlay/position/overlay-position-builder.metadata.json +0 -1
- package/core/overlay/position/position-strategy.d.ts +0 -7
- package/core/overlay/position/position-strategy.js +0 -3
- package/core/overlay/position/position-strategy.js.map +0 -1
- package/core/overlay/position/relative-position-strategy.d.ts +0 -9
- package/core/overlay/position/relative-position-strategy.js +0 -16
- package/core/overlay/position/relative-position-strategy.js.map +0 -1
- package/core/overlay/position/relative-position-strategy.metadata.json +0 -1
- package/core/overlay/position/viewport-ruler.d.ts +0 -16
- package/core/overlay/position/viewport-ruler.js +0 -67
- package/core/overlay/position/viewport-ruler.js.map +0 -1
- package/core/overlay/position/viewport-ruler.metadata.json +0 -1
- package/core/overlay/scroll/scroll-dispatcher.d.ts +0 -44
- package/core/overlay/scroll/scroll-dispatcher.js +0 -94
- package/core/overlay/scroll/scroll-dispatcher.js.map +0 -1
- package/core/overlay/scroll/scroll-dispatcher.metadata.json +0 -1
- package/core/overlay/scroll/scrollable.d.ts +0 -21
- package/core/overlay/scroll/scrollable.js +0 -48
- package/core/overlay/scroll/scrollable.js.map +0 -1
- package/core/overlay/scroll/scrollable.metadata.json +0 -1
- package/core/platform/features.d.ts +0 -2
- package/core/platform/features.js +0 -37
- package/core/platform/features.js.map +0 -1
- package/core/platform/features.metadata.json +0 -1
- package/core/platform/index.d.ts +0 -6
- package/core/platform/index.js +0 -30
- package/core/platform/index.js.map +0 -1
- package/core/platform/index.metadata.json +0 -1
- package/core/platform/platform.d.ts +0 -16
- package/core/platform/platform.js +0 -48
- package/core/platform/platform.js.map +0 -1
- package/core/platform/platform.metadata.json +0 -1
- package/core/portal/README.md +0 -72
- package/core/portal/dom-portal-host.d.ts +0 -31
- package/core/portal/dom-portal-host.js +0 -108
- package/core/portal/dom-portal-host.js.map +0 -1
- package/core/portal/dom-portal-host.metadata.json +0 -1
- package/core/portal/portal-directives.d.ts +0 -49
- package/core/portal/portal-directives.js +0 -148
- package/core/portal/portal-directives.js.map +0 -1
- package/core/portal/portal-directives.metadata.json +0 -1
- package/core/portal/portal-errors.d.ts +0 -43
- package/core/portal/portal-errors.js +0 -75
- package/core/portal/portal-errors.js.map +0 -1
- package/core/portal/portal-errors.metadata.json +0 -1
- package/core/portal/portal.d.ts +0 -85
- package/core/portal/portal.js +0 -155
- package/core/portal/portal.js.map +0 -1
- package/core/portal/portal.metadata.json +0 -1
- package/core/projection/projection.d.ts +0 -45
- package/core/projection/projection.js +0 -111
- package/core/projection/projection.js.map +0 -1
- package/core/projection/projection.metadata.json +0 -1
- package/core/ripple/README.md +0 -27
- package/core/ripple/_ripple.scss +0 -106
- package/core/ripple/ripple-renderer.d.ts +0 -76
- package/core/ripple/ripple-renderer.js +0 -177
- package/core/ripple/ripple-renderer.js.map +0 -1
- package/core/ripple/ripple-renderer.metadata.json +0 -1
- package/core/ripple/ripple.d.ts +0 -92
- package/core/ripple/ripple.js +0 -295
- package/core/ripple/ripple.js.map +0 -1
- package/core/ripple/ripple.metadata.json +0 -1
- package/core/rtl/dir.d.ts +0 -21
- package/core/rtl/dir.js +0 -87
- package/core/rtl/dir.js.map +0 -1
- package/core/rtl/dir.metadata.json +0 -1
- package/core/style/_button-common.scss +0 -7
- package/core/style/_elevation.scss +0 -174
- package/core/style/_form-common.scss +0 -12
- package/core/style/_layout-common.scss +0 -8
- package/core/style/_list-common.scss +0 -49
- package/core/style/_menu-common.scss +0 -89
- package/core/style/_variables.scss +0 -64
- package/core/style/apply-transform.d.ts +0 -6
- package/core/style/apply-transform.js +0 -14
- package/core/style/apply-transform.js.map +0 -1
- package/core/style/apply-transform.metadata.json +0 -1
- package/core/theming/_all-theme.scss +0 -52
- package/core/theming/_palette.scss +0 -694
- package/core/theming/_theming.scss +0 -84
- package/core/theming/prebuilt/deeppurple-amber.css +0 -1
- package/core/theming/prebuilt/deeppurple-amber.css.map +0 -1
- package/core/theming/prebuilt/deeppurple-amber.scss +0 -14
- package/core/theming/prebuilt/indigo-pink.css +0 -1
- package/core/theming/prebuilt/indigo-pink.css.map +0 -1
- package/core/theming/prebuilt/indigo-pink.scss +0 -14
- package/core/theming/prebuilt/pink-bluegrey.css +0 -1
- package/core/theming/prebuilt/pink-bluegrey.css.map +0 -1
- package/core/theming/prebuilt/pink-bluegrey.scss +0 -14
- package/core/theming/prebuilt/purple-green.css +0 -1
- package/core/theming/prebuilt/purple-green.css.map +0 -1
- package/core/theming/prebuilt/purple-green.scss +0 -14
- package/core/typography/_typography.scss +0 -6
- package/core/util/object-extend.d.ts +0 -8
- package/core/util/object-extend.js +0 -29
- package/core/util/object-extend.js.map +0 -1
- package/core/util/object-extend.metadata.json +0 -1
- package/core.js +0 -3
- package/core.js.map +0 -1
- package/dialog/OVERVIEW.md +0 -39
- package/dialog/README.md +0 -102
- package/dialog/_dialog-theme.scss +0 -11
- package/dialog/dialog-config.d.ts +0 -26
- package/dialog/dialog-config.js +0 -19
- package/dialog/dialog-config.js.map +0 -1
- package/dialog/dialog-config.metadata.json +0 -1
- package/dialog/dialog-container.d.ts +0 -37
- package/dialog/dialog-container.html +0 -1
- package/dialog/dialog-container.js +0 -97
- package/dialog/dialog-container.js.map +0 -1
- package/dialog/dialog-container.metadata.json +0 -1
- package/dialog/dialog-content-directives.d.ts +0 -26
- package/dialog/dialog-content-directives.js +0 -81
- package/dialog/dialog-content-directives.js.map +0 -1
- package/dialog/dialog-content-directives.metadata.json +0 -1
- package/dialog/dialog-errors.d.ts +0 -8
- package/dialog/dialog-errors.js +0 -19
- package/dialog/dialog-errors.js.map +0 -1
- package/dialog/dialog-errors.metadata.json +0 -1
- package/dialog/dialog-injector.d.ts +0 -9
- package/dialog/dialog-injector.js +0 -17
- package/dialog/dialog-injector.js.map +0 -1
- package/dialog/dialog-injector.metadata.json +0 -1
- package/dialog/dialog-ref.d.ts +0 -22
- package/dialog/dialog-ref.js +0 -31
- package/dialog/dialog-ref.js.map +0 -1
- package/dialog/dialog-ref.metadata.json +0 -1
- package/dialog/dialog.css +0 -1
- package/dialog/dialog.css.map +0 -1
- package/dialog/dialog.d.ts +0 -57
- package/dialog/dialog.js +0 -157
- package/dialog/dialog.js.map +0 -1
- package/dialog/dialog.metadata.json +0 -1
- package/dialog/dialog.scss +0 -54
- package/dialog/index.js +0 -59
- package/dialog/index.js.map +0 -1
- package/grid-list/OVERVIEW.md +0 -43
- package/grid-list/README.md +0 -105
- package/grid-list/_grid-list-theme.scss +0 -6
- package/grid-list/grid-list-errors.d.ts +0 -22
- package/grid-list/grid-list-errors.js +0 -41
- package/grid-list/grid-list-errors.js.map +0 -1
- package/grid-list/grid-list-errors.metadata.json +0 -1
- package/grid-list/grid-list-measure.d.ts +0 -10
- package/grid-list/grid-list-measure.js +0 -16
- package/grid-list/grid-list-measure.js.map +0 -1
- package/grid-list/grid-list-measure.metadata.json +0 -1
- package/grid-list/grid-list.css +0 -1
- package/grid-list/grid-list.css.map +0 -1
- package/grid-list/grid-list.d.ts +0 -49
- package/grid-list/grid-list.html +0 -1
- package/grid-list/grid-list.js +0 -166
- package/grid-list/grid-list.js.map +0 -1
- package/grid-list/grid-list.metadata.json +0 -1
- package/grid-list/grid-list.scss +0 -91
- package/grid-list/grid-tile-text.html +0 -1
- package/grid-list/grid-tile.d.ts +0 -30
- package/grid-list/grid-tile.html +0 -1
- package/grid-list/grid-tile.js +0 -81
- package/grid-list/grid-tile.js.map +0 -1
- package/grid-list/grid-tile.metadata.json +0 -1
- package/grid-list/index.js +0 -3
- package/grid-list/index.js.map +0 -1
- package/grid-list/tile-coordinator.d.ts +0 -56
- package/grid-list/tile-coordinator.js +0 -129
- package/grid-list/tile-coordinator.js.map +0 -1
- package/grid-list/tile-coordinator.metadata.json +0 -1
- package/grid-list/tile-styler.d.ts +0 -112
- package/grid-list/tile-styler.js +0 -211
- package/grid-list/tile-styler.js.map +0 -1
- package/grid-list/tile-styler.metadata.json +0 -1
- package/icon/OVERVIEW.md +0 -88
- package/icon/README.md +0 -129
- package/icon/_icon-theme.scss +0 -25
- package/icon/fake-svgs.d.ts +0 -6
- package/icon/fake-svgs.js +0 -31
- package/icon/fake-svgs.js.map +0 -1
- package/icon/fake-svgs.metadata.json +0 -1
- package/icon/icon-registry.d.ts +0 -180
- package/icon/icon-registry.js +0 -413
- package/icon/icon-registry.js.map +0 -1
- package/icon/icon-registry.metadata.json +0 -1
- package/icon/icon.css +0 -1
- package/icon/icon.css.map +0 -1
- package/icon/icon.d.ts +0 -91
- package/icon/icon.js +0 -264
- package/icon/icon.js.map +0 -1
- package/icon/icon.metadata.json +0 -1
- package/icon/icon.scss +0 -13
- package/icon/index.js +0 -3
- package/icon/index.js.map +0 -1
- package/index.d.ts +0 -25
- package/index.js +0 -27
- package/index.js.map +0 -1
- package/index.metadata.json +0 -1
- package/input/OVERVIEW.md +0 -72
- package/input/README.md +0 -183
- package/input/_input-theme.scss +0 -62
- package/input/autosize.d.ts +0 -29
- package/input/autosize.js +0 -94
- package/input/autosize.js.map +0 -1
- package/input/autosize.metadata.json +0 -1
- package/input/index.js +0 -6
- package/input/index.js.map +0 -1
- package/input/input-container-errors.d.ts +0 -17
- package/input/input-container-errors.js +0 -41
- package/input/input-container-errors.js.map +0 -1
- package/input/input-container-errors.metadata.json +0 -1
- package/input/input-container.css +0 -1
- package/input/input-container.css.map +0 -1
- package/input/input-container.d.ts +0 -95
- package/input/input-container.html +0 -1
- package/input/input-container.js +0 -352
- package/input/input-container.js.map +0 -1
- package/input/input-container.metadata.json +0 -1
- package/input/input-container.scss +0 -32
- package/input/input.css +0 -1
- package/input/input.css.map +0 -1
- package/input/input.d.ts +0 -184
- package/input/input.html +0 -1
- package/input/input.js +0 -564
- package/input/input.js.map +0 -1
- package/input/input.metadata.json +0 -1
- package/input/input.scss +0 -202
- package/list/OVERVIEW.md +0 -124
- package/list/README.md +0 -154
- package/list/_list-theme.scss +0 -28
- package/list/index.js +0 -3
- package/list/index.js.map +0 -1
- package/list/list-item.html +0 -1
- package/list/list.css +0 -1
- package/list/list.css.map +0 -1
- package/list/list.d.ts +0 -23
- package/list/list.js +0 -119
- package/list/list.js.map +0 -1
- package/list/list.metadata.json +0 -1
- package/list/list.scss +0 -181
- package/menu/OVERVIEW.md +0 -62
- package/menu/README.md +0 -171
- package/menu/_menu-theme.scss +0 -29
- package/menu/index.js +0 -7
- package/menu/index.js.map +0 -1
- package/menu/menu-animations.d.ts +0 -19
- package/menu/menu-animations.js +0 -43
- package/menu/menu-animations.js.map +0 -1
- package/menu/menu-animations.metadata.json +0 -1
- package/menu/menu-directive.d.ts +0 -46
- package/menu/menu-directive.js +0 -136
- package/menu/menu-directive.js.map +0 -1
- package/menu/menu-directive.metadata.json +0 -1
- package/menu/menu-errors.d.ts +0 -24
- package/menu/menu-errors.js +0 -43
- package/menu/menu-errors.js.map +0 -1
- package/menu/menu-errors.metadata.json +0 -1
- package/menu/menu-item.d.ts +0 -20
- package/menu/menu-item.html +0 -1
- package/menu/menu-item.js +0 -77
- package/menu/menu-item.js.map +0 -1
- package/menu/menu-item.metadata.json +0 -1
- package/menu/menu-panel.d.ts +0 -10
- package/menu/menu-panel.js +0 -3
- package/menu/menu-panel.js.map +0 -1
- package/menu/menu-positions.d.ts +0 -2
- package/menu/menu-positions.js +0 -3
- package/menu/menu-positions.js.map +0 -1
- package/menu/menu-trigger.d.ts +0 -92
- package/menu/menu-trigger.js +0 -246
- package/menu/menu-trigger.js.map +0 -1
- package/menu/menu-trigger.metadata.json +0 -1
- package/menu/menu.css +0 -1
- package/menu/menu.css.map +0 -1
- package/menu/menu.d.ts +0 -9
- package/menu/menu.html +0 -1
- package/menu/menu.js +0 -40
- package/menu/menu.js.map +0 -1
- package/menu/menu.metadata.json +0 -1
- package/menu/menu.scss +0 -44
- package/module.d.ts +0 -6
- package/module.js +0 -132
- package/module.js.map +0 -1
- package/module.metadata.json +0 -1
- package/progress-bar/OVERVIEW.md +0 -30
- package/progress-bar/README.md +0 -54
- package/progress-bar/_progress-bar-theme.scss +0 -70
- package/progress-bar/index.js +0 -3
- package/progress-bar/index.js.map +0 -1
- package/progress-bar/progress-bar.css +0 -1
- package/progress-bar/progress-bar.css.map +0 -1
- package/progress-bar/progress-bar.d.ts +0 -36
- package/progress-bar/progress-bar.html +0 -1
- package/progress-bar/progress-bar.js +0 -124
- package/progress-bar/progress-bar.js.map +0 -1
- package/progress-bar/progress-bar.metadata.json +0 -1
- package/progress-bar/progress-bar.scss +0 -230
- package/progress-spinner/OVERVIEW.md +0 -23
- package/progress-spinner/README.md +0 -51
- package/progress-spinner/_progress-spinner-theme.scss +0 -23
- package/progress-spinner/index.js +0 -4
- package/progress-spinner/index.js.map +0 -1
- package/progress-spinner/progress-circle.d.ts +0 -4
- package/progress-spinner/progress-circle.js +0 -6
- package/progress-spinner/progress-circle.js.map +0 -1
- package/progress-spinner/progress-circle.metadata.json +0 -1
- package/progress-spinner/progress-spinner.css +0 -1
- package/progress-spinner/progress-spinner.css.map +0 -1
- package/progress-spinner/progress-spinner.d.ts +0 -80
- package/progress-spinner/progress-spinner.html +0 -1
- package/progress-spinner/progress-spinner.js +0 -337
- package/progress-spinner/progress-spinner.js.map +0 -1
- package/progress-spinner/progress-spinner.metadata.json +0 -1
- package/progress-spinner/progress-spinner.scss +0 -68
- package/radio/OVERVIEW.md +0 -29
- package/radio/README.md +0 -55
- package/radio/_radio-theme.scss +0 -39
- package/radio/index.js +0 -3
- package/radio/index.js.map +0 -1
- package/radio/radio.css +0 -1
- package/radio/radio.css.map +0 -1
- package/radio/radio.d.ts +0 -179
- package/radio/radio.html +0 -1
- package/radio/radio.js +0 -552
- package/radio/radio.js.map +0 -1
- package/radio/radio.metadata.json +0 -1
- package/radio/radio.scss +0 -102
- package/select/OVERVIEW.md +0 -8
- package/select/README.md +0 -3
- package/select/_select-theme.scss +0 -64
- package/select/index.js +0 -38
- package/select/index.js.map +0 -1
- package/select/option.d.ts +0 -44
- package/select/option.html +0 -1
- package/select/option.js +0 -135
- package/select/option.js.map +0 -1
- package/select/option.metadata.json +0 -1
- package/select/select-animations.d.ts +0 -29
- package/select/select-animations.js +0 -66
- package/select/select-animations.js.map +0 -1
- package/select/select-animations.metadata.json +0 -1
- package/select/select.css +0 -1
- package/select/select.css.map +0 -1
- package/select/select.d.ts +0 -258
- package/select/select.html +0 -1
- package/select/select.js +0 -604
- package/select/select.js.map +0 -1
- package/select/select.metadata.json +0 -1
- package/select/select.scss +0 -131
- package/sidenav/OVERVIEW.md +0 -70
- package/sidenav/README.md +0 -166
- package/sidenav/_sidenav-theme.scss +0 -37
- package/sidenav/index.js +0 -3
- package/sidenav/index.js.map +0 -1
- package/sidenav/sidenav-container.html +0 -1
- package/sidenav/sidenav-transitions.css +0 -1
- package/sidenav/sidenav-transitions.css.map +0 -1
- package/sidenav/sidenav-transitions.scss +0 -14
- package/sidenav/sidenav.css +0 -1
- package/sidenav/sidenav.css.map +0 -1
- package/sidenav/sidenav.d.ts +0 -182
- package/sidenav/sidenav.html +0 -1
- package/sidenav/sidenav.js +0 -580
- package/sidenav/sidenav.js.map +0 -1
- package/sidenav/sidenav.metadata.json +0 -1
- package/sidenav/sidenav.scss +0 -151
- package/slide-toggle/OVERVIEW.md +0 -24
- package/slide-toggle/README.md +0 -66
- package/slide-toggle/_slide-toggle-theme.scss +0 -89
- package/slide-toggle/index.js +0 -3
- package/slide-toggle/index.js.map +0 -1
- package/slide-toggle/slide-toggle.css +0 -1
- package/slide-toggle/slide-toggle.css.map +0 -1
- package/slide-toggle/slide-toggle.d.ts +0 -84
- package/slide-toggle/slide-toggle.html +0 -1
- package/slide-toggle/slide-toggle.js +0 -347
- package/slide-toggle/slide-toggle.js.map +0 -1
- package/slide-toggle/slide-toggle.metadata.json +0 -1
- package/slide-toggle/slide-toggle.scss +0 -158
- package/slider/OVERVIEW.md +0 -87
- package/slider/README.md +0 -150
- package/slider/_slider-theme.scss +0 -32
- package/slider/index.js +0 -3
- package/slider/index.js.map +0 -1
- package/slider/slider.css +0 -1
- package/slider/slider.css.map +0 -1
- package/slider/slider.d.ts +0 -176
- package/slider/slider.html +0 -1
- package/slider/slider.js +0 -609
- package/slider/slider.js.map +0 -1
- package/slider/slider.metadata.json +0 -1
- package/slider/slider.scss +0 -307
- package/slider/test-gesture-config.d.ts +0 -21
- package/slider/test-gesture-config.js +0 -60
- package/slider/test-gesture-config.js.map +0 -1
- package/slider/test-gesture-config.metadata.json +0 -1
- package/snack-bar/OVERVIEW.md +0 -47
- package/snack-bar/README.md +0 -37
- package/snack-bar/index.js +0 -6
- package/snack-bar/index.js.map +0 -1
- package/snack-bar/simple-snack-bar.css +0 -1
- package/snack-bar/simple-snack-bar.css.map +0 -1
- package/snack-bar/simple-snack-bar.d.ts +0 -17
- package/snack-bar/simple-snack-bar.html +0 -1
- package/snack-bar/simple-snack-bar.js +0 -38
- package/snack-bar/simple-snack-bar.js.map +0 -1
- package/snack-bar/simple-snack-bar.metadata.json +0 -1
- package/snack-bar/simple-snack-bar.scss +0 -28
- package/snack-bar/snack-bar-config.d.ts +0 -15
- package/snack-bar/snack-bar-config.js +0 -18
- package/snack-bar/snack-bar-config.js.map +0 -1
- package/snack-bar/snack-bar-config.metadata.json +0 -1
- package/snack-bar/snack-bar-container.css +0 -1
- package/snack-bar/snack-bar-container.css.map +0 -1
- package/snack-bar/snack-bar-container.d.ts +0 -43
- package/snack-bar/snack-bar-container.html +0 -1
- package/snack-bar/snack-bar-container.js +0 -124
- package/snack-bar/snack-bar-container.js.map +0 -1
- package/snack-bar/snack-bar-container.metadata.json +0 -1
- package/snack-bar/snack-bar-container.scss +0 -27
- package/snack-bar/snack-bar-errors.d.ts +0 -8
- package/snack-bar/snack-bar-errors.js +0 -19
- package/snack-bar/snack-bar-errors.js.map +0 -1
- package/snack-bar/snack-bar-errors.metadata.json +0 -1
- package/snack-bar/snack-bar-ref.d.ts +0 -38
- package/snack-bar/snack-bar-ref.js +0 -70
- package/snack-bar/snack-bar-ref.js.map +0 -1
- package/snack-bar/snack-bar-ref.metadata.json +0 -1
- package/snack-bar/snack-bar.d.ts +0 -45
- package/snack-bar/snack-bar.js +0 -145
- package/snack-bar/snack-bar.js.map +0 -1
- package/snack-bar/snack-bar.metadata.json +0 -1
- package/system-config-spec.d.ts +0 -2
- package/tabs/OVERVIEW.md +0 -81
- package/tabs/README.md +0 -64
- package/tabs/Tabs Pagination.png +0 -0
- package/tabs/_tabs-common.scss +0 -42
- package/tabs/_tabs-theme.scss +0 -24
- package/tabs/index.js +0 -9
- package/tabs/index.js.map +0 -1
- package/tabs/ink-bar.d.ts +0 -27
- package/tabs/ink-bar.js +0 -58
- package/tabs/ink-bar.js.map +0 -1
- package/tabs/ink-bar.metadata.json +0 -1
- package/tabs/tab-body.d.ts +0 -59
- package/tabs/tab-body.html +0 -1
- package/tabs/tab-body.js +0 -157
- package/tabs/tab-body.js.map +0 -1
- package/tabs/tab-body.metadata.json +0 -1
- package/tabs/tab-group.css +0 -1
- package/tabs/tab-group.css.map +0 -1
- package/tabs/tab-group.d.ts +0 -71
- package/tabs/tab-group.html +0 -1
- package/tabs/tab-group.js +0 -236
- package/tabs/tab-group.js.map +0 -1
- package/tabs/tab-group.metadata.json +0 -1
- package/tabs/tab-group.scss +0 -59
- package/tabs/tab-header.css +0 -1
- package/tabs/tab-header.css.map +0 -1
- package/tabs/tab-header.d.ts +0 -137
- package/tabs/tab-header.html +0 -1
- package/tabs/tab-header.js +0 -354
- package/tabs/tab-header.js.map +0 -1
- package/tabs/tab-header.metadata.json +0 -1
- package/tabs/tab-header.scss +0 -85
- package/tabs/tab-label-wrapper.d.ts +0 -15
- package/tabs/tab-label-wrapper.js +0 -53
- package/tabs/tab-label-wrapper.js.map +0 -1
- package/tabs/tab-label-wrapper.metadata.json +0 -1
- package/tabs/tab-label.d.ts +0 -6
- package/tabs/tab-label.js +0 -32
- package/tabs/tab-label.js.map +0 -1
- package/tabs/tab-label.metadata.json +0 -1
- package/tabs/tab-nav-bar/index.d.ts +0 -1
- package/tabs/tab-nav-bar/index.js +0 -3
- package/tabs/tab-nav-bar/index.js.map +0 -1
- package/tabs/tab-nav-bar/index.metadata.json +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.css +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.css.map +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +0 -37
- package/tabs/tab-nav-bar/tab-nav-bar.html +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.js +0 -103
- package/tabs/tab-nav-bar/tab-nav-bar.js.map +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.metadata.json +0 -1
- package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -26
- package/tabs/tab.d.ts +0 -30
- package/tabs/tab.html +0 -1
- package/tabs/tab.js +0 -74
- package/tabs/tab.js.map +0 -1
- package/tabs/tab.metadata.json +0 -1
- package/toolbar/OVERVIEW.md +0 -51
- package/toolbar/README.md +0 -68
- package/toolbar/_toolbar-theme.scss +0 -33
- package/toolbar/index.js +0 -3
- package/toolbar/index.js.map +0 -1
- package/toolbar/toolbar.css +0 -1
- package/toolbar/toolbar.css.map +0 -1
- package/toolbar/toolbar.d.ts +0 -16
- package/toolbar/toolbar.html +0 -1
- package/toolbar/toolbar.js +0 -84
- package/toolbar/toolbar.js.map +0 -1
- package/toolbar/toolbar.metadata.json +0 -1
- package/toolbar/toolbar.scss +0 -58
- package/tooltip/OVERVIEW.md +0 -35
- package/tooltip/README.md +0 -28
- package/tooltip/_tooltip-theme.scss +0 -9
- package/tooltip/index.js +0 -3
- package/tooltip/index.js.map +0 -1
- package/tooltip/tooltip-errors.d.ts +0 -8
- package/tooltip/tooltip-errors.js +0 -19
- package/tooltip/tooltip-errors.js.map +0 -1
- package/tooltip/tooltip-errors.metadata.json +0 -1
- package/tooltip/tooltip.css +0 -1
- package/tooltip/tooltip.css.map +0 -1
- package/tooltip/tooltip.d.ts +0 -116
- package/tooltip/tooltip.html +0 -1
- package/tooltip/tooltip.js +0 -387
- package/tooltip/tooltip.js.map +0 -1
- package/tooltip/tooltip.metadata.json +0 -1
- package/tooltip/tooltip.scss +0 -26
- package/tsconfig-srcs.json +0 -31
- package/tsconfig.json +0 -34
- package/typedoc.json +0 -20
- package/typings.d.ts +0 -1
|
@@ -0,0 +1,2969 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
(function (global, factory) {
|
|
9
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('rxjs/Subject'), require('@angular/platform-browser'), require('@angular/common'), require('@angular/cdk/platform'), require('@angular/cdk/keycodes'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/rxjs'), require('@angular/forms'), require('@angular/animations'), require('rxjs/observable/fromEvent'), require('rxjs/observable/merge'), require('rxjs/observable/of')) :
|
|
10
|
+
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/bidi', '@angular/cdk/coercion', 'rxjs/Subject', '@angular/platform-browser', '@angular/common', '@angular/cdk/platform', '@angular/cdk/keycodes', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/rxjs', '@angular/forms', '@angular/animations', 'rxjs/observable/fromEvent', 'rxjs/observable/merge', 'rxjs/observable/of'], factory) :
|
|
11
|
+
(factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.autocomplete = global.ng.material.autocomplete || {}),global.ng.core,global.ng.cdk.bidi,global.ng.cdk.coercion,global.Rx,global.ng.platformBrowser,global.ng.common,global.ng.cdk.platform,global.ng.cdk.keycodes,global.ng.cdk.a11y,global.ng.cdk.overlay,global.ng.cdk.portal,global.ng.cdk.rxjs,global.ng.forms,global.ng.animations,global.Rx.Observable,global.Rx.Observable,global.Rx.Observable));
|
|
12
|
+
}(this, (function (exports,_angular_core,_angular_cdk_bidi,_angular_cdk_coercion,rxjs_Subject,_angular_platformBrowser,_angular_common,_angular_cdk_platform,_angular_cdk_keycodes,_angular_cdk_a11y,_angular_cdk_overlay,_angular_cdk_portal,_angular_cdk_rxjs,_angular_forms,_angular_animations,rxjs_observable_fromEvent,rxjs_observable_merge,rxjs_observable_of) { 'use strict';
|
|
13
|
+
|
|
14
|
+
/*! *****************************************************************************
|
|
15
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
16
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
17
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
18
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
|
|
20
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
21
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
22
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
23
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
24
|
+
|
|
25
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
26
|
+
and limitations under the License.
|
|
27
|
+
***************************************************************************** */
|
|
28
|
+
/* global Reflect, Promise */
|
|
29
|
+
|
|
30
|
+
var extendStatics = Object.setPrototypeOf ||
|
|
31
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
32
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
33
|
+
|
|
34
|
+
function __extends(d, b) {
|
|
35
|
+
extendStatics(d, b);
|
|
36
|
+
function __() { this.constructor = d; }
|
|
37
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var MATERIAL_COMPATIBILITY_MODE = new _angular_core.InjectionToken('md-compatibility-mode');
|
|
41
|
+
/**
|
|
42
|
+
* Selector that matches all elements that may have style collisions with AngularJS Material.
|
|
43
|
+
*/
|
|
44
|
+
var MAT_ELEMENTS_SELECTOR = "\n [mat-button],\n [mat-fab],\n [mat-icon-button],\n [mat-mini-fab],\n [mat-raised-button],\n [matCardSubtitle],\n [matCardTitle],\n [matCellDef],\n [matColumnDef],\n [matDialogActions],\n [matDialogClose],\n [matDialogContent],\n [matDialogTitle],\n [matHeaderCellDef],\n [matHeaderRowDef],\n [matLine],\n [matRowDef],\n [matStepLabel],\n [matStepperNext],\n [matStepperPrevious],\n [matTabLabel],\n [matTabLink],\n [matTabNav],\n [matTooltip],\n [matInput],\n [matPrefix],\n [matSuffix],\n mat-autocomplete,\n mat-button-toggle,\n mat-button-toggle,\n mat-button-toggle-group,\n mat-card,\n mat-card-actions,\n mat-card-content,\n mat-card-footer,\n mat-card-header,\n mat-card-subtitle,\n mat-card-title,\n mat-card-title-group,\n mat-cell,\n mat-checkbox,\n mat-chip,\n mat-dialog-actions,\n mat-dialog-container,\n mat-dialog-content,\n mat-divider,\n mat-error,\n mat-grid-list,\n mat-grid-tile,\n mat-grid-tile-footer,\n mat-grid-tile-header,\n mat-header-cell,\n mat-header-row,\n mat-hint,\n mat-horizontal-stepper,\n mat-icon,\n mat-input-container,\n mat-form-field,\n mat-list,\n mat-list-item,\n mat-menu,\n mat-nav-list,\n mat-option,\n mat-placeholder,\n mat-progress-bar,\n mat-pseudo-checkbox,\n mat-radio-button,\n mat-radio-group,\n mat-row,\n mat-select,\n mat-sidenav,\n mat-sidenav-container,\n mat-slider,\n mat-spinner,\n mat-step,\n mat-tab,\n mat-table,\n mat-tab-group,\n mat-toolbar,\n mat-vertical-stepper";
|
|
45
|
+
/**
|
|
46
|
+
* Selector that matches all elements that may have style collisions with AngularJS Material.
|
|
47
|
+
*/
|
|
48
|
+
var MD_ELEMENTS_SELECTOR = "\n [md-button],\n [md-fab],\n [md-icon-button],\n [md-mini-fab],\n [md-raised-button],\n [mdCardSubtitle],\n [mdCardTitle],\n [mdCellDef],\n [mdColumnDef],\n [mdDialogActions],\n [mdDialogClose],\n [mdDialogContent],\n [mdDialogTitle],\n [mdHeaderCellDef],\n [mdHeaderRowDef],\n [mdLine],\n [mdRowDef],\n [mdStepLabel],\n [mdStepperNext],\n [mdStepperPrevious],\n [mdTabLabel],\n [mdTabLink],\n [mdTabNav],\n [mdTooltip],\n [mdInput],\n [mdPrefix],\n [mdSuffix],\n md-autocomplete,\n md-button-toggle,\n md-button-toggle,\n md-button-toggle-group,\n md-card,\n md-card-actions,\n md-card-content,\n md-card-footer,\n md-card-header,\n md-card-subtitle,\n md-card-title,\n md-card-title-group,\n md-cell,\n md-checkbox,\n md-chip,\n md-dialog-actions,\n md-dialog-container,\n md-dialog-content,\n md-divider,\n md-error,\n md-grid-list,\n md-grid-tile,\n md-grid-tile-footer,\n md-grid-tile-header,\n md-header-cell,\n md-header-row,\n md-hint,\n md-horizontal-stepper,\n md-icon,\n md-input-container,\n md-form-field,\n md-list,\n md-list-item,\n md-menu,\n md-nav-list,\n md-option,\n md-placeholder,\n md-progress-bar,\n md-pseudo-checkbox,\n md-radio-button,\n md-radio-group,\n md-row,\n md-select,\n md-sidenav,\n md-sidenav-container,\n md-slider,\n md-spinner,\n md-step,\n md-tab,\n md-table,\n md-tab-group,\n md-toolbar,\n md-vertical-stepper";
|
|
49
|
+
/**
|
|
50
|
+
* Directive that enforces that the `mat-` prefix cannot be used.
|
|
51
|
+
*/
|
|
52
|
+
var MatPrefixRejector = (function () {
|
|
53
|
+
function MatPrefixRejector() {
|
|
54
|
+
}
|
|
55
|
+
MatPrefixRejector.decorators = [
|
|
56
|
+
{ type: _angular_core.Directive, args: [{ selector: MAT_ELEMENTS_SELECTOR },] },
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* @nocollapse
|
|
60
|
+
*/
|
|
61
|
+
MatPrefixRejector.ctorParameters = function () { return []; };
|
|
62
|
+
return MatPrefixRejector;
|
|
63
|
+
}());
|
|
64
|
+
/**
|
|
65
|
+
* Directive that enforces that the `md-` prefix cannot be used.
|
|
66
|
+
*/
|
|
67
|
+
var MdPrefixRejector = (function () {
|
|
68
|
+
function MdPrefixRejector() {
|
|
69
|
+
}
|
|
70
|
+
MdPrefixRejector.decorators = [
|
|
71
|
+
{ type: _angular_core.Directive, args: [{ selector: MD_ELEMENTS_SELECTOR },] },
|
|
72
|
+
];
|
|
73
|
+
/**
|
|
74
|
+
* @nocollapse
|
|
75
|
+
*/
|
|
76
|
+
MdPrefixRejector.ctorParameters = function () { return []; };
|
|
77
|
+
return MdPrefixRejector;
|
|
78
|
+
}());
|
|
79
|
+
/**
|
|
80
|
+
* Module that enforces the default compatibility mode settings. When this module is loaded
|
|
81
|
+
* without NoConflictStyleCompatibilityMode also being imported, it will throw an error if
|
|
82
|
+
* there are any uses of the `mat-` prefix.
|
|
83
|
+
*/
|
|
84
|
+
var CompatibilityModule = (function () {
|
|
85
|
+
function CompatibilityModule() {
|
|
86
|
+
}
|
|
87
|
+
CompatibilityModule.decorators = [
|
|
88
|
+
{ type: _angular_core.NgModule, args: [{
|
|
89
|
+
declarations: [MatPrefixRejector, MdPrefixRejector],
|
|
90
|
+
exports: [MatPrefixRejector, MdPrefixRejector],
|
|
91
|
+
},] },
|
|
92
|
+
];
|
|
93
|
+
/**
|
|
94
|
+
* @nocollapse
|
|
95
|
+
*/
|
|
96
|
+
CompatibilityModule.ctorParameters = function () { return []; };
|
|
97
|
+
return CompatibilityModule;
|
|
98
|
+
}());
|
|
99
|
+
/**
|
|
100
|
+
* Injection token that configures whether the Material sanity checks are enabled.
|
|
101
|
+
*/
|
|
102
|
+
var MATERIAL_SANITY_CHECKS = new _angular_core.InjectionToken('mat-sanity-checks');
|
|
103
|
+
/**
|
|
104
|
+
* Module that captures anything that should be loaded and/or run for *all* Angular Material
|
|
105
|
+
* components. This includes Bidi, compatibility mode, etc.
|
|
106
|
+
*
|
|
107
|
+
* This module should be imported to each top-level component module (e.g., MatTabsModule).
|
|
108
|
+
*/
|
|
109
|
+
var MatCommonModule = (function () {
|
|
110
|
+
/**
|
|
111
|
+
* @param {?} sanityChecksEnabled
|
|
112
|
+
*/
|
|
113
|
+
function MatCommonModule(sanityChecksEnabled) {
|
|
114
|
+
/**
|
|
115
|
+
* Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).
|
|
116
|
+
*/
|
|
117
|
+
this._hasDoneGlobalChecks = false;
|
|
118
|
+
/**
|
|
119
|
+
* Reference to the global `document` object.
|
|
120
|
+
*/
|
|
121
|
+
this._document = typeof document === 'object' && document ? document : null;
|
|
122
|
+
if (sanityChecksEnabled && !this._hasDoneGlobalChecks && _angular_core.isDevMode()) {
|
|
123
|
+
this._checkDoctype();
|
|
124
|
+
this._checkTheme();
|
|
125
|
+
this._hasDoneGlobalChecks = true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @return {?}
|
|
130
|
+
*/
|
|
131
|
+
MatCommonModule.prototype._checkDoctype = function () {
|
|
132
|
+
if (this._document && !this._document.doctype) {
|
|
133
|
+
console.warn('Current document does not have a doctype. This may cause ' +
|
|
134
|
+
'some Angular Material components not to behave as expected.');
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @return {?}
|
|
139
|
+
*/
|
|
140
|
+
MatCommonModule.prototype._checkTheme = function () {
|
|
141
|
+
if (this._document && typeof getComputedStyle === 'function') {
|
|
142
|
+
var /** @type {?} */ testElement = this._document.createElement('div');
|
|
143
|
+
testElement.classList.add('mat-theme-loaded-marker');
|
|
144
|
+
this._document.body.appendChild(testElement);
|
|
145
|
+
var /** @type {?} */ computedStyle = getComputedStyle(testElement);
|
|
146
|
+
// In some situations, the computed style of the test element can be null. For example in
|
|
147
|
+
// Firefox, the computed style is null if an application is running inside of a hidden iframe.
|
|
148
|
+
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
|
149
|
+
if (computedStyle && computedStyle.display !== 'none') {
|
|
150
|
+
console.warn('Could not find Angular Material core theme. Most Material ' +
|
|
151
|
+
'components may not work as expected. For more info refer ' +
|
|
152
|
+
'to the theming guide: https://material.angular.io/guide/theming');
|
|
153
|
+
}
|
|
154
|
+
this._document.body.removeChild(testElement);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
MatCommonModule.decorators = [
|
|
158
|
+
{ type: _angular_core.NgModule, args: [{
|
|
159
|
+
imports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
|
|
160
|
+
exports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
|
|
161
|
+
providers: [{
|
|
162
|
+
provide: MATERIAL_SANITY_CHECKS, useValue: true,
|
|
163
|
+
}],
|
|
164
|
+
},] },
|
|
165
|
+
];
|
|
166
|
+
/**
|
|
167
|
+
* @nocollapse
|
|
168
|
+
*/
|
|
169
|
+
MatCommonModule.ctorParameters = function () { return [
|
|
170
|
+
{ type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MATERIAL_SANITY_CHECKS,] },] },
|
|
171
|
+
]; };
|
|
172
|
+
return MatCommonModule;
|
|
173
|
+
}());
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Mixin to augment a directive with a `disabled` property.
|
|
177
|
+
* @template T
|
|
178
|
+
* @param {?} base
|
|
179
|
+
* @return {?}
|
|
180
|
+
*/
|
|
181
|
+
function mixinDisabled(base) {
|
|
182
|
+
return (function (_super) {
|
|
183
|
+
__extends(class_1, _super);
|
|
184
|
+
/**
|
|
185
|
+
* @param {...?} args
|
|
186
|
+
*/
|
|
187
|
+
function class_1() {
|
|
188
|
+
var args = [];
|
|
189
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
190
|
+
args[_i] = arguments[_i];
|
|
191
|
+
}
|
|
192
|
+
var _this = _super.apply(this, args) || this;
|
|
193
|
+
_this._disabled = false;
|
|
194
|
+
return _this;
|
|
195
|
+
}
|
|
196
|
+
Object.defineProperty(class_1.prototype, "disabled", {
|
|
197
|
+
/**
|
|
198
|
+
* @return {?}
|
|
199
|
+
*/
|
|
200
|
+
get: function () { return this._disabled; },
|
|
201
|
+
/**
|
|
202
|
+
* @param {?} value
|
|
203
|
+
* @return {?}
|
|
204
|
+
*/
|
|
205
|
+
set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
|
|
206
|
+
enumerable: true,
|
|
207
|
+
configurable: true
|
|
208
|
+
});
|
|
209
|
+
return class_1;
|
|
210
|
+
}(base));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* InjectionToken for datepicker that can be used to override default locale code.
|
|
215
|
+
*/
|
|
216
|
+
var MAT_DATE_LOCALE = new _angular_core.InjectionToken('MAT_DATE_LOCALE');
|
|
217
|
+
/**
|
|
218
|
+
* Adapts type `D` to be usable as a date by cdk-based components that work with dates.
|
|
219
|
+
* @abstract
|
|
220
|
+
*/
|
|
221
|
+
var DateAdapter = (function () {
|
|
222
|
+
function DateAdapter() {
|
|
223
|
+
this._localeChanges = new rxjs_Subject.Subject();
|
|
224
|
+
}
|
|
225
|
+
Object.defineProperty(DateAdapter.prototype, "localeChanges", {
|
|
226
|
+
/**
|
|
227
|
+
* A stream that emits when the locale changes.
|
|
228
|
+
* @return {?}
|
|
229
|
+
*/
|
|
230
|
+
get: function () { return this._localeChanges; },
|
|
231
|
+
enumerable: true,
|
|
232
|
+
configurable: true
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* Gets the year component of the given date.
|
|
236
|
+
* @abstract
|
|
237
|
+
* @param {?} date The date to extract the year from.
|
|
238
|
+
* @return {?} The year component.
|
|
239
|
+
*/
|
|
240
|
+
DateAdapter.prototype.getYear = function (date) { };
|
|
241
|
+
/**
|
|
242
|
+
* Gets the month component of the given date.
|
|
243
|
+
* @abstract
|
|
244
|
+
* @param {?} date The date to extract the month from.
|
|
245
|
+
* @return {?} The month component (0-indexed, 0 = January).
|
|
246
|
+
*/
|
|
247
|
+
DateAdapter.prototype.getMonth = function (date) { };
|
|
248
|
+
/**
|
|
249
|
+
* Gets the date of the month component of the given date.
|
|
250
|
+
* @abstract
|
|
251
|
+
* @param {?} date The date to extract the date of the month from.
|
|
252
|
+
* @return {?} The month component (1-indexed, 1 = first of month).
|
|
253
|
+
*/
|
|
254
|
+
DateAdapter.prototype.getDate = function (date) { };
|
|
255
|
+
/**
|
|
256
|
+
* Gets the day of the week component of the given date.
|
|
257
|
+
* @abstract
|
|
258
|
+
* @param {?} date The date to extract the day of the week from.
|
|
259
|
+
* @return {?} The month component (0-indexed, 0 = Sunday).
|
|
260
|
+
*/
|
|
261
|
+
DateAdapter.prototype.getDayOfWeek = function (date) { };
|
|
262
|
+
/**
|
|
263
|
+
* Gets a list of names for the months.
|
|
264
|
+
* @abstract
|
|
265
|
+
* @param {?} style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').
|
|
266
|
+
* @return {?} An ordered list of all month names, starting with January.
|
|
267
|
+
*/
|
|
268
|
+
DateAdapter.prototype.getMonthNames = function (style$$1) { };
|
|
269
|
+
/**
|
|
270
|
+
* Gets a list of names for the dates of the month.
|
|
271
|
+
* @abstract
|
|
272
|
+
* @return {?} An ordered list of all date of the month names, starting with '1'.
|
|
273
|
+
*/
|
|
274
|
+
DateAdapter.prototype.getDateNames = function () { };
|
|
275
|
+
/**
|
|
276
|
+
* Gets a list of names for the days of the week.
|
|
277
|
+
* @abstract
|
|
278
|
+
* @param {?} style The naming style (e.g. long = 'Sunday', short = 'Sun', narrow = 'S').
|
|
279
|
+
* @return {?} An ordered list of all weekday names, starting with Sunday.
|
|
280
|
+
*/
|
|
281
|
+
DateAdapter.prototype.getDayOfWeekNames = function (style$$1) { };
|
|
282
|
+
/**
|
|
283
|
+
* Gets the name for the year of the given date.
|
|
284
|
+
* @abstract
|
|
285
|
+
* @param {?} date The date to get the year name for.
|
|
286
|
+
* @return {?} The name of the given year (e.g. '2017').
|
|
287
|
+
*/
|
|
288
|
+
DateAdapter.prototype.getYearName = function (date) { };
|
|
289
|
+
/**
|
|
290
|
+
* Gets the first day of the week.
|
|
291
|
+
* @abstract
|
|
292
|
+
* @return {?} The first day of the week (0-indexed, 0 = Sunday).
|
|
293
|
+
*/
|
|
294
|
+
DateAdapter.prototype.getFirstDayOfWeek = function () { };
|
|
295
|
+
/**
|
|
296
|
+
* Gets the number of days in the month of the given date.
|
|
297
|
+
* @abstract
|
|
298
|
+
* @param {?} date The date whose month should be checked.
|
|
299
|
+
* @return {?} The number of days in the month of the given date.
|
|
300
|
+
*/
|
|
301
|
+
DateAdapter.prototype.getNumDaysInMonth = function (date) { };
|
|
302
|
+
/**
|
|
303
|
+
* Clones the given date.
|
|
304
|
+
* @abstract
|
|
305
|
+
* @param {?} date The date to clone
|
|
306
|
+
* @return {?} A new date equal to the given date.
|
|
307
|
+
*/
|
|
308
|
+
DateAdapter.prototype.clone = function (date) { };
|
|
309
|
+
/**
|
|
310
|
+
* Creates a date with the given year, month, and date. Does not allow over/under-flow of the
|
|
311
|
+
* month and date.
|
|
312
|
+
* @abstract
|
|
313
|
+
* @param {?} year The full year of the date. (e.g. 89 means the year 89, not the year 1989).
|
|
314
|
+
* @param {?} month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.
|
|
315
|
+
* @param {?} date The date of month of the date. Must be an integer 1 - length of the given month.
|
|
316
|
+
* @return {?} The new date, or null if invalid.
|
|
317
|
+
*/
|
|
318
|
+
DateAdapter.prototype.createDate = function (year, month, date) { };
|
|
319
|
+
/**
|
|
320
|
+
* Gets today's date.
|
|
321
|
+
* @abstract
|
|
322
|
+
* @return {?} Today's date.
|
|
323
|
+
*/
|
|
324
|
+
DateAdapter.prototype.today = function () { };
|
|
325
|
+
/**
|
|
326
|
+
* Parses a date from a value.
|
|
327
|
+
* @abstract
|
|
328
|
+
* @param {?} value The value to parse.
|
|
329
|
+
* @param {?} parseFormat The expected format of the value being parsed
|
|
330
|
+
* (type is implementation-dependent).
|
|
331
|
+
* @return {?} The parsed date.
|
|
332
|
+
*/
|
|
333
|
+
DateAdapter.prototype.parse = function (value, parseFormat) { };
|
|
334
|
+
/**
|
|
335
|
+
* Formats a date as a string.
|
|
336
|
+
* @abstract
|
|
337
|
+
* @param {?} date The value to format.
|
|
338
|
+
* @param {?} displayFormat The format to use to display the date as a string.
|
|
339
|
+
* @return {?} The formatted date string.
|
|
340
|
+
*/
|
|
341
|
+
DateAdapter.prototype.format = function (date, displayFormat) { };
|
|
342
|
+
/**
|
|
343
|
+
* Adds the given number of years to the date. Years are counted as if flipping 12 pages on the
|
|
344
|
+
* calendar for each year and then finding the closest date in the new month. For example when
|
|
345
|
+
* adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.
|
|
346
|
+
* @abstract
|
|
347
|
+
* @param {?} date The date to add years to.
|
|
348
|
+
* @param {?} years The number of years to add (may be negative).
|
|
349
|
+
* @return {?} A new date equal to the given one with the specified number of years added.
|
|
350
|
+
*/
|
|
351
|
+
DateAdapter.prototype.addCalendarYears = function (date, years) { };
|
|
352
|
+
/**
|
|
353
|
+
* Adds the given number of months to the date. Months are counted as if flipping a page on the
|
|
354
|
+
* calendar for each month and then finding the closest date in the new month. For example when
|
|
355
|
+
* adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.
|
|
356
|
+
* @abstract
|
|
357
|
+
* @param {?} date The date to add months to.
|
|
358
|
+
* @param {?} months The number of months to add (may be negative).
|
|
359
|
+
* @return {?} A new date equal to the given one with the specified number of months added.
|
|
360
|
+
*/
|
|
361
|
+
DateAdapter.prototype.addCalendarMonths = function (date, months) { };
|
|
362
|
+
/**
|
|
363
|
+
* Adds the given number of days to the date. Days are counted as if moving one cell on the
|
|
364
|
+
* calendar for each day.
|
|
365
|
+
* @abstract
|
|
366
|
+
* @param {?} date The date to add days to.
|
|
367
|
+
* @param {?} days The number of days to add (may be negative).
|
|
368
|
+
* @return {?} A new date equal to the given one with the specified number of days added.
|
|
369
|
+
*/
|
|
370
|
+
DateAdapter.prototype.addCalendarDays = function (date, days) { };
|
|
371
|
+
/**
|
|
372
|
+
* Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.
|
|
373
|
+
* @abstract
|
|
374
|
+
* @param {?} date The date to get the ISO date string for.
|
|
375
|
+
* @return {?} The ISO date string date string.
|
|
376
|
+
*/
|
|
377
|
+
DateAdapter.prototype.toIso8601 = function (date) { };
|
|
378
|
+
/**
|
|
379
|
+
* Creates a date from an RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339).
|
|
380
|
+
* @abstract
|
|
381
|
+
* @param {?} iso8601String The ISO date string to create a date from
|
|
382
|
+
* @return {?} The date created from the ISO date string.
|
|
383
|
+
*/
|
|
384
|
+
DateAdapter.prototype.fromIso8601 = function (iso8601String) { };
|
|
385
|
+
/**
|
|
386
|
+
* Checks whether the given object is considered a date instance by this DateAdapter.
|
|
387
|
+
* @abstract
|
|
388
|
+
* @param {?} obj The object to check
|
|
389
|
+
* @return {?} Whether the object is a date instance.
|
|
390
|
+
*/
|
|
391
|
+
DateAdapter.prototype.isDateInstance = function (obj) { };
|
|
392
|
+
/**
|
|
393
|
+
* Checks whether the given date is valid.
|
|
394
|
+
* @abstract
|
|
395
|
+
* @param {?} date The date to check.
|
|
396
|
+
* @return {?} Whether the date is valid.
|
|
397
|
+
*/
|
|
398
|
+
DateAdapter.prototype.isValid = function (date) { };
|
|
399
|
+
/**
|
|
400
|
+
* Sets the locale used for all dates.
|
|
401
|
+
* @param {?} locale The new locale.
|
|
402
|
+
* @return {?}
|
|
403
|
+
*/
|
|
404
|
+
DateAdapter.prototype.setLocale = function (locale) {
|
|
405
|
+
this.locale = locale;
|
|
406
|
+
this._localeChanges.next();
|
|
407
|
+
};
|
|
408
|
+
/**
|
|
409
|
+
* Compares two dates.
|
|
410
|
+
* @param {?} first The first date to compare.
|
|
411
|
+
* @param {?} second The second date to compare.
|
|
412
|
+
* @return {?} 0 if the dates are equal, a number less than 0 if the first date is earlier,
|
|
413
|
+
* a number greater than 0 if the first date is later.
|
|
414
|
+
*/
|
|
415
|
+
DateAdapter.prototype.compareDate = function (first$$1, second) {
|
|
416
|
+
return this.getYear(first$$1) - this.getYear(second) ||
|
|
417
|
+
this.getMonth(first$$1) - this.getMonth(second) ||
|
|
418
|
+
this.getDate(first$$1) - this.getDate(second);
|
|
419
|
+
};
|
|
420
|
+
/**
|
|
421
|
+
* Checks if two dates are equal.
|
|
422
|
+
* @param {?} first The first date to check.
|
|
423
|
+
* @param {?} second The second date to check.
|
|
424
|
+
* Null dates are considered equal to other null dates.
|
|
425
|
+
* @return {?}
|
|
426
|
+
*/
|
|
427
|
+
DateAdapter.prototype.sameDate = function (first$$1, second) {
|
|
428
|
+
return first$$1 && second ? !this.compareDate(first$$1, second) : first$$1 == second;
|
|
429
|
+
};
|
|
430
|
+
/**
|
|
431
|
+
* Clamp the given date between min and max dates.
|
|
432
|
+
* @param {?} date The date to clamp.
|
|
433
|
+
* @param {?=} min The minimum value to allow. If null or omitted no min is enforced.
|
|
434
|
+
* @param {?=} max The maximum value to allow. If null or omitted no max is enforced.
|
|
435
|
+
* @return {?} `min` if `date` is less than `min`, `max` if date is greater than `max`,
|
|
436
|
+
* otherwise `date`.
|
|
437
|
+
*/
|
|
438
|
+
DateAdapter.prototype.clampDate = function (date, min, max) {
|
|
439
|
+
if (min && this.compareDate(date, min) < 0) {
|
|
440
|
+
return min;
|
|
441
|
+
}
|
|
442
|
+
if (max && this.compareDate(date, max) > 0) {
|
|
443
|
+
return max;
|
|
444
|
+
}
|
|
445
|
+
return date;
|
|
446
|
+
};
|
|
447
|
+
return DateAdapter;
|
|
448
|
+
}());
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* Extends an object with the *enumerable* and *own* properties of one or more source objects,
|
|
452
|
+
* similar to Object.assign.
|
|
453
|
+
*
|
|
454
|
+
* @param {?} dest The object which will have properties copied to it.
|
|
455
|
+
* @param {...?} sources The source objects from which properties will be copied.
|
|
456
|
+
* @return {?}
|
|
457
|
+
*/
|
|
458
|
+
function extendObject(dest) {
|
|
459
|
+
var sources = [];
|
|
460
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
461
|
+
sources[_i - 1] = arguments[_i];
|
|
462
|
+
}
|
|
463
|
+
if (dest == null) {
|
|
464
|
+
throw TypeError('Cannot convert undefined or null to object');
|
|
465
|
+
}
|
|
466
|
+
for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
|
|
467
|
+
var source = sources_1[_a];
|
|
468
|
+
if (source != null) {
|
|
469
|
+
for (var /** @type {?} */ key in source) {
|
|
470
|
+
if (source.hasOwnProperty(key)) {
|
|
471
|
+
dest[key] = source[key];
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
return dest;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Whether the browser supports the Intl API.
|
|
481
|
+
*/
|
|
482
|
+
var SUPPORTS_INTL_API = typeof Intl != 'undefined';
|
|
483
|
+
/**
|
|
484
|
+
* The default month names to use if Intl API is not available.
|
|
485
|
+
*/
|
|
486
|
+
var DEFAULT_MONTH_NAMES = {
|
|
487
|
+
'long': [
|
|
488
|
+
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',
|
|
489
|
+
'October', 'November', 'December'
|
|
490
|
+
],
|
|
491
|
+
'short': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
492
|
+
'narrow': ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']
|
|
493
|
+
};
|
|
494
|
+
/**
|
|
495
|
+
* The default date names to use if Intl API is not available.
|
|
496
|
+
*/
|
|
497
|
+
var DEFAULT_DATE_NAMES = range(31, function (i) { return String(i + 1); });
|
|
498
|
+
/**
|
|
499
|
+
* The default day of the week names to use if Intl API is not available.
|
|
500
|
+
*/
|
|
501
|
+
var DEFAULT_DAY_OF_WEEK_NAMES = {
|
|
502
|
+
'long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
|
503
|
+
'short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
504
|
+
'narrow': ['S', 'M', 'T', 'W', 'T', 'F', 'S']
|
|
505
|
+
};
|
|
506
|
+
/**
|
|
507
|
+
* Matches strings that have the form of a valid RFC 3339 string
|
|
508
|
+
* (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
|
|
509
|
+
* because the regex will match strings an with out of bounds month, date, etc.
|
|
510
|
+
*/
|
|
511
|
+
var ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
512
|
+
/**
|
|
513
|
+
* Creates an array and fills it with values.
|
|
514
|
+
* @template T
|
|
515
|
+
* @param {?} length
|
|
516
|
+
* @param {?} valueFunction
|
|
517
|
+
* @return {?}
|
|
518
|
+
*/
|
|
519
|
+
function range(length, valueFunction) {
|
|
520
|
+
var /** @type {?} */ valuesArray = Array(length);
|
|
521
|
+
for (var /** @type {?} */ i = 0; i < length; i++) {
|
|
522
|
+
valuesArray[i] = valueFunction(i);
|
|
523
|
+
}
|
|
524
|
+
return valuesArray;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Adapts the native JS Date for use with cdk-based components that work with dates.
|
|
528
|
+
*/
|
|
529
|
+
var NativeDateAdapter = (function (_super) {
|
|
530
|
+
__extends(NativeDateAdapter, _super);
|
|
531
|
+
/**
|
|
532
|
+
* @param {?} matDateLocale
|
|
533
|
+
*/
|
|
534
|
+
function NativeDateAdapter(matDateLocale) {
|
|
535
|
+
var _this = _super.call(this) || this;
|
|
536
|
+
/**
|
|
537
|
+
* Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.
|
|
538
|
+
* Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off
|
|
539
|
+
* the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`
|
|
540
|
+
* will produce `'8/13/1800'`.
|
|
541
|
+
*/
|
|
542
|
+
_this.useUtcForDisplay = true;
|
|
543
|
+
_super.prototype.setLocale.call(_this, matDateLocale);
|
|
544
|
+
return _this;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* @param {?} date
|
|
548
|
+
* @return {?}
|
|
549
|
+
*/
|
|
550
|
+
NativeDateAdapter.prototype.getYear = function (date) {
|
|
551
|
+
return date.getFullYear();
|
|
552
|
+
};
|
|
553
|
+
/**
|
|
554
|
+
* @param {?} date
|
|
555
|
+
* @return {?}
|
|
556
|
+
*/
|
|
557
|
+
NativeDateAdapter.prototype.getMonth = function (date) {
|
|
558
|
+
return date.getMonth();
|
|
559
|
+
};
|
|
560
|
+
/**
|
|
561
|
+
* @param {?} date
|
|
562
|
+
* @return {?}
|
|
563
|
+
*/
|
|
564
|
+
NativeDateAdapter.prototype.getDate = function (date) {
|
|
565
|
+
return date.getDate();
|
|
566
|
+
};
|
|
567
|
+
/**
|
|
568
|
+
* @param {?} date
|
|
569
|
+
* @return {?}
|
|
570
|
+
*/
|
|
571
|
+
NativeDateAdapter.prototype.getDayOfWeek = function (date) {
|
|
572
|
+
return date.getDay();
|
|
573
|
+
};
|
|
574
|
+
/**
|
|
575
|
+
* @param {?} style
|
|
576
|
+
* @return {?}
|
|
577
|
+
*/
|
|
578
|
+
NativeDateAdapter.prototype.getMonthNames = function (style$$1) {
|
|
579
|
+
var _this = this;
|
|
580
|
+
if (SUPPORTS_INTL_API) {
|
|
581
|
+
var /** @type {?} */ dtf_1 = new Intl.DateTimeFormat(this.locale, { month: style$$1 });
|
|
582
|
+
return range(12, function (i) { return _this._stripDirectionalityCharacters(dtf_1.format(new Date(2017, i, 1))); });
|
|
583
|
+
}
|
|
584
|
+
return DEFAULT_MONTH_NAMES[style$$1];
|
|
585
|
+
};
|
|
586
|
+
/**
|
|
587
|
+
* @return {?}
|
|
588
|
+
*/
|
|
589
|
+
NativeDateAdapter.prototype.getDateNames = function () {
|
|
590
|
+
var _this = this;
|
|
591
|
+
if (SUPPORTS_INTL_API) {
|
|
592
|
+
var /** @type {?} */ dtf_2 = new Intl.DateTimeFormat(this.locale, { day: 'numeric' });
|
|
593
|
+
return range(31, function (i) { return _this._stripDirectionalityCharacters(dtf_2.format(new Date(2017, 0, i + 1))); });
|
|
594
|
+
}
|
|
595
|
+
return DEFAULT_DATE_NAMES;
|
|
596
|
+
};
|
|
597
|
+
/**
|
|
598
|
+
* @param {?} style
|
|
599
|
+
* @return {?}
|
|
600
|
+
*/
|
|
601
|
+
NativeDateAdapter.prototype.getDayOfWeekNames = function (style$$1) {
|
|
602
|
+
var _this = this;
|
|
603
|
+
if (SUPPORTS_INTL_API) {
|
|
604
|
+
var /** @type {?} */ dtf_3 = new Intl.DateTimeFormat(this.locale, { weekday: style$$1 });
|
|
605
|
+
return range(7, function (i) { return _this._stripDirectionalityCharacters(dtf_3.format(new Date(2017, 0, i + 1))); });
|
|
606
|
+
}
|
|
607
|
+
return DEFAULT_DAY_OF_WEEK_NAMES[style$$1];
|
|
608
|
+
};
|
|
609
|
+
/**
|
|
610
|
+
* @param {?} date
|
|
611
|
+
* @return {?}
|
|
612
|
+
*/
|
|
613
|
+
NativeDateAdapter.prototype.getYearName = function (date) {
|
|
614
|
+
if (SUPPORTS_INTL_API) {
|
|
615
|
+
var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric' });
|
|
616
|
+
return this._stripDirectionalityCharacters(dtf.format(date));
|
|
617
|
+
}
|
|
618
|
+
return String(this.getYear(date));
|
|
619
|
+
};
|
|
620
|
+
/**
|
|
621
|
+
* @return {?}
|
|
622
|
+
*/
|
|
623
|
+
NativeDateAdapter.prototype.getFirstDayOfWeek = function () {
|
|
624
|
+
// We can't tell using native JS Date what the first day of the week is, we default to Sunday.
|
|
625
|
+
return 0;
|
|
626
|
+
};
|
|
627
|
+
/**
|
|
628
|
+
* @param {?} date
|
|
629
|
+
* @return {?}
|
|
630
|
+
*/
|
|
631
|
+
NativeDateAdapter.prototype.getNumDaysInMonth = function (date) {
|
|
632
|
+
return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
|
|
633
|
+
};
|
|
634
|
+
/**
|
|
635
|
+
* @param {?} date
|
|
636
|
+
* @return {?}
|
|
637
|
+
*/
|
|
638
|
+
NativeDateAdapter.prototype.clone = function (date) {
|
|
639
|
+
return this.createDate(this.getYear(date), this.getMonth(date), this.getDate(date));
|
|
640
|
+
};
|
|
641
|
+
/**
|
|
642
|
+
* @param {?} year
|
|
643
|
+
* @param {?} month
|
|
644
|
+
* @param {?} date
|
|
645
|
+
* @return {?}
|
|
646
|
+
*/
|
|
647
|
+
NativeDateAdapter.prototype.createDate = function (year, month, date) {
|
|
648
|
+
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
649
|
+
// creating the Date).
|
|
650
|
+
if (month < 0 || month > 11) {
|
|
651
|
+
throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
|
|
652
|
+
}
|
|
653
|
+
if (date < 1) {
|
|
654
|
+
throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
|
|
655
|
+
}
|
|
656
|
+
var /** @type {?} */ result = this._createDateWithOverflow(year, month, date);
|
|
657
|
+
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
658
|
+
if (result.getMonth() != month) {
|
|
659
|
+
throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
|
|
660
|
+
}
|
|
661
|
+
return result;
|
|
662
|
+
};
|
|
663
|
+
/**
|
|
664
|
+
* @return {?}
|
|
665
|
+
*/
|
|
666
|
+
NativeDateAdapter.prototype.today = function () {
|
|
667
|
+
return new Date();
|
|
668
|
+
};
|
|
669
|
+
/**
|
|
670
|
+
* @param {?} value
|
|
671
|
+
* @return {?}
|
|
672
|
+
*/
|
|
673
|
+
NativeDateAdapter.prototype.parse = function (value) {
|
|
674
|
+
// We have no way using the native JS Date to set the parse format or locale, so we ignore these
|
|
675
|
+
// parameters.
|
|
676
|
+
if (typeof value == 'number') {
|
|
677
|
+
return new Date(value);
|
|
678
|
+
}
|
|
679
|
+
return value ? new Date(Date.parse(value)) : null;
|
|
680
|
+
};
|
|
681
|
+
/**
|
|
682
|
+
* @param {?} date
|
|
683
|
+
* @param {?} displayFormat
|
|
684
|
+
* @return {?}
|
|
685
|
+
*/
|
|
686
|
+
NativeDateAdapter.prototype.format = function (date, displayFormat) {
|
|
687
|
+
if (!this.isValid(date)) {
|
|
688
|
+
throw Error('NativeDateAdapter: Cannot format invalid date.');
|
|
689
|
+
}
|
|
690
|
+
if (SUPPORTS_INTL_API) {
|
|
691
|
+
if (this.useUtcForDisplay) {
|
|
692
|
+
date = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
|
|
693
|
+
displayFormat = extendObject({}, displayFormat, { timeZone: 'utc' });
|
|
694
|
+
}
|
|
695
|
+
var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
|
|
696
|
+
return this._stripDirectionalityCharacters(dtf.format(date));
|
|
697
|
+
}
|
|
698
|
+
return this._stripDirectionalityCharacters(date.toDateString());
|
|
699
|
+
};
|
|
700
|
+
/**
|
|
701
|
+
* @param {?} date
|
|
702
|
+
* @param {?} years
|
|
703
|
+
* @return {?}
|
|
704
|
+
*/
|
|
705
|
+
NativeDateAdapter.prototype.addCalendarYears = function (date, years) {
|
|
706
|
+
return this.addCalendarMonths(date, years * 12);
|
|
707
|
+
};
|
|
708
|
+
/**
|
|
709
|
+
* @param {?} date
|
|
710
|
+
* @param {?} months
|
|
711
|
+
* @return {?}
|
|
712
|
+
*/
|
|
713
|
+
NativeDateAdapter.prototype.addCalendarMonths = function (date, months) {
|
|
714
|
+
var /** @type {?} */ newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
|
|
715
|
+
// It's possible to wind up in the wrong month if the original month has more days than the new
|
|
716
|
+
// month. In this case we want to go to the last day of the desired month.
|
|
717
|
+
// Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
|
|
718
|
+
// guarantee this.
|
|
719
|
+
if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
|
|
720
|
+
newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
|
|
721
|
+
}
|
|
722
|
+
return newDate;
|
|
723
|
+
};
|
|
724
|
+
/**
|
|
725
|
+
* @param {?} date
|
|
726
|
+
* @param {?} days
|
|
727
|
+
* @return {?}
|
|
728
|
+
*/
|
|
729
|
+
NativeDateAdapter.prototype.addCalendarDays = function (date, days) {
|
|
730
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
|
|
731
|
+
};
|
|
732
|
+
/**
|
|
733
|
+
* @param {?} date
|
|
734
|
+
* @return {?}
|
|
735
|
+
*/
|
|
736
|
+
NativeDateAdapter.prototype.toIso8601 = function (date) {
|
|
737
|
+
return [
|
|
738
|
+
date.getUTCFullYear(),
|
|
739
|
+
this._2digit(date.getUTCMonth() + 1),
|
|
740
|
+
this._2digit(date.getUTCDate())
|
|
741
|
+
].join('-');
|
|
742
|
+
};
|
|
743
|
+
/**
|
|
744
|
+
* @param {?} iso8601String
|
|
745
|
+
* @return {?}
|
|
746
|
+
*/
|
|
747
|
+
NativeDateAdapter.prototype.fromIso8601 = function (iso8601String) {
|
|
748
|
+
// The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
|
|
749
|
+
// string is the right format first.
|
|
750
|
+
if (ISO_8601_REGEX.test(iso8601String)) {
|
|
751
|
+
var /** @type {?} */ d = new Date(iso8601String);
|
|
752
|
+
if (this.isValid(d)) {
|
|
753
|
+
return d;
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
return null;
|
|
757
|
+
};
|
|
758
|
+
/**
|
|
759
|
+
* @param {?} obj
|
|
760
|
+
* @return {?}
|
|
761
|
+
*/
|
|
762
|
+
NativeDateAdapter.prototype.isDateInstance = function (obj) {
|
|
763
|
+
return obj instanceof Date;
|
|
764
|
+
};
|
|
765
|
+
/**
|
|
766
|
+
* @param {?} date
|
|
767
|
+
* @return {?}
|
|
768
|
+
*/
|
|
769
|
+
NativeDateAdapter.prototype.isValid = function (date) {
|
|
770
|
+
return !isNaN(date.getTime());
|
|
771
|
+
};
|
|
772
|
+
/**
|
|
773
|
+
* Creates a date but allows the month and date to overflow.
|
|
774
|
+
* @param {?} year
|
|
775
|
+
* @param {?} month
|
|
776
|
+
* @param {?} date
|
|
777
|
+
* @return {?}
|
|
778
|
+
*/
|
|
779
|
+
NativeDateAdapter.prototype._createDateWithOverflow = function (year, month, date) {
|
|
780
|
+
var /** @type {?} */ result = new Date(year, month, date);
|
|
781
|
+
// We need to correct for the fact that JS native Date treats years in range [0, 99] as
|
|
782
|
+
// abbreviations for 19xx.
|
|
783
|
+
if (year >= 0 && year < 100) {
|
|
784
|
+
result.setFullYear(this.getYear(result) - 1900);
|
|
785
|
+
}
|
|
786
|
+
return result;
|
|
787
|
+
};
|
|
788
|
+
/**
|
|
789
|
+
* Pads a number to make it two digits.
|
|
790
|
+
* @param {?} n The number to pad.
|
|
791
|
+
* @return {?} The padded number.
|
|
792
|
+
*/
|
|
793
|
+
NativeDateAdapter.prototype._2digit = function (n) {
|
|
794
|
+
return ('00' + n).slice(-2);
|
|
795
|
+
};
|
|
796
|
+
/**
|
|
797
|
+
* Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
|
|
798
|
+
* other browsers do not. We remove them to make output consistent and because they interfere with
|
|
799
|
+
* date parsing.
|
|
800
|
+
* @param {?} str The string to strip direction characters from.
|
|
801
|
+
* @return {?} The stripped string.
|
|
802
|
+
*/
|
|
803
|
+
NativeDateAdapter.prototype._stripDirectionalityCharacters = function (str) {
|
|
804
|
+
return str.replace(/[\u200e\u200f]/g, '');
|
|
805
|
+
};
|
|
806
|
+
NativeDateAdapter.decorators = [
|
|
807
|
+
{ type: _angular_core.Injectable },
|
|
808
|
+
];
|
|
809
|
+
/**
|
|
810
|
+
* @nocollapse
|
|
811
|
+
*/
|
|
812
|
+
NativeDateAdapter.ctorParameters = function () { return [
|
|
813
|
+
{ type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_DATE_LOCALE,] },] },
|
|
814
|
+
]; };
|
|
815
|
+
return NativeDateAdapter;
|
|
816
|
+
}(DateAdapter));
|
|
817
|
+
|
|
818
|
+
var MAT_DATE_FORMATS = new _angular_core.InjectionToken('mat-date-formats');
|
|
819
|
+
|
|
820
|
+
var GestureConfig = (function (_super) {
|
|
821
|
+
__extends(GestureConfig, _super);
|
|
822
|
+
function GestureConfig() {
|
|
823
|
+
var _this = _super.call(this) || this;
|
|
824
|
+
_this._hammer = typeof window !== 'undefined' ? ((window)).Hammer : null;
|
|
825
|
+
/* List of new event names to add to the gesture support list */
|
|
826
|
+
_this.events = _this._hammer ? [
|
|
827
|
+
'longpress',
|
|
828
|
+
'slide',
|
|
829
|
+
'slidestart',
|
|
830
|
+
'slideend',
|
|
831
|
+
'slideright',
|
|
832
|
+
'slideleft'
|
|
833
|
+
] : [];
|
|
834
|
+
if (!_this._hammer && _angular_core.isDevMode()) {
|
|
835
|
+
console.warn('Could not find HammerJS. Certain Angular Material ' +
|
|
836
|
+
'components may not work correctly.');
|
|
837
|
+
}
|
|
838
|
+
return _this;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Builds Hammer instance manually to add custom recognizers that match the Material Design spec.
|
|
842
|
+
*
|
|
843
|
+
* Our gesture names come from the Material Design gestures spec:
|
|
844
|
+
* https://www.google.com/design/spec/patterns/gestures.html#gestures-touch-mechanics
|
|
845
|
+
*
|
|
846
|
+
* More information on default recognizers can be found in Hammer docs:
|
|
847
|
+
* http://hammerjs.github.io/recognizer-pan/
|
|
848
|
+
* http://hammerjs.github.io/recognizer-press/
|
|
849
|
+
*
|
|
850
|
+
* @param {?} element Element to which to assign the new HammerJS gestures.
|
|
851
|
+
* @return {?} Newly-created HammerJS instance.
|
|
852
|
+
*/
|
|
853
|
+
GestureConfig.prototype.buildHammer = function (element) {
|
|
854
|
+
var /** @type {?} */ mc = new this._hammer(element);
|
|
855
|
+
// Default Hammer Recognizers.
|
|
856
|
+
var /** @type {?} */ pan = new this._hammer.Pan();
|
|
857
|
+
var /** @type {?} */ swipe = new this._hammer.Swipe();
|
|
858
|
+
var /** @type {?} */ press = new this._hammer.Press();
|
|
859
|
+
// Notice that a HammerJS recognizer can only depend on one other recognizer once.
|
|
860
|
+
// Otherwise the previous `recognizeWith` will be dropped.
|
|
861
|
+
// TODO: Confirm threshold numbers with Material Design UX Team
|
|
862
|
+
var /** @type {?} */ slide = this._createRecognizer(pan, { event: 'slide', threshold: 0 }, swipe);
|
|
863
|
+
var /** @type {?} */ longpress = this._createRecognizer(press, { event: 'longpress', time: 500 });
|
|
864
|
+
// Overwrite the default `pan` event to use the swipe event.
|
|
865
|
+
pan.recognizeWith(swipe);
|
|
866
|
+
// Add customized gestures to Hammer manager
|
|
867
|
+
mc.add([swipe, press, pan, slide, longpress]);
|
|
868
|
+
return (mc);
|
|
869
|
+
};
|
|
870
|
+
/**
|
|
871
|
+
* Creates a new recognizer, without affecting the default recognizers of HammerJS
|
|
872
|
+
* @param {?} base
|
|
873
|
+
* @param {?} options
|
|
874
|
+
* @param {...?} inheritances
|
|
875
|
+
* @return {?}
|
|
876
|
+
*/
|
|
877
|
+
GestureConfig.prototype._createRecognizer = function (base, options) {
|
|
878
|
+
var inheritances = [];
|
|
879
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
880
|
+
inheritances[_i - 2] = arguments[_i];
|
|
881
|
+
}
|
|
882
|
+
var /** @type {?} */ recognizer = new ((base.constructor))(options);
|
|
883
|
+
inheritances.push(base);
|
|
884
|
+
inheritances.forEach(function (item) { return recognizer.recognizeWith(item); });
|
|
885
|
+
return recognizer;
|
|
886
|
+
};
|
|
887
|
+
GestureConfig.decorators = [
|
|
888
|
+
{ type: _angular_core.Injectable },
|
|
889
|
+
];
|
|
890
|
+
/**
|
|
891
|
+
* @nocollapse
|
|
892
|
+
*/
|
|
893
|
+
GestureConfig.ctorParameters = function () { return []; };
|
|
894
|
+
return GestureConfig;
|
|
895
|
+
}(_angular_platformBrowser.HammerGestureConfig));
|
|
896
|
+
|
|
897
|
+
var RippleState = {};
|
|
898
|
+
RippleState.FADING_IN = 0;
|
|
899
|
+
RippleState.VISIBLE = 1;
|
|
900
|
+
RippleState.FADING_OUT = 2;
|
|
901
|
+
RippleState.HIDDEN = 3;
|
|
902
|
+
RippleState[RippleState.FADING_IN] = "FADING_IN";
|
|
903
|
+
RippleState[RippleState.VISIBLE] = "VISIBLE";
|
|
904
|
+
RippleState[RippleState.FADING_OUT] = "FADING_OUT";
|
|
905
|
+
RippleState[RippleState.HIDDEN] = "HIDDEN";
|
|
906
|
+
/**
|
|
907
|
+
* Reference to a previously launched ripple element.
|
|
908
|
+
*/
|
|
909
|
+
var RippleRef = (function () {
|
|
910
|
+
/**
|
|
911
|
+
* @param {?} _renderer
|
|
912
|
+
* @param {?} element
|
|
913
|
+
* @param {?} config
|
|
914
|
+
*/
|
|
915
|
+
function RippleRef(_renderer, element, config) {
|
|
916
|
+
this._renderer = _renderer;
|
|
917
|
+
this.element = element;
|
|
918
|
+
this.config = config;
|
|
919
|
+
/**
|
|
920
|
+
* Current state of the ripple reference.
|
|
921
|
+
*/
|
|
922
|
+
this.state = RippleState.HIDDEN;
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Fades out the ripple element.
|
|
926
|
+
* @return {?}
|
|
927
|
+
*/
|
|
928
|
+
RippleRef.prototype.fadeOut = function () {
|
|
929
|
+
this._renderer.fadeOutRipple(this);
|
|
930
|
+
};
|
|
931
|
+
return RippleRef;
|
|
932
|
+
}());
|
|
933
|
+
|
|
934
|
+
/**
|
|
935
|
+
* Fade-in duration for the ripples. Can be modified with the speedFactor option.
|
|
936
|
+
*/
|
|
937
|
+
var RIPPLE_FADE_IN_DURATION = 450;
|
|
938
|
+
/**
|
|
939
|
+
* Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor.
|
|
940
|
+
*/
|
|
941
|
+
var RIPPLE_FADE_OUT_DURATION = 400;
|
|
942
|
+
/**
|
|
943
|
+
* Helper service that performs DOM manipulations. Not intended to be used outside this module.
|
|
944
|
+
* The constructor takes a reference to the ripple directive's host element and a map of DOM
|
|
945
|
+
* event handlers to be installed on the element that triggers ripple animations.
|
|
946
|
+
* This will eventually become a custom renderer once Angular support exists.
|
|
947
|
+
* \@docs-private
|
|
948
|
+
*/
|
|
949
|
+
var RippleRenderer = (function () {
|
|
950
|
+
/**
|
|
951
|
+
* @param {?} elementRef
|
|
952
|
+
* @param {?} _ngZone
|
|
953
|
+
* @param {?} platform
|
|
954
|
+
*/
|
|
955
|
+
function RippleRenderer(elementRef, _ngZone, platform) {
|
|
956
|
+
this._ngZone = _ngZone;
|
|
957
|
+
/**
|
|
958
|
+
* Whether the pointer is currently being held on the trigger or not.
|
|
959
|
+
*/
|
|
960
|
+
this._isPointerDown = false;
|
|
961
|
+
/**
|
|
962
|
+
* Events to be registered on the trigger element.
|
|
963
|
+
*/
|
|
964
|
+
this._triggerEvents = new Map();
|
|
965
|
+
/**
|
|
966
|
+
* Set of currently active ripple references.
|
|
967
|
+
*/
|
|
968
|
+
this._activeRipples = new Set();
|
|
969
|
+
/**
|
|
970
|
+
* Ripple config for all ripples created by events.
|
|
971
|
+
*/
|
|
972
|
+
this.rippleConfig = {};
|
|
973
|
+
/**
|
|
974
|
+
* Whether mouse ripples should be created or not.
|
|
975
|
+
*/
|
|
976
|
+
this.rippleDisabled = false;
|
|
977
|
+
// Only do anything if we're on the browser.
|
|
978
|
+
if (platform.isBrowser) {
|
|
979
|
+
this._containerElement = elementRef.nativeElement;
|
|
980
|
+
// Specify events which need to be registered on the trigger.
|
|
981
|
+
this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
|
|
982
|
+
this._triggerEvents.set('touchstart', this.onTouchstart.bind(this));
|
|
983
|
+
this._triggerEvents.set('mouseup', this.onPointerUp.bind(this));
|
|
984
|
+
this._triggerEvents.set('touchend', this.onPointerUp.bind(this));
|
|
985
|
+
this._triggerEvents.set('mouseleave', this.onPointerLeave.bind(this));
|
|
986
|
+
// By default use the host element as trigger element.
|
|
987
|
+
this.setTriggerElement(this._containerElement);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Fades in a ripple at the given coordinates.
|
|
992
|
+
* @param {?} x Coordinate within the element, along the X axis at which to start the ripple.
|
|
993
|
+
* @param {?} y
|
|
994
|
+
* @param {?=} config Extra ripple options.
|
|
995
|
+
* @return {?}
|
|
996
|
+
*/
|
|
997
|
+
RippleRenderer.prototype.fadeInRipple = function (x, y, config) {
|
|
998
|
+
var _this = this;
|
|
999
|
+
if (config === void 0) { config = {}; }
|
|
1000
|
+
var /** @type {?} */ containerRect = this._containerElement.getBoundingClientRect();
|
|
1001
|
+
if (config.centered) {
|
|
1002
|
+
x = containerRect.left + containerRect.width / 2;
|
|
1003
|
+
y = containerRect.top + containerRect.height / 2;
|
|
1004
|
+
}
|
|
1005
|
+
var /** @type {?} */ radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
|
|
1006
|
+
var /** @type {?} */ duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
|
|
1007
|
+
var /** @type {?} */ offsetX = x - containerRect.left;
|
|
1008
|
+
var /** @type {?} */ offsetY = y - containerRect.top;
|
|
1009
|
+
var /** @type {?} */ ripple = document.createElement('div');
|
|
1010
|
+
ripple.classList.add('mat-ripple-element');
|
|
1011
|
+
ripple.style.left = offsetX - radius + "px";
|
|
1012
|
+
ripple.style.top = offsetY - radius + "px";
|
|
1013
|
+
ripple.style.height = radius * 2 + "px";
|
|
1014
|
+
ripple.style.width = radius * 2 + "px";
|
|
1015
|
+
// If the color is not set, the default CSS color will be used.
|
|
1016
|
+
ripple.style.backgroundColor = config.color || null;
|
|
1017
|
+
ripple.style.transitionDuration = duration + "ms";
|
|
1018
|
+
this._containerElement.appendChild(ripple);
|
|
1019
|
+
// By default the browser does not recalculate the styles of dynamically created
|
|
1020
|
+
// ripple elements. This is critical because then the `scale` would not animate properly.
|
|
1021
|
+
enforceStyleRecalculation(ripple);
|
|
1022
|
+
ripple.style.transform = 'scale(1)';
|
|
1023
|
+
// Exposed reference to the ripple that will be returned.
|
|
1024
|
+
var /** @type {?} */ rippleRef = new RippleRef(this, ripple, config);
|
|
1025
|
+
rippleRef.state = RippleState.FADING_IN;
|
|
1026
|
+
// Add the ripple reference to the list of all active ripples.
|
|
1027
|
+
this._activeRipples.add(rippleRef);
|
|
1028
|
+
// Wait for the ripple element to be completely faded in.
|
|
1029
|
+
// Once it's faded in, the ripple can be hidden immediately if the mouse is released.
|
|
1030
|
+
this.runTimeoutOutsideZone(function () {
|
|
1031
|
+
rippleRef.state = RippleState.VISIBLE;
|
|
1032
|
+
if (!config.persistent && !_this._isPointerDown) {
|
|
1033
|
+
rippleRef.fadeOut();
|
|
1034
|
+
}
|
|
1035
|
+
}, duration);
|
|
1036
|
+
return rippleRef;
|
|
1037
|
+
};
|
|
1038
|
+
/**
|
|
1039
|
+
* Fades out a ripple reference.
|
|
1040
|
+
* @param {?} rippleRef
|
|
1041
|
+
* @return {?}
|
|
1042
|
+
*/
|
|
1043
|
+
RippleRenderer.prototype.fadeOutRipple = function (rippleRef) {
|
|
1044
|
+
// For ripples that are not active anymore, don't re-un the fade-out animation.
|
|
1045
|
+
if (!this._activeRipples.delete(rippleRef)) {
|
|
1046
|
+
return;
|
|
1047
|
+
}
|
|
1048
|
+
var /** @type {?} */ rippleEl = rippleRef.element;
|
|
1049
|
+
rippleEl.style.transitionDuration = RIPPLE_FADE_OUT_DURATION + "ms";
|
|
1050
|
+
rippleEl.style.opacity = '0';
|
|
1051
|
+
rippleRef.state = RippleState.FADING_OUT;
|
|
1052
|
+
// Once the ripple faded out, the ripple can be safely removed from the DOM.
|
|
1053
|
+
this.runTimeoutOutsideZone(function () {
|
|
1054
|
+
rippleRef.state = RippleState.HIDDEN; /** @type {?} */
|
|
1055
|
+
((rippleEl.parentNode)).removeChild(rippleEl);
|
|
1056
|
+
}, RIPPLE_FADE_OUT_DURATION);
|
|
1057
|
+
};
|
|
1058
|
+
/**
|
|
1059
|
+
* Fades out all currently active ripples.
|
|
1060
|
+
* @return {?}
|
|
1061
|
+
*/
|
|
1062
|
+
RippleRenderer.prototype.fadeOutAll = function () {
|
|
1063
|
+
this._activeRipples.forEach(function (ripple) { return ripple.fadeOut(); });
|
|
1064
|
+
};
|
|
1065
|
+
/**
|
|
1066
|
+
* Sets the trigger element and registers the mouse events.
|
|
1067
|
+
* @param {?} element
|
|
1068
|
+
* @return {?}
|
|
1069
|
+
*/
|
|
1070
|
+
RippleRenderer.prototype.setTriggerElement = function (element) {
|
|
1071
|
+
var _this = this;
|
|
1072
|
+
// Remove all previously register event listeners from the trigger element.
|
|
1073
|
+
if (this._triggerElement) {
|
|
1074
|
+
this._triggerEvents.forEach(function (fn, type) {
|
|
1075
|
+
((_this._triggerElement)).removeEventListener(type, fn);
|
|
1076
|
+
});
|
|
1077
|
+
}
|
|
1078
|
+
if (element) {
|
|
1079
|
+
// If the element is not null, register all event listeners on the trigger element.
|
|
1080
|
+
this._ngZone.runOutsideAngular(function () {
|
|
1081
|
+
_this._triggerEvents.forEach(function (fn, type) { return element.addEventListener(type, fn); });
|
|
1082
|
+
});
|
|
1083
|
+
}
|
|
1084
|
+
this._triggerElement = element;
|
|
1085
|
+
};
|
|
1086
|
+
/**
|
|
1087
|
+
* Function being called whenever the trigger is being pressed.
|
|
1088
|
+
* @param {?} event
|
|
1089
|
+
* @return {?}
|
|
1090
|
+
*/
|
|
1091
|
+
RippleRenderer.prototype.onMousedown = function (event) {
|
|
1092
|
+
if (!this.rippleDisabled) {
|
|
1093
|
+
this._isPointerDown = true;
|
|
1094
|
+
this.fadeInRipple(event.clientX, event.clientY, this.rippleConfig);
|
|
1095
|
+
}
|
|
1096
|
+
};
|
|
1097
|
+
/**
|
|
1098
|
+
* Function being called whenever the pointer is being released.
|
|
1099
|
+
* @return {?}
|
|
1100
|
+
*/
|
|
1101
|
+
RippleRenderer.prototype.onPointerUp = function () {
|
|
1102
|
+
this._isPointerDown = false;
|
|
1103
|
+
// Fade-out all ripples that are completely visible and not persistent.
|
|
1104
|
+
this._activeRipples.forEach(function (ripple) {
|
|
1105
|
+
if (!ripple.config.persistent && ripple.state === RippleState.VISIBLE) {
|
|
1106
|
+
ripple.fadeOut();
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
};
|
|
1110
|
+
/**
|
|
1111
|
+
* Function being called whenever the pointer leaves the trigger.
|
|
1112
|
+
* @return {?}
|
|
1113
|
+
*/
|
|
1114
|
+
RippleRenderer.prototype.onPointerLeave = function () {
|
|
1115
|
+
if (this._isPointerDown) {
|
|
1116
|
+
this.onPointerUp();
|
|
1117
|
+
}
|
|
1118
|
+
};
|
|
1119
|
+
/**
|
|
1120
|
+
* Function being called whenever the trigger is being touched.
|
|
1121
|
+
* @param {?} event
|
|
1122
|
+
* @return {?}
|
|
1123
|
+
*/
|
|
1124
|
+
RippleRenderer.prototype.onTouchstart = function (event) {
|
|
1125
|
+
if (!this.rippleDisabled) {
|
|
1126
|
+
var _a = event.touches[0], clientX = _a.clientX, clientY = _a.clientY;
|
|
1127
|
+
this._isPointerDown = true;
|
|
1128
|
+
this.fadeInRipple(clientX, clientY, this.rippleConfig);
|
|
1129
|
+
}
|
|
1130
|
+
};
|
|
1131
|
+
/**
|
|
1132
|
+
* Runs a timeout outside of the Angular zone to avoid triggering the change detection.
|
|
1133
|
+
* @param {?} fn
|
|
1134
|
+
* @param {?=} delay
|
|
1135
|
+
* @return {?}
|
|
1136
|
+
*/
|
|
1137
|
+
RippleRenderer.prototype.runTimeoutOutsideZone = function (fn, delay$$1) {
|
|
1138
|
+
if (delay$$1 === void 0) { delay$$1 = 0; }
|
|
1139
|
+
this._ngZone.runOutsideAngular(function () { return setTimeout(fn, delay$$1); });
|
|
1140
|
+
};
|
|
1141
|
+
return RippleRenderer;
|
|
1142
|
+
}());
|
|
1143
|
+
/**
|
|
1144
|
+
* @param {?} element
|
|
1145
|
+
* @return {?}
|
|
1146
|
+
*/
|
|
1147
|
+
function enforceStyleRecalculation(element) {
|
|
1148
|
+
// Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
|
|
1149
|
+
// Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
|
|
1150
|
+
// See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
|
|
1151
|
+
window.getComputedStyle(element).getPropertyValue('opacity');
|
|
1152
|
+
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Returns the distance from the point (x, y) to the furthest corner of a rectangle.
|
|
1155
|
+
* @param {?} x
|
|
1156
|
+
* @param {?} y
|
|
1157
|
+
* @param {?} rect
|
|
1158
|
+
* @return {?}
|
|
1159
|
+
*/
|
|
1160
|
+
function distanceToFurthestCorner(x, y, rect) {
|
|
1161
|
+
var /** @type {?} */ distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
|
|
1162
|
+
var /** @type {?} */ distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
|
|
1163
|
+
return Math.sqrt(distX * distX + distY * distY);
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
/**
|
|
1167
|
+
* Injection token that can be used to specify the global ripple options.
|
|
1168
|
+
*/
|
|
1169
|
+
var MAT_RIPPLE_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-ripple-global-options');
|
|
1170
|
+
var MatRipple = (function () {
|
|
1171
|
+
/**
|
|
1172
|
+
* @param {?} elementRef
|
|
1173
|
+
* @param {?} ngZone
|
|
1174
|
+
* @param {?} platform
|
|
1175
|
+
* @param {?} globalOptions
|
|
1176
|
+
*/
|
|
1177
|
+
function MatRipple(elementRef, ngZone, platform, globalOptions) {
|
|
1178
|
+
/**
|
|
1179
|
+
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1180
|
+
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1181
|
+
* bounding rectangle.
|
|
1182
|
+
*/
|
|
1183
|
+
this.radius = 0;
|
|
1184
|
+
/**
|
|
1185
|
+
* If set, the normal duration of ripple animations is divided by this value. For example,
|
|
1186
|
+
* setting it to 0.5 will cause the animations to take twice as long.
|
|
1187
|
+
* A changed speedFactor will not modify the fade-out duration of the ripples.
|
|
1188
|
+
*/
|
|
1189
|
+
this.speedFactor = 1;
|
|
1190
|
+
this._rippleRenderer = new RippleRenderer(elementRef, ngZone, platform);
|
|
1191
|
+
this._globalOptions = globalOptions ? globalOptions : {};
|
|
1192
|
+
this._updateRippleRenderer();
|
|
1193
|
+
}
|
|
1194
|
+
/**
|
|
1195
|
+
* @param {?} changes
|
|
1196
|
+
* @return {?}
|
|
1197
|
+
*/
|
|
1198
|
+
MatRipple.prototype.ngOnChanges = function (changes) {
|
|
1199
|
+
if ((changes['trigger'] || changes['_matRippleTrigger']) && this.trigger) {
|
|
1200
|
+
this._rippleRenderer.setTriggerElement(this.trigger);
|
|
1201
|
+
}
|
|
1202
|
+
this._updateRippleRenderer();
|
|
1203
|
+
};
|
|
1204
|
+
/**
|
|
1205
|
+
* @return {?}
|
|
1206
|
+
*/
|
|
1207
|
+
MatRipple.prototype.ngOnDestroy = function () {
|
|
1208
|
+
// Set the trigger element to null to cleanup all listeners.
|
|
1209
|
+
this._rippleRenderer.setTriggerElement(null);
|
|
1210
|
+
};
|
|
1211
|
+
/**
|
|
1212
|
+
* Launches a manual ripple at the specified position.
|
|
1213
|
+
* @param {?} x
|
|
1214
|
+
* @param {?} y
|
|
1215
|
+
* @param {?=} config
|
|
1216
|
+
* @return {?}
|
|
1217
|
+
*/
|
|
1218
|
+
MatRipple.prototype.launch = function (x, y, config) {
|
|
1219
|
+
if (config === void 0) { config = this.rippleConfig; }
|
|
1220
|
+
return this._rippleRenderer.fadeInRipple(x, y, config);
|
|
1221
|
+
};
|
|
1222
|
+
/**
|
|
1223
|
+
* Fades out all currently showing ripple elements.
|
|
1224
|
+
* @return {?}
|
|
1225
|
+
*/
|
|
1226
|
+
MatRipple.prototype.fadeOutAll = function () {
|
|
1227
|
+
this._rippleRenderer.fadeOutAll();
|
|
1228
|
+
};
|
|
1229
|
+
Object.defineProperty(MatRipple.prototype, "rippleConfig", {
|
|
1230
|
+
/**
|
|
1231
|
+
* Ripple configuration from the directive's input values.
|
|
1232
|
+
* @return {?}
|
|
1233
|
+
*/
|
|
1234
|
+
get: function () {
|
|
1235
|
+
return {
|
|
1236
|
+
centered: this.centered,
|
|
1237
|
+
speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
|
|
1238
|
+
radius: this.radius,
|
|
1239
|
+
color: this.color
|
|
1240
|
+
};
|
|
1241
|
+
},
|
|
1242
|
+
enumerable: true,
|
|
1243
|
+
configurable: true
|
|
1244
|
+
});
|
|
1245
|
+
/**
|
|
1246
|
+
* Updates the ripple renderer with the latest ripple configuration.
|
|
1247
|
+
* @return {?}
|
|
1248
|
+
*/
|
|
1249
|
+
MatRipple.prototype._updateRippleRenderer = function () {
|
|
1250
|
+
this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
|
|
1251
|
+
this._rippleRenderer.rippleConfig = this.rippleConfig;
|
|
1252
|
+
};
|
|
1253
|
+
MatRipple.decorators = [
|
|
1254
|
+
{ type: _angular_core.Directive, args: [{
|
|
1255
|
+
selector: '[mat-ripple], [matRipple]',
|
|
1256
|
+
exportAs: 'matRipple',
|
|
1257
|
+
host: {
|
|
1258
|
+
'class': 'mat-ripple',
|
|
1259
|
+
'[class.mat-ripple-unbounded]': 'unbounded'
|
|
1260
|
+
}
|
|
1261
|
+
},] },
|
|
1262
|
+
];
|
|
1263
|
+
/**
|
|
1264
|
+
* @nocollapse
|
|
1265
|
+
*/
|
|
1266
|
+
MatRipple.ctorParameters = function () { return [
|
|
1267
|
+
{ type: _angular_core.ElementRef, },
|
|
1268
|
+
{ type: _angular_core.NgZone, },
|
|
1269
|
+
{ type: _angular_cdk_platform.Platform, },
|
|
1270
|
+
{ type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] },] },
|
|
1271
|
+
]; };
|
|
1272
|
+
MatRipple.propDecorators = {
|
|
1273
|
+
'trigger': [{ type: _angular_core.Input, args: ['matRippleTrigger',] },],
|
|
1274
|
+
'centered': [{ type: _angular_core.Input, args: ['matRippleCentered',] },],
|
|
1275
|
+
'disabled': [{ type: _angular_core.Input, args: ['matRippleDisabled',] },],
|
|
1276
|
+
'radius': [{ type: _angular_core.Input, args: ['matRippleRadius',] },],
|
|
1277
|
+
'speedFactor': [{ type: _angular_core.Input, args: ['matRippleSpeedFactor',] },],
|
|
1278
|
+
'color': [{ type: _angular_core.Input, args: ['matRippleColor',] },],
|
|
1279
|
+
'unbounded': [{ type: _angular_core.Input, args: ['matRippleUnbounded',] },],
|
|
1280
|
+
};
|
|
1281
|
+
return MatRipple;
|
|
1282
|
+
}());
|
|
1283
|
+
|
|
1284
|
+
var MatRippleModule = (function () {
|
|
1285
|
+
function MatRippleModule() {
|
|
1286
|
+
}
|
|
1287
|
+
MatRippleModule.decorators = [
|
|
1288
|
+
{ type: _angular_core.NgModule, args: [{
|
|
1289
|
+
imports: [MatCommonModule, _angular_cdk_platform.PlatformModule],
|
|
1290
|
+
exports: [MatRipple, MatCommonModule],
|
|
1291
|
+
declarations: [MatRipple],
|
|
1292
|
+
},] },
|
|
1293
|
+
];
|
|
1294
|
+
/**
|
|
1295
|
+
* @nocollapse
|
|
1296
|
+
*/
|
|
1297
|
+
MatRippleModule.ctorParameters = function () { return []; };
|
|
1298
|
+
return MatRippleModule;
|
|
1299
|
+
}());
|
|
1300
|
+
|
|
1301
|
+
/**
|
|
1302
|
+
* Component that shows a simplified checkbox without including any kind of "real" checkbox.
|
|
1303
|
+
* Meant to be used when the checkbox is purely decorative and a large number of them will be
|
|
1304
|
+
* included, such as for the options in a multi-select. Uses no SVGs or complex animations.
|
|
1305
|
+
* Note that theming is meant to be handled by the parent element, e.g.
|
|
1306
|
+
* `mat-primary .mat-pseudo-checkbox`.
|
|
1307
|
+
*
|
|
1308
|
+
* Note that this component will be completely invisible to screen-reader users. This is *not*
|
|
1309
|
+
* interchangeable with <mat-checkbox> and should *not* be used if the user would directly interact
|
|
1310
|
+
* with the checkbox. The pseudo-checkbox should only be used as an implementation detail of
|
|
1311
|
+
* more complex components that appropriately handle selected / checked state.
|
|
1312
|
+
* \@docs-private
|
|
1313
|
+
*/
|
|
1314
|
+
var MatPseudoCheckbox = (function () {
|
|
1315
|
+
function MatPseudoCheckbox() {
|
|
1316
|
+
/**
|
|
1317
|
+
* Display state of the checkbox.
|
|
1318
|
+
*/
|
|
1319
|
+
this.state = 'unchecked';
|
|
1320
|
+
/**
|
|
1321
|
+
* Whether the checkbox is disabled.
|
|
1322
|
+
*/
|
|
1323
|
+
this.disabled = false;
|
|
1324
|
+
}
|
|
1325
|
+
MatPseudoCheckbox.decorators = [
|
|
1326
|
+
{ type: _angular_core.Component, args: [{encapsulation: _angular_core.ViewEncapsulation.None,
|
|
1327
|
+
preserveWhitespaces: false,
|
|
1328
|
+
changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
|
|
1329
|
+
selector: 'mat-pseudo-checkbox',
|
|
1330
|
+
styles: [".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:9px;left:2px;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:5px;left:3px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],
|
|
1331
|
+
template: '',
|
|
1332
|
+
host: {
|
|
1333
|
+
'class': 'mat-pseudo-checkbox',
|
|
1334
|
+
'[class.mat-pseudo-checkbox-indeterminate]': 'state === "indeterminate"',
|
|
1335
|
+
'[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
|
|
1336
|
+
'[class.mat-pseudo-checkbox-disabled]': 'disabled',
|
|
1337
|
+
},
|
|
1338
|
+
},] },
|
|
1339
|
+
];
|
|
1340
|
+
/**
|
|
1341
|
+
* @nocollapse
|
|
1342
|
+
*/
|
|
1343
|
+
MatPseudoCheckbox.ctorParameters = function () { return []; };
|
|
1344
|
+
MatPseudoCheckbox.propDecorators = {
|
|
1345
|
+
'state': [{ type: _angular_core.Input },],
|
|
1346
|
+
'disabled': [{ type: _angular_core.Input },],
|
|
1347
|
+
};
|
|
1348
|
+
return MatPseudoCheckbox;
|
|
1349
|
+
}());
|
|
1350
|
+
|
|
1351
|
+
var MatPseudoCheckboxModule = (function () {
|
|
1352
|
+
function MatPseudoCheckboxModule() {
|
|
1353
|
+
}
|
|
1354
|
+
MatPseudoCheckboxModule.decorators = [
|
|
1355
|
+
{ type: _angular_core.NgModule, args: [{
|
|
1356
|
+
exports: [MatPseudoCheckbox],
|
|
1357
|
+
declarations: [MatPseudoCheckbox]
|
|
1358
|
+
},] },
|
|
1359
|
+
];
|
|
1360
|
+
/**
|
|
1361
|
+
* @nocollapse
|
|
1362
|
+
*/
|
|
1363
|
+
MatPseudoCheckboxModule.ctorParameters = function () { return []; };
|
|
1364
|
+
return MatPseudoCheckboxModule;
|
|
1365
|
+
}());
|
|
1366
|
+
|
|
1367
|
+
/**
|
|
1368
|
+
* \@docs-private
|
|
1369
|
+
*/
|
|
1370
|
+
var MatOptgroupBase = (function () {
|
|
1371
|
+
function MatOptgroupBase() {
|
|
1372
|
+
}
|
|
1373
|
+
return MatOptgroupBase;
|
|
1374
|
+
}());
|
|
1375
|
+
var _MatOptgroupMixinBase = mixinDisabled(MatOptgroupBase);
|
|
1376
|
+
// Counter for unique group ids.
|
|
1377
|
+
var _uniqueOptgroupIdCounter = 0;
|
|
1378
|
+
/**
|
|
1379
|
+
* Component that is used to group instances of `mat-option`.
|
|
1380
|
+
*/
|
|
1381
|
+
var MatOptgroup = (function (_super) {
|
|
1382
|
+
__extends(MatOptgroup, _super);
|
|
1383
|
+
function MatOptgroup() {
|
|
1384
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
1385
|
+
/**
|
|
1386
|
+
* Unique id for the underlying label.
|
|
1387
|
+
*/
|
|
1388
|
+
_this._labelId = "mat-optgroup-label-" + _uniqueOptgroupIdCounter++;
|
|
1389
|
+
return _this;
|
|
1390
|
+
}
|
|
1391
|
+
MatOptgroup.decorators = [
|
|
1392
|
+
{ type: _angular_core.Component, args: [{selector: 'mat-optgroup',
|
|
1393
|
+
exportAs: 'matOptgroup',
|
|
1394
|
+
template: "<label class=\"mat-optgroup-label\" [id]=\"_labelId\">{{ label }}</label><ng-content select=\"mat-option\"></ng-content>",
|
|
1395
|
+
encapsulation: _angular_core.ViewEncapsulation.None,
|
|
1396
|
+
preserveWhitespaces: false,
|
|
1397
|
+
changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
|
|
1398
|
+
inputs: ['disabled'],
|
|
1399
|
+
host: {
|
|
1400
|
+
'class': 'mat-optgroup',
|
|
1401
|
+
'role': 'group',
|
|
1402
|
+
'[class.mat-optgroup-disabled]': 'disabled',
|
|
1403
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
1404
|
+
'[attr.aria-labelledby]': '_labelId',
|
|
1405
|
+
}
|
|
1406
|
+
},] },
|
|
1407
|
+
];
|
|
1408
|
+
/**
|
|
1409
|
+
* @nocollapse
|
|
1410
|
+
*/
|
|
1411
|
+
MatOptgroup.ctorParameters = function () { return []; };
|
|
1412
|
+
MatOptgroup.propDecorators = {
|
|
1413
|
+
'label': [{ type: _angular_core.Input },],
|
|
1414
|
+
};
|
|
1415
|
+
return MatOptgroup;
|
|
1416
|
+
}(_MatOptgroupMixinBase));
|
|
1417
|
+
|
|
1418
|
+
/**
|
|
1419
|
+
* Option IDs need to be unique across components, so this counter exists outside of
|
|
1420
|
+
* the component definition.
|
|
1421
|
+
*/
|
|
1422
|
+
var _uniqueIdCounter = 0;
|
|
1423
|
+
/**
|
|
1424
|
+
* Event object emitted by MatOption when selected or deselected.
|
|
1425
|
+
*/
|
|
1426
|
+
var MatOptionSelectionChange = (function () {
|
|
1427
|
+
/**
|
|
1428
|
+
* @param {?} source
|
|
1429
|
+
* @param {?=} isUserInput
|
|
1430
|
+
*/
|
|
1431
|
+
function MatOptionSelectionChange(source, isUserInput) {
|
|
1432
|
+
if (isUserInput === void 0) { isUserInput = false; }
|
|
1433
|
+
this.source = source;
|
|
1434
|
+
this.isUserInput = isUserInput;
|
|
1435
|
+
}
|
|
1436
|
+
return MatOptionSelectionChange;
|
|
1437
|
+
}());
|
|
1438
|
+
/**
|
|
1439
|
+
* Single option inside of a `<mat-select>` element.
|
|
1440
|
+
*/
|
|
1441
|
+
var MatOption = (function () {
|
|
1442
|
+
/**
|
|
1443
|
+
* @param {?} _element
|
|
1444
|
+
* @param {?} _changeDetectorRef
|
|
1445
|
+
* @param {?} group
|
|
1446
|
+
*/
|
|
1447
|
+
function MatOption(_element, _changeDetectorRef, group) {
|
|
1448
|
+
this._element = _element;
|
|
1449
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
1450
|
+
this.group = group;
|
|
1451
|
+
this._selected = false;
|
|
1452
|
+
this._active = false;
|
|
1453
|
+
this._multiple = false;
|
|
1454
|
+
this._disableRipple = false;
|
|
1455
|
+
/**
|
|
1456
|
+
* Whether the option is disabled.
|
|
1457
|
+
*/
|
|
1458
|
+
this._disabled = false;
|
|
1459
|
+
this._id = "mat-option-" + _uniqueIdCounter++;
|
|
1460
|
+
/**
|
|
1461
|
+
* Event emitted when the option is selected or deselected.
|
|
1462
|
+
*/
|
|
1463
|
+
this.onSelectionChange = new _angular_core.EventEmitter();
|
|
1464
|
+
}
|
|
1465
|
+
Object.defineProperty(MatOption.prototype, "multiple", {
|
|
1466
|
+
/**
|
|
1467
|
+
* Whether the wrapping component is in multiple selection mode.
|
|
1468
|
+
* @return {?}
|
|
1469
|
+
*/
|
|
1470
|
+
get: function () { return this._multiple; },
|
|
1471
|
+
/**
|
|
1472
|
+
* @param {?} value
|
|
1473
|
+
* @return {?}
|
|
1474
|
+
*/
|
|
1475
|
+
set: function (value) {
|
|
1476
|
+
if (value !== this._multiple) {
|
|
1477
|
+
this._multiple = value;
|
|
1478
|
+
this._changeDetectorRef.markForCheck();
|
|
1479
|
+
}
|
|
1480
|
+
},
|
|
1481
|
+
enumerable: true,
|
|
1482
|
+
configurable: true
|
|
1483
|
+
});
|
|
1484
|
+
Object.defineProperty(MatOption.prototype, "id", {
|
|
1485
|
+
/**
|
|
1486
|
+
* The unique ID of the option.
|
|
1487
|
+
* @return {?}
|
|
1488
|
+
*/
|
|
1489
|
+
get: function () { return this._id; },
|
|
1490
|
+
enumerable: true,
|
|
1491
|
+
configurable: true
|
|
1492
|
+
});
|
|
1493
|
+
Object.defineProperty(MatOption.prototype, "selected", {
|
|
1494
|
+
/**
|
|
1495
|
+
* Whether or not the option is currently selected.
|
|
1496
|
+
* @return {?}
|
|
1497
|
+
*/
|
|
1498
|
+
get: function () { return this._selected; },
|
|
1499
|
+
enumerable: true,
|
|
1500
|
+
configurable: true
|
|
1501
|
+
});
|
|
1502
|
+
Object.defineProperty(MatOption.prototype, "disabled", {
|
|
1503
|
+
/**
|
|
1504
|
+
* Whether the option is disabled.
|
|
1505
|
+
* @return {?}
|
|
1506
|
+
*/
|
|
1507
|
+
get: function () { return (this.group && this.group.disabled) || this._disabled; },
|
|
1508
|
+
/**
|
|
1509
|
+
* @param {?} value
|
|
1510
|
+
* @return {?}
|
|
1511
|
+
*/
|
|
1512
|
+
set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
|
|
1513
|
+
enumerable: true,
|
|
1514
|
+
configurable: true
|
|
1515
|
+
});
|
|
1516
|
+
Object.defineProperty(MatOption.prototype, "disableRipple", {
|
|
1517
|
+
/**
|
|
1518
|
+
* Whether ripples for the option are disabled.
|
|
1519
|
+
* @return {?}
|
|
1520
|
+
*/
|
|
1521
|
+
get: function () { return this._disableRipple; },
|
|
1522
|
+
/**
|
|
1523
|
+
* @param {?} value
|
|
1524
|
+
* @return {?}
|
|
1525
|
+
*/
|
|
1526
|
+
set: function (value) {
|
|
1527
|
+
this._disableRipple = value;
|
|
1528
|
+
this._changeDetectorRef.markForCheck();
|
|
1529
|
+
},
|
|
1530
|
+
enumerable: true,
|
|
1531
|
+
configurable: true
|
|
1532
|
+
});
|
|
1533
|
+
Object.defineProperty(MatOption.prototype, "active", {
|
|
1534
|
+
/**
|
|
1535
|
+
* Whether or not the option is currently active and ready to be selected.
|
|
1536
|
+
* An active option displays styles as if it is focused, but the
|
|
1537
|
+
* focus is actually retained somewhere else. This comes in handy
|
|
1538
|
+
* for components like autocomplete where focus must remain on the input.
|
|
1539
|
+
* @return {?}
|
|
1540
|
+
*/
|
|
1541
|
+
get: function () {
|
|
1542
|
+
return this._active;
|
|
1543
|
+
},
|
|
1544
|
+
enumerable: true,
|
|
1545
|
+
configurable: true
|
|
1546
|
+
});
|
|
1547
|
+
Object.defineProperty(MatOption.prototype, "viewValue", {
|
|
1548
|
+
/**
|
|
1549
|
+
* The displayed value of the option. It is necessary to show the selected option in the
|
|
1550
|
+
* select's trigger.
|
|
1551
|
+
* @return {?}
|
|
1552
|
+
*/
|
|
1553
|
+
get: function () {
|
|
1554
|
+
// TODO(kara): Add input property alternative for node envs.
|
|
1555
|
+
return (this._getHostElement().textContent || '').trim();
|
|
1556
|
+
},
|
|
1557
|
+
enumerable: true,
|
|
1558
|
+
configurable: true
|
|
1559
|
+
});
|
|
1560
|
+
/**
|
|
1561
|
+
* Selects the option.
|
|
1562
|
+
* @return {?}
|
|
1563
|
+
*/
|
|
1564
|
+
MatOption.prototype.select = function () {
|
|
1565
|
+
this._selected = true;
|
|
1566
|
+
this._changeDetectorRef.markForCheck();
|
|
1567
|
+
this._emitSelectionChangeEvent();
|
|
1568
|
+
};
|
|
1569
|
+
/**
|
|
1570
|
+
* Deselects the option.
|
|
1571
|
+
* @return {?}
|
|
1572
|
+
*/
|
|
1573
|
+
MatOption.prototype.deselect = function () {
|
|
1574
|
+
this._selected = false;
|
|
1575
|
+
this._changeDetectorRef.markForCheck();
|
|
1576
|
+
this._emitSelectionChangeEvent();
|
|
1577
|
+
};
|
|
1578
|
+
/**
|
|
1579
|
+
* Sets focus onto this option.
|
|
1580
|
+
* @return {?}
|
|
1581
|
+
*/
|
|
1582
|
+
MatOption.prototype.focus = function () {
|
|
1583
|
+
var /** @type {?} */ element = this._getHostElement();
|
|
1584
|
+
if (typeof element.focus === 'function') {
|
|
1585
|
+
element.focus();
|
|
1586
|
+
}
|
|
1587
|
+
};
|
|
1588
|
+
/**
|
|
1589
|
+
* This method sets display styles on the option to make it appear
|
|
1590
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1591
|
+
* events will display the proper options as active on arrow key events.
|
|
1592
|
+
* @return {?}
|
|
1593
|
+
*/
|
|
1594
|
+
MatOption.prototype.setActiveStyles = function () {
|
|
1595
|
+
if (!this._active) {
|
|
1596
|
+
this._active = true;
|
|
1597
|
+
this._changeDetectorRef.markForCheck();
|
|
1598
|
+
}
|
|
1599
|
+
};
|
|
1600
|
+
/**
|
|
1601
|
+
* This method removes display styles on the option that made it appear
|
|
1602
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1603
|
+
* events will display the proper options as active on arrow key events.
|
|
1604
|
+
* @return {?}
|
|
1605
|
+
*/
|
|
1606
|
+
MatOption.prototype.setInactiveStyles = function () {
|
|
1607
|
+
if (this._active) {
|
|
1608
|
+
this._active = false;
|
|
1609
|
+
this._changeDetectorRef.markForCheck();
|
|
1610
|
+
}
|
|
1611
|
+
};
|
|
1612
|
+
/**
|
|
1613
|
+
* Gets the label to be used when determining whether the option should be focused.
|
|
1614
|
+
* @return {?}
|
|
1615
|
+
*/
|
|
1616
|
+
MatOption.prototype.getLabel = function () {
|
|
1617
|
+
return this.viewValue;
|
|
1618
|
+
};
|
|
1619
|
+
/**
|
|
1620
|
+
* Ensures the option is selected when activated from the keyboard.
|
|
1621
|
+
* @param {?} event
|
|
1622
|
+
* @return {?}
|
|
1623
|
+
*/
|
|
1624
|
+
MatOption.prototype._handleKeydown = function (event) {
|
|
1625
|
+
if (event.keyCode === _angular_cdk_keycodes.ENTER || event.keyCode === _angular_cdk_keycodes.SPACE) {
|
|
1626
|
+
this._selectViaInteraction();
|
|
1627
|
+
// Prevent the page from scrolling down and form submits.
|
|
1628
|
+
event.preventDefault();
|
|
1629
|
+
}
|
|
1630
|
+
};
|
|
1631
|
+
/**
|
|
1632
|
+
* Selects the option while indicating the selection came from the user. Used to
|
|
1633
|
+
* determine if the select's view -> model callback should be invoked.
|
|
1634
|
+
* @return {?}
|
|
1635
|
+
*/
|
|
1636
|
+
MatOption.prototype._selectViaInteraction = function () {
|
|
1637
|
+
if (!this.disabled) {
|
|
1638
|
+
this._selected = this.multiple ? !this._selected : true;
|
|
1639
|
+
this._changeDetectorRef.markForCheck();
|
|
1640
|
+
this._emitSelectionChangeEvent(true);
|
|
1641
|
+
}
|
|
1642
|
+
};
|
|
1643
|
+
/**
|
|
1644
|
+
* Returns the correct tabindex for the option depending on disabled state.
|
|
1645
|
+
* @return {?}
|
|
1646
|
+
*/
|
|
1647
|
+
MatOption.prototype._getTabIndex = function () {
|
|
1648
|
+
return this.disabled ? '-1' : '0';
|
|
1649
|
+
};
|
|
1650
|
+
/**
|
|
1651
|
+
* Gets the host DOM element.
|
|
1652
|
+
* @return {?}
|
|
1653
|
+
*/
|
|
1654
|
+
MatOption.prototype._getHostElement = function () {
|
|
1655
|
+
return this._element.nativeElement;
|
|
1656
|
+
};
|
|
1657
|
+
/**
|
|
1658
|
+
* Emits the selection change event.
|
|
1659
|
+
* @param {?=} isUserInput
|
|
1660
|
+
* @return {?}
|
|
1661
|
+
*/
|
|
1662
|
+
MatOption.prototype._emitSelectionChangeEvent = function (isUserInput) {
|
|
1663
|
+
if (isUserInput === void 0) { isUserInput = false; }
|
|
1664
|
+
this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
|
|
1665
|
+
};
|
|
1666
|
+
/**
|
|
1667
|
+
* Counts the amount of option group labels that precede the specified option.
|
|
1668
|
+
* @param {?} optionIndex Index of the option at which to start counting.
|
|
1669
|
+
* @param {?} options Flat list of all of the options.
|
|
1670
|
+
* @param {?} optionGroups Flat list of all of the option groups.
|
|
1671
|
+
* @return {?}
|
|
1672
|
+
*/
|
|
1673
|
+
MatOption.countGroupLabelsBeforeOption = function (optionIndex, options, optionGroups) {
|
|
1674
|
+
if (optionGroups.length) {
|
|
1675
|
+
var /** @type {?} */ optionsArray = options.toArray();
|
|
1676
|
+
var /** @type {?} */ groups = optionGroups.toArray();
|
|
1677
|
+
var /** @type {?} */ groupCounter = 0;
|
|
1678
|
+
for (var /** @type {?} */ i = 0; i < optionIndex + 1; i++) {
|
|
1679
|
+
if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
|
|
1680
|
+
groupCounter++;
|
|
1681
|
+
}
|
|
1682
|
+
}
|
|
1683
|
+
return groupCounter;
|
|
1684
|
+
}
|
|
1685
|
+
return 0;
|
|
1686
|
+
};
|
|
1687
|
+
MatOption.decorators = [
|
|
1688
|
+
{ type: _angular_core.Component, args: [{selector: 'mat-option',
|
|
1689
|
+
exportAs: 'matOption',
|
|
1690
|
+
host: {
|
|
1691
|
+
'role': 'option',
|
|
1692
|
+
'[attr.tabindex]': '_getTabIndex()',
|
|
1693
|
+
'[class.mat-selected]': 'selected',
|
|
1694
|
+
'[class.mat-option-multiple]': 'multiple',
|
|
1695
|
+
'[class.mat-active]': 'active',
|
|
1696
|
+
'[id]': 'id',
|
|
1697
|
+
'[attr.aria-selected]': 'selected.toString()',
|
|
1698
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
1699
|
+
'[class.mat-option-disabled]': 'disabled',
|
|
1700
|
+
'(click)': '_selectViaInteraction()',
|
|
1701
|
+
'(keydown)': '_handleKeydown($event)',
|
|
1702
|
+
'class': 'mat-option',
|
|
1703
|
+
},
|
|
1704
|
+
template: "<span *ngIf=\"multiple\"><mat-pseudo-checkbox class=\"mat-option-pseudo-checkbox\" [state]=\"selected ? 'checked' : ''\" [disabled]=\"disabled\"></mat-pseudo-checkbox></span><span class=\"mat-option-text\"><ng-content></ng-content></span><div class=\"mat-option-ripple\" mat-ripple [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\"></div>",
|
|
1705
|
+
encapsulation: _angular_core.ViewEncapsulation.None,
|
|
1706
|
+
preserveWhitespaces: false,
|
|
1707
|
+
changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
|
|
1708
|
+
},] },
|
|
1709
|
+
];
|
|
1710
|
+
/**
|
|
1711
|
+
* @nocollapse
|
|
1712
|
+
*/
|
|
1713
|
+
MatOption.ctorParameters = function () { return [
|
|
1714
|
+
{ type: _angular_core.ElementRef, },
|
|
1715
|
+
{ type: _angular_core.ChangeDetectorRef, },
|
|
1716
|
+
{ type: MatOptgroup, decorators: [{ type: _angular_core.Optional },] },
|
|
1717
|
+
]; };
|
|
1718
|
+
MatOption.propDecorators = {
|
|
1719
|
+
'value': [{ type: _angular_core.Input },],
|
|
1720
|
+
'disabled': [{ type: _angular_core.Input },],
|
|
1721
|
+
'onSelectionChange': [{ type: _angular_core.Output },],
|
|
1722
|
+
};
|
|
1723
|
+
return MatOption;
|
|
1724
|
+
}());
|
|
1725
|
+
|
|
1726
|
+
var MatOptionModule = (function () {
|
|
1727
|
+
function MatOptionModule() {
|
|
1728
|
+
}
|
|
1729
|
+
MatOptionModule.decorators = [
|
|
1730
|
+
{ type: _angular_core.NgModule, args: [{
|
|
1731
|
+
imports: [MatRippleModule, _angular_common.CommonModule, MatPseudoCheckboxModule],
|
|
1732
|
+
exports: [MatOption, MatOptgroup],
|
|
1733
|
+
declarations: [MatOption, MatOptgroup]
|
|
1734
|
+
},] },
|
|
1735
|
+
];
|
|
1736
|
+
/**
|
|
1737
|
+
* @nocollapse
|
|
1738
|
+
*/
|
|
1739
|
+
MatOptionModule.ctorParameters = function () { return []; };
|
|
1740
|
+
return MatOptionModule;
|
|
1741
|
+
}());
|
|
1742
|
+
|
|
1743
|
+
/**
|
|
1744
|
+
* InjectionToken that can be used to specify the global placeholder options.
|
|
1745
|
+
*/
|
|
1746
|
+
var MAT_PLACEHOLDER_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-placeholder-global-options');
|
|
1747
|
+
|
|
1748
|
+
var nextUniqueId = 0;
|
|
1749
|
+
/**
|
|
1750
|
+
* Single error message to be shown underneath the form field.
|
|
1751
|
+
*/
|
|
1752
|
+
var MatError = (function () {
|
|
1753
|
+
function MatError() {
|
|
1754
|
+
this.id = "mat-error-" + nextUniqueId++;
|
|
1755
|
+
}
|
|
1756
|
+
MatError.decorators = [
|
|
1757
|
+
{ type: _angular_core.Directive, args: [{
|
|
1758
|
+
selector: 'mat-error',
|
|
1759
|
+
host: {
|
|
1760
|
+
'class': 'mat-error',
|
|
1761
|
+
'role': 'alert',
|
|
1762
|
+
'[attr.id]': 'id',
|
|
1763
|
+
}
|
|
1764
|
+
},] },
|
|
1765
|
+
];
|
|
1766
|
+
/**
|
|
1767
|
+
* @nocollapse
|
|
1768
|
+
*/
|
|
1769
|
+
MatError.ctorParameters = function () { return []; };
|
|
1770
|
+
MatError.propDecorators = {
|
|
1771
|
+
'id': [{ type: _angular_core.Input },],
|
|
1772
|
+
};
|
|
1773
|
+
return MatError;
|
|
1774
|
+
}());
|
|
1775
|
+
|
|
1776
|
+
/**
|
|
1777
|
+
* An interface which allows a control to work inside of a `MatFormField`.
|
|
1778
|
+
* @abstract
|
|
1779
|
+
*/
|
|
1780
|
+
var MatFormFieldControl = (function () {
|
|
1781
|
+
function MatFormFieldControl() {
|
|
1782
|
+
}
|
|
1783
|
+
/**
|
|
1784
|
+
* Sets the list of element IDs that currently describe this control.
|
|
1785
|
+
* @abstract
|
|
1786
|
+
* @param {?} ids
|
|
1787
|
+
* @return {?}
|
|
1788
|
+
*/
|
|
1789
|
+
MatFormFieldControl.prototype.setDescribedByIds = function (ids) { };
|
|
1790
|
+
/**
|
|
1791
|
+
* Handles a click on the control's container.
|
|
1792
|
+
* @abstract
|
|
1793
|
+
* @param {?} event
|
|
1794
|
+
* @return {?}
|
|
1795
|
+
*/
|
|
1796
|
+
MatFormFieldControl.prototype.onContainerClick = function (event) { };
|
|
1797
|
+
return MatFormFieldControl;
|
|
1798
|
+
}());
|
|
1799
|
+
|
|
1800
|
+
/**
|
|
1801
|
+
* \@docs-private
|
|
1802
|
+
* @return {?}
|
|
1803
|
+
*/
|
|
1804
|
+
function getMatFormFieldPlaceholderConflictError() {
|
|
1805
|
+
return Error('Placeholder attribute and child element were both specified.');
|
|
1806
|
+
}
|
|
1807
|
+
/**
|
|
1808
|
+
* \@docs-private
|
|
1809
|
+
* @param {?} align
|
|
1810
|
+
* @return {?}
|
|
1811
|
+
*/
|
|
1812
|
+
function getMatFormFieldDuplicatedHintError(align) {
|
|
1813
|
+
return Error("A hint was already declared for 'align=\"" + align + "\"'.");
|
|
1814
|
+
}
|
|
1815
|
+
/**
|
|
1816
|
+
* \@docs-private
|
|
1817
|
+
* @return {?}
|
|
1818
|
+
*/
|
|
1819
|
+
function getMatFormFieldMissingControlError() {
|
|
1820
|
+
return Error('mat-form-field must contain a MatFormFieldControl. ' +
|
|
1821
|
+
'Did you forget to add matInput to the native input or textarea element?');
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
var nextUniqueId$2 = 0;
|
|
1825
|
+
/**
|
|
1826
|
+
* Hint text to be shown underneath the form field control.
|
|
1827
|
+
*/
|
|
1828
|
+
var MatHint = (function () {
|
|
1829
|
+
function MatHint() {
|
|
1830
|
+
/**
|
|
1831
|
+
* Whether to align the hint label at the start or end of the line.
|
|
1832
|
+
*/
|
|
1833
|
+
this.align = 'start';
|
|
1834
|
+
/**
|
|
1835
|
+
* Unique ID for the hint. Used for the aria-describedby on the form field control.
|
|
1836
|
+
*/
|
|
1837
|
+
this.id = "mat-hint-" + nextUniqueId$2++;
|
|
1838
|
+
}
|
|
1839
|
+
MatHint.decorators = [
|
|
1840
|
+
{ type: _angular_core.Directive, args: [{
|
|
1841
|
+
selector: 'mat-hint',
|
|
1842
|
+
host: {
|
|
1843
|
+
'class': 'mat-hint',
|
|
1844
|
+
'[class.mat-right]': 'align == "end"',
|
|
1845
|
+
'[attr.id]': 'id',
|
|
1846
|
+
// Remove align attribute to prevent it from interfering with layout.
|
|
1847
|
+
'[attr.align]': 'null',
|
|
1848
|
+
}
|
|
1849
|
+
},] },
|
|
1850
|
+
];
|
|
1851
|
+
/**
|
|
1852
|
+
* @nocollapse
|
|
1853
|
+
*/
|
|
1854
|
+
MatHint.ctorParameters = function () { return []; };
|
|
1855
|
+
MatHint.propDecorators = {
|
|
1856
|
+
'align': [{ type: _angular_core.Input },],
|
|
1857
|
+
'id': [{ type: _angular_core.Input },],
|
|
1858
|
+
};
|
|
1859
|
+
return MatHint;
|
|
1860
|
+
}());
|
|
1861
|
+
|
|
1862
|
+
/**
|
|
1863
|
+
* The floating placeholder for an `MatFormField`.
|
|
1864
|
+
*/
|
|
1865
|
+
var MatPlaceholder = (function () {
|
|
1866
|
+
function MatPlaceholder() {
|
|
1867
|
+
}
|
|
1868
|
+
MatPlaceholder.decorators = [
|
|
1869
|
+
{ type: _angular_core.Directive, args: [{
|
|
1870
|
+
selector: 'mat-placeholder'
|
|
1871
|
+
},] },
|
|
1872
|
+
];
|
|
1873
|
+
/**
|
|
1874
|
+
* @nocollapse
|
|
1875
|
+
*/
|
|
1876
|
+
MatPlaceholder.ctorParameters = function () { return []; };
|
|
1877
|
+
return MatPlaceholder;
|
|
1878
|
+
}());
|
|
1879
|
+
|
|
1880
|
+
/**
|
|
1881
|
+
* Prefix to be placed the the front of the form field.
|
|
1882
|
+
*/
|
|
1883
|
+
var MatPrefix = (function () {
|
|
1884
|
+
function MatPrefix() {
|
|
1885
|
+
}
|
|
1886
|
+
MatPrefix.decorators = [
|
|
1887
|
+
{ type: _angular_core.Directive, args: [{
|
|
1888
|
+
selector: '[matPrefix]',
|
|
1889
|
+
},] },
|
|
1890
|
+
];
|
|
1891
|
+
/**
|
|
1892
|
+
* @nocollapse
|
|
1893
|
+
*/
|
|
1894
|
+
MatPrefix.ctorParameters = function () { return []; };
|
|
1895
|
+
return MatPrefix;
|
|
1896
|
+
}());
|
|
1897
|
+
|
|
1898
|
+
/**
|
|
1899
|
+
* Suffix to be placed at the end of the form field.
|
|
1900
|
+
*/
|
|
1901
|
+
var MatSuffix = (function () {
|
|
1902
|
+
function MatSuffix() {
|
|
1903
|
+
}
|
|
1904
|
+
MatSuffix.decorators = [
|
|
1905
|
+
{ type: _angular_core.Directive, args: [{
|
|
1906
|
+
selector: '[matSuffix]',
|
|
1907
|
+
},] },
|
|
1908
|
+
];
|
|
1909
|
+
/**
|
|
1910
|
+
* @nocollapse
|
|
1911
|
+
*/
|
|
1912
|
+
MatSuffix.ctorParameters = function () { return []; };
|
|
1913
|
+
return MatSuffix;
|
|
1914
|
+
}());
|
|
1915
|
+
|
|
1916
|
+
var nextUniqueId$1 = 0;
|
|
1917
|
+
/**
|
|
1918
|
+
* Container for form controls that applies Material Design styling and behavior.
|
|
1919
|
+
*/
|
|
1920
|
+
var MatFormField = (function () {
|
|
1921
|
+
/**
|
|
1922
|
+
* @param {?} _elementRef
|
|
1923
|
+
* @param {?} _renderer
|
|
1924
|
+
* @param {?} _changeDetectorRef
|
|
1925
|
+
* @param {?} placeholderOptions
|
|
1926
|
+
*/
|
|
1927
|
+
function MatFormField(_elementRef, _renderer, _changeDetectorRef, placeholderOptions) {
|
|
1928
|
+
this._elementRef = _elementRef;
|
|
1929
|
+
this._renderer = _renderer;
|
|
1930
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
1931
|
+
/**
|
|
1932
|
+
* Color of the form field underline, based on the theme.
|
|
1933
|
+
*/
|
|
1934
|
+
this.color = 'primary';
|
|
1935
|
+
/**
|
|
1936
|
+
* Override for the logic that disables the placeholder animation in certain cases.
|
|
1937
|
+
*/
|
|
1938
|
+
this._showAlwaysAnimate = false;
|
|
1939
|
+
/**
|
|
1940
|
+
* State of the mat-hint and mat-error animations.
|
|
1941
|
+
*/
|
|
1942
|
+
this._subscriptAnimationState = '';
|
|
1943
|
+
this._hintLabel = '';
|
|
1944
|
+
// Unique id for the hint label.
|
|
1945
|
+
this._hintLabelId = "mat-hint-" + nextUniqueId$1++;
|
|
1946
|
+
this._placeholderOptions = placeholderOptions ? placeholderOptions : {};
|
|
1947
|
+
this.floatPlaceholder = this._placeholderOptions.float || 'auto';
|
|
1948
|
+
}
|
|
1949
|
+
Object.defineProperty(MatFormField.prototype, "dividerColor", {
|
|
1950
|
+
/**
|
|
1951
|
+
* @deprecated Use `color` instead.
|
|
1952
|
+
* @return {?}
|
|
1953
|
+
*/
|
|
1954
|
+
get: function () { return this.color; },
|
|
1955
|
+
/**
|
|
1956
|
+
* @param {?} value
|
|
1957
|
+
* @return {?}
|
|
1958
|
+
*/
|
|
1959
|
+
set: function (value) { this.color = value; },
|
|
1960
|
+
enumerable: true,
|
|
1961
|
+
configurable: true
|
|
1962
|
+
});
|
|
1963
|
+
Object.defineProperty(MatFormField.prototype, "hideRequiredMarker", {
|
|
1964
|
+
/**
|
|
1965
|
+
* Whether the required marker should be hidden.
|
|
1966
|
+
* @return {?}
|
|
1967
|
+
*/
|
|
1968
|
+
get: function () { return this._hideRequiredMarker; },
|
|
1969
|
+
/**
|
|
1970
|
+
* @param {?} value
|
|
1971
|
+
* @return {?}
|
|
1972
|
+
*/
|
|
1973
|
+
set: function (value) {
|
|
1974
|
+
this._hideRequiredMarker = _angular_cdk_coercion.coerceBooleanProperty(value);
|
|
1975
|
+
},
|
|
1976
|
+
enumerable: true,
|
|
1977
|
+
configurable: true
|
|
1978
|
+
});
|
|
1979
|
+
Object.defineProperty(MatFormField.prototype, "_shouldAlwaysFloat", {
|
|
1980
|
+
/**
|
|
1981
|
+
* Whether the floating label should always float or not.
|
|
1982
|
+
* @return {?}
|
|
1983
|
+
*/
|
|
1984
|
+
get: function () {
|
|
1985
|
+
return this._floatPlaceholder === 'always' && !this._showAlwaysAnimate;
|
|
1986
|
+
},
|
|
1987
|
+
enumerable: true,
|
|
1988
|
+
configurable: true
|
|
1989
|
+
});
|
|
1990
|
+
Object.defineProperty(MatFormField.prototype, "_canPlaceholderFloat", {
|
|
1991
|
+
/**
|
|
1992
|
+
* Whether the placeholder can float or not.
|
|
1993
|
+
* @return {?}
|
|
1994
|
+
*/
|
|
1995
|
+
get: function () { return this._floatPlaceholder !== 'never'; },
|
|
1996
|
+
enumerable: true,
|
|
1997
|
+
configurable: true
|
|
1998
|
+
});
|
|
1999
|
+
Object.defineProperty(MatFormField.prototype, "hintLabel", {
|
|
2000
|
+
/**
|
|
2001
|
+
* Text for the form field hint.
|
|
2002
|
+
* @return {?}
|
|
2003
|
+
*/
|
|
2004
|
+
get: function () { return this._hintLabel; },
|
|
2005
|
+
/**
|
|
2006
|
+
* @param {?} value
|
|
2007
|
+
* @return {?}
|
|
2008
|
+
*/
|
|
2009
|
+
set: function (value) {
|
|
2010
|
+
this._hintLabel = value;
|
|
2011
|
+
this._processHints();
|
|
2012
|
+
},
|
|
2013
|
+
enumerable: true,
|
|
2014
|
+
configurable: true
|
|
2015
|
+
});
|
|
2016
|
+
Object.defineProperty(MatFormField.prototype, "floatPlaceholder", {
|
|
2017
|
+
/**
|
|
2018
|
+
* Whether the placeholder should always float, never float or float as the user types.
|
|
2019
|
+
* @return {?}
|
|
2020
|
+
*/
|
|
2021
|
+
get: function () { return this._floatPlaceholder; },
|
|
2022
|
+
/**
|
|
2023
|
+
* @param {?} value
|
|
2024
|
+
* @return {?}
|
|
2025
|
+
*/
|
|
2026
|
+
set: function (value) {
|
|
2027
|
+
if (value !== this._floatPlaceholder) {
|
|
2028
|
+
this._floatPlaceholder = value || this._placeholderOptions.float || 'auto';
|
|
2029
|
+
this._changeDetectorRef.markForCheck();
|
|
2030
|
+
}
|
|
2031
|
+
},
|
|
2032
|
+
enumerable: true,
|
|
2033
|
+
configurable: true
|
|
2034
|
+
});
|
|
2035
|
+
/**
|
|
2036
|
+
* @return {?}
|
|
2037
|
+
*/
|
|
2038
|
+
MatFormField.prototype.ngAfterContentInit = function () {
|
|
2039
|
+
var _this = this;
|
|
2040
|
+
this._validateControlChild();
|
|
2041
|
+
if (this._control.controlType) {
|
|
2042
|
+
this._renderer.addClass(this._elementRef.nativeElement, "mat-form-field-type-" + this._control.controlType);
|
|
2043
|
+
}
|
|
2044
|
+
// Subscribe to changes in the child control state in order to update the form field UI.
|
|
2045
|
+
_angular_cdk_rxjs.startWith.call(this._control.stateChanges, null).subscribe(function () {
|
|
2046
|
+
_this._validatePlaceholders();
|
|
2047
|
+
_this._syncDescribedByIds();
|
|
2048
|
+
_this._changeDetectorRef.markForCheck();
|
|
2049
|
+
});
|
|
2050
|
+
var /** @type {?} */ ngControl = this._control.ngControl;
|
|
2051
|
+
if (ngControl && ngControl.valueChanges) {
|
|
2052
|
+
ngControl.valueChanges.subscribe(function () {
|
|
2053
|
+
_this._changeDetectorRef.markForCheck();
|
|
2054
|
+
});
|
|
2055
|
+
}
|
|
2056
|
+
// Re-validate when the number of hints changes.
|
|
2057
|
+
_angular_cdk_rxjs.startWith.call(this._hintChildren.changes, null).subscribe(function () {
|
|
2058
|
+
_this._processHints();
|
|
2059
|
+
_this._changeDetectorRef.markForCheck();
|
|
2060
|
+
});
|
|
2061
|
+
// Update the aria-described by when the number of errors changes.
|
|
2062
|
+
_angular_cdk_rxjs.startWith.call(this._errorChildren.changes, null).subscribe(function () {
|
|
2063
|
+
_this._syncDescribedByIds();
|
|
2064
|
+
_this._changeDetectorRef.markForCheck();
|
|
2065
|
+
});
|
|
2066
|
+
};
|
|
2067
|
+
/**
|
|
2068
|
+
* @return {?}
|
|
2069
|
+
*/
|
|
2070
|
+
MatFormField.prototype.ngAfterContentChecked = function () {
|
|
2071
|
+
this._validateControlChild();
|
|
2072
|
+
};
|
|
2073
|
+
/**
|
|
2074
|
+
* @return {?}
|
|
2075
|
+
*/
|
|
2076
|
+
MatFormField.prototype.ngAfterViewInit = function () {
|
|
2077
|
+
// Avoid animations on load.
|
|
2078
|
+
this._subscriptAnimationState = 'enter';
|
|
2079
|
+
this._changeDetectorRef.detectChanges();
|
|
2080
|
+
};
|
|
2081
|
+
/**
|
|
2082
|
+
* Determines whether a class from the NgControl should be forwarded to the host element.
|
|
2083
|
+
* @param {?} prop
|
|
2084
|
+
* @return {?}
|
|
2085
|
+
*/
|
|
2086
|
+
MatFormField.prototype._shouldForward = function (prop) {
|
|
2087
|
+
var /** @type {?} */ ngControl = this._control ? this._control.ngControl : null;
|
|
2088
|
+
return ngControl && ((ngControl))[prop];
|
|
2089
|
+
};
|
|
2090
|
+
/**
|
|
2091
|
+
* Whether the form field has a placeholder.
|
|
2092
|
+
* @return {?}
|
|
2093
|
+
*/
|
|
2094
|
+
MatFormField.prototype._hasPlaceholder = function () {
|
|
2095
|
+
return !!(this._control.placeholder || this._placeholderChild);
|
|
2096
|
+
};
|
|
2097
|
+
/**
|
|
2098
|
+
* Determines whether to display hints or errors.
|
|
2099
|
+
* @return {?}
|
|
2100
|
+
*/
|
|
2101
|
+
MatFormField.prototype._getDisplayedMessages = function () {
|
|
2102
|
+
return (this._errorChildren && this._errorChildren.length > 0 &&
|
|
2103
|
+
this._control.errorState) ? 'error' : 'hint';
|
|
2104
|
+
};
|
|
2105
|
+
/**
|
|
2106
|
+
* Animates the placeholder up and locks it in position.
|
|
2107
|
+
* @return {?}
|
|
2108
|
+
*/
|
|
2109
|
+
MatFormField.prototype._animateAndLockPlaceholder = function () {
|
|
2110
|
+
var _this = this;
|
|
2111
|
+
if (this._placeholder && this._canPlaceholderFloat) {
|
|
2112
|
+
this._showAlwaysAnimate = true;
|
|
2113
|
+
this._floatPlaceholder = 'always';
|
|
2114
|
+
_angular_cdk_rxjs.first.call(rxjs_observable_fromEvent.fromEvent(this._placeholder.nativeElement, 'transitionend')).subscribe(function () {
|
|
2115
|
+
_this._showAlwaysAnimate = false;
|
|
2116
|
+
});
|
|
2117
|
+
this._changeDetectorRef.markForCheck();
|
|
2118
|
+
}
|
|
2119
|
+
};
|
|
2120
|
+
/**
|
|
2121
|
+
* Ensure that there is only one placeholder (either `placeholder` attribute on the child control
|
|
2122
|
+
* or child element with the `mat-placeholder` directive).
|
|
2123
|
+
* @return {?}
|
|
2124
|
+
*/
|
|
2125
|
+
MatFormField.prototype._validatePlaceholders = function () {
|
|
2126
|
+
if (this._control.placeholder && this._placeholderChild) {
|
|
2127
|
+
throw getMatFormFieldPlaceholderConflictError();
|
|
2128
|
+
}
|
|
2129
|
+
};
|
|
2130
|
+
/**
|
|
2131
|
+
* Does any extra processing that is required when handling the hints.
|
|
2132
|
+
* @return {?}
|
|
2133
|
+
*/
|
|
2134
|
+
MatFormField.prototype._processHints = function () {
|
|
2135
|
+
this._validateHints();
|
|
2136
|
+
this._syncDescribedByIds();
|
|
2137
|
+
};
|
|
2138
|
+
/**
|
|
2139
|
+
* Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the
|
|
2140
|
+
* attribute being considered as `align="start"`.
|
|
2141
|
+
* @return {?}
|
|
2142
|
+
*/
|
|
2143
|
+
MatFormField.prototype._validateHints = function () {
|
|
2144
|
+
var _this = this;
|
|
2145
|
+
if (this._hintChildren) {
|
|
2146
|
+
var /** @type {?} */ startHint_1;
|
|
2147
|
+
var /** @type {?} */ endHint_1;
|
|
2148
|
+
this._hintChildren.forEach(function (hint) {
|
|
2149
|
+
if (hint.align == 'start') {
|
|
2150
|
+
if (startHint_1 || _this.hintLabel) {
|
|
2151
|
+
throw getMatFormFieldDuplicatedHintError('start');
|
|
2152
|
+
}
|
|
2153
|
+
startHint_1 = hint;
|
|
2154
|
+
}
|
|
2155
|
+
else if (hint.align == 'end') {
|
|
2156
|
+
if (endHint_1) {
|
|
2157
|
+
throw getMatFormFieldDuplicatedHintError('end');
|
|
2158
|
+
}
|
|
2159
|
+
endHint_1 = hint;
|
|
2160
|
+
}
|
|
2161
|
+
});
|
|
2162
|
+
}
|
|
2163
|
+
};
|
|
2164
|
+
/**
|
|
2165
|
+
* Sets the list of element IDs that describe the child control. This allows the control to update
|
|
2166
|
+
* its `aria-describedby` attribute accordingly.
|
|
2167
|
+
* @return {?}
|
|
2168
|
+
*/
|
|
2169
|
+
MatFormField.prototype._syncDescribedByIds = function () {
|
|
2170
|
+
if (this._control) {
|
|
2171
|
+
var /** @type {?} */ ids = [];
|
|
2172
|
+
if (this._getDisplayedMessages() === 'hint') {
|
|
2173
|
+
var /** @type {?} */ startHint = this._hintChildren ?
|
|
2174
|
+
this._hintChildren.find(function (hint) { return hint.align === 'start'; }) : null;
|
|
2175
|
+
var /** @type {?} */ endHint = this._hintChildren ?
|
|
2176
|
+
this._hintChildren.find(function (hint) { return hint.align === 'end'; }) : null;
|
|
2177
|
+
if (startHint) {
|
|
2178
|
+
ids.push(startHint.id);
|
|
2179
|
+
}
|
|
2180
|
+
else if (this._hintLabel) {
|
|
2181
|
+
ids.push(this._hintLabelId);
|
|
2182
|
+
}
|
|
2183
|
+
if (endHint) {
|
|
2184
|
+
ids.push(endHint.id);
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
else if (this._errorChildren) {
|
|
2188
|
+
ids = this._errorChildren.map(function (error) { return error.id; });
|
|
2189
|
+
}
|
|
2190
|
+
this._control.setDescribedByIds(ids);
|
|
2191
|
+
}
|
|
2192
|
+
};
|
|
2193
|
+
/**
|
|
2194
|
+
* Throws an error if the form field's control is missing.
|
|
2195
|
+
* @return {?}
|
|
2196
|
+
*/
|
|
2197
|
+
MatFormField.prototype._validateControlChild = function () {
|
|
2198
|
+
if (!this._control) {
|
|
2199
|
+
throw getMatFormFieldMissingControlError();
|
|
2200
|
+
}
|
|
2201
|
+
};
|
|
2202
|
+
MatFormField.decorators = [
|
|
2203
|
+
{ type: _angular_core.Component, args: [{// TODO(mmalerba): the input-container selectors and classes are deprecated and will be removed.
|
|
2204
|
+
selector: 'mat-input-container, mat-form-field',
|
|
2205
|
+
exportAs: 'matFormField',
|
|
2206
|
+
template: "<div class=\"mat-input-wrapper mat-form-field-wrapper\"><div class=\"mat-input-flex mat-form-field-flex\" #connectionContainer (click)=\"_control.onContainerClick && _control.onContainerClick($event)\"><div class=\"mat-input-prefix mat-form-field-prefix\" *ngIf=\"_prefixChildren.length\"><ng-content select=\"[matPrefix]\"></ng-content></div><div class=\"mat-input-infix mat-form-field-infix\"><ng-content></ng-content><span class=\"mat-input-placeholder-wrapper mat-form-field-placeholder-wrapper\"><label class=\"mat-input-placeholder mat-form-field-placeholder\" [attr.for]=\"_control.id\" [attr.aria-owns]=\"_control.id\" [class.mat-empty]=\"_control.empty && !_shouldAlwaysFloat\" [class.mat-form-field-empty]=\"_control.empty && !_shouldAlwaysFloat\" [class.mat-accent]=\"color == 'accent'\" [class.mat-warn]=\"color == 'warn'\" #placeholder *ngIf=\"_hasPlaceholder()\"><ng-content select=\"mat-placeholder\"></ng-content>{{_control.placeholder}} <span class=\"mat-placeholder-required mat-form-field-required-marker\" aria-hidden=\"true\" *ngIf=\"!hideRequiredMarker && _control.required\">*</span></label></span></div><div class=\"mat-input-suffix mat-form-field-suffix\" *ngIf=\"_suffixChildren.length\"><ng-content select=\"[matSuffix]\"></ng-content></div></div><div class=\"mat-input-underline mat-form-field-underline\" #underline [class.mat-disabled]=\"_control.disabled\"><span class=\"mat-input-ripple mat-form-field-ripple\" [class.mat-accent]=\"color == 'accent'\" [class.mat-warn]=\"color == 'warn'\"></span></div><div class=\"mat-input-subscript-wrapper mat-form-field-subscript-wrapper\" [ngSwitch]=\"_getDisplayedMessages()\"><div *ngSwitchCase=\"'error'\" [@transitionMessages]=\"_subscriptAnimationState\"><ng-content select=\"mat-error\"></ng-content></div><div class=\"mat-input-hint-wrapper mat-form-field-hint-wrapper\" *ngSwitchCase=\"'hint'\" [@transitionMessages]=\"_subscriptAnimationState\"><div *ngIf=\"hintLabel\" [id]=\"_hintLabelId\" class=\"mat-hint\">{{hintLabel}}</div><ng-content select=\"mat-hint:not([align='end'])\"></ng-content><div class=\"mat-input-hint-spacer mat-form-field-hint-spacer\"></div><ng-content select=\"mat-hint[align='end']\"></ng-content></div></div></div>",
|
|
2207
|
+
// MatInput is a directive and can't have styles, so we need to include its styles here.
|
|
2208
|
+
// The MatInput styles are fairly minimal so it shouldn't be a big deal for people who
|
|
2209
|
+
// aren't using MatInput.
|
|
2210
|
+
styles: [".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0}.mat-form-field-placeholder-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-placeholder{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform:perspective(100px);-ms-transform:none;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-placeholder{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder,.mat-form-field-empty.mat-form-field-placeholder{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{display:block;transition:none}.mat-form-field-placeholder:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;height:1px;width:100%}.mat-form-field-underline.mat-disabled{background-position:0;background-color:transparent}.mat-form-field-underline .mat-form-field-ripple{position:absolute;height:1px;top:0;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);visibility:hidden;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-focused .mat-form-field-underline .mat-form-field-ripple{height:2px}.mat-focused .mat-form-field-underline .mat-form-field-ripple,.mat-form-field-invalid .mat-form-field-underline .mat-form-field-ripple{visibility:visible;transform:scaleX(1);transition:transform 150ms linear,background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field-subscript-wrapper{position:absolute;width:100%;overflow:hidden}.mat-form-field-placeholder-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::placeholder{color:transparent!important}.mat-input-element::-moz-placeholder{color:transparent!important}.mat-input-element::-webkit-input-placeholder{color:transparent!important}.mat-input-element:-ms-input-placeholder{color:transparent!important}textarea.mat-input-element{resize:vertical;overflow:auto}"],
|
|
2211
|
+
animations: [
|
|
2212
|
+
// TODO(mmalerba): Use angular animations for placeholder animation as well.
|
|
2213
|
+
_angular_animations.trigger('transitionMessages', [
|
|
2214
|
+
_angular_animations.state('enter', _angular_animations.style({ opacity: 1, transform: 'translateY(0%)' })),
|
|
2215
|
+
_angular_animations.transition('void => enter', [
|
|
2216
|
+
_angular_animations.style({ opacity: 0, transform: 'translateY(-100%)' }),
|
|
2217
|
+
_angular_animations.animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),
|
|
2218
|
+
]),
|
|
2219
|
+
]),
|
|
2220
|
+
],
|
|
2221
|
+
host: {
|
|
2222
|
+
'class': 'mat-input-container mat-form-field',
|
|
2223
|
+
'[class.mat-input-invalid]': '_control.errorState',
|
|
2224
|
+
'[class.mat-form-field-invalid]': '_control.errorState',
|
|
2225
|
+
'[class.mat-form-field-can-float]': '_canPlaceholderFloat',
|
|
2226
|
+
'[class.mat-form-field-should-float]': '_control.shouldPlaceholderFloat || _shouldAlwaysFloat',
|
|
2227
|
+
'[class.mat-focused]': '_control.focused',
|
|
2228
|
+
'[class.mat-primary]': 'color == "primary"',
|
|
2229
|
+
'[class.mat-accent]': 'color == "accent"',
|
|
2230
|
+
'[class.mat-warn]': 'color == "warn"',
|
|
2231
|
+
'[class.ng-untouched]': '_shouldForward("untouched")',
|
|
2232
|
+
'[class.ng-touched]': '_shouldForward("touched")',
|
|
2233
|
+
'[class.ng-pristine]': '_shouldForward("pristine")',
|
|
2234
|
+
'[class.ng-dirty]': '_shouldForward("dirty")',
|
|
2235
|
+
'[class.ng-valid]': '_shouldForward("valid")',
|
|
2236
|
+
'[class.ng-invalid]': '_shouldForward("invalid")',
|
|
2237
|
+
'[class.ng-pending]': '_shouldForward("pending")',
|
|
2238
|
+
},
|
|
2239
|
+
encapsulation: _angular_core.ViewEncapsulation.None,
|
|
2240
|
+
preserveWhitespaces: false,
|
|
2241
|
+
changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
|
|
2242
|
+
},] },
|
|
2243
|
+
];
|
|
2244
|
+
/**
|
|
2245
|
+
* @nocollapse
|
|
2246
|
+
*/
|
|
2247
|
+
MatFormField.ctorParameters = function () { return [
|
|
2248
|
+
{ type: _angular_core.ElementRef, },
|
|
2249
|
+
{ type: _angular_core.Renderer2, },
|
|
2250
|
+
{ type: _angular_core.ChangeDetectorRef, },
|
|
2251
|
+
{ type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_PLACEHOLDER_GLOBAL_OPTIONS,] },] },
|
|
2252
|
+
]; };
|
|
2253
|
+
MatFormField.propDecorators = {
|
|
2254
|
+
'color': [{ type: _angular_core.Input },],
|
|
2255
|
+
'dividerColor': [{ type: _angular_core.Input },],
|
|
2256
|
+
'hideRequiredMarker': [{ type: _angular_core.Input },],
|
|
2257
|
+
'hintLabel': [{ type: _angular_core.Input },],
|
|
2258
|
+
'floatPlaceholder': [{ type: _angular_core.Input },],
|
|
2259
|
+
'underlineRef': [{ type: _angular_core.ViewChild, args: ['underline',] },],
|
|
2260
|
+
'_connectionContainerRef': [{ type: _angular_core.ViewChild, args: ['connectionContainer',] },],
|
|
2261
|
+
'_placeholder': [{ type: _angular_core.ViewChild, args: ['placeholder',] },],
|
|
2262
|
+
'_control': [{ type: _angular_core.ContentChild, args: [MatFormFieldControl,] },],
|
|
2263
|
+
'_placeholderChild': [{ type: _angular_core.ContentChild, args: [MatPlaceholder,] },],
|
|
2264
|
+
'_errorChildren': [{ type: _angular_core.ContentChildren, args: [MatError,] },],
|
|
2265
|
+
'_hintChildren': [{ type: _angular_core.ContentChildren, args: [MatHint,] },],
|
|
2266
|
+
'_prefixChildren': [{ type: _angular_core.ContentChildren, args: [MatPrefix,] },],
|
|
2267
|
+
'_suffixChildren': [{ type: _angular_core.ContentChildren, args: [MatSuffix,] },],
|
|
2268
|
+
};
|
|
2269
|
+
return MatFormField;
|
|
2270
|
+
}());
|
|
2271
|
+
|
|
2272
|
+
/**
|
|
2273
|
+
* Autocomplete IDs need to be unique across components, so this counter exists outside of
|
|
2274
|
+
* the component definition.
|
|
2275
|
+
*/
|
|
2276
|
+
var _uniqueAutocompleteIdCounter = 0;
|
|
2277
|
+
/**
|
|
2278
|
+
* Event object that is emitted when an autocomplete option is selected
|
|
2279
|
+
*/
|
|
2280
|
+
var MatAutocompleteSelectedEvent = (function () {
|
|
2281
|
+
/**
|
|
2282
|
+
* @param {?} source
|
|
2283
|
+
* @param {?} option
|
|
2284
|
+
*/
|
|
2285
|
+
function MatAutocompleteSelectedEvent(source, option) {
|
|
2286
|
+
this.source = source;
|
|
2287
|
+
this.option = option;
|
|
2288
|
+
}
|
|
2289
|
+
return MatAutocompleteSelectedEvent;
|
|
2290
|
+
}());
|
|
2291
|
+
var MatAutocomplete = (function () {
|
|
2292
|
+
/**
|
|
2293
|
+
* @param {?} _changeDetectorRef
|
|
2294
|
+
* @param {?} _elementRef
|
|
2295
|
+
*/
|
|
2296
|
+
function MatAutocomplete(_changeDetectorRef, _elementRef) {
|
|
2297
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
2298
|
+
this._elementRef = _elementRef;
|
|
2299
|
+
/**
|
|
2300
|
+
* Whether the autocomplete panel should be visible, depending on option length.
|
|
2301
|
+
*/
|
|
2302
|
+
this.showPanel = false;
|
|
2303
|
+
this._isOpen = false;
|
|
2304
|
+
/**
|
|
2305
|
+
* Function that maps an option's control value to its display value in the trigger.
|
|
2306
|
+
*/
|
|
2307
|
+
this.displayWith = null;
|
|
2308
|
+
/**
|
|
2309
|
+
* Event that is emitted whenever an option from the list is selected.
|
|
2310
|
+
*/
|
|
2311
|
+
this.optionSelected = new _angular_core.EventEmitter();
|
|
2312
|
+
this._classList = {};
|
|
2313
|
+
/**
|
|
2314
|
+
* Unique ID to be used by autocomplete trigger's "aria-owns" property.
|
|
2315
|
+
*/
|
|
2316
|
+
this.id = "mat-autocomplete-" + _uniqueAutocompleteIdCounter++;
|
|
2317
|
+
}
|
|
2318
|
+
Object.defineProperty(MatAutocomplete.prototype, "isOpen", {
|
|
2319
|
+
/**
|
|
2320
|
+
* Whether the autocomplete panel is open.
|
|
2321
|
+
* @return {?}
|
|
2322
|
+
*/
|
|
2323
|
+
get: function () {
|
|
2324
|
+
return this._isOpen && this.showPanel;
|
|
2325
|
+
},
|
|
2326
|
+
enumerable: true,
|
|
2327
|
+
configurable: true
|
|
2328
|
+
});
|
|
2329
|
+
Object.defineProperty(MatAutocomplete.prototype, "classList", {
|
|
2330
|
+
/**
|
|
2331
|
+
* Takes classes set on the host md-autocomplete element and applies them to the panel
|
|
2332
|
+
* inside the overlay container to allow for easy styling.
|
|
2333
|
+
* @param {?} classList
|
|
2334
|
+
* @return {?}
|
|
2335
|
+
*/
|
|
2336
|
+
set: function (classList) {
|
|
2337
|
+
var _this = this;
|
|
2338
|
+
if (classList && classList.length) {
|
|
2339
|
+
classList.split(' ').forEach(function (className) { return _this._classList[className.trim()] = true; });
|
|
2340
|
+
this._elementRef.nativeElement.className = '';
|
|
2341
|
+
}
|
|
2342
|
+
},
|
|
2343
|
+
enumerable: true,
|
|
2344
|
+
configurable: true
|
|
2345
|
+
});
|
|
2346
|
+
/**
|
|
2347
|
+
* @return {?}
|
|
2348
|
+
*/
|
|
2349
|
+
MatAutocomplete.prototype.ngAfterContentInit = function () {
|
|
2350
|
+
this._keyManager = new _angular_cdk_a11y.ActiveDescendantKeyManager(this.options).withWrap();
|
|
2351
|
+
// Set the initial visibiity state.
|
|
2352
|
+
this._setVisibility();
|
|
2353
|
+
};
|
|
2354
|
+
/**
|
|
2355
|
+
* Sets the panel scrollTop. This allows us to manually scroll to display options
|
|
2356
|
+
* above or below the fold, as they are not actually being focused when active.
|
|
2357
|
+
* @param {?} scrollTop
|
|
2358
|
+
* @return {?}
|
|
2359
|
+
*/
|
|
2360
|
+
MatAutocomplete.prototype._setScrollTop = function (scrollTop) {
|
|
2361
|
+
if (this.panel) {
|
|
2362
|
+
this.panel.nativeElement.scrollTop = scrollTop;
|
|
2363
|
+
}
|
|
2364
|
+
};
|
|
2365
|
+
/**
|
|
2366
|
+
* Returns the panel's scrollTop.
|
|
2367
|
+
* @return {?}
|
|
2368
|
+
*/
|
|
2369
|
+
MatAutocomplete.prototype._getScrollTop = function () {
|
|
2370
|
+
return this.panel ? this.panel.nativeElement.scrollTop : 0;
|
|
2371
|
+
};
|
|
2372
|
+
/**
|
|
2373
|
+
* Panel should hide itself when the option list is empty.
|
|
2374
|
+
* @return {?}
|
|
2375
|
+
*/
|
|
2376
|
+
MatAutocomplete.prototype._setVisibility = function () {
|
|
2377
|
+
this.showPanel = !!this.options.length;
|
|
2378
|
+
this._classList['mat-autocomplete-visible'] = this.showPanel;
|
|
2379
|
+
this._classList['mat-autocomplete-hidden'] = !this.showPanel;
|
|
2380
|
+
this._changeDetectorRef.markForCheck();
|
|
2381
|
+
};
|
|
2382
|
+
/**
|
|
2383
|
+
* Emits the `select` event.
|
|
2384
|
+
* @param {?} option
|
|
2385
|
+
* @return {?}
|
|
2386
|
+
*/
|
|
2387
|
+
MatAutocomplete.prototype._emitSelectEvent = function (option) {
|
|
2388
|
+
var /** @type {?} */ event = new MatAutocompleteSelectedEvent(this, option);
|
|
2389
|
+
this.optionSelected.emit(event);
|
|
2390
|
+
};
|
|
2391
|
+
MatAutocomplete.decorators = [
|
|
2392
|
+
{ type: _angular_core.Component, args: [{selector: 'mat-autocomplete',
|
|
2393
|
+
template: "<ng-template><div class=\"mat-autocomplete-panel\" role=\"listbox\" [id]=\"id\" [ngClass]=\"_classList\" #panel><ng-content></ng-content></div></ng-template>",
|
|
2394
|
+
styles: [".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}"],
|
|
2395
|
+
encapsulation: _angular_core.ViewEncapsulation.None,
|
|
2396
|
+
preserveWhitespaces: false,
|
|
2397
|
+
changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
|
|
2398
|
+
exportAs: 'matAutocomplete',
|
|
2399
|
+
host: {
|
|
2400
|
+
'class': 'mat-autocomplete'
|
|
2401
|
+
}
|
|
2402
|
+
},] },
|
|
2403
|
+
];
|
|
2404
|
+
/**
|
|
2405
|
+
* @nocollapse
|
|
2406
|
+
*/
|
|
2407
|
+
MatAutocomplete.ctorParameters = function () { return [
|
|
2408
|
+
{ type: _angular_core.ChangeDetectorRef, },
|
|
2409
|
+
{ type: _angular_core.ElementRef, },
|
|
2410
|
+
]; };
|
|
2411
|
+
MatAutocomplete.propDecorators = {
|
|
2412
|
+
'template': [{ type: _angular_core.ViewChild, args: [_angular_core.TemplateRef,] },],
|
|
2413
|
+
'panel': [{ type: _angular_core.ViewChild, args: ['panel',] },],
|
|
2414
|
+
'options': [{ type: _angular_core.ContentChildren, args: [MatOption, { descendants: true },] },],
|
|
2415
|
+
'optionGroups': [{ type: _angular_core.ContentChildren, args: [MatOptgroup,] },],
|
|
2416
|
+
'displayWith': [{ type: _angular_core.Input },],
|
|
2417
|
+
'optionSelected': [{ type: _angular_core.Output },],
|
|
2418
|
+
'classList': [{ type: _angular_core.Input, args: ['class',] },],
|
|
2419
|
+
};
|
|
2420
|
+
return MatAutocomplete;
|
|
2421
|
+
}());
|
|
2422
|
+
|
|
2423
|
+
/**
|
|
2424
|
+
* The height of each autocomplete option.
|
|
2425
|
+
*/
|
|
2426
|
+
var AUTOCOMPLETE_OPTION_HEIGHT = 48;
|
|
2427
|
+
/**
|
|
2428
|
+
* The total height of the autocomplete panel.
|
|
2429
|
+
*/
|
|
2430
|
+
var AUTOCOMPLETE_PANEL_HEIGHT = 256;
|
|
2431
|
+
/**
|
|
2432
|
+
* Injection token that determines the scroll handling while the autocomplete panel is open.
|
|
2433
|
+
*/
|
|
2434
|
+
var MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new _angular_core.InjectionToken('mat-autocomplete-scroll-strategy');
|
|
2435
|
+
/**
|
|
2436
|
+
* \@docs-private
|
|
2437
|
+
* @param {?} overlay
|
|
2438
|
+
* @return {?}
|
|
2439
|
+
*/
|
|
2440
|
+
function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
|
|
2441
|
+
return function () { return overlay.scrollStrategies.reposition(); };
|
|
2442
|
+
}
|
|
2443
|
+
/**
|
|
2444
|
+
* \@docs-private
|
|
2445
|
+
*/
|
|
2446
|
+
var MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER = {
|
|
2447
|
+
provide: MAT_AUTOCOMPLETE_SCROLL_STRATEGY,
|
|
2448
|
+
deps: [_angular_cdk_overlay.Overlay],
|
|
2449
|
+
useFactory: MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER_FACTORY,
|
|
2450
|
+
};
|
|
2451
|
+
/**
|
|
2452
|
+
* Provider that allows the autocomplete to register as a ControlValueAccessor.
|
|
2453
|
+
* \@docs-private
|
|
2454
|
+
*/
|
|
2455
|
+
var MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
2456
|
+
provide: _angular_forms.NG_VALUE_ACCESSOR,
|
|
2457
|
+
useExisting: _angular_core.forwardRef(function () { return MatAutocompleteTrigger; }),
|
|
2458
|
+
multi: true
|
|
2459
|
+
};
|
|
2460
|
+
/**
|
|
2461
|
+
* Creates an error to be thrown when attempting to use an autocomplete trigger without a panel.
|
|
2462
|
+
* @return {?}
|
|
2463
|
+
*/
|
|
2464
|
+
function getMatAutocompleteMissingPanelError() {
|
|
2465
|
+
return Error('Attempting to open an undefined instance of `mat-autocomplete`. ' +
|
|
2466
|
+
'Make sure that the id passed to the `matAutocomplete` is correct and that ' +
|
|
2467
|
+
'you\'re attempting to open it after the ngAfterContentInit hook.');
|
|
2468
|
+
}
|
|
2469
|
+
var MatAutocompleteTrigger = (function () {
|
|
2470
|
+
/**
|
|
2471
|
+
* @param {?} _element
|
|
2472
|
+
* @param {?} _overlay
|
|
2473
|
+
* @param {?} _viewContainerRef
|
|
2474
|
+
* @param {?} _zone
|
|
2475
|
+
* @param {?} _changeDetectorRef
|
|
2476
|
+
* @param {?} _scrollStrategy
|
|
2477
|
+
* @param {?} _dir
|
|
2478
|
+
* @param {?} _formField
|
|
2479
|
+
* @param {?} _document
|
|
2480
|
+
*/
|
|
2481
|
+
function MatAutocompleteTrigger(_element, _overlay, _viewContainerRef, _zone, _changeDetectorRef, _scrollStrategy, _dir, _formField, _document) {
|
|
2482
|
+
this._element = _element;
|
|
2483
|
+
this._overlay = _overlay;
|
|
2484
|
+
this._viewContainerRef = _viewContainerRef;
|
|
2485
|
+
this._zone = _zone;
|
|
2486
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
2487
|
+
this._scrollStrategy = _scrollStrategy;
|
|
2488
|
+
this._dir = _dir;
|
|
2489
|
+
this._formField = _formField;
|
|
2490
|
+
this._document = _document;
|
|
2491
|
+
this._panelOpen = false;
|
|
2492
|
+
/**
|
|
2493
|
+
* Whether or not the placeholder state is being overridden.
|
|
2494
|
+
*/
|
|
2495
|
+
this._manuallyFloatingPlaceholder = false;
|
|
2496
|
+
/**
|
|
2497
|
+
* Stream of escape keyboard events.
|
|
2498
|
+
*/
|
|
2499
|
+
this._escapeEventStream = new rxjs_Subject.Subject();
|
|
2500
|
+
/**
|
|
2501
|
+
* View -> model callback called when value changes
|
|
2502
|
+
*/
|
|
2503
|
+
this._onChange = function () { };
|
|
2504
|
+
/**
|
|
2505
|
+
* View -> model callback called when autocomplete has been touched
|
|
2506
|
+
*/
|
|
2507
|
+
this._onTouched = function () { };
|
|
2508
|
+
}
|
|
2509
|
+
/**
|
|
2510
|
+
* @return {?}
|
|
2511
|
+
*/
|
|
2512
|
+
MatAutocompleteTrigger.prototype.ngOnDestroy = function () {
|
|
2513
|
+
this._destroyPanel();
|
|
2514
|
+
this._escapeEventStream.complete();
|
|
2515
|
+
};
|
|
2516
|
+
Object.defineProperty(MatAutocompleteTrigger.prototype, "panelOpen", {
|
|
2517
|
+
/**
|
|
2518
|
+
* @return {?}
|
|
2519
|
+
*/
|
|
2520
|
+
get: function () {
|
|
2521
|
+
return this._panelOpen && this.autocomplete.showPanel;
|
|
2522
|
+
},
|
|
2523
|
+
enumerable: true,
|
|
2524
|
+
configurable: true
|
|
2525
|
+
});
|
|
2526
|
+
/**
|
|
2527
|
+
* Opens the autocomplete suggestion panel.
|
|
2528
|
+
* @return {?}
|
|
2529
|
+
*/
|
|
2530
|
+
MatAutocompleteTrigger.prototype.openPanel = function () {
|
|
2531
|
+
this._attachOverlay();
|
|
2532
|
+
this._floatPlaceholder();
|
|
2533
|
+
};
|
|
2534
|
+
/**
|
|
2535
|
+
* Closes the autocomplete suggestion panel.
|
|
2536
|
+
* @return {?}
|
|
2537
|
+
*/
|
|
2538
|
+
MatAutocompleteTrigger.prototype.closePanel = function () {
|
|
2539
|
+
if (this._overlayRef && this._overlayRef.hasAttached()) {
|
|
2540
|
+
this._overlayRef.detach();
|
|
2541
|
+
this._closingActionsSubscription.unsubscribe();
|
|
2542
|
+
}
|
|
2543
|
+
this._resetPlaceholder();
|
|
2544
|
+
if (this._panelOpen) {
|
|
2545
|
+
this.autocomplete._isOpen = this._panelOpen = false;
|
|
2546
|
+
// We need to trigger change detection manually, because
|
|
2547
|
+
// `fromEvent` doesn't seem to do it at the proper time.
|
|
2548
|
+
// This ensures that the placeholder is reset when the
|
|
2549
|
+
// user clicks outside.
|
|
2550
|
+
this._changeDetectorRef.detectChanges();
|
|
2551
|
+
}
|
|
2552
|
+
};
|
|
2553
|
+
Object.defineProperty(MatAutocompleteTrigger.prototype, "panelClosingActions", {
|
|
2554
|
+
/**
|
|
2555
|
+
* A stream of actions that should close the autocomplete panel, including
|
|
2556
|
+
* when an option is selected, on blur, and when TAB is pressed.
|
|
2557
|
+
* @return {?}
|
|
2558
|
+
*/
|
|
2559
|
+
get: function () {
|
|
2560
|
+
return rxjs_observable_merge.merge(this.optionSelections, this.autocomplete._keyManager.tabOut, this._escapeEventStream, this._outsideClickStream);
|
|
2561
|
+
},
|
|
2562
|
+
enumerable: true,
|
|
2563
|
+
configurable: true
|
|
2564
|
+
});
|
|
2565
|
+
Object.defineProperty(MatAutocompleteTrigger.prototype, "optionSelections", {
|
|
2566
|
+
/**
|
|
2567
|
+
* Stream of autocomplete option selections.
|
|
2568
|
+
* @return {?}
|
|
2569
|
+
*/
|
|
2570
|
+
get: function () {
|
|
2571
|
+
return rxjs_observable_merge.merge.apply(void 0, this.autocomplete.options.map(function (option) { return option.onSelectionChange; }));
|
|
2572
|
+
},
|
|
2573
|
+
enumerable: true,
|
|
2574
|
+
configurable: true
|
|
2575
|
+
});
|
|
2576
|
+
Object.defineProperty(MatAutocompleteTrigger.prototype, "activeOption", {
|
|
2577
|
+
/**
|
|
2578
|
+
* The currently active option, coerced to MatOption type.
|
|
2579
|
+
* @return {?}
|
|
2580
|
+
*/
|
|
2581
|
+
get: function () {
|
|
2582
|
+
if (this.autocomplete && this.autocomplete._keyManager) {
|
|
2583
|
+
return this.autocomplete._keyManager.activeItem;
|
|
2584
|
+
}
|
|
2585
|
+
return null;
|
|
2586
|
+
},
|
|
2587
|
+
enumerable: true,
|
|
2588
|
+
configurable: true
|
|
2589
|
+
});
|
|
2590
|
+
Object.defineProperty(MatAutocompleteTrigger.prototype, "_outsideClickStream", {
|
|
2591
|
+
/**
|
|
2592
|
+
* Stream of clicks outside of the autocomplete panel.
|
|
2593
|
+
* @return {?}
|
|
2594
|
+
*/
|
|
2595
|
+
get: function () {
|
|
2596
|
+
var _this = this;
|
|
2597
|
+
if (!this._document) {
|
|
2598
|
+
return rxjs_observable_of.of(null);
|
|
2599
|
+
}
|
|
2600
|
+
return _angular_cdk_rxjs.RxChain.from(rxjs_observable_merge.merge(rxjs_observable_fromEvent.fromEvent(this._document, 'click'), rxjs_observable_fromEvent.fromEvent(this._document, 'touchend'))).call(_angular_cdk_rxjs.filter, function (event) {
|
|
2601
|
+
var /** @type {?} */ clickTarget = (event.target);
|
|
2602
|
+
var /** @type {?} */ formField = _this._formField ?
|
|
2603
|
+
_this._formField._elementRef.nativeElement : null;
|
|
2604
|
+
return _this._panelOpen &&
|
|
2605
|
+
clickTarget !== _this._element.nativeElement &&
|
|
2606
|
+
(!formField || !formField.contains(clickTarget)) &&
|
|
2607
|
+
(!!_this._overlayRef && !_this._overlayRef.overlayElement.contains(clickTarget));
|
|
2608
|
+
}).result();
|
|
2609
|
+
},
|
|
2610
|
+
enumerable: true,
|
|
2611
|
+
configurable: true
|
|
2612
|
+
});
|
|
2613
|
+
/**
|
|
2614
|
+
* Sets the autocomplete's value. Part of the ControlValueAccessor interface
|
|
2615
|
+
* required to integrate with Angular's core forms API.
|
|
2616
|
+
*
|
|
2617
|
+
* @param {?} value New value to be written to the model.
|
|
2618
|
+
* @return {?}
|
|
2619
|
+
*/
|
|
2620
|
+
MatAutocompleteTrigger.prototype.writeValue = function (value) {
|
|
2621
|
+
var _this = this;
|
|
2622
|
+
Promise.resolve(null).then(function () { return _this._setTriggerValue(value); });
|
|
2623
|
+
};
|
|
2624
|
+
/**
|
|
2625
|
+
* Saves a callback function to be invoked when the autocomplete's value
|
|
2626
|
+
* changes from user input. Part of the ControlValueAccessor interface
|
|
2627
|
+
* required to integrate with Angular's core forms API.
|
|
2628
|
+
*
|
|
2629
|
+
* @param {?} fn Callback to be triggered when the value changes.
|
|
2630
|
+
* @return {?}
|
|
2631
|
+
*/
|
|
2632
|
+
MatAutocompleteTrigger.prototype.registerOnChange = function (fn) {
|
|
2633
|
+
this._onChange = fn;
|
|
2634
|
+
};
|
|
2635
|
+
/**
|
|
2636
|
+
* Saves a callback function to be invoked when the autocomplete is blurred
|
|
2637
|
+
* by the user. Part of the ControlValueAccessor interface required
|
|
2638
|
+
* to integrate with Angular's core forms API.
|
|
2639
|
+
*
|
|
2640
|
+
* @param {?} fn Callback to be triggered when the component has been touched.
|
|
2641
|
+
* @return {?}
|
|
2642
|
+
*/
|
|
2643
|
+
MatAutocompleteTrigger.prototype.registerOnTouched = function (fn) {
|
|
2644
|
+
this._onTouched = fn;
|
|
2645
|
+
};
|
|
2646
|
+
/**
|
|
2647
|
+
* @param {?} event
|
|
2648
|
+
* @return {?}
|
|
2649
|
+
*/
|
|
2650
|
+
MatAutocompleteTrigger.prototype._handleKeydown = function (event) {
|
|
2651
|
+
var /** @type {?} */ keyCode = event.keyCode;
|
|
2652
|
+
if (keyCode === _angular_cdk_keycodes.ESCAPE && this.panelOpen) {
|
|
2653
|
+
this._resetActiveItem();
|
|
2654
|
+
this._escapeEventStream.next();
|
|
2655
|
+
event.stopPropagation();
|
|
2656
|
+
}
|
|
2657
|
+
else if (this.activeOption && keyCode === _angular_cdk_keycodes.ENTER && this.panelOpen) {
|
|
2658
|
+
this.activeOption._selectViaInteraction();
|
|
2659
|
+
this._resetActiveItem();
|
|
2660
|
+
event.preventDefault();
|
|
2661
|
+
}
|
|
2662
|
+
else {
|
|
2663
|
+
var /** @type {?} */ prevActiveItem = this.autocomplete._keyManager.activeItem;
|
|
2664
|
+
var /** @type {?} */ isArrowKey = keyCode === _angular_cdk_keycodes.UP_ARROW || keyCode === _angular_cdk_keycodes.DOWN_ARROW;
|
|
2665
|
+
if (this.panelOpen || keyCode === _angular_cdk_keycodes.TAB) {
|
|
2666
|
+
this.autocomplete._keyManager.onKeydown(event);
|
|
2667
|
+
}
|
|
2668
|
+
else if (isArrowKey) {
|
|
2669
|
+
this.openPanel();
|
|
2670
|
+
}
|
|
2671
|
+
if (isArrowKey || this.autocomplete._keyManager.activeItem !== prevActiveItem) {
|
|
2672
|
+
this._scrollToOption();
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
};
|
|
2676
|
+
/**
|
|
2677
|
+
* @param {?} event
|
|
2678
|
+
* @return {?}
|
|
2679
|
+
*/
|
|
2680
|
+
MatAutocompleteTrigger.prototype._handleInput = function (event) {
|
|
2681
|
+
// We need to ensure that the input is focused, because IE will fire the `input`
|
|
2682
|
+
// event on focus/blur/load if the input has a placeholder. See:
|
|
2683
|
+
// https://connect.microsoft.com/IE/feedback/details/885747/
|
|
2684
|
+
if (document.activeElement === event.target) {
|
|
2685
|
+
this._onChange(((event.target)).value);
|
|
2686
|
+
this.openPanel();
|
|
2687
|
+
}
|
|
2688
|
+
};
|
|
2689
|
+
/**
|
|
2690
|
+
* @return {?}
|
|
2691
|
+
*/
|
|
2692
|
+
MatAutocompleteTrigger.prototype._handleFocus = function () {
|
|
2693
|
+
if (!this._element.nativeElement.readOnly) {
|
|
2694
|
+
this._attachOverlay();
|
|
2695
|
+
this._floatPlaceholder(true);
|
|
2696
|
+
}
|
|
2697
|
+
};
|
|
2698
|
+
/**
|
|
2699
|
+
* In "auto" mode, the placeholder will animate down as soon as focus is lost.
|
|
2700
|
+
* This causes the value to jump when selecting an option with the mouse.
|
|
2701
|
+
* This method manually floats the placeholder until the panel can be closed.
|
|
2702
|
+
* @param {?=} shouldAnimate Whether the placeholder should be animated when it is floated.
|
|
2703
|
+
* @return {?}
|
|
2704
|
+
*/
|
|
2705
|
+
MatAutocompleteTrigger.prototype._floatPlaceholder = function (shouldAnimate) {
|
|
2706
|
+
if (shouldAnimate === void 0) { shouldAnimate = false; }
|
|
2707
|
+
if (this._formField && this._formField.floatPlaceholder === 'auto') {
|
|
2708
|
+
if (shouldAnimate) {
|
|
2709
|
+
this._formField._animateAndLockPlaceholder();
|
|
2710
|
+
}
|
|
2711
|
+
else {
|
|
2712
|
+
this._formField.floatPlaceholder = 'always';
|
|
2713
|
+
}
|
|
2714
|
+
this._manuallyFloatingPlaceholder = true;
|
|
2715
|
+
}
|
|
2716
|
+
};
|
|
2717
|
+
/**
|
|
2718
|
+
* If the placeholder has been manually elevated, return it to its normal state.
|
|
2719
|
+
* @return {?}
|
|
2720
|
+
*/
|
|
2721
|
+
MatAutocompleteTrigger.prototype._resetPlaceholder = function () {
|
|
2722
|
+
if (this._manuallyFloatingPlaceholder) {
|
|
2723
|
+
this._formField.floatPlaceholder = 'auto';
|
|
2724
|
+
this._manuallyFloatingPlaceholder = false;
|
|
2725
|
+
}
|
|
2726
|
+
};
|
|
2727
|
+
/**
|
|
2728
|
+
* Given that we are not actually focusing active options, we must manually adjust scroll
|
|
2729
|
+
* to reveal options below the fold. First, we find the offset of the option from the top
|
|
2730
|
+
* of the panel. If that offset is below the fold, the new scrollTop will be the offset -
|
|
2731
|
+
* the panel height + the option height, so the active option will be just visible at the
|
|
2732
|
+
* bottom of the panel. If that offset is above the top of the visible panel, the new scrollTop
|
|
2733
|
+
* will become the offset. If that offset is visible within the panel already, the scrollTop is
|
|
2734
|
+
* not adjusted.
|
|
2735
|
+
* @return {?}
|
|
2736
|
+
*/
|
|
2737
|
+
MatAutocompleteTrigger.prototype._scrollToOption = function () {
|
|
2738
|
+
var /** @type {?} */ activeOptionIndex = this.autocomplete._keyManager.activeItemIndex || 0;
|
|
2739
|
+
var /** @type {?} */ labelCount = MatOption.countGroupLabelsBeforeOption(activeOptionIndex, this.autocomplete.options, this.autocomplete.optionGroups);
|
|
2740
|
+
var /** @type {?} */ optionOffset = (activeOptionIndex + labelCount) * AUTOCOMPLETE_OPTION_HEIGHT;
|
|
2741
|
+
var /** @type {?} */ panelTop = this.autocomplete._getScrollTop();
|
|
2742
|
+
if (optionOffset < panelTop) {
|
|
2743
|
+
// Scroll up to reveal selected option scrolled above the panel top
|
|
2744
|
+
this.autocomplete._setScrollTop(optionOffset);
|
|
2745
|
+
}
|
|
2746
|
+
else if (optionOffset + AUTOCOMPLETE_OPTION_HEIGHT > panelTop + AUTOCOMPLETE_PANEL_HEIGHT) {
|
|
2747
|
+
// Scroll down to reveal selected option scrolled below the panel bottom
|
|
2748
|
+
var /** @type {?} */ newScrollTop = optionOffset - AUTOCOMPLETE_PANEL_HEIGHT + AUTOCOMPLETE_OPTION_HEIGHT;
|
|
2749
|
+
this.autocomplete._setScrollTop(Math.max(0, newScrollTop));
|
|
2750
|
+
}
|
|
2751
|
+
};
|
|
2752
|
+
/**
|
|
2753
|
+
* This method listens to a stream of panel closing actions and resets the
|
|
2754
|
+
* stream every time the option list changes.
|
|
2755
|
+
* @return {?}
|
|
2756
|
+
*/
|
|
2757
|
+
MatAutocompleteTrigger.prototype._subscribeToClosingActions = function () {
|
|
2758
|
+
var _this = this;
|
|
2759
|
+
var /** @type {?} */ firstStable = _angular_cdk_rxjs.first.call(this._zone.onStable.asObservable());
|
|
2760
|
+
var /** @type {?} */ optionChanges = _angular_cdk_rxjs.RxChain.from(this.autocomplete.options.changes)
|
|
2761
|
+
.call(_angular_cdk_rxjs.doOperator, function () { return _this._positionStrategy.recalculateLastPosition(); })
|
|
2762
|
+
.call(_angular_cdk_rxjs.delay, 0)
|
|
2763
|
+
.result();
|
|
2764
|
+
// When the zone is stable initially, and when the option list changes...
|
|
2765
|
+
return _angular_cdk_rxjs.RxChain.from(rxjs_observable_merge.merge(firstStable, optionChanges))
|
|
2766
|
+
.call(_angular_cdk_rxjs.switchMap, function () {
|
|
2767
|
+
_this._resetActiveItem();
|
|
2768
|
+
_this.autocomplete._setVisibility();
|
|
2769
|
+
return _this.panelClosingActions;
|
|
2770
|
+
})
|
|
2771
|
+
.call(_angular_cdk_rxjs.first)
|
|
2772
|
+
.subscribe(function (event) { return _this._setValueAndClose(event); });
|
|
2773
|
+
};
|
|
2774
|
+
/**
|
|
2775
|
+
* Destroys the autocomplete suggestion panel.
|
|
2776
|
+
* @return {?}
|
|
2777
|
+
*/
|
|
2778
|
+
MatAutocompleteTrigger.prototype._destroyPanel = function () {
|
|
2779
|
+
if (this._overlayRef) {
|
|
2780
|
+
this.closePanel();
|
|
2781
|
+
this._overlayRef.dispose();
|
|
2782
|
+
this._overlayRef = null;
|
|
2783
|
+
}
|
|
2784
|
+
};
|
|
2785
|
+
/**
|
|
2786
|
+
* @param {?} value
|
|
2787
|
+
* @return {?}
|
|
2788
|
+
*/
|
|
2789
|
+
MatAutocompleteTrigger.prototype._setTriggerValue = function (value) {
|
|
2790
|
+
var /** @type {?} */ toDisplay = this.autocomplete && this.autocomplete.displayWith ?
|
|
2791
|
+
this.autocomplete.displayWith(value) :
|
|
2792
|
+
value;
|
|
2793
|
+
// Simply falling back to an empty string if the display value is falsy does not work properly.
|
|
2794
|
+
// The display value can also be the number zero and shouldn't fall back to an empty string.
|
|
2795
|
+
var /** @type {?} */ inputValue = toDisplay != null ? toDisplay : '';
|
|
2796
|
+
// If it's used within a `MatFormField`, we should set it through the property so it can go
|
|
2797
|
+
// through change detection.
|
|
2798
|
+
if (this._formField) {
|
|
2799
|
+
this._formField._control.value = inputValue;
|
|
2800
|
+
}
|
|
2801
|
+
else {
|
|
2802
|
+
this._element.nativeElement.value = inputValue;
|
|
2803
|
+
}
|
|
2804
|
+
};
|
|
2805
|
+
/**
|
|
2806
|
+
* This method closes the panel, and if a value is specified, also sets the associated
|
|
2807
|
+
* control to that value. It will also mark the control as dirty if this interaction
|
|
2808
|
+
* stemmed from the user.
|
|
2809
|
+
* @param {?} event
|
|
2810
|
+
* @return {?}
|
|
2811
|
+
*/
|
|
2812
|
+
MatAutocompleteTrigger.prototype._setValueAndClose = function (event) {
|
|
2813
|
+
if (event && event.source) {
|
|
2814
|
+
this._clearPreviousSelectedOption(event.source);
|
|
2815
|
+
this._setTriggerValue(event.source.value);
|
|
2816
|
+
this._onChange(event.source.value);
|
|
2817
|
+
this._element.nativeElement.focus();
|
|
2818
|
+
this.autocomplete._emitSelectEvent(event.source);
|
|
2819
|
+
}
|
|
2820
|
+
this.closePanel();
|
|
2821
|
+
};
|
|
2822
|
+
/**
|
|
2823
|
+
* Clear any previous selected option and emit a selection change event for this option
|
|
2824
|
+
* @param {?} skip
|
|
2825
|
+
* @return {?}
|
|
2826
|
+
*/
|
|
2827
|
+
MatAutocompleteTrigger.prototype._clearPreviousSelectedOption = function (skip) {
|
|
2828
|
+
this.autocomplete.options.forEach(function (option) {
|
|
2829
|
+
if (option != skip && option.selected) {
|
|
2830
|
+
option.deselect();
|
|
2831
|
+
}
|
|
2832
|
+
});
|
|
2833
|
+
};
|
|
2834
|
+
/**
|
|
2835
|
+
* @return {?}
|
|
2836
|
+
*/
|
|
2837
|
+
MatAutocompleteTrigger.prototype._attachOverlay = function () {
|
|
2838
|
+
if (!this.autocomplete) {
|
|
2839
|
+
throw getMatAutocompleteMissingPanelError();
|
|
2840
|
+
}
|
|
2841
|
+
if (!this._overlayRef) {
|
|
2842
|
+
this._portal = new _angular_cdk_portal.TemplatePortal(this.autocomplete.template, this._viewContainerRef);
|
|
2843
|
+
this._overlayRef = this._overlay.create(this._getOverlayConfig());
|
|
2844
|
+
}
|
|
2845
|
+
else {
|
|
2846
|
+
/** Update the panel width, in case the host width has changed */
|
|
2847
|
+
this._overlayRef.getConfig().width = this._getHostWidth();
|
|
2848
|
+
this._overlayRef.updateSize();
|
|
2849
|
+
}
|
|
2850
|
+
if (this._overlayRef && !this._overlayRef.hasAttached()) {
|
|
2851
|
+
this._overlayRef.attach(this._portal);
|
|
2852
|
+
this._closingActionsSubscription = this._subscribeToClosingActions();
|
|
2853
|
+
}
|
|
2854
|
+
this.autocomplete._setVisibility();
|
|
2855
|
+
this.autocomplete._isOpen = this._panelOpen = true;
|
|
2856
|
+
};
|
|
2857
|
+
/**
|
|
2858
|
+
* @return {?}
|
|
2859
|
+
*/
|
|
2860
|
+
MatAutocompleteTrigger.prototype._getOverlayConfig = function () {
|
|
2861
|
+
return new _angular_cdk_overlay.OverlayConfig({
|
|
2862
|
+
positionStrategy: this._getOverlayPosition(),
|
|
2863
|
+
scrollStrategy: this._scrollStrategy(),
|
|
2864
|
+
width: this._getHostWidth(),
|
|
2865
|
+
direction: this._dir ? this._dir.value : 'ltr'
|
|
2866
|
+
});
|
|
2867
|
+
};
|
|
2868
|
+
/**
|
|
2869
|
+
* @return {?}
|
|
2870
|
+
*/
|
|
2871
|
+
MatAutocompleteTrigger.prototype._getOverlayPosition = function () {
|
|
2872
|
+
this._positionStrategy = this._overlay.position().connectedTo(this._getConnectedElement(), { originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' })
|
|
2873
|
+
.withFallbackPosition({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' });
|
|
2874
|
+
return this._positionStrategy;
|
|
2875
|
+
};
|
|
2876
|
+
/**
|
|
2877
|
+
* @return {?}
|
|
2878
|
+
*/
|
|
2879
|
+
MatAutocompleteTrigger.prototype._getConnectedElement = function () {
|
|
2880
|
+
return this._formField ? this._formField._connectionContainerRef : this._element;
|
|
2881
|
+
};
|
|
2882
|
+
/**
|
|
2883
|
+
* Returns the width of the input element, so the panel width can match it.
|
|
2884
|
+
* @return {?}
|
|
2885
|
+
*/
|
|
2886
|
+
MatAutocompleteTrigger.prototype._getHostWidth = function () {
|
|
2887
|
+
return this._getConnectedElement().nativeElement.getBoundingClientRect().width;
|
|
2888
|
+
};
|
|
2889
|
+
/**
|
|
2890
|
+
* Reset active item to -1 so arrow events will activate the correct options.
|
|
2891
|
+
* @return {?}
|
|
2892
|
+
*/
|
|
2893
|
+
MatAutocompleteTrigger.prototype._resetActiveItem = function () {
|
|
2894
|
+
this.autocomplete._keyManager.setActiveItem(-1);
|
|
2895
|
+
};
|
|
2896
|
+
MatAutocompleteTrigger.decorators = [
|
|
2897
|
+
{ type: _angular_core.Directive, args: [{
|
|
2898
|
+
selector: "input[matAutocomplete], textarea[matAutocomplete]",
|
|
2899
|
+
host: {
|
|
2900
|
+
'role': 'combobox',
|
|
2901
|
+
'autocomplete': 'off',
|
|
2902
|
+
'aria-autocomplete': 'list',
|
|
2903
|
+
'[attr.aria-activedescendant]': 'activeOption?.id',
|
|
2904
|
+
'[attr.aria-expanded]': 'panelOpen.toString()',
|
|
2905
|
+
'[attr.aria-owns]': 'autocomplete?.id',
|
|
2906
|
+
// Note: we use `focusin`, as opposed to `focus`, in order to open the panel
|
|
2907
|
+
// a little earlier. This avoids issues where IE delays the focusing of the input.
|
|
2908
|
+
'(focusin)': '_handleFocus()',
|
|
2909
|
+
'(blur)': '_onTouched()',
|
|
2910
|
+
'(input)': '_handleInput($event)',
|
|
2911
|
+
'(keydown)': '_handleKeydown($event)',
|
|
2912
|
+
},
|
|
2913
|
+
providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR]
|
|
2914
|
+
},] },
|
|
2915
|
+
];
|
|
2916
|
+
/**
|
|
2917
|
+
* @nocollapse
|
|
2918
|
+
*/
|
|
2919
|
+
MatAutocompleteTrigger.ctorParameters = function () { return [
|
|
2920
|
+
{ type: _angular_core.ElementRef, },
|
|
2921
|
+
{ type: _angular_cdk_overlay.Overlay, },
|
|
2922
|
+
{ type: _angular_core.ViewContainerRef, },
|
|
2923
|
+
{ type: _angular_core.NgZone, },
|
|
2924
|
+
{ type: _angular_core.ChangeDetectorRef, },
|
|
2925
|
+
{ type: undefined, decorators: [{ type: _angular_core.Inject, args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY,] },] },
|
|
2926
|
+
{ type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
|
|
2927
|
+
{ type: MatFormField, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Host },] },
|
|
2928
|
+
{ type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [_angular_platformBrowser.DOCUMENT,] },] },
|
|
2929
|
+
]; };
|
|
2930
|
+
MatAutocompleteTrigger.propDecorators = {
|
|
2931
|
+
'autocomplete': [{ type: _angular_core.Input, args: ['matAutocomplete',] },],
|
|
2932
|
+
};
|
|
2933
|
+
return MatAutocompleteTrigger;
|
|
2934
|
+
}());
|
|
2935
|
+
|
|
2936
|
+
var MatAutocompleteModule = (function () {
|
|
2937
|
+
function MatAutocompleteModule() {
|
|
2938
|
+
}
|
|
2939
|
+
MatAutocompleteModule.decorators = [
|
|
2940
|
+
{ type: _angular_core.NgModule, args: [{
|
|
2941
|
+
imports: [MatOptionModule, _angular_cdk_overlay.OverlayModule, MatCommonModule, _angular_common.CommonModule],
|
|
2942
|
+
exports: [MatAutocomplete, MatOptionModule, MatAutocompleteTrigger, MatCommonModule],
|
|
2943
|
+
declarations: [MatAutocomplete, MatAutocompleteTrigger],
|
|
2944
|
+
providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER],
|
|
2945
|
+
},] },
|
|
2946
|
+
];
|
|
2947
|
+
/**
|
|
2948
|
+
* @nocollapse
|
|
2949
|
+
*/
|
|
2950
|
+
MatAutocompleteModule.ctorParameters = function () { return []; };
|
|
2951
|
+
return MatAutocompleteModule;
|
|
2952
|
+
}());
|
|
2953
|
+
|
|
2954
|
+
exports.MatAutocompleteSelectedEvent = MatAutocompleteSelectedEvent;
|
|
2955
|
+
exports.MatAutocomplete = MatAutocomplete;
|
|
2956
|
+
exports.MatAutocompleteModule = MatAutocompleteModule;
|
|
2957
|
+
exports.AUTOCOMPLETE_OPTION_HEIGHT = AUTOCOMPLETE_OPTION_HEIGHT;
|
|
2958
|
+
exports.AUTOCOMPLETE_PANEL_HEIGHT = AUTOCOMPLETE_PANEL_HEIGHT;
|
|
2959
|
+
exports.MAT_AUTOCOMPLETE_SCROLL_STRATEGY = MAT_AUTOCOMPLETE_SCROLL_STRATEGY;
|
|
2960
|
+
exports.MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER_FACTORY = MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER_FACTORY;
|
|
2961
|
+
exports.MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER = MAT_AUTOCOMPLETE_SCROLL_STRATEGY_PROVIDER;
|
|
2962
|
+
exports.MAT_AUTOCOMPLETE_VALUE_ACCESSOR = MAT_AUTOCOMPLETE_VALUE_ACCESSOR;
|
|
2963
|
+
exports.getMatAutocompleteMissingPanelError = getMatAutocompleteMissingPanelError;
|
|
2964
|
+
exports.MatAutocompleteTrigger = MatAutocompleteTrigger;
|
|
2965
|
+
|
|
2966
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2967
|
+
|
|
2968
|
+
})));
|
|
2969
|
+
//# sourceMappingURL=material-autocomplete.umd.js.map
|