@angular/cdk 20.2.0-next.3 → 20.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/a11y-module.mjs +22 -22
- package/fesm2022/a11y-module.mjs.map +1 -1
- package/fesm2022/a11y.mjs +9 -9
- package/fesm2022/a11y.mjs.map +1 -1
- package/fesm2022/accordion.mjs +10 -10
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/activedescendant-key-manager.mjs.map +1 -1
- package/fesm2022/array.mjs.map +1 -1
- package/fesm2022/bidi.mjs +7 -7
- package/fesm2022/bidi.mjs.map +1 -1
- package/fesm2022/breakpoints-observer.mjs +6 -6
- package/fesm2022/breakpoints-observer.mjs.map +1 -1
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/clipboard.mjs +10 -10
- package/fesm2022/clipboard.mjs.map +1 -1
- package/fesm2022/coercion/private.mjs.map +1 -1
- package/fesm2022/coercion.mjs.map +1 -1
- package/fesm2022/css-pixel-value.mjs.map +1 -1
- package/fesm2022/data-source.mjs.map +1 -1
- package/fesm2022/dialog.mjs +10 -10
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/directionality.mjs +3 -3
- package/fesm2022/directionality.mjs.map +1 -1
- package/fesm2022/dispose-view-repeater-strategy.mjs.map +1 -1
- package/fesm2022/drag-drop.mjs +31 -31
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/element.mjs.map +1 -1
- package/fesm2022/fake-event-detection.mjs.map +1 -1
- package/fesm2022/focus-key-manager.mjs.map +1 -1
- package/fesm2022/focus-monitor.mjs +9 -9
- package/fesm2022/focus-monitor.mjs.map +1 -1
- package/fesm2022/id-generator.mjs +3 -3
- package/fesm2022/id-generator.mjs.map +1 -1
- package/fesm2022/keycodes.mjs.map +1 -1
- package/fesm2022/keycodes2.mjs.map +1 -1
- package/fesm2022/layout.mjs +4 -4
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/list-key-manager.mjs.map +1 -1
- package/fesm2022/listbox.mjs +10 -10
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +86 -57
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/observers/private.mjs +3 -3
- package/fesm2022/observers/private.mjs.map +1 -1
- package/fesm2022/observers.mjs +13 -13
- package/fesm2022/observers.mjs.map +1 -1
- package/fesm2022/overlay-module.mjs +34 -34
- package/fesm2022/overlay-module.mjs.map +1 -1
- package/fesm2022/overlay.mjs +3 -3
- package/fesm2022/overlay.mjs.map +1 -1
- package/fesm2022/passive-listeners.mjs.map +1 -1
- package/fesm2022/platform.mjs +4 -4
- package/fesm2022/platform.mjs.map +1 -1
- package/fesm2022/platform2.mjs +3 -3
- package/fesm2022/platform2.mjs.map +1 -1
- package/fesm2022/portal.mjs +16 -16
- package/fesm2022/portal.mjs.map +1 -1
- package/fesm2022/private.mjs +3 -3
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/recycle-view-repeater-strategy.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +35 -35
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/scrolling2.mjs.map +1 -1
- package/fesm2022/selection-model.mjs.map +1 -1
- package/fesm2022/shadow-dom.mjs.map +1 -1
- package/fesm2022/stepper.mjs +22 -22
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/style-loader.mjs +3 -3
- package/fesm2022/style-loader.mjs.map +1 -1
- package/fesm2022/table.mjs +73 -73
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/test-environment.mjs.map +1 -1
- package/fesm2022/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2022/testing/testbed.mjs.map +1 -1
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/text-field.mjs +16 -16
- package/fesm2022/text-field.mjs.map +1 -1
- package/fesm2022/tree-key-manager.mjs.map +1 -1
- package/fesm2022/tree.mjs +26 -25
- package/fesm2022/tree.mjs.map +1 -1
- package/fesm2022/typeahead.mjs.map +1 -1
- package/fesm2022/unique-selection-dispatcher.mjs +3 -3
- package/fesm2022/unique-selection-dispatcher.mjs.map +1 -1
- package/menu/index.d.ts +9 -3
- package/package.json +3 -3
- package/schematics/ng-add/index.js +1 -1
package/fesm2022/menu.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, InjectionToken, Optional, SkipSelf, Inject, inject, Injectable, Injector, ViewContainerRef, EventEmitter, NgZone, RendererFactory2, ElementRef, ChangeDetectorRef, Renderer2, booleanAttribute, Input, Output, signal, computed, ContentChildren, NgModule } from '@angular/core';
|
|
2
|
+
import { Directive, InjectionToken, Optional, SkipSelf, Inject, inject, Injectable, Injector, ViewContainerRef, EventEmitter, NgZone, RendererFactory2, ElementRef, ChangeDetectorRef, Renderer2, booleanAttribute, Input, Output, QueryList, signal, computed, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { startWith, debounceTime, distinctUntilChanged, takeUntil, mergeMap, mapTo, mergeAll, switchMap, skipWhile, skip } from 'rxjs/operators';
|
|
4
4
|
import { UniqueSelectionDispatcher } from './unique-selection-dispatcher.mjs';
|
|
5
5
|
import { Subject, merge, partition } from 'rxjs';
|
|
@@ -33,10 +33,10 @@ import './typeahead.mjs';
|
|
|
33
33
|
* A grouping container for `CdkMenuItemRadio` instances, similar to a `role="radiogroup"` element.
|
|
34
34
|
*/
|
|
35
35
|
class CdkMenuGroup {
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
37
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuGroup, isStandalone: true, selector: "[cdkMenuGroup]", host: { attributes: { "role": "group" }, classAttribute: "cdk-menu-group" }, providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }], exportAs: ["cdkMenuGroup"], ngImport: i0 });
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuGroup, decorators: [{
|
|
40
40
|
type: Directive,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: '[cdkMenuGroup]',
|
|
@@ -193,10 +193,10 @@ class MenuStack {
|
|
|
193
193
|
setHasFocus(hasFocus) {
|
|
194
194
|
this._hasFocus.next(hasFocus);
|
|
195
195
|
}
|
|
196
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
197
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuStack, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
197
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuStack });
|
|
198
198
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuStack, decorators: [{
|
|
200
200
|
type: Injectable
|
|
201
201
|
}] });
|
|
202
202
|
|
|
@@ -224,10 +224,10 @@ class MenuTracker {
|
|
|
224
224
|
MenuTracker._openMenuTrigger = trigger;
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
228
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-
|
|
227
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
228
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuTracker, providedIn: 'root' });
|
|
229
229
|
}
|
|
230
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MenuTracker, decorators: [{
|
|
231
231
|
type: Injectable,
|
|
232
232
|
args: [{ providedIn: 'root' }]
|
|
233
233
|
}] });
|
|
@@ -326,10 +326,10 @@ class CdkMenuTriggerBase {
|
|
|
326
326
|
});
|
|
327
327
|
return this._childMenuInjector;
|
|
328
328
|
}
|
|
329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
330
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
329
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuTriggerBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
330
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuTriggerBase, isStandalone: true, host: { properties: { "attr.aria-controls": "childMenu?.id", "attr.data-cdk-menu-stack-id": "menuStack.id" } }, ngImport: i0 });
|
|
331
331
|
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuTriggerBase, decorators: [{
|
|
333
333
|
type: Directive,
|
|
334
334
|
args: [{
|
|
335
335
|
host: {
|
|
@@ -531,10 +531,10 @@ class TargetMenuAim {
|
|
|
531
531
|
});
|
|
532
532
|
});
|
|
533
533
|
}
|
|
534
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
535
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-
|
|
534
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: TargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
535
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: TargetMenuAim });
|
|
536
536
|
}
|
|
537
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: TargetMenuAim, decorators: [{
|
|
538
538
|
type: Injectable
|
|
539
539
|
}] });
|
|
540
540
|
/**
|
|
@@ -542,10 +542,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
|
|
|
542
542
|
* element with either the `cdkMenu` or `cdkMenuBar` directive and child menu items.
|
|
543
543
|
*/
|
|
544
544
|
class CdkTargetMenuAim {
|
|
545
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
546
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkTargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
546
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkTargetMenuAim, isStandalone: true, selector: "[cdkTargetMenuAim]", providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }], exportAs: ["cdkTargetMenuAim"], ngImport: i0 });
|
|
547
547
|
}
|
|
548
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkTargetMenuAim, decorators: [{
|
|
549
549
|
type: Directive,
|
|
550
550
|
args: [{
|
|
551
551
|
selector: '[cdkTargetMenuAim]',
|
|
@@ -845,13 +845,13 @@ class CdkMenuTrigger extends CdkMenuTriggerBase {
|
|
|
845
845
|
element.setAttribute('type', 'button');
|
|
846
846
|
}
|
|
847
847
|
}
|
|
848
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
849
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
848
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
849
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuTrigger, isStandalone: true, selector: "[cdkMenuTriggerFor]", inputs: { menuTemplateRef: ["cdkMenuTriggerFor", "menuTemplateRef"], menuPosition: ["cdkMenuPosition", "menuPosition"], menuData: ["cdkMenuTriggerData", "menuData"] }, outputs: { opened: "cdkMenuOpened", closed: "cdkMenuClosed" }, host: { listeners: { "focusin": "_setHasFocus(true)", "focusout": "_setHasFocus(false)", "keydown": "_toggleOnKeydown($event)", "click": "_handleClick()" }, properties: { "attr.aria-haspopup": "menuTemplateRef ? \"menu\" : null", "attr.aria-expanded": "menuTemplateRef == null ? null : isOpen()" }, classAttribute: "cdk-menu-trigger" }, providers: [
|
|
850
850
|
{ provide: MENU_TRIGGER, useExisting: CdkMenuTrigger },
|
|
851
851
|
PARENT_OR_NEW_MENU_STACK_PROVIDER,
|
|
852
852
|
], exportAs: ["cdkMenuTriggerFor"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
853
853
|
}
|
|
854
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
854
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuTrigger, decorators: [{
|
|
855
855
|
type: Directive,
|
|
856
856
|
args: [{
|
|
857
857
|
selector: '[cdkMenuTriggerFor]',
|
|
@@ -992,6 +992,16 @@ class CdkMenuItem {
|
|
|
992
992
|
this._tabindex = 0;
|
|
993
993
|
}
|
|
994
994
|
}
|
|
995
|
+
/** Handles click events on the item. */
|
|
996
|
+
_handleClick(event) {
|
|
997
|
+
if (this.disabled) {
|
|
998
|
+
event.preventDefault();
|
|
999
|
+
event.stopPropagation();
|
|
1000
|
+
}
|
|
1001
|
+
else {
|
|
1002
|
+
this.trigger();
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
995
1005
|
/**
|
|
996
1006
|
* Handles keyboard events for the menu item, specifically either triggering the user defined
|
|
997
1007
|
* callback or opening/closing the current menu based on whether the left or right arrow key was
|
|
@@ -1109,10 +1119,10 @@ class CdkMenuItem {
|
|
|
1109
1119
|
element.setAttribute('type', 'button');
|
|
1110
1120
|
}
|
|
1111
1121
|
}
|
|
1112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1113
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-
|
|
1122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1123
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-rc.1", type: CdkMenuItem, isStandalone: true, selector: "[cdkMenuItem]", inputs: { disabled: ["cdkMenuItemDisabled", "disabled", booleanAttribute], typeaheadLabel: ["cdkMenuitemTypeaheadLabel", "typeaheadLabel"] }, outputs: { triggered: "cdkMenuItemTriggered" }, host: { attributes: { "role": "menuitem" }, listeners: { "blur": "_resetTabIndex()", "focus": "_setTabIndex()", "click": "_handleClick($event)", "keydown": "_onKeydown($event)" }, properties: { "class.cdk-menu-item-disabled": "disabled", "tabindex": "_tabindex", "attr.aria-disabled": "disabled || null" }, classAttribute: "cdk-menu-item" }, exportAs: ["cdkMenuItem"], ngImport: i0 });
|
|
1114
1124
|
}
|
|
1115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItem, decorators: [{
|
|
1116
1126
|
type: Directive,
|
|
1117
1127
|
args: [{
|
|
1118
1128
|
selector: '[cdkMenuItem]',
|
|
@@ -1120,11 +1130,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
|
|
|
1120
1130
|
host: {
|
|
1121
1131
|
'role': 'menuitem',
|
|
1122
1132
|
'class': 'cdk-menu-item',
|
|
1133
|
+
'[class.cdk-menu-item-disabled]': 'disabled',
|
|
1123
1134
|
'[tabindex]': '_tabindex',
|
|
1124
1135
|
'[attr.aria-disabled]': 'disabled || null',
|
|
1125
1136
|
'(blur)': '_resetTabIndex()',
|
|
1126
1137
|
'(focus)': '_setTabIndex()',
|
|
1127
|
-
'(click)': '
|
|
1138
|
+
'(click)': '_handleClick($event)',
|
|
1128
1139
|
'(keydown)': '_onKeydown($event)',
|
|
1129
1140
|
},
|
|
1130
1141
|
}]
|
|
@@ -1210,10 +1221,12 @@ class CdkMenuBase extends CdkMenuGroup {
|
|
|
1210
1221
|
menuAim = inject(MENU_AIM, { optional: true, self: true });
|
|
1211
1222
|
/** The directionality (text direction) of the current page. */
|
|
1212
1223
|
dir = inject(Directionality, { optional: true });
|
|
1224
|
+
/** All items inside the menu, including ones that belong to other menus. */
|
|
1225
|
+
_allItems;
|
|
1213
1226
|
/** The id of the menu's host element. */
|
|
1214
1227
|
id = inject(_IdGenerator).getId('cdk-menu-');
|
|
1215
|
-
/** All child MenuItem elements
|
|
1216
|
-
items;
|
|
1228
|
+
/** All child MenuItem elements belonging to this Menu. */
|
|
1229
|
+
items = new QueryList();
|
|
1217
1230
|
/** The direction items in the menu flow. */
|
|
1218
1231
|
orientation = 'vertical';
|
|
1219
1232
|
/**
|
|
@@ -1239,6 +1252,7 @@ class CdkMenuBase extends CdkMenuGroup {
|
|
|
1239
1252
|
if (!this.isInline) {
|
|
1240
1253
|
this.menuStack.push(this);
|
|
1241
1254
|
}
|
|
1255
|
+
this._setItems();
|
|
1242
1256
|
this._setKeyManager();
|
|
1243
1257
|
this._handleFocus();
|
|
1244
1258
|
this._subscribeToMenuStackHasFocus();
|
|
@@ -1304,9 +1318,24 @@ class CdkMenuBase extends CdkMenuGroup {
|
|
|
1304
1318
|
}
|
|
1305
1319
|
}
|
|
1306
1320
|
}
|
|
1321
|
+
/** Sets up the subscription that keeps the items list in sync. */
|
|
1322
|
+
_setItems() {
|
|
1323
|
+
// Since the items query has `descendants: true`, we need
|
|
1324
|
+
// to filter out items belonging to a different menu.
|
|
1325
|
+
this._allItems.changes
|
|
1326
|
+
.pipe(startWith(this._allItems), takeUntil(this.destroyed))
|
|
1327
|
+
.subscribe((items) => {
|
|
1328
|
+
this.items.reset(items.filter(item => item._parentMenu === this));
|
|
1329
|
+
this.items.notifyOnChanges();
|
|
1330
|
+
});
|
|
1331
|
+
}
|
|
1307
1332
|
/** Setup the FocusKeyManager with the correct orientation for the menu. */
|
|
1308
1333
|
_setKeyManager() {
|
|
1309
|
-
this.keyManager = new FocusKeyManager(this.items)
|
|
1334
|
+
this.keyManager = new FocusKeyManager(this.items)
|
|
1335
|
+
.withWrap()
|
|
1336
|
+
.withTypeAhead()
|
|
1337
|
+
.withHomeAndEnd()
|
|
1338
|
+
.skipPredicate(() => false);
|
|
1310
1339
|
if (this.orientation === 'horizontal') {
|
|
1311
1340
|
this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');
|
|
1312
1341
|
}
|
|
@@ -1368,10 +1397,10 @@ class CdkMenuBase extends CdkMenuGroup {
|
|
|
1368
1397
|
}
|
|
1369
1398
|
});
|
|
1370
1399
|
}
|
|
1371
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1372
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
1400
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1401
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuBase, isStandalone: true, inputs: { id: "id" }, host: { attributes: { "role": "menu" }, listeners: { "focusin": "menuStack.setHasFocus(true)", "focusout": "menuStack.setHasFocus(false)" }, properties: { "tabindex": "_getTabIndex()", "id": "id", "attr.aria-orientation": "orientation", "attr.data-cdk-menu-stack-id": "menuStack.id" } }, queries: [{ propertyName: "_allItems", predicate: CdkMenuItem, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
1373
1402
|
}
|
|
1374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuBase, decorators: [{
|
|
1375
1404
|
type: Directive,
|
|
1376
1405
|
args: [{
|
|
1377
1406
|
host: {
|
|
@@ -1385,11 +1414,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
|
|
|
1385
1414
|
'(focusout)': 'menuStack.setHasFocus(false)',
|
|
1386
1415
|
},
|
|
1387
1416
|
}]
|
|
1388
|
-
}], propDecorators: {
|
|
1389
|
-
type: Input
|
|
1390
|
-
}], items: [{
|
|
1417
|
+
}], propDecorators: { _allItems: [{
|
|
1391
1418
|
type: ContentChildren,
|
|
1392
1419
|
args: [CdkMenuItem, { descendants: true }]
|
|
1420
|
+
}], id: [{
|
|
1421
|
+
type: Input
|
|
1393
1422
|
}] } });
|
|
1394
1423
|
|
|
1395
1424
|
/**
|
|
@@ -1482,14 +1511,14 @@ class CdkMenu extends CdkMenuBase {
|
|
|
1482
1511
|
.pipe(takeUntil(this.destroyed))
|
|
1483
1512
|
.subscribe(event => this._toggleMenuFocus(event));
|
|
1484
1513
|
}
|
|
1485
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1486
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
1514
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1515
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenu, isStandalone: true, selector: "[cdkMenu]", outputs: { closed: "closed" }, host: { attributes: { "role": "menu" }, listeners: { "keydown": "_handleKeyEvent($event)" }, properties: { "class.cdk-menu-inline": "isInline" }, classAttribute: "cdk-menu" }, providers: [
|
|
1487
1516
|
{ provide: CdkMenuGroup, useExisting: CdkMenu },
|
|
1488
1517
|
{ provide: CDK_MENU, useExisting: CdkMenu },
|
|
1489
1518
|
PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER('vertical'),
|
|
1490
1519
|
], exportAs: ["cdkMenu"], usesInheritance: true, ngImport: i0 });
|
|
1491
1520
|
}
|
|
1492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenu, decorators: [{
|
|
1493
1522
|
type: Directive,
|
|
1494
1523
|
args: [{
|
|
1495
1524
|
selector: '[cdkMenu]',
|
|
@@ -1600,14 +1629,14 @@ class CdkMenuBar extends CdkMenuBase {
|
|
|
1600
1629
|
.pipe(takeUntil(this.destroyed))
|
|
1601
1630
|
.subscribe(event => this._toggleOpenMenu(event));
|
|
1602
1631
|
}
|
|
1603
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1604
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
1632
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuBar, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1633
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuBar, isStandalone: true, selector: "[cdkMenuBar]", host: { attributes: { "role": "menubar" }, listeners: { "keydown": "_handleKeyEvent($event)" }, classAttribute: "cdk-menu-bar" }, providers: [
|
|
1605
1634
|
{ provide: CdkMenuGroup, useExisting: CdkMenuBar },
|
|
1606
1635
|
{ provide: CDK_MENU, useExisting: CdkMenuBar },
|
|
1607
1636
|
{ provide: MENU_STACK, useFactory: () => MenuStack.inline('horizontal') },
|
|
1608
1637
|
], exportAs: ["cdkMenuBar"], usesInheritance: true, ngImport: i0 });
|
|
1609
1638
|
}
|
|
1610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1639
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuBar, decorators: [{
|
|
1611
1640
|
type: Directive,
|
|
1612
1641
|
args: [{
|
|
1613
1642
|
selector: '[cdkMenuBar]',
|
|
@@ -1631,10 +1660,10 @@ class CdkMenuItemSelectable extends CdkMenuItem {
|
|
|
1631
1660
|
checked = false;
|
|
1632
1661
|
/** Whether the item should close the menu if triggered by the spacebar. */
|
|
1633
1662
|
closeOnSpacebarTrigger = false;
|
|
1634
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1635
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-
|
|
1663
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemSelectable, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1664
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-rc.1", type: CdkMenuItemSelectable, isStandalone: true, inputs: { checked: ["cdkMenuItemChecked", "checked", booleanAttribute] }, host: { properties: { "attr.aria-checked": "!!checked", "attr.aria-disabled": "disabled || null" } }, usesInheritance: true, ngImport: i0 });
|
|
1636
1665
|
}
|
|
1637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemSelectable, decorators: [{
|
|
1638
1667
|
type: Directive,
|
|
1639
1668
|
args: [{
|
|
1640
1669
|
host: {
|
|
@@ -1684,13 +1713,13 @@ class CdkMenuItemRadio extends CdkMenuItemSelectable {
|
|
|
1684
1713
|
this.checked = this._id === id;
|
|
1685
1714
|
});
|
|
1686
1715
|
}
|
|
1687
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1688
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
1716
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemRadio, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1717
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuItemRadio, isStandalone: true, selector: "[cdkMenuItemRadio]", host: { attributes: { "role": "menuitemradio" }, properties: { "class.cdk-menu-item-radio": "true" } }, providers: [
|
|
1689
1718
|
{ provide: CdkMenuItemSelectable, useExisting: CdkMenuItemRadio },
|
|
1690
1719
|
{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
|
|
1691
1720
|
], exportAs: ["cdkMenuItemRadio"], usesInheritance: true, ngImport: i0 });
|
|
1692
1721
|
}
|
|
1693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemRadio, decorators: [{
|
|
1694
1723
|
type: Directive,
|
|
1695
1724
|
args: [{
|
|
1696
1725
|
selector: '[cdkMenuItemRadio]',
|
|
@@ -1722,13 +1751,13 @@ class CdkMenuItemCheckbox extends CdkMenuItemSelectable {
|
|
|
1722
1751
|
this.checked = !this.checked;
|
|
1723
1752
|
}
|
|
1724
1753
|
}
|
|
1725
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1726
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-
|
|
1754
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1755
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: CdkMenuItemCheckbox, isStandalone: true, selector: "[cdkMenuItemCheckbox]", host: { attributes: { "role": "menuitemcheckbox" }, properties: { "class.cdk-menu-item-checkbox": "true" } }, providers: [
|
|
1727
1756
|
{ provide: CdkMenuItemSelectable, useExisting: CdkMenuItemCheckbox },
|
|
1728
1757
|
{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
|
|
1729
1758
|
], exportAs: ["cdkMenuItemCheckbox"], usesInheritance: true, ngImport: i0 });
|
|
1730
1759
|
}
|
|
1731
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuItemCheckbox, decorators: [{
|
|
1732
1761
|
type: Directive,
|
|
1733
1762
|
args: [{
|
|
1734
1763
|
selector: '[cdkMenuItemCheckbox]',
|
|
@@ -1896,13 +1925,13 @@ class CdkContextMenuTrigger extends CdkMenuTriggerBase {
|
|
|
1896
1925
|
this._subscribeToOutsideClicks(userEvent);
|
|
1897
1926
|
}
|
|
1898
1927
|
}
|
|
1899
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1900
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-
|
|
1928
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1929
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-rc.1", type: CdkContextMenuTrigger, isStandalone: true, selector: "[cdkContextMenuTriggerFor]", inputs: { menuTemplateRef: ["cdkContextMenuTriggerFor", "menuTemplateRef"], menuPosition: ["cdkContextMenuPosition", "menuPosition"], menuData: ["cdkContextMenuTriggerData", "menuData"], disabled: ["cdkContextMenuDisabled", "disabled", booleanAttribute] }, outputs: { opened: "cdkContextMenuOpened", closed: "cdkContextMenuClosed" }, host: { listeners: { "contextmenu": "_openOnContextMenu($event)" }, properties: { "attr.data-cdk-menu-stack-id": "null" } }, providers: [
|
|
1901
1930
|
{ provide: MENU_TRIGGER, useExisting: CdkContextMenuTrigger },
|
|
1902
1931
|
{ provide: MENU_STACK, useClass: MenuStack },
|
|
1903
1932
|
], exportAs: ["cdkContextMenuTriggerFor"], usesInheritance: true, ngImport: i0 });
|
|
1904
1933
|
}
|
|
1905
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1934
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkContextMenuTrigger, decorators: [{
|
|
1906
1935
|
type: Directive,
|
|
1907
1936
|
args: [{
|
|
1908
1937
|
selector: '[cdkContextMenuTriggerFor]',
|
|
@@ -1940,8 +1969,8 @@ const MENU_DIRECTIVES = [
|
|
|
1940
1969
|
];
|
|
1941
1970
|
/** Module that declares components and directives for the CDK menu. */
|
|
1942
1971
|
class CdkMenuModule {
|
|
1943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-
|
|
1944
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-
|
|
1972
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1973
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuModule, imports: [OverlayModule, CdkMenuBar,
|
|
1945
1974
|
CdkMenu,
|
|
1946
1975
|
CdkMenuItem,
|
|
1947
1976
|
CdkMenuItemRadio,
|
|
@@ -1958,9 +1987,9 @@ class CdkMenuModule {
|
|
|
1958
1987
|
CdkMenuGroup,
|
|
1959
1988
|
CdkContextMenuTrigger,
|
|
1960
1989
|
CdkTargetMenuAim] });
|
|
1961
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-
|
|
1990
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuModule, imports: [OverlayModule] });
|
|
1962
1991
|
}
|
|
1963
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-
|
|
1992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: CdkMenuModule, decorators: [{
|
|
1964
1993
|
type: NgModule,
|
|
1965
1994
|
args: [{
|
|
1966
1995
|
imports: [OverlayModule, ...MENU_DIRECTIVES],
|