@angular/cdk-experimental 13.1.0-next.2 → 13.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/column-resize/resizable.d.ts +1 -0
- package/combobox/combobox.d.ts +3 -6
- package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
- package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
- package/esm2020/column-resize/column-resize-module.mjs +8 -8
- package/esm2020/column-resize/column-resize-notifier.mjs +6 -6
- package/esm2020/column-resize/column-resize.mjs +3 -3
- package/esm2020/column-resize/column-size-store.mjs +3 -3
- package/esm2020/column-resize/event-dispatcher.mjs +3 -3
- package/esm2020/column-resize/overlay-handle.mjs +3 -3
- package/esm2020/column-resize/resizable.mjs +8 -4
- package/esm2020/column-resize/resize-strategy.mjs +9 -9
- package/esm2020/combobox/combobox-module.mjs +4 -4
- package/esm2020/combobox/combobox-panel.mjs +3 -3
- package/esm2020/combobox/combobox-popup.mjs +3 -3
- package/esm2020/combobox/combobox.mjs +5 -5
- package/esm2020/dialog/dialog-container.mjs +3 -3
- package/esm2020/dialog/dialog-module.mjs +4 -4
- package/esm2020/dialog/dialog.mjs +3 -3
- package/esm2020/listbox/listbox-module.mjs +4 -4
- package/esm2020/listbox/listbox.mjs +10 -9
- package/esm2020/menu/context-menu.mjs +7 -7
- package/esm2020/menu/menu-aim.mjs +6 -6
- package/esm2020/menu/menu-bar.mjs +3 -3
- package/esm2020/menu/menu-group.mjs +3 -3
- package/esm2020/menu/menu-item-checkbox.mjs +3 -3
- package/esm2020/menu/menu-item-radio.mjs +3 -3
- package/esm2020/menu/menu-item-selectable.mjs +4 -4
- package/esm2020/menu/menu-item-trigger.mjs +3 -3
- package/esm2020/menu/menu-item.mjs +4 -4
- package/esm2020/menu/menu-module.mjs +4 -4
- package/esm2020/menu/menu-panel.mjs +3 -3
- package/esm2020/menu/menu.mjs +5 -4
- package/esm2020/popover-edit/edit-event-dispatcher.mjs +3 -3
- package/esm2020/popover-edit/edit-ref.mjs +3 -3
- package/esm2020/popover-edit/edit-services.mjs +3 -3
- package/esm2020/popover-edit/focus-dispatcher.mjs +3 -3
- package/esm2020/popover-edit/focus-escape-notifier.mjs +3 -3
- package/esm2020/popover-edit/lens-directives.mjs +9 -9
- package/esm2020/popover-edit/popover-edit-module.mjs +4 -4
- package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +6 -6
- package/esm2020/popover-edit/table-directives.mjs +15 -15
- package/esm2020/scrolling/auto-size-virtual-scroll.mjs +4 -4
- package/esm2020/scrolling/scrolling-module.mjs +4 -4
- package/esm2020/selection/row-selection.mjs +4 -4
- package/esm2020/selection/select-all.mjs +3 -3
- package/esm2020/selection/selection-column.mjs +3 -3
- package/esm2020/selection/selection-module.mjs +4 -4
- package/esm2020/selection/selection-toggle.mjs +4 -4
- package/esm2020/selection/selection.mjs +4 -4
- package/esm2020/table-scroll-container/table-scroll-container-module.mjs +4 -4
- package/esm2020/table-scroll-container/table-scroll-container.mjs +3 -3
- package/esm2020/version.mjs +1 -1
- package/fesm2015/cdk-experimental.mjs +1 -1
- package/fesm2015/cdk-experimental.mjs.map +1 -1
- package/fesm2015/column-resize.mjs +54 -50
- package/fesm2015/column-resize.mjs.map +1 -1
- package/fesm2015/combobox.mjs +14 -14
- package/fesm2015/combobox.mjs.map +1 -1
- package/fesm2015/dialog.mjs +10 -10
- package/fesm2015/listbox.mjs +13 -12
- package/fesm2015/listbox.mjs.map +1 -1
- package/fesm2015/menu.mjs +44 -43
- package/fesm2015/menu.mjs.map +1 -1
- package/fesm2015/popover-edit.mjs +49 -49
- package/fesm2015/scrolling.mjs +7 -7
- package/fesm2015/scrolling.mjs.map +1 -1
- package/fesm2015/selection.mjs +19 -19
- package/fesm2015/selection.mjs.map +1 -1
- package/fesm2015/table-scroll-container.mjs +7 -7
- package/fesm2020/cdk-experimental.mjs +1 -1
- package/fesm2020/cdk-experimental.mjs.map +1 -1
- package/fesm2020/column-resize.mjs +54 -50
- package/fesm2020/column-resize.mjs.map +1 -1
- package/fesm2020/combobox.mjs +14 -14
- package/fesm2020/combobox.mjs.map +1 -1
- package/fesm2020/dialog.mjs +10 -10
- package/fesm2020/listbox.mjs +13 -12
- package/fesm2020/listbox.mjs.map +1 -1
- package/fesm2020/menu.mjs +44 -43
- package/fesm2020/menu.mjs.map +1 -1
- package/fesm2020/popover-edit.mjs +49 -49
- package/fesm2020/scrolling.mjs +7 -7
- package/fesm2020/scrolling.mjs.map +1 -1
- package/fesm2020/selection.mjs +19 -19
- package/fesm2020/selection.mjs.map +1 -1
- package/fesm2020/table-scroll-container.mjs +7 -7
- package/listbox/listbox.d.ts +6 -12
- package/menu/context-menu.d.ts +1 -2
- package/menu/menu-item-selectable.d.ts +1 -2
- package/menu/menu-item.d.ts +1 -2
- package/package.json +2 -2
- package/scrolling/auto-size-virtual-scroll.d.ts +2 -4
- package/selection/row-selection.d.ts +1 -2
- package/selection/selection-toggle.d.ts +1 -2
- package/selection/selection.d.ts +1 -2
package/fesm2020/dialog.mjs
CHANGED
|
@@ -284,8 +284,8 @@ class CdkDialogContainer extends BasePortalOutlet {
|
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
|
-
CdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
288
|
-
CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0
|
|
287
|
+
CdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkDialogContainer, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: i0.ChangeDetectorRef }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }, { token: DialogConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
288
|
+
CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: CdkDialogContainer, selector: "cdk-dialog-container", host: { attributes: { "tabindex": "-1", "aria-modal": "true" }, listeners: { "@dialog.start": "_onAnimationStart($event)", "@dialog.done": "_animationDone.next($event)" }, properties: { "@dialog": "{\n value: _state,\n params: {\n enterAnimationDuration: _config.enterAnimationDuration,\n exitAnimationDuration: _config.exitAnimationDuration\n }\n }", "attr.role": "_config.role", "attr.aria-label": "_config.ariaLabel || null", "attr.aria-describedby": "_config.ariaDescribedBy" } }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: ["cdk-dialog-container{background:#fff;border-radius:5px;display:block;padding:10px}\n"], directives: [{ type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [
|
|
289
289
|
trigger('dialog', [
|
|
290
290
|
state('enter', style({ opacity: 1 })),
|
|
291
291
|
state('exit, void', style({ opacity: 0 })),
|
|
@@ -293,7 +293,7 @@ CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
293
293
|
transition('* => exit, * => void', animate('{{exitAnimationDuration}}')),
|
|
294
294
|
]),
|
|
295
295
|
], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkDialogContainer, decorators: [{
|
|
297
297
|
type: Component,
|
|
298
298
|
args: [{ selector: 'cdk-dialog-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [
|
|
299
299
|
trigger('dialog', [
|
|
@@ -692,9 +692,9 @@ class Dialog {
|
|
|
692
692
|
return { ...new dialogConfig(), ...config };
|
|
693
693
|
}
|
|
694
694
|
}
|
|
695
|
-
Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
696
|
-
Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0
|
|
697
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
695
|
+
Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Dialog, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: DIALOG_REF }, { token: DIALOG_SCROLL_STRATEGY }, { token: Dialog, optional: true, skipSelf: true }, { token: i2.Location, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
696
|
+
Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Dialog });
|
|
697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Dialog, decorators: [{
|
|
698
698
|
type: Injectable
|
|
699
699
|
}], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i0.Type, decorators: [{
|
|
700
700
|
type: Inject,
|
|
@@ -719,13 +719,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
719
719
|
*/
|
|
720
720
|
class DialogModule {
|
|
721
721
|
}
|
|
722
|
-
DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
723
|
-
DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0
|
|
722
|
+
DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
723
|
+
DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DialogModule, declarations: [CdkDialogContainer], imports: [OverlayModule, PortalModule, A11yModule], exports: [
|
|
724
724
|
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
725
725
|
// don't have to remember to import it or be faced with an unhelpful error.
|
|
726
726
|
PortalModule,
|
|
727
727
|
CdkDialogContainer] });
|
|
728
|
-
DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0
|
|
728
|
+
DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DialogModule, providers: [
|
|
729
729
|
Dialog,
|
|
730
730
|
MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,
|
|
731
731
|
{ provide: DIALOG_REF, useValue: DialogRef },
|
|
@@ -735,7 +735,7 @@ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
|
735
735
|
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
736
736
|
// don't have to remember to import it or be faced with an unhelpful error.
|
|
737
737
|
PortalModule] });
|
|
738
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
738
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DialogModule, decorators: [{
|
|
739
739
|
type: NgModule,
|
|
740
740
|
args: [{
|
|
741
741
|
imports: [OverlayModule, PortalModule, A11yModule],
|
package/fesm2020/listbox.mjs
CHANGED
|
@@ -138,9 +138,9 @@ class CdkOption {
|
|
|
138
138
|
this._active = false;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
CdkOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
142
|
-
CdkOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
141
|
+
CdkOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkOption, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => CdkListbox) }], target: i0.ɵɵFactoryTarget.Directive });
|
|
142
|
+
CdkOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkOption, selector: "[cdkOption]", inputs: { id: "id", selected: "selected", disabled: "disabled", value: "value" }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "option" }, listeners: { "click": "toggle()", "focus": "activate()", "blur": "deactivate()" }, properties: { "id": "id", "attr.aria-selected": "selected || null", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "_isInteractionDisabled()", "class.cdk-option-disabled": "_isInteractionDisabled()", "class.cdk-option-active": "_active", "class.cdk-option-selected": "selected" }, classAttribute: "cdk-option" }, exportAs: ["cdkOption"], ngImport: i0 });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkOption, decorators: [{
|
|
144
144
|
type: Directive,
|
|
145
145
|
args: [{
|
|
146
146
|
selector: '[cdkOption]',
|
|
@@ -206,8 +206,9 @@ class CdkListbox {
|
|
|
206
206
|
return this._multiple;
|
|
207
207
|
}
|
|
208
208
|
set multiple(value) {
|
|
209
|
-
|
|
210
|
-
this.
|
|
209
|
+
const coercedValue = coerceBooleanProperty(value);
|
|
210
|
+
this._updateSelectionOnMultiSelectionChange(coercedValue);
|
|
211
|
+
this._multiple = coercedValue;
|
|
211
212
|
}
|
|
212
213
|
get disabled() {
|
|
213
214
|
return this._disabled;
|
|
@@ -443,9 +444,9 @@ class CdkListbox {
|
|
|
443
444
|
}
|
|
444
445
|
}
|
|
445
446
|
}
|
|
446
|
-
CdkListbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
447
|
-
CdkListbox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
447
|
+
CdkListbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListbox, deps: [{ token: PANEL, optional: true }, { token: i1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
448
|
+
CdkListbox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkListbox, selector: "[cdkListbox]", inputs: { id: "id", multiple: "multiple", disabled: "disabled", useActiveDescendant: "useActiveDescendant", autoFocus: "autoFocus", orientation: ["listboxOrientation", "orientation"], compareWith: "compareWith", _explicitPanel: ["parentPanel", "_explicitPanel"] }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "listbox" }, listeners: { "focus": "_focusActiveOption()", "keydown": "_keydown($event)" }, properties: { "id": "id", "attr.tabindex": "_tabIndex", "attr.aria-disabled": "disabled", "attr.aria-multiselectable": "multiple", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "attr.aria-orientation": "orientation" }, classAttribute: "cdk-listbox" }, providers: [CDK_LISTBOX_VALUE_ACCESSOR], queries: [{ propertyName: "_options", predicate: CdkOption, descendants: true }], exportAs: ["cdkListbox"], ngImport: i0 });
|
|
449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListbox, decorators: [{
|
|
449
450
|
type: Directive,
|
|
450
451
|
args: [{
|
|
451
452
|
selector: '[cdkListbox]',
|
|
@@ -506,10 +507,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
506
507
|
const EXPORTED_DECLARATIONS = [CdkListbox, CdkOption];
|
|
507
508
|
class CdkListboxModule {
|
|
508
509
|
}
|
|
509
|
-
CdkListboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
510
|
-
CdkListboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0
|
|
511
|
-
CdkListboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0
|
|
512
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
510
|
+
CdkListboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
511
|
+
CdkListboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListboxModule, declarations: [CdkListbox, CdkOption], exports: [CdkListbox, CdkOption] });
|
|
512
|
+
CdkListboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListboxModule });
|
|
513
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkListboxModule, decorators: [{
|
|
513
514
|
type: NgModule,
|
|
514
515
|
args: [{
|
|
515
516
|
exports: EXPORTED_DECLARATIONS,
|
package/fesm2020/listbox.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listbox.mjs","sources":["../../../../../../src/cdk-experimental/listbox/listbox.ts","../../../../../../src/cdk-experimental/listbox/listbox-module.ts","../../../../../../src/cdk-experimental/listbox/public-api.ts","../../../../../../src/cdk-experimental/listbox/index.ts","../../../../../../src/cdk-experimental/listbox/listbox_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n} from '@angular/core';\nimport {ActiveDescendantKeyManager, Highlightable, ListKeyManagerOption} from '@angular/cdk/a11y';\nimport {DOWN_ARROW, ENTER, SPACE, UP_ARROW, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {SelectionChange, SelectionModel} from '@angular/cdk/collections';\nimport {defer, merge, Observable, Subject} from 'rxjs';\nimport {startWith, switchMap, takeUntil} from 'rxjs/operators';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkComboboxPanel} from '@angular/cdk-experimental/combobox';\nimport {Directionality} from '@angular/cdk/bidi';\n\nlet nextId = 0;\nlet listboxId = 0;\n\nexport const CDK_LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CdkListbox),\n multi: true,\n};\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\n@Directive({\n selector: '[cdkOption]',\n exportAs: 'cdkOption',\n host: {\n 'role': 'option',\n 'class': 'cdk-option',\n '(click)': 'toggle()',\n '(focus)': 'activate()',\n '(blur)': 'deactivate()',\n '[id]': 'id',\n '[attr.aria-selected]': 'selected || null',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-active]': '_active',\n '[class.cdk-option-selected]': 'selected',\n },\n})\nexport class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightable {\n private _selected: boolean = false;\n private _disabled: boolean = false;\n private _value: T;\n _active: boolean = false;\n\n /** The id of the option, set to a uniqueid if the user does not provide one. */\n @Input() id = `cdk-option-${nextId++}`;\n\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n if (!this._disabled) {\n this._selected = coerceBooleanProperty(value);\n }\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** The form value of the option. */\n @Input()\n get value(): T {\n return this._value;\n }\n set value(value: T) {\n if (this.selected && value !== this._value) {\n this.deselect();\n }\n this._value = value;\n }\n\n @Output() readonly selectionChange = new EventEmitter<OptionSelectionChangeEvent<T>>();\n\n constructor(\n private readonly _elementRef: ElementRef,\n @Inject(forwardRef(() => CdkListbox)) readonly listbox: CdkListbox<T>,\n ) {}\n\n /** Toggles the selected state, emits a change event through the injected listbox. */\n toggle() {\n if (!this._isInteractionDisabled()) {\n this.selected = !this.selected;\n this._emitSelectionChange(true);\n }\n }\n\n /** Sets the active property true if the option and listbox aren't disabled. */\n activate() {\n if (!this._isInteractionDisabled()) {\n this._active = true;\n }\n }\n\n /** Sets the active property false. */\n deactivate() {\n if (!this._isInteractionDisabled()) {\n this._active = false;\n }\n }\n\n /** Sets the selected property true if it was false. */\n select() {\n if (!this.selected) {\n this.selected = true;\n this._emitSelectionChange();\n }\n }\n\n /** Sets the selected property false if it was true. */\n deselect() {\n if (this.selected) {\n this.selected = false;\n this._emitSelectionChange();\n }\n }\n\n /** Applies focus to the option. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Returns true if the option or listbox are disabled, and false otherwise. */\n _isInteractionDisabled(): boolean {\n return this.listbox.disabled || this._disabled;\n }\n\n /** Emits a change event extending the Option Selection Change Event interface. */\n private _emitSelectionChange(isUserInput = false) {\n this.selectionChange.emit({\n source: this,\n isUserInput: isUserInput,\n });\n }\n\n /** Returns the tab index which depends on the disabled property. */\n _getTabIndex(): string | null {\n return this._isInteractionDisabled() ? null : '-1';\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel() {\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n this._removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n /** Remove any child from the given element which can be identified as an icon. */\n private _removeIcons(element: Element) {\n // TODO: make this a configurable function that can removed any desired type of node.\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.remove();\n }\n }\n\n getElementRef() {\n return this._elementRef;\n }\n\n /** Sets the active property to true to enable the active css class. */\n setActiveStyles() {\n this._active = true;\n }\n\n /** Sets the active property to false to disable the active css class. */\n setInactiveStyles() {\n this._active = false;\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkListbox]',\n exportAs: 'cdkListbox',\n host: {\n 'role': 'listbox',\n 'class': 'cdk-listbox',\n '[id]': 'id',\n '(focus)': '_focusActiveOption()',\n '(keydown)': '_keydown($event)',\n '[attr.tabindex]': '_tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-multiselectable]': 'multiple',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [CDK_LISTBOX_VALUE_ACCESSOR],\n})\nexport class CdkListbox<T> implements AfterContentInit, OnDestroy, OnInit, ControlValueAccessor {\n _listKeyManager: ActiveDescendantKeyManager<CdkOption<T>>;\n _selectionModel: SelectionModel<CdkOption<T>>;\n _tabIndex = 0;\n\n /** `View -> model callback called when select has been touched` */\n _onTouched: () => void = () => {};\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: T) => void = () => {};\n\n readonly optionSelectionChanges: Observable<OptionSelectionChangeEvent<T>> = defer(() => {\n const options = this._options;\n\n return options.changes.pipe(\n startWith(options),\n switchMap(() => merge(...options.map(option => option.selectionChange))),\n );\n }) as Observable<OptionSelectionChangeEvent<T>>;\n\n private _disabled: boolean = false;\n private _multiple: boolean = false;\n private _useActiveDescendant: boolean = false;\n private _autoFocus: boolean = true;\n private _activeOption: CdkOption<T>;\n private readonly _destroyed = new Subject<void>();\n\n @ContentChildren(CdkOption, {descendants: true}) _options: QueryList<CdkOption<T>>;\n\n @Output() readonly selectionChange = new EventEmitter<ListboxSelectionChangeEvent<T>>();\n\n @Input() id = `cdk-listbox-${listboxId++}`;\n\n /**\n * Whether the listbox allows multiple options to be selected.\n * If `multiple` switches from `true` to `false`, all options are deselected.\n */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._updateSelectionOnMultiSelectionChange(value);\n this._multiple = coerceBooleanProperty(value);\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Whether the listbox will use active descendant or will move focus onto the options. */\n @Input()\n get useActiveDescendant(): boolean {\n return this._useActiveDescendant;\n }\n set useActiveDescendant(shouldUseActiveDescendant: boolean) {\n this._useActiveDescendant = coerceBooleanProperty(shouldUseActiveDescendant);\n }\n\n /** Whether on focus the listbox will focus its active option, default to true. */\n @Input()\n get autoFocus(): boolean {\n return this._autoFocus;\n }\n set autoFocus(shouldAutoFocus: boolean) {\n this._autoFocus = coerceBooleanProperty(shouldAutoFocus);\n }\n\n /** Determines the orientation for the list key manager. Affects keyboard interaction. */\n @Input('listboxOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n @Input() compareWith: (o1: T, o2: T) => boolean = (a1, a2) => a1 === a2;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n @Optional() private readonly _dir?: Directionality,\n ) {}\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<CdkOption<T>>(this.multiple);\n }\n\n ngAfterContentInit() {\n this._initKeyManager();\n this._initSelectionModel();\n this._registerWithPanel();\n\n this.optionSelectionChanges.subscribe(event => {\n this._emitChangeEvent(event.source);\n this._updateSelectionModel(event.source);\n this.setActiveOption(event.source);\n this._updatePanelForSelection(event.source);\n });\n }\n\n ngOnDestroy() {\n this._listKeyManager.change.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _registerWithPanel(): void {\n const panel = this._parentPanel || this._explicitPanel;\n panel?._registerContent(this.id, 'listbox');\n }\n\n private _initKeyManager() {\n this._listKeyManager = new ActiveDescendantKeyManager(this._options)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd()\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this.orientation === 'vertical') {\n this._listKeyManager.withVerticalOrientation();\n } else {\n this._listKeyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n }\n\n this._listKeyManager.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._updateActiveOption();\n });\n }\n\n private _initSelectionModel() {\n this._selectionModel.changed\n .pipe(takeUntil(this._destroyed))\n .subscribe((event: SelectionChange<CdkOption<T>>) => {\n for (const option of event.added) {\n option.selected = true;\n }\n\n for (const option of event.removed) {\n option.selected = false;\n }\n });\n }\n\n _keydown(event: KeyboardEvent) {\n if (this._disabled) {\n return;\n }\n\n const manager = this._listKeyManager;\n const {keyCode} = event;\n const previousActiveIndex = manager.activeItemIndex;\n\n if (keyCode === SPACE || keyCode === ENTER) {\n if (manager.activeItem && !manager.isTyping()) {\n this._toggleActiveOption();\n }\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n\n /** Will select an option if shift was pressed while navigating to the option */\n const isArrow =\n keyCode === UP_ARROW ||\n keyCode === DOWN_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n if (isArrow && event.shiftKey && previousActiveIndex !== this._listKeyManager.activeItemIndex) {\n this._toggleActiveOption();\n }\n }\n\n /** Emits a selection change event, called when an option has its selected state changed. */\n _emitChangeEvent(option: CdkOption<T>) {\n this.selectionChange.emit({\n source: this,\n option: option,\n });\n }\n\n /** Updates the selection model after a toggle. */\n _updateSelectionModel(option: CdkOption<T>) {\n if (!this.multiple && this._selectionModel.selected.length !== 0) {\n const previouslySelected = this._selectionModel.selected[0];\n this.deselect(previouslySelected);\n }\n\n option.selected ? this._selectionModel.select(option) : this._selectionModel.deselect(option);\n }\n\n _updatePanelForSelection(option: CdkOption<T>) {\n const panel = this._parentPanel || this._explicitPanel;\n if (!this.multiple) {\n option.selected ? panel?.closePanel(option.value) : panel?.closePanel();\n } else {\n panel?.closePanel(this.getSelectedValues());\n }\n }\n\n /** Toggles the selected state of the active option if not disabled. */\n private _toggleActiveOption() {\n const activeOption = this._listKeyManager.activeItem;\n if (activeOption && !activeOption.disabled) {\n activeOption.toggle();\n }\n }\n\n /** Returns the id of the active option if active descendant is being used. */\n _getAriaActiveDescendant(): string | null | undefined {\n return this._useActiveDescendant ? this._listKeyManager?.activeItem?.id : null;\n }\n\n /** Updates the activeOption and the active and focus properties of the option. */\n private _updateActiveOption() {\n if (!this._listKeyManager.activeItem) {\n return;\n }\n\n this._activeOption?.deactivate();\n this._activeOption = this._listKeyManager.activeItem;\n this._activeOption.activate();\n\n if (!this.useActiveDescendant) {\n this._activeOption.focus();\n }\n }\n\n /** Updates selection states of options when the 'multiple' property changes. */\n private _updateSelectionOnMultiSelectionChange(value: boolean) {\n if (this.multiple && !value) {\n // Deselect all options instead of arbitrarily keeping one of the selected options.\n this.setAllSelected(false);\n } else if (!this.multiple && value) {\n this._selectionModel = new SelectionModel<CdkOption<T>>(\n value,\n this._selectionModel?.selected,\n );\n }\n }\n\n _focusActiveOption() {\n if (!this.autoFocus) {\n return;\n }\n\n if (this._listKeyManager.activeItem) {\n this.setActiveOption(this._listKeyManager.activeItem);\n } else if (this._options.first) {\n this.setActiveOption(this._options.first);\n }\n }\n\n /** Selects the given option if the option and listbox aren't disabled. */\n select(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.select();\n }\n }\n\n /** Deselects the given option if the option and listbox aren't disabled. */\n deselect(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.deselect();\n }\n }\n\n /** Sets the selected state of all options to be the given value. */\n setAllSelected(isSelected: boolean) {\n for (const option of this._options.toArray()) {\n isSelected ? this.select(option) : this.deselect(option);\n }\n }\n\n /** Updates the key manager's active item to the given option. */\n setActiveOption(option: CdkOption<T>) {\n this._listKeyManager.updateActiveItem(option);\n this._updateActiveOption();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Required to implement ControlValueAccessor.\n */\n registerOnChange(fn: (value: T) => void): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Required to implement ControlValueAccessor.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /** Sets the select's value. Required to implement ControlValueAccessor. */\n writeValue(values: T | T[]): void {\n if (this._options) {\n this._setSelectionByValue(values);\n }\n }\n\n /** Disables the select. Required to implement ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Returns the values of the currently selected options. */\n getSelectedValues(): T[] {\n return this._options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Selects an option that has the corresponding given value. */\n private _setSelectionByValue(values: T | T[]) {\n for (const option of this._options.toArray()) {\n this.deselect(option);\n }\n\n const valuesArray = coerceArray(values);\n for (const value of valuesArray) {\n const correspondingOption = this._options.find((option: CdkOption<T>) => {\n return option.value != null && this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n this.select(correspondingOption);\n if (!this.multiple) {\n return;\n }\n }\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_useActiveDescendant: BooleanInput;\n static ngAcceptInputType_autoFocus: BooleanInput;\n}\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport interface ListboxSelectionChangeEvent<T> {\n /** Reference to the listbox that emitted the event. */\n readonly source: CdkListbox<T>;\n\n /** Reference to the option that has been changed. */\n readonly option: CdkOption<T>;\n}\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport interface OptionSelectionChangeEvent<T> {\n /** Reference to the option that emitted the event. */\n source: CdkOption<T>;\n\n /** Whether the change in the option's value was a result of a user action. */\n isUserInput: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkListbox, CdkOption} from './listbox';\n\nconst EXPORTED_DECLARATIONS = [CdkListbox, CdkOption];\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkListboxModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './listbox';\nexport * from './listbox-module';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listbox.mjs","sources":["../../../../../../src/cdk-experimental/listbox/listbox.ts","../../../../../../src/cdk-experimental/listbox/listbox-module.ts","../../../../../../src/cdk-experimental/listbox/public-api.ts","../../../../../../src/cdk-experimental/listbox/index.ts","../../../../../../src/cdk-experimental/listbox/listbox_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n} from '@angular/core';\nimport {ActiveDescendantKeyManager, Highlightable, ListKeyManagerOption} from '@angular/cdk/a11y';\nimport {DOWN_ARROW, ENTER, SPACE, UP_ARROW, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {SelectionChange, SelectionModel} from '@angular/cdk/collections';\nimport {defer, merge, Observable, Subject} from 'rxjs';\nimport {startWith, switchMap, takeUntil} from 'rxjs/operators';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkComboboxPanel} from '@angular/cdk-experimental/combobox';\nimport {Directionality} from '@angular/cdk/bidi';\n\nlet nextId = 0;\nlet listboxId = 0;\n\nexport const CDK_LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CdkListbox),\n multi: true,\n};\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\n@Directive({\n selector: '[cdkOption]',\n exportAs: 'cdkOption',\n host: {\n 'role': 'option',\n 'class': 'cdk-option',\n '(click)': 'toggle()',\n '(focus)': 'activate()',\n '(blur)': 'deactivate()',\n '[id]': 'id',\n '[attr.aria-selected]': 'selected || null',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-active]': '_active',\n '[class.cdk-option-selected]': 'selected',\n },\n})\nexport class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightable {\n private _selected: boolean = false;\n private _disabled: boolean = false;\n private _value: T;\n _active: boolean = false;\n\n /** The id of the option, set to a uniqueid if the user does not provide one. */\n @Input() id = `cdk-option-${nextId++}`;\n\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n if (!this._disabled) {\n this._selected = coerceBooleanProperty(value);\n }\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** The form value of the option. */\n @Input()\n get value(): T {\n return this._value;\n }\n set value(value: T) {\n if (this.selected && value !== this._value) {\n this.deselect();\n }\n this._value = value;\n }\n\n @Output() readonly selectionChange = new EventEmitter<OptionSelectionChangeEvent<T>>();\n\n constructor(\n private readonly _elementRef: ElementRef,\n @Inject(forwardRef(() => CdkListbox)) readonly listbox: CdkListbox<T>,\n ) {}\n\n /** Toggles the selected state, emits a change event through the injected listbox. */\n toggle() {\n if (!this._isInteractionDisabled()) {\n this.selected = !this.selected;\n this._emitSelectionChange(true);\n }\n }\n\n /** Sets the active property true if the option and listbox aren't disabled. */\n activate() {\n if (!this._isInteractionDisabled()) {\n this._active = true;\n }\n }\n\n /** Sets the active property false. */\n deactivate() {\n if (!this._isInteractionDisabled()) {\n this._active = false;\n }\n }\n\n /** Sets the selected property true if it was false. */\n select() {\n if (!this.selected) {\n this.selected = true;\n this._emitSelectionChange();\n }\n }\n\n /** Sets the selected property false if it was true. */\n deselect() {\n if (this.selected) {\n this.selected = false;\n this._emitSelectionChange();\n }\n }\n\n /** Applies focus to the option. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Returns true if the option or listbox are disabled, and false otherwise. */\n _isInteractionDisabled(): boolean {\n return this.listbox.disabled || this._disabled;\n }\n\n /** Emits a change event extending the Option Selection Change Event interface. */\n private _emitSelectionChange(isUserInput = false) {\n this.selectionChange.emit({\n source: this,\n isUserInput: isUserInput,\n });\n }\n\n /** Returns the tab index which depends on the disabled property. */\n _getTabIndex(): string | null {\n return this._isInteractionDisabled() ? null : '-1';\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel() {\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n this._removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n /** Remove any child from the given element which can be identified as an icon. */\n private _removeIcons(element: Element) {\n // TODO: make this a configurable function that can removed any desired type of node.\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.remove();\n }\n }\n\n getElementRef() {\n return this._elementRef;\n }\n\n /** Sets the active property to true to enable the active css class. */\n setActiveStyles() {\n this._active = true;\n }\n\n /** Sets the active property to false to disable the active css class. */\n setInactiveStyles() {\n this._active = false;\n }\n}\n\n@Directive({\n selector: '[cdkListbox]',\n exportAs: 'cdkListbox',\n host: {\n 'role': 'listbox',\n 'class': 'cdk-listbox',\n '[id]': 'id',\n '(focus)': '_focusActiveOption()',\n '(keydown)': '_keydown($event)',\n '[attr.tabindex]': '_tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-multiselectable]': 'multiple',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [CDK_LISTBOX_VALUE_ACCESSOR],\n})\nexport class CdkListbox<T> implements AfterContentInit, OnDestroy, OnInit, ControlValueAccessor {\n _listKeyManager: ActiveDescendantKeyManager<CdkOption<T>>;\n _selectionModel: SelectionModel<CdkOption<T>>;\n _tabIndex = 0;\n\n /** `View -> model callback called when select has been touched` */\n _onTouched: () => void = () => {};\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: T) => void = () => {};\n\n readonly optionSelectionChanges: Observable<OptionSelectionChangeEvent<T>> = defer(() => {\n const options = this._options;\n\n return options.changes.pipe(\n startWith(options),\n switchMap(() => merge(...options.map(option => option.selectionChange))),\n );\n }) as Observable<OptionSelectionChangeEvent<T>>;\n\n private _disabled: boolean = false;\n private _multiple: boolean = false;\n private _useActiveDescendant: boolean = false;\n private _autoFocus: boolean = true;\n private _activeOption: CdkOption<T>;\n private readonly _destroyed = new Subject<void>();\n\n @ContentChildren(CdkOption, {descendants: true}) _options: QueryList<CdkOption<T>>;\n\n @Output() readonly selectionChange = new EventEmitter<ListboxSelectionChangeEvent<T>>();\n\n @Input() id = `cdk-listbox-${listboxId++}`;\n\n /**\n * Whether the listbox allows multiple options to be selected.\n * If `multiple` switches from `true` to `false`, all options are deselected.\n */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: BooleanInput) {\n const coercedValue = coerceBooleanProperty(value);\n this._updateSelectionOnMultiSelectionChange(coercedValue);\n this._multiple = coercedValue;\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Whether the listbox will use active descendant or will move focus onto the options. */\n @Input()\n get useActiveDescendant(): boolean {\n return this._useActiveDescendant;\n }\n set useActiveDescendant(shouldUseActiveDescendant: BooleanInput) {\n this._useActiveDescendant = coerceBooleanProperty(shouldUseActiveDescendant);\n }\n\n /** Whether on focus the listbox will focus its active option, default to true. */\n @Input()\n get autoFocus(): boolean {\n return this._autoFocus;\n }\n set autoFocus(shouldAutoFocus: BooleanInput) {\n this._autoFocus = coerceBooleanProperty(shouldAutoFocus);\n }\n\n /** Determines the orientation for the list key manager. Affects keyboard interaction. */\n @Input('listboxOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n @Input() compareWith: (o1: T, o2: T) => boolean = (a1, a2) => a1 === a2;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n @Optional() private readonly _dir?: Directionality,\n ) {}\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<CdkOption<T>>(this.multiple);\n }\n\n ngAfterContentInit() {\n this._initKeyManager();\n this._initSelectionModel();\n this._registerWithPanel();\n\n this.optionSelectionChanges.subscribe(event => {\n this._emitChangeEvent(event.source);\n this._updateSelectionModel(event.source);\n this.setActiveOption(event.source);\n this._updatePanelForSelection(event.source);\n });\n }\n\n ngOnDestroy() {\n this._listKeyManager.change.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _registerWithPanel(): void {\n const panel = this._parentPanel || this._explicitPanel;\n panel?._registerContent(this.id, 'listbox');\n }\n\n private _initKeyManager() {\n this._listKeyManager = new ActiveDescendantKeyManager(this._options)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd()\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this.orientation === 'vertical') {\n this._listKeyManager.withVerticalOrientation();\n } else {\n this._listKeyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n }\n\n this._listKeyManager.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._updateActiveOption();\n });\n }\n\n private _initSelectionModel() {\n this._selectionModel.changed\n .pipe(takeUntil(this._destroyed))\n .subscribe((event: SelectionChange<CdkOption<T>>) => {\n for (const option of event.added) {\n option.selected = true;\n }\n\n for (const option of event.removed) {\n option.selected = false;\n }\n });\n }\n\n _keydown(event: KeyboardEvent) {\n if (this._disabled) {\n return;\n }\n\n const manager = this._listKeyManager;\n const {keyCode} = event;\n const previousActiveIndex = manager.activeItemIndex;\n\n if (keyCode === SPACE || keyCode === ENTER) {\n if (manager.activeItem && !manager.isTyping()) {\n this._toggleActiveOption();\n }\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n\n /** Will select an option if shift was pressed while navigating to the option */\n const isArrow =\n keyCode === UP_ARROW ||\n keyCode === DOWN_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n if (isArrow && event.shiftKey && previousActiveIndex !== this._listKeyManager.activeItemIndex) {\n this._toggleActiveOption();\n }\n }\n\n /** Emits a selection change event, called when an option has its selected state changed. */\n _emitChangeEvent(option: CdkOption<T>) {\n this.selectionChange.emit({\n source: this,\n option: option,\n });\n }\n\n /** Updates the selection model after a toggle. */\n _updateSelectionModel(option: CdkOption<T>) {\n if (!this.multiple && this._selectionModel.selected.length !== 0) {\n const previouslySelected = this._selectionModel.selected[0];\n this.deselect(previouslySelected);\n }\n\n option.selected ? this._selectionModel.select(option) : this._selectionModel.deselect(option);\n }\n\n _updatePanelForSelection(option: CdkOption<T>) {\n const panel = this._parentPanel || this._explicitPanel;\n if (!this.multiple) {\n option.selected ? panel?.closePanel(option.value) : panel?.closePanel();\n } else {\n panel?.closePanel(this.getSelectedValues());\n }\n }\n\n /** Toggles the selected state of the active option if not disabled. */\n private _toggleActiveOption() {\n const activeOption = this._listKeyManager.activeItem;\n if (activeOption && !activeOption.disabled) {\n activeOption.toggle();\n }\n }\n\n /** Returns the id of the active option if active descendant is being used. */\n _getAriaActiveDescendant(): string | null | undefined {\n return this._useActiveDescendant ? this._listKeyManager?.activeItem?.id : null;\n }\n\n /** Updates the activeOption and the active and focus properties of the option. */\n private _updateActiveOption() {\n if (!this._listKeyManager.activeItem) {\n return;\n }\n\n this._activeOption?.deactivate();\n this._activeOption = this._listKeyManager.activeItem;\n this._activeOption.activate();\n\n if (!this.useActiveDescendant) {\n this._activeOption.focus();\n }\n }\n\n /** Updates selection states of options when the 'multiple' property changes. */\n private _updateSelectionOnMultiSelectionChange(value: boolean) {\n if (this.multiple && !value) {\n // Deselect all options instead of arbitrarily keeping one of the selected options.\n this.setAllSelected(false);\n } else if (!this.multiple && value) {\n this._selectionModel = new SelectionModel<CdkOption<T>>(\n value,\n this._selectionModel?.selected,\n );\n }\n }\n\n _focusActiveOption() {\n if (!this.autoFocus) {\n return;\n }\n\n if (this._listKeyManager.activeItem) {\n this.setActiveOption(this._listKeyManager.activeItem);\n } else if (this._options.first) {\n this.setActiveOption(this._options.first);\n }\n }\n\n /** Selects the given option if the option and listbox aren't disabled. */\n select(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.select();\n }\n }\n\n /** Deselects the given option if the option and listbox aren't disabled. */\n deselect(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.deselect();\n }\n }\n\n /** Sets the selected state of all options to be the given value. */\n setAllSelected(isSelected: boolean) {\n for (const option of this._options.toArray()) {\n isSelected ? this.select(option) : this.deselect(option);\n }\n }\n\n /** Updates the key manager's active item to the given option. */\n setActiveOption(option: CdkOption<T>) {\n this._listKeyManager.updateActiveItem(option);\n this._updateActiveOption();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Required to implement ControlValueAccessor.\n */\n registerOnChange(fn: (value: T) => void): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Required to implement ControlValueAccessor.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /** Sets the select's value. Required to implement ControlValueAccessor. */\n writeValue(values: T | T[]): void {\n if (this._options) {\n this._setSelectionByValue(values);\n }\n }\n\n /** Disables the select. Required to implement ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Returns the values of the currently selected options. */\n getSelectedValues(): T[] {\n return this._options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Selects an option that has the corresponding given value. */\n private _setSelectionByValue(values: T | T[]) {\n for (const option of this._options.toArray()) {\n this.deselect(option);\n }\n\n const valuesArray = coerceArray(values);\n for (const value of valuesArray) {\n const correspondingOption = this._options.find((option: CdkOption<T>) => {\n return option.value != null && this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n this.select(correspondingOption);\n if (!this.multiple) {\n return;\n }\n }\n }\n }\n}\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport interface ListboxSelectionChangeEvent<T> {\n /** Reference to the listbox that emitted the event. */\n readonly source: CdkListbox<T>;\n\n /** Reference to the option that has been changed. */\n readonly option: CdkOption<T>;\n}\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport interface OptionSelectionChangeEvent<T> {\n /** Reference to the option that emitted the event. */\n source: CdkOption<T>;\n\n /** Whether the change in the option's value was a result of a user action. */\n isUserInput: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkListbox, CdkOption} from './listbox';\n\nconst EXPORTED_DECLARATIONS = [CdkListbox, CdkOption];\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkListboxModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './listbox';\nexport * from './listbox-module';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/menu.mjs
CHANGED
|
@@ -329,9 +329,9 @@ class TargetMenuAim {
|
|
|
329
329
|
this._destroyed.complete();
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
|
-
TargetMenuAim.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
333
|
-
TargetMenuAim.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0
|
|
334
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
332
|
+
TargetMenuAim.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TargetMenuAim, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
333
|
+
TargetMenuAim.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TargetMenuAim });
|
|
334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TargetMenuAim, decorators: [{
|
|
335
335
|
type: Injectable
|
|
336
336
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
337
337
|
/**
|
|
@@ -340,9 +340,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
340
340
|
*/
|
|
341
341
|
class CdkTargetMenuAim {
|
|
342
342
|
}
|
|
343
|
-
CdkTargetMenuAim.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
344
|
-
CdkTargetMenuAim.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
343
|
+
CdkTargetMenuAim.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkTargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
344
|
+
CdkTargetMenuAim.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkTargetMenuAim, selector: "[cdkTargetMenuAim]", providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }], exportAs: ["cdkTargetMenuAim"], ngImport: i0 });
|
|
345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkTargetMenuAim, decorators: [{
|
|
346
346
|
type: Directive,
|
|
347
347
|
args: [{
|
|
348
348
|
selector: '[cdkTargetMenuAim]',
|
|
@@ -660,9 +660,9 @@ class CdkMenuItemTrigger {
|
|
|
660
660
|
}
|
|
661
661
|
}
|
|
662
662
|
}
|
|
663
|
-
CdkMenuItemTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
664
|
-
CdkMenuItemTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
665
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
663
|
+
CdkMenuItemTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemTrigger, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i0.NgZone }, { token: CDK_MENU, optional: true }, { token: MENU_AIM, optional: true }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
664
|
+
CdkMenuItemTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuItemTrigger, selector: "[cdkMenuTriggerFor]", inputs: { menuPanel: ["cdkMenuTriggerFor", "menuPanel"] }, outputs: { opened: "cdkMenuOpened", closed: "cdkMenuClosed" }, host: { attributes: { "aria-haspopup": "menu" }, listeners: { "keydown": "_toggleOnKeydown($event)", "click": "toggle()" }, properties: { "attr.aria-expanded": "isMenuOpen()" }, classAttribute: "cdk-menu-trigger" }, exportAs: ["cdkMenuTriggerFor"], ngImport: i0 });
|
|
665
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemTrigger, decorators: [{
|
|
666
666
|
type: Directive,
|
|
667
667
|
args: [{
|
|
668
668
|
selector: '[cdkMenuTriggerFor]',
|
|
@@ -886,9 +886,9 @@ class CdkMenuItem {
|
|
|
886
886
|
this._destroyed.next();
|
|
887
887
|
}
|
|
888
888
|
}
|
|
889
|
-
CdkMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
890
|
-
CdkMenuItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
889
|
+
CdkMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItem, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: CDK_MENU, optional: true }, { token: MENU_AIM, optional: true }, { token: i2.Directionality, optional: true }, { token: CdkMenuItemTrigger, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
890
|
+
CdkMenuItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuItem, selector: "[cdkMenuItem]", inputs: { disabled: "disabled" }, outputs: { triggered: "cdkMenuItemTriggered" }, host: { attributes: { "type": "button", "role": "menuitem" }, listeners: { "blur": "_resetTabIndex()", "mouseout": "_resetTabIndex()", "focus": "_setTabIndex()", "mouseenter": "_setTabIndex($event)", "click": "trigger()", "keydown": "_onKeydown($event)" }, properties: { "tabindex": "_tabindex", "attr.aria-disabled": "disabled || null" }, classAttribute: "cdk-menu-item" }, exportAs: ["cdkMenuItem"], ngImport: i0 });
|
|
891
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItem, decorators: [{
|
|
892
892
|
type: Directive,
|
|
893
893
|
args: [{
|
|
894
894
|
selector: '[cdkMenuItem]',
|
|
@@ -968,9 +968,9 @@ class CdkMenuItemSelectable extends CdkMenuItem {
|
|
|
968
968
|
}
|
|
969
969
|
}
|
|
970
970
|
}
|
|
971
|
-
CdkMenuItemSelectable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
972
|
-
CdkMenuItemSelectable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
973
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
971
|
+
CdkMenuItemSelectable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemSelectable, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
972
|
+
CdkMenuItemSelectable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuItemSelectable, inputs: { checked: "checked", name: "name", id: "id" }, outputs: { toggled: "cdkMenuItemToggled" }, usesInheritance: true, ngImport: i0 });
|
|
973
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemSelectable, decorators: [{
|
|
974
974
|
type: Directive
|
|
975
975
|
}], propDecorators: { toggled: [{
|
|
976
976
|
type: Output,
|
|
@@ -1026,9 +1026,9 @@ class CdkMenuGroup {
|
|
|
1026
1026
|
this._selectableChanges.complete();
|
|
1027
1027
|
}
|
|
1028
1028
|
}
|
|
1029
|
-
CdkMenuGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1030
|
-
CdkMenuGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1029
|
+
CdkMenuGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1030
|
+
CdkMenuGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuGroup, selector: "[cdkMenuGroup]", outputs: { change: "change" }, host: { attributes: { "role": "group" }, classAttribute: "cdk-menu-group" }, providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }], queries: [{ propertyName: "_selectableItems", predicate: CdkMenuItemSelectable, descendants: true }], exportAs: ["cdkMenuGroup"], ngImport: i0 });
|
|
1031
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuGroup, decorators: [{
|
|
1032
1032
|
type: Directive,
|
|
1033
1033
|
args: [{
|
|
1034
1034
|
selector: '[cdkMenuGroup]',
|
|
@@ -1074,9 +1074,9 @@ class CdkMenuPanel {
|
|
|
1074
1074
|
this._menuStack?.push(child);
|
|
1075
1075
|
}
|
|
1076
1076
|
}
|
|
1077
|
-
CdkMenuPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1078
|
-
CdkMenuPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1077
|
+
CdkMenuPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuPanel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1078
|
+
CdkMenuPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuPanel, selector: "ng-template[cdkMenuPanel]", exportAs: ["cdkMenuPanel"], ngImport: i0 });
|
|
1079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuPanel, decorators: [{
|
|
1080
1080
|
type: Directive,
|
|
1081
1081
|
args: [{ selector: 'ng-template[cdkMenuPanel]', exportAs: 'cdkMenuPanel' }]
|
|
1082
1082
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
@@ -1352,6 +1352,7 @@ class CdkMenu extends CdkMenuGroup {
|
|
|
1352
1352
|
return this._menuStack instanceof NoopMenuStack;
|
|
1353
1353
|
}
|
|
1354
1354
|
ngOnDestroy() {
|
|
1355
|
+
super.ngOnDestroy();
|
|
1355
1356
|
this._emitClosedEvent();
|
|
1356
1357
|
this._pointerTracker?.destroy();
|
|
1357
1358
|
}
|
|
@@ -1361,12 +1362,12 @@ class CdkMenu extends CdkMenuGroup {
|
|
|
1361
1362
|
this.closed.complete();
|
|
1362
1363
|
}
|
|
1363
1364
|
}
|
|
1364
|
-
CdkMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1365
|
-
CdkMenu.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1365
|
+
CdkMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenu, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: MENU_AIM, optional: true, self: true }, { token: i2.Directionality, optional: true }, { token: CdkMenuPanel, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1366
|
+
CdkMenu.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenu, selector: "[cdkMenu]", inputs: { orientation: ["cdkMenuOrientation", "orientation"], _explicitPanel: ["cdkMenuPanel", "_explicitPanel"] }, outputs: { closed: "closed" }, host: { attributes: { "role": "menu" }, listeners: { "focus": "focusFirstItem()", "keydown": "_handleKeyEvent($event)" }, properties: { "tabindex": "_isInline() ? 0 : null", "class.cdk-menu-inline": "_isInline()", "attr.aria-orientation": "orientation" }, classAttribute: "cdk-menu" }, providers: [
|
|
1366
1367
|
{ provide: CdkMenuGroup, useExisting: CdkMenu },
|
|
1367
1368
|
{ provide: CDK_MENU, useExisting: CdkMenu },
|
|
1368
1369
|
], queries: [{ propertyName: "_nestedGroups", predicate: CdkMenuGroup, descendants: true }, { propertyName: "_allItems", predicate: CdkMenuItem, descendants: true }], exportAs: ["cdkMenu"], usesInheritance: true, ngImport: i0 });
|
|
1369
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenu, decorators: [{
|
|
1370
1371
|
type: Directive,
|
|
1371
1372
|
args: [{
|
|
1372
1373
|
selector: '[cdkMenu]',
|
|
@@ -1607,13 +1608,13 @@ class CdkMenuBar extends CdkMenuGroup {
|
|
|
1607
1608
|
this._pointerTracker?.destroy();
|
|
1608
1609
|
}
|
|
1609
1610
|
}
|
|
1610
|
-
CdkMenuBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1611
|
-
CdkMenuBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1611
|
+
CdkMenuBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuBar, deps: [{ token: MenuStack }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: MENU_AIM, optional: true, self: true }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1612
|
+
CdkMenuBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuBar, selector: "[cdkMenuBar]", inputs: { orientation: ["cdkMenuBarOrientation", "orientation"] }, host: { attributes: { "role": "menubar", "tabindex": "0" }, listeners: { "focus": "focusFirstItem()", "keydown": "_handleKeyEvent($event)" }, properties: { "attr.aria-orientation": "orientation" }, classAttribute: "cdk-menu-bar" }, providers: [
|
|
1612
1613
|
{ provide: CdkMenuGroup, useExisting: CdkMenuBar },
|
|
1613
1614
|
{ provide: CDK_MENU, useExisting: CdkMenuBar },
|
|
1614
1615
|
{ provide: MenuStack, useClass: MenuStack },
|
|
1615
1616
|
], queries: [{ propertyName: "_allItems", predicate: CdkMenuItem, descendants: true }], exportAs: ["cdkMenuBar"], usesInheritance: true, ngImport: i0 });
|
|
1616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuBar, decorators: [{
|
|
1617
1618
|
type: Directive,
|
|
1618
1619
|
args: [{
|
|
1619
1620
|
selector: '[cdkMenuBar]',
|
|
@@ -1687,12 +1688,12 @@ class CdkMenuItemRadio extends CdkMenuItemSelectable {
|
|
|
1687
1688
|
this._removeDispatcherListener();
|
|
1688
1689
|
}
|
|
1689
1690
|
}
|
|
1690
|
-
CdkMenuItemRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1691
|
-
CdkMenuItemRadio.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1691
|
+
CdkMenuItemRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemRadio, deps: [{ token: i1$1.UniqueSelectionDispatcher }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: CDK_MENU, optional: true }, { token: MENU_AIM, optional: true }, { token: i2.Directionality, optional: true }, { token: CdkMenuItemTrigger, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1692
|
+
CdkMenuItemRadio.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuItemRadio, selector: "[cdkMenuItemRadio]", host: { attributes: { "type": "button", "role": "menuitemradio" }, properties: { "tabindex": "_tabindex", "attr.aria-checked": "checked || null", "attr.aria-disabled": "disabled || null" } }, providers: [
|
|
1692
1693
|
{ provide: CdkMenuItemSelectable, useExisting: CdkMenuItemRadio },
|
|
1693
1694
|
{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
|
|
1694
1695
|
], exportAs: ["cdkMenuItemRadio"], usesInheritance: true, ngImport: i0 });
|
|
1695
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1696
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemRadio, decorators: [{
|
|
1696
1697
|
type: Directive,
|
|
1697
1698
|
args: [{
|
|
1698
1699
|
selector: '[cdkMenuItemRadio]',
|
|
@@ -1747,12 +1748,12 @@ class CdkMenuItemCheckbox extends CdkMenuItemSelectable {
|
|
|
1747
1748
|
}
|
|
1748
1749
|
}
|
|
1749
1750
|
}
|
|
1750
|
-
CdkMenuItemCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1751
|
-
CdkMenuItemCheckbox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
1751
|
+
CdkMenuItemCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1752
|
+
CdkMenuItemCheckbox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkMenuItemCheckbox, selector: "[cdkMenuItemCheckbox]", host: { attributes: { "type": "button", "role": "menuitemcheckbox" }, properties: { "tabindex": "_tabindex", "attr.aria-checked": "checked || null", "attr.aria-disabled": "disabled || null" } }, providers: [
|
|
1752
1753
|
{ provide: CdkMenuItemSelectable, useExisting: CdkMenuItemCheckbox },
|
|
1753
1754
|
{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
|
|
1754
1755
|
], exportAs: ["cdkMenuItemCheckbox"], usesInheritance: true, ngImport: i0 });
|
|
1755
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1756
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuItemCheckbox, decorators: [{
|
|
1756
1757
|
type: Directive,
|
|
1757
1758
|
args: [{
|
|
1758
1759
|
selector: '[cdkMenuItemCheckbox]',
|
|
@@ -1791,9 +1792,9 @@ class ContextMenuTracker {
|
|
|
1791
1792
|
}
|
|
1792
1793
|
}
|
|
1793
1794
|
}
|
|
1794
|
-
ContextMenuTracker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
1795
|
-
ContextMenuTracker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0
|
|
1796
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
1795
|
+
ContextMenuTracker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContextMenuTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1796
|
+
ContextMenuTracker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContextMenuTracker, providedIn: 'root' });
|
|
1797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContextMenuTracker, decorators: [{
|
|
1797
1798
|
type: Injectable,
|
|
1798
1799
|
args: [{ providedIn: 'root' }]
|
|
1799
1800
|
}] });
|
|
@@ -2005,13 +2006,13 @@ class CdkContextMenuTrigger {
|
|
|
2005
2006
|
}
|
|
2006
2007
|
}
|
|
2007
2008
|
}
|
|
2008
|
-
CdkContextMenuTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
2009
|
-
CdkContextMenuTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0
|
|
2009
|
+
CdkContextMenuTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkContextMenuTrigger, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: ContextMenuTracker }, { token: CDK_CONTEXT_MENU_DEFAULT_OPTIONS }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2010
|
+
CdkContextMenuTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: CdkContextMenuTrigger, selector: "[cdkContextMenuTriggerFor]", inputs: { menuPanel: ["cdkContextMenuTriggerFor", "menuPanel"], disabled: ["cdkContextMenuDisabled", "disabled"] }, outputs: { opened: "cdkContextMenuOpened", closed: "cdkContextMenuClosed" }, host: { listeners: { "contextmenu": "_openOnContextMenu($event)" } }, providers: [
|
|
2010
2011
|
// In cases where the first menu item in the context menu is a trigger the submenu opens on a
|
|
2011
2012
|
// hover event. Offsetting the opened context menu by 2px prevents this from occurring.
|
|
2012
2013
|
{ provide: CDK_CONTEXT_MENU_DEFAULT_OPTIONS, useValue: { offsetX: 2, offsetY: 2 } },
|
|
2013
2014
|
], exportAs: ["cdkContextMenuTriggerFor"], ngImport: i0 });
|
|
2014
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
2015
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkContextMenuTrigger, decorators: [{
|
|
2015
2016
|
type: Directive,
|
|
2016
2017
|
args: [{
|
|
2017
2018
|
selector: '[cdkContextMenuTriggerFor]',
|
|
@@ -2065,8 +2066,8 @@ const EXPORTED_DECLARATIONS = [
|
|
|
2065
2066
|
];
|
|
2066
2067
|
class CdkMenuModule {
|
|
2067
2068
|
}
|
|
2068
|
-
CdkMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0
|
|
2069
|
-
CdkMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0
|
|
2069
|
+
CdkMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2070
|
+
CdkMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuModule, declarations: [CdkMenuBar,
|
|
2070
2071
|
CdkMenu,
|
|
2071
2072
|
CdkMenuPanel,
|
|
2072
2073
|
CdkMenuItem,
|
|
@@ -2085,8 +2086,8 @@ CdkMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
2085
2086
|
CdkMenuGroup,
|
|
2086
2087
|
CdkContextMenuTrigger,
|
|
2087
2088
|
CdkTargetMenuAim] });
|
|
2088
|
-
CdkMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0
|
|
2089
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0
|
|
2089
|
+
CdkMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuModule, imports: [[OverlayModule]] });
|
|
2090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: CdkMenuModule, decorators: [{
|
|
2090
2091
|
type: NgModule,
|
|
2091
2092
|
args: [{
|
|
2092
2093
|
imports: [OverlayModule],
|