You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1071 lines
106 KiB
1071 lines
106 KiB
import { CommonModule } from '@angular/common';
|
|
import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Directive, ChangeDetectorRef, Optional, Inject, ContentChildren, ContentChild, Input, forwardRef, EventEmitter, Output, ViewChild, Attribute, NgModule } from '@angular/core';
|
|
import { mixinDisabled, mixinDisableRipple, setLines, MatLine, MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule } from '@angular/material/core';
|
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
import { Subject } from 'rxjs';
|
|
import { takeUntil, startWith } from 'rxjs/operators';
|
|
import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';
|
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
import { hasModifierKey, A, ENTER, SPACE, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';
|
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
import { MatDividerModule } from '@angular/material/divider';
|
|
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
// Boilerplate for applying mixins to MatList.
|
|
/** @docs-private */
|
|
import * as ɵngcc0 from '@angular/core';
|
|
import * as ɵngcc1 from '@angular/material/core';
|
|
import * as ɵngcc2 from '@angular/common';
|
|
import * as ɵngcc3 from '@angular/cdk/a11y';
|
|
|
|
const _c0 = ["*"];
|
|
const _c1 = ".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n";
|
|
const _c2 = [[["", "mat-list-avatar", ""], ["", "mat-list-icon", ""], ["", "matListAvatar", ""], ["", "matListIcon", ""]], [["", "mat-line", ""], ["", "matLine", ""]], "*"];
|
|
const _c3 = ["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]", "[mat-line], [matLine]", "*"];
|
|
const _c4 = ["text"];
|
|
function MatListOption_mat_pseudo_checkbox_2_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵelement(0, "mat-pseudo-checkbox", 5);
|
|
} if (rf & 2) {
|
|
const ctx_r0 = ɵngcc0.ɵɵnextContext();
|
|
ɵngcc0.ɵɵproperty("state", ctx_r0.selected ? "checked" : "unchecked")("disabled", ctx_r0.disabled);
|
|
} }
|
|
const _c5 = ["*", [["", "mat-list-avatar", ""], ["", "mat-list-icon", ""], ["", "matListAvatar", ""], ["", "matListIcon", ""]]];
|
|
const _c6 = ["*", "[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]"];
|
|
const _MatListBase = mixinDisabled(mixinDisableRipple(class {
|
|
}));
|
|
// Boilerplate for applying mixins to MatListItem.
|
|
/** @docs-private */
|
|
const _MatListItemMixinBase = mixinDisableRipple(class {
|
|
});
|
|
/**
|
|
* Injection token that can be used to inject instances of `MatList`. It serves as
|
|
* alternative token to the actual `MatList` class which could cause unnecessary
|
|
* retention of the class and its component metadata.
|
|
*/
|
|
const MAT_LIST = new InjectionToken('MatList');
|
|
/**
|
|
* Injection token that can be used to inject instances of `MatNavList`. It serves as
|
|
* alternative token to the actual `MatNavList` class which could cause unnecessary
|
|
* retention of the class and its component metadata.
|
|
*/
|
|
const MAT_NAV_LIST = new InjectionToken('MatNavList');
|
|
class MatNavList extends _MatListBase {
|
|
constructor() {
|
|
super(...arguments);
|
|
/** Emits when the state of the list changes. */
|
|
this._stateChanges = new Subject();
|
|
}
|
|
ngOnChanges() {
|
|
this._stateChanges.next();
|
|
}
|
|
ngOnDestroy() {
|
|
this._stateChanges.complete();
|
|
}
|
|
}
|
|
MatNavList.ɵfac = /*@__PURE__*/ function () { let ɵMatNavList_BaseFactory; return function MatNavList_Factory(t) { return (ɵMatNavList_BaseFactory || (ɵMatNavList_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatNavList)))(t || MatNavList); }; }();
|
|
MatNavList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatNavList, selectors: [["mat-nav-list"]], hostAttrs: ["role", "navigation", 1, "mat-nav-list", "mat-list-base"], inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matNavList"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_NAV_LIST, useExisting: MatNavList }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatNavList_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵprojectionDef();
|
|
ɵngcc0.ɵɵprojection(0);
|
|
} }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatNavList, [{
|
|
type: Component,
|
|
args: [{
|
|
selector: 'mat-nav-list',
|
|
exportAs: 'matNavList',
|
|
host: {
|
|
'role': 'navigation',
|
|
'class': 'mat-nav-list mat-list-base'
|
|
},
|
|
template: "<ng-content></ng-content>\n\n",
|
|
inputs: ['disableRipple', 'disabled'],
|
|
encapsulation: ViewEncapsulation.None,
|
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
providers: [{ provide: MAT_NAV_LIST, useExisting: MatNavList }],
|
|
styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
|
|
}]
|
|
}], null, null); })();
|
|
class MatList extends _MatListBase {
|
|
constructor(_elementRef) {
|
|
super();
|
|
this._elementRef = _elementRef;
|
|
/** Emits when the state of the list changes. */
|
|
this._stateChanges = new Subject();
|
|
if (this._getListType() === 'action-list') {
|
|
_elementRef.nativeElement.classList.add('mat-action-list');
|
|
}
|
|
}
|
|
_getListType() {
|
|
const nodeName = this._elementRef.nativeElement.nodeName.toLowerCase();
|
|
if (nodeName === 'mat-list') {
|
|
return 'list';
|
|
}
|
|
if (nodeName === 'mat-action-list') {
|
|
return 'action-list';
|
|
}
|
|
return null;
|
|
}
|
|
ngOnChanges() {
|
|
this._stateChanges.next();
|
|
}
|
|
ngOnDestroy() {
|
|
this._stateChanges.complete();
|
|
}
|
|
}
|
|
MatList.ɵfac = function MatList_Factory(t) { return new (t || MatList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };
|
|
MatList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatList, selectors: [["mat-list"], ["mat-action-list"]], hostAttrs: [1, "mat-list", "mat-list-base"], inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matList"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_LIST, useExisting: MatList }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatList_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵprojectionDef();
|
|
ɵngcc0.ɵɵprojection(0);
|
|
} }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
|
|
MatList.ctorParameters = () => [
|
|
{ type: ElementRef }
|
|
];
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatList, [{
|
|
type: Component,
|
|
args: [{
|
|
selector: 'mat-list, mat-action-list',
|
|
exportAs: 'matList',
|
|
template: "<ng-content></ng-content>\n\n",
|
|
host: {
|
|
'class': 'mat-list mat-list-base'
|
|
},
|
|
inputs: ['disableRipple', 'disabled'],
|
|
encapsulation: ViewEncapsulation.None,
|
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
providers: [{ provide: MAT_LIST, useExisting: MatList }],
|
|
styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
|
|
}]
|
|
}], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();
|
|
/**
|
|
* Directive whose purpose is to add the mat- CSS styling to this selector.
|
|
* @docs-private
|
|
*/
|
|
class MatListAvatarCssMatStyler {
|
|
}
|
|
MatListAvatarCssMatStyler.ɵfac = function MatListAvatarCssMatStyler_Factory(t) { return new (t || MatListAvatarCssMatStyler)(); };
|
|
MatListAvatarCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListAvatarCssMatStyler, selectors: [["", "mat-list-avatar", ""], ["", "matListAvatar", ""]], hostAttrs: [1, "mat-list-avatar"] });
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListAvatarCssMatStyler, [{
|
|
type: Directive,
|
|
args: [{
|
|
selector: '[mat-list-avatar], [matListAvatar]',
|
|
host: { 'class': 'mat-list-avatar' }
|
|
}]
|
|
}], null, null); })();
|
|
/**
|
|
* Directive whose purpose is to add the mat- CSS styling to this selector.
|
|
* @docs-private
|
|
*/
|
|
class MatListIconCssMatStyler {
|
|
}
|
|
MatListIconCssMatStyler.ɵfac = function MatListIconCssMatStyler_Factory(t) { return new (t || MatListIconCssMatStyler)(); };
|
|
MatListIconCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListIconCssMatStyler, selectors: [["", "mat-list-icon", ""], ["", "matListIcon", ""]], hostAttrs: [1, "mat-list-icon"] });
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListIconCssMatStyler, [{
|
|
type: Directive,
|
|
args: [{
|
|
selector: '[mat-list-icon], [matListIcon]',
|
|
host: { 'class': 'mat-list-icon' }
|
|
}]
|
|
}], null, null); })();
|
|
/**
|
|
* Directive whose purpose is to add the mat- CSS styling to this selector.
|
|
* @docs-private
|
|
*/
|
|
class MatListSubheaderCssMatStyler {
|
|
}
|
|
MatListSubheaderCssMatStyler.ɵfac = function MatListSubheaderCssMatStyler_Factory(t) { return new (t || MatListSubheaderCssMatStyler)(); };
|
|
MatListSubheaderCssMatStyler.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatListSubheaderCssMatStyler, selectors: [["", "mat-subheader", ""], ["", "matSubheader", ""]], hostAttrs: [1, "mat-subheader"] });
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListSubheaderCssMatStyler, [{
|
|
type: Directive,
|
|
args: [{
|
|
selector: '[mat-subheader], [matSubheader]',
|
|
host: { 'class': 'mat-subheader' }
|
|
}]
|
|
}], null, null); })();
|
|
/** An item within a Material Design list. */
|
|
class MatListItem extends _MatListItemMixinBase {
|
|
constructor(_element, _changeDetectorRef, navList, list) {
|
|
super();
|
|
this._element = _element;
|
|
this._isInteractiveList = false;
|
|
this._destroyed = new Subject();
|
|
this._disabled = false;
|
|
this._isInteractiveList = !!(navList || (list && list._getListType() === 'action-list'));
|
|
this._list = navList || list;
|
|
// If no type attribute is specified for <button>, set it to "button".
|
|
// If a type attribute is already specified, do nothing.
|
|
const element = this._getHostElement();
|
|
if (element.nodeName.toLowerCase() === 'button' && !element.hasAttribute('type')) {
|
|
element.setAttribute('type', 'button');
|
|
}
|
|
if (this._list) {
|
|
// React to changes in the state of the parent list since
|
|
// some of the item's properties depend on it (e.g. `disableRipple`).
|
|
this._list._stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
|
|
_changeDetectorRef.markForCheck();
|
|
});
|
|
}
|
|
}
|
|
/** Whether the option is disabled. */
|
|
get disabled() { return this._disabled || !!(this._list && this._list.disabled); }
|
|
set disabled(value) {
|
|
this._disabled = coerceBooleanProperty(value);
|
|
}
|
|
ngAfterContentInit() {
|
|
setLines(this._lines, this._element);
|
|
}
|
|
ngOnDestroy() {
|
|
this._destroyed.next();
|
|
this._destroyed.complete();
|
|
}
|
|
/** Whether this list item should show a ripple effect when clicked. */
|
|
_isRippleDisabled() {
|
|
return !this._isInteractiveList || this.disableRipple ||
|
|
!!(this._list && this._list.disableRipple);
|
|
}
|
|
/** Retrieves the DOM element of the component host. */
|
|
_getHostElement() {
|
|
return this._element.nativeElement;
|
|
}
|
|
}
|
|
MatListItem.ɵfac = function MatListItem_Factory(t) { return new (t || MatListItem)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_NAV_LIST, 8), ɵngcc0.ɵɵdirectiveInject(MAT_LIST, 8)); };
|
|
MatListItem.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatListItem, selectors: [["mat-list-item"], ["a", "mat-list-item", ""], ["button", "mat-list-item", ""]], contentQueries: function MatListItem_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatListAvatarCssMatStyler, 5);
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatListIconCssMatStyler, 5);
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatLine, 5);
|
|
} if (rf & 2) {
|
|
let _t;
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._avatar = _t.first);
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._icon = _t.first);
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._lines = _t);
|
|
} }, hostAttrs: [1, "mat-list-item", "mat-focus-indicator"], hostVars: 6, hostBindings: function MatListItem_HostBindings(rf, ctx) { if (rf & 2) {
|
|
ɵngcc0.ɵɵclassProp("mat-list-item-disabled", ctx.disabled)("mat-list-item-avatar", ctx._avatar || ctx._icon)("mat-list-item-with-avatar", ctx._avatar || ctx._icon);
|
|
} }, inputs: { disableRipple: "disableRipple", disabled: "disabled" }, exportAs: ["matListItem"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c3, decls: 6, vars: 2, consts: [[1, "mat-list-item-content"], ["mat-ripple", "", 1, "mat-list-item-ripple", 3, "matRippleTrigger", "matRippleDisabled"], [1, "mat-list-text"]], template: function MatListItem_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵprojectionDef(_c2);
|
|
ɵngcc0.ɵɵelementStart(0, "div", 0);
|
|
ɵngcc0.ɵɵelement(1, "div", 1);
|
|
ɵngcc0.ɵɵprojection(2);
|
|
ɵngcc0.ɵɵelementStart(3, "div", 2);
|
|
ɵngcc0.ɵɵprojection(4, 1);
|
|
ɵngcc0.ɵɵelementEnd();
|
|
ɵngcc0.ɵɵprojection(5, 2);
|
|
ɵngcc0.ɵɵelementEnd();
|
|
} if (rf & 2) {
|
|
ɵngcc0.ɵɵadvance(1);
|
|
ɵngcc0.ɵɵproperty("matRippleTrigger", ctx._getHostElement())("matRippleDisabled", ctx._isRippleDisabled());
|
|
} }, directives: [ɵngcc1.MatRipple], encapsulation: 2, changeDetection: 0 });
|
|
MatListItem.ctorParameters = () => [
|
|
{ type: ElementRef },
|
|
{ type: ChangeDetectorRef },
|
|
{ type: MatNavList, decorators: [{ type: Optional }, { type: Inject, args: [MAT_NAV_LIST,] }] },
|
|
{ type: MatList, decorators: [{ type: Optional }, { type: Inject, args: [MAT_LIST,] }] }
|
|
];
|
|
MatListItem.propDecorators = {
|
|
_lines: [{ type: ContentChildren, args: [MatLine, { descendants: true },] }],
|
|
_avatar: [{ type: ContentChild, args: [MatListAvatarCssMatStyler,] }],
|
|
_icon: [{ type: ContentChild, args: [MatListIconCssMatStyler,] }],
|
|
disabled: [{ type: Input }]
|
|
};
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListItem, [{
|
|
type: Component,
|
|
args: [{
|
|
selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',
|
|
exportAs: 'matListItem',
|
|
host: {
|
|
'class': 'mat-list-item mat-focus-indicator',
|
|
'[class.mat-list-item-disabled]': 'disabled',
|
|
// @breaking-change 8.0.0 Remove `mat-list-item-avatar` in favor of `mat-list-item-with-avatar`.
|
|
'[class.mat-list-item-avatar]': '_avatar || _icon',
|
|
'[class.mat-list-item-with-avatar]': '_avatar || _icon'
|
|
},
|
|
inputs: ['disableRipple'],
|
|
template: "<div class=\"mat-list-item-content\">\n <div class=\"mat-list-item-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"_isRippleDisabled()\">\n </div>\n\n <ng-content select=\"[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]\">\n </ng-content>\n\n <div class=\"mat-list-text\"><ng-content select=\"[mat-line], [matLine]\"></ng-content></div>\n\n <ng-content></ng-content>\n</div>\n",
|
|
encapsulation: ViewEncapsulation.None,
|
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
}]
|
|
}], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: MatNavList, decorators: [{
|
|
type: Optional
|
|
}, {
|
|
type: Inject,
|
|
args: [MAT_NAV_LIST]
|
|
}] }, { type: MatList, decorators: [{
|
|
type: Optional
|
|
}, {
|
|
type: Inject,
|
|
args: [MAT_LIST]
|
|
}] }]; }, { disabled: [{
|
|
type: Input
|
|
}], _lines: [{
|
|
type: ContentChildren,
|
|
args: [MatLine, { descendants: true }]
|
|
}], _avatar: [{
|
|
type: ContentChild,
|
|
args: [MatListAvatarCssMatStyler]
|
|
}], _icon: [{
|
|
type: ContentChild,
|
|
args: [MatListIconCssMatStyler]
|
|
}] }); })();
|
|
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
const _MatSelectionListBase = mixinDisableRipple(class {
|
|
});
|
|
const _MatListOptionBase = mixinDisableRipple(class {
|
|
});
|
|
/** @docs-private */
|
|
const MAT_SELECTION_LIST_VALUE_ACCESSOR = {
|
|
provide: NG_VALUE_ACCESSOR,
|
|
useExisting: forwardRef(() => MatSelectionList),
|
|
multi: true
|
|
};
|
|
/** Change event that is being fired whenever the selected state of an option changes. */
|
|
class MatSelectionListChange {
|
|
constructor(
|
|
/** Reference to the selection list that emitted the event. */
|
|
source,
|
|
/**
|
|
* Reference to the option that has been changed.
|
|
* @deprecated Use `options` instead, because some events may change more than one option.
|
|
* @breaking-change 12.0.0
|
|
*/
|
|
option,
|
|
/** Reference to the options that have been changed. */
|
|
options) {
|
|
this.source = source;
|
|
this.option = option;
|
|
this.options = options;
|
|
}
|
|
}
|
|
/**
|
|
* Component for list-options of selection-list. Each list-option can automatically
|
|
* generate a checkbox and can put current item into the selectionModel of selection-list
|
|
* if the current item is selected.
|
|
*/
|
|
class MatListOption extends _MatListOptionBase {
|
|
constructor(_element, _changeDetector,
|
|
/** @docs-private */
|
|
selectionList) {
|
|
super();
|
|
this._element = _element;
|
|
this._changeDetector = _changeDetector;
|
|
this.selectionList = selectionList;
|
|
this._selected = false;
|
|
this._disabled = false;
|
|
this._hasFocus = false;
|
|
/**
|
|
* Emits when the selected state of the option has changed.
|
|
* Use to facilitate two-data binding to the `selected` property.
|
|
* @docs-private
|
|
*/
|
|
this.selectedChange = new EventEmitter();
|
|
/** Whether the label should appear before or after the checkbox. Defaults to 'after' */
|
|
this.checkboxPosition = 'after';
|
|
/**
|
|
* This is set to true after the first OnChanges cycle so we don't clear the value of `selected`
|
|
* in the first cycle.
|
|
*/
|
|
this._inputsInitialized = false;
|
|
}
|
|
/** Theme color of the list option. This sets the color of the checkbox. */
|
|
get color() { return this._color || this.selectionList.color; }
|
|
set color(newValue) { this._color = newValue; }
|
|
/** Value of the option */
|
|
get value() { return this._value; }
|
|
set value(newValue) {
|
|
if (this.selected &&
|
|
!this.selectionList.compareWith(newValue, this.value) &&
|
|
this._inputsInitialized) {
|
|
this.selected = false;
|
|
}
|
|
this._value = newValue;
|
|
}
|
|
/** Whether the option is disabled. */
|
|
get disabled() { return this._disabled || (this.selectionList && this.selectionList.disabled); }
|
|
set disabled(value) {
|
|
const newValue = coerceBooleanProperty(value);
|
|
if (newValue !== this._disabled) {
|
|
this._disabled = newValue;
|
|
this._changeDetector.markForCheck();
|
|
}
|
|
}
|
|
/** Whether the option is selected. */
|
|
get selected() { return this.selectionList.selectedOptions.isSelected(this); }
|
|
set selected(value) {
|
|
const isSelected = coerceBooleanProperty(value);
|
|
if (isSelected !== this._selected) {
|
|
this._setSelected(isSelected);
|
|
if (isSelected || this.selectionList.multiple) {
|
|
this.selectionList._reportValueChange();
|
|
}
|
|
}
|
|
}
|
|
ngOnInit() {
|
|
const list = this.selectionList;
|
|
if (list._value && list._value.some(value => list.compareWith(value, this._value))) {
|
|
this._setSelected(true);
|
|
}
|
|
const wasSelected = this._selected;
|
|
// List options that are selected at initialization can't be reported properly to the form
|
|
// control. This is because it takes some time until the selection-list knows about all
|
|
// available options. Also it can happen that the ControlValueAccessor has an initial value
|
|
// that should be used instead. Deferring the value change report to the next tick ensures
|
|
// that the form control value is not being overwritten.
|
|
Promise.resolve().then(() => {
|
|
if (this._selected || wasSelected) {
|
|
this.selected = true;
|
|
this._changeDetector.markForCheck();
|
|
}
|
|
});
|
|
this._inputsInitialized = true;
|
|
}
|
|
ngAfterContentInit() {
|
|
setLines(this._lines, this._element);
|
|
}
|
|
ngOnDestroy() {
|
|
if (this.selected) {
|
|
// We have to delay this until the next tick in order
|
|
// to avoid changed after checked errors.
|
|
Promise.resolve().then(() => {
|
|
this.selected = false;
|
|
});
|
|
}
|
|
const hadFocus = this._hasFocus;
|
|
const newActiveItem = this.selectionList._removeOptionFromList(this);
|
|
// Only move focus if this option was focused at the time it was destroyed.
|
|
if (hadFocus && newActiveItem) {
|
|
newActiveItem.focus();
|
|
}
|
|
}
|
|
/** Toggles the selection state of the option. */
|
|
toggle() {
|
|
this.selected = !this.selected;
|
|
}
|
|
/** Allows for programmatic focusing of the option. */
|
|
focus() {
|
|
this._element.nativeElement.focus();
|
|
}
|
|
/**
|
|
* Returns the list item's text label. Implemented as a part of the FocusKeyManager.
|
|
* @docs-private
|
|
*/
|
|
getLabel() {
|
|
return this._text ? (this._text.nativeElement.textContent || '') : '';
|
|
}
|
|
/** Whether this list item should show a ripple effect when clicked. */
|
|
_isRippleDisabled() {
|
|
return this.disabled || this.disableRipple || this.selectionList.disableRipple;
|
|
}
|
|
_handleClick() {
|
|
if (!this.disabled && (this.selectionList.multiple || !this.selected)) {
|
|
this.toggle();
|
|
// Emit a change event if the selected state of the option changed through user interaction.
|
|
this.selectionList._emitChangeEvent([this]);
|
|
}
|
|
}
|
|
_handleFocus() {
|
|
this.selectionList._setFocusedOption(this);
|
|
this._hasFocus = true;
|
|
}
|
|
_handleBlur() {
|
|
this.selectionList._onTouched();
|
|
this._hasFocus = false;
|
|
}
|
|
/** Retrieves the DOM element of the component host. */
|
|
_getHostElement() {
|
|
return this._element.nativeElement;
|
|
}
|
|
/** Sets the selected state of the option. Returns whether the value has changed. */
|
|
_setSelected(selected) {
|
|
if (selected === this._selected) {
|
|
return false;
|
|
}
|
|
this._selected = selected;
|
|
if (selected) {
|
|
this.selectionList.selectedOptions.select(this);
|
|
}
|
|
else {
|
|
this.selectionList.selectedOptions.deselect(this);
|
|
}
|
|
this.selectedChange.emit(selected);
|
|
this._changeDetector.markForCheck();
|
|
return true;
|
|
}
|
|
/**
|
|
* Notifies Angular that the option needs to be checked in the next change detection run. Mainly
|
|
* used to trigger an update of the list option if the disabled state of the selection list
|
|
* changed.
|
|
*/
|
|
_markForCheck() {
|
|
this._changeDetector.markForCheck();
|
|
}
|
|
}
|
|
MatListOption.ɵfac = function MatListOption_Factory(t) { return new (t || MatListOption)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(forwardRef(() => MatSelectionList))); };
|
|
MatListOption.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatListOption, selectors: [["mat-list-option"]], contentQueries: function MatListOption_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatListAvatarCssMatStyler, 5);
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatListIconCssMatStyler, 5);
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatLine, 5);
|
|
} if (rf & 2) {
|
|
let _t;
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._avatar = _t.first);
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._icon = _t.first);
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._lines = _t);
|
|
} }, viewQuery: function MatListOption_Query(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵviewQuery(_c4, 5);
|
|
} if (rf & 2) {
|
|
let _t;
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._text = _t.first);
|
|
} }, hostAttrs: ["role", "option", 1, "mat-list-item", "mat-list-option", "mat-focus-indicator"], hostVars: 15, hostBindings: function MatListOption_HostBindings(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵlistener("focus", function MatListOption_focus_HostBindingHandler() { return ctx._handleFocus(); })("blur", function MatListOption_blur_HostBindingHandler() { return ctx._handleBlur(); })("click", function MatListOption_click_HostBindingHandler() { return ctx._handleClick(); });
|
|
} if (rf & 2) {
|
|
ɵngcc0.ɵɵattribute("aria-selected", ctx.selected)("aria-disabled", ctx.disabled)("tabindex", -1);
|
|
ɵngcc0.ɵɵclassProp("mat-list-item-disabled", ctx.disabled)("mat-list-item-with-avatar", ctx._avatar || ctx._icon)("mat-primary", ctx.color === "primary")("mat-accent", ctx.color !== "primary" && ctx.color !== "warn")("mat-warn", ctx.color === "warn")("mat-list-single-selected-option", ctx.selected && !ctx.selectionList.multiple);
|
|
} }, inputs: { disableRipple: "disableRipple", checkboxPosition: "checkboxPosition", color: "color", value: "value", selected: "selected", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, exportAs: ["matListOption"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c6, decls: 7, vars: 5, consts: [[1, "mat-list-item-content"], ["mat-ripple", "", 1, "mat-list-item-ripple", 3, "matRippleTrigger", "matRippleDisabled"], [3, "state", "disabled", 4, "ngIf"], [1, "mat-list-text"], ["text", ""], [3, "state", "disabled"]], template: function MatListOption_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵprojectionDef(_c5);
|
|
ɵngcc0.ɵɵelementStart(0, "div", 0);
|
|
ɵngcc0.ɵɵelement(1, "div", 1);
|
|
ɵngcc0.ɵɵtemplate(2, MatListOption_mat_pseudo_checkbox_2_Template, 1, 2, "mat-pseudo-checkbox", 2);
|
|
ɵngcc0.ɵɵelementStart(3, "div", 3, 4);
|
|
ɵngcc0.ɵɵprojection(5);
|
|
ɵngcc0.ɵɵelementEnd();
|
|
ɵngcc0.ɵɵprojection(6, 1);
|
|
ɵngcc0.ɵɵelementEnd();
|
|
} if (rf & 2) {
|
|
ɵngcc0.ɵɵclassProp("mat-list-item-content-reverse", ctx.checkboxPosition == "after");
|
|
ɵngcc0.ɵɵadvance(1);
|
|
ɵngcc0.ɵɵproperty("matRippleTrigger", ctx._getHostElement())("matRippleDisabled", ctx._isRippleDisabled());
|
|
ɵngcc0.ɵɵadvance(1);
|
|
ɵngcc0.ɵɵproperty("ngIf", ctx.selectionList.multiple);
|
|
} }, directives: [ɵngcc1.MatRipple, ɵngcc2.NgIf, ɵngcc1.MatPseudoCheckbox], encapsulation: 2, changeDetection: 0 });
|
|
MatListOption.ctorParameters = () => [
|
|
{ type: ElementRef },
|
|
{ type: ChangeDetectorRef },
|
|
{ type: MatSelectionList, decorators: [{ type: Inject, args: [forwardRef(() => MatSelectionList),] }] }
|
|
];
|
|
MatListOption.propDecorators = {
|
|
_avatar: [{ type: ContentChild, args: [MatListAvatarCssMatStyler,] }],
|
|
_icon: [{ type: ContentChild, args: [MatListIconCssMatStyler,] }],
|
|
_lines: [{ type: ContentChildren, args: [MatLine, { descendants: true },] }],
|
|
selectedChange: [{ type: Output }],
|
|
_text: [{ type: ViewChild, args: ['text',] }],
|
|
checkboxPosition: [{ type: Input }],
|
|
color: [{ type: Input }],
|
|
value: [{ type: Input }],
|
|
disabled: [{ type: Input }],
|
|
selected: [{ type: Input }]
|
|
};
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListOption, [{
|
|
type: Component,
|
|
args: [{
|
|
selector: 'mat-list-option',
|
|
exportAs: 'matListOption',
|
|
inputs: ['disableRipple'],
|
|
host: {
|
|
'role': 'option',
|
|
'class': 'mat-list-item mat-list-option mat-focus-indicator',
|
|
'(focus)': '_handleFocus()',
|
|
'(blur)': '_handleBlur()',
|
|
'(click)': '_handleClick()',
|
|
'[class.mat-list-item-disabled]': 'disabled',
|
|
'[class.mat-list-item-with-avatar]': '_avatar || _icon',
|
|
// Manually set the "primary" or "warn" class if the color has been explicitly
|
|
// set to "primary" or "warn". The pseudo checkbox picks up these classes for
|
|
// its theme.
|
|
'[class.mat-primary]': 'color === "primary"',
|
|
// Even though accent is the default, we need to set this class anyway, because the list might
|
|
// be placed inside a parent that has one of the other colors with a higher specificity.
|
|
'[class.mat-accent]': 'color !== "primary" && color !== "warn"',
|
|
'[class.mat-warn]': 'color === "warn"',
|
|
'[class.mat-list-single-selected-option]': 'selected && !selectionList.multiple',
|
|
'[attr.aria-selected]': 'selected',
|
|
'[attr.aria-disabled]': 'disabled',
|
|
'[attr.tabindex]': '-1'
|
|
},
|
|
template: "<div class=\"mat-list-item-content\"\n [class.mat-list-item-content-reverse]=\"checkboxPosition == 'after'\">\n\n <div mat-ripple\n class=\"mat-list-item-ripple\"\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"_isRippleDisabled()\"></div>\n\n <mat-pseudo-checkbox\n *ngIf=\"selectionList.multiple\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n <div class=\"mat-list-text\" #text><ng-content></ng-content></div>\n\n <ng-content select=\"[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]\">\n </ng-content>\n\n</div>\n",
|
|
encapsulation: ViewEncapsulation.None,
|
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
}]
|
|
}], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: MatSelectionList, decorators: [{
|
|
type: Inject,
|
|
args: [forwardRef(() => MatSelectionList)]
|
|
}] }]; }, { selectedChange: [{
|
|
type: Output
|
|
}], checkboxPosition: [{
|
|
type: Input
|
|
}], color: [{
|
|
type: Input
|
|
}], value: [{
|
|
type: Input
|
|
}], selected: [{
|
|
type: Input
|
|
}], disabled: [{
|
|
type: Input
|
|
}], _avatar: [{
|
|
type: ContentChild,
|
|
args: [MatListAvatarCssMatStyler]
|
|
}], _icon: [{
|
|
type: ContentChild,
|
|
args: [MatListIconCssMatStyler]
|
|
}], _lines: [{
|
|
type: ContentChildren,
|
|
args: [MatLine, { descendants: true }]
|
|
}], _text: [{
|
|
type: ViewChild,
|
|
args: ['text']
|
|
}] }); })();
|
|
/**
|
|
* Material Design list component where each item is a selectable option. Behaves as a listbox.
|
|
*/
|
|
class MatSelectionList extends _MatSelectionListBase {
|
|
constructor(_element,
|
|
// @breaking-change 11.0.0 Remove `tabIndex` parameter.
|
|
tabIndex, _changeDetector,
|
|
// @breaking-change 11.0.0 `_focusMonitor` parameter to become required.
|
|
_focusMonitor) {
|
|
super();
|
|
this._element = _element;
|
|
this._changeDetector = _changeDetector;
|
|
this._focusMonitor = _focusMonitor;
|
|
this._multiple = true;
|
|
this._contentInitialized = false;
|
|
/** Emits a change event whenever the selected state of an option changes. */
|
|
this.selectionChange = new EventEmitter();
|
|
/**
|
|
* Tabindex of the selection list.
|
|
* @breaking-change 11.0.0 Remove `tabIndex` input.
|
|
*/
|
|
this.tabIndex = 0;
|
|
/** Theme color of the selection list. This sets the checkbox color for all list options. */
|
|
this.color = 'accent';
|
|
/**
|
|
* Function used for comparing an option against the selected value when determining which
|
|
* options should appear as selected. The first argument is the value of an options. The second
|
|
* one is a value from the selected value. A boolean must be returned.
|
|
*/
|
|
this.compareWith = (a1, a2) => a1 === a2;
|
|
this._disabled = false;
|
|
/** The currently selected options. */
|
|
this.selectedOptions = new SelectionModel(this._multiple);
|
|
/** The tabindex of the selection list. */
|
|
this._tabIndex = -1;
|
|
/** View to model callback that should be called whenever the selected options change. */
|
|
this._onChange = (_) => { };
|
|
/** Emits when the list has been destroyed. */
|
|
this._destroyed = new Subject();
|
|
/** View to model callback that should be called if the list or its options lost focus. */
|
|
this._onTouched = () => { };
|
|
}
|
|
/** Whether the selection list is disabled. */
|
|
get disabled() { return this._disabled; }
|
|
set disabled(value) {
|
|
this._disabled = coerceBooleanProperty(value);
|
|
// The `MatSelectionList` and `MatListOption` are using the `OnPush` change detection
|
|
// strategy. Therefore the options will not check for any changes if the `MatSelectionList`
|
|
// changed its state. Since we know that a change to `disabled` property of the list affects
|
|
// the state of the options, we manually mark each option for check.
|
|
this._markOptionsForCheck();
|
|
}
|
|
/** Whether selection is limited to one or multiple items (default multiple). */
|
|
get multiple() { return this._multiple; }
|
|
set multiple(value) {
|
|
const newValue = coerceBooleanProperty(value);
|
|
if (newValue !== this._multiple) {
|
|
if (this._contentInitialized && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
throw new Error('Cannot change `multiple` mode of mat-selection-list after initialization.');
|
|
}
|
|
this._multiple = newValue;
|
|
this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);
|
|
}
|
|
}
|
|
ngAfterContentInit() {
|
|
var _a;
|
|
this._contentInitialized = true;
|
|
this._keyManager = new FocusKeyManager(this.options)
|
|
.withWrap()
|
|
.withTypeAhead()
|
|
.withHomeAndEnd()
|
|
// Allow disabled items to be focusable. For accessibility reasons, there must be a way for
|
|
// screenreader users, that allows reading the different options of the list.
|
|
.skipPredicate(() => false)
|
|
.withAllowedModifierKeys(['shiftKey']);
|
|
if (this._value) {
|
|
this._setOptionsFromValues(this._value);
|
|
}
|
|
// If the user attempts to tab out of the selection list, allow focus to escape.
|
|
this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe(() => {
|
|
this._allowFocusEscape();
|
|
});
|
|
// When the number of options change, update the tabindex of the selection list.
|
|
this.options.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
|
|
this._updateTabIndex();
|
|
});
|
|
// Sync external changes to the model back to the options.
|
|
this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {
|
|
if (event.added) {
|
|
for (let item of event.added) {
|
|
item.selected = true;
|
|
}
|
|
}
|
|
if (event.removed) {
|
|
for (let item of event.removed) {
|
|
item.selected = false;
|
|
}
|
|
}
|
|
});
|
|
// @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.
|
|
(_a = this._focusMonitor) === null || _a === void 0 ? void 0 : _a.monitor(this._element).pipe(takeUntil(this._destroyed)).subscribe(origin => {
|
|
var _a;
|
|
if (origin === 'keyboard' || origin === 'program') {
|
|
let toFocus = 0;
|
|
for (let i = 0; i < this.options.length; i++) {
|
|
if ((_a = this.options.get(i)) === null || _a === void 0 ? void 0 : _a.selected) {
|
|
toFocus = i;
|
|
break;
|
|
}
|
|
}
|
|
this._keyManager.setActiveItem(toFocus);
|
|
}
|
|
});
|
|
}
|
|
ngOnChanges(changes) {
|
|
const disableRippleChanges = changes['disableRipple'];
|
|
const colorChanges = changes['color'];
|
|
if ((disableRippleChanges && !disableRippleChanges.firstChange) ||
|
|
(colorChanges && !colorChanges.firstChange)) {
|
|
this._markOptionsForCheck();
|
|
}
|
|
}
|
|
ngOnDestroy() {
|
|
var _a;
|
|
// @breaking-change 11.0.0 Remove null assertion once _focusMonitor is required.
|
|
(_a = this._focusMonitor) === null || _a === void 0 ? void 0 : _a.stopMonitoring(this._element);
|
|
this._destroyed.next();
|
|
this._destroyed.complete();
|
|
this._isDestroyed = true;
|
|
}
|
|
/** Focuses the selection list. */
|
|
focus(options) {
|
|
this._element.nativeElement.focus(options);
|
|
}
|
|
/** Selects all of the options. Returns the options that changed as a result. */
|
|
selectAll() {
|
|
return this._setAllOptionsSelected(true);
|
|
}
|
|
/** Deselects all of the options. Returns the options that changed as a result. */
|
|
deselectAll() {
|
|
return this._setAllOptionsSelected(false);
|
|
}
|
|
/** Sets the focused option of the selection-list. */
|
|
_setFocusedOption(option) {
|
|
this._keyManager.updateActiveItem(option);
|
|
}
|
|
/**
|
|
* Removes an option from the selection list and updates the active item.
|
|
* @returns Currently-active item.
|
|
*/
|
|
_removeOptionFromList(option) {
|
|
const optionIndex = this._getOptionIndex(option);
|
|
if (optionIndex > -1 && this._keyManager.activeItemIndex === optionIndex) {
|
|
// Check whether the option is the last item
|
|
if (optionIndex > 0) {
|
|
this._keyManager.updateActiveItem(optionIndex - 1);
|
|
}
|
|
else if (optionIndex === 0 && this.options.length > 1) {
|
|
this._keyManager.updateActiveItem(Math.min(optionIndex + 1, this.options.length - 1));
|
|
}
|
|
}
|
|
return this._keyManager.activeItem;
|
|
}
|
|
/** Passes relevant key presses to our key manager. */
|
|
_keydown(event) {
|
|
const keyCode = event.keyCode;
|
|
const manager = this._keyManager;
|
|
const previousFocusIndex = manager.activeItemIndex;
|
|
const hasModifier = hasModifierKey(event);
|
|
switch (keyCode) {
|
|
case SPACE:
|
|
case ENTER:
|
|
if (!hasModifier && !manager.isTyping()) {
|
|
this._toggleFocusedOption();
|
|
// Always prevent space from scrolling the page since the list has focus
|
|
event.preventDefault();
|
|
}
|
|
break;
|
|
default:
|
|
// The "A" key gets special treatment, because it's used for the "select all" functionality.
|
|
if (keyCode === A && this.multiple && hasModifierKey(event, 'ctrlKey') &&
|
|
!manager.isTyping()) {
|
|
const shouldSelect = this.options.some(option => !option.disabled && !option.selected);
|
|
this._setAllOptionsSelected(shouldSelect, true, true);
|
|
event.preventDefault();
|
|
}
|
|
else {
|
|
manager.onKeydown(event);
|
|
}
|
|
}
|
|
if (this.multiple && (keyCode === UP_ARROW || keyCode === DOWN_ARROW) && event.shiftKey &&
|
|
manager.activeItemIndex !== previousFocusIndex) {
|
|
this._toggleFocusedOption();
|
|
}
|
|
}
|
|
/** Reports a value change to the ControlValueAccessor */
|
|
_reportValueChange() {
|
|
// Stop reporting value changes after the list has been destroyed. This avoids
|
|
// cases where the list might wrongly reset its value once it is removed, but
|
|
// the form control is still live.
|
|
if (this.options && !this._isDestroyed) {
|
|
const value = this._getSelectedOptionValues();
|
|
this._onChange(value);
|
|
this._value = value;
|
|
}
|
|
}
|
|
/** Emits a change event if the selected state of an option changed. */
|
|
_emitChangeEvent(options) {
|
|
this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));
|
|
}
|
|
/** Implemented as part of ControlValueAccessor. */
|
|
writeValue(values) {
|
|
this._value = values;
|
|
if (this.options) {
|
|
this._setOptionsFromValues(values || []);
|
|
}
|
|
}
|
|
/** Implemented as a part of ControlValueAccessor. */
|
|
setDisabledState(isDisabled) {
|
|
this.disabled = isDisabled;
|
|
}
|
|
/** Implemented as part of ControlValueAccessor. */
|
|
registerOnChange(fn) {
|
|
this._onChange = fn;
|
|
}
|
|
/** Implemented as part of ControlValueAccessor. */
|
|
registerOnTouched(fn) {
|
|
this._onTouched = fn;
|
|
}
|
|
/** Sets the selected options based on the specified values. */
|
|
_setOptionsFromValues(values) {
|
|
this.options.forEach(option => option._setSelected(false));
|
|
values.forEach(value => {
|
|
const correspondingOption = this.options.find(option => {
|
|
// Skip options that are already in the model. This allows us to handle cases
|
|
// where the same primitive value is selected multiple times.
|
|
return option.selected ? false : this.compareWith(option.value, value);
|
|
});
|
|
if (correspondingOption) {
|
|
correspondingOption._setSelected(true);
|
|
}
|
|
});
|
|
}
|
|
/** Returns the values of the selected options. */
|
|
_getSelectedOptionValues() {
|
|
return this.options.filter(option => option.selected).map(option => option.value);
|
|
}
|
|
/** Toggles the state of the currently focused option if enabled. */
|
|
_toggleFocusedOption() {
|
|
let focusedIndex = this._keyManager.activeItemIndex;
|
|
if (focusedIndex != null && this._isValidIndex(focusedIndex)) {
|
|
let focusedOption = this.options.toArray()[focusedIndex];
|
|
if (focusedOption && !focusedOption.disabled && (this._multiple || !focusedOption.selected)) {
|
|
focusedOption.toggle();
|
|
// Emit a change event because the focused option changed its state through user
|
|
// interaction.
|
|
this._emitChangeEvent([focusedOption]);
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Sets the selected state on all of the options
|
|
* and emits an event if anything changed.
|
|
*/
|
|
_setAllOptionsSelected(isSelected, skipDisabled, isUserInput) {
|
|
// Keep track of whether anything changed, because we only want to
|
|
// emit the changed event when something actually changed.
|
|
const changedOptions = [];
|
|
this.options.forEach(option => {
|
|
if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {
|
|
changedOptions.push(option);
|
|
}
|
|
});
|
|
if (changedOptions.length) {
|
|
this._reportValueChange();
|
|
if (isUserInput) {
|
|
this._emitChangeEvent(changedOptions);
|
|
}
|
|
}
|
|
return changedOptions;
|
|
}
|
|
/**
|
|
* Utility to ensure all indexes are valid.
|
|
* @param index The index to be checked.
|
|
* @returns True if the index is valid for our list of options.
|
|
*/
|
|
_isValidIndex(index) {
|
|
return index >= 0 && index < this.options.length;
|
|
}
|
|
/** Returns the index of the specified list option. */
|
|
_getOptionIndex(option) {
|
|
return this.options.toArray().indexOf(option);
|
|
}
|
|
/** Marks all the options to be checked in the next change detection run. */
|
|
_markOptionsForCheck() {
|
|
if (this.options) {
|
|
this.options.forEach(option => option._markForCheck());
|
|
}
|
|
}
|
|
/**
|
|
* Removes the tabindex from the selection list and resets it back afterwards, allowing the user
|
|
* to tab out of it. This prevents the list from capturing focus and redirecting it back within
|
|
* the list, creating a focus trap if it user tries to tab away.
|
|
*/
|
|
_allowFocusEscape() {
|
|
this._tabIndex = -1;
|
|
setTimeout(() => {
|
|
this._tabIndex = 0;
|
|
this._changeDetector.markForCheck();
|
|
});
|
|
}
|
|
/** Updates the tabindex based upon if the selection list is empty. */
|
|
_updateTabIndex() {
|
|
this._tabIndex = (this.options.length === 0) ? -1 : 0;
|
|
}
|
|
}
|
|
MatSelectionList.ɵfac = function MatSelectionList_Factory(t) { return new (t || MatSelectionList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.FocusMonitor)); };
|
|
MatSelectionList.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSelectionList, selectors: [["mat-selection-list"]], contentQueries: function MatSelectionList_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
ɵngcc0.ɵɵcontentQuery(dirIndex, MatListOption, 5);
|
|
} if (rf & 2) {
|
|
let _t;
|
|
ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.options = _t);
|
|
} }, hostAttrs: ["role", "listbox", 1, "mat-selection-list", "mat-list-base"], hostVars: 3, hostBindings: function MatSelectionList_HostBindings(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵlistener("keydown", function MatSelectionList_keydown_HostBindingHandler($event) { return ctx._keydown($event); });
|
|
} if (rf & 2) {
|
|
ɵngcc0.ɵɵattribute("aria-multiselectable", ctx.multiple)("aria-disabled", ctx.disabled.toString())("tabindex", ctx._tabIndex);
|
|
} }, inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", color: "color", compareWith: "compareWith", disabled: "disabled", multiple: "multiple" }, outputs: { selectionChange: "selectionChange" }, exportAs: ["matSelectionList"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SELECTION_LIST_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatSelectionList_Template(rf, ctx) { if (rf & 1) {
|
|
ɵngcc0.ɵɵprojectionDef();
|
|
ɵngcc0.ɵɵprojection(0);
|
|
} }, styles: [_c1], encapsulation: 2, changeDetection: 0 });
|
|
MatSelectionList.ctorParameters = () => [
|
|
{ type: ElementRef },
|
|
{ type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
|
|
{ type: ChangeDetectorRef },
|
|
{ type: FocusMonitor }
|
|
];
|
|
MatSelectionList.propDecorators = {
|
|
options: [{ type: ContentChildren, args: [MatListOption, { descendants: true },] }],
|
|
selectionChange: [{ type: Output }],
|
|
tabIndex: [{ type: Input }],
|
|
color: [{ type: Input }],
|
|
compareWith: [{ type: Input }],
|
|
disabled: [{ type: Input }],
|
|
multiple: [{ type: Input }]
|
|
};
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSelectionList, [{
|
|
type: Component,
|
|
args: [{
|
|
selector: 'mat-selection-list',
|
|
exportAs: 'matSelectionList',
|
|
inputs: ['disableRipple'],
|
|
host: {
|
|
'role': 'listbox',
|
|
'class': 'mat-selection-list mat-list-base',
|
|
'(keydown)': '_keydown($event)',
|
|
'[attr.aria-multiselectable]': 'multiple',
|
|
'[attr.aria-disabled]': 'disabled.toString()',
|
|
'[attr.tabindex]': '_tabIndex'
|
|
},
|
|
template: '<ng-content></ng-content>',
|
|
encapsulation: ViewEncapsulation.None,
|
|
providers: [MAT_SELECTION_LIST_VALUE_ACCESSOR],
|
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
styles: [".mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n"]
|
|
}]
|
|
}], function () { return [{ type: ɵngcc0.ElementRef }, { type: String, decorators: [{
|
|
type: Attribute,
|
|
args: ['tabindex']
|
|
}] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc3.FocusMonitor }]; }, { selectionChange: [{
|
|
type: Output
|
|
}], tabIndex: [{
|
|
type: Input
|
|
}], color: [{
|
|
type: Input
|
|
}], compareWith: [{
|
|
type: Input
|
|
}], disabled: [{
|
|
type: Input
|
|
}], multiple: [{
|
|
type: Input
|
|
}], options: [{
|
|
type: ContentChildren,
|
|
args: [MatListOption, { descendants: true }]
|
|
}] }); })();
|
|
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
class MatListModule {
|
|
}
|
|
MatListModule.ɵfac = function MatListModule_Factory(t) { return new (t || MatListModule)(); };
|
|
MatListModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatListModule });
|
|
MatListModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule], MatLineModule,
|
|
MatCommonModule,
|
|
MatPseudoCheckboxModule,
|
|
MatDividerModule] });
|
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatListModule, [{
|
|
type: NgModule,
|
|
args: [{
|
|
imports: [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule],
|
|
exports: [
|
|
MatList,
|
|
MatNavList,
|
|
MatListItem,
|
|
MatListAvatarCssMatStyler,
|
|
MatLineModule,
|
|
MatCommonModule,
|
|
MatListIconCssMatStyler,
|
|
MatListSubheaderCssMatStyler,
|
|
MatPseudoCheckboxModule,
|
|
MatSelectionList,
|
|
MatListOption,
|
|
MatDividerModule
|
|
],
|
|
declarations: [
|
|
MatList,
|
|
MatNavList,
|
|
MatListItem,
|
|
MatListAvatarCssMatStyler,
|
|
MatListIconCssMatStyler,
|
|
MatListSubheaderCssMatStyler,
|
|
MatSelectionList,
|
|
MatListOption
|
|
]
|
|
}]
|
|
}], null, null); })();
|
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatListModule, { declarations: function () { return [MatList, MatNavList, MatListItem, MatListAvatarCssMatStyler, MatListIconCssMatStyler, MatListSubheaderCssMatStyler, MatSelectionList, MatListOption]; }, imports: function () { return [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule]; }, exports: function () { return [MatList, MatNavList, MatListItem, MatListAvatarCssMatStyler, MatLineModule,
|
|
MatCommonModule, MatListIconCssMatStyler, MatListSubheaderCssMatStyler, MatPseudoCheckboxModule, MatSelectionList, MatListOption, MatDividerModule]; } }); })();
|
|
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
/**
|
|
* Generated bundle index. Do not edit.
|
|
*/
|
|
|
|
export { MAT_LIST, MAT_NAV_LIST, MAT_SELECTION_LIST_VALUE_ACCESSOR, MatList, MatListAvatarCssMatStyler, MatListIconCssMatStyler, MatListItem, MatListModule, MatListOption, MatListSubheaderCssMatStyler, MatNavList, MatSelectionList, MatSelectionListChange };
|
|
|
|
//# sourceMappingURL=list.js.map
|