@angular/cdk-experimental 14.0.0-next.6 → 14.0.0-next.9

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.
Files changed (114) hide show
  1. package/combobox/combobox-module.d.ts +3 -4
  2. package/combobox/combobox-popup.d.ts +6 -8
  3. package/combobox/combobox.d.ts +15 -18
  4. package/combobox/public-api.d.ts +0 -1
  5. package/dialog/dialog-config.d.ts +6 -1
  6. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  7. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  8. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
  9. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
  10. package/esm2020/column-resize/column-resize-module.mjs +8 -8
  11. package/esm2020/column-resize/column-resize-notifier.mjs +6 -6
  12. package/esm2020/column-resize/column-resize.mjs +3 -3
  13. package/esm2020/column-resize/column-size-store.mjs +3 -3
  14. package/esm2020/column-resize/event-dispatcher.mjs +3 -3
  15. package/esm2020/column-resize/overlay-handle.mjs +3 -3
  16. package/esm2020/column-resize/resizable.mjs +3 -3
  17. package/esm2020/column-resize/resize-strategy.mjs +9 -9
  18. package/esm2020/combobox/combobox-module.mjs +6 -7
  19. package/esm2020/combobox/combobox-popup.mjs +12 -23
  20. package/esm2020/combobox/combobox.mjs +50 -34
  21. package/esm2020/combobox/public-api.mjs +1 -2
  22. package/esm2020/dialog/dialog-config.mjs +1 -1
  23. package/esm2020/dialog/dialog-container.mjs +12 -7
  24. package/esm2020/dialog/dialog-module.mjs +4 -4
  25. package/esm2020/dialog/dialog.mjs +5 -5
  26. package/esm2020/listbox/listbox-module.mjs +4 -4
  27. package/esm2020/listbox/listbox.mjs +26 -44
  28. package/esm2020/menu/context-menu.mjs +46 -118
  29. package/esm2020/menu/menu-aim.mjs +6 -6
  30. package/esm2020/menu/menu-bar.mjs +46 -134
  31. package/esm2020/menu/menu-base.mjs +129 -0
  32. package/esm2020/menu/menu-errors.mjs +1 -9
  33. package/esm2020/menu/menu-group.mjs +9 -9
  34. package/esm2020/menu/menu-interface.mjs +1 -1
  35. package/esm2020/menu/menu-item-checkbox.mjs +3 -3
  36. package/esm2020/menu/menu-item-radio.mjs +13 -8
  37. package/esm2020/menu/menu-item-selectable.mjs +3 -3
  38. package/esm2020/menu/menu-item-trigger.mjs +66 -151
  39. package/esm2020/menu/menu-item.mjs +51 -45
  40. package/esm2020/menu/menu-module.mjs +5 -9
  41. package/esm2020/menu/menu-stack.mjs +31 -6
  42. package/esm2020/menu/menu-trigger.mjs +70 -0
  43. package/esm2020/menu/menu.mjs +58 -155
  44. package/esm2020/menu/public-api.mjs +3 -3
  45. package/esm2020/popover-edit/edit-event-dispatcher.mjs +3 -3
  46. package/esm2020/popover-edit/edit-ref.mjs +3 -3
  47. package/esm2020/popover-edit/edit-services.mjs +3 -3
  48. package/esm2020/popover-edit/focus-dispatcher.mjs +3 -3
  49. package/esm2020/popover-edit/focus-escape-notifier.mjs +3 -3
  50. package/esm2020/popover-edit/lens-directives.mjs +9 -9
  51. package/esm2020/popover-edit/popover-edit-module.mjs +4 -4
  52. package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +6 -6
  53. package/esm2020/popover-edit/table-directives.mjs +15 -15
  54. package/esm2020/scrolling/auto-size-virtual-scroll.mjs +3 -3
  55. package/esm2020/scrolling/scrolling-module.mjs +4 -4
  56. package/esm2020/selection/row-selection.mjs +3 -3
  57. package/esm2020/selection/select-all.mjs +3 -3
  58. package/esm2020/selection/selection-column.mjs +3 -3
  59. package/esm2020/selection/selection-module.mjs +4 -4
  60. package/esm2020/selection/selection-toggle.mjs +3 -3
  61. package/esm2020/selection/selection.mjs +3 -3
  62. package/esm2020/table-scroll-container/table-scroll-container-module.mjs +4 -4
  63. package/esm2020/table-scroll-container/table-scroll-container.mjs +3 -3
  64. package/esm2020/version.mjs +1 -1
  65. package/fesm2015/cdk-experimental.mjs +1 -1
  66. package/fesm2015/cdk-experimental.mjs.map +1 -1
  67. package/fesm2015/column-resize.mjs +50 -50
  68. package/fesm2015/combobox.mjs +63 -106
  69. package/fesm2015/combobox.mjs.map +1 -1
  70. package/fesm2015/dialog.mjs +20 -14
  71. package/fesm2015/dialog.mjs.map +1 -1
  72. package/fesm2015/listbox.mjs +31 -47
  73. package/fesm2015/listbox.mjs.map +1 -1
  74. package/fesm2015/menu.mjs +587 -766
  75. package/fesm2015/menu.mjs.map +1 -1
  76. package/fesm2015/popover-edit.mjs +49 -49
  77. package/fesm2015/scrolling.mjs +7 -7
  78. package/fesm2015/selection.mjs +19 -19
  79. package/fesm2015/table-scroll-container.mjs +7 -7
  80. package/fesm2020/cdk-experimental.mjs +1 -1
  81. package/fesm2020/cdk-experimental.mjs.map +1 -1
  82. package/fesm2020/column-resize.mjs +50 -50
  83. package/fesm2020/combobox.mjs +62 -103
  84. package/fesm2020/combobox.mjs.map +1 -1
  85. package/fesm2020/dialog.mjs +19 -14
  86. package/fesm2020/dialog.mjs.map +1 -1
  87. package/fesm2020/listbox.mjs +29 -46
  88. package/fesm2020/listbox.mjs.map +1 -1
  89. package/fesm2020/menu.mjs +482 -655
  90. package/fesm2020/menu.mjs.map +1 -1
  91. package/fesm2020/popover-edit.mjs +49 -49
  92. package/fesm2020/scrolling.mjs +7 -7
  93. package/fesm2020/selection.mjs +19 -19
  94. package/fesm2020/table-scroll-container.mjs +7 -7
  95. package/listbox/listbox.d.ts +16 -13
  96. package/menu/context-menu.d.ts +7 -46
  97. package/menu/menu-bar.d.ts +9 -50
  98. package/menu/menu-base.d.ts +64 -0
  99. package/menu/menu-errors.d.ts +0 -5
  100. package/menu/menu-group.d.ts +2 -2
  101. package/menu/menu-interface.d.ts +1 -1
  102. package/menu/menu-item-radio.d.ts +4 -3
  103. package/menu/menu-item-trigger.d.ts +8 -38
  104. package/menu/menu-item.d.ts +11 -6
  105. package/menu/menu-module.d.ts +9 -10
  106. package/menu/menu-stack.d.ts +22 -6
  107. package/menu/menu-trigger.d.ts +48 -0
  108. package/menu/menu.d.ts +11 -67
  109. package/menu/public-api.d.ts +2 -2
  110. package/package.json +2 -2
  111. package/combobox/combobox-panel.d.ts +0 -27
  112. package/esm2020/combobox/combobox-panel.mjs +0 -48
  113. package/esm2020/menu/menu-panel.mjs +0 -37
  114. package/menu/menu-panel.d.ts +0 -30
@@ -93,9 +93,9 @@ class ColumnResize {
93
93
  });
94
94
  }
95
95
  }
96
- ColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResize, deps: [], target: i0.ɵɵFactoryTarget.Directive });
97
- ColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: ColumnResize, ngImport: i0 });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResize, decorators: [{
96
+ ColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResize, deps: [], target: i0.ɵɵFactoryTarget.Directive });
97
+ ColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: ColumnResize, ngImport: i0 });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResize, decorators: [{
99
99
  type: Directive
100
100
  }] });
101
101
 
@@ -120,9 +120,9 @@ class ColumnResizeNotifierSource {
120
120
  this.triggerResize = new Subject();
121
121
  }
122
122
  }
123
- ColumnResizeNotifierSource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
124
- ColumnResizeNotifierSource.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifierSource });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
123
+ ColumnResizeNotifierSource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
124
+ ColumnResizeNotifierSource.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifierSource });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
126
126
  type: Injectable
127
127
  }] });
128
128
  /** Service for triggering column resizes imperatively or being notified of them. */
@@ -142,9 +142,9 @@ class ColumnResizeNotifier {
142
142
  });
143
143
  }
144
144
  }
145
- ColumnResizeNotifier.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifier, deps: [{ token: ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Injectable });
146
- ColumnResizeNotifier.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifier });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnResizeNotifier, decorators: [{
145
+ ColumnResizeNotifier.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifier, deps: [{ token: ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Injectable });
146
+ ColumnResizeNotifier.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifier });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnResizeNotifier, decorators: [{
148
148
  type: Injectable
149
149
  }], ctorParameters: function () { return [{ type: ColumnResizeNotifierSource }]; } });
150
150
 
@@ -206,9 +206,9 @@ class HeaderRowEventDispatcher {
206
206
  }));
207
207
  }
208
208
  }
209
- HeaderRowEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: HeaderRowEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
210
- HeaderRowEventDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: HeaderRowEventDispatcher });
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: HeaderRowEventDispatcher, decorators: [{
209
+ HeaderRowEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: HeaderRowEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
210
+ HeaderRowEventDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: HeaderRowEventDispatcher });
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: HeaderRowEventDispatcher, decorators: [{
212
212
  type: Injectable
213
213
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
214
214
 
@@ -243,9 +243,9 @@ class ResizeStrategy {
243
243
  this._pendingResizeDelta = (this._pendingResizeDelta ?? 0) + delta;
244
244
  }
245
245
  }
246
- ResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ResizeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
247
- ResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ResizeStrategy });
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ResizeStrategy, decorators: [{
246
+ ResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ResizeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
247
+ ResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ResizeStrategy });
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ResizeStrategy, decorators: [{
249
249
  type: Injectable
250
250
  }] });
251
251
  /**
@@ -283,9 +283,9 @@ class TableLayoutFixedResizeStrategy extends ResizeStrategy {
283
283
  this.applyColumnSize(_, columnHeader, newWidth, currentWidth);
284
284
  }
285
285
  }
286
- TableLayoutFixedResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: TableLayoutFixedResizeStrategy, deps: [{ token: ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Injectable });
287
- TableLayoutFixedResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: TableLayoutFixedResizeStrategy });
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: TableLayoutFixedResizeStrategy, decorators: [{
286
+ TableLayoutFixedResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: TableLayoutFixedResizeStrategy, deps: [{ token: ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Injectable });
287
+ TableLayoutFixedResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: TableLayoutFixedResizeStrategy });
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: TableLayoutFixedResizeStrategy, decorators: [{
289
289
  type: Injectable
290
290
  }], ctorParameters: function () { return [{ type: ColumnResize }, { type: i3._CoalescedStyleScheduler, decorators: [{
291
291
  type: Inject,
@@ -397,9 +397,9 @@ class CdkFlexTableResizeStrategy extends ResizeStrategy {
397
397
  this._getStyleSheet().insertRule(`${selector} {${body}}`, index);
398
398
  }
399
399
  }
400
- CdkFlexTableResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkFlexTableResizeStrategy, deps: [{ token: ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i3.CdkTable }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
401
- CdkFlexTableResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkFlexTableResizeStrategy });
402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkFlexTableResizeStrategy, decorators: [{
400
+ CdkFlexTableResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkFlexTableResizeStrategy, deps: [{ token: ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i3.CdkTable }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
401
+ CdkFlexTableResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkFlexTableResizeStrategy });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkFlexTableResizeStrategy, decorators: [{
403
403
  type: Injectable
404
404
  }], ctorParameters: function () { return [{ type: ColumnResize }, { type: i3._CoalescedStyleScheduler, decorators: [{
405
405
  type: Inject,
@@ -474,9 +474,9 @@ class CdkColumnResize extends ColumnResize {
474
474
  this.table = table;
475
475
  }
476
476
  }
477
- CdkColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResize, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
478
- CdkColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkColumnResize, selector: "table[cdk-table][columnResize]", providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResize }], usesInheritance: true, ngImport: i0 });
479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResize, decorators: [{
477
+ CdkColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResize, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
478
+ CdkColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkColumnResize, selector: "table[cdk-table][columnResize]", providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResize }], usesInheritance: true, ngImport: i0 });
479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResize, decorators: [{
480
480
  type: Directive,
481
481
  args: [{
482
482
  selector: 'table[cdk-table][columnResize]',
@@ -506,9 +506,9 @@ class CdkColumnResizeFlex extends ColumnResize {
506
506
  this.table = table;
507
507
  }
508
508
  }
509
- CdkColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeFlex, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
510
- CdkColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkColumnResizeFlex, selector: "cdk-table[columnResize]", providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeFlex, decorators: [{
509
+ CdkColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeFlex, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
510
+ CdkColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkColumnResizeFlex, selector: "cdk-table[columnResize]", providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeFlex, decorators: [{
512
512
  type: Directive,
513
513
  args: [{
514
514
  selector: 'cdk-table[columnResize]',
@@ -538,12 +538,12 @@ class CdkDefaultEnabledColumnResize extends ColumnResize {
538
538
  this.table = table;
539
539
  }
540
540
  }
541
- CdkDefaultEnabledColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkDefaultEnabledColumnResize, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
542
- CdkDefaultEnabledColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkDefaultEnabledColumnResize, selector: "table[cdk-table]", providers: [
541
+ CdkDefaultEnabledColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkDefaultEnabledColumnResize, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
542
+ CdkDefaultEnabledColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkDefaultEnabledColumnResize, selector: "table[cdk-table]", providers: [
543
543
  ...TABLE_PROVIDERS,
544
544
  { provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResize },
545
545
  ], usesInheritance: true, ngImport: i0 });
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkDefaultEnabledColumnResize, decorators: [{
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkDefaultEnabledColumnResize, decorators: [{
547
547
  type: Directive,
548
548
  args: [{
549
549
  selector: 'table[cdk-table]',
@@ -576,12 +576,12 @@ class CdkDefaultEnabledColumnResizeFlex extends ColumnResize {
576
576
  this.table = table;
577
577
  }
578
578
  }
579
- CdkDefaultEnabledColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
580
- CdkDefaultEnabledColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkDefaultEnabledColumnResizeFlex, selector: "cdk-table", providers: [
579
+ CdkDefaultEnabledColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, deps: [{ token: ColumnResizeNotifier }, { token: i0.ElementRef }, { token: HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
580
+ CdkDefaultEnabledColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkDefaultEnabledColumnResizeFlex, selector: "cdk-table", providers: [
581
581
  ...FLEX_PROVIDERS,
582
582
  { provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResizeFlex },
583
583
  ], usesInheritance: true, ngImport: i0 });
584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, decorators: [{
584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, decorators: [{
585
585
  type: Directive,
586
586
  args: [{
587
587
  selector: 'cdk-table',
@@ -605,10 +605,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
605
605
  */
606
606
  class CdkColumnResizeDefaultEnabledModule {
607
607
  }
608
- CdkColumnResizeDefaultEnabledModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
609
- CdkColumnResizeDefaultEnabledModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, declarations: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex], exports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex] });
610
- CdkColumnResizeDefaultEnabledModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule });
611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, decorators: [{
608
+ CdkColumnResizeDefaultEnabledModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
609
+ CdkColumnResizeDefaultEnabledModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, declarations: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex], exports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex] });
610
+ CdkColumnResizeDefaultEnabledModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule });
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, decorators: [{
612
612
  type: NgModule,
613
613
  args: [{
614
614
  declarations: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],
@@ -621,10 +621,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
621
621
  */
622
622
  class CdkColumnResizeModule {
623
623
  }
624
- CdkColumnResizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
625
- CdkColumnResizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeModule, declarations: [CdkColumnResize, CdkColumnResizeFlex], exports: [CdkColumnResize, CdkColumnResizeFlex] });
626
- CdkColumnResizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeModule });
627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkColumnResizeModule, decorators: [{
624
+ CdkColumnResizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
625
+ CdkColumnResizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeModule, declarations: [CdkColumnResize, CdkColumnResizeFlex], exports: [CdkColumnResize, CdkColumnResizeFlex] });
626
+ CdkColumnResizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeModule });
627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeModule, decorators: [{
628
628
  type: NgModule,
629
629
  args: [{
630
630
  declarations: [CdkColumnResize, CdkColumnResizeFlex],
@@ -644,9 +644,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
644
644
  */
645
645
  class ColumnSizeStore {
646
646
  }
647
- ColumnSizeStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnSizeStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
648
- ColumnSizeStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnSizeStore });
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ColumnSizeStore, decorators: [{
647
+ ColumnSizeStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnSizeStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
648
+ ColumnSizeStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnSizeStore });
649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ColumnSizeStore, decorators: [{
650
650
  type: Injectable
651
651
  }] });
652
652
 
@@ -852,9 +852,9 @@ class Resizable {
852
852
  });
853
853
  }
854
854
  }
855
- Resizable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: Resizable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
856
- Resizable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: Resizable, ngImport: i0 });
857
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: Resizable, decorators: [{
855
+ Resizable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: Resizable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
856
+ Resizable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: Resizable, ngImport: i0 });
857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: Resizable, decorators: [{
858
858
  type: Directive
859
859
  }] });
860
860
 
@@ -990,9 +990,9 @@ class ResizeOverlayHandle {
990
990
  });
991
991
  }
992
992
  }
993
- ResizeOverlayHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ResizeOverlayHandle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
994
- ResizeOverlayHandle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: ResizeOverlayHandle, ngImport: i0 });
995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: ResizeOverlayHandle, decorators: [{
993
+ ResizeOverlayHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ResizeOverlayHandle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
994
+ ResizeOverlayHandle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: ResizeOverlayHandle, ngImport: i0 });
995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ResizeOverlayHandle, decorators: [{
996
996
  type: Directive
997
997
  }] });
998
998
 
@@ -1,20 +1,30 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Directive, Optional, Input, Output, InjectionToken, Inject, NgModule } from '@angular/core';
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 * as i2 from '@angular/cdk/bidi';
7
8
  import { coerceBooleanProperty, coerceArray } from '@angular/cdk/coercion';
8
9
  import { _getEventTarget } from '@angular/cdk/platform';
9
10
  import { DOWN_ARROW, ENTER, ESCAPE, TAB } from '@angular/cdk/keycodes';
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,18 +53,6 @@ class CdkCombobox {
49
53
  set autoSetText(value) {
50
54
  this._autoSetText = coerceBooleanProperty(value);
51
55
  }
52
- ngAfterContentInit() {
53
- this._panel?.valueUpdated.subscribe(data => {
54
- this._setComboboxValue(data);
55
- this.close();
56
- });
57
- this._panel?.contentIdUpdated.subscribe(id => {
58
- this.contentId = id;
59
- });
60
- this._panel?.contentTypeUpdated.subscribe(type => {
61
- this.contentType = type;
62
- });
63
- }
64
56
  ngOnDestroy() {
65
57
  if (this._overlayRef) {
66
58
  this._overlayRef.dispose();
@@ -73,7 +65,8 @@ class CdkCombobox {
73
65
  const { keyCode } = event;
74
66
  if (keyCode === DOWN_ARROW) {
75
67
  if (this.isOpen()) {
76
- this._panel?.focusContent();
68
+ // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
69
+ this._doc.getElementById(this.contentId)?.focus();
77
70
  }
78
71
  else if (this._openActions.indexOf('downKey') !== -1) {
79
72
  this.open();
@@ -137,7 +130,8 @@ class CdkCombobox {
137
130
  this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());
138
131
  this._overlayRef.attach(this._getPanelContent());
139
132
  if (!this._isTextTrigger()) {
140
- this._panel?.focusContent();
133
+ // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
134
+ this._doc.getElementById(this.contentId)?.focus();
141
135
  }
142
136
  }
143
137
  }
@@ -154,7 +148,7 @@ class CdkCombobox {
154
148
  }
155
149
  /** Returns true if combobox has a child panel. */
156
150
  hasPanel() {
157
- return !!this.panel;
151
+ return !!this._panelTemplateRef;
158
152
  }
159
153
  _getTabIndex() {
160
154
  return this.disabled ? null : '0';
@@ -169,6 +163,10 @@ class CdkCombobox {
169
163
  }
170
164
  }
171
165
  }
166
+ updateAndClose(value) {
167
+ this._setComboboxValue(value);
168
+ this.close();
169
+ }
172
170
  _setTextContent(content) {
173
171
  const contentArray = coerceArray(content);
174
172
  this._elementRef.nativeElement.textContent = contentArray.join(' ');
@@ -199,12 +197,15 @@ class CdkCombobox {
199
197
  { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },
200
198
  ];
201
199
  }
200
+ _getPanelInjector() {
201
+ return this._injector;
202
+ }
202
203
  _getPanelContent() {
203
- const hasPanelChanged = this._panel?._templateRef !== this._panelContent?.templateRef;
204
- if (this._panel && (!this._panel || hasPanelChanged)) {
205
- this._panelContent = new TemplatePortal(this._panel._templateRef, this._viewContainerRef);
204
+ const hasPanelChanged = this._panelTemplateRef !== this._panelPortal?.templateRef;
205
+ if (this._panelTemplateRef && (!this._panelPortal || hasPanelChanged)) {
206
+ this._panelPortal = new TemplatePortal(this._panelTemplateRef, this._viewContainerRef, undefined, this._getPanelInjector());
206
207
  }
207
- return this._panelContent;
208
+ return this._panelPortal;
208
209
  }
209
210
  _coerceOpenActionProperty(input) {
210
211
  let actions = typeof input === 'string' ? input.trim().split(/[ ,]+/) : input;
@@ -214,10 +215,20 @@ class CdkCombobox {
214
215
  }
215
216
  return actions;
216
217
  }
218
+ /** Registers the content's id and the content type with the panel. */
219
+ _registerContent(contentId, contentType) {
220
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
221
+ contentType !== 'listbox' &&
222
+ contentType !== 'dialog') {
223
+ throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
224
+ }
225
+ this.contentId = contentId;
226
+ this.contentType = contentType;
227
+ }
217
228
  }
218
- CdkCombobox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkCombobox, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
219
- CdkCombobox.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkCombobox, selector: "[cdkCombobox]", inputs: { panel: ["cdkComboboxTriggerFor", "panel"], 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" }, exportAs: ["cdkCombobox"], ngImport: i0 });
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkCombobox, decorators: [{
229
+ 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 });
230
+ 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 });
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkCombobox, decorators: [{
221
232
  type: Directive,
222
233
  args: [{
223
234
  selector: '[cdkCombobox]',
@@ -235,10 +246,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
235
246
  '[attr.aria-expanded]': 'isOpen()',
236
247
  '[attr.tabindex]': '_getTabIndex()',
237
248
  },
249
+ providers: [{ provide: CDK_COMBOBOX, useExisting: CdkCombobox }],
238
250
  }]
239
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.Directionality, decorators: [{
251
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: undefined, decorators: [{
252
+ type: Inject,
253
+ args: [DOCUMENT]
254
+ }] }, { type: i2.Directionality, decorators: [{
240
255
  type: Optional
241
- }] }]; }, propDecorators: { panel: [{
256
+ }] }]; }, propDecorators: { _panelTemplateRef: [{
242
257
  type: Input,
243
258
  args: ['cdkComboboxTriggerFor']
244
259
  }], value: [{
@@ -260,51 +275,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
260
275
  args: ['panelValueChanged']
261
276
  }] } });
262
277
 
263
- class CdkComboboxPanel {
264
- constructor(_templateRef) {
265
- this._templateRef = _templateRef;
266
- this.valueUpdated = new Subject();
267
- this.contentIdUpdated = new Subject();
268
- this.contentTypeUpdated = new Subject();
269
- this.contentId = '';
270
- }
271
- /** Tells the parent combobox to close the panel and sends back the content value. */
272
- closePanel(data) {
273
- this.valueUpdated.next(data || []);
274
- }
275
- // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
276
- focusContent() {
277
- // TODO: Use an injected document here
278
- document.getElementById(this.contentId)?.focus();
279
- }
280
- /** Registers the content's id and the content type with the panel. */
281
- _registerContent(contentId, contentType) {
282
- // If content has already been registered, no further contentIds are registered.
283
- if (this.contentType && this.contentType !== contentType) {
284
- return;
285
- }
286
- this.contentId = contentId;
287
- if (contentType !== 'listbox' && contentType !== 'dialog') {
288
- throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
289
- }
290
- this.contentType = contentType;
291
- this.contentIdUpdated.next(this.contentId);
292
- this.contentTypeUpdated.next(this.contentType);
293
- }
294
- }
295
- CdkComboboxPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxPanel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
296
- CdkComboboxPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkComboboxPanel, selector: "ng-template[cdkComboboxPanel]", host: { classAttribute: "cdk-combobox-panel" }, exportAs: ["cdkComboboxPanel"], ngImport: i0 });
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxPanel, decorators: [{
298
- type: Directive,
299
- args: [{
300
- host: {
301
- 'class': 'cdk-combobox-panel',
302
- },
303
- selector: 'ng-template[cdkComboboxPanel]',
304
- exportAs: 'cdkComboboxPanel',
305
- }]
306
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
307
-
308
278
  /**
309
279
  * @license
310
280
  * Copyright Google LLC All Rights Reserved.
@@ -312,12 +282,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
312
282
  * Use of this source code is governed by an MIT-style license that can be
313
283
  * found in the LICENSE file at https://angular.io/license
314
284
  */
315
- const PANEL = new InjectionToken('CdkComboboxPanel');
316
285
  let nextId = 0;
317
286
  class CdkComboboxPopup {
318
- constructor(_elementRef, _parentPanel) {
287
+ constructor(_elementRef, _combobox) {
319
288
  this._elementRef = _elementRef;
320
- this._parentPanel = _parentPanel;
289
+ this._combobox = _combobox;
321
290
  this._role = 'dialog';
322
291
  this.id = `cdk-combobox-popup-${nextId++}`;
323
292
  }
@@ -337,12 +306,7 @@ class CdkComboboxPopup {
337
306
  this.registerWithPanel();
338
307
  }
339
308
  registerWithPanel() {
340
- if (this._parentPanel === null || this._parentPanel === undefined) {
341
- this._explicitPanel._registerContent(this.id, this._role);
342
- }
343
- else {
344
- this._parentPanel._registerContent(this.id, this._role);
345
- }
309
+ this._combobox._registerContent(this.id, this._role);
346
310
  }
347
311
  focusFirstElement() {
348
312
  if (this._firstFocusElement) {
@@ -353,9 +317,9 @@ class CdkComboboxPopup {
353
317
  }
354
318
  }
355
319
  }
356
- CdkComboboxPopup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxPopup, deps: [{ token: i0.ElementRef }, { token: PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
357
- CdkComboboxPopup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.5", type: CdkComboboxPopup, selector: "[cdkComboboxPopup]", inputs: { role: "role", firstFocus: "firstFocus", id: "id", _explicitPanel: ["parentPanel", "_explicitPanel"] }, host: { attributes: { "tabindex": "-1" }, listeners: { "focus": "focusFirstElement()" }, properties: { "attr.role": "role", "id": "id" }, classAttribute: "cdk-combobox-popup" }, exportAs: ["cdkComboboxPopup"], ngImport: i0 });
358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxPopup, decorators: [{
320
+ 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 });
321
+ 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 });
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxPopup, decorators: [{
359
323
  type: Directive,
360
324
  args: [{
361
325
  selector: '[cdkComboboxPopup]',
@@ -368,20 +332,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
368
332
  '(focus)': 'focusFirstElement()',
369
333
  },
370
334
  }]
371
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkComboboxPanel, decorators: [{
372
- type: Optional
373
- }, {
335
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkCombobox, decorators: [{
374
336
  type: Inject,
375
- args: [PANEL]
337
+ args: [CDK_COMBOBOX]
376
338
  }] }]; }, propDecorators: { role: [{
377
339
  type: Input
378
340
  }], firstFocus: [{
379
341
  type: Input
380
342
  }], id: [{
381
343
  type: Input
382
- }], _explicitPanel: [{
383
- type: Input,
384
- args: ['parentPanel']
385
344
  }] } });
386
345
 
387
346
  /**
@@ -391,13 +350,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
391
350
  * Use of this source code is governed by an MIT-style license that can be
392
351
  * found in the LICENSE file at https://angular.io/license
393
352
  */
394
- const EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup];
353
+ const EXPORTED_DECLARATIONS = [CdkCombobox, CdkComboboxPopup];
395
354
  class CdkComboboxModule {
396
355
  }
397
- CdkComboboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
398
- CdkComboboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxModule, declarations: [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup], imports: [OverlayModule], exports: [CdkCombobox, CdkComboboxPanel, CdkComboboxPopup] });
399
- CdkComboboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxModule, imports: [[OverlayModule]] });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5", ngImport: i0, type: CdkComboboxModule, decorators: [{
356
+ CdkComboboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
357
+ 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] });
358
+ CdkComboboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, imports: [[OverlayModule]] });
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkComboboxModule, decorators: [{
401
360
  type: NgModule,
402
361
  args: [{
403
362
  imports: [OverlayModule],
@@ -426,5 +385,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.5",
426
385
  * Generated bundle index. Do not edit.
427
386
  */
428
387
 
429
- export { CdkCombobox, CdkComboboxModule, CdkComboboxPanel, CdkComboboxPopup, PANEL };
388
+ export { CDK_COMBOBOX, CdkCombobox, CdkComboboxModule, CdkComboboxPopup };
430
389
  //# sourceMappingURL=combobox.mjs.map