@angular/material-experimental 14.2.1 → 15.0.0-next.0
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/_index.scss +0 -69
- package/esm2020/selection/selection-column.mjs +11 -11
- package/esm2020/selection/selection-module.mjs +5 -5
- package/esm2020/version.mjs +1 -1
- package/fesm2015/material-experimental.mjs +1 -1
- package/fesm2015/material-experimental.mjs.map +1 -1
- package/fesm2015/selection.mjs +13 -13
- package/fesm2015/selection.mjs.map +1 -1
- package/fesm2020/material-experimental.mjs +1 -1
- package/fesm2020/material-experimental.mjs.map +1 -1
- package/fesm2020/selection.mjs +13 -13
- package/fesm2020/selection.mjs.map +1 -1
- package/package.json +55 -422
- package/selection/index.d.ts +4 -4
- package/esm2020/mdc-autocomplete/animations.mjs +0 -25
- package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +0 -26
- package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +0 -54
- package/esm2020/mdc-autocomplete/autocomplete.mjs +0 -35
- package/esm2020/mdc-autocomplete/index.mjs +0 -9
- package/esm2020/mdc-autocomplete/mdc-autocomplete_public_index.mjs +0 -5
- package/esm2020/mdc-autocomplete/module.mjs +0 -46
- package/esm2020/mdc-autocomplete/public-api.mjs +0 -14
- package/esm2020/mdc-autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
- package/esm2020/mdc-autocomplete/testing/autocomplete-harness.mjs +0 -31
- package/esm2020/mdc-autocomplete/testing/index.mjs +0 -9
- package/esm2020/mdc-autocomplete/testing/public-api.mjs +0 -10
- package/esm2020/mdc-button/button-base.mjs +0 -152
- package/esm2020/mdc-button/button.mjs +0 -69
- package/esm2020/mdc-button/fab.mjs +0 -175
- package/esm2020/mdc-button/icon-button.mjs +0 -57
- package/esm2020/mdc-button/index.mjs +0 -9
- package/esm2020/mdc-button/mdc-button_public_index.mjs +0 -5
- package/esm2020/mdc-button/module.mjs +0 -61
- package/esm2020/mdc-button/public-api.mjs +0 -12
- package/esm2020/mdc-button/testing/button-harness.mjs +0 -50
- package/esm2020/mdc-button/testing/index.mjs +0 -9
- package/esm2020/mdc-button/testing/public-api.mjs +0 -9
- package/esm2020/mdc-card/card.mjs +0 -261
- package/esm2020/mdc-card/index.mjs +0 -9
- package/esm2020/mdc-card/mdc-card_public_index.mjs +0 -5
- package/esm2020/mdc-card/module.mjs +0 -68
- package/esm2020/mdc-card/public-api.mjs +0 -10
- package/esm2020/mdc-card/testing/card-harness-filters.mjs +0 -9
- package/esm2020/mdc-card/testing/card-harness.mjs +0 -42
- package/esm2020/mdc-card/testing/index.mjs +0 -9
- package/esm2020/mdc-card/testing/public-api.mjs +0 -10
- package/esm2020/mdc-checkbox/checkbox.mjs +0 -93
- package/esm2020/mdc-checkbox/index.mjs +0 -9
- package/esm2020/mdc-checkbox/mdc-checkbox_public_index.mjs +0 -5
- package/esm2020/mdc-checkbox/module.mjs +0 -26
- package/esm2020/mdc-checkbox/public-api.mjs +0 -11
- package/esm2020/mdc-checkbox/testing/checkbox-harness.mjs +0 -41
- package/esm2020/mdc-checkbox/testing/index.mjs +0 -9
- package/esm2020/mdc-checkbox/testing/public-api.mjs +0 -9
- package/esm2020/mdc-chips/chip-action.mjs +0 -90
- package/esm2020/mdc-chips/chip-edit-input.mjs +0 -60
- package/esm2020/mdc-chips/chip-grid.mjs +0 -407
- package/esm2020/mdc-chips/chip-icons.mjs +0 -110
- package/esm2020/mdc-chips/chip-input.mjs +0 -212
- package/esm2020/mdc-chips/chip-listbox.mjs +0 -332
- package/esm2020/mdc-chips/chip-option.mjs +0 -160
- package/esm2020/mdc-chips/chip-row.mjs +0 -176
- package/esm2020/mdc-chips/chip-set.mjs +0 -271
- package/esm2020/mdc-chips/chip-text-control.mjs +0 -9
- package/esm2020/mdc-chips/chip.mjs +0 -287
- package/esm2020/mdc-chips/index.mjs +0 -9
- package/esm2020/mdc-chips/mdc-chips_public_index.mjs +0 -5
- package/esm2020/mdc-chips/module.mjs +0 -87
- package/esm2020/mdc-chips/public-api.mjs +0 -20
- package/esm2020/mdc-chips/testing/chip-avatar-harness.mjs +0 -22
- package/esm2020/mdc-chips/testing/chip-grid-harness.mjs +0 -43
- package/esm2020/mdc-chips/testing/chip-harness-filters.mjs +0 -9
- package/esm2020/mdc-chips/testing/chip-harness.mjs +0 -58
- package/esm2020/mdc-chips/testing/chip-input-harness.mjs +0 -82
- package/esm2020/mdc-chips/testing/chip-listbox-harness.mjs +0 -59
- package/esm2020/mdc-chips/testing/chip-option-harness.mjs +0 -45
- package/esm2020/mdc-chips/testing/chip-remove-harness.mjs +0 -26
- package/esm2020/mdc-chips/testing/chip-row-harness.mjs +0 -22
- package/esm2020/mdc-chips/testing/chip-set-harness.mjs +0 -26
- package/esm2020/mdc-chips/testing/index.mjs +0 -9
- package/esm2020/mdc-chips/testing/public-api.mjs +0 -18
- package/esm2020/mdc-chips/tokens.mjs +0 -33
- package/esm2020/mdc-core/index.mjs +0 -9
- package/esm2020/mdc-core/mdc-core_public_index.mjs +0 -5
- package/esm2020/mdc-core/option/index.mjs +0 -30
- package/esm2020/mdc-core/option/optgroup.mjs +0 -46
- package/esm2020/mdc-core/option/option.mjs +0 -52
- package/esm2020/mdc-core/public-api.mjs +0 -10
- package/esm2020/mdc-core/testing/index.mjs +0 -9
- package/esm2020/mdc-core/testing/optgroup-harness-filters.mjs +0 -9
- package/esm2020/mdc-core/testing/optgroup-harness.mjs +0 -43
- package/esm2020/mdc-core/testing/option-harness-filters.mjs +0 -9
- package/esm2020/mdc-core/testing/option-harness.mjs +0 -53
- package/esm2020/mdc-core/testing/public-api.mjs +0 -12
- package/esm2020/mdc-dialog/dialog-container.mjs +0 -171
- package/esm2020/mdc-dialog/dialog-content-directives.mjs +0 -179
- package/esm2020/mdc-dialog/dialog-ref.mjs +0 -14
- package/esm2020/mdc-dialog/dialog.mjs +0 -82
- package/esm2020/mdc-dialog/index.mjs +0 -9
- package/esm2020/mdc-dialog/mdc-dialog_public_index.mjs +0 -5
- package/esm2020/mdc-dialog/module.mjs +0 -53
- package/esm2020/mdc-dialog/public-api.mjs +0 -14
- package/esm2020/mdc-dialog/testing/dialog-harness.mjs +0 -29
- package/esm2020/mdc-dialog/testing/dialog-opener.mjs +0 -45
- package/esm2020/mdc-dialog/testing/index.mjs +0 -9
- package/esm2020/mdc-dialog/testing/public-api.mjs +0 -10
- package/esm2020/mdc-form-field/directives/error.mjs +0 -47
- package/esm2020/mdc-form-field/directives/floating-label.mjs +0 -73
- package/esm2020/mdc-form-field/directives/hint.mjs +0 -39
- package/esm2020/mdc-form-field/directives/label.mjs +0 -21
- package/esm2020/mdc-form-field/directives/line-ripple.mjs +0 -59
- package/esm2020/mdc-form-field/directives/notched-outline.mjs +0 -68
- package/esm2020/mdc-form-field/directives/prefix.mjs +0 -32
- package/esm2020/mdc-form-field/directives/suffix.mjs +0 -32
- package/esm2020/mdc-form-field/form-field.mjs +0 -608
- package/esm2020/mdc-form-field/index.mjs +0 -9
- package/esm2020/mdc-form-field/mdc-form-field_public_index.mjs +0 -5
- package/esm2020/mdc-form-field/module.mjs +0 -53
- package/esm2020/mdc-form-field/public-api.mjs +0 -16
- package/esm2020/mdc-form-field/testing/form-field-harness.mjs +0 -58
- package/esm2020/mdc-form-field/testing/index.mjs +0 -9
- package/esm2020/mdc-form-field/testing/public-api.mjs +0 -13
- package/esm2020/mdc-input/index.mjs +0 -9
- package/esm2020/mdc-input/input.mjs +0 -55
- package/esm2020/mdc-input/mdc-input_public_index.mjs +0 -5
- package/esm2020/mdc-input/module.mjs +0 -27
- package/esm2020/mdc-input/public-api.mjs +0 -11
- package/esm2020/mdc-input/testing/index.mjs +0 -9
- package/esm2020/mdc-input/testing/public-api.mjs +0 -9
- package/esm2020/mdc-list/action-list.mjs +0 -31
- package/esm2020/mdc-list/index.mjs +0 -9
- package/esm2020/mdc-list/list-base.mjs +0 -272
- package/esm2020/mdc-list/list-item-sections.mjs +0 -138
- package/esm2020/mdc-list/list-option-types.mjs +0 -16
- package/esm2020/mdc-list/list-option.mjs +0 -253
- package/esm2020/mdc-list/list.mjs +0 -82
- package/esm2020/mdc-list/mdc-list_public_index.mjs +0 -5
- package/esm2020/mdc-list/module.mjs +0 -98
- package/esm2020/mdc-list/nav-list.mjs +0 -31
- package/esm2020/mdc-list/public-api.mjs +0 -18
- package/esm2020/mdc-list/selection-list.mjs +0 -338
- package/esm2020/mdc-list/subheader.mjs +0 -27
- package/esm2020/mdc-list/testing/action-list-harness.mjs +0 -59
- package/esm2020/mdc-list/testing/index.mjs +0 -9
- package/esm2020/mdc-list/testing/list-harness-base.mjs +0 -95
- package/esm2020/mdc-list/testing/list-harness-filters.mjs +0 -9
- package/esm2020/mdc-list/testing/list-harness.mjs +0 -41
- package/esm2020/mdc-list/testing/list-item-harness-base.mjs +0 -150
- package/esm2020/mdc-list/testing/nav-list-harness.mjs +0 -69
- package/esm2020/mdc-list/testing/public-api.mjs +0 -14
- package/esm2020/mdc-list/testing/selection-list-harness.mjs +0 -117
- package/esm2020/mdc-menu/directives.mjs +0 -38
- package/esm2020/mdc-menu/index.mjs +0 -9
- package/esm2020/mdc-menu/mdc-menu_public_index.mjs +0 -5
- package/esm2020/mdc-menu/menu-item.mjs +0 -36
- package/esm2020/mdc-menu/menu.mjs +0 -43
- package/esm2020/mdc-menu/module.mjs +0 -44
- package/esm2020/mdc-menu/public-api.mjs +0 -13
- package/esm2020/mdc-menu/testing/index.mjs +0 -9
- package/esm2020/mdc-menu/testing/menu-harness.mjs +0 -46
- package/esm2020/mdc-menu/testing/public-api.mjs +0 -9
- package/esm2020/mdc-paginator/index.mjs +0 -9
- package/esm2020/mdc-paginator/mdc-paginator_public_index.mjs +0 -5
- package/esm2020/mdc-paginator/module.mjs +0 -30
- package/esm2020/mdc-paginator/paginator.mjs +0 -48
- package/esm2020/mdc-paginator/public-api.mjs +0 -11
- package/esm2020/mdc-paginator/testing/index.mjs +0 -9
- package/esm2020/mdc-paginator/testing/paginator-harness.mjs +0 -36
- package/esm2020/mdc-paginator/testing/public-api.mjs +0 -9
- package/esm2020/mdc-progress-bar/index.mjs +0 -9
- package/esm2020/mdc-progress-bar/mdc-progress-bar_public_index.mjs +0 -5
- package/esm2020/mdc-progress-bar/module.mjs +0 -24
- package/esm2020/mdc-progress-bar/progress-bar.mjs +0 -152
- package/esm2020/mdc-progress-bar/public-api.mjs +0 -11
- package/esm2020/mdc-progress-bar/testing/index.mjs +0 -9
- package/esm2020/mdc-progress-bar/testing/progress-bar-harness.mjs +0 -33
- package/esm2020/mdc-progress-bar/testing/public-api.mjs +0 -9
- package/esm2020/mdc-progress-bar/testing/testing_public_index.mjs +0 -5
- package/esm2020/mdc-progress-spinner/index.mjs +0 -9
- package/esm2020/mdc-progress-spinner/mdc-progress-spinner_public_index.mjs +0 -5
- package/esm2020/mdc-progress-spinner/module.mjs +0 -26
- package/esm2020/mdc-progress-spinner/progress-spinner.mjs +0 -151
- package/esm2020/mdc-progress-spinner/public-api.mjs +0 -11
- package/esm2020/mdc-progress-spinner/testing/index.mjs +0 -9
- package/esm2020/mdc-progress-spinner/testing/progress-spinner-harness.mjs +0 -35
- package/esm2020/mdc-progress-spinner/testing/public-api.mjs +0 -9
- package/esm2020/mdc-progress-spinner/testing/testing_public_index.mjs +0 -5
- package/esm2020/mdc-radio/index.mjs +0 -9
- package/esm2020/mdc-radio/mdc-radio_public_index.mjs +0 -5
- package/esm2020/mdc-radio/module.mjs +0 -26
- package/esm2020/mdc-radio/public-api.mjs +0 -11
- package/esm2020/mdc-radio/radio.mjs +0 -111
- package/esm2020/mdc-radio/testing/index.mjs +0 -9
- package/esm2020/mdc-radio/testing/public-api.mjs +0 -9
- package/esm2020/mdc-radio/testing/radio-harness.mjs +0 -50
- package/esm2020/mdc-select/index.mjs +0 -9
- package/esm2020/mdc-select/mdc-select_public_index.mjs +0 -5
- package/esm2020/mdc-select/module.mjs +0 -46
- package/esm2020/mdc-select/public-api.mjs +0 -12
- package/esm2020/mdc-select/select-animations.mjs +0 -38
- package/esm2020/mdc-select/select-errors.mjs +0 -35
- package/esm2020/mdc-select/select.mjs +0 -172
- package/esm2020/mdc-select/testing/index.mjs +0 -9
- package/esm2020/mdc-select/testing/public-api.mjs +0 -10
- package/esm2020/mdc-select/testing/select-harness-filters.mjs +0 -9
- package/esm2020/mdc-select/testing/select-harness.mjs +0 -29
- package/esm2020/mdc-slide-toggle/index.mjs +0 -9
- package/esm2020/mdc-slide-toggle/mdc-slide-toggle_public_index.mjs +0 -5
- package/esm2020/mdc-slide-toggle/module.mjs +0 -27
- package/esm2020/mdc-slide-toggle/public-api.mjs +0 -12
- package/esm2020/mdc-slide-toggle/slide-toggle-config.mjs +0 -14
- package/esm2020/mdc-slide-toggle/slide-toggle.mjs +0 -99
- package/esm2020/mdc-slide-toggle/testing/index.mjs +0 -9
- package/esm2020/mdc-slide-toggle/testing/public-api.mjs +0 -9
- package/esm2020/mdc-slide-toggle/testing/slide-toggle-harness.mjs +0 -47
- package/esm2020/mdc-slider/global-change-and-input-listener.mjs +0 -59
- package/esm2020/mdc-slider/index.mjs +0 -9
- package/esm2020/mdc-slider/mdc-slider_public_index.mjs +0 -5
- package/esm2020/mdc-slider/module.mjs +0 -26
- package/esm2020/mdc-slider/public-api.mjs +0 -10
- package/esm2020/mdc-slider/slider.mjs +0 -1094
- package/esm2020/mdc-slider/testing/index.mjs +0 -9
- package/esm2020/mdc-slider/testing/public-api.mjs +0 -11
- package/esm2020/mdc-slider/testing/slider-harness-filters.mjs +0 -2
- package/esm2020/mdc-slider/testing/slider-harness.mjs +0 -62
- package/esm2020/mdc-slider/testing/slider-thumb-harness.mjs +0 -94
- package/esm2020/mdc-snack-bar/index.mjs +0 -9
- package/esm2020/mdc-snack-bar/mdc-snack-bar_public_index.mjs +0 -5
- package/esm2020/mdc-snack-bar/module.mjs +0 -51
- package/esm2020/mdc-snack-bar/public-api.mjs +0 -14
- package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +0 -40
- package/esm2020/mdc-snack-bar/snack-bar-container.mjs +0 -41
- package/esm2020/mdc-snack-bar/snack-bar-content.mjs +0 -52
- package/esm2020/mdc-snack-bar/snack-bar.mjs +0 -45
- package/esm2020/mdc-snack-bar/testing/index.mjs +0 -9
- package/esm2020/mdc-snack-bar/testing/public-api.mjs +0 -9
- package/esm2020/mdc-snack-bar/testing/snack-bar-harness.mjs +0 -34
- package/esm2020/mdc-table/cell.mjs +0 -141
- package/esm2020/mdc-table/index.mjs +0 -9
- package/esm2020/mdc-table/mdc-table_public_index.mjs +0 -5
- package/esm2020/mdc-table/module.mjs +0 -94
- package/esm2020/mdc-table/public-api.mjs +0 -14
- package/esm2020/mdc-table/row.mjs +0 -143
- package/esm2020/mdc-table/table-data-source.mjs +0 -24
- package/esm2020/mdc-table/table.mjs +0 -74
- package/esm2020/mdc-table/testing/cell-harness.mjs +0 -50
- package/esm2020/mdc-table/testing/index.mjs +0 -9
- package/esm2020/mdc-table/testing/public-api.mjs +0 -11
- package/esm2020/mdc-table/testing/row-harness.mjs +0 -64
- package/esm2020/mdc-table/testing/table-harness.mjs +0 -30
- package/esm2020/mdc-table/text-column.mjs +0 -58
- package/esm2020/mdc-tabs/index.mjs +0 -9
- package/esm2020/mdc-tabs/ink-bar.mjs +0 -130
- package/esm2020/mdc-tabs/mdc-tabs_public_index.mjs +0 -5
- package/esm2020/mdc-tabs/module.mjs +0 -93
- package/esm2020/mdc-tabs/public-api.mjs +0 -19
- package/esm2020/mdc-tabs/tab-body.mjs +0 -60
- package/esm2020/mdc-tabs/tab-content.mjs +0 -20
- package/esm2020/mdc-tabs/tab-group.mjs +0 -98
- package/esm2020/mdc-tabs/tab-header.mjs +0 -73
- package/esm2020/mdc-tabs/tab-label-wrapper.mjs +0 -32
- package/esm2020/mdc-tabs/tab-label.mjs +0 -22
- package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +0 -202
- package/esm2020/mdc-tabs/tab.mjs +0 -34
- package/esm2020/mdc-tabs/testing/index.mjs +0 -9
- package/esm2020/mdc-tabs/testing/public-api.mjs +0 -13
- package/esm2020/mdc-tabs/testing/tab-group-harness.mjs +0 -56
- package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +0 -2
- package/esm2020/mdc-tabs/testing/tab-harness.mjs +0 -64
- package/esm2020/mdc-tabs/testing/tab-link-harness.mjs +0 -40
- package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +0 -66
- package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +0 -27
- package/esm2020/mdc-tooltip/index.mjs +0 -9
- package/esm2020/mdc-tooltip/mdc-tooltip_public_index.mjs +0 -5
- package/esm2020/mdc-tooltip/module.mjs +0 -31
- package/esm2020/mdc-tooltip/public-api.mjs +0 -12
- package/esm2020/mdc-tooltip/testing/index.mjs +0 -9
- package/esm2020/mdc-tooltip/testing/public-api.mjs +0 -9
- package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +0 -30
- package/esm2020/mdc-tooltip/tooltip-animations.mjs +0 -24
- package/esm2020/mdc-tooltip/tooltip.mjs +0 -132
- package/fesm2015/mdc-autocomplete/testing.mjs +0 -50
- package/fesm2015/mdc-autocomplete/testing.mjs.map +0 -1
- package/fesm2015/mdc-autocomplete.mjs +0 -196
- package/fesm2015/mdc-autocomplete.mjs.map +0 -1
- package/fesm2015/mdc-button/testing.mjs +0 -75
- package/fesm2015/mdc-button/testing.mjs.map +0 -1
- package/fesm2015/mdc-button.mjs +0 -490
- package/fesm2015/mdc-button.mjs.map +0 -1
- package/fesm2015/mdc-card/testing.mjs +0 -63
- package/fesm2015/mdc-card/testing.mjs.map +0 -1
- package/fesm2015/mdc-card.mjs +0 -351
- package/fesm2015/mdc-card.mjs.map +0 -1
- package/fesm2015/mdc-checkbox/testing.mjs +0 -56
- package/fesm2015/mdc-checkbox/testing.mjs.map +0 -1
- package/fesm2015/mdc-checkbox.mjs +0 -142
- package/fesm2015/mdc-checkbox.mjs.map +0 -1
- package/fesm2015/mdc-chips/testing.mjs +0 -394
- package/fesm2015/mdc-chips/testing.mjs.map +0 -1
- package/fesm2015/mdc-chips.mjs +0 -2169
- package/fesm2015/mdc-chips.mjs.map +0 -1
- package/fesm2015/mdc-core/testing.mjs +0 -118
- package/fesm2015/mdc-core/testing.mjs.map +0 -1
- package/fesm2015/mdc-core.mjs +0 -141
- package/fesm2015/mdc-core.mjs.map +0 -1
- package/fesm2015/mdc-dialog/testing.mjs +0 -90
- package/fesm2015/mdc-dialog/testing.mjs.map +0 -1
- package/fesm2015/mdc-dialog.mjs +0 -500
- package/fesm2015/mdc-dialog.mjs.map +0 -1
- package/fesm2015/mdc-form-field/testing.mjs +0 -78
- package/fesm2015/mdc-form-field/testing.mjs.map +0 -1
- package/fesm2015/mdc-form-field.mjs +0 -1018
- package/fesm2015/mdc-form-field.mjs.map +0 -1
- package/fesm2015/mdc-input/testing.mjs +0 -18
- package/fesm2015/mdc-input/testing.mjs.map +0 -1
- package/fesm2015/mdc-input.mjs +0 -103
- package/fesm2015/mdc-input.mjs.map +0 -1
- package/fesm2015/mdc-list/testing.mjs +0 -574
- package/fesm2015/mdc-list/testing.mjs.map +0 -1
- package/fesm2015/mdc-list.mjs +0 -1264
- package/fesm2015/mdc-list.mjs.map +0 -1
- package/fesm2015/mdc-menu/testing.mjs +0 -59
- package/fesm2015/mdc-menu/testing.mjs.map +0 -1
- package/fesm2015/mdc-menu.mjs +0 -174
- package/fesm2015/mdc-menu.mjs.map +0 -1
- package/fesm2015/mdc-paginator/testing.mjs +0 -55
- package/fesm2015/mdc-paginator/testing.mjs.map +0 -1
- package/fesm2015/mdc-paginator.mjs +0 -100
- package/fesm2015/mdc-paginator.mjs.map +0 -1
- package/fesm2015/mdc-progress-bar/testing.mjs +0 -54
- package/fesm2015/mdc-progress-bar/testing.mjs.map +0 -1
- package/fesm2015/mdc-progress-bar.mjs +0 -198
- package/fesm2015/mdc-progress-bar.mjs.map +0 -1
- package/fesm2015/mdc-progress-spinner/testing.mjs +0 -56
- package/fesm2015/mdc-progress-spinner/testing.mjs.map +0 -1
- package/fesm2015/mdc-progress-spinner.mjs +0 -200
- package/fesm2015/mdc-progress-spinner.mjs.map +0 -1
- package/fesm2015/mdc-radio/testing.mjs +0 -63
- package/fesm2015/mdc-radio/testing.mjs.map +0 -1
- package/fesm2015/mdc-radio.mjs +0 -155
- package/fesm2015/mdc-radio.mjs.map +0 -1
- package/fesm2015/mdc-select/testing.mjs +0 -48
- package/fesm2015/mdc-select/testing.mjs.map +0 -1
- package/fesm2015/mdc-select.mjs +0 -273
- package/fesm2015/mdc-select.mjs.map +0 -1
- package/fesm2015/mdc-slide-toggle/testing.mjs +0 -66
- package/fesm2015/mdc-slide-toggle/testing.mjs.map +0 -1
- package/fesm2015/mdc-slide-toggle.mjs +0 -159
- package/fesm2015/mdc-slide-toggle.mjs.map +0 -1
- package/fesm2015/mdc-slider/testing.mjs +0 -199
- package/fesm2015/mdc-slider/testing.mjs.map +0 -1
- package/fesm2015/mdc-slider.mjs +0 -1212
- package/fesm2015/mdc-slider.mjs.map +0 -1
- package/fesm2015/mdc-snack-bar/testing.mjs +0 -49
- package/fesm2015/mdc-snack-bar/testing.mjs.map +0 -1
- package/fesm2015/mdc-snack-bar.mjs +0 -229
- package/fesm2015/mdc-snack-bar.mjs.map +0 -1
- package/fesm2015/mdc-table/testing.mjs +0 -158
- package/fesm2015/mdc-table/testing.mjs.map +0 -1
- package/fesm2015/mdc-table.mjs +0 -540
- package/fesm2015/mdc-table.mjs.map +0 -1
- package/fesm2015/mdc-tabs/testing.mjs +0 -273
- package/fesm2015/mdc-tabs/testing.mjs.map +0 -1
- package/fesm2015/mdc-tabs.mjs +0 -737
- package/fesm2015/mdc-tabs.mjs.map +0 -1
- package/fesm2015/mdc-tooltip/testing.mjs +0 -49
- package/fesm2015/mdc-tooltip/testing.mjs.map +0 -1
- package/fesm2015/mdc-tooltip.mjs +0 -206
- package/fesm2015/mdc-tooltip.mjs.map +0 -1
- package/fesm2020/mdc-autocomplete/testing.mjs +0 -58
- package/fesm2020/mdc-autocomplete/testing.mjs.map +0 -1
- package/fesm2020/mdc-autocomplete.mjs +0 -196
- package/fesm2020/mdc-autocomplete.mjs.map +0 -1
- package/fesm2020/mdc-button/testing.mjs +0 -69
- package/fesm2020/mdc-button/testing.mjs.map +0 -1
- package/fesm2020/mdc-button.mjs +0 -510
- package/fesm2020/mdc-button.mjs.map +0 -1
- package/fesm2020/mdc-card/testing.mjs +0 -69
- package/fesm2020/mdc-card/testing.mjs.map +0 -1
- package/fesm2020/mdc-card.mjs +0 -349
- package/fesm2020/mdc-card.mjs.map +0 -1
- package/fesm2020/mdc-checkbox/testing.mjs +0 -60
- package/fesm2020/mdc-checkbox/testing.mjs.map +0 -1
- package/fesm2020/mdc-checkbox.mjs +0 -139
- package/fesm2020/mdc-checkbox.mjs.map +0 -1
- package/fesm2020/mdc-chips/testing.mjs +0 -395
- package/fesm2020/mdc-chips/testing.mjs.map +0 -1
- package/fesm2020/mdc-chips.mjs +0 -2161
- package/fesm2020/mdc-chips.mjs.map +0 -1
- package/fesm2020/mdc-core/testing.mjs +0 -129
- package/fesm2020/mdc-core/testing.mjs.map +0 -1
- package/fesm2020/mdc-core.mjs +0 -139
- package/fesm2020/mdc-core.mjs.map +0 -1
- package/fesm2020/mdc-dialog/testing.mjs +0 -90
- package/fesm2020/mdc-dialog/testing.mjs.map +0 -1
- package/fesm2020/mdc-dialog.mjs +0 -499
- package/fesm2020/mdc-dialog.mjs.map +0 -1
- package/fesm2020/mdc-form-field/testing.mjs +0 -78
- package/fesm2020/mdc-form-field/testing.mjs.map +0 -1
- package/fesm2020/mdc-form-field.mjs +0 -1014
- package/fesm2020/mdc-form-field.mjs.map +0 -1
- package/fesm2020/mdc-input/testing.mjs +0 -18
- package/fesm2020/mdc-input/testing.mjs.map +0 -1
- package/fesm2020/mdc-input.mjs +0 -103
- package/fesm2020/mdc-input.mjs.map +0 -1
- package/fesm2020/mdc-list/testing.mjs +0 -544
- package/fesm2020/mdc-list/testing.mjs.map +0 -1
- package/fesm2020/mdc-list.mjs +0 -1260
- package/fesm2020/mdc-list.mjs.map +0 -1
- package/fesm2020/mdc-menu/testing.mjs +0 -65
- package/fesm2020/mdc-menu/testing.mjs.map +0 -1
- package/fesm2020/mdc-menu.mjs +0 -172
- package/fesm2020/mdc-menu.mjs.map +0 -1
- package/fesm2020/mdc-paginator/testing.mjs +0 -55
- package/fesm2020/mdc-paginator/testing.mjs.map +0 -1
- package/fesm2020/mdc-paginator.mjs +0 -98
- package/fesm2020/mdc-paginator.mjs.map +0 -1
- package/fesm2020/mdc-progress-bar/testing.mjs +0 -56
- package/fesm2020/mdc-progress-bar/testing.mjs.map +0 -1
- package/fesm2020/mdc-progress-bar.mjs +0 -196
- package/fesm2020/mdc-progress-bar.mjs.map +0 -1
- package/fesm2020/mdc-progress-spinner/testing.mjs +0 -58
- package/fesm2020/mdc-progress-spinner/testing.mjs.map +0 -1
- package/fesm2020/mdc-progress-spinner.mjs +0 -197
- package/fesm2020/mdc-progress-spinner.mjs.map +0 -1
- package/fesm2020/mdc-radio/testing.mjs +0 -69
- package/fesm2020/mdc-radio/testing.mjs.map +0 -1
- package/fesm2020/mdc-radio.mjs +0 -153
- package/fesm2020/mdc-radio.mjs.map +0 -1
- package/fesm2020/mdc-select/testing.mjs +0 -56
- package/fesm2020/mdc-select/testing.mjs.map +0 -1
- package/fesm2020/mdc-select.mjs +0 -273
- package/fesm2020/mdc-select.mjs.map +0 -1
- package/fesm2020/mdc-slide-toggle/testing.mjs +0 -66
- package/fesm2020/mdc-slide-toggle/testing.mjs.map +0 -1
- package/fesm2020/mdc-slide-toggle.mjs +0 -157
- package/fesm2020/mdc-slide-toggle.mjs.map +0 -1
- package/fesm2020/mdc-slider/testing.mjs +0 -172
- package/fesm2020/mdc-slider/testing.mjs.map +0 -1
- package/fesm2020/mdc-slider.mjs +0 -1191
- package/fesm2020/mdc-slider.mjs.map +0 -1
- package/fesm2020/mdc-snack-bar/testing.mjs +0 -53
- package/fesm2020/mdc-snack-bar/testing.mjs.map +0 -1
- package/fesm2020/mdc-snack-bar.mjs +0 -232
- package/fesm2020/mdc-snack-bar.mjs.map +0 -1
- package/fesm2020/mdc-table/testing.mjs +0 -158
- package/fesm2020/mdc-table/testing.mjs.map +0 -1
- package/fesm2020/mdc-table.mjs +0 -539
- package/fesm2020/mdc-table.mjs.map +0 -1
- package/fesm2020/mdc-tabs/testing.mjs +0 -265
- package/fesm2020/mdc-tabs/testing.mjs.map +0 -1
- package/fesm2020/mdc-tabs.mjs +0 -723
- package/fesm2020/mdc-tabs.mjs.map +0 -1
- package/fesm2020/mdc-tooltip/testing.mjs +0 -49
- package/fesm2020/mdc-tooltip/testing.mjs.map +0 -1
- package/fesm2020/mdc-tooltip.mjs +0 -202
- package/fesm2020/mdc-tooltip.mjs.map +0 -1
- package/mdc-autocomplete/_autocomplete-theme.import.scss +0 -5
- package/mdc-autocomplete/_autocomplete-theme.scss +0 -48
- package/mdc-autocomplete/index.d.ts +0 -97
- package/mdc-autocomplete/testing/index.d.ts +0 -32
- package/mdc-button/_button-base.import.scss +0 -4
- package/mdc-button/_button-base.scss +0 -95
- package/mdc-button/_button-theme-private.scss +0 -62
- package/mdc-button/_button-theme.import.scss +0 -16
- package/mdc-button/_button-theme.scss +0 -224
- package/mdc-button/_fab-theme.scss +0 -90
- package/mdc-button/_icon-button-theme.scss +0 -76
- package/mdc-button/index.d.ts +0 -216
- package/mdc-button/testing/index.d.ts +0 -41
- package/mdc-card/_card-theme.import.scss +0 -7
- package/mdc-card/_card-theme.scss +0 -74
- package/mdc-card/index.d.ts +0 -194
- package/mdc-card/testing/index.d.ts +0 -44
- package/mdc-checkbox/_checkbox-private.scss +0 -53
- package/mdc-checkbox/_checkbox-theme.import.scss +0 -15
- package/mdc-checkbox/_checkbox-theme.scss +0 -122
- package/mdc-checkbox/index.d.ts +0 -87
- package/mdc-checkbox/testing/index.d.ts +0 -28
- package/mdc-chips/_chips-theme.import.scss +0 -8
- package/mdc-chips/_chips-theme.scss +0 -117
- package/mdc-chips/index.d.ts +0 -979
- package/mdc-chips/testing/index.d.ts +0 -232
- package/mdc-core/_core-theme.import.scss +0 -10
- package/mdc-core/_core-theme.scss +0 -78
- package/mdc-core/_elevation.scss +0 -38
- package/mdc-core/color/_all-color.scss +0 -25
- package/mdc-core/density/_all-density.scss +0 -25
- package/mdc-core/index.d.ts +0 -206
- package/mdc-core/mdc-helpers/_focus-indicators-theme.scss +0 -39
- package/mdc-core/mdc-helpers/_focus-indicators.import.scss +0 -10
- package/mdc-core/mdc-helpers/_focus-indicators.scss +0 -15
- package/mdc-core/mdc-helpers/_mdc-helpers.import.scss +0 -8
- package/mdc-core/mdc-helpers/_mdc-helpers.scss +0 -221
- package/mdc-core/option/_optgroup-theme.import.scss +0 -7
- package/mdc-core/option/_optgroup-theme.scss +0 -44
- package/mdc-core/option/_option-theme.import.scss +0 -7
- package/mdc-core/option/_option-theme.scss +0 -87
- package/mdc-core/testing/index.d.ts +0 -64
- package/mdc-core/theming/_all-theme.scss +0 -61
- package/mdc-core/theming/prebuilt/deeppurple-amber.css +0 -1
- package/mdc-core/theming/prebuilt/indigo-pink.css +0 -1
- package/mdc-core/theming/prebuilt/pink-bluegrey.css +0 -1
- package/mdc-core/theming/prebuilt/purple-green.css +0 -1
- package/mdc-core/typography/_all-typography.scss +0 -99
- package/mdc-dialog/_dialog-legacy-padding.import.scss +0 -1
- package/mdc-dialog/_dialog-legacy-padding.scss +0 -31
- package/mdc-dialog/_dialog-theme.import.scss +0 -5
- package/mdc-dialog/_dialog-theme.scss +0 -78
- package/mdc-dialog/_mdc-dialog-structure-overrides.import.scss +0 -1
- package/mdc-dialog/_mdc-dialog-structure-overrides.scss +0 -56
- package/mdc-dialog/index.d.ts +0 -217
- package/mdc-dialog/testing/index.d.ts +0 -47
- package/mdc-form-field/_form-field-density.scss +0 -119
- package/mdc-form-field/_form-field-focus-overlay.scss +0 -34
- package/mdc-form-field/_form-field-high-contrast.scss +0 -39
- package/mdc-form-field/_form-field-native-select.scss +0 -133
- package/mdc-form-field/_form-field-sizing.scss +0 -40
- package/mdc-form-field/_form-field-subscript.scss +0 -83
- package/mdc-form-field/_form-field-theme.scss +0 -148
- package/mdc-form-field/_mdc-text-field-structure-overrides.scss +0 -129
- package/mdc-form-field/_mdc-text-field-textarea-overrides.scss +0 -36
- package/mdc-form-field/_mdc-text-field-theme-variable-refresh.scss +0 -63
- package/mdc-form-field/index.d.ts +0 -431
- package/mdc-form-field/testing/index.d.ts +0 -48
- package/mdc-input/_input-theme.import.scss +0 -5
- package/mdc-input/_input-theme.scss +0 -35
- package/mdc-input/index.d.ts +0 -30
- package/mdc-input/testing/index.d.ts +0 -20
- package/mdc-list/_interactive-list-theme.import.scss +0 -5
- package/mdc-list/_interactive-list-theme.scss +0 -40
- package/mdc-list/_list-option-theme.import.scss +0 -13
- package/mdc-list/_list-option-theme.scss +0 -28
- package/mdc-list/_list-option-trailing-avatar-compat.scss +0 -58
- package/mdc-list/_list-theme.import.scss +0 -17
- package/mdc-list/_list-theme.scss +0 -81
- package/mdc-list/index.d.ts +0 -534
- package/mdc-list/testing/index.d.ts +0 -372
- package/mdc-menu/_menu-theme.import.scss +0 -5
- package/mdc-menu/_menu-theme.scss +0 -88
- package/mdc-menu/index.d.ts +0 -110
- package/mdc-menu/testing/index.d.ts +0 -38
- package/mdc-paginator/_paginator-theme.import.scss +0 -9
- package/mdc-paginator/_paginator-theme.scss +0 -106
- package/mdc-paginator/_paginator-variables.import.scss +0 -1
- package/mdc-paginator/_paginator-variables.scss +0 -13
- package/mdc-paginator/index.d.ts +0 -72
- package/mdc-paginator/testing/index.d.ts +0 -30
- package/mdc-progress-bar/_progress-bar-theme.import.scss +0 -6
- package/mdc-progress-bar/_progress-bar-theme.scss +0 -57
- package/mdc-progress-bar/index.d.ts +0 -98
- package/mdc-progress-bar/testing/index.d.ts +0 -24
- package/mdc-progress-spinner/_progress-spinner-theme.import.scss +0 -6
- package/mdc-progress-spinner/_progress-spinner-theme.scss +0 -48
- package/mdc-progress-spinner/index.d.ts +0 -90
- package/mdc-progress-spinner/testing/index.d.ts +0 -26
- package/mdc-radio/_radio-theme.import.scss +0 -7
- package/mdc-radio/_radio-theme.scss +0 -110
- package/mdc-radio/index.d.ts +0 -72
- package/mdc-radio/testing/index.d.ts +0 -43
- package/mdc-select/_select-theme.import.scss +0 -10
- package/mdc-select/_select-theme.scss +0 -100
- package/mdc-select/index.d.ts +0 -111
- package/mdc-select/testing/index.d.ts +0 -28
- package/mdc-slide-toggle/_slide-toggle-theme.import.scss +0 -11
- package/mdc-slide-toggle/_slide-toggle-theme.scss +0 -140
- package/mdc-slide-toggle/index.d.ts +0 -83
- package/mdc-slide-toggle/testing/index.d.ts +0 -27
- package/mdc-slider/_slider-theme.import.scss +0 -5
- package/mdc-slider/_slider-theme.scss +0 -125
- package/mdc-slider/index.d.ts +0 -435
- package/mdc-slider/testing/index.d.ts +0 -92
- package/mdc-snack-bar/_snack-bar-theme.import.scss +0 -8
- package/mdc-snack-bar/_snack-bar-theme.scss +0 -81
- package/mdc-snack-bar/index.d.ts +0 -136
- package/mdc-snack-bar/testing/index.d.ts +0 -23
- package/mdc-table/_table-theme.import.scss +0 -11
- package/mdc-table/_table-theme.scss +0 -78
- package/mdc-table/index.d.ts +0 -238
- package/mdc-table/testing/index.d.ts +0 -118
- package/mdc-tabs/_tabs-common.import.scss +0 -14
- package/mdc-tabs/_tabs-common.scss +0 -196
- package/mdc-tabs/_tabs-theme.import.scss +0 -8
- package/mdc-tabs/_tabs-theme.scss +0 -146
- package/mdc-tabs/index.d.ts +0 -307
- package/mdc-tabs/testing/index.d.ts +0 -151
- package/mdc-tooltip/_tooltip-theme.import.scss +0 -5
- package/mdc-tooltip/_tooltip-theme.scss +0 -49
- package/mdc-tooltip/index.d.ts +0 -118
- package/mdc-tooltip/testing/index.d.ts +0 -26
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
9
|
-
import { Directionality } from '@angular/cdk/bidi';
|
|
10
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
11
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, Input, Optional, QueryList, ViewEncapsulation, } from '@angular/core';
|
|
12
|
-
import { mixinTabIndex } from '@angular/material-experimental/mdc-core';
|
|
13
|
-
import { merge, Subject } from 'rxjs';
|
|
14
|
-
import { startWith, switchMap, takeUntil } from 'rxjs/operators';
|
|
15
|
-
import { MatChip } from './chip';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "@angular/cdk/bidi";
|
|
18
|
-
/**
|
|
19
|
-
* Boilerplate for applying mixins to MatChipSet.
|
|
20
|
-
* @docs-private
|
|
21
|
-
*/
|
|
22
|
-
class MatChipSetBase {
|
|
23
|
-
constructor(_elementRef) { }
|
|
24
|
-
}
|
|
25
|
-
const _MatChipSetMixinBase = mixinTabIndex(MatChipSetBase);
|
|
26
|
-
/**
|
|
27
|
-
* Basic container component for the MatChip component.
|
|
28
|
-
*
|
|
29
|
-
* Extended by MatChipListbox and MatChipGrid for different interaction patterns.
|
|
30
|
-
*/
|
|
31
|
-
export class MatChipSet extends _MatChipSetMixinBase {
|
|
32
|
-
constructor(_elementRef, _changeDetectorRef, _dir) {
|
|
33
|
-
super(_elementRef);
|
|
34
|
-
this._elementRef = _elementRef;
|
|
35
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
36
|
-
this._dir = _dir;
|
|
37
|
-
/** Index of the last destroyed chip that had focus. */
|
|
38
|
-
this._lastDestroyedFocusedChipIndex = null;
|
|
39
|
-
/** Subject that emits when the component has been destroyed. */
|
|
40
|
-
this._destroyed = new Subject();
|
|
41
|
-
/** Role to use if it hasn't been overwritten by the user. */
|
|
42
|
-
this._defaultRole = 'presentation';
|
|
43
|
-
this._disabled = false;
|
|
44
|
-
this._explicitRole = null;
|
|
45
|
-
/** Flat list of all the actions contained within the chips. */
|
|
46
|
-
this._chipActions = new QueryList();
|
|
47
|
-
}
|
|
48
|
-
/** Combined stream of all of the child chips' focus events. */
|
|
49
|
-
get chipFocusChanges() {
|
|
50
|
-
return this._getChipStream(chip => chip._onFocus);
|
|
51
|
-
}
|
|
52
|
-
/** Combined stream of all of the child chips' remove events. */
|
|
53
|
-
get chipDestroyedChanges() {
|
|
54
|
-
return this._getChipStream(chip => chip.destroyed);
|
|
55
|
-
}
|
|
56
|
-
/** Whether the chip set is disabled. */
|
|
57
|
-
get disabled() {
|
|
58
|
-
return this._disabled;
|
|
59
|
-
}
|
|
60
|
-
set disabled(value) {
|
|
61
|
-
this._disabled = coerceBooleanProperty(value);
|
|
62
|
-
this._syncChipsState();
|
|
63
|
-
}
|
|
64
|
-
/** Whether the chip list contains chips or not. */
|
|
65
|
-
get empty() {
|
|
66
|
-
return this._chips.length === 0;
|
|
67
|
-
}
|
|
68
|
-
/** The ARIA role applied to the chip set. */
|
|
69
|
-
get role() {
|
|
70
|
-
if (this._explicitRole) {
|
|
71
|
-
return this._explicitRole;
|
|
72
|
-
}
|
|
73
|
-
return this.empty ? null : this._defaultRole;
|
|
74
|
-
}
|
|
75
|
-
set role(value) {
|
|
76
|
-
this._explicitRole = value;
|
|
77
|
-
}
|
|
78
|
-
/** Whether any of the chips inside of this chip-set has focus. */
|
|
79
|
-
get focused() {
|
|
80
|
-
return this._hasFocusedChip();
|
|
81
|
-
}
|
|
82
|
-
ngAfterViewInit() {
|
|
83
|
-
this._setUpFocusManagement();
|
|
84
|
-
this._trackChipSetChanges();
|
|
85
|
-
this._trackDestroyedFocusedChip();
|
|
86
|
-
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
this._chipActions.destroy();
|
|
89
|
-
this._destroyed.next();
|
|
90
|
-
this._destroyed.complete();
|
|
91
|
-
}
|
|
92
|
-
/** Checks whether any of the chips is focused. */
|
|
93
|
-
_hasFocusedChip() {
|
|
94
|
-
return this._chips && this._chips.some(chip => chip._hasFocus());
|
|
95
|
-
}
|
|
96
|
-
/** Syncs the chip-set's state with the individual chips. */
|
|
97
|
-
_syncChipsState() {
|
|
98
|
-
if (this._chips) {
|
|
99
|
-
this._chips.forEach(chip => {
|
|
100
|
-
chip.disabled = this._disabled;
|
|
101
|
-
chip._changeDetectorRef.markForCheck();
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/** Dummy method for subclasses to override. Base chip set cannot be focused. */
|
|
106
|
-
focus() { }
|
|
107
|
-
/** Handles keyboard events on the chip set. */
|
|
108
|
-
_handleKeydown(event) {
|
|
109
|
-
if (this._originatesFromChip(event)) {
|
|
110
|
-
this._keyManager.onKeydown(event);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Utility to ensure all indexes are valid.
|
|
115
|
-
*
|
|
116
|
-
* @param index The index to be checked.
|
|
117
|
-
* @returns True if the index is valid for our list of chips.
|
|
118
|
-
*/
|
|
119
|
-
_isValidIndex(index) {
|
|
120
|
-
return index >= 0 && index < this._chips.length;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Removes the `tabindex` from the chip grid and resets it back afterwards, allowing the
|
|
124
|
-
* user to tab out of it. This prevents the grid from capturing focus and redirecting
|
|
125
|
-
* it back to the first chip, creating a focus trap, if it user tries to tab away.
|
|
126
|
-
*/
|
|
127
|
-
_allowFocusEscape() {
|
|
128
|
-
const previousTabIndex = this.tabIndex;
|
|
129
|
-
if (this.tabIndex !== -1) {
|
|
130
|
-
this.tabIndex = -1;
|
|
131
|
-
setTimeout(() => {
|
|
132
|
-
this.tabIndex = previousTabIndex;
|
|
133
|
-
this._changeDetectorRef.markForCheck();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Gets a stream of events from all the chips within the set.
|
|
139
|
-
* The stream will automatically incorporate any newly-added chips.
|
|
140
|
-
*/
|
|
141
|
-
_getChipStream(mappingFunction) {
|
|
142
|
-
return this._chips.changes.pipe(startWith(null), switchMap(() => merge(...this._chips.map(mappingFunction))));
|
|
143
|
-
}
|
|
144
|
-
/** Checks whether an event comes from inside a chip element. */
|
|
145
|
-
_originatesFromChip(event) {
|
|
146
|
-
let currentElement = event.target;
|
|
147
|
-
while (currentElement && currentElement !== this._elementRef.nativeElement) {
|
|
148
|
-
// Null check the classList, because IE and Edge don't support it on all elements.
|
|
149
|
-
if (currentElement.classList && currentElement.classList.contains('mdc-evolution-chip')) {
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
currentElement = currentElement.parentElement;
|
|
153
|
-
}
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
/** Sets up the chip set's focus management logic. */
|
|
157
|
-
_setUpFocusManagement() {
|
|
158
|
-
// Create a flat `QueryList` containing the actions of all of the chips.
|
|
159
|
-
// This allows us to navigate both within the chip and move to the next/previous
|
|
160
|
-
// one using the existing `ListKeyManager`.
|
|
161
|
-
this._chips.changes.pipe(startWith(this._chips)).subscribe((chips) => {
|
|
162
|
-
const actions = [];
|
|
163
|
-
chips.forEach(chip => chip._getActions().forEach(action => actions.push(action)));
|
|
164
|
-
this._chipActions.reset(actions);
|
|
165
|
-
this._chipActions.notifyOnChanges();
|
|
166
|
-
});
|
|
167
|
-
this._keyManager = new FocusKeyManager(this._chipActions)
|
|
168
|
-
.withVerticalOrientation()
|
|
169
|
-
.withHorizontalOrientation(this._dir ? this._dir.value : 'ltr')
|
|
170
|
-
.withHomeAndEnd()
|
|
171
|
-
// Skip non-interactive and disabled actions since the user can't do anything with them.
|
|
172
|
-
.skipPredicate(action => !action.isInteractive || action.disabled);
|
|
173
|
-
// Keep the manager active index in sync so that navigation picks
|
|
174
|
-
// up from the current chip if the user clicks into the list directly.
|
|
175
|
-
this.chipFocusChanges.pipe(takeUntil(this._destroyed)).subscribe(({ chip }) => {
|
|
176
|
-
const action = chip._getSourceAction(document.activeElement);
|
|
177
|
-
if (action) {
|
|
178
|
-
this._keyManager.updateActiveItem(action);
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
this._dir?.change
|
|
182
|
-
.pipe(takeUntil(this._destroyed))
|
|
183
|
-
.subscribe(direction => this._keyManager.withHorizontalOrientation(direction));
|
|
184
|
-
}
|
|
185
|
-
/** Listens to changes in the chip set and syncs up the state of the individual chips. */
|
|
186
|
-
_trackChipSetChanges() {
|
|
187
|
-
this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
|
|
188
|
-
if (this.disabled) {
|
|
189
|
-
// Since this happens after the content has been
|
|
190
|
-
// checked, we need to defer it to the next tick.
|
|
191
|
-
Promise.resolve().then(() => this._syncChipsState());
|
|
192
|
-
}
|
|
193
|
-
this._redirectDestroyedChipFocus();
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
/** Starts tracking the destroyed chips in order to capture the focused one. */
|
|
197
|
-
_trackDestroyedFocusedChip() {
|
|
198
|
-
this.chipDestroyedChanges.pipe(takeUntil(this._destroyed)).subscribe((event) => {
|
|
199
|
-
const chipArray = this._chips.toArray();
|
|
200
|
-
const chipIndex = chipArray.indexOf(event.chip);
|
|
201
|
-
// If the focused chip is destroyed, save its index so that we can move focus to the next
|
|
202
|
-
// chip. We only save the index here, rather than move the focus immediately, because we want
|
|
203
|
-
// to wait until the chip is removed from the chip list before focusing the next one. This
|
|
204
|
-
// allows us to keep focus on the same index if the chip gets swapped out.
|
|
205
|
-
if (this._isValidIndex(chipIndex) && event.chip._hasFocus()) {
|
|
206
|
-
this._lastDestroyedFocusedChipIndex = chipIndex;
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Finds the next appropriate chip to move focus to,
|
|
212
|
-
* if the currently-focused chip is destroyed.
|
|
213
|
-
*/
|
|
214
|
-
_redirectDestroyedChipFocus() {
|
|
215
|
-
if (this._lastDestroyedFocusedChipIndex == null) {
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (this._chips.length) {
|
|
219
|
-
const newIndex = Math.min(this._lastDestroyedFocusedChipIndex, this._chips.length - 1);
|
|
220
|
-
const chipToFocus = this._chips.toArray()[newIndex];
|
|
221
|
-
if (chipToFocus.disabled) {
|
|
222
|
-
// If we're down to one disabled chip, move focus back to the set.
|
|
223
|
-
if (this._chips.length === 1) {
|
|
224
|
-
this.focus();
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
this._keyManager.setPreviousItemActive();
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
chipToFocus.focus();
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
this.focus();
|
|
236
|
-
}
|
|
237
|
-
this._lastDestroyedFocusedChipIndex = null;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
MatChipSet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatChipSet, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
-
MatChipSet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MatChipSet, selector: "mat-chip-set", inputs: { disabled: "disabled", role: "role" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "attr.role": "role" }, classAttribute: "mat-mdc-chip-set mdc-evolution-chip-set" }, queries: [{ propertyName: "_chips", predicate: MatChip, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
242
|
-
<span class="mdc-evolution-chip-set__chips" role="presentation">
|
|
243
|
-
<ng-content></ng-content>
|
|
244
|
-
</span>
|
|
245
|
-
`, isInline: true, styles: [".mdc-evolution-chip-set{display:flex}.mdc-evolution-chip-set:focus{outline:none}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mdc-evolution-chip-set--overflow .mdc-evolution-chip-set__chips{flex-flow:nowrap}.mdc-evolution-chip-set .mdc-evolution-chip-set__chips{margin-left:-8px;margin-right:0}[dir=rtl] .mdc-evolution-chip-set .mdc-evolution-chip-set__chips,.mdc-evolution-chip-set .mdc-evolution-chip-set__chips[dir=rtl]{margin-left:0;margin-right:-8px}.mdc-evolution-chip-set .mdc-evolution-chip{margin-left:8px;margin-right:0}[dir=rtl] .mdc-evolution-chip-set .mdc-evolution-chip,.mdc-evolution-chip-set .mdc-evolution-chip[dir=rtl]{margin-left:0;margin-right:8px}.mdc-evolution-chip-set .mdc-evolution-chip{margin-top:4px;margin-bottom:4px}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatChipSet, decorators: [{
|
|
247
|
-
type: Component,
|
|
248
|
-
args: [{ selector: 'mat-chip-set', template: `
|
|
249
|
-
<span class="mdc-evolution-chip-set__chips" role="presentation">
|
|
250
|
-
<ng-content></ng-content>
|
|
251
|
-
</span>
|
|
252
|
-
`, host: {
|
|
253
|
-
'class': 'mat-mdc-chip-set mdc-evolution-chip-set',
|
|
254
|
-
'(keydown)': '_handleKeydown($event)',
|
|
255
|
-
'[attr.role]': 'role',
|
|
256
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mdc-evolution-chip-set{display:flex}.mdc-evolution-chip-set:focus{outline:none}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mdc-evolution-chip-set--overflow .mdc-evolution-chip-set__chips{flex-flow:nowrap}.mdc-evolution-chip-set .mdc-evolution-chip-set__chips{margin-left:-8px;margin-right:0}[dir=rtl] .mdc-evolution-chip-set .mdc-evolution-chip-set__chips,.mdc-evolution-chip-set .mdc-evolution-chip-set__chips[dir=rtl]{margin-left:0;margin-right:-8px}.mdc-evolution-chip-set .mdc-evolution-chip{margin-left:8px;margin-right:0}[dir=rtl] .mdc-evolution-chip-set .mdc-evolution-chip,.mdc-evolution-chip-set .mdc-evolution-chip[dir=rtl]{margin-left:0;margin-right:8px}.mdc-evolution-chip-set .mdc-evolution-chip{margin-top:4px;margin-bottom:4px}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}"] }]
|
|
257
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Directionality, decorators: [{
|
|
258
|
-
type: Optional
|
|
259
|
-
}] }]; }, propDecorators: { disabled: [{
|
|
260
|
-
type: Input
|
|
261
|
-
}], role: [{
|
|
262
|
-
type: Input
|
|
263
|
-
}], _chips: [{
|
|
264
|
-
type: ContentChildren,
|
|
265
|
-
args: [MatChip, {
|
|
266
|
-
// We need to use `descendants: true`, because Ivy will no longer match
|
|
267
|
-
// indirect descendants if it's left as false.
|
|
268
|
-
descendants: true,
|
|
269
|
-
}]
|
|
270
|
-
}] } });
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtZXhwZXJpbWVudGFsL21kYy1jaGlwcy9jaGlwLXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsYUFBYSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFDLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLFFBQVEsQ0FBQzs7O0FBRzdDOzs7R0FHRztBQUNILE1BQWUsY0FBYztJQUUzQixZQUFZLFdBQXVCLElBQUcsQ0FBQztDQUN4QztBQUNELE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRTNEOzs7O0dBSUc7QUFpQkgsTUFBTSxPQUFPLFVBQ1gsU0FBUSxvQkFBb0I7SUF3RTVCLFlBQ1ksV0FBb0MsRUFDcEMsa0JBQXFDLEVBQzNCLElBQW9CO1FBRXhDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyx1QkFBa0IsR0FB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S0FBSyxDQUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDZDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQzFDO2FBQ0Y7aUJBQU07Z0JBQ0wsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3JCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQztJQUM3QyxDQUFDOzt1R0F4UVUsVUFBVTsyRkFBVixVQUFVLHlSQStESixPQUFPLHVFQTdFZDs7OztHQUlUOzJGQVVVLFVBQVU7a0JBaEJ0QixTQUFTOytCQUNFLGNBQWMsWUFDZDs7OztHQUlULFFBRUs7d0JBQ0osT0FBTyxFQUFFLHlDQUF5Qzt3QkFDbEQsV0FBVyxFQUFFLHdCQUF3Qjt3QkFDckMsYUFBYSxFQUFFLE1BQU07cUJBQ3RCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQThFNUMsUUFBUTs0Q0FoRFAsUUFBUTtzQkFEWCxLQUFLO2dCQWlCRixJQUFJO3NCQURQLEtBQUs7Z0JBeUJOLE1BQU07c0JBTEwsZUFBZTt1QkFBQyxPQUFPLEVBQUU7d0JBQ3hCLHVFQUF1RTt3QkFDdkUsOENBQThDO3dCQUM5QyxXQUFXLEVBQUUsSUFBSTtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtGb2N1c0tleU1hbmFnZXJ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7RGlyZWN0aW9uYWxpdHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hhc1RhYkluZGV4LCBtaXhpblRhYkluZGV4fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1leHBlcmltZW50YWwvbWRjLWNvcmUnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWF0Q2hpcCwgTWF0Q2hpcEV2ZW50fSBmcm9tICcuL2NoaXAnO1xuaW1wb3J0IHtNYXRDaGlwQWN0aW9ufSBmcm9tICcuL2NoaXAtYWN0aW9uJztcblxuLyoqXG4gKiBCb2lsZXJwbGF0ZSBmb3IgYXBwbHlpbmcgbWl4aW5zIHRvIE1hdENoaXBTZXQuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmFic3RyYWN0IGNsYXNzIE1hdENoaXBTZXRCYXNlIHtcbiAgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuY29uc3QgX01hdENoaXBTZXRNaXhpbkJhc2UgPSBtaXhpblRhYkluZGV4KE1hdENoaXBTZXRCYXNlKTtcblxuLyoqXG4gKiBCYXNpYyBjb250YWluZXIgY29tcG9uZW50IGZvciB0aGUgTWF0Q2hpcCBjb21wb25lbnQuXG4gKlxuICogRXh0ZW5kZWQgYnkgTWF0Q2hpcExpc3Rib3ggYW5kIE1hdENoaXBHcmlkIGZvciBkaWZmZXJlbnQgaW50ZXJhY3Rpb24gcGF0dGVybnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1jaGlwLXNldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNwYW4gY2xhc3M9XCJtZGMtZXZvbHV0aW9uLWNoaXAtc2V0X19jaGlwc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIGAsXG4gIHN0eWxlVXJsczogWydjaGlwLXNldC5jc3MnXSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdtYXQtbWRjLWNoaXAtc2V0IG1kYy1ldm9sdXRpb24tY2hpcC1zZXQnLFxuICAgICcoa2V5ZG93biknOiAnX2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUnLFxuICB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Q2hpcFNldFxuICBleHRlbmRzIF9NYXRDaGlwU2V0TWl4aW5CYXNlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgSGFzVGFiSW5kZXgsIE9uRGVzdHJveVxue1xuICAvKiogSW5kZXggb2YgdGhlIGxhc3QgZGVzdHJveWVkIGNoaXAgdGhhdCBoYWQgZm9jdXMuICovXG4gIHByaXZhdGUgX2xhc3REZXN0cm95ZWRGb2N1c2VkQ2hpcEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlZCB0byBtYW5hZ2UgZm9jdXMgd2l0aGluIHRoZSBjaGlwIGxpc3QuICovXG4gIHByb3RlY3RlZCBfa2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPE1hdENoaXBBY3Rpb24+O1xuXG4gIC8qKiBTdWJqZWN0IHRoYXQgZW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4gKi9cbiAgcHJvdGVjdGVkIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBSb2xlIHRvIHVzZSBpZiBpdCBoYXNuJ3QgYmVlbiBvdmVyd3JpdHRlbiBieSB0aGUgdXNlci4gKi9cbiAgcHJvdGVjdGVkIF9kZWZhdWx0Um9sZSA9ICdwcmVzZW50YXRpb24nO1xuXG4gIC8qKiBDb21iaW5lZCBzdHJlYW0gb2YgYWxsIG9mIHRoZSBjaGlsZCBjaGlwcycgZm9jdXMgZXZlbnRzLiAqL1xuICBnZXQgY2hpcEZvY3VzQ2hhbmdlcygpOiBPYnNlcnZhYmxlPE1hdENoaXBFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlwU3RyZWFtKGNoaXAgPT4gY2hpcC5fb25Gb2N1cyk7XG4gIH1cblxuICAvKiogQ29tYmluZWQgc3RyZWFtIG9mIGFsbCBvZiB0aGUgY2hpbGQgY2hpcHMnIHJlbW92ZSBldmVudHMuICovXG4gIGdldCBjaGlwRGVzdHJveWVkQ2hhbmdlcygpOiBPYnNlcnZhYmxlPE1hdENoaXBFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlwU3RyZWFtKGNoaXAgPT4gY2hpcC5kZXN0cm95ZWQpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgc2V0IGlzIGRpc2FibGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuX3N5bmNDaGlwc1N0YXRlKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGxpc3QgY29udGFpbnMgY2hpcHMgb3Igbm90LiAqL1xuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIC8qKiBUaGUgQVJJQSByb2xlIGFwcGxpZWQgdG8gdGhlIGNoaXAgc2V0LiAqL1xuICBASW5wdXQoKVxuICBnZXQgcm9sZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5fZXhwbGljaXRSb2xlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXhwbGljaXRSb2xlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVtcHR5ID8gbnVsbCA6IHRoaXMuX2RlZmF1bHRSb2xlO1xuICB9XG5cbiAgc2V0IHJvbGUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9leHBsaWNpdFJvbGUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9leHBsaWNpdFJvbGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIGFueSBvZiB0aGUgY2hpcHMgaW5zaWRlIG9mIHRoaXMgY2hpcC1zZXQgaGFzIGZvY3VzLiAqL1xuICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRm9jdXNlZENoaXAoKTtcbiAgfVxuXG4gIC8qKiBUaGUgY2hpcHMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGNoaXAgc2V0LiAqL1xuICBAQ29udGVudENoaWxkcmVuKE1hdENoaXAsIHtcbiAgICAvLyBXZSBuZWVkIHRvIHVzZSBgZGVzY2VuZGFudHM6IHRydWVgLCBiZWNhdXNlIEl2eSB3aWxsIG5vIGxvbmdlciBtYXRjaFxuICAgIC8vIGluZGlyZWN0IGRlc2NlbmRhbnRzIGlmIGl0J3MgbGVmdCBhcyBmYWxzZS5cbiAgICBkZXNjZW5kYW50czogdHJ1ZSxcbiAgfSlcbiAgX2NoaXBzOiBRdWVyeUxpc3Q8TWF0Q2hpcD47XG5cbiAgLyoqIEZsYXQgbGlzdCBvZiBhbGwgdGhlIGFjdGlvbnMgY29udGFpbmVkIHdpdGhpbiB0aGUgY2hpcHMuICovXG4gIF9jaGlwQWN0aW9ucyA9IG5ldyBRdWVyeUxpc3Q8TWF0Q2hpcEFjdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9zZXRVcEZvY3VzTWFuYWdlbWVudCgpO1xuICAgIHRoaXMuX3RyYWNrQ2hpcFNldENoYW5nZXMoKTtcbiAgICB0aGlzLl90cmFja0Rlc3Ryb3llZEZvY3VzZWRDaGlwKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9jaGlwQWN0aW9ucy5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBDaGVja3Mgd2hldGhlciBhbnkgb2YgdGhlIGNoaXBzIGlzIGZvY3VzZWQuICovXG4gIHByb3RlY3RlZCBfaGFzRm9jdXNlZENoaXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBzICYmIHRoaXMuX2NoaXBzLnNvbWUoY2hpcCA9PiBjaGlwLl9oYXNGb2N1cygpKTtcbiAgfVxuXG4gIC8qKiBTeW5jcyB0aGUgY2hpcC1zZXQncyBzdGF0ZSB3aXRoIHRoZSBpbmRpdmlkdWFsIGNoaXBzLiAqL1xuICBwcm90ZWN0ZWQgX3N5bmNDaGlwc1N0YXRlKCkge1xuICAgIGlmICh0aGlzLl9jaGlwcykge1xuICAgICAgdGhpcy5fY2hpcHMuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgY2hpcC5kaXNhYmxlZCA9IHRoaXMuX2Rpc2FibGVkO1xuICAgICAgICBjaGlwLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBEdW1teSBtZXRob2QgZm9yIHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUuIEJhc2UgY2hpcCBzZXQgY2Fubm90IGJlIGZvY3VzZWQuICovXG4gIGZvY3VzKCkge31cblxuICAvKiogSGFuZGxlcyBrZXlib2FyZCBldmVudHMgb24gdGhlIGNoaXAgc2V0LiAqL1xuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLl9vcmlnaW5hdGVzRnJvbUNoaXAoZXZlbnQpKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFV0aWxpdHkgdG8gZW5zdXJlIGFsbCBpbmRleGVzIGFyZSB2YWxpZC5cbiAgICpcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCB0byBiZSBjaGVja2VkLlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpbmRleCBpcyB2YWxpZCBmb3Igb3VyIGxpc3Qgb2YgY2hpcHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgX2lzVmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLl9jaGlwcy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgYHRhYmluZGV4YCBmcm9tIHRoZSBjaGlwIGdyaWQgYW5kIHJlc2V0cyBpdCBiYWNrIGFmdGVyd2FyZHMsIGFsbG93aW5nIHRoZVxuICAgKiB1c2VyIHRvIHRhYiBvdXQgb2YgaXQuIFRoaXMgcHJldmVudHMgdGhlIGdyaWQgZnJvbSBjYXB0dXJpbmcgZm9jdXMgYW5kIHJlZGlyZWN0aW5nXG4gICAqIGl0IGJhY2sgdG8gdGhlIGZpcnN0IGNoaXAsIGNyZWF0aW5nIGEgZm9jdXMgdHJhcCwgaWYgaXQgdXNlciB0cmllcyB0byB0YWIgYXdheS5cbiAgICovXG4gIHByb3RlY3RlZCBfYWxsb3dGb2N1c0VzY2FwZSgpIHtcbiAgICBjb25zdCBwcmV2aW91c1RhYkluZGV4ID0gdGhpcy50YWJJbmRleDtcblxuICAgIGlmICh0aGlzLnRhYkluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy50YWJJbmRleCA9IHByZXZpb3VzVGFiSW5kZXg7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBzdHJlYW0gb2YgZXZlbnRzIGZyb20gYWxsIHRoZSBjaGlwcyB3aXRoaW4gdGhlIHNldC5cbiAgICogVGhlIHN0cmVhbSB3aWxsIGF1dG9tYXRpY2FsbHkgaW5jb3Jwb3JhdGUgYW55IG5ld2x5LWFkZGVkIGNoaXBzLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRDaGlwU3RyZWFtPFQsIEMgZXh0ZW5kcyBNYXRDaGlwID0gTWF0Q2hpcD4oXG4gICAgbWFwcGluZ0Z1bmN0aW9uOiAoY2hpcDogQykgPT4gT2JzZXJ2YWJsZTxUPixcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBzLmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZSguLi4odGhpcy5fY2hpcHMgYXMgUXVlcnlMaXN0PEM+KS5tYXAobWFwcGluZ0Z1bmN0aW9uKSkpLFxuICAgICk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgYW4gZXZlbnQgY29tZXMgZnJvbSBpbnNpZGUgYSBjaGlwIGVsZW1lbnQuICovXG4gIHByb3RlY3RlZCBfb3JpZ2luYXRlc0Zyb21DaGlwKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgJiYgY3VycmVudEVsZW1lbnQgIT09IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xuICAgICAgLy8gTnVsbCBjaGVjayB0aGUgY2xhc3NMaXN0LCBiZWNhdXNlIElFIGFuZCBFZGdlIGRvbid0IHN1cHBvcnQgaXQgb24gYWxsIGVsZW1lbnRzLlxuICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdCAmJiBjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ21kYy1ldm9sdXRpb24tY2hpcCcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogU2V0cyB1cCB0aGUgY2hpcCBzZXQncyBmb2N1cyBtYW5hZ2VtZW50IGxvZ2ljLiAqL1xuICBwcml2YXRlIF9zZXRVcEZvY3VzTWFuYWdlbWVudCgpIHtcbiAgICAvLyBDcmVhdGUgYSBmbGF0IGBRdWVyeUxpc3RgIGNvbnRhaW5pbmcgdGhlIGFjdGlvbnMgb2YgYWxsIG9mIHRoZSBjaGlwcy5cbiAgICAvLyBUaGlzIGFsbG93cyB1cyB0byBuYXZpZ2F0ZSBib3RoIHdpdGhpbiB0aGUgY2hpcCBhbmQgbW92ZSB0byB0aGUgbmV4dC9wcmV2aW91c1xuICAgIC8vIG9uZSB1c2luZyB0aGUgZXhpc3RpbmcgYExpc3RLZXlNYW5hZ2VyYC5cbiAgICB0aGlzLl9jaGlwcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2NoaXBzKSkuc3Vic2NyaWJlKChjaGlwczogUXVlcnlMaXN0PE1hdENoaXA+KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpb25zOiBNYXRDaGlwQWN0aW9uW10gPSBbXTtcbiAgICAgIGNoaXBzLmZvckVhY2goY2hpcCA9PiBjaGlwLl9nZXRBY3Rpb25zKCkuZm9yRWFjaChhY3Rpb24gPT4gYWN0aW9ucy5wdXNoKGFjdGlvbikpKTtcbiAgICAgIHRoaXMuX2NoaXBBY3Rpb25zLnJlc2V0KGFjdGlvbnMpO1xuICAgICAgdGhpcy5fY2hpcEFjdGlvbnMubm90aWZ5T25DaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcih0aGlzLl9jaGlwQWN0aW9ucylcbiAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG4gICAgICAud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLl9kaXIgPyB0aGlzLl9kaXIudmFsdWUgOiAnbHRyJylcbiAgICAgIC53aXRoSG9tZUFuZEVuZCgpXG4gICAgICAvLyBTa2lwIG5vbi1pbnRlcmFjdGl2ZSBhbmQgZGlzYWJsZWQgYWN0aW9ucyBzaW5jZSB0aGUgdXNlciBjYW4ndCBkbyBhbnl0aGluZyB3aXRoIHRoZW0uXG4gICAgICAuc2tpcFByZWRpY2F0ZShhY3Rpb24gPT4gIWFjdGlvbi5pc0ludGVyYWN0aXZlIHx8IGFjdGlvbi5kaXNhYmxlZCk7XG5cbiAgICAvLyBLZWVwIHRoZSBtYW5hZ2VyIGFjdGl2ZSBpbmRleCBpbiBzeW5jIHNvIHRoYXQgbmF2aWdhdGlvbiBwaWNrc1xuICAgIC8vIHVwIGZyb20gdGhlIGN1cnJlbnQgY2hpcCBpZiB0aGUgdXNlciBjbGlja3MgaW50byB0aGUgbGlzdCBkaXJlY3RseS5cbiAgICB0aGlzLmNoaXBGb2N1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh7Y2hpcH0pID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IGNoaXAuX2dldFNvdXJjZUFjdGlvbihkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEVsZW1lbnQpO1xuXG4gICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fZGlyPy5jaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZShkaXJlY3Rpb24gPT4gdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKGRpcmVjdGlvbikpO1xuICB9XG5cbiAgLyoqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgY2hpcCBzZXQgYW5kIHN5bmNzIHVwIHRoZSBzdGF0ZSBvZiB0aGUgaW5kaXZpZHVhbCBjaGlwcy4gKi9cbiAgcHJpdmF0ZSBfdHJhY2tDaGlwU2V0Q2hhbmdlcygpIHtcbiAgICB0aGlzLl9jaGlwcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIC8vIFNpbmNlIHRoaXMgaGFwcGVucyBhZnRlciB0aGUgY29udGVudCBoYXMgYmVlblxuICAgICAgICAvLyBjaGVja2VkLCB3ZSBuZWVkIHRvIGRlZmVyIGl0IHRvIHRoZSBuZXh0IHRpY2suXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fc3luY0NoaXBzU3RhdGUoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3JlZGlyZWN0RGVzdHJveWVkQ2hpcEZvY3VzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogU3RhcnRzIHRyYWNraW5nIHRoZSBkZXN0cm95ZWQgY2hpcHMgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgZm9jdXNlZCBvbmUuICovXG4gIHByaXZhdGUgX3RyYWNrRGVzdHJveWVkRm9jdXNlZENoaXAoKSB7XG4gICAgdGhpcy5jaGlwRGVzdHJveWVkQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKGV2ZW50OiBNYXRDaGlwRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGNoaXBBcnJheSA9IHRoaXMuX2NoaXBzLnRvQXJyYXkoKTtcbiAgICAgIGNvbnN0IGNoaXBJbmRleCA9IGNoaXBBcnJheS5pbmRleE9mKGV2ZW50LmNoaXApO1xuXG4gICAgICAvLyBJZiB0aGUgZm9jdXNlZCBjaGlwIGlzIGRlc3Ryb3llZCwgc2F2ZSBpdHMgaW5kZXggc28gdGhhdCB3ZSBjYW4gbW92ZSBmb2N1cyB0byB0aGUgbmV4dFxuICAgICAgLy8gY2hpcC4gV2Ugb25seSBzYXZlIHRoZSBpbmRleCBoZXJlLCByYXRoZXIgdGhhbiBtb3ZlIHRoZSBmb2N1cyBpbW1lZGlhdGVseSwgYmVjYXVzZSB3ZSB3YW50XG4gICAgICAvLyB0byB3YWl0IHVudGlsIHRoZSBjaGlwIGlzIHJlbW92ZWQgZnJvbSB0aGUgY2hpcCBsaXN0IGJlZm9yZSBmb2N1c2luZyB0aGUgbmV4dCBvbmUuIFRoaXNcbiAgICAgIC8vIGFsbG93cyB1cyB0byBrZWVwIGZvY3VzIG9uIHRoZSBzYW1lIGluZGV4IGlmIHRoZSBjaGlwIGdldHMgc3dhcHBlZCBvdXQuXG4gICAgICBpZiAodGhpcy5faXNWYWxpZEluZGV4KGNoaXBJbmRleCkgJiYgZXZlbnQuY2hpcC5faGFzRm9jdXMoKSkge1xuICAgICAgICB0aGlzLl9sYXN0RGVzdHJveWVkRm9jdXNlZENoaXBJbmRleCA9IGNoaXBJbmRleDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgbmV4dCBhcHByb3ByaWF0ZSBjaGlwIHRvIG1vdmUgZm9jdXMgdG8sXG4gICAqIGlmIHRoZSBjdXJyZW50bHktZm9jdXNlZCBjaGlwIGlzIGRlc3Ryb3llZC5cbiAgICovXG4gIHByaXZhdGUgX3JlZGlyZWN0RGVzdHJveWVkQ2hpcEZvY3VzKCkge1xuICAgIGlmICh0aGlzLl9sYXN0RGVzdHJveWVkRm9jdXNlZENoaXBJbmRleCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NoaXBzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9sYXN0RGVzdHJveWVkRm9jdXNlZENoaXBJbmRleCwgdGhpcy5fY2hpcHMubGVuZ3RoIC0gMSk7XG4gICAgICBjb25zdCBjaGlwVG9Gb2N1cyA9IHRoaXMuX2NoaXBzLnRvQXJyYXkoKVtuZXdJbmRleF07XG5cbiAgICAgIGlmIChjaGlwVG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgICAgICAvLyBJZiB3ZSdyZSBkb3duIHRvIG9uZSBkaXNhYmxlZCBjaGlwLCBtb3ZlIGZvY3VzIGJhY2sgdG8gdGhlIHNldC5cbiAgICAgICAgaWYgKHRoaXMuX2NoaXBzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjaGlwVG9Gb2N1cy5mb2N1cygpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGFzdERlc3Ryb3llZEZvY3VzZWRDaGlwSW5kZXggPSBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC10ZXh0LWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtZXhwZXJpbWVudGFsL21kYy1jaGlwcy9jaGlwLXRleHQtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqIEludGVyZmFjZSBmb3IgYSB0ZXh0IGNvbnRyb2wgdGhhdCBpcyB1c2VkIHRvIGRyaXZlIGludGVyYWN0aW9uIHdpdGggYSBtYXQtY2hpcC1saXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRDaGlwVGV4dENvbnRyb2wge1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0ZXh0IGNvbnRyb2wuICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSB0ZXh0IGNvbnRyb2wncyBwbGFjZWhvbGRlciB0ZXh0LiAqL1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0ZXh0IGNvbnRyb2wgaGFzIGJyb3dzZXIgZm9jdXMuICovXG4gIGZvY3VzZWQ6IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgY29udHJvbCBpcyBlbXB0eS4gKi9cbiAgZW1wdHk6IGJvb2xlYW47XG5cbiAgLyoqIEZvY3VzZXMgdGhlIHRleHQgY29udHJvbC4gKi9cbiAgZm9jdXMoKTogdm9pZDtcblxuICAvKiogU2V0cyB0aGUgbGlzdCBvZiBpZHMgdGhlIGlucHV0IGlzIGRlc2NyaWJlZCBieS4gKi9cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQ7XG59XG4iXX0=
|