@angular/cdk-experimental 14.0.0-next.1 → 14.0.0-next.10
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/combobox/combobox-module.d.ts +3 -4
- package/combobox/combobox-popup.d.ts +6 -8
- package/combobox/combobox.d.ts +15 -18
- package/combobox/public-api.d.ts +0 -1
- package/dialog/dialog-config.d.ts +6 -1
- package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
- package/esm2020/column-resize/column-resize-module.mjs +9 -9
- package/esm2020/column-resize/column-resize-notifier.mjs +7 -7
- package/esm2020/column-resize/column-resize.mjs +6 -5
- package/esm2020/column-resize/column-size-store.mjs +4 -4
- package/esm2020/column-resize/event-dispatcher.mjs +4 -4
- package/esm2020/column-resize/overlay-handle.mjs +4 -4
- package/esm2020/column-resize/resizable.mjs +4 -4
- package/esm2020/column-resize/resize-strategy.mjs +10 -10
- package/esm2020/combobox/combobox-module.mjs +6 -7
- package/esm2020/combobox/combobox-popup.mjs +12 -23
- package/esm2020/combobox/combobox.mjs +50 -34
- package/esm2020/combobox/public-api.mjs +1 -2
- package/esm2020/dialog/dialog-config.mjs +1 -1
- package/esm2020/dialog/dialog-container.mjs +29 -12
- package/esm2020/dialog/dialog-module.mjs +5 -5
- package/esm2020/dialog/dialog.mjs +5 -5
- package/esm2020/listbox/listbox-module.mjs +5 -5
- package/esm2020/listbox/listbox.mjs +26 -44
- package/esm2020/menu/context-menu-trigger.mjs +227 -0
- package/esm2020/menu/menu-aim.mjs +24 -19
- package/esm2020/menu/menu-bar.mjs +72 -165
- package/esm2020/menu/menu-base.mjs +203 -0
- package/esm2020/menu/menu-errors.mjs +1 -9
- package/esm2020/menu/menu-group.mjs +7 -45
- package/esm2020/menu/menu-interface.mjs +1 -1
- package/esm2020/menu/menu-item-checkbox.mjs +11 -11
- package/esm2020/menu/menu-item-radio.mjs +50 -26
- package/esm2020/menu/menu-item-selectable.mjs +18 -33
- package/esm2020/menu/menu-item.mjs +133 -88
- package/esm2020/menu/menu-module.mjs +12 -14
- package/esm2020/menu/menu-stack.mjs +69 -19
- package/esm2020/menu/menu-trigger-base.mjs +114 -0
- package/esm2020/menu/menu-trigger.mjs +302 -0
- package/esm2020/menu/menu.mjs +75 -208
- package/esm2020/menu/pointer-focus-tracker.mjs +11 -9
- package/esm2020/menu/public-api.mjs +10 -7
- package/esm2020/popover-edit/edit-event-dispatcher.mjs +4 -4
- package/esm2020/popover-edit/edit-ref.mjs +4 -4
- package/esm2020/popover-edit/edit-services.mjs +4 -4
- package/esm2020/popover-edit/focus-dispatcher.mjs +4 -4
- package/esm2020/popover-edit/focus-escape-notifier.mjs +4 -4
- package/esm2020/popover-edit/lens-directives.mjs +10 -10
- package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
- package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +7 -7
- package/esm2020/popover-edit/table-directives.mjs +16 -16
- package/esm2020/scrolling/auto-size-virtual-scroll.mjs +4 -4
- package/esm2020/scrolling/scrolling-module.mjs +5 -5
- package/esm2020/selection/row-selection.mjs +4 -4
- package/esm2020/selection/select-all.mjs +4 -4
- package/esm2020/selection/selection-column.mjs +4 -4
- package/esm2020/selection/selection-module.mjs +5 -5
- 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 +5 -5
- package/esm2020/table-scroll-container/table-scroll-container.mjs +4 -4
- 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 +52 -51
- package/fesm2015/column-resize.mjs.map +1 -1
- package/fesm2015/combobox.mjs +63 -106
- package/fesm2015/combobox.mjs.map +1 -1
- package/fesm2015/dialog.mjs +37 -19
- package/fesm2015/dialog.mjs.map +1 -1
- package/fesm2015/listbox.mjs +31 -47
- package/fesm2015/listbox.mjs.map +1 -1
- package/fesm2015/menu.mjs +1109 -1140
- package/fesm2015/menu.mjs.map +1 -1
- package/fesm2015/popover-edit.mjs +49 -49
- package/fesm2015/popover-edit.mjs.map +1 -1
- 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/fesm2015/table-scroll-container.mjs.map +1 -1
- package/fesm2020/cdk-experimental.mjs +1 -1
- package/fesm2020/cdk-experimental.mjs.map +1 -1
- package/fesm2020/column-resize.mjs +52 -51
- package/fesm2020/column-resize.mjs.map +1 -1
- package/fesm2020/combobox.mjs +62 -103
- package/fesm2020/combobox.mjs.map +1 -1
- package/fesm2020/dialog.mjs +36 -19
- package/fesm2020/dialog.mjs.map +1 -1
- package/fesm2020/listbox.mjs +29 -46
- package/fesm2020/listbox.mjs.map +1 -1
- package/fesm2020/menu.mjs +1031 -1054
- package/fesm2020/menu.mjs.map +1 -1
- package/fesm2020/popover-edit.mjs +49 -49
- package/fesm2020/popover-edit.mjs.map +1 -1
- 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/fesm2020/table-scroll-container.mjs.map +1 -1
- package/listbox/listbox.d.ts +16 -13
- package/menu/context-menu-trigger.d.ts +98 -0
- package/menu/menu-aim.d.ts +20 -9
- package/menu/menu-bar.d.ts +24 -60
- package/menu/menu-base.d.ts +104 -0
- package/menu/menu-errors.d.ts +0 -5
- package/menu/menu-group.d.ts +3 -28
- package/menu/menu-interface.d.ts +7 -5
- package/menu/menu-item-checkbox.d.ts +8 -2
- package/menu/menu-item-radio.d.ts +32 -8
- package/menu/menu-item-selectable.d.ts +4 -14
- package/menu/menu-item.d.ts +64 -24
- package/menu/menu-module.d.ts +10 -10
- package/menu/menu-stack.d.ts +64 -20
- package/menu/menu-trigger-base.d.ts +77 -0
- package/menu/menu-trigger.d.ts +104 -0
- package/menu/menu.d.ts +34 -87
- package/menu/pointer-focus-tracker.d.ts +7 -4
- package/menu/public-api.d.ts +9 -6
- package/package.json +3 -3
- package/combobox/combobox-panel.d.ts +0 -27
- package/esm2020/combobox/combobox-panel.mjs +0 -48
- package/esm2020/menu/context-menu.mjs +0 -294
- package/esm2020/menu/menu-item-trigger.mjs +0 -361
- package/esm2020/menu/menu-panel.mjs +0 -37
- package/menu/context-menu.d.ts +0 -123
- package/menu/menu-item-trigger.d.ts +0 -119
- package/menu/menu-panel.d.ts +0 -30
package/fesm2015/combobox.mjs
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Directive, Optional, Input, Output,
|
|
2
|
+
import { InjectionToken, EventEmitter, Directive, Inject, Optional, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/cdk/overlay';
|
|
4
4
|
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
5
|
+
import { DOCUMENT } from '@angular/common';
|
|
5
6
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
6
7
|
import { coerceBooleanProperty, coerceArray } from '@angular/cdk/coercion';
|
|
7
8
|
import { _getEventTarget } from '@angular/cdk/platform';
|
|
8
9
|
import { DOWN_ARROW, ENTER, ESCAPE, TAB } from '@angular/cdk/keycodes';
|
|
9
10
|
import * as i2 from '@angular/cdk/bidi';
|
|
10
|
-
import { Subject } from 'rxjs';
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* @license
|
|
14
|
+
* Copyright Google LLC All Rights Reserved.
|
|
15
|
+
*
|
|
16
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
17
|
+
* found in the LICENSE file at https://angular.io/license
|
|
18
|
+
*/
|
|
12
19
|
const allowedOpenActions = ['focus', 'click', 'downKey', 'toggle'];
|
|
20
|
+
const CDK_COMBOBOX = new InjectionToken('CDK_COMBOBOX');
|
|
13
21
|
class CdkCombobox {
|
|
14
|
-
constructor(_elementRef, _overlay, _viewContainerRef, _directionality) {
|
|
22
|
+
constructor(_elementRef, _overlay, _viewContainerRef, _injector, _doc, _directionality) {
|
|
15
23
|
this._elementRef = _elementRef;
|
|
16
24
|
this._overlay = _overlay;
|
|
17
25
|
this._viewContainerRef = _viewContainerRef;
|
|
26
|
+
this._injector = _injector;
|
|
27
|
+
this._doc = _doc;
|
|
18
28
|
this._directionality = _directionality;
|
|
19
29
|
this._disabled = false;
|
|
20
30
|
this._openActions = ['click'];
|
|
@@ -24,12 +34,6 @@ class CdkCombobox {
|
|
|
24
34
|
this.panelValueChanged = new EventEmitter();
|
|
25
35
|
this.contentId = '';
|
|
26
36
|
}
|
|
27
|
-
get panel() {
|
|
28
|
-
return this._panel;
|
|
29
|
-
}
|
|
30
|
-
set panel(panel) {
|
|
31
|
-
this._panel = panel;
|
|
32
|
-
}
|
|
33
37
|
get disabled() {
|
|
34
38
|
return this._disabled;
|
|
35
39
|
}
|
|
@@ -49,19 +53,6 @@ class CdkCombobox {
|
|
|
49
53
|
set autoSetText(value) {
|
|
50
54
|
this._autoSetText = coerceBooleanProperty(value);
|
|
51
55
|
}
|
|
52
|
-
ngAfterContentInit() {
|
|
53
|
-
var _a, _b, _c;
|
|
54
|
-
(_a = this._panel) === null || _a === void 0 ? void 0 : _a.valueUpdated.subscribe(data => {
|
|
55
|
-
this._setComboboxValue(data);
|
|
56
|
-
this.close();
|
|
57
|
-
});
|
|
58
|
-
(_b = this._panel) === null || _b === void 0 ? void 0 : _b.contentIdUpdated.subscribe(id => {
|
|
59
|
-
this.contentId = id;
|
|
60
|
-
});
|
|
61
|
-
(_c = this._panel) === null || _c === void 0 ? void 0 : _c.contentTypeUpdated.subscribe(type => {
|
|
62
|
-
this.contentType = type;
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
56
|
ngOnDestroy() {
|
|
66
57
|
if (this._overlayRef) {
|
|
67
58
|
this._overlayRef.dispose();
|
|
@@ -75,7 +66,8 @@ class CdkCombobox {
|
|
|
75
66
|
const { keyCode } = event;
|
|
76
67
|
if (keyCode === DOWN_ARROW) {
|
|
77
68
|
if (this.isOpen()) {
|
|
78
|
-
|
|
69
|
+
// TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
|
|
70
|
+
(_a = this._doc.getElementById(this.contentId)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
79
71
|
}
|
|
80
72
|
else if (this._openActions.indexOf('downKey') !== -1) {
|
|
81
73
|
this.open();
|
|
@@ -140,7 +132,8 @@ class CdkCombobox {
|
|
|
140
132
|
this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());
|
|
141
133
|
this._overlayRef.attach(this._getPanelContent());
|
|
142
134
|
if (!this._isTextTrigger()) {
|
|
143
|
-
|
|
135
|
+
// TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
|
|
136
|
+
(_a = this._doc.getElementById(this.contentId)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
144
137
|
}
|
|
145
138
|
}
|
|
146
139
|
}
|
|
@@ -157,7 +150,7 @@ class CdkCombobox {
|
|
|
157
150
|
}
|
|
158
151
|
/** Returns true if combobox has a child panel. */
|
|
159
152
|
hasPanel() {
|
|
160
|
-
return !!this.
|
|
153
|
+
return !!this._panelTemplateRef;
|
|
161
154
|
}
|
|
162
155
|
_getTabIndex() {
|
|
163
156
|
return this.disabled ? null : '0';
|
|
@@ -172,6 +165,10 @@ class CdkCombobox {
|
|
|
172
165
|
}
|
|
173
166
|
}
|
|
174
167
|
}
|
|
168
|
+
updateAndClose(value) {
|
|
169
|
+
this._setComboboxValue(value);
|
|
170
|
+
this.close();
|
|
171
|
+
}
|
|
175
172
|
_setTextContent(content) {
|
|
176
173
|
const contentArray = coerceArray(content);
|
|
177
174
|
this._elementRef.nativeElement.textContent = contentArray.join(' ');
|
|
@@ -202,13 +199,16 @@ class CdkCombobox {
|
|
|
202
199
|
{ originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },
|
|
203
200
|
];
|
|
204
201
|
}
|
|
202
|
+
_getPanelInjector() {
|
|
203
|
+
return this._injector;
|
|
204
|
+
}
|
|
205
205
|
_getPanelContent() {
|
|
206
|
-
var _a
|
|
207
|
-
const hasPanelChanged =
|
|
208
|
-
if (this.
|
|
209
|
-
this.
|
|
206
|
+
var _a;
|
|
207
|
+
const hasPanelChanged = this._panelTemplateRef !== ((_a = this._panelPortal) === null || _a === void 0 ? void 0 : _a.templateRef);
|
|
208
|
+
if (this._panelTemplateRef && (!this._panelPortal || hasPanelChanged)) {
|
|
209
|
+
this._panelPortal = new TemplatePortal(this._panelTemplateRef, this._viewContainerRef, undefined, this._getPanelInjector());
|
|
210
210
|
}
|
|
211
|
-
return this.
|
|
211
|
+
return this._panelPortal;
|
|
212
212
|
}
|
|
213
213
|
_coerceOpenActionProperty(input) {
|
|
214
214
|
let actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;
|
|
@@ -218,10 +218,20 @@ class CdkCombobox {
|
|
|
218
218
|
}
|
|
219
219
|
return actions;
|
|
220
220
|
}
|
|
221
|
+
/** Registers the content's id and the content type with the panel. */
|
|
222
|
+
_registerContent(contentId, contentType) {
|
|
223
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
224
|
+
contentType !== 'listbox' &&
|
|
225
|
+
contentType !== 'dialog') {
|
|
226
|
+
throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
|
|
227
|
+
}
|
|
228
|
+
this.contentId = contentId;
|
|
229
|
+
this.contentType = contentType;
|
|
230
|
+
}
|
|
221
231
|
}
|
|
222
|
-
CdkCombobox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
223
|
-
CdkCombobox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
232
|
+
CdkCombobox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkCombobox, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: DOCUMENT }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
233
|
+
CdkCombobox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkCombobox, selector: "[cdkCombobox]", inputs: { _panelTemplateRef: ["cdkComboboxTriggerFor", "_panelTemplateRef"], value: "value", disabled: "disabled", openActions: "openActions", autoSetText: "autoSetText" }, outputs: { opened: "comboboxPanelOpened", closed: "comboboxPanelClosed", panelValueChanged: "panelValueChanged" }, host: { attributes: { "role": "combobox" }, listeners: { "click": "_handleInteractions(\"click\")", "focus": "_handleInteractions(\"focus\")", "keydown": "_keydown($event)", "document:click": "_attemptClose($event)" }, properties: { "attr.aria-disabled": "disabled", "attr.aria-owns": "contentId", "attr.aria-haspopup": "contentType", "attr.aria-expanded": "isOpen()", "attr.tabindex": "_getTabIndex()" }, classAttribute: "cdk-combobox" }, providers: [{ provide: CDK_COMBOBOX, useExisting: CdkCombobox }], exportAs: ["cdkCombobox"], ngImport: i0 });
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkCombobox, decorators: [{
|
|
225
235
|
type: Directive,
|
|
226
236
|
args: [{
|
|
227
237
|
selector: '[cdkCombobox]',
|
|
@@ -239,12 +249,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
239
249
|
'[attr.aria-expanded]': 'isOpen()',
|
|
240
250
|
'[attr.tabindex]': '_getTabIndex()',
|
|
241
251
|
},
|
|
252
|
+
providers: [{ provide: CDK_COMBOBOX, useExisting: CdkCombobox }],
|
|
242
253
|
}]
|
|
243
254
|
}], ctorParameters: function () {
|
|
244
|
-
return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type:
|
|
255
|
+
return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
256
|
+
type: Inject,
|
|
257
|
+
args: [DOCUMENT]
|
|
258
|
+
}] }, { type: i2.Directionality, decorators: [{
|
|
245
259
|
type: Optional
|
|
246
260
|
}] }];
|
|
247
|
-
}, propDecorators: {
|
|
261
|
+
}, propDecorators: { _panelTemplateRef: [{
|
|
248
262
|
type: Input,
|
|
249
263
|
args: ['cdkComboboxTriggerFor']
|
|
250
264
|
}], value: [{
|
|
@@ -266,52 +280,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
266
280
|
args: ['panelValueChanged']
|
|
267
281
|
}] } });
|
|
268
282
|
|
|
269
|
-
class CdkComboboxPanel {
|
|
270
|
-
constructor(_templateRef) {
|
|
271
|
-
this._templateRef = _templateRef;
|
|
272
|
-
this.valueUpdated = new Subject();
|
|
273
|
-
this.contentIdUpdated = new Subject();
|
|
274
|
-
this.contentTypeUpdated = new Subject();
|
|
275
|
-
this.contentId = '';
|
|
276
|
-
}
|
|
277
|
-
/** Tells the parent combobox to close the panel and sends back the content value. */
|
|
278
|
-
closePanel(data) {
|
|
279
|
-
this.valueUpdated.next(data || []);
|
|
280
|
-
}
|
|
281
|
-
// TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
|
|
282
|
-
focusContent() {
|
|
283
|
-
var _a;
|
|
284
|
-
// TODO: Use an injected document here
|
|
285
|
-
(_a = document.getElementById(this.contentId)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
286
|
-
}
|
|
287
|
-
/** Registers the content's id and the content type with the panel. */
|
|
288
|
-
_registerContent(contentId, contentType) {
|
|
289
|
-
// If content has already been registered, no further contentIds are registered.
|
|
290
|
-
if (this.contentType && this.contentType !== contentType) {
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
this.contentId = contentId;
|
|
294
|
-
if (contentType !== 'listbox' && contentType !== 'dialog') {
|
|
295
|
-
throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
|
|
296
|
-
}
|
|
297
|
-
this.contentType = contentType;
|
|
298
|
-
this.contentIdUpdated.next(this.contentId);
|
|
299
|
-
this.contentTypeUpdated.next(this.contentType);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
CdkComboboxPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkComboboxPanel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
303
|
-
CdkComboboxPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: CdkComboboxPanel, selector: "ng-template[cdkComboboxPanel]", host: { classAttribute: "cdk-combobox-panel" }, exportAs: ["cdkComboboxPanel"], ngImport: i0 });
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkComboboxPanel, decorators: [{
|
|
305
|
-
type: Directive,
|
|
306
|
-
args: [{
|
|
307
|
-
host: {
|
|
308
|
-
'class': 'cdk-combobox-panel',
|
|
309
|
-
},
|
|
310
|
-
selector: 'ng-template[cdkComboboxPanel]',
|
|
311
|
-
exportAs: 'cdkComboboxPanel',
|
|
312
|
-
}]
|
|
313
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
314
|
-
|
|
315
283
|
/**
|
|
316
284
|
* @license
|
|
317
285
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -319,12 +287,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
319
287
|
* Use of this source code is governed by an MIT-style license that can be
|
|
320
288
|
* found in the LICENSE file at https://angular.io/license
|
|
321
289
|
*/
|
|
322
|
-
const PANEL = new InjectionToken('CdkComboboxPanel');
|
|
323
290
|
let nextId = 0;
|
|
324
291
|
class CdkComboboxPopup {
|
|
325
|
-
constructor(_elementRef,
|
|
292
|
+
constructor(_elementRef, _combobox) {
|
|
326
293
|
this._elementRef = _elementRef;
|
|
327
|
-
this.
|
|
294
|
+
this._combobox = _combobox;
|
|
328
295
|
this._role = 'dialog';
|
|
329
296
|
this.id = `cdk-combobox-popup-${nextId++}`;
|
|
330
297
|
}
|
|
@@ -344,12 +311,7 @@ class CdkComboboxPopup {
|
|
|
344
311
|
this.registerWithPanel();
|
|
345
312
|
}
|
|
346
313
|
registerWithPanel() {
|
|
347
|
-
|
|
348
|
-
this._explicitPanel._registerContent(this.id, this._role);
|
|
349
|
-
}
|
|
350
|
-
else {
|
|
351
|
-
this._parentPanel._registerContent(this.id, this._role);
|
|
352
|
-
}
|
|
314
|
+
this._combobox._registerContent(this.id, this._role);
|
|
353
315
|
}
|
|
354
316
|
focusFirstElement() {
|
|
355
317
|
if (this._firstFocusElement) {
|
|
@@ -360,9 +322,9 @@ class CdkComboboxPopup {
|
|
|
360
322
|
}
|
|
361
323
|
}
|
|
362
324
|
}
|
|
363
|
-
CdkComboboxPopup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
364
|
-
CdkComboboxPopup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
325
|
+
CdkComboboxPopup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxPopup, deps: [{ token: i0.ElementRef }, { token: CDK_COMBOBOX }], target: i0.ɵɵFactoryTarget.Directive });
|
|
326
|
+
CdkComboboxPopup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkComboboxPopup, selector: "[cdkComboboxPopup]", inputs: { role: "role", firstFocus: "firstFocus", id: "id" }, host: { attributes: { "tabindex": "-1" }, listeners: { "focus": "focusFirstElement()" }, properties: { "attr.role": "role", "id": "id" }, classAttribute: "cdk-combobox-popup" }, exportAs: ["cdkComboboxPopup"], ngImport: i0 });
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxPopup, decorators: [{
|
|
366
328
|
type: Directive,
|
|
367
329
|
args: [{
|
|
368
330
|
selector: '[cdkComboboxPopup]',
|
|
@@ -376,11 +338,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
376
338
|
},
|
|
377
339
|
}]
|
|
378
340
|
}], ctorParameters: function () {
|
|
379
|
-
return [{ type: i0.ElementRef }, { type:
|
|
380
|
-
type: Optional
|
|
381
|
-
}, {
|
|
341
|
+
return [{ type: i0.ElementRef }, { type: CdkCombobox, decorators: [{
|
|
382
342
|
type: Inject,
|
|
383
|
-
args: [
|
|
343
|
+
args: [CDK_COMBOBOX]
|
|
384
344
|
}] }];
|
|
385
345
|
}, propDecorators: { role: [{
|
|
386
346
|
type: Input
|
|
@@ -388,9 +348,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
388
348
|
type: Input
|
|
389
349
|
}], id: [{
|
|
390
350
|
type: Input
|
|
391
|
-
}], _explicitPanel: [{
|
|
392
|
-
type: Input,
|
|
393
|
-
args: ['parentPanel']
|
|
394
351
|
}] } });
|
|
395
352
|
|
|
396
353
|
/**
|
|
@@ -400,13 +357,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
400
357
|
* Use of this source code is governed by an MIT-style license that can be
|
|
401
358
|
* found in the LICENSE file at https://angular.io/license
|
|
402
359
|
*/
|
|
403
|
-
const EXPORTED_DECLARATIONS = [CdkCombobox,
|
|
360
|
+
const EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPopup];
|
|
404
361
|
class CdkComboboxModule {
|
|
405
362
|
}
|
|
406
|
-
CdkComboboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
407
|
-
CdkComboboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
408
|
-
CdkComboboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
363
|
+
CdkComboboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
364
|
+
CdkComboboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, declarations: [CdkCombobox, CdkComboboxPopup], imports: [OverlayModule], exports: [CdkCombobox, CdkComboboxPopup] });
|
|
365
|
+
CdkComboboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, imports: [[OverlayModule]] });
|
|
366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, decorators: [{
|
|
410
367
|
type: NgModule,
|
|
411
368
|
args: [{
|
|
412
369
|
imports: [OverlayModule],
|
|
@@ -435,5 +392,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
435
392
|
* Generated bundle index. Do not edit.
|
|
436
393
|
*/
|
|
437
394
|
|
|
438
|
-
export { CdkCombobox, CdkComboboxModule,
|
|
395
|
+
export { CDK_COMBOBOX, CdkCombobox, CdkComboboxModule, CdkComboboxPopup };
|
|
439
396
|
//# sourceMappingURL=combobox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.mjs","sources":["../../../../../../src/cdk-experimental/combobox/combobox.ts","../../../../../../src/cdk-experimental/combobox/combobox-panel.ts","../../../../../../src/cdk-experimental/combobox/combobox-popup.ts","../../../../../../src/cdk-experimental/combobox/combobox-module.ts","../../../../../../src/cdk-experimental/combobox/public-api.ts","../../../../../../src/cdk-experimental/combobox/index.ts","../../../../../../src/cdk-experimental/combobox/combobox_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\nexport type OpenAction = 'focus' | 'click' | 'downKey' | 'toggle';\nexport type OpenActionInput = OpenAction | OpenAction[] | string | null | undefined;\n\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport {CdkComboboxPanel, AriaHasPopupValue} from './combobox-panel';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {_getEventTarget} from '@angular/cdk/platform';\nimport {DOWN_ARROW, ENTER, ESCAPE, TAB} from '@angular/cdk/keycodes';\n\nconst allowedOpenActions = ['focus', 'click', 'downKey', 'toggle'];\n\n@Directive({\n selector: '[cdkCombobox]',\n exportAs: 'cdkCombobox',\n host: {\n 'role': 'combobox',\n 'class': 'cdk-combobox',\n '(click)': '_handleInteractions(\"click\")',\n '(focus)': '_handleInteractions(\"focus\")',\n '(keydown)': '_keydown($event)',\n '(document:click)': '_attemptClose($event)',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-owns]': 'contentId',\n '[attr.aria-haspopup]': 'contentType',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.tabindex]': '_getTabIndex()',\n },\n})\nexport class CdkCombobox<T = unknown> implements OnDestroy, AfterContentInit {\n @Input('cdkComboboxTriggerFor')\n get panel(): CdkComboboxPanel<T> | undefined {\n return this._panel;\n }\n set panel(panel: CdkComboboxPanel<T> | undefined) {\n this._panel = panel;\n }\n private _panel: CdkComboboxPanel<T> | undefined;\n\n @Input()\n value: T | T[];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean = false;\n\n @Input()\n get openActions(): OpenAction[] {\n return this._openActions;\n }\n set openActions(action: OpenActionInput) {\n this._openActions = this._coerceOpenActionProperty(action);\n }\n private _openActions: OpenAction[] = ['click'];\n\n /** Whether the textContent is automatically updated upon change of the combobox value. */\n @Input()\n get autoSetText(): boolean {\n return this._autoSetText;\n }\n set autoSetText(value: BooleanInput) {\n this._autoSetText = coerceBooleanProperty(value);\n }\n private _autoSetText: boolean = true;\n\n @Output('comboboxPanelOpened') readonly opened: EventEmitter<void> = new EventEmitter<void>();\n @Output('comboboxPanelClosed') readonly closed: EventEmitter<void> = new EventEmitter<void>();\n @Output('panelValueChanged') readonly panelValueChanged: EventEmitter<T[]> = new EventEmitter<\n T[]\n >();\n\n private _overlayRef: OverlayRef;\n private _panelContent: TemplatePortal;\n contentId: string = '';\n contentType: AriaHasPopupValue;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _overlay: Overlay,\n protected readonly _viewContainerRef: ViewContainerRef,\n @Optional() private readonly _directionality?: Directionality,\n ) {}\n\n ngAfterContentInit() {\n this._panel?.valueUpdated.subscribe(data => {\n this._setComboboxValue(data);\n this.close();\n });\n\n this._panel?.contentIdUpdated.subscribe(id => {\n this.contentId = id;\n });\n\n this._panel?.contentTypeUpdated.subscribe(type => {\n this.contentType = type;\n });\n }\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n this.opened.complete();\n this.closed.complete();\n this.panelValueChanged.complete();\n }\n\n _keydown(event: KeyboardEvent) {\n const {keyCode} = event;\n\n if (keyCode === DOWN_ARROW) {\n if (this.isOpen()) {\n this._panel?.focusContent();\n } else if (this._openActions.indexOf('downKey') !== -1) {\n this.open();\n }\n } else if (keyCode === ENTER) {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n } else if (keyCode === ESCAPE) {\n event.preventDefault();\n this.close();\n } else if (keyCode === TAB) {\n this.close();\n }\n }\n\n /** Handles click or focus interactions. */\n _handleInteractions(interaction: OpenAction) {\n if (interaction === 'click') {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n } else if (interaction === 'focus') {\n if (this._openActions.indexOf('focus') !== -1) {\n this.open();\n }\n }\n }\n\n /** Given a click in the document, determines if the click was inside a combobox. */\n _attemptClose(event: MouseEvent) {\n if (this.isOpen()) {\n let target = _getEventTarget(event);\n while (target instanceof Element) {\n if (target.className.indexOf('cdk-combobox') !== -1) {\n return;\n }\n target = target.parentElement;\n }\n }\n\n this.close();\n }\n\n /** Toggles the open state of the panel. */\n toggle() {\n if (this.hasPanel()) {\n this.isOpen() ? this.close() : this.open();\n }\n }\n\n /** If the combobox is closed and not disabled, opens the panel. */\n open() {\n if (!this.isOpen() && !this.disabled) {\n this.opened.next();\n this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPanelContent());\n if (!this._isTextTrigger()) {\n this._panel?.focusContent();\n }\n }\n }\n\n /** If the combobox is open and not disabled, closes the panel. */\n close() {\n if (this.isOpen() && !this.disabled) {\n this.closed.next();\n this._overlayRef.detach();\n }\n }\n\n /** Returns true if panel is currently opened. */\n isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /** Returns true if combobox has a child panel. */\n hasPanel(): boolean {\n return !!this.panel;\n }\n\n _getTabIndex(): string | null {\n return this.disabled ? null : '0';\n }\n\n private _setComboboxValue(value: T | T[]) {\n const valueChanged = this.value !== value;\n this.value = value;\n\n if (valueChanged) {\n this.panelValueChanged.emit(coerceArray(value));\n if (this._autoSetText) {\n this._setTextContent(value);\n }\n }\n }\n\n private _setTextContent(content: T | T[]) {\n const contentArray = coerceArray(content);\n this._elementRef.nativeElement.textContent = contentArray.join(' ');\n }\n\n private _isTextTrigger() {\n // TODO: Should check if the trigger is contenteditable.\n const tagName = this._elementRef.nativeElement.tagName.toLowerCase();\n return tagName === 'input' || tagName === 'textarea' ? true : false;\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getOverlayPositions());\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return [\n {originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n private _getPanelContent() {\n const hasPanelChanged = this._panel?._templateRef !== this._panelContent?.templateRef;\n if (this._panel && (!this._panel || hasPanelChanged)) {\n this._panelContent = new TemplatePortal(this._panel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n private _coerceOpenActionProperty(input: OpenActionInput): OpenAction[] {\n let actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n actions?.some(a => allowedOpenActions.indexOf(a) === -1)\n ) {\n throw Error(`${input} is not a support open action for CdkCombobox`);\n }\n return actions as OpenAction[];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport type AriaHasPopupValue = 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n\nimport {Directive, TemplateRef} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n host: {\n 'class': 'cdk-combobox-panel',\n },\n selector: 'ng-template[cdkComboboxPanel]',\n exportAs: 'cdkComboboxPanel',\n})\nexport class CdkComboboxPanel<T = unknown> {\n valueUpdated: Subject<T | T[]> = new Subject<T | T[]>();\n contentIdUpdated: Subject<string> = new Subject<string>();\n contentTypeUpdated: Subject<AriaHasPopupValue> = new Subject<AriaHasPopupValue>();\n\n contentId: string = '';\n contentType: AriaHasPopupValue;\n\n constructor(readonly _templateRef: TemplateRef<unknown>) {}\n\n /** Tells the parent combobox to close the panel and sends back the content value. */\n closePanel(data?: T | T[]) {\n this.valueUpdated.next(data || []);\n }\n\n // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping\n focusContent() {\n // TODO: Use an injected document here\n document.getElementById(this.contentId)?.focus();\n }\n\n /** Registers the content's id and the content type with the panel. */\n _registerContent(contentId: string, contentType: AriaHasPopupValue) {\n // If content has already been registered, no further contentIds are registered.\n if (this.contentType && this.contentType !== contentType) {\n return;\n }\n\n this.contentId = contentId;\n if (contentType !== 'listbox' && contentType !== 'dialog') {\n throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');\n }\n this.contentType = contentType;\n\n this.contentIdUpdated.next(this.contentId);\n this.contentTypeUpdated.next(this.contentType);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n OnInit,\n Optional,\n} from '@angular/core';\nimport {AriaHasPopupValue, CdkComboboxPanel} from './combobox-panel';\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\nlet nextId = 0;\n\n@Directive({\n selector: '[cdkComboboxPopup]',\n exportAs: 'cdkComboboxPopup',\n host: {\n 'class': 'cdk-combobox-popup',\n '[attr.role]': 'role',\n '[id]': 'id',\n 'tabindex': '-1',\n '(focus)': 'focusFirstElement()',\n },\n})\nexport class CdkComboboxPopup<T = unknown> implements OnInit {\n @Input()\n get role(): AriaHasPopupValue {\n return this._role;\n }\n set role(value: AriaHasPopupValue) {\n this._role = value;\n }\n private _role: AriaHasPopupValue = 'dialog';\n\n @Input()\n get firstFocus(): HTMLElement {\n return this._firstFocusElement;\n }\n set firstFocus(id: HTMLElement) {\n this._firstFocusElement = id;\n }\n private _firstFocusElement: HTMLElement;\n\n @Input() id = `cdk-combobox-popup-${nextId++}`;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n ) {}\n\n ngOnInit() {\n this.registerWithPanel();\n }\n\n registerWithPanel(): void {\n if (this._parentPanel === null || this._parentPanel === undefined) {\n this._explicitPanel._registerContent(this.id, this._role);\n } else {\n this._parentPanel._registerContent(this.id, this._role);\n }\n }\n\n focusFirstElement() {\n if (this._firstFocusElement) {\n this._firstFocusElement.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkCombobox} from './combobox';\nimport {CdkComboboxPanel} from './combobox-panel';\nimport {CdkComboboxPopup} from './combobox-popup';\n\nconst EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup];\n@NgModule({\n imports: [OverlayModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkComboboxModule {}\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 './combobox-module';\nexport * from './combobox';\nexport * from './combobox-panel';\nexport * from './combobox-popup';\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":"combobox.mjs","sources":["../../../../../../src/cdk-experimental/combobox/combobox.ts","../../../../../../src/cdk-experimental/combobox/combobox-popup.ts","../../../../../../src/cdk-experimental/combobox/combobox-module.ts","../../../../../../src/cdk-experimental/combobox/public-api.ts","../../../../../../src/cdk-experimental/combobox/index.ts","../../../../../../src/cdk-experimental/combobox/combobox_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 */\nimport {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceArray, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {_getEventTarget} from '@angular/cdk/platform';\nimport {DOWN_ARROW, ENTER, ESCAPE, TAB} from '@angular/cdk/keycodes';\n\nexport type AriaHasPopupValue = 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\nexport type OpenAction = 'focus' | 'click' | 'downKey' | 'toggle';\nexport type OpenActionInput = OpenAction | OpenAction[] | string | null | undefined;\n\nconst allowedOpenActions = ['focus', 'click', 'downKey', 'toggle'];\n\nexport const CDK_COMBOBOX = new InjectionToken<CdkCombobox>('CDK_COMBOBOX');\n\n@Directive({\n selector: '[cdkCombobox]',\n exportAs: 'cdkCombobox',\n host: {\n 'role': 'combobox',\n 'class': 'cdk-combobox',\n '(click)': '_handleInteractions(\"click\")',\n '(focus)': '_handleInteractions(\"focus\")',\n '(keydown)': '_keydown($event)',\n '(document:click)': '_attemptClose($event)',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-owns]': 'contentId',\n '[attr.aria-haspopup]': 'contentType',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.tabindex]': '_getTabIndex()',\n },\n providers: [{provide: CDK_COMBOBOX, useExisting: CdkCombobox}],\n})\nexport class CdkCombobox<T = unknown> implements OnDestroy {\n @Input('cdkComboboxTriggerFor')\n _panelTemplateRef: TemplateRef<unknown>;\n\n @Input()\n value: T | T[];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean = false;\n\n @Input()\n get openActions(): OpenAction[] {\n return this._openActions;\n }\n set openActions(action: OpenActionInput) {\n this._openActions = this._coerceOpenActionProperty(action);\n }\n private _openActions: OpenAction[] = ['click'];\n\n /** Whether the textContent is automatically updated upon change of the combobox value. */\n @Input()\n get autoSetText(): boolean {\n return this._autoSetText;\n }\n set autoSetText(value: BooleanInput) {\n this._autoSetText = coerceBooleanProperty(value);\n }\n private _autoSetText: boolean = true;\n\n @Output('comboboxPanelOpened') readonly opened: EventEmitter<void> = new EventEmitter<void>();\n @Output('comboboxPanelClosed') readonly closed: EventEmitter<void> = new EventEmitter<void>();\n @Output('panelValueChanged') readonly panelValueChanged: EventEmitter<T[]> = new EventEmitter<\n T[]\n >();\n\n private _overlayRef: OverlayRef;\n private _panelPortal: TemplatePortal;\n\n contentId: string = '';\n contentType: AriaHasPopupValue;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _overlay: Overlay,\n protected readonly _viewContainerRef: ViewContainerRef,\n private readonly _injector: Injector,\n @Inject(DOCUMENT) private readonly _doc: any,\n @Optional() private readonly _directionality?: Directionality,\n ) {}\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n this.opened.complete();\n this.closed.complete();\n this.panelValueChanged.complete();\n }\n\n _keydown(event: KeyboardEvent) {\n const {keyCode} = event;\n\n if (keyCode === DOWN_ARROW) {\n if (this.isOpen()) {\n // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping\n this._doc.getElementById(this.contentId)?.focus();\n } else if (this._openActions.indexOf('downKey') !== -1) {\n this.open();\n }\n } else if (keyCode === ENTER) {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n } else if (keyCode === ESCAPE) {\n event.preventDefault();\n this.close();\n } else if (keyCode === TAB) {\n this.close();\n }\n }\n\n /** Handles click or focus interactions. */\n _handleInteractions(interaction: OpenAction) {\n if (interaction === 'click') {\n if (this._openActions.indexOf('toggle') !== -1) {\n this.toggle();\n } else if (this._openActions.indexOf('click') !== -1) {\n this.open();\n }\n } else if (interaction === 'focus') {\n if (this._openActions.indexOf('focus') !== -1) {\n this.open();\n }\n }\n }\n\n /** Given a click in the document, determines if the click was inside a combobox. */\n _attemptClose(event: MouseEvent) {\n if (this.isOpen()) {\n let target = _getEventTarget(event);\n while (target instanceof Element) {\n if (target.className.indexOf('cdk-combobox') !== -1) {\n return;\n }\n target = target.parentElement;\n }\n }\n\n this.close();\n }\n\n /** Toggles the open state of the panel. */\n toggle() {\n if (this.hasPanel()) {\n this.isOpen() ? this.close() : this.open();\n }\n }\n\n /** If the combobox is closed and not disabled, opens the panel. */\n open() {\n if (!this.isOpen() && !this.disabled) {\n this.opened.next();\n this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPanelContent());\n if (!this._isTextTrigger()) {\n // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping\n this._doc.getElementById(this.contentId)?.focus();\n }\n }\n }\n\n /** If the combobox is open and not disabled, closes the panel. */\n close() {\n if (this.isOpen() && !this.disabled) {\n this.closed.next();\n this._overlayRef.detach();\n }\n }\n\n /** Returns true if panel is currently opened. */\n isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /** Returns true if combobox has a child panel. */\n hasPanel(): boolean {\n return !!this._panelTemplateRef;\n }\n\n _getTabIndex(): string | null {\n return this.disabled ? null : '0';\n }\n\n private _setComboboxValue(value: T | T[]) {\n const valueChanged = this.value !== value;\n this.value = value;\n\n if (valueChanged) {\n this.panelValueChanged.emit(coerceArray(value));\n if (this._autoSetText) {\n this._setTextContent(value);\n }\n }\n }\n\n updateAndClose(value: T | T[]) {\n this._setComboboxValue(value);\n this.close();\n }\n\n private _setTextContent(content: T | T[]) {\n const contentArray = coerceArray(content);\n this._elementRef.nativeElement.textContent = contentArray.join(' ');\n }\n\n private _isTextTrigger() {\n // TODO: Should check if the trigger is contenteditable.\n const tagName = this._elementRef.nativeElement.tagName.toLowerCase();\n return tagName === 'input' || tagName === 'textarea' ? true : false;\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getOverlayPositions());\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return [\n {originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n private _getPanelInjector() {\n return this._injector;\n }\n\n private _getPanelContent() {\n const hasPanelChanged = this._panelTemplateRef !== this._panelPortal?.templateRef;\n if (this._panelTemplateRef && (!this._panelPortal || hasPanelChanged)) {\n this._panelPortal = new TemplatePortal(\n this._panelTemplateRef,\n this._viewContainerRef,\n undefined,\n this._getPanelInjector(),\n );\n }\n\n return this._panelPortal;\n }\n\n private _coerceOpenActionProperty(input: OpenActionInput): OpenAction[] {\n let actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n actions?.some(a => allowedOpenActions.indexOf(a) === -1)\n ) {\n throw Error(`${input} is not a support open action for CdkCombobox`);\n }\n return actions as OpenAction[];\n }\n\n /** Registers the content's id and the content type with the panel. */\n _registerContent(contentId: string, contentType: AriaHasPopupValue) {\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n contentType !== 'listbox' &&\n contentType !== 'dialog'\n ) {\n throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');\n }\n this.contentId = contentId;\n this.contentType = contentType;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, Inject, Input, OnInit} from '@angular/core';\nimport {AriaHasPopupValue, CDK_COMBOBOX, CdkCombobox} from './combobox';\n\nlet nextId = 0;\n\n@Directive({\n selector: '[cdkComboboxPopup]',\n exportAs: 'cdkComboboxPopup',\n host: {\n 'class': 'cdk-combobox-popup',\n '[attr.role]': 'role',\n '[id]': 'id',\n 'tabindex': '-1',\n '(focus)': 'focusFirstElement()',\n },\n})\nexport class CdkComboboxPopup<T = unknown> implements OnInit {\n @Input()\n get role(): AriaHasPopupValue {\n return this._role;\n }\n set role(value: AriaHasPopupValue) {\n this._role = value;\n }\n private _role: AriaHasPopupValue = 'dialog';\n\n @Input()\n get firstFocus(): HTMLElement {\n return this._firstFocusElement;\n }\n set firstFocus(id: HTMLElement) {\n this._firstFocusElement = id;\n }\n private _firstFocusElement: HTMLElement;\n\n @Input() id = `cdk-combobox-popup-${nextId++}`;\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Inject(CDK_COMBOBOX) private readonly _combobox: CdkCombobox,\n ) {}\n\n ngOnInit() {\n this.registerWithPanel();\n }\n\n registerWithPanel(): void {\n this._combobox._registerContent(this.id, this._role);\n }\n\n focusFirstElement() {\n if (this._firstFocusElement) {\n this._firstFocusElement.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkCombobox} from './combobox';\nimport {CdkComboboxPopup} from './combobox-popup';\n\nconst EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPopup];\n@NgModule({\n imports: [OverlayModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkComboboxModule {}\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 './combobox-module';\nexport * from './combobox';\nexport * from './combobox-popup';\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/fesm2015/dialog.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
1
|
+
import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
|
|
2
2
|
import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
3
3
|
import * as i3 from '@angular/cdk/portal';
|
|
4
4
|
import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
@@ -208,8 +208,13 @@ class CdkDialogContainer extends BasePortalOutlet {
|
|
|
208
208
|
element.tabIndex = -1;
|
|
209
209
|
// The tabindex attribute should be removed to avoid navigating to that element again
|
|
210
210
|
this._ngZone.runOutsideAngular(() => {
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
const callback = () => {
|
|
212
|
+
element.removeEventListener('blur', callback);
|
|
213
|
+
element.removeEventListener('mousedown', callback);
|
|
214
|
+
element.removeAttribute('tabindex');
|
|
215
|
+
};
|
|
216
|
+
element.addEventListener('blur', callback);
|
|
217
|
+
element.addEventListener('mousedown', callback);
|
|
213
218
|
});
|
|
214
219
|
}
|
|
215
220
|
element.focus(options);
|
|
@@ -284,23 +289,35 @@ class CdkDialogContainer extends BasePortalOutlet {
|
|
|
284
289
|
}
|
|
285
290
|
}
|
|
286
291
|
}
|
|
287
|
-
CdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
288
|
-
CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
292
|
+
CdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", 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 });
|
|
293
|
+
CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", 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}"], directives: [{ type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [
|
|
289
294
|
trigger('dialog', [
|
|
290
295
|
state('enter', style({ opacity: 1 })),
|
|
291
296
|
state('exit, void', style({ opacity: 0 })),
|
|
292
|
-
transition('* => enter',
|
|
293
|
-
|
|
297
|
+
transition('* => enter', group([
|
|
298
|
+
animate('{{enterAnimationDuration}}'),
|
|
299
|
+
query('@*', animateChild(), { optional: true }),
|
|
300
|
+
])),
|
|
301
|
+
transition('* => exit, * => void', group([
|
|
302
|
+
animate('{{exitAnimationDuration}}'),
|
|
303
|
+
query('@*', animateChild(), { optional: true }),
|
|
304
|
+
])),
|
|
294
305
|
]),
|
|
295
306
|
], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkDialogContainer, decorators: [{
|
|
297
308
|
type: Component,
|
|
298
309
|
args: [{ selector: 'cdk-dialog-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [
|
|
299
310
|
trigger('dialog', [
|
|
300
311
|
state('enter', style({ opacity: 1 })),
|
|
301
312
|
state('exit, void', style({ opacity: 0 })),
|
|
302
|
-
transition('* => enter',
|
|
303
|
-
|
|
313
|
+
transition('* => enter', group([
|
|
314
|
+
animate('{{enterAnimationDuration}}'),
|
|
315
|
+
query('@*', animateChild(), { optional: true }),
|
|
316
|
+
])),
|
|
317
|
+
transition('* => exit, * => void', group([
|
|
318
|
+
animate('{{exitAnimationDuration}}'),
|
|
319
|
+
query('@*', animateChild(), { optional: true }),
|
|
320
|
+
])),
|
|
304
321
|
]),
|
|
305
322
|
], host: {
|
|
306
323
|
'[@dialog]': `{
|
|
@@ -317,7 +334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
317
334
|
'aria-modal': 'true',
|
|
318
335
|
'[attr.aria-label]': '_config.ariaLabel || null',
|
|
319
336
|
'[attr.aria-describedby]': '_config.ariaDescribedBy',
|
|
320
|
-
}, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: ["cdk-dialog-container{background:#fff;border-radius:5px;display:block;padding:10px}
|
|
337
|
+
}, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: ["cdk-dialog-container{background:#fff;border-radius:5px;display:block;padding:10px}"] }]
|
|
321
338
|
}], ctorParameters: function () {
|
|
322
339
|
return [{ type: i0.ElementRef }, { type: i1.FocusTrapFactory }, { type: i0.ChangeDetectorRef }, { type: i1.InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
323
340
|
type: Optional
|
|
@@ -605,8 +622,9 @@ class Dialog {
|
|
|
605
622
|
* @returns A promise resolving to a ComponentRef for the attached container.
|
|
606
623
|
*/
|
|
607
624
|
_attachDialogContainer(overlay, config) {
|
|
625
|
+
var _a, _b;
|
|
608
626
|
const container = config.containerComponent || this._injector.get(DIALOG_CONTAINER);
|
|
609
|
-
const userInjector =
|
|
627
|
+
const userInjector = (_a = config.injector) !== null && _a !== void 0 ? _a : (_b = config.viewContainerRef) === null || _b === void 0 ? void 0 : _b.injector;
|
|
610
628
|
const injector = Injector.create({
|
|
611
629
|
parent: userInjector || this._injector,
|
|
612
630
|
providers: [{ provide: DialogConfig, useValue: config }],
|
|
@@ -694,9 +712,9 @@ class Dialog {
|
|
|
694
712
|
return Object.assign(Object.assign({}, new dialogConfig()), config);
|
|
695
713
|
}
|
|
696
714
|
}
|
|
697
|
-
Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
698
|
-
Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
715
|
+
Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", 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 });
|
|
716
|
+
Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: Dialog });
|
|
717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: Dialog, decorators: [{
|
|
700
718
|
type: Injectable
|
|
701
719
|
}], ctorParameters: function () {
|
|
702
720
|
return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i0.Type, decorators: [{
|
|
@@ -723,14 +741,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
723
741
|
*/
|
|
724
742
|
class DialogModule {
|
|
725
743
|
}
|
|
726
|
-
DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
727
|
-
DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
744
|
+
DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
745
|
+
DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: DialogModule, declarations: [CdkDialogContainer], imports: [OverlayModule, PortalModule, A11yModule], exports: [
|
|
728
746
|
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
729
747
|
// don't have to remember to import it or be faced with an unhelpful error.
|
|
730
748
|
PortalModule,
|
|
731
749
|
CdkDialogContainer
|
|
732
750
|
] });
|
|
733
|
-
DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
751
|
+
DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: DialogModule, providers: [
|
|
734
752
|
Dialog,
|
|
735
753
|
MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,
|
|
736
754
|
{ provide: DIALOG_REF, useValue: DialogRef },
|
|
@@ -740,7 +758,7 @@ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
|
740
758
|
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
741
759
|
// don't have to remember to import it or be faced with an unhelpful error.
|
|
742
760
|
PortalModule] });
|
|
743
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
761
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: DialogModule, decorators: [{
|
|
744
762
|
type: NgModule,
|
|
745
763
|
args: [{
|
|
746
764
|
imports: [OverlayModule, PortalModule, A11yModule],
|