@angular/material 7.0.4 → 7.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/_theming.scss +61 -44
- package/autocomplete/typings/index.d.ts +1 -1
- package/autocomplete/typings/index.metadata.json +1 -1
- package/badge/typings/index.metadata.json +1 -1
- package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
- package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
- package/bottom-sheet/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +126 -32
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +1 -1
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-badge.umd.js +38 -5
- package/bundles/material-badge.umd.js.map +1 -1
- package/bundles/material-badge.umd.min.js +1 -1
- package/bundles/material-badge.umd.min.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.js +68 -21
- package/bundles/material-bottom-sheet.umd.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.min.js +1 -1
- package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
- package/bundles/material-button-toggle.umd.js +36 -13
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.min.js +1 -1
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +21 -14
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-button.umd.min.js +1 -1
- package/bundles/material-button.umd.min.js.map +1 -1
- package/bundles/material-card.umd.js +3 -3
- package/bundles/material-card.umd.js.map +1 -1
- package/bundles/material-card.umd.min.js +1 -1
- package/bundles/material-card.umd.min.js.map +1 -1
- package/bundles/material-checkbox.umd.js +56 -15
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.min.js +1 -1
- package/bundles/material-checkbox.umd.min.js.map +1 -1
- package/bundles/material-chips.umd.js +124 -34
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +1 -1
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +189 -126
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +1 -1
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +231 -53
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +2 -2
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +138 -40
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +1 -1
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-divider.umd.js +2 -2
- package/bundles/material-divider.umd.js.map +1 -1
- package/bundles/material-divider.umd.min.js.map +1 -1
- package/bundles/material-expansion.umd.js +53 -27
- package/bundles/material-expansion.umd.js.map +1 -1
- package/bundles/material-expansion.umd.min.js +1 -1
- package/bundles/material-expansion.umd.min.js.map +1 -1
- package/bundles/material-form-field.umd.js +121 -32
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +1 -1
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-grid-list.umd.js +66 -15
- package/bundles/material-grid-list.umd.js.map +1 -1
- package/bundles/material-grid-list.umd.min.js +1 -1
- package/bundles/material-grid-list.umd.min.js.map +1 -1
- package/bundles/material-icon.umd.js +277 -78
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-icon.umd.min.js +1 -1
- package/bundles/material-icon.umd.min.js.map +1 -1
- package/bundles/material-input.umd.js +50 -22
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-input.umd.min.js +1 -1
- package/bundles/material-input.umd.min.js.map +1 -1
- package/bundles/material-list.umd.js +69 -21
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -6
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +171 -66
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +1 -1
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-paginator.umd.js +52 -10
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-paginator.umd.min.js +1 -1
- package/bundles/material-paginator.umd.min.js.map +1 -1
- package/bundles/material-progress-bar.umd.js +31 -12
- package/bundles/material-progress-bar.umd.js.map +1 -1
- package/bundles/material-progress-bar.umd.min.js +1 -1
- package/bundles/material-progress-bar.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +29 -13
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +38 -40
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +189 -51
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +1 -1
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-sidenav.umd.js +104 -25
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.min.js +1 -1
- package/bundles/material-sidenav.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +30 -14
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.min.js +1 -1
- package/bundles/material-slide-toggle.umd.min.js.map +1 -1
- package/bundles/material-slider.umd.js +91 -21
- package/bundles/material-slider.umd.js.map +1 -1
- package/bundles/material-slider.umd.min.js +1 -1
- package/bundles/material-slider.umd.min.js.map +1 -1
- package/bundles/material-snack-bar.umd.js +71 -19
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.min.js +1 -1
- package/bundles/material-snack-bar.umd.min.js.map +1 -1
- package/bundles/material-sort.umd.js +46 -24
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-stepper.umd.js +37 -35
- package/bundles/material-stepper.umd.js.map +1 -1
- package/bundles/material-stepper.umd.min.js +1 -1
- package/bundles/material-stepper.umd.min.js.map +1 -1
- package/bundles/material-table.umd.js +29 -9
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +170 -68
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +2 -2
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-toolbar.umd.js +14 -4
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.min.js +1 -1
- package/bundles/material-toolbar.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +53 -26
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +1 -1
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js +25 -16
- package/bundles/material-tree.umd.js.map +1 -1
- package/bundles/material-tree.umd.min.js +1 -1
- package/bundles/material-tree.umd.min.js.map +1 -1
- package/bundles/material.umd.js +2853 -1010
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -21
- package/bundles/material.umd.min.js.map +1 -1
- package/button/typings/button.d.ts +0 -5
- package/button/typings/index.metadata.json +1 -1
- package/button-toggle/typings/index.metadata.json +1 -1
- package/card/typings/index.metadata.json +1 -1
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip-list.d.ts +1 -1
- package/chips/typings/chip.d.ts +2 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/index.metadata.json +1 -1
- package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/core/typings/public-api.d.ts +1 -1
- package/datepicker/typings/calendar-body.d.ts +21 -5
- package/datepicker/typings/calendar.d.ts +4 -1
- package/datepicker/typings/datepicker.d.ts +3 -0
- package/datepicker/typings/index.metadata.json +1 -1
- package/datepicker/typings/month-view.d.ts +4 -2
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +60 -29
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/badge.js +29 -6
- package/esm2015/badge.js.map +1 -1
- package/esm2015/bottom-sheet.js +45 -22
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js +20 -11
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +20 -15
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +5 -5
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +30 -12
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +64 -28
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +148 -129
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +124 -41
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +77 -40
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/divider.js +4 -4
- package/esm2015/divider.js.map +1 -1
- package/esm2015/expansion.js +58 -31
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +94 -34
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +45 -17
- package/esm2015/grid-list.js.map +1 -1
- package/esm2015/icon.js +136 -67
- package/esm2015/icon.js.map +1 -1
- package/esm2015/input.js +44 -23
- package/esm2015/input.js.map +1 -1
- package/esm2015/list.js +47 -22
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +13 -12
- package/esm2015/material.js.map +1 -1
- package/esm2015/menu.js +109 -63
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +35 -12
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-bar.js +26 -13
- package/esm2015/progress-bar.js.map +1 -1
- package/esm2015/progress-spinner.js +24 -14
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +22 -21
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +116 -53
- package/esm2015/select.js.map +1 -1
- package/esm2015/sidenav.js +75 -28
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/slide-toggle.js +23 -15
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +54 -24
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +41 -21
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +47 -24
- package/esm2015/sort.js.map +1 -1
- package/esm2015/stepper.js +35 -32
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +31 -11
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +113 -53
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/toolbar.js +9 -5
- package/esm2015/toolbar.js.map +1 -1
- package/esm2015/tooltip.js +43 -28
- package/esm2015/tooltip.js.map +1 -1
- package/esm2015/tree.js +22 -17
- package/esm2015/tree.js.map +1 -1
- package/esm5/autocomplete.es5.js +128 -34
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/badge.es5.js +40 -7
- package/esm5/badge.es5.js.map +1 -1
- package/esm5/bottom-sheet.es5.js +70 -23
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js +38 -15
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +23 -16
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +5 -5
- package/esm5/card.es5.js.map +1 -1
- package/esm5/checkbox.es5.js +58 -17
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +127 -37
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +192 -129
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +233 -55
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +140 -42
- package/esm5/dialog.es5.js.map +1 -1
- package/esm5/divider.es5.js +4 -4
- package/esm5/divider.es5.js.map +1 -1
- package/esm5/expansion.es5.js +56 -31
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +125 -36
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +68 -17
- package/esm5/grid-list.es5.js.map +1 -1
- package/esm5/icon.es5.js +279 -80
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/input.es5.js +52 -24
- package/esm5/input.es5.js.map +1 -1
- package/esm5/list.es5.js +72 -24
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +13 -12
- package/esm5/material.es5.js.map +1 -1
- package/esm5/menu.es5.js +170 -65
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +55 -13
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-bar.es5.js +33 -14
- package/esm5/progress-bar.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +31 -15
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +42 -42
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +193 -55
- package/esm5/select.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +107 -28
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +32 -16
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +94 -24
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +73 -21
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +53 -26
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/stepper.es5.js +40 -38
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +31 -11
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +162 -61
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/toolbar.es5.js +16 -6
- package/esm5/toolbar.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +55 -28
- package/esm5/tooltip.es5.js.map +1 -1
- package/esm5/tree.es5.js +27 -18
- package/esm5/tree.es5.js.map +1 -1
- package/expansion/typings/expansion-panel-header.d.ts +2 -2
- package/expansion/typings/expansion-panel.d.ts +19 -2
- package/expansion/typings/index.metadata.json +1 -1
- package/form-field/typings/form-field.d.ts +15 -4
- package/form-field/typings/index.metadata.json +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/icon/typings/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/material.d.ts +1 -1
- package/material.metadata.json +3 -3
- package/menu/typings/index.d.ts +4 -4
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-directive.d.ts +1 -0
- package/menu/typings/menu-item.d.ts +2 -0
- package/package.json +5 -5
- package/paginator/typings/index.metadata.json +1 -1
- package/paginator/typings/paginator.d.ts +7 -3
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-bar/typings/index.metadata.json +1 -1
- package/radio/typings/index.metadata.json +1 -1
- package/radio/typings/radio.d.ts +2 -6
- package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
- package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
- package/schematics/ng-add/theming/theming.js +35 -19
- package/schematics/ng-add/theming/theming.js.map +1 -1
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/select/typings/index.metadata.json +1 -1
- package/select/typings/select.d.ts +12 -2
- package/sidenav/typings/drawer.d.ts +9 -2
- package/sidenav/typings/index.metadata.json +1 -1
- package/slide-toggle/typings/index.metadata.json +1 -1
- package/slider/typings/index.metadata.json +1 -1
- package/snack-bar/typings/index.metadata.json +1 -1
- package/sort/typings/index.metadata.json +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/step-header.d.ts +3 -5
- package/tabs/typings/index.d.ts +5 -5
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/tab-body.d.ts +2 -0
- package/tabs/typings/tab-group.d.ts +11 -2
- package/tabs/typings/tab-header.d.ts +9 -3
- package/toolbar/typings/index.metadata.json +1 -1
- package/tooltip/typings/index.metadata.json +1 -1
- package/tree/typings/data-source/flat-data-source.d.ts +2 -2
- package/tree/typings/index.metadata.json +1 -1
- package/typings/autocomplete/index.d.ts +1 -1
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/badge/index.metadata.json +1 -1
- package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/bottom-sheet/index.metadata.json +1 -1
- package/typings/button/button.d.ts +0 -5
- package/typings/button/index.metadata.json +1 -1
- package/typings/button-toggle/index.metadata.json +1 -1
- package/typings/card/index.metadata.json +1 -1
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip-list.d.ts +1 -1
- package/typings/chips/chip.d.ts +2 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/index.metadata.json +1 -1
- package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/core/public-api.d.ts +1 -1
- package/typings/datepicker/calendar-body.d.ts +21 -5
- package/typings/datepicker/calendar.d.ts +4 -1
- package/typings/datepicker/datepicker.d.ts +3 -0
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/datepicker/month-view.d.ts +4 -2
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/index.d.ts +1 -1
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/badge/index.metadata.json +1 -1
- package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
- package/typings/esm5/button/button.d.ts +0 -5
- package/typings/esm5/button/index.metadata.json +1 -1
- package/typings/esm5/button-toggle/index.metadata.json +1 -1
- package/typings/esm5/card/index.metadata.json +1 -1
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip-list.d.ts +1 -1
- package/typings/esm5/chips/chip.d.ts +2 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/esm5/core/public-api.d.ts +1 -1
- package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
- package/typings/esm5/datepicker/calendar.d.ts +4 -1
- package/typings/esm5/datepicker/datepicker.d.ts +3 -0
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/datepicker/month-view.d.ts +4 -2
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
- package/typings/esm5/expansion/index.metadata.json +1 -1
- package/typings/esm5/form-field/form-field.d.ts +15 -4
- package/typings/esm5/form-field/index.metadata.json +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/icon/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/menu/index.d.ts +4 -4
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-directive.d.ts +1 -0
- package/typings/esm5/menu/menu-item.d.ts +2 -0
- package/typings/esm5/paginator/index.metadata.json +1 -1
- package/typings/esm5/paginator/paginator.d.ts +7 -3
- package/typings/esm5/progress-bar/index.metadata.json +1 -1
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/radio/radio.d.ts +2 -6
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/select/select.d.ts +12 -2
- package/typings/esm5/sidenav/drawer.d.ts +9 -2
- package/typings/esm5/sidenav/index.metadata.json +1 -1
- package/typings/esm5/slide-toggle/index.metadata.json +1 -1
- package/typings/esm5/slider/index.metadata.json +1 -1
- package/typings/esm5/snack-bar/index.metadata.json +1 -1
- package/typings/esm5/sort/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/step-header.d.ts +3 -5
- package/typings/esm5/tabs/index.d.ts +5 -5
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/tab-body.d.ts +2 -0
- package/typings/esm5/tabs/tab-group.d.ts +11 -2
- package/typings/esm5/tabs/tab-header.d.ts +9 -3
- package/typings/esm5/toolbar/index.metadata.json +1 -1
- package/typings/esm5/tooltip/index.metadata.json +1 -1
- package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/esm5/tree/index.metadata.json +1 -1
- package/typings/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/expansion/expansion-panel.d.ts +19 -2
- package/typings/expansion/index.metadata.json +1 -1
- package/typings/form-field/form-field.d.ts +15 -4
- package/typings/form-field/index.metadata.json +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/icon/index.metadata.json +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/menu/index.d.ts +4 -4
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-directive.d.ts +1 -0
- package/typings/menu/menu-item.d.ts +2 -0
- package/typings/paginator/index.metadata.json +1 -1
- package/typings/paginator/paginator.d.ts +7 -3
- package/typings/progress-bar/index.metadata.json +1 -1
- package/typings/radio/index.metadata.json +1 -1
- package/typings/radio/radio.d.ts +2 -6
- package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/typings/select/index.metadata.json +1 -1
- package/typings/select/select.d.ts +12 -2
- package/typings/sidenav/drawer.d.ts +9 -2
- package/typings/sidenav/index.metadata.json +1 -1
- package/typings/slide-toggle/index.metadata.json +1 -1
- package/typings/slider/index.metadata.json +1 -1
- package/typings/snack-bar/index.metadata.json +1 -1
- package/typings/sort/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/step-header.d.ts +3 -5
- package/typings/tabs/index.d.ts +5 -5
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/tab-body.d.ts +2 -0
- package/typings/tabs/tab-group.d.ts +11 -2
- package/typings/tabs/tab-header.d.ts +9 -3
- package/typings/toolbar/index.metadata.json +1 -1
- package/typings/tooltip/index.metadata.json +1 -1
- package/typings/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/tree/index.metadata.json +1 -1
- package/schematics/ng-add/theming/custom-theme.js.map +0 -1
|
@@ -42,7 +42,7 @@ function __extends(d, b) {
|
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* @fileoverview added by tsickle
|
|
45
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
45
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
46
46
|
*/
|
|
47
47
|
/**
|
|
48
48
|
* Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes
|
|
@@ -66,7 +66,7 @@ var MatTreeNodeOutlet = /** @class */ (function () {
|
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* @fileoverview added by tsickle
|
|
69
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
69
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
70
70
|
*/
|
|
71
71
|
/** @type {?} */
|
|
72
72
|
var _MatTreeNodeMixinBase = core$1.mixinTabIndex(core$1.mixinDisabled(tree.CdkTreeNode));
|
|
@@ -151,10 +151,17 @@ var MatNestedTreeNode = /** @class */ (function (_super) {
|
|
|
151
151
|
// This is a workaround for https://github.com/angular/angular/issues/23091
|
|
152
152
|
// In aot mode, the lifecycle hooks from parent class are not called.
|
|
153
153
|
// TODO(tinayuangao): Remove when the angular issue #23091 is fixed
|
|
154
|
+
// This is a workaround for https://github.com/angular/angular/issues/23091
|
|
155
|
+
// In aot mode, the lifecycle hooks from parent class are not called.
|
|
156
|
+
// TODO(tinayuangao): Remove when the angular issue #23091 is fixed
|
|
154
157
|
/**
|
|
155
158
|
* @return {?}
|
|
156
159
|
*/
|
|
157
|
-
MatNestedTreeNode.prototype.ngAfterContentInit =
|
|
160
|
+
MatNestedTreeNode.prototype.ngAfterContentInit =
|
|
161
|
+
// This is a workaround for https://github.com/angular/angular/issues/23091
|
|
162
|
+
// In aot mode, the lifecycle hooks from parent class are not called.
|
|
163
|
+
// TODO(tinayuangao): Remove when the angular issue #23091 is fixed
|
|
164
|
+
/**
|
|
158
165
|
* @return {?}
|
|
159
166
|
*/
|
|
160
167
|
function () {
|
|
@@ -201,7 +208,7 @@ var MatNestedTreeNode = /** @class */ (function (_super) {
|
|
|
201
208
|
|
|
202
209
|
/**
|
|
203
210
|
* @fileoverview added by tsickle
|
|
204
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
211
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
205
212
|
*/
|
|
206
213
|
/**
|
|
207
214
|
* Wrapper for the CdkTree padding with Material design styles.
|
|
@@ -227,7 +234,7 @@ var MatTreeNodePadding = /** @class */ (function (_super) {
|
|
|
227
234
|
|
|
228
235
|
/**
|
|
229
236
|
* @fileoverview added by tsickle
|
|
230
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
237
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
231
238
|
*/
|
|
232
239
|
/**
|
|
233
240
|
* Wrapper for the CdkTable with Material design styles.
|
|
@@ -260,7 +267,7 @@ var MatTree = /** @class */ (function (_super) {
|
|
|
260
267
|
|
|
261
268
|
/**
|
|
262
269
|
* @fileoverview added by tsickle
|
|
263
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
270
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
264
271
|
*/
|
|
265
272
|
/**
|
|
266
273
|
* Wrapper for the CdkTree's toggle with Material design styles.
|
|
@@ -290,7 +297,7 @@ var MatTreeNodeToggle = /** @class */ (function (_super) {
|
|
|
290
297
|
|
|
291
298
|
/**
|
|
292
299
|
* @fileoverview added by tsickle
|
|
293
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
300
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
294
301
|
*/
|
|
295
302
|
/** @type {?} */
|
|
296
303
|
var MAT_TREE_DIRECTIVES = [
|
|
@@ -317,7 +324,7 @@ var MatTreeModule = /** @class */ (function () {
|
|
|
317
324
|
|
|
318
325
|
/**
|
|
319
326
|
* @fileoverview added by tsickle
|
|
320
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
327
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
321
328
|
*/
|
|
322
329
|
/**
|
|
323
330
|
* Tree flattener to convert a normal type of node to node with children & level information.
|
|
@@ -418,13 +425,15 @@ MatTreeFlattener = /** @class */ (function () {
|
|
|
418
425
|
if (this.isExpandable(flatNode)) {
|
|
419
426
|
/** @type {?} */
|
|
420
427
|
var childrenNodes = this.getChildren(node);
|
|
421
|
-
if (
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
+
if (childrenNodes) {
|
|
429
|
+
if (Array.isArray(childrenNodes)) {
|
|
430
|
+
this._flattenChildren(childrenNodes, level, resultNodes, parentMap);
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
childrenNodes.pipe(operators.take(1)).subscribe(function (children) {
|
|
434
|
+
_this._flattenChildren(children, level, resultNodes, parentMap);
|
|
435
|
+
});
|
|
436
|
+
}
|
|
428
437
|
}
|
|
429
438
|
}
|
|
430
439
|
return resultNodes;
|
|
@@ -600,7 +609,7 @@ MatTreeFlatDataSource = /** @class */ (function (_super) {
|
|
|
600
609
|
|
|
601
610
|
/**
|
|
602
611
|
* @fileoverview added by tsickle
|
|
603
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
612
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
604
613
|
*/
|
|
605
614
|
/**
|
|
606
615
|
* Data source for nested tree.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-tree.umd.js","sources":["../../src/lib/tree/data-source/nested-data-source.ts","../../src/lib/tree/data-source/flat-data-source.ts","../../src/lib/tree/tree-module.ts","../../src/lib/tree/toggle.ts","../../src/lib/tree/tree.ts","../../src/lib/tree/padding.ts","../../src/lib/tree/node.ts","../../src/lib/tree/outlet.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[]) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private treeControl: FlatTreeControl<F>,\n private treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this.treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this.treeFlattener.expandFlattenedNodes(this._flattenedData.value, this.treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkNestedTreeNode, CdkTree, CdkTreeNode, CdkTreeNodeDef} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable, CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\nexport const _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nexport const _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T>\n implements AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n\n @Input('matNestedTreeNode') node: T;\n\n @ContentChildren(MatTreeNodeOutlet) nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["DataSource","merge","map","BehaviorSubject","tslib_1.__extends","take","CdkTreeModule","CommonModule","MatCommonModule","NgModule","CdkTreeNodeToggle","Input","Directive","CdkTree","ChangeDetectionStrategy","ViewEncapsulation","Component","CdkTreeNodePadding","ContentChildren","Attribute","IterableDiffers","ElementRef","CdkTreeNode","CdkNestedTreeNode","CdkTreeNodeDef","mixinTabIndex","mixinDisabled","ViewContainerRef"],"mappings":";;;;;;;;;;;;;AQAA;;;;;;;;;;;;;;;;AAgBA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;SAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC9B,CAAC;;AAEF,AAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAC5B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;CACxF;;;;;;;;;;;IDNC,SAAF,iBAAA,CAAqB,aAA+B,EAApD;QAAqB,IAArB,CAAA,aAAkC,GAAb,aAAa,CAAkB;KAAI;;QAJxD,EAAA,IAAA,EAACY,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,qBAAqB;iBAChC,EAAD,EAAA;;;;QATA,EAAA,IAAA,EAAEe,qBAAgB,EAAlB;;IAVA,OAAA,iBAAA,CAAA;;;;;;;;AD6BA,AAAA,IAAa,qBAAqB,GAC9BF,oBAAa,CAACC,oBAAa,CAACJ,gBAAW,CAAC,CAAC,CAAC;;AAE9C,AAAA,IAAa,2BAA2B,GAEhCG,oBAAa,CAACC,oBAAa,CAACH,sBAAiB,CAAC,CAAC,CAAC;;;;;;IAiBpBnB,SAApC,CAAA,WAAA,EAAA,MAAA,CAAA,CAA4D;IAI1D,SAAF,WAAA,CAAwB,WAAoC,EACpC,KAAiB,EACJ,QAAgB,EAFrD;QAAE,IAAF,KAAA,GAGI,MAHJ,CAAA,IAAA,CAAA,IAAA,EAGU,WAAW,EAAE,KAAK,CAAC,IAH7B,IAAA,CAMG;QANqB,KAAxB,CAAA,WAAmC,GAAX,WAAW,CAAyB;QACpC,KAAxB,CAAA,KAA6B,GAAL,KAAK,CAAY;QAHvC,KAAF,CAAA,IAAA,GAAwC,UAAU,CAAC;QAO/C,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;KACvC;;QAtBH,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;oBAChC,IAAI,EAAE;wBACJ,sBAAsB,EAAE,YAAY;wBACpC,mBAAmB,EAAE,oCAAoC;wBACzD,aAAa,EAAE,MAAM;wBACrB,OAAO,EAAE,eAAe;qBACzB;oBACD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEU,gBAAW,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;iBAC9D,EAAD,EAAA;;;;QApCA,EAAA,IAAA,EAAED,eAAU,EAAZ;QANA,EAAA,IAAA,EAA2BR,YAAO,EAAlC;QAiDA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAeM,cAAS,EAAxB,IAAA,EAAA,CAAyB,UAAU,EAAnC,EAAA,CAAA,EAAA;;;QAJA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGR,UAAK,EAAR,CAAA;;IArDA,OAAA,WAAA,CAAA;CAmDA,CAAoC,qBAAqB,CAAzD,CAAA,CAAA;;;;;;IAuBuCP,SAAvC,CAAA,cAAA,EAAA,MAAA,CAAA,CAAwD;;;;;QAPxD,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,MAAM,EAAE;wBACN,0BAA0B;qBAC3B;oBACD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEY,mBAAc,EAAE,WAAW,EAAE,cAAc,EAAC,CAAC;iBACpE,EAAD,EAAA;;;QAEA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGb,UAAK,EAAR,IAAA,EAAA,CAAS,aAAa,EAAtB,EAAA,CAAA;;IA3EA,OAAA,cAAA,CAAA;CA0EA,CAAuCa,mBAAc,CAArD,CAAA,CAAA;;;;;;IAqB0CpB,SAA1C,CAAA,iBAAA,EAAA,MAAA,CAAA,CAAwE;IAOtE,SAAF,iBAAA,CAAwB,WAAoC,EACpC,KAAiB,EACjB,QAAyB,EACZ,QAAgB,EAHrD;QAAE,IAAF,KAAA,GAII,MAJJ,CAAA,IAAA,CAAA,IAAA,EAIU,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,IAJvC,IAAA,CAOG;QAPqB,KAAxB,CAAA,WAAmC,GAAX,WAAW,CAAyB;QACpC,KAAxB,CAAA,KAA6B,GAAL,KAAK,CAAY;QACjB,KAAxB,CAAA,QAAgC,GAAR,QAAQ,CAAiB;QAI7C,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;KACvC;;;;;;;IAKD,iBAAF,CAAA,SAAA,CAAA,kBAAoB;;;IAAlB,YAAF;QACI,MAAJ,CAAA,SAAA,CAAU,kBAAkB,CAA5B,IAAA,CAAA,IAAA,CAA8B,CAAC;KAC5B,CAAH;;;;IAEE,iBAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,MAAJ,CAAA,SAAA,CAAU,WAAW,CAArB,IAAA,CAAA,IAAA,CAAuB,CAAC;KACrB,CAAH;;QAvCA,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,mBAAmB;oBAC7B,IAAI,EAAE;wBACJ,sBAAsB,EAAE,YAAY;wBACpC,aAAa,EAAE,MAAM;wBACrB,OAAO,EAAE,sBAAsB;qBAChC;oBACD,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;oBAChC,SAAS,EAAE;wBACT,EAAC,OAAO,EAAEW,sBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC;wBAC5D,EAAC,OAAO,EAAED,gBAAW,EAAE,WAAW,EAAE,iBAAiB,EAAC;qBACvD;iBACF,EAAD,EAAA;;;;QAhFA,EAAA,IAAA,EAAED,eAAU,EAAZ;QANA,EAAA,IAAA,EAA2BR,YAAO,EAAlC;QAQA,EAAA,IAAA,EAAEO,oBAAe,EAAjB;QAyFA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAeD,cAAS,EAAxB,IAAA,EAAA,CAAyB,UAAU,EAAnC,EAAA,CAAA,EAAA;;;QAPA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGR,UAAK,EAAR,IAAA,EAAA,CAAS,mBAAmB,EAA5B,EAAA,CAAA;QAEA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAGO,oBAAe,EAAlB,IAAA,EAAA,CAAmB,iBAAiB,EAApC,EAAA,CAAA;;IApGA,OAAA,iBAAA,CAAA;CA+FA,CAA0C,2BAA2B,CAArE,CAAA,CAAA;;;;;;;;;;;ID9E2Cd,SAA3C,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAgE;;;;;QAJhE,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEK,uBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC;iBAC5E,EAAD,EAAA;;;QAIA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAGN,UAAK,EAAR,IAAA,EAAA,CAAS,oBAAoB,EAA7B,EAAA,CAAA;QAGA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAGA,UAAK,EAAR,IAAA,EAAA,CAAS,0BAA0B,EAAnC,EAAA,CAAA;;IAvBA,OAAA,kBAAA,CAAA;CAiBA,CAA2CM,uBAAkB,CAA7D,CAAA,CAAA;;;;;;;;;;;IDYgCb,SAAhC,CAAA,OAAA,EAAA,MAAA,CAAA,CAA0C;;;;;QAd1C,EAAA,IAAA,EAACY,cAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,UAAA;oBACE,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,iDAAZ;oBACE,IAAF,EAAA;wBACA,OAAA,EAAA,UAAA;wBACM,MAAN,EAAA,MAAA;qBACA;oBACA,MAAA,EAAA,CAAA,iLAAA,CAAA;oBACA,aAAA,EAAAD,sBAAA,CAAA,IAAA;oBACE,eAAF,EAAAD,4BAAA,CAAA,MAAA;oBACE,SAAF,EAAA,CAAA,EAAA,OAAA,EAAAD,YAAA,EAAkC,WAAlC,EAAA,OAAA,EAAA,CAAA;iBACA,EAAA,EAAA;KACA,CAAA;IACA,OAAA,CAAA,cAAA,GAAA;;;IAGA,OAAA,OAAA,CAAA;;;;;;;;;;;;IDV0CT,SAA1C,CAAA,iBAAA,EAAA,MAAA,CAAA,CAA8D;;;QAC5D,KAAF,CAAA,SAAA,GAA4D,KAAK,CAAC;;;;QARlE,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,IAAI,EAAE;wBACJ,SAAS,EAAE,iBAAiB;qBAC7B;oBACD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEF,sBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC,CAAC;iBAC1E,EAAD,EAAA;;;QAEA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAGC,UAAK,EAAR,IAAA,EAAA,CAAS,4BAA4B,EAArC,EAAA,CAAA;;IAtBA,OAAA,iBAAA,CAAA;CAqBA,CAA0CD,sBAAiB,CAA3D,CAAA,CAAA;;;;;;;ADFA,IAAM,mBAAmB,GAAG;IAC1B,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,OAAO;IACP,WAAW;IACX,iBAAiB;CAClB,CAAC;;;;;QAEF,EAAA,IAAA,EAACD,aAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE,CAACH,kBAAa,EAAEC,mBAAY,EAAEC,sBAAe,CAAC;oBACvD,OAAO,EAAE,mBAAmB;oBAC5B,YAAY,EAAE,mBAAmB;iBAClC,EAAD,EAAA;;IAjCA,OAAA,aAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AD+CA,AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gBAAA,kBAAA,YAAA;IAEE,SAAF,gBAAA,CAAqB,iBAAgD,EAChD,QADrB,EAEqB,YAFrB,EAGqB,WAHrB,EAAA;QAAqB,IAArB,CAAA,iBAAsC,GAAjB,iBAAiB,CAA+B;QAChD,IAArB,CAAA,QAA6B,GAAR,QAAQ,CAA7B;QACqB,IAArB,CAAA,YAAiC,GAAZ,YAAY,CAAjC;QACqB,IAArB,CAAA,WAAgC,GAAX,WAAW,CAAhC;KAAwE;;;;;;;;IAEtE,gBAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;IAAZ,UAAa,IAAO,EAAE,KAAa,EACtB,WAAgB,EAAE,SAAoB,EADrD;QAAE,IAAF,KAAA,GAAA,IAAA,CAgBG;;QAdC,IAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;;YAC/B,IAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;aACrE;iBAAM;gBACL,aAAa,CAAC,IAAI,CAACH,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,QAAQ,EAAtD;oBACU,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBAChE,CAAC,CAAC;aACJ;SACF;QACD,OAAO,WAAW,CAAC;KACpB,CAAH;;;;;;;;IAEE,gBAAF,CAAA,SAAA,CAAA,gBAAkB;;;;;;;IAAhB,UAAiB,QAAa,EAAE,KAAa,EAC5B,WAAgB,EAAE,SAAoB,EADzD;QAAE,IAAF,KAAA,GAAA,IAAA,CAOG;QALC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAlC;;YACM,IAAI,cAAc,GAAc,SAAS,CAAC,KAAK,EAAE,CAAC;YAClD,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;SAClE,CAAC,CAAC;KACJ,CAAH;;;;;;;;;;;;;IAOE,gBAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;IAAZ,UAAa,cAAmB,EAAlC;QAAE,IAAF,KAAA,GAAA,IAAA,CAIG;;QAHC,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,cAAc,CAAC,OAAO,CAAC,UAAA,IAAI,EAA/B,EAAmC,OAAA,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAA9E,EAA8E,CAAC,CAAC;QAC5E,OAAO,WAAW,CAAC;KACpB,CAAH;;;;;;;;;;;;IAME,gBAAF,CAAA,SAAA,CAAA,oBAAsB;;;;;;;IAApB,UAAqB,KAAU,EAAE,WAA2B,EAA9D;QAAE,IAAF,KAAA,GAAA,IAAA,CAkBG;;QAjBC,IAAI,OAAO,GAAQ,EAAE,CAAC;;QACtB,IAAI,aAAa,GAAc,EAAE,CAAC;QAClC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAExB,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,EAAtB;;YACM,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;YACD,IAAI,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC3B,aAAa,CAAC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACvE;SACF,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;KAChB,CAAH;IAlHA,OAAA,gBAAA,CAAA;CAmHA,EAAA,CAAC,CAAA;;;;;;;;;AAUD,AAAA,IAAA;;;;;;;;AAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;IAAiDD,SAAjD,CAAA,qBAAA,EAAA,MAAA,CAAA,CAA8D;IAa5D,SAAF,qBAAA,CAAsB,WAA+B,EAC/B,aADtB,EAEc,WAAqB,EAFnC;QAEc,IAAd,WAAA,KAAA,KAAA,CAAA,EAAc,EAAA,WAAd,GAAA,EAAmC,CAAnC,EAAA;QAFE,IAAF,KAAA,GAGI,MAHJ,CAAA,IAAA,CAAA,IAAA,CAGW,IAHX,IAAA,CAKG;QALmB,KAAtB,CAAA,WAAiC,GAAX,WAAW,CAAoB;QAC/B,KAAtB,CAAA,aAAmC,GAAb,aAAa,CAAnC;QAbE,KAAF,CAAA,cAAA,GAAmB,IAAID,oBAAe,CAAM,EAAE,CAAC,CAAC;QAE9C,KAAF,CAAA,aAAA,GAAkB,IAAIA,oBAAe,CAAM,EAAE,CAAC,CAAC;QAc3C,KAAI,CAAC,KAAK,GAAG,IAAIA,oBAAe,CAAM,WAAW,CAAC,CAAC;;KACpD;IAZD,MAAF,CAAA,cAAA,CAAM,qBAAN,CAAA,SAAA,EAAA,MAAU,EAAV;;;;QAAE,YAAF,EAAe,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;QACvC,UAAS,KAAU,EAArB;YACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACxD;;;KALH,CAAA,CAAyC;;;;;IAcvC,qBAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,UAAQ,gBAAkC,EAA5C;QAAE,IAAF,KAAA,GAAA,IAAA,CAWG;;QAVC,IAAM,OAAO,GAAG;YACd,gBAAgB,CAAC,UAAU;YAC3B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ;YACxC,IAAI,CAAC,cAAc;SACpB,CAAC;QACF,OAAOF,UAAK,CAAhB,KAAA,CAAA,KAAA,CAAA,EAAoB,OAAO,CAA3B,CAA6B,IAAI,CAACC,aAAG,CAAC,YAAtC;YACM,KAAI,CAAC,aAAa,CAAC,IAAI,CACrB,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACxF,OAAO,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACjC,CAAC,CAAC,CAAC;KACL,CAAH;;;;IAEE,qBAAF,CAAA,SAAA,CAAA,UAAY;;;IAAV,YAAF;;KAEG,CAAH;IAhKA,OAAA,qBAAA,CAAA;CA6HA,CAAiDF,sBAAU,CAA3D,CAoCC,CApCD;;;;;;;;;;;;;AD1GA,AAAA,IAAA;;;;;;;AAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;IAAgDI,SAAhD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAA6D;;;QAC3D,KAAF,CAAA,KAAA,GAAU,IAAID,oBAAe,CAAM,EAAE,CAAC,CAAC;;;IAKrC,MAAF,CAAA,cAAA,CAAM,uBAAN,CAAA,SAAA,EAAA,MAAU,EAAV;;;;;;;;QAAE,YAAF,EAAe,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;QACvC,UAAS,KAAU,EAArB,EAAyB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;;;KADlD,CAAA,CAAyC;;;;;IAGvC,uBAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,UAAQ,gBAAkC,EAA5C;QAAE,IAAF,KAAA,GAAA,IAAA,CAKG;QAJC,OAAOF,UAAK,CAAhB,KAAA,CAAA,KAAA,CAAA,EAAoB,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAA7D,CACO,IAAI,CAACC,aAAG,CAAC,YADhB;YAEQ,OAAO,KAAI,CAAC,IAAI,CAAC;SAClB,CAAC,CAAC,CAAC;KACP,CAAH;;;;IAEE,uBAAF,CAAA,SAAA,CAAA,UAAY;;;IAAV,YAAF;;KAEG,CAAH;IArCA,OAAA,uBAAA,CAAA;CAmBA,CAAgDF,sBAAU,CAA1D,CAmBC;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"material-tree.umd.js","sources":["../../src/lib/tree/data-source/nested-data-source.ts","../../src/lib/tree/data-source/flat-data-source.ts","../../src/lib/tree/tree-module.ts","../../src/lib/tree/toggle.ts","../../src/lib/tree/tree.ts","../../src/lib/tree/padding.ts","../../src/lib/tree/node.ts","../../src/lib/tree/outlet.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private treeControl: FlatTreeControl<F>,\n private treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this.treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this.treeFlattener.expandFlattenedNodes(this._flattenedData.value, this.treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkNestedTreeNode, CdkTree, CdkTreeNode, CdkTreeNodeDef} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable, CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\nexport const _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nexport const _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T>\n implements AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n\n @Input('matNestedTreeNode') node: T;\n\n @ContentChildren(MatTreeNodeOutlet) nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["DataSource","merge","map","BehaviorSubject","tslib_1.__extends","take","CdkTreeModule","CommonModule","MatCommonModule","NgModule","CdkTreeNodeToggle","Input","Directive","CdkTree","ChangeDetectionStrategy","ViewEncapsulation","Component","CdkTreeNodePadding","ContentChildren","Attribute","IterableDiffers","ElementRef","CdkTreeNode","CdkNestedTreeNode","CdkTreeNodeDef","mixinTabIndex","mixinDisabled","ViewContainerRef"],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/tree"),require("@angular/material/core"),require("@angular/common"),require("@angular/cdk/collections"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/material/tree",["exports","@angular/core","@angular/cdk/tree","@angular/material/core","@angular/common","@angular/cdk/collections","rxjs","rxjs/operators"],t):t((e.ng=e.ng||{},e.ng.material=e.ng.material||{},e.ng.material.tree={}),e.ng.core,e.ng.cdk.tree,e.ng.material.core,e.ng.common,e.ng.cdk.collections,e.rxjs,e.rxjs.operators)}(this,function(e,t,r,n,o,a,i,d){"use strict";function s(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},l=function(){function e(e){this.viewContainer=e}return e.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeOutlet]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef}]},e}(),c=n.mixinTabIndex(n.mixinDisabled(r.CdkTreeNode)),p=n.mixinTabIndex(n.mixinDisabled(r.CdkNestedTreeNode)),f=function(e){function n(t,r,n){var o=e.call(this,t,r)||this;return o._elementRef=t,o._tree=r,o.role="treeitem",o.tabIndex=Number(n)||0,o}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"mat-tree-node",exportAs:"matTreeNode",inputs:["disabled","tabIndex"],host:{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":'role === "treeitem" ? level : null',"[attr.role]":"role",class:"mat-tree-node"},providers:[{provide:r.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:r.CdkTree},{type:String,decorators:[{type:t.Attribute,args:["tabindex"]}]}]},n.propDecorators={role:[{type:t.Input}]},n}(c),g=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeDef]",inputs:["when: matTreeNodeDefWhen"],providers:[{provide:r.CdkTreeNodeDef,useExisting:n}]}]}],n.propDecorators={data:[{type:t.Input,args:["matTreeNode"]}]},n}(r.CdkTreeNodeDef),h=function(e){function n(t,r,n,o){var a=e.call(this,t,r,n)||this;return a._elementRef=t,a._tree=r,a._differs=n,a.tabIndex=Number(o)||0,a}return s(n,e),n.prototype.ngAfterContentInit=function(){e.prototype.ngAfterContentInit.call(this)},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this)},n.decorators=[{type:t.Directive,args:[{selector:"mat-nested-tree-node",exportAs:"matNestedTreeNode",host:{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role",class:"mat-nested-tree-node"},inputs:["disabled","tabIndex"],providers:[{provide:r.CdkNestedTreeNode,useExisting:n},{provide:r.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:r.CdkTree},{type:t.IterableDiffers},{type:String,decorators:[{type:t.Attribute,args:["tabindex"]}]}]},n.propDecorators={node:[{type:t.Input,args:["matNestedTreeNode"]}],nodeOutlet:[{type:t.ContentChildren,args:[l]}]},n}(p),m=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodePadding]",providers:[{provide:r.CdkTreeNodePadding,useExisting:n}]}]}],n.propDecorators={level:[{type:t.Input,args:["matTreeNodePadding"]}],indent:[{type:t.Input,args:["matTreeNodePaddingIndent"]}]},n}(r.CdkTreeNodePadding),y=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Component,args:[{selector:"mat-tree",exportAs:"matTree",template:"<ng-container matTreeNodeOutlet></ng-container>",host:{class:"mat-tree",role:"tree"},styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;min-height:48px;flex:1;overflow:hidden;word-wrap:break-word}.mat-nested-tree-ndoe{border-bottom-width:0}"],encapsulation:t.ViewEncapsulation.None,changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[{provide:r.CdkTree,useExisting:n}]}]}],n.propDecorators={_nodeOutlet:[{type:t.ViewChild,args:[l]}]},n}(r.CdkTree),v=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.recursive=!1,t}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeToggle]",host:{"(click)":"_toggle($event)"},providers:[{provide:r.CdkTreeNodeToggle,useExisting:n}]}]}],n.propDecorators={recursive:[{type:t.Input,args:["matTreeNodeToggleRecursive"]}]},n}(r.CdkTreeNodeToggle),x=[h,g,m,v,y,f,l],N=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[r.CdkTreeModule,o.CommonModule,n.MatCommonModule],exports:x,declarations:x}]}],e}(),T=function(){function e(e,t,r,n){this.transformFunction=e,this.getLevel=t,this.isExpandable=r,this.getChildren=n}return e.prototype._flattenNode=function(e,t,r,n){var o=this,a=this.transformFunction(e,t);if(r.push(a),this.isExpandable(a)){var i=this.getChildren(e);Array.isArray(i)?this._flattenChildren(i,t,r,n):i.pipe(d.take(1)).subscribe(function(e){o._flattenChildren(e,t,r,n)})}return r},e.prototype._flattenChildren=function(e,t,r,n){var o=this;e.forEach(function(a,i){var d=n.slice();d.push(i!=e.length-1),o._flattenNode(a,t+1,r,d)})},e.prototype.flattenNodes=function(e){var t=this,r=[];return e.forEach(function(e){return t._flattenNode(e,0,r,[])}),r},e.prototype.expandFlattenedNodes=function(e,t){var r=this,n=[],o=[];return o[0]=!0,e.forEach(function(e){for(var a=!0,i=0;i<=r.getLevel(e);i++)a=a&&o[i];a&&n.push(e),r.isExpandable(e)&&(o[r.getLevel(e)+1]=t.isExpanded(e))}),n},e}(),b=function(e){function t(t,r,n){void 0===n&&(n=[]);var o=e.call(this)||this;return o.treeControl=t,o.treeFlattener=r,o._flattenedData=new i.BehaviorSubject([]),o._expandedData=new i.BehaviorSubject([]),o._data=new i.BehaviorSubject(n),o}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this.treeFlattener.flattenNodes(this.data)),this.treeControl.dataNodes=this._flattenedData.value},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this,r=[e.viewChange,this.treeControl.expansionModel.onChange,this._flattenedData];return i.merge.apply(void 0,r).pipe(d.map(function(){return t._expandedData.next(t.treeFlattener.expandFlattenedNodes(t._flattenedData.value,t.treeControl)),t._expandedData.value}))},t.prototype.disconnect=function(){},t}(a.DataSource),_=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._data=new i.BehaviorSubject([]),t}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e)},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this;return i.merge.apply(void 0,[e.viewChange,this._data]).pipe(d.map(function(){return t.data}))},t.prototype.disconnect=function(){},t}(a.DataSource);e._MatTreeNodeMixinBase=c,e._MatNestedTreeNodeMixinBase=p,e.MatTreeNode=f,e.MatTreeNodeDef=g,e.MatNestedTreeNode=h,e.MatTreeNodePadding=m,e.MatTree=y,e.MatTreeModule=N,e.MatTreeNodeToggle=v,e.MatTreeNodeOutlet=l,e.MatTreeFlattener=T,e.MatTreeFlatDataSource=b,e.MatTreeNestedDataSource=_,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/tree"),require("@angular/material/core"),require("@angular/common"),require("@angular/cdk/collections"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/material/tree",["exports","@angular/core","@angular/cdk/tree","@angular/material/core","@angular/common","@angular/cdk/collections","rxjs","rxjs/operators"],t):t((e.ng=e.ng||{},e.ng.material=e.ng.material||{},e.ng.material.tree={}),e.ng.core,e.ng.cdk.tree,e.ng.material.core,e.ng.common,e.ng.cdk.collections,e.rxjs,e.rxjs.operators)}(this,function(e,t,r,n,o,a,i,d){"use strict";function s(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},l=function(){function e(e){this.viewContainer=e}return e.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeOutlet]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef}]},e}(),c=n.mixinTabIndex(n.mixinDisabled(r.CdkTreeNode)),p=n.mixinTabIndex(n.mixinDisabled(r.CdkNestedTreeNode)),f=function(e){function n(t,r,n){var o=e.call(this,t,r)||this;return o._elementRef=t,o._tree=r,o.role="treeitem",o.tabIndex=Number(n)||0,o}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"mat-tree-node",exportAs:"matTreeNode",inputs:["disabled","tabIndex"],host:{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":'role === "treeitem" ? level : null',"[attr.role]":"role",class:"mat-tree-node"},providers:[{provide:r.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:r.CdkTree},{type:String,decorators:[{type:t.Attribute,args:["tabindex"]}]}]},n.propDecorators={role:[{type:t.Input}]},n}(c),g=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeDef]",inputs:["when: matTreeNodeDefWhen"],providers:[{provide:r.CdkTreeNodeDef,useExisting:n}]}]}],n.propDecorators={data:[{type:t.Input,args:["matTreeNode"]}]},n}(r.CdkTreeNodeDef),h=function(e){function n(t,r,n,o){var a=e.call(this,t,r,n)||this;return a._elementRef=t,a._tree=r,a._differs=n,a.tabIndex=Number(o)||0,a}return s(n,e),n.prototype.ngAfterContentInit=function(){e.prototype.ngAfterContentInit.call(this)},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this)},n.decorators=[{type:t.Directive,args:[{selector:"mat-nested-tree-node",exportAs:"matNestedTreeNode",host:{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role",class:"mat-nested-tree-node"},inputs:["disabled","tabIndex"],providers:[{provide:r.CdkNestedTreeNode,useExisting:n},{provide:r.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:r.CdkTree},{type:t.IterableDiffers},{type:String,decorators:[{type:t.Attribute,args:["tabindex"]}]}]},n.propDecorators={node:[{type:t.Input,args:["matNestedTreeNode"]}],nodeOutlet:[{type:t.ContentChildren,args:[l]}]},n}(p),m=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodePadding]",providers:[{provide:r.CdkTreeNodePadding,useExisting:n}]}]}],n.propDecorators={level:[{type:t.Input,args:["matTreeNodePadding"]}],indent:[{type:t.Input,args:["matTreeNodePaddingIndent"]}]},n}(r.CdkTreeNodePadding),y=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:t.Component,args:[{selector:"mat-tree",exportAs:"matTree",template:"<ng-container matTreeNodeOutlet></ng-container>",host:{class:"mat-tree",role:"tree"},styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;min-height:48px;flex:1;overflow:hidden;word-wrap:break-word}.mat-nested-tree-ndoe{border-bottom-width:0}"],encapsulation:t.ViewEncapsulation.None,changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[{provide:r.CdkTree,useExisting:n}]}]}],n.propDecorators={_nodeOutlet:[{type:t.ViewChild,args:[l]}]},n}(r.CdkTree),v=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.recursive=!1,t}return s(n,e),n.decorators=[{type:t.Directive,args:[{selector:"[matTreeNodeToggle]",host:{"(click)":"_toggle($event)"},providers:[{provide:r.CdkTreeNodeToggle,useExisting:n}]}]}],n.propDecorators={recursive:[{type:t.Input,args:["matTreeNodeToggleRecursive"]}]},n}(r.CdkTreeNodeToggle),x=[h,g,m,v,y,f,l],N=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[r.CdkTreeModule,o.CommonModule,n.MatCommonModule],exports:x,declarations:x}]}],e}(),T=function(){function e(e,t,r,n){this.transformFunction=e,this.getLevel=t,this.isExpandable=r,this.getChildren=n}return e.prototype._flattenNode=function(e,t,r,n){var o=this,a=this.transformFunction(e,t);if(r.push(a),this.isExpandable(a)){var i=this.getChildren(e);i&&(Array.isArray(i)?this._flattenChildren(i,t,r,n):i.pipe(d.take(1)).subscribe(function(e){o._flattenChildren(e,t,r,n)}))}return r},e.prototype._flattenChildren=function(e,t,r,n){var o=this;e.forEach(function(a,i){var d=n.slice();d.push(i!=e.length-1),o._flattenNode(a,t+1,r,d)})},e.prototype.flattenNodes=function(e){var t=this,r=[];return e.forEach(function(e){return t._flattenNode(e,0,r,[])}),r},e.prototype.expandFlattenedNodes=function(e,t){var r=this,n=[],o=[];return o[0]=!0,e.forEach(function(e){for(var a=!0,i=0;i<=r.getLevel(e);i++)a=a&&o[i];a&&n.push(e),r.isExpandable(e)&&(o[r.getLevel(e)+1]=t.isExpanded(e))}),n},e}(),b=function(e){function t(t,r,n){void 0===n&&(n=[]);var o=e.call(this)||this;return o.treeControl=t,o.treeFlattener=r,o._flattenedData=new i.BehaviorSubject([]),o._expandedData=new i.BehaviorSubject([]),o._data=new i.BehaviorSubject(n),o}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this.treeFlattener.flattenNodes(this.data)),this.treeControl.dataNodes=this._flattenedData.value},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this,r=[e.viewChange,this.treeControl.expansionModel.onChange,this._flattenedData];return i.merge.apply(void 0,r).pipe(d.map(function(){return t._expandedData.next(t.treeFlattener.expandFlattenedNodes(t._flattenedData.value,t.treeControl)),t._expandedData.value}))},t.prototype.disconnect=function(){},t}(a.DataSource),_=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._data=new i.BehaviorSubject([]),t}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e)},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this;return i.merge.apply(void 0,[e.viewChange,this._data]).pipe(d.map(function(){return t.data}))},t.prototype.disconnect=function(){},t}(a.DataSource);e._MatTreeNodeMixinBase=c,e._MatNestedTreeNodeMixinBase=p,e.MatTreeNode=f,e.MatTreeNodeDef=g,e.MatNestedTreeNode=h,e.MatTreeNodePadding=m,e.MatTree=y,e.MatTreeModule=N,e.MatTreeNodeToggle=v,e.MatTreeNodeOutlet=l,e.MatTreeFlattener=T,e.MatTreeFlatDataSource=b,e.MatTreeNestedDataSource=_,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
9
9
|
//# sourceMappingURL=material-tree.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-tree.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/tree/outlet.ts","../../src/lib/tree/node.ts","../../src/lib/tree/padding.ts","../../src/lib/tree/tree.ts","../../src/lib/tree/toggle.ts","../../src/lib/tree/tree-module.ts","../../src/lib/tree/data-source/flat-data-source.ts","../../src/lib/tree/data-source/nested-data-source.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkNestedTreeNode, CdkTree, CdkTreeNode, CdkTreeNodeDef} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable, CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\nexport const _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nexport const _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T>\n implements AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n\n @Input('matNestedTreeNode') node: T;\n\n @ContentChildren(MatTreeNodeOutlet) nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[]) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private treeControl: FlatTreeControl<F>,\n private treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this.treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this.treeFlattener.expandFlattenedNodes(this._flattenedData.value, this.treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MatTreeNodeOutlet","viewContainer","type","Directive","args","selector","ViewContainerRef","_MatTreeNodeMixinBase","mixinTabIndex","mixinDisabled","CdkTreeNode","_MatNestedTreeNodeMixinBase","CdkNestedTreeNode","MatTreeNode","_elementRef","_tree","tabIndex","_this","_super","call","role","Number","tslib_1.__extends","exportAs","inputs","host","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class","providers","provide","useExisting","ElementRef","CdkTree","String","decorators","Attribute","Input","MatTreeNodeDef","CdkTreeNodeDef","data","MatNestedTreeNode","_differs","ngAfterContentInit","ngOnDestroy","IterableDiffers","node","nodeOutlet","ContentChildren","MatTreeNodePadding","CdkTreeNodePadding","level","indent","MatTree","Component","template","styles","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","propDecorators","recursive","MatTreeNodeToggle","(click)","CdkTreeNodeToggle","MAT_TREE_DIRECTIVES","NgModule","imports","CdkTreeModule","CommonModule","MatCommonModule","exports","declarations","MatTreeModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","treeFlattener","initialData","_flattenedData","BehaviorSubject","_expandedData","_data","defineProperty","value","next","dataNodes","connect","collectionViewer","changes","viewChange","expansionModel","onChange","merge","apply","map","disconnect","DataSource","MatTreeNestedDataSource"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-tree.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/tree/outlet.ts","../../src/lib/tree/node.ts","../../src/lib/tree/padding.ts","../../src/lib/tree/tree.ts","../../src/lib/tree/toggle.ts","../../src/lib/tree/tree-module.ts","../../src/lib/tree/data-source/flat-data-source.ts","../../src/lib/tree/data-source/nested-data-source.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkNestedTreeNode, CdkTree, CdkTreeNode, CdkTreeNodeDef} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable, CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\nexport const _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nexport const _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T>\n implements AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n\n @Input('matNestedTreeNode') node: T;\n\n @ContentChildren(MatTreeNodeOutlet) nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet) _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private treeControl: FlatTreeControl<F>,\n private treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this.treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this.treeFlattener.expandFlattenedNodes(this._flattenedData.value, this.treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MatTreeNodeOutlet","viewContainer","type","Directive","args","selector","ViewContainerRef","_MatTreeNodeMixinBase","mixinTabIndex","mixinDisabled","CdkTreeNode","_MatNestedTreeNodeMixinBase","CdkNestedTreeNode","MatTreeNode","_super","_elementRef","_tree","tabIndex","_this","call","role","Number","tslib_1.__extends","exportAs","inputs","host","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class","providers","provide","useExisting","ElementRef","CdkTree","String","decorators","Attribute","Input","MatTreeNodeDef","CdkTreeNodeDef","data","MatNestedTreeNode","_differs","ngAfterContentInit","ngOnDestroy","IterableDiffers","node","nodeOutlet","ContentChildren","MatTreeNodePadding","CdkTreeNodePadding","level","indent","MatTree","Component","template","styles","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","propDecorators","MatTreeNodeToggle","apply","arguments","recursive","(click)","CdkTreeNodeToggle","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","imports","CdkTreeModule","CommonModule","MatCommonModule","exports","declarations","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","treeFlattener","initialData","_flattenedData","BehaviorSubject","_expandedData","_data","defineProperty","value","next","dataNodes","connect","collectionViewer","changes","viewChange","expansionModel","onChange","merge","map","disconnect","DataSource","MatTreeNestedDataSource"],"mappings":";;;;;;;gsBAuBA,SAAgBA,GAAUC,EAAGC,GAEzB,QAASC,KAAOC,KAAKC,YAAcJ,EADnCK,EAAcL,EAAGC,GAEjBD,EAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,IAVnF,GAAIG,GAAgB,SAASL,EAAGC,GAI5B,OAHAI,EAAgBE,OAAOE,iBAChBC,uBAA2BC,QAAS,SAAUX,EAAGC,GAAKD,EAAEU,UAAYT,IACvE,SAAUD,EAAGC,GAAK,IAAK,GAAIW,KAAKX,GAAOA,EAAEY,eAAeD,KAAIZ,EAAEY,GAAKX,EAAEW,MACpDZ,EAAGC,ICH5Ba,EAAA,WAIE,QAAFA,GAAqBC,GAAAZ,KAArBY,cAAqBA,EACrB,sBALAC,KAACC,EAAAA,UAADC,OACEC,SAAU,8DARZH,KAAEI,EAAAA,oBAYFN,KCOaO,EACTC,EAAAA,cAAcC,EAAAA,cAAcC,EAAAA,cAEnBC,EAELH,EAAAA,cAAcC,EAAAA,cAAcG,EAAAA,oBAKpCC,EAAA,SAAAC,GAgBE,QAAFD,GAAwBE,EACAC,EACaC,GAFnC,GAAFC,GAGIJ,EAHJK,KAAA9B,KAGU0B,EAAaC,IAHvB3B,WAAwB6B,GAAxBH,YAAwBA,EACAG,EAAxBF,MAAwBA,EAHbE,EAAXE,KAAwC,WAOpCF,EAAKD,SAAWI,OAAOJ,IAAa,IAExC,MAXoCK,GAApCT,EAAAC,kBAZAZ,KAACC,EAAAA,UAADC,OACEC,SAAU,gBACVkB,SAAU,cACVC,QAAS,WAAY,YACrBC,MACEC,uBAAwB,aACxBC,oBAAqB,qCACrBC,cAAe,OACfC,MAAS,iBAEXC,YAAaC,QAASrB,EAAAA,YAAasB,YAAanB,4CAnClDX,KAAE+B,EAAAA,aANF/B,KAA2BgC,EAAAA,UAiD3BhC,KAAAiC,OAAAC,aAAAlC,KAAemC,EAAAA,UAAfjC,MAAyB,mCAJzBgB,OAAAlB,KAAGoC,EAAAA,SASHzB,GAXoCN,GAgBpCgC,EAAA,SAAAzB,GAAA,QAAAyB,oDASA,MAFuCjB,GAAvCiB,EAAAzB,kBAPAZ,KAACC,EAAAA,UAADC,OACEC,SAAU,mBACVmB,QACE,4BAEFM,YAAaC,QAASS,EAAAA,eAAgBR,YAAaO,0BAGrDE,OAAAvC,KAAGoC,EAAAA,MAAHlC,MAAS,kBACTmC,GAFuCC,EAAAA,gBAOvCE,EAAA,SAAA5B,GAqBE,QAAF4B,GAAwB3B,EACAC,EACA2B,EACa1B,GAHnC,GAAFC,GAIIJ,EAJJK,KAAA9B,KAIU0B,EAAaC,EAAO2B,IAJ9BtD,WAAwB6B,GAAxBH,YAAwBA,EACAG,EAAxBF,MAAwBA,EACAE,EAAxByB,SAAwBA,EAIpBzB,EAAKD,SAAWI,OAAOJ,IAAa,IAaxC,MA1B0CK,GAA1CoB,EAAA5B,GAmBE4B,EAAFlD,UAAAoD,mBAAE,WACE9B,EAAJtB,UAAUoD,mBAAVzB,KAAA9B,OAGEqD,EAAFlD,UAAAqD,YAAE,WACE/B,EAAJtB,UAAUqD,YAAV1B,KAAA9B,sBAtCAa,KAACC,EAAAA,UAADC,OACEC,SAAU,uBACVkB,SAAU,oBACVE,MACEC,uBAAwB,aACxBE,cAAe,OACfC,MAAS,wBAEXL,QAAS,WAAY,YACrBM,YACGC,QAASnB,EAAAA,kBAAmBoB,YAAaU,IACzCX,QAASrB,EAAAA,YAAasB,YAAaU,4CA9ExCxC,KAAE+B,EAAAA,aANF/B,KAA2BgC,EAAAA,UAQ3BhC,KAAE4C,EAAAA,kBAyFF5C,KAAAiC,OAAAC,aAAAlC,KAAemC,EAAAA,UAAfjC,MAAyB,mCAPzB2C,OAAA7C,KAAGoC,EAAAA,MAAHlC,MAAS,uBAET4C,aAAA9C,KAAG+C,EAAAA,gBAAH7C,MAAmBJ,MAqBnB0C,GA1B0C/B,GClF1CuC,EAAA,SAAApC,GAAA,QAAAoC,oDAWA,MAP2C5B,GAA3C4B,EAAApC,kBAJAZ,KAACC,EAAAA,UAADC,OACEC,SAAU,uBACVyB,YAAaC,QAASoB,EAAAA,mBAAoBnB,YAAakB,0BAKzDE,QAAAlD,KAAGoC,EAAAA,MAAHlC,MAAS,wBAGTiD,SAAAnD,KAAGoC,EAAAA,MAAHlC,MAAS,+BACT8C,GAP2CC,EAAAA,oBCF3CG,EAAA,SAAAxC,GAAA,QAAAwC,oDAgBA,MAFgChC,GAAhCgC,EAAAxC,kBAdAZ,KAACqD,EAAAA,UAADnD,OAAAC,SAAA,WACEkB,SAAU,UACViC,SAAU,kDACV/B,MACFI,MAAA,WACMT,KAAN,QAEAqC,QAAA,mLACAC,cAAAC,EAAAA,kBAAAC,KACEC,gBAAFC,EAAAA,wBAAAC,OACEjC,YAAFC,QAAAG,EAAAA,QAAkCF,YAAlCsB,QAGAA,EAAAU,2DAGAV,cCjBAW,EAAA,SAAAnD,GAAA,QAAAmD,KAAA,GAAA/C,GAAA,OAAAJ,GAAAA,EAAAoD,MAAA7E,KAAA8E,YAAA9E,WAQuC6B,GAAvCkD,WAA4D,IAC5D,MAF0C9C,GAA1C2C,EAAAnD,kBAPAZ,KAACC,EAAAA,UAADC,OACEC,SAAU,sBACVoB,MACE4C,UAAW,mBAEbvC,YAAaC,QAASuC,EAAAA,kBAAmBtC,YAAaiC,0BAGxDG,YAAAlE,KAAGoC,EAAAA,MAAHlC,MAAS,iCACT6D,GAF0CK,EAAAA,mBCFpCC,GACJ7B,EACAH,EACAW,EACAe,EACAX,EACAzC,EACAb,GAGFwE,EAAA,WAAA,QAAAA,MAK4B,sBAL5BtE,KAACuE,EAAAA,SAADrE,OACEsE,SAAUC,EAAAA,cAAeC,EAAAA,aAAcC,EAAAA,iBACvCC,QAASP,EACTQ,aAAcR,MAEhBC,kBCeE,QAAFQ,GAAqBC,EACAC,EACAC,EACAC,GAHA/F,KAArB4F,kBAAqBA,EACA5F,KAArB6F,SAAqBA,EACA7F,KAArB8F,aAAqBA,EACA9F,KAArB+F,YAAqBA,EAkErB,MA/DEJ,GAAFxF,UAAA6F,aAAE,SAAatC,EAASK,EACTkC,EAAkBC,GAD/B,GAAFrE,GAAA7B,KAEUmG,EAAWnG,KAAK4F,kBAAkBlC,EAAMK,EAG9C,IAFAkC,EAAYG,KAAKD,GAEbnG,KAAK8F,aAAaK,GAAW,CACrC,GAAYE,GAAgBrG,KAAK+F,YAAYrC,EACnC2C,KACE7F,MAAM8F,QAAQD,GAChBrG,KAAKuG,iBAAiBF,EAAetC,EAAOkC,EAAaC,GAEzDG,EAAcG,KAAKC,EAAAA,KAAK,IAAIC,UAAU,SAAAC,GACpC9E,EAAK0E,iBAAiBI,EAAU5C,EAAOkC,EAAaC,MAK5D,MAAOD,IAGTN,EAAFxF,UAAAoG,iBAAE,SAAiBI,EAAe5C,EACfkC,EAAkBC,GADnC,GAAFrE,GAAA7B,IAEI2G,GAASC,QAAQ,SAACC,EAAOC,GAC7B,GAAUC,GAA4Bb,EAAUc,OAC1CD,GAAeX,KAAKU,GAASH,EAASM,OAAS,GAC/CpF,EAAKmE,aAAaa,EAAO9C,EAAQ,EAAGkC,EAAac,MASrDpB,EAAFxF,UAAA+G,aAAE,SAAaC,GAAb,GAAFtF,GAAA7B,KACQiG,IAEJ,OADAkB,GAAeP,QAAQ,SAAAlD,GAAQ,MAAA7B,GAAKmE,aAAatC,EAAM,EAAGuC,QACnDA,GAOTN,EAAFxF,UAAAiH,qBAAE,SAAqBC,EAAYC,GAAjC,GAAFzF,GAAA7B,KACQuH,KACAC,IAeJ,OAdAA,GAAc,IAAK,EAEnBH,EAAMT,QAAQ,SAAAlD,GAEZ,IAAK,GADD+D,IAAS,EACJC,EAAI,EAAGA,GAAK7F,EAAKgE,SAASnC,GAAOgE,IACxCD,EAASA,GAAUD,EAAcE,EAE/BD,IACFF,EAAQnB,KAAK1C,GAEX7B,EAAKiE,aAAapC,KACpB8D,EAAc3F,EAAKgE,SAASnC,GAAQ,GAAK4D,EAAYK,WAAWjE,MAG7D6D,GAEX5B,mBAuBE,QAAFiC,GAAsBN,EACAO,EACRC,OAAd,KAAAA,IAAcA,KAFZ,IAAFjG,GAGIJ,EAHJK,KAAA9B,OAAAA,WAAsB6B,GAAtByF,YAAsBA,EACAzF,EAAtBgG,cAAsBA,EAbpBhG,EAAFkG,eAAmB,GAAIC,GAAAA,oBAErBnG,EAAFoG,cAAkB,GAAID,GAAAA,oBAclBnG,EAAKqG,MAAQ,GAAIF,GAAAA,gBAAqBF,KAmB1C,MApCiD7F,GAAjD2F,EAAAnG,GAMErB,OAAF+H,eAAMP,EAANzH,UAAA,YAAE,WAAa,MAAOH,MAAKkI,MAAME,WAC/B,SAASA,GACPpI,KAAKkI,MAAMG,KAAKD,GAChBpI,KAAK+H,eAAeM,KAAKrI,KAAK6H,cAAcX,aAAalH,KAAKoD,OAC9DpD,KAAKsH,YAAYgB,UAAYtI,KAAK+H,eAAeK,uCAUnDR,EAAFzH,UAAAoI,QAAE,SAAQC,GAAR,GAAF3G,GAAA7B,KACUyI,GACJD,EAAiBE,WACjB1I,KAAKsH,YAAYqB,eAAeC,SAChC5I,KAAK+H,eAEP,OAAOc,GAAAA,MAAXhE,UAAA,GAAoB4D,GAASjC,KAAKsC,EAAAA,IAAI,WAGhC,MAFAjH,GAAKoG,cAAcI,KACjBxG,EAAKgG,cAAcT,qBAAqBvF,EAAKkG,eAAeK,MAAOvG,EAAKyF,cACnEzF,EAAKoG,cAAcG,UAI9BR,EAAFzH,UAAA4I,WAAE,aAGFnB,GApCiDoB,EAAAA,0BC7GjD,QAAAC,KAAA,GAAApH,GAAA,OAAAJ,GAAAA,EAAAoD,MAAA7E,KAAA8E,YAAA9E,WACE6B,GAAFqG,MAAU,GAAIF,GAAAA,sBAkBd,MAnBgD/F,GAAhDgH,EAAAxH,GAMErB,OAAF+H,eAAMc,EAAN9I,UAAA,YAAE,WAAa,MAAOH,MAAKkI,MAAME,WAC/B,SAASA,GAAcpI,KAAKkI,MAAMG,KAAKD,oCAEvCa,EAAF9I,UAAAoI,QAAE,SAAQC,GAAR,GAAF3G,GAAA7B,IACI,OAAO6I,GAAAA,MAAXhE,UAAA,IAAqB2D,EAAiBE,WAAY1I,KAAKkI,QAChD1B,KAAKsC,EAAAA,IAAI,WACR,MAAOjH,GAAKuB,SAIlB6F,EAAF9I,UAAA4I,WAAE,aAGFE,GAnBgDD,EAAAA"}
|