@angular/material 8.1.4 → 8.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +13 -11
- package/autocomplete/typings/autocomplete-trigger.d.ts +5 -2
- package/autocomplete/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +48 -20
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +1 -1
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +5 -6
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-button.umd.min.js +1 -1
- package/bundles/material-button.umd.min.js.map +1 -1
- package/bundles/material-card.umd.js +1 -1
- package/bundles/material-card.umd.js.map +1 -1
- package/bundles/material-card.umd.min.js +1 -1
- package/bundles/material-card.umd.min.js.map +1 -1
- package/bundles/material-checkbox.umd.js +1 -1
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.min.js.map +1 -1
- package/bundles/material-chips.umd.js +24 -4
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +1 -1
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +20 -18
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +2 -2
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +22 -2
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +2 -2
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +28 -5
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +1 -1
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-form-field.umd.js +15 -2
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +1 -1
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-grid-list.umd.js +1 -1
- package/bundles/material-grid-list.umd.min.js +1 -1
- package/bundles/material-icon.umd.js +103 -42
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-icon.umd.min.js +1 -1
- package/bundles/material-icon.umd.min.js.map +1 -1
- package/bundles/material-list.umd.js +4 -1
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +1 -1
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +35 -19
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +1 -1
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-paginator.umd.js +1 -1
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-paginator.umd.min.js +1 -1
- package/bundles/material-paginator.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +34 -23
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +3 -0
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +14 -2
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +1 -1
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +3 -1
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.min.js +1 -1
- package/bundles/material-slide-toggle.umd.min.js.map +1 -1
- package/bundles/material-slider.umd.js +6 -3
- package/bundles/material-slider.umd.js.map +1 -1
- package/bundles/material-slider.umd.min.js +1 -1
- package/bundles/material-slider.umd.min.js.map +1 -1
- package/bundles/material-snack-bar.umd.js +7 -8
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.min.js +1 -1
- package/bundles/material-snack-bar.umd.min.js.map +1 -1
- package/bundles/material-sort.umd.js +0 -1
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-table.umd.js +14 -4
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +1390 -1208
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +2 -2
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +16 -1
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +1 -1
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material.umd.js +1767 -1346
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -19
- package/bundles/material.umd.min.js.map +1 -1
- package/button/typings/button.d.ts +1 -1
- package/button/typings/index.metadata.json +1 -1
- package/card/typings/index.metadata.json +1 -1
- package/chips/typings/chip.d.ts +4 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/common-behaviors/common-module.d.ts +2 -2
- package/core/typings/datetime/date-adapter.d.ts +1 -1
- package/core/typings/datetime/native-date-adapter.d.ts +1 -1
- package/core/typings/index.metadata.json +1 -1
- package/core/typings/ripple/ripple-renderer.d.ts +2 -2
- package/core/typings/ripple/ripple.d.ts +1 -1
- package/datepicker/typings/datepicker-intl.d.ts +2 -0
- package/datepicker/typings/index.metadata.json +1 -1
- package/dialog/typings/dialog-config.d.ts +9 -7
- package/dialog/typings/dialog-content-directives.d.ts +2 -0
- package/dialog/typings/dialog-ref.d.ts +10 -0
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +44 -19
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/button.js +3 -5
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +1 -1
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +1 -1
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +22 -5
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +19 -17
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +15 -2
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +23 -5
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/form-field.js +15 -2
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +1 -1
- package/esm2015/icon.js +93 -40
- package/esm2015/icon.js.map +1 -1
- package/esm2015/list.js +4 -1
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +3 -3
- package/esm2015/menu.js +31 -10
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +1 -1
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-spinner.js +31 -23
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +3 -0
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +14 -2
- package/esm2015/select.js.map +1 -1
- package/esm2015/slide-toggle.js +3 -1
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +6 -2
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +7 -8
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +0 -1
- package/esm2015/sort.js.map +1 -1
- package/esm2015/table.js +9 -4
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +1094 -890
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/tooltip.js +15 -1
- package/esm2015/tooltip.js.map +1 -1
- package/esm5/autocomplete.es5.js +48 -19
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/button.es5.js +5 -6
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +1 -1
- package/esm5/card.es5.js.map +1 -1
- package/esm5/checkbox.es5.js +1 -1
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +25 -5
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +21 -19
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +22 -2
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +28 -5
- package/esm5/dialog.es5.js.map +1 -1
- package/esm5/form-field.es5.js +15 -2
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +1 -1
- package/esm5/icon.es5.js +101 -40
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/list.es5.js +4 -1
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +3 -3
- package/esm5/menu.es5.js +33 -17
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +1 -1
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +34 -23
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +3 -0
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +14 -2
- package/esm5/select.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +3 -1
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +6 -3
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +7 -8
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +0 -1
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/table.es5.js +14 -4
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +1384 -1207
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +16 -1
- package/esm5/tooltip.es5.js.map +1 -1
- package/form-field/typings/form-field.d.ts +2 -0
- package/form-field/typings/index.metadata.json +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/icon/typings/icon-registry.d.ts +17 -11
- package/icon/typings/icon.d.ts +3 -2
- package/icon/typings/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/menu/typings/index.d.ts +2 -2
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-trigger.d.ts +2 -5
- package/package.json +5 -5
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-spinner/typings/index.metadata.json +1 -1
- package/progress-spinner/typings/progress-spinner.d.ts +3 -2
- package/radio/typings/index.metadata.json +1 -1
- package/schematics/ng-add/setup-project.js +8 -8
- package/schematics/ng-add/setup-project.js.map +1 -1
- package/schematics/ng-add/theming/theming.js +6 -6
- package/schematics/ng-add/theming/theming.js.map +1 -1
- package/schematics/ng-update/index.js +2 -2
- package/schematics/ng-update/index.js.map +1 -1
- package/select/typings/index.metadata.json +1 -1
- package/select/typings/select.d.ts +2 -0
- package/slide-toggle/typings/index.metadata.json +1 -1
- package/slider/typings/index.metadata.json +1 -1
- package/slider/typings/slider.d.ts +2 -2
- package/snack-bar/typings/index.metadata.json +1 -1
- package/sort/typings/index.metadata.json +1 -1
- package/table/typings/index.metadata.json +1 -1
- package/table/typings/table-data-source.d.ts +5 -0
- package/tabs/typings/index.d.ts +2 -2
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/paginated-tab-header.d.ts +8 -5
- package/tabs/typings/public-api.d.ts +4 -4
- package/tabs/typings/tab-body.d.ts +11 -3
- package/tabs/typings/tab-group.d.ts +24 -11
- package/tabs/typings/tab-header.d.ts +12 -5
- package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +38 -19
- package/tooltip/typings/index.metadata.json +1 -1
- package/typings/autocomplete/autocomplete-trigger.d.ts +5 -2
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/button/button.d.ts +1 -1
- package/typings/button/index.metadata.json +1 -1
- package/typings/card/index.metadata.json +1 -1
- package/typings/chips/chip.d.ts +4 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/common-behaviors/common-module.d.ts +2 -2
- package/typings/core/datetime/date-adapter.d.ts +1 -1
- package/typings/core/datetime/native-date-adapter.d.ts +1 -1
- package/typings/core/index.metadata.json +1 -1
- package/typings/core/ripple/ripple-renderer.d.ts +2 -2
- package/typings/core/ripple/ripple.d.ts +1 -1
- package/typings/datepicker/datepicker-intl.d.ts +2 -0
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/dialog/dialog-config.d.ts +9 -7
- package/typings/dialog/dialog-content-directives.d.ts +2 -0
- package/typings/dialog/dialog-ref.d.ts +10 -0
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +5 -2
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/button/button.d.ts +1 -1
- package/typings/esm5/button/index.metadata.json +1 -1
- package/typings/esm5/card/index.metadata.json +1 -1
- package/typings/esm5/chips/chip.d.ts +4 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/common-behaviors/common-module.d.ts +2 -2
- package/typings/esm5/core/datetime/date-adapter.d.ts +1 -1
- package/typings/esm5/core/datetime/native-date-adapter.d.ts +1 -1
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/core/ripple/ripple-renderer.d.ts +2 -2
- package/typings/esm5/core/ripple/ripple.d.ts +1 -1
- package/typings/esm5/datepicker/datepicker-intl.d.ts +2 -0
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/dialog/dialog-config.d.ts +9 -7
- package/typings/esm5/dialog/dialog-content-directives.d.ts +2 -0
- package/typings/esm5/dialog/dialog-ref.d.ts +10 -0
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/form-field/form-field.d.ts +2 -0
- package/typings/esm5/form-field/index.metadata.json +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/icon/icon-registry.d.ts +17 -11
- package/typings/esm5/icon/icon.d.ts +3 -2
- package/typings/esm5/icon/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/menu/index.d.ts +2 -2
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-trigger.d.ts +2 -5
- package/typings/esm5/progress-spinner/index.metadata.json +1 -1
- package/typings/esm5/progress-spinner/progress-spinner.d.ts +3 -2
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/select/select.d.ts +2 -0
- package/typings/esm5/slide-toggle/index.metadata.json +1 -1
- package/typings/esm5/slider/index.metadata.json +1 -1
- package/typings/esm5/slider/slider.d.ts +2 -2
- package/typings/esm5/snack-bar/index.metadata.json +1 -1
- package/typings/esm5/sort/index.metadata.json +1 -1
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/table/table-data-source.d.ts +5 -0
- package/typings/esm5/tabs/index.d.ts +2 -2
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/paginated-tab-header.d.ts +8 -5
- package/typings/esm5/tabs/public-api.d.ts +4 -4
- package/typings/esm5/tabs/tab-body.d.ts +11 -3
- package/typings/esm5/tabs/tab-group.d.ts +24 -11
- package/typings/esm5/tabs/tab-header.d.ts +12 -5
- package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -19
- package/typings/esm5/tooltip/index.metadata.json +1 -1
- package/typings/form-field/form-field.d.ts +2 -0
- package/typings/form-field/index.metadata.json +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/icon/icon-registry.d.ts +17 -11
- package/typings/icon/icon.d.ts +3 -2
- package/typings/icon/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/menu/index.d.ts +2 -2
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-trigger.d.ts +2 -5
- package/typings/progress-spinner/index.metadata.json +1 -1
- package/typings/progress-spinner/progress-spinner.d.ts +3 -2
- package/typings/radio/index.metadata.json +1 -1
- package/typings/select/index.metadata.json +1 -1
- package/typings/select/select.d.ts +2 -0
- package/typings/slide-toggle/index.metadata.json +1 -1
- package/typings/slider/index.metadata.json +1 -1
- package/typings/slider/slider.d.ts +2 -2
- package/typings/snack-bar/index.metadata.json +1 -1
- package/typings/sort/index.metadata.json +1 -1
- package/typings/table/index.metadata.json +1 -1
- package/typings/table/table-data-source.d.ts +5 -0
- package/typings/tabs/index.d.ts +2 -2
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/paginated-tab-header.d.ts +8 -5
- package/typings/tabs/public-api.d.ts +4 -4
- package/typings/tabs/tab-body.d.ts +11 -3
- package/typings/tabs/tab-group.d.ts +24 -11
- package/typings/tabs/tab-header.d.ts +12 -5
- package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -19
- package/typings/tooltip/index.metadata.json +1 -1
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
(function (global, factory) {
|
|
9
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/common/http'), require('@angular/core'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@angular/
|
|
10
|
-
typeof define === 'function' && define.amd ? define('@angular/material/icon', ['exports', '@angular/common', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@angular/
|
|
11
|
-
(factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.icon = {}),global.ng.common,global.ng.common.http,global.ng.core,global.ng.platformBrowser,global.rxjs,global.rxjs.operators,global.ng.
|
|
12
|
-
}(this, (function (exports,common,http,core,platformBrowser,rxjs,operators,core$1
|
|
9
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/common/http'), require('@angular/core'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@angular/cdk/coercion'), require('@angular/material/core')) :
|
|
10
|
+
typeof define === 'function' && define.amd ? define('@angular/material/icon', ['exports', '@angular/common', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@angular/cdk/coercion', '@angular/material/core'], factory) :
|
|
11
|
+
(factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.icon = {}),global.ng.common,global.ng.common.http,global.ng.core,global.ng.platformBrowser,global.rxjs,global.rxjs.operators,global.ng.cdk.coercion,global.ng.material.core));
|
|
12
|
+
}(this, (function (exports,common,http,core,platformBrowser,rxjs,operators,coercion,core$1) { 'use strict';
|
|
13
13
|
|
|
14
14
|
/*! *****************************************************************************
|
|
15
15
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -94,7 +94,8 @@ var /**
|
|
|
94
94
|
* \@docs-private
|
|
95
95
|
*/
|
|
96
96
|
SvgIconConfig = /** @class */ (function () {
|
|
97
|
-
function SvgIconConfig(data) {
|
|
97
|
+
function SvgIconConfig(data, options) {
|
|
98
|
+
this.options = options;
|
|
98
99
|
// Note that we can't use `instanceof SVGElement` here,
|
|
99
100
|
// because it'll break during server-side rendering.
|
|
100
101
|
if (!!((/** @type {?} */ (data))).nodeName) {
|
|
@@ -114,9 +115,10 @@ SvgIconConfig = /** @class */ (function () {
|
|
|
114
115
|
* - Loads icons from URLs and extracts individual icons from icon sets.
|
|
115
116
|
*/
|
|
116
117
|
var MatIconRegistry = /** @class */ (function () {
|
|
117
|
-
function MatIconRegistry(_httpClient, _sanitizer, document) {
|
|
118
|
+
function MatIconRegistry(_httpClient, _sanitizer, document, _errorHandler) {
|
|
118
119
|
this._httpClient = _httpClient;
|
|
119
120
|
this._sanitizer = _sanitizer;
|
|
121
|
+
this._errorHandler = _errorHandler;
|
|
120
122
|
/**
|
|
121
123
|
* URLs and cached SVG elements for individual icons. Keys are of the format "[namespace]:[icon]".
|
|
122
124
|
*/
|
|
@@ -157,6 +159,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
157
159
|
* @this {THIS}
|
|
158
160
|
* @param {?} iconName Name under which the icon should be registered.
|
|
159
161
|
* @param {?} url
|
|
162
|
+
* @param {?=} options
|
|
160
163
|
* @return {THIS}
|
|
161
164
|
*/
|
|
162
165
|
MatIconRegistry.prototype.addSvgIcon = /**
|
|
@@ -165,10 +168,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
165
168
|
* @this {THIS}
|
|
166
169
|
* @param {?} iconName Name under which the icon should be registered.
|
|
167
170
|
* @param {?} url
|
|
171
|
+
* @param {?=} options
|
|
168
172
|
* @return {THIS}
|
|
169
173
|
*/
|
|
170
|
-
function (iconName, url) {
|
|
171
|
-
return (/** @type {?} */ (this)).addSvgIconInNamespace('', iconName, url);
|
|
174
|
+
function (iconName, url, options) {
|
|
175
|
+
return (/** @type {?} */ (this)).addSvgIconInNamespace('', iconName, url, options);
|
|
172
176
|
};
|
|
173
177
|
/**
|
|
174
178
|
* Registers an icon using an HTML string in the default namespace.
|
|
@@ -181,6 +185,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
181
185
|
* @this {THIS}
|
|
182
186
|
* @param {?} iconName Name under which the icon should be registered.
|
|
183
187
|
* @param {?} literal SVG source of the icon.
|
|
188
|
+
* @param {?=} options
|
|
184
189
|
* @return {THIS}
|
|
185
190
|
*/
|
|
186
191
|
MatIconRegistry.prototype.addSvgIconLiteral = /**
|
|
@@ -189,10 +194,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
189
194
|
* @this {THIS}
|
|
190
195
|
* @param {?} iconName Name under which the icon should be registered.
|
|
191
196
|
* @param {?} literal SVG source of the icon.
|
|
197
|
+
* @param {?=} options
|
|
192
198
|
* @return {THIS}
|
|
193
199
|
*/
|
|
194
|
-
function (iconName, literal) {
|
|
195
|
-
return (/** @type {?} */ (this)).addSvgIconLiteralInNamespace('', iconName, literal);
|
|
200
|
+
function (iconName, literal, options) {
|
|
201
|
+
return (/** @type {?} */ (this)).addSvgIconLiteralInNamespace('', iconName, literal, options);
|
|
196
202
|
};
|
|
197
203
|
/**
|
|
198
204
|
* Registers an icon by URL in the specified namespace.
|
|
@@ -207,6 +213,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
207
213
|
* @param {?} namespace Namespace in which the icon should be registered.
|
|
208
214
|
* @param {?} iconName Name under which the icon should be registered.
|
|
209
215
|
* @param {?} url
|
|
216
|
+
* @param {?=} options
|
|
210
217
|
* @return {THIS}
|
|
211
218
|
*/
|
|
212
219
|
MatIconRegistry.prototype.addSvgIconInNamespace = /**
|
|
@@ -216,10 +223,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
216
223
|
* @param {?} namespace Namespace in which the icon should be registered.
|
|
217
224
|
* @param {?} iconName Name under which the icon should be registered.
|
|
218
225
|
* @param {?} url
|
|
226
|
+
* @param {?=} options
|
|
219
227
|
* @return {THIS}
|
|
220
228
|
*/
|
|
221
|
-
function (namespace, iconName, url) {
|
|
222
|
-
return (/** @type {?} */ (this))._addSvgIconConfig(namespace, iconName, new SvgIconConfig(url));
|
|
229
|
+
function (namespace, iconName, url, options) {
|
|
230
|
+
return (/** @type {?} */ (this))._addSvgIconConfig(namespace, iconName, new SvgIconConfig(url, options));
|
|
223
231
|
};
|
|
224
232
|
/**
|
|
225
233
|
* Registers an icon using an HTML string in the specified namespace.
|
|
@@ -234,6 +242,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
234
242
|
* @param {?} namespace Namespace in which the icon should be registered.
|
|
235
243
|
* @param {?} iconName Name under which the icon should be registered.
|
|
236
244
|
* @param {?} literal SVG source of the icon.
|
|
245
|
+
* @param {?=} options
|
|
237
246
|
* @return {THIS}
|
|
238
247
|
*/
|
|
239
248
|
MatIconRegistry.prototype.addSvgIconLiteralInNamespace = /**
|
|
@@ -243,17 +252,18 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
243
252
|
* @param {?} namespace Namespace in which the icon should be registered.
|
|
244
253
|
* @param {?} iconName Name under which the icon should be registered.
|
|
245
254
|
* @param {?} literal SVG source of the icon.
|
|
255
|
+
* @param {?=} options
|
|
246
256
|
* @return {THIS}
|
|
247
257
|
*/
|
|
248
|
-
function (namespace, iconName, literal) {
|
|
258
|
+
function (namespace, iconName, literal, options) {
|
|
249
259
|
/** @type {?} */
|
|
250
260
|
var sanitizedLiteral = (/** @type {?} */ (this))._sanitizer.sanitize(core.SecurityContext.HTML, literal);
|
|
251
261
|
if (!sanitizedLiteral) {
|
|
252
262
|
throw getMatIconFailedToSanitizeLiteralError(literal);
|
|
253
263
|
}
|
|
254
264
|
/** @type {?} */
|
|
255
|
-
var svgElement = (/** @type {?} */ (this))._createSvgElementForSingleIcon(sanitizedLiteral);
|
|
256
|
-
return (/** @type {?} */ (this))._addSvgIconConfig(namespace, iconName, new SvgIconConfig(svgElement));
|
|
265
|
+
var svgElement = (/** @type {?} */ (this))._createSvgElementForSingleIcon(sanitizedLiteral, options);
|
|
266
|
+
return (/** @type {?} */ (this))._addSvgIconConfig(namespace, iconName, new SvgIconConfig(svgElement, options));
|
|
257
267
|
};
|
|
258
268
|
/**
|
|
259
269
|
* Registers an icon set by URL in the default namespace.
|
|
@@ -264,6 +274,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
264
274
|
* @template THIS
|
|
265
275
|
* @this {THIS}
|
|
266
276
|
* @param {?} url
|
|
277
|
+
* @param {?=} options
|
|
267
278
|
* @return {THIS}
|
|
268
279
|
*/
|
|
269
280
|
MatIconRegistry.prototype.addSvgIconSet = /**
|
|
@@ -271,10 +282,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
271
282
|
* @template THIS
|
|
272
283
|
* @this {THIS}
|
|
273
284
|
* @param {?} url
|
|
285
|
+
* @param {?=} options
|
|
274
286
|
* @return {THIS}
|
|
275
287
|
*/
|
|
276
|
-
function (url) {
|
|
277
|
-
return (/** @type {?} */ (this)).addSvgIconSetInNamespace('', url);
|
|
288
|
+
function (url, options) {
|
|
289
|
+
return (/** @type {?} */ (this)).addSvgIconSetInNamespace('', url, options);
|
|
278
290
|
};
|
|
279
291
|
/**
|
|
280
292
|
* Registers an icon set using an HTML string in the default namespace.
|
|
@@ -285,6 +297,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
285
297
|
* @template THIS
|
|
286
298
|
* @this {THIS}
|
|
287
299
|
* @param {?} literal SVG source of the icon set.
|
|
300
|
+
* @param {?=} options
|
|
288
301
|
* @return {THIS}
|
|
289
302
|
*/
|
|
290
303
|
MatIconRegistry.prototype.addSvgIconSetLiteral = /**
|
|
@@ -292,10 +305,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
292
305
|
* @template THIS
|
|
293
306
|
* @this {THIS}
|
|
294
307
|
* @param {?} literal SVG source of the icon set.
|
|
308
|
+
* @param {?=} options
|
|
295
309
|
* @return {THIS}
|
|
296
310
|
*/
|
|
297
|
-
function (literal) {
|
|
298
|
-
return (/** @type {?} */ (this)).addSvgIconSetLiteralInNamespace('', literal);
|
|
311
|
+
function (literal, options) {
|
|
312
|
+
return (/** @type {?} */ (this)).addSvgIconSetLiteralInNamespace('', literal, options);
|
|
299
313
|
};
|
|
300
314
|
/**
|
|
301
315
|
* Registers an icon set by URL in the specified namespace.
|
|
@@ -308,6 +322,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
308
322
|
* @this {THIS}
|
|
309
323
|
* @param {?} namespace Namespace in which to register the icon set.
|
|
310
324
|
* @param {?} url
|
|
325
|
+
* @param {?=} options
|
|
311
326
|
* @return {THIS}
|
|
312
327
|
*/
|
|
313
328
|
MatIconRegistry.prototype.addSvgIconSetInNamespace = /**
|
|
@@ -316,10 +331,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
316
331
|
* @this {THIS}
|
|
317
332
|
* @param {?} namespace Namespace in which to register the icon set.
|
|
318
333
|
* @param {?} url
|
|
334
|
+
* @param {?=} options
|
|
319
335
|
* @return {THIS}
|
|
320
336
|
*/
|
|
321
|
-
function (namespace, url) {
|
|
322
|
-
return (/** @type {?} */ (this))._addSvgIconSetConfig(namespace, new SvgIconConfig(url));
|
|
337
|
+
function (namespace, url, options) {
|
|
338
|
+
return (/** @type {?} */ (this))._addSvgIconSetConfig(namespace, new SvgIconConfig(url, options));
|
|
323
339
|
};
|
|
324
340
|
/**
|
|
325
341
|
* Registers an icon set using an HTML string in the specified namespace.
|
|
@@ -332,6 +348,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
332
348
|
* @this {THIS}
|
|
333
349
|
* @param {?} namespace Namespace in which to register the icon set.
|
|
334
350
|
* @param {?} literal SVG source of the icon set.
|
|
351
|
+
* @param {?=} options
|
|
335
352
|
* @return {THIS}
|
|
336
353
|
*/
|
|
337
354
|
MatIconRegistry.prototype.addSvgIconSetLiteralInNamespace = /**
|
|
@@ -340,9 +357,10 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
340
357
|
* @this {THIS}
|
|
341
358
|
* @param {?} namespace Namespace in which to register the icon set.
|
|
342
359
|
* @param {?} literal SVG source of the icon set.
|
|
360
|
+
* @param {?=} options
|
|
343
361
|
* @return {THIS}
|
|
344
362
|
*/
|
|
345
|
-
function (namespace, literal) {
|
|
363
|
+
function (namespace, literal, options) {
|
|
346
364
|
/** @type {?} */
|
|
347
365
|
var sanitizedLiteral = (/** @type {?} */ (this))._sanitizer.sanitize(core.SecurityContext.HTML, literal);
|
|
348
366
|
if (!sanitizedLiteral) {
|
|
@@ -350,7 +368,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
350
368
|
}
|
|
351
369
|
/** @type {?} */
|
|
352
370
|
var svgElement = (/** @type {?} */ (this))._svgElementFromString(sanitizedLiteral);
|
|
353
|
-
return (/** @type {?} */ (this))._addSvgIconSetConfig(namespace, new SvgIconConfig(svgElement));
|
|
371
|
+
return (/** @type {?} */ (this))._addSvgIconSetConfig(namespace, new SvgIconConfig(svgElement, options));
|
|
354
372
|
};
|
|
355
373
|
/**
|
|
356
374
|
* Defines an alias for a CSS class name to be used for icon fonts. Creating an matIcon
|
|
@@ -654,7 +672,15 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
654
672
|
var url = _this._sanitizer.sanitize(core.SecurityContext.RESOURCE_URL, iconSetConfig.url);
|
|
655
673
|
// Swallow errors fetching individual URLs so the
|
|
656
674
|
// combined Observable won't necessarily fail.
|
|
657
|
-
|
|
675
|
+
/** @type {?} */
|
|
676
|
+
var errorMessage = "Loading icon set URL: " + url + " failed: " + err.message;
|
|
677
|
+
// @breaking-change 9.0.0 _errorHandler parameter to be made required
|
|
678
|
+
if (_this._errorHandler) {
|
|
679
|
+
_this._errorHandler.handleError(new Error(errorMessage));
|
|
680
|
+
}
|
|
681
|
+
else {
|
|
682
|
+
console.error(errorMessage);
|
|
683
|
+
}
|
|
658
684
|
return rxjs.of(null);
|
|
659
685
|
})));
|
|
660
686
|
}));
|
|
@@ -702,7 +728,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
702
728
|
var config = iconSetConfigs[i];
|
|
703
729
|
if (config.svgElement) {
|
|
704
730
|
/** @type {?} */
|
|
705
|
-
var foundIcon = this._extractSvgIconFromSet(config.svgElement, iconName);
|
|
731
|
+
var foundIcon = this._extractSvgIconFromSet(config.svgElement, iconName, config.options);
|
|
706
732
|
if (foundIcon) {
|
|
707
733
|
return foundIcon;
|
|
708
734
|
}
|
|
@@ -735,7 +761,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
735
761
|
* @param {?} svgText
|
|
736
762
|
* @return {?}
|
|
737
763
|
*/
|
|
738
|
-
function (svgText) { return _this._createSvgElementForSingleIcon(svgText); })));
|
|
764
|
+
function (svgText) { return _this._createSvgElementForSingleIcon(svgText, config.options); })));
|
|
739
765
|
};
|
|
740
766
|
/**
|
|
741
767
|
* Loads the content of the icon set URL specified in the SvgIconConfig and creates an SVG element
|
|
@@ -781,18 +807,20 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
781
807
|
* Creates a DOM element from the given SVG string, and adds default attributes.
|
|
782
808
|
* @private
|
|
783
809
|
* @param {?} responseText
|
|
810
|
+
* @param {?=} options
|
|
784
811
|
* @return {?}
|
|
785
812
|
*/
|
|
786
813
|
MatIconRegistry.prototype._createSvgElementForSingleIcon = /**
|
|
787
814
|
* Creates a DOM element from the given SVG string, and adds default attributes.
|
|
788
815
|
* @private
|
|
789
816
|
* @param {?} responseText
|
|
817
|
+
* @param {?=} options
|
|
790
818
|
* @return {?}
|
|
791
819
|
*/
|
|
792
|
-
function (responseText) {
|
|
820
|
+
function (responseText, options) {
|
|
793
821
|
/** @type {?} */
|
|
794
822
|
var svg = this._svgElementFromString(responseText);
|
|
795
|
-
this._setSvgAttributes(svg);
|
|
823
|
+
this._setSvgAttributes(svg, options);
|
|
796
824
|
return svg;
|
|
797
825
|
};
|
|
798
826
|
/**
|
|
@@ -807,6 +835,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
807
835
|
* @private
|
|
808
836
|
* @param {?} iconSet
|
|
809
837
|
* @param {?} iconName
|
|
838
|
+
* @param {?=} options
|
|
810
839
|
* @return {?}
|
|
811
840
|
*/
|
|
812
841
|
MatIconRegistry.prototype._extractSvgIconFromSet = /**
|
|
@@ -816,9 +845,10 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
816
845
|
* @private
|
|
817
846
|
* @param {?} iconSet
|
|
818
847
|
* @param {?} iconName
|
|
848
|
+
* @param {?=} options
|
|
819
849
|
* @return {?}
|
|
820
850
|
*/
|
|
821
|
-
function (iconSet, iconName) {
|
|
851
|
+
function (iconSet, iconName, options) {
|
|
822
852
|
// Use the `id="iconName"` syntax in order to escape special
|
|
823
853
|
// characters in the ID (versus using the #iconName syntax).
|
|
824
854
|
/** @type {?} */
|
|
@@ -834,13 +864,13 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
834
864
|
// If the icon node is itself an <svg> node, clone and return it directly. If not, set it as
|
|
835
865
|
// the content of a new <svg> node.
|
|
836
866
|
if (iconElement.nodeName.toLowerCase() === 'svg') {
|
|
837
|
-
return this._setSvgAttributes((/** @type {?} */ (iconElement)));
|
|
867
|
+
return this._setSvgAttributes((/** @type {?} */ (iconElement)), options);
|
|
838
868
|
}
|
|
839
869
|
// If the node is a <symbol>, it won't be rendered so we have to convert it into <svg>. Note
|
|
840
870
|
// that the same could be achieved by referring to it via <use href="#id">, however the <use>
|
|
841
871
|
// tag is problematic on Firefox, because it needs to include the current page path.
|
|
842
872
|
if (iconElement.nodeName.toLowerCase() === 'symbol') {
|
|
843
|
-
return this._setSvgAttributes(this._toSvgElement(iconElement));
|
|
873
|
+
return this._setSvgAttributes(this._toSvgElement(iconElement), options);
|
|
844
874
|
}
|
|
845
875
|
// createElement('SVG') doesn't work as expected; the DOM ends up with
|
|
846
876
|
// the correct nodes, but the SVG content doesn't render. Instead we
|
|
@@ -851,7 +881,7 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
851
881
|
var svg = this._svgElementFromString('<svg></svg>');
|
|
852
882
|
// Clone the node so we don't remove it from the parent icon set element.
|
|
853
883
|
svg.appendChild(iconElement);
|
|
854
|
-
return this._setSvgAttributes(svg);
|
|
884
|
+
return this._setSvgAttributes(svg, options);
|
|
855
885
|
};
|
|
856
886
|
/**
|
|
857
887
|
* Creates a DOM element from the given SVG string.
|
|
@@ -897,6 +927,15 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
897
927
|
function (element) {
|
|
898
928
|
/** @type {?} */
|
|
899
929
|
var svg = this._svgElementFromString('<svg></svg>');
|
|
930
|
+
/** @type {?} */
|
|
931
|
+
var attributes = element.attributes;
|
|
932
|
+
// Copy over all the attributes from the `symbol` to the new SVG, except the id.
|
|
933
|
+
for (var i = 0; i < attributes.length; i++) {
|
|
934
|
+
var _a = attributes[i], name_1 = _a.name, value = _a.value;
|
|
935
|
+
if (name_1 !== 'id') {
|
|
936
|
+
svg.setAttribute(name_1, value);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
900
939
|
for (var i = 0; i < element.childNodes.length; i++) {
|
|
901
940
|
if (element.childNodes[i].nodeType === this._document.ELEMENT_NODE) {
|
|
902
941
|
svg.appendChild(element.childNodes[i].cloneNode(true));
|
|
@@ -911,20 +950,25 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
911
950
|
* Sets the default attributes for an SVG element to be used as an icon.
|
|
912
951
|
* @private
|
|
913
952
|
* @param {?} svg
|
|
953
|
+
* @param {?=} options
|
|
914
954
|
* @return {?}
|
|
915
955
|
*/
|
|
916
956
|
MatIconRegistry.prototype._setSvgAttributes = /**
|
|
917
957
|
* Sets the default attributes for an SVG element to be used as an icon.
|
|
918
958
|
* @private
|
|
919
959
|
* @param {?} svg
|
|
960
|
+
* @param {?=} options
|
|
920
961
|
* @return {?}
|
|
921
962
|
*/
|
|
922
|
-
function (svg) {
|
|
963
|
+
function (svg, options) {
|
|
923
964
|
svg.setAttribute('fit', '');
|
|
924
965
|
svg.setAttribute('height', '100%');
|
|
925
966
|
svg.setAttribute('width', '100%');
|
|
926
967
|
svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');
|
|
927
968
|
svg.setAttribute('focusable', 'false'); // Disable IE11 default behavior to make SVGs focusable.
|
|
969
|
+
if (options && options.viewBox) {
|
|
970
|
+
svg.setAttribute('viewBox', options.viewBox);
|
|
971
|
+
}
|
|
928
972
|
return svg;
|
|
929
973
|
};
|
|
930
974
|
/**
|
|
@@ -1047,9 +1091,10 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
1047
1091
|
MatIconRegistry.ctorParameters = function () { return [
|
|
1048
1092
|
{ type: http.HttpClient, decorators: [{ type: core.Optional }] },
|
|
1049
1093
|
{ type: platformBrowser.DomSanitizer },
|
|
1050
|
-
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] }
|
|
1094
|
+
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] },
|
|
1095
|
+
{ type: core.ErrorHandler, decorators: [{ type: core.Optional }] }
|
|
1051
1096
|
]; };
|
|
1052
|
-
/** @nocollapse */ MatIconRegistry.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function MatIconRegistry_Factory() { return new MatIconRegistry(core.ɵɵinject(http.HttpClient, 8), core.ɵɵinject(platformBrowser.DomSanitizer), core.ɵɵinject(common.DOCUMENT, 8)); }, token: MatIconRegistry, providedIn: "root" });
|
|
1097
|
+
/** @nocollapse */ MatIconRegistry.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function MatIconRegistry_Factory() { return new MatIconRegistry(core.ɵɵinject(http.HttpClient, 8), core.ɵɵinject(platformBrowser.DomSanitizer), core.ɵɵinject(common.DOCUMENT, 8), core.ɵɵinject(core.ErrorHandler, 8)); }, token: MatIconRegistry, providedIn: "root" });
|
|
1053
1098
|
return MatIconRegistry;
|
|
1054
1099
|
}());
|
|
1055
1100
|
/**
|
|
@@ -1058,10 +1103,11 @@ var MatIconRegistry = /** @class */ (function () {
|
|
|
1058
1103
|
* @param {?} httpClient
|
|
1059
1104
|
* @param {?} sanitizer
|
|
1060
1105
|
* @param {?=} document
|
|
1106
|
+
* @param {?=} errorHandler
|
|
1061
1107
|
* @return {?}
|
|
1062
1108
|
*/
|
|
1063
|
-
function ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, httpClient, sanitizer, document) {
|
|
1064
|
-
return parentRegistry || new MatIconRegistry(httpClient, sanitizer, document);
|
|
1109
|
+
function ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, httpClient, sanitizer, document, errorHandler) {
|
|
1110
|
+
return parentRegistry || new MatIconRegistry(httpClient, sanitizer, document, errorHandler);
|
|
1065
1111
|
}
|
|
1066
1112
|
/**
|
|
1067
1113
|
* \@docs-private
|
|
@@ -1074,6 +1120,7 @@ var ICON_REGISTRY_PROVIDER = {
|
|
|
1074
1120
|
[new core.Optional(), new core.SkipSelf(), MatIconRegistry],
|
|
1075
1121
|
[new core.Optional(), http.HttpClient],
|
|
1076
1122
|
platformBrowser.DomSanitizer,
|
|
1123
|
+
[new core.Optional(), core.ErrorHandler],
|
|
1077
1124
|
[new core.Optional(), (/** @type {?} */ (common.DOCUMENT))],
|
|
1078
1125
|
],
|
|
1079
1126
|
useFactory: ICON_REGISTRY_PROVIDER_FACTORY,
|
|
@@ -1207,10 +1254,11 @@ var funcIriPattern = /^url\(['"]?#(.*?)['"]?\)$/;
|
|
|
1207
1254
|
*/
|
|
1208
1255
|
var MatIcon = /** @class */ (function (_super) {
|
|
1209
1256
|
__extends(MatIcon, _super);
|
|
1210
|
-
function MatIcon(elementRef, _iconRegistry, ariaHidden, _location) {
|
|
1257
|
+
function MatIcon(elementRef, _iconRegistry, ariaHidden, _location, _errorHandler) {
|
|
1211
1258
|
var _this = _super.call(this, elementRef) || this;
|
|
1212
1259
|
_this._iconRegistry = _iconRegistry;
|
|
1213
1260
|
_this._location = _location;
|
|
1261
|
+
_this._errorHandler = _errorHandler;
|
|
1214
1262
|
_this._inline = false;
|
|
1215
1263
|
// If the user has not explicitly set aria-hidden, mark the icon as hidden, as this is
|
|
1216
1264
|
// the right thing to do for the majority of icon use-cases.
|
|
@@ -1348,8 +1396,10 @@ var MatIcon = /** @class */ (function (_super) {
|
|
|
1348
1396
|
var svgIconChanges = changes['svgIcon'];
|
|
1349
1397
|
if (svgIconChanges) {
|
|
1350
1398
|
if (this.svgIcon) {
|
|
1351
|
-
var _a = this._splitIconName(this.svgIcon),
|
|
1352
|
-
this._iconRegistry.getNamedSvgIcon(
|
|
1399
|
+
var _a = this._splitIconName(this.svgIcon), namespace_1 = _a[0], iconName_1 = _a[1];
|
|
1400
|
+
this._iconRegistry.getNamedSvgIcon(iconName_1, namespace_1)
|
|
1401
|
+
.pipe(operators.take(1))
|
|
1402
|
+
.subscribe((/**
|
|
1353
1403
|
* @param {?} svg
|
|
1354
1404
|
* @return {?}
|
|
1355
1405
|
*/
|
|
@@ -1357,7 +1407,17 @@ var MatIcon = /** @class */ (function (_super) {
|
|
|
1357
1407
|
* @param {?} err
|
|
1358
1408
|
* @return {?}
|
|
1359
1409
|
*/
|
|
1360
|
-
function (err) {
|
|
1410
|
+
function (err) {
|
|
1411
|
+
/** @type {?} */
|
|
1412
|
+
var errorMessage = "Error retrieving icon " + namespace_1 + ":" + iconName_1 + "! " + err.message;
|
|
1413
|
+
// @breaking-change 9.0.0 _errorHandler parameter to be made required.
|
|
1414
|
+
if (_this._errorHandler) {
|
|
1415
|
+
_this._errorHandler.handleError(new Error(errorMessage));
|
|
1416
|
+
}
|
|
1417
|
+
else {
|
|
1418
|
+
console.error(errorMessage);
|
|
1419
|
+
}
|
|
1420
|
+
}));
|
|
1361
1421
|
}
|
|
1362
1422
|
else if (svgIconChanges.previousValue) {
|
|
1363
1423
|
this._clearSvgElement();
|
|
@@ -1659,7 +1719,8 @@ var MatIcon = /** @class */ (function (_super) {
|
|
|
1659
1719
|
{ type: core.ElementRef },
|
|
1660
1720
|
{ type: MatIconRegistry },
|
|
1661
1721
|
{ type: String, decorators: [{ type: core.Attribute, args: ['aria-hidden',] }] },
|
|
1662
|
-
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_ICON_LOCATION,] }] }
|
|
1722
|
+
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_ICON_LOCATION,] }] },
|
|
1723
|
+
{ type: core.ErrorHandler, decorators: [{ type: core.Optional }] }
|
|
1663
1724
|
]; };
|
|
1664
1725
|
MatIcon.propDecorators = {
|
|
1665
1726
|
inline: [{ type: core.Input }],
|