@angular/cdk 20.0.0-next.0 → 20.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/a11y/index.d.ts +330 -1234
  2. package/a11y-module.d-7d03e079.d.ts +313 -0
  3. package/accordion/index.d.ts +8 -27
  4. package/activedescendant-key-manager.d-11921e3a.d.ts +31 -0
  5. package/bidi/index.d.ts +3 -62
  6. package/bidi-module.d-f8648621.d.ts +53 -0
  7. package/clipboard/index.d.ts +61 -75
  8. package/coercion/index.d.ts +10 -33
  9. package/coercion/private/index.d.ts +2 -2
  10. package/collections/index.d.ts +13 -291
  11. package/data-source.d-7cab2c9d.d.ts +42 -0
  12. package/dialog/index.d.ts +204 -249
  13. package/drag-drop/index.d.ts +1077 -1157
  14. package/fesm2022/a11y-module-e6996d20.mjs +952 -0
  15. package/fesm2022/a11y-module-e6996d20.mjs.map +1 -0
  16. package/fesm2022/a11y.mjs +47 -2445
  17. package/fesm2022/a11y.mjs.map +1 -1
  18. package/fesm2022/accordion.mjs +12 -16
  19. package/fesm2022/accordion.mjs.map +1 -1
  20. package/fesm2022/activedescendant-key-manager-1351a9d3.mjs +16 -0
  21. package/fesm2022/activedescendant-key-manager-1351a9d3.mjs.map +1 -0
  22. package/fesm2022/array-ee3b4bab.mjs +6 -0
  23. package/fesm2022/array-ee3b4bab.mjs.map +1 -0
  24. package/fesm2022/backwards-compatibility-bcbe473e.mjs +25 -0
  25. package/fesm2022/backwards-compatibility-bcbe473e.mjs.map +1 -0
  26. package/fesm2022/bidi-module-0726b65c.mjs +78 -0
  27. package/fesm2022/bidi-module-0726b65c.mjs.map +1 -0
  28. package/fesm2022/bidi.mjs +4 -143
  29. package/fesm2022/bidi.mjs.map +1 -1
  30. package/fesm2022/breakpoints-observer-d4584b66.mjs +179 -0
  31. package/fesm2022/breakpoints-observer-d4584b66.mjs.map +1 -0
  32. package/fesm2022/cdk.mjs +1 -1
  33. package/fesm2022/cdk.mjs.map +1 -1
  34. package/fesm2022/clipboard.mjs +10 -14
  35. package/fesm2022/clipboard.mjs.map +1 -1
  36. package/fesm2022/coercion/private.mjs +2 -18
  37. package/fesm2022/coercion/private.mjs.map +1 -1
  38. package/fesm2022/coercion.mjs +5 -39
  39. package/fesm2022/coercion.mjs.map +1 -1
  40. package/fesm2022/collections.mjs +7 -476
  41. package/fesm2022/collections.mjs.map +1 -1
  42. package/fesm2022/css-pixel-value-286c9a60.mjs +10 -0
  43. package/fesm2022/css-pixel-value-286c9a60.mjs.map +1 -0
  44. package/fesm2022/data-source-5320b6fd.mjs +15 -0
  45. package/fesm2022/data-source-5320b6fd.mjs.map +1 -0
  46. package/fesm2022/dialog.mjs +37 -39
  47. package/fesm2022/dialog.mjs.map +1 -1
  48. package/fesm2022/directionality-7ea26429.mjs +72 -0
  49. package/fesm2022/directionality-7ea26429.mjs.map +1 -0
  50. package/fesm2022/dispose-view-repeater-strategy-b11b87ea.mjs +44 -0
  51. package/fesm2022/dispose-view-repeater-strategy-b11b87ea.mjs.map +1 -0
  52. package/fesm2022/drag-drop.mjs +48 -50
  53. package/fesm2022/drag-drop.mjs.map +1 -1
  54. package/fesm2022/element-705567fe.mjs +29 -0
  55. package/fesm2022/element-705567fe.mjs.map +1 -0
  56. package/fesm2022/fake-event-detection-7055b1bd.mjs +24 -0
  57. package/fesm2022/fake-event-detection-7055b1bd.mjs.map +1 -0
  58. package/fesm2022/focus-key-manager-58d29acd.mjs +22 -0
  59. package/fesm2022/focus-key-manager-58d29acd.mjs.map +1 -0
  60. package/fesm2022/focus-monitor-cebaa0d1.mjs +629 -0
  61. package/fesm2022/focus-monitor-cebaa0d1.mjs.map +1 -0
  62. package/fesm2022/id-generator-fba495fb.mjs +37 -0
  63. package/fesm2022/id-generator-fba495fb.mjs.map +1 -0
  64. package/fesm2022/keycodes-107cd3e4.mjs +122 -0
  65. package/fesm2022/keycodes-107cd3e4.mjs.map +1 -0
  66. package/fesm2022/keycodes.mjs +2 -136
  67. package/fesm2022/keycodes.mjs.map +1 -1
  68. package/fesm2022/layout.mjs +12 -184
  69. package/fesm2022/layout.mjs.map +1 -1
  70. package/fesm2022/list-key-manager-c7b5cefb.mjs +360 -0
  71. package/fesm2022/list-key-manager-c7b5cefb.mjs.map +1 -0
  72. package/fesm2022/listbox.mjs +21 -20
  73. package/fesm2022/listbox.mjs.map +1 -1
  74. package/fesm2022/menu.mjs +76 -60
  75. package/fesm2022/menu.mjs.map +1 -1
  76. package/fesm2022/modifiers-33a5859e.mjs +13 -0
  77. package/fesm2022/modifiers-33a5859e.mjs.map +1 -0
  78. package/fesm2022/observable-97c0792c.mjs +15 -0
  79. package/fesm2022/observable-97c0792c.mjs.map +1 -0
  80. package/fesm2022/observe-content-d2a6b5a0.mjs +210 -0
  81. package/fesm2022/observe-content-d2a6b5a0.mjs.map +1 -0
  82. package/fesm2022/observers/private.mjs +3 -7
  83. package/fesm2022/observers/private.mjs.map +1 -1
  84. package/fesm2022/observers.mjs +5 -213
  85. package/fesm2022/observers.mjs.map +1 -1
  86. package/fesm2022/overlay-module-863b82c9.mjs +3029 -0
  87. package/fesm2022/overlay-module-863b82c9.mjs.map +1 -0
  88. package/fesm2022/overlay.mjs +28 -3019
  89. package/fesm2022/overlay.mjs.map +1 -1
  90. package/fesm2022/passive-listeners-c0bdc49f.mjs +31 -0
  91. package/fesm2022/passive-listeners-c0bdc49f.mjs.map +1 -0
  92. package/fesm2022/platform-1be098b0.mjs +77 -0
  93. package/fesm2022/platform-1be098b0.mjs.map +1 -0
  94. package/fesm2022/platform.mjs +13 -293
  95. package/fesm2022/platform.mjs.map +1 -1
  96. package/fesm2022/portal-directives-c88fea11.mjs +615 -0
  97. package/fesm2022/portal-directives-c88fea11.mjs.map +1 -0
  98. package/fesm2022/portal.mjs +3 -650
  99. package/fesm2022/portal.mjs.map +1 -1
  100. package/fesm2022/private.mjs +3 -63
  101. package/fesm2022/private.mjs.map +1 -1
  102. package/fesm2022/recycle-view-repeater-strategy-c1712813.mjs +156 -0
  103. package/fesm2022/recycle-view-repeater-strategy-c1712813.mjs.map +1 -0
  104. package/fesm2022/scrolling-61955dd1.mjs +99 -0
  105. package/fesm2022/scrolling-61955dd1.mjs.map +1 -0
  106. package/fesm2022/scrolling-module-aa9eeac5.mjs +1463 -0
  107. package/fesm2022/scrolling-module-aa9eeac5.mjs.map +1 -0
  108. package/fesm2022/scrolling.mjs +12 -1463
  109. package/fesm2022/scrolling.mjs.map +1 -1
  110. package/fesm2022/selection-model-30243dba.mjs +221 -0
  111. package/fesm2022/selection-model-30243dba.mjs.map +1 -0
  112. package/fesm2022/shadow-dom-9f403d00.mjs +49 -0
  113. package/fesm2022/shadow-dom-9f403d00.mjs.map +1 -0
  114. package/fesm2022/stepper.mjs +32 -30
  115. package/fesm2022/stepper.mjs.map +1 -1
  116. package/fesm2022/style-loader-e14dc585.mjs +47 -0
  117. package/fesm2022/style-loader-e14dc585.mjs.map +1 -0
  118. package/fesm2022/table.mjs +88 -132
  119. package/fesm2022/table.mjs.map +1 -1
  120. package/fesm2022/test-environment-34eef1ee.mjs +19 -0
  121. package/fesm2022/test-environment-34eef1ee.mjs.map +1 -0
  122. package/fesm2022/testing/selenium-webdriver.mjs +2 -1
  123. package/fesm2022/testing/selenium-webdriver.mjs.map +1 -1
  124. package/fesm2022/testing/testbed.mjs +33 -74
  125. package/fesm2022/testing/testbed.mjs.map +1 -1
  126. package/fesm2022/testing.mjs +2 -697
  127. package/fesm2022/testing.mjs.map +1 -1
  128. package/fesm2022/text-field.mjs +20 -23
  129. package/fesm2022/text-field.mjs.map +1 -1
  130. package/fesm2022/text-filtering-b60ba8a2.mjs +698 -0
  131. package/fesm2022/text-filtering-b60ba8a2.mjs.map +1 -0
  132. package/fesm2022/tree-key-manager-2f20c79c.mjs +360 -0
  133. package/fesm2022/tree-key-manager-2f20c79c.mjs.map +1 -0
  134. package/fesm2022/tree.mjs +33 -33
  135. package/fesm2022/tree.mjs.map +1 -1
  136. package/fesm2022/typeahead-11ae39bd.mjs +88 -0
  137. package/fesm2022/typeahead-11ae39bd.mjs.map +1 -0
  138. package/fesm2022/unique-selection-dispatcher-1d6f91d8.mjs +49 -0
  139. package/fesm2022/unique-selection-dispatcher-1d6f91d8.mjs.map +1 -0
  140. package/fesm2022/visually-hidden-83aea4a0.mjs +18 -0
  141. package/fesm2022/visually-hidden-83aea4a0.mjs.map +1 -0
  142. package/focus-key-manager.d-415a6958.d.ts +33 -0
  143. package/focus-monitor.d-810a02e6.d.ts +209 -0
  144. package/harness-environment.d-4d615248.d.ts +619 -0
  145. package/index.d.ts +2 -2
  146. package/keycodes/index.d.ts +123 -244
  147. package/layout/index.d.ts +23 -25
  148. package/list-key-manager.d-72e9a2e7.d.ts +164 -0
  149. package/listbox/index.d.ts +91 -107
  150. package/menu/index.d.ts +596 -682
  151. package/number-property.d-ce316715.d.ts +15 -0
  152. package/observe-content.d-c08bc882.d.ts +84 -0
  153. package/observers/index.d.ts +4 -90
  154. package/observers/private/index.d.ts +3 -3
  155. package/overlay/index.d.ts +110 -951
  156. package/overlay-module.d-5d06db8a.d.ts +790 -0
  157. package/package.json +1 -1
  158. package/platform/index.d.ts +45 -86
  159. package/platform.d-0a5b4792.d.ts +33 -0
  160. package/portal/index.d.ts +5 -264
  161. package/portal-directives.d-d345bd53.d.ts +210 -0
  162. package/private/index.d.ts +3 -20
  163. package/schematics/ng-add/index.js +1 -1
  164. package/schematics/ng-add/index.mjs +1 -1
  165. package/scrolling/index.d.ts +7 -687
  166. package/scrolling-module.d-a08a462d.d.ts +551 -0
  167. package/selection-model.d-1a70542c.d.ts +111 -0
  168. package/stepper/index.d.ts +74 -124
  169. package/style-loader.d-19baab84.d.ts +21 -0
  170. package/table/index.d.ts +329 -453
  171. package/testing/index.d.ts +32 -675
  172. package/testing/selenium-webdriver/index.d.ts +30 -20
  173. package/testing/testbed/index.d.ts +9 -19
  174. package/text-field/index.d.ts +9 -30
  175. package/tree/index.d.ts +205 -271
  176. package/tree-key-manager-strategy.d-603161dd.d.ts +116 -0
  177. package/unique-selection-dispatcher.d-7993b9f5.d.ts +32 -0
  178. package/view-repeater.d-79039e1f.d.ts +88 -0
  179. package/viewport-ruler.d-f3d3e82f.d.ts +57 -0
package/tree/index.d.ts CHANGED
@@ -1,26 +1,53 @@
1
- import { AfterContentChecked } from '@angular/core';
2
- import { AfterContentInit } from '@angular/core';
3
- import { AfterViewInit } from '@angular/core';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { CollectionViewer } from '@angular/cdk/collections';
6
- import { DataSource } from '@angular/cdk/collections';
7
- import { ElementRef } from '@angular/core';
8
- import { EventEmitter } from '@angular/core';
1
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
2
+ import { S as SelectionModel } from '../selection-model.d-1a70542c.js';
9
3
  import * as i0 from '@angular/core';
10
- import { InjectionToken } from '@angular/core';
11
- import { IterableDiffer } from '@angular/core';
12
- import { IterableDiffers } from '@angular/core';
13
- import { Observable } from 'rxjs';
14
- import { OnDestroy } from '@angular/core';
15
- import { OnInit } from '@angular/core';
16
- import { QueryList } from '@angular/core';
17
- import { SelectionModel } from '@angular/cdk/collections';
18
- import { Subject } from 'rxjs';
19
- import { TemplateRef } from '@angular/core';
20
- import { TrackByFunction } from '@angular/core';
21
- import { TreeKeyManagerItem } from '@angular/cdk/a11y';
22
- import { TreeKeyManagerStrategy } from '@angular/cdk/a11y';
23
- import { ViewContainerRef } from '@angular/core';
4
+ import { InjectionToken, ViewContainerRef, TemplateRef, AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy, OnInit, TrackByFunction, QueryList, IterableDiffer, ElementRef, EventEmitter, IterableDiffers } from '@angular/core';
5
+ import { a as TreeKeyManagerStrategy, T as TreeKeyManagerItem } from '../tree-key-manager-strategy.d-603161dd.js';
6
+ import { C as CollectionViewer, D as DataSource } from '../data-source.d-7cab2c9d.js';
7
+
8
+ /**
9
+ * Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree.
10
+ * The CDKTree will use this TreeControl to expand/collapse a node.
11
+ * User can also use it outside the `<cdk-tree>` to control the expansion status of the tree.
12
+ *
13
+ * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future version.
14
+ * @breaking-change 21.0.0
15
+ */
16
+ interface TreeControl<T, K = T> {
17
+ /** The saved tree nodes data for `expandAll` action. */
18
+ dataNodes: T[];
19
+ /** The expansion model */
20
+ expansionModel: SelectionModel<K>;
21
+ /** Whether the data node is expanded or collapsed. Return true if it's expanded. */
22
+ isExpanded(dataNode: T): boolean;
23
+ /** Get all descendants of a data node */
24
+ getDescendants(dataNode: T): any[];
25
+ /** Expand or collapse data node */
26
+ toggle(dataNode: T): void;
27
+ /** Expand one data node */
28
+ expand(dataNode: T): void;
29
+ /** Collapse one data node */
30
+ collapse(dataNode: T): void;
31
+ /** Expand all the dataNodes in the tree */
32
+ expandAll(): void;
33
+ /** Collapse all the dataNodes in the tree */
34
+ collapseAll(): void;
35
+ /** Toggle a data node by expand/collapse it and all its descendants */
36
+ toggleDescendants(dataNode: T): void;
37
+ /** Expand a data node and all its descendants */
38
+ expandDescendants(dataNode: T): void;
39
+ /** Collapse a data node and all its descendants */
40
+ collapseDescendants(dataNode: T): void;
41
+ /** Get depth of a given data node, return the level number. This is for flat tree node. */
42
+ readonly getLevel: (dataNode: T) => number;
43
+ /**
44
+ * Whether the data node is expandable. Returns true if expandable.
45
+ * This is for flat tree node.
46
+ */
47
+ readonly isExpandable: (dataNode: T) => boolean;
48
+ /** Gets a stream that emits whenever the given data node's children change. */
49
+ readonly getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
50
+ }
24
51
 
25
52
  /**
26
53
  * Base tree control. It has basic toggle/expand/collapse operations on a single data node.
@@ -28,7 +55,7 @@ import { ViewContainerRef } from '@angular/core';
28
55
  * @deprecated Use one of levelAccessor or childrenAccessor. To be removed in a future version.
29
56
  * @breaking-change 21.0.0
30
57
  */
31
- export declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T, K> {
58
+ declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T, K> {
32
59
  /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */
33
60
  abstract getDescendants(dataNode: T): T[];
34
61
  /** Expands all data nodes in the tree. */
@@ -72,46 +99,125 @@ export declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T
72
99
  protected _trackByValue(value: T | K): K;
73
100
  }
74
101
 
102
+ /** Optional set of configuration that can be provided to the FlatTreeControl. */
103
+ interface FlatTreeControlOptions<T, K> {
104
+ trackBy?: (dataNode: T) => K;
105
+ }
106
+ /**
107
+ * Flat tree control. Able to expand/collapse a subtree recursively for flattened tree.
108
+ *
109
+ * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future
110
+ * version.
111
+ * @breaking-change 21.0.0
112
+ */
113
+ declare class FlatTreeControl<T, K = T> extends BaseTreeControl<T, K> {
114
+ getLevel: (dataNode: T) => number;
115
+ isExpandable: (dataNode: T) => boolean;
116
+ options?: FlatTreeControlOptions<T, K> | undefined;
117
+ /** Construct with flat tree data node functions getLevel and isExpandable. */
118
+ constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean, options?: FlatTreeControlOptions<T, K> | undefined);
119
+ /**
120
+ * Gets a list of the data node's subtree of descendent data nodes.
121
+ *
122
+ * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
123
+ * with correct levels.
124
+ */
125
+ getDescendants(dataNode: T): T[];
126
+ /**
127
+ * Expands all data nodes in the tree.
128
+ *
129
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
130
+ * data nodes of the tree.
131
+ */
132
+ expandAll(): void;
133
+ }
134
+
135
+ /** Optional set of configuration that can be provided to the NestedTreeControl. */
136
+ interface NestedTreeControlOptions<T, K> {
137
+ /** Function to determine if the provided node is expandable. */
138
+ isExpandable?: (dataNode: T) => boolean;
139
+ trackBy?: (dataNode: T) => K;
140
+ }
141
+ /**
142
+ * Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type.
143
+ *
144
+ * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future
145
+ * version.
146
+ * @breaking-change 21.0.0
147
+ */
148
+ declare class NestedTreeControl<T, K = T> extends BaseTreeControl<T, K> {
149
+ getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
150
+ options?: NestedTreeControlOptions<T, K> | undefined;
151
+ /** Construct with nested tree function getChildren. */
152
+ constructor(getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null, options?: NestedTreeControlOptions<T, K> | undefined);
153
+ /**
154
+ * Expands all dataNodes in the tree.
155
+ *
156
+ * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
157
+ * data nodes of the tree.
158
+ */
159
+ expandAll(): void;
160
+ /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
161
+ getDescendants(dataNode: T): T[];
162
+ /** A helper function to get descendants recursively. */
163
+ protected _getDescendants(descendants: T[], dataNode: T): void;
164
+ }
165
+
75
166
  /**
76
167
  * Injection token used to provide a `CdkTreeNode` to its outlet.
77
168
  * Used primarily to avoid circular imports.
78
169
  * @docs-private
79
170
  */
80
- export declare const CDK_TREE_NODE_OUTLET_NODE: InjectionToken<{}>;
171
+ declare const CDK_TREE_NODE_OUTLET_NODE: InjectionToken<{}>;
172
+ /**
173
+ * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes
174
+ * inside the outlet.
175
+ */
176
+ declare class CdkTreeNodeOutlet {
177
+ viewContainer: ViewContainerRef;
178
+ _node?: {} | null | undefined;
179
+ constructor(...args: unknown[]);
180
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeOutlet, never>;
181
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeOutlet, "[cdkTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
182
+ }
81
183
 
184
+ /** Context provided to the tree node component. */
185
+ declare class CdkTreeNodeOutletContext<T> {
186
+ /** Data for the node. */
187
+ $implicit: T;
188
+ /** Depth of the node. */
189
+ level: number;
190
+ /** Index location of the node. */
191
+ index?: number;
192
+ /** Length of the number of total dataNodes. */
193
+ count?: number;
194
+ constructor(data: T);
195
+ }
82
196
  /**
83
- * Nested node is a child of `<cdk-tree>`. It works with nested tree.
84
- * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will
85
- * be added in the `cdkTreeNodeOutlet` in tree node template.
86
- * The children of node will be automatically added to `cdkTreeNodeOutlet`.
197
+ * Data node definition for the CdkTree.
198
+ * Captures the node's template and a when predicate that describes when this node should be used.
87
199
  */
88
- export declare class CdkNestedTreeNode<T, K = T> extends CdkTreeNode<T, K> implements AfterContentInit, OnDestroy {
89
- protected _type: 'flat' | 'nested';
90
- protected _differs: IterableDiffers;
91
- /** Differ used to find the changes in the data provided by the data source. */
92
- private _dataDiffer;
93
- /** The children data dataNodes of current node. They will be placed in `CdkTreeNodeOutlet`. */
94
- protected _children: T[];
95
- /** The children node placeholder. */
96
- nodeOutlet: QueryList<CdkTreeNodeOutlet>;
200
+ declare class CdkTreeNodeDef<T> {
201
+ /** @docs-private */
202
+ template: TemplateRef<any>;
203
+ /**
204
+ * Function that should return true if this node template should be used for the provided node
205
+ * data and index. If left undefined, this node will be considered the default node template to
206
+ * use when no other when functions return true for the data.
207
+ * For every node, there must be at least one when function that passes or an undefined to
208
+ * default.
209
+ */
210
+ when: (index: number, nodeData: T) => boolean;
97
211
  constructor(...args: unknown[]);
98
- ngAfterContentInit(): void;
99
- ngOnDestroy(): void;
100
- /** Add children dataNodes to the NodeOutlet */
101
- protected updateChildrenNodes(children?: T[]): void;
102
- /** Clear the children dataNodes. */
103
- protected _clear(): void;
104
- /** Gets the outlet for the current node. */
105
- private _getNodeOutlet;
106
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkNestedTreeNode<any, any>, never>;
107
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkNestedTreeNode<any, any>, "cdk-nested-tree-node", ["cdkNestedTreeNode"], {}, {}, ["nodeOutlet"], never, true, never>;
212
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeDef<any>, never>;
213
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeDef<any>, "[cdkTreeNodeDef]", never, { "when": { "alias": "cdkTreeNodeDefWhen"; "required": false; }; }, {}, never, never, true, never>;
108
214
  }
109
215
 
110
216
  /**
111
217
  * CDK tree component that connects with a data source to retrieve data of type `T` and renders
112
218
  * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.
113
219
  */
114
- export declare class CdkTree<T, K = T> implements AfterContentChecked, AfterContentInit, AfterViewInit, CollectionViewer, OnDestroy, OnInit {
220
+ declare class CdkTree<T, K = T> implements AfterContentChecked, AfterContentInit, AfterViewInit, CollectionViewer, OnDestroy, OnInit {
115
221
  private _differs;
116
222
  private _changeDetectorRef;
117
223
  private _elementRef;
@@ -368,17 +474,10 @@ export declare class CdkTree<T, K = T> implements AfterContentChecked, AfterCont
368
474
  static ɵfac: i0.ɵɵFactoryDeclaration<CdkTree<any, any>, never>;
369
475
  static ɵcmp: i0.ɵɵComponentDeclaration<CdkTree<any, any>, "cdk-tree", ["cdkTree"], { "dataSource": { "alias": "dataSource"; "required": false; }; "treeControl": { "alias": "treeControl"; "required": false; }; "levelAccessor": { "alias": "levelAccessor"; "required": false; }; "childrenAccessor": { "alias": "childrenAccessor"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "expansionKey": { "alias": "expansionKey"; "required": false; }; }, {}, ["_nodeDefs"], never, true, never>;
370
476
  }
371
-
372
- export declare class CdkTreeModule {
373
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeModule, never>;
374
- static ɵmod: i0.ɵɵNgModuleDeclaration<CdkTreeModule, never, [typeof i1.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet], [typeof i1.CdkNestedTreeNode, typeof i2.CdkTreeNodeDef, typeof i3.CdkTreeNodePadding, typeof i4.CdkTreeNodeToggle, typeof i5.CdkTree, typeof i5.CdkTreeNode, typeof i6.CdkTreeNodeOutlet]>;
375
- static ɵinj: i0.ɵɵInjectorDeclaration<CdkTreeModule>;
376
- }
377
-
378
477
  /**
379
478
  * Tree node for CdkTree. It contains the data in the tree node.
380
479
  */
381
- export declare class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKeyManagerItem {
480
+ declare class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKeyManagerItem {
382
481
  _elementRef: ElementRef<HTMLElement>;
383
482
  protected _tree: CdkTree<T, K>;
384
483
  protected _tabindex: number | null;
@@ -490,55 +589,38 @@ export declare class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKey
490
589
  }
491
590
 
492
591
  /**
493
- * Data node definition for the CdkTree.
494
- * Captures the node's template and a when predicate that describes when this node should be used.
495
- */
496
- export declare class CdkTreeNodeDef<T> {
497
- /** @docs-private */
498
- template: TemplateRef<any>;
499
- /**
500
- * Function that should return true if this node template should be used for the provided node
501
- * data and index. If left undefined, this node will be considered the default node template to
502
- * use when no other when functions return true for the data.
503
- * For every node, there must be at least one when function that passes or an undefined to
504
- * default.
505
- */
506
- when: (index: number, nodeData: T) => boolean;
507
- constructor(...args: unknown[]);
508
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeDef<any>, never>;
509
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeDef<any>, "[cdkTreeNodeDef]", never, { "when": { "alias": "cdkTreeNodeDefWhen"; "required": false; }; }, {}, never, never, true, never>;
510
- }
511
-
512
- /**
513
- * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes
514
- * inside the outlet.
592
+ * Nested node is a child of `<cdk-tree>`. It works with nested tree.
593
+ * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will
594
+ * be added in the `cdkTreeNodeOutlet` in tree node template.
595
+ * The children of node will be automatically added to `cdkTreeNodeOutlet`.
515
596
  */
516
- export declare class CdkTreeNodeOutlet {
517
- viewContainer: ViewContainerRef;
518
- _node?: {} | null | undefined;
597
+ declare class CdkNestedTreeNode<T, K = T> extends CdkTreeNode<T, K> implements AfterContentInit, OnDestroy {
598
+ protected _type: 'flat' | 'nested';
599
+ protected _differs: IterableDiffers;
600
+ /** Differ used to find the changes in the data provided by the data source. */
601
+ private _dataDiffer;
602
+ /** The children data dataNodes of current node. They will be placed in `CdkTreeNodeOutlet`. */
603
+ protected _children: T[];
604
+ /** The children node placeholder. */
605
+ nodeOutlet: QueryList<CdkTreeNodeOutlet>;
519
606
  constructor(...args: unknown[]);
520
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeOutlet, never>;
521
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeOutlet, "[cdkTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
522
- }
523
-
524
- /** Context provided to the tree node component. */
525
- export declare class CdkTreeNodeOutletContext<T> {
526
- /** Data for the node. */
527
- $implicit: T;
528
- /** Depth of the node. */
529
- level: number;
530
- /** Index location of the node. */
531
- index?: number;
532
- /** Length of the number of total dataNodes. */
533
- count?: number;
534
- constructor(data: T);
607
+ ngAfterContentInit(): void;
608
+ ngOnDestroy(): void;
609
+ /** Add children dataNodes to the NodeOutlet */
610
+ protected updateChildrenNodes(children?: T[]): void;
611
+ /** Clear the children dataNodes. */
612
+ protected _clear(): void;
613
+ /** Gets the outlet for the current node. */
614
+ private _getNodeOutlet;
615
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkNestedTreeNode<any, any>, never>;
616
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkNestedTreeNode<any, any>, "cdk-nested-tree-node", ["cdkNestedTreeNode"], {}, {}, ["nodeOutlet"], never, true, never>;
535
617
  }
536
618
 
537
619
  /**
538
620
  * Indent for the children tree dataNodes.
539
621
  * This directive will add left-padding to the node to show hierarchy.
540
622
  */
541
- export declare class CdkTreeNodePadding<T, K = T> implements OnDestroy {
623
+ declare class CdkTreeNodePadding<T, K = T> implements OnDestroy {
542
624
  private _treeNode;
543
625
  private _tree;
544
626
  private _element;
@@ -585,199 +667,51 @@ export declare class CdkTreeNodePadding<T, K = T> implements OnDestroy {
585
667
  }
586
668
 
587
669
  /**
588
- * Node toggle to expand and collapse the node.
589
- */
590
- export declare class CdkTreeNodeToggle<T, K = T> {
591
- protected _tree: CdkTree<T, K>;
592
- protected _treeNode: CdkTreeNode<T, K>;
593
- /** Whether expand/collapse the node recursively. */
594
- recursive: boolean;
595
- constructor(...args: unknown[]);
596
- _toggle(): void;
597
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeToggle<any, any>, never>;
598
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeToggle<any, any>, "[cdkTreeNodeToggle]", never, { "recursive": { "alias": "cdkTreeNodeToggleRecursive"; "required": false; }; }, {}, never, never, true, never>;
599
- static ngAcceptInputType_recursive: unknown;
600
- }
601
-
602
- /**
603
- * Flat tree control. Able to expand/collapse a subtree recursively for flattened tree.
604
- *
605
- * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future
606
- * version.
607
- * @breaking-change 21.0.0
608
- */
609
- export declare class FlatTreeControl<T, K = T> extends BaseTreeControl<T, K> {
610
- getLevel: (dataNode: T) => number;
611
- isExpandable: (dataNode: T) => boolean;
612
- options?: FlatTreeControlOptions<T, K> | undefined;
613
- /** Construct with flat tree data node functions getLevel and isExpandable. */
614
- constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean, options?: FlatTreeControlOptions<T, K> | undefined);
615
- /**
616
- * Gets a list of the data node's subtree of descendent data nodes.
617
- *
618
- * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
619
- * with correct levels.
620
- */
621
- getDescendants(dataNode: T): T[];
622
- /**
623
- * Expands all data nodes in the tree.
624
- *
625
- * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
626
- * data nodes of the tree.
627
- */
628
- expandAll(): void;
629
- }
630
-
631
- /** Optional set of configuration that can be provided to the FlatTreeControl. */
632
- export declare interface FlatTreeControlOptions<T, K> {
633
- trackBy?: (dataNode: T) => K;
634
- }
635
-
636
- /**
637
- * Returns an error to be thrown when there are multiple ways of specifying children or level
638
- * provided to the tree.
670
+ * Returns an error to be thrown when there is no usable data.
639
671
  * @docs-private
640
672
  */
641
- export declare function getMultipleTreeControlsError(): Error;
642
-
673
+ declare function getTreeNoValidDataSourceError(): Error;
643
674
  /**
644
- * Returns an error to be thrown when there is no tree control.
675
+ * Returns an error to be thrown when there are multiple nodes that are missing a when function.
645
676
  * @docs-private
646
677
  */
647
- export declare function getTreeControlMissingError(): Error;
648
-
678
+ declare function getTreeMultipleDefaultNodeDefsError(): Error;
649
679
  /**
650
680
  * Returns an error to be thrown when there are no matching node defs for a particular set of data.
651
681
  * @docs-private
652
682
  */
653
- export declare function getTreeMissingMatchingNodeDefError(): Error;
654
-
683
+ declare function getTreeMissingMatchingNodeDefError(): Error;
655
684
  /**
656
- * Returns an error to be thrown when there are multiple nodes that are missing a when function.
685
+ * Returns an error to be thrown when there is no tree control.
657
686
  * @docs-private
658
687
  */
659
- export declare function getTreeMultipleDefaultNodeDefsError(): Error;
660
-
661
-
688
+ declare function getTreeControlMissingError(): Error;
662
689
  /**
663
- * Returns an error to be thrown when there is no usable data.
690
+ * Returns an error to be thrown when there are multiple ways of specifying children or level
691
+ * provided to the tree.
664
692
  * @docs-private
665
693
  */
666
- export declare function getTreeNoValidDataSourceError(): Error;
667
-
668
- declare namespace i1 {
669
- export {
670
- CdkNestedTreeNode
671
- }
672
- }
673
-
674
- declare namespace i2 {
675
- export {
676
- CdkTreeNodeOutletContext,
677
- CdkTreeNodeDef
678
- }
679
- }
680
-
681
- declare namespace i3 {
682
- export {
683
- CdkTreeNodePadding
684
- }
685
- }
686
-
687
- declare namespace i4 {
688
- export {
689
- CdkTreeNodeToggle
690
- }
691
- }
692
-
693
- declare namespace i5 {
694
- export {
695
- CdkTree,
696
- CdkTreeNode
697
- }
698
- }
699
-
700
- declare namespace i6 {
701
- export {
702
- CDK_TREE_NODE_OUTLET_NODE,
703
- CdkTreeNodeOutlet
704
- }
705
- }
694
+ declare function getMultipleTreeControlsError(): Error;
706
695
 
707
696
  /**
708
- * Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type.
709
- *
710
- * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future
711
- * version.
712
- * @breaking-change 21.0.0
697
+ * Node toggle to expand and collapse the node.
713
698
  */
714
- export declare class NestedTreeControl<T, K = T> extends BaseTreeControl<T, K> {
715
- getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
716
- options?: NestedTreeControlOptions<T, K> | undefined;
717
- /** Construct with nested tree function getChildren. */
718
- constructor(getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null, options?: NestedTreeControlOptions<T, K> | undefined);
719
- /**
720
- * Expands all dataNodes in the tree.
721
- *
722
- * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
723
- * data nodes of the tree.
724
- */
725
- expandAll(): void;
726
- /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
727
- getDescendants(dataNode: T): T[];
728
- /** A helper function to get descendants recursively. */
729
- protected _getDescendants(descendants: T[], dataNode: T): void;
730
- }
731
-
732
- /** Optional set of configuration that can be provided to the NestedTreeControl. */
733
- export declare interface NestedTreeControlOptions<T, K> {
734
- /** Function to determine if the provided node is expandable. */
735
- isExpandable?: (dataNode: T) => boolean;
736
- trackBy?: (dataNode: T) => K;
699
+ declare class CdkTreeNodeToggle<T, K = T> {
700
+ protected _tree: CdkTree<T, K>;
701
+ protected _treeNode: CdkTreeNode<T, K>;
702
+ /** Whether expand/collapse the node recursively. */
703
+ recursive: boolean;
704
+ constructor(...args: unknown[]);
705
+ _toggle(): void;
706
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeToggle<any, any>, never>;
707
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTreeNodeToggle<any, any>, "[cdkTreeNodeToggle]", never, { "recursive": { "alias": "cdkTreeNodeToggleRecursive"; "required": false; }; }, {}, never, never, true, never>;
708
+ static ngAcceptInputType_recursive: unknown;
737
709
  }
738
710
 
739
- /**
740
- * Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree.
741
- * The CDKTree will use this TreeControl to expand/collapse a node.
742
- * User can also use it outside the `<cdk-tree>` to control the expansion status of the tree.
743
- *
744
- * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future version.
745
- * @breaking-change 21.0.0
746
- */
747
- export declare interface TreeControl<T, K = T> {
748
- /** The saved tree nodes data for `expandAll` action. */
749
- dataNodes: T[];
750
- /** The expansion model */
751
- expansionModel: SelectionModel<K>;
752
- /** Whether the data node is expanded or collapsed. Return true if it's expanded. */
753
- isExpanded(dataNode: T): boolean;
754
- /** Get all descendants of a data node */
755
- getDescendants(dataNode: T): any[];
756
- /** Expand or collapse data node */
757
- toggle(dataNode: T): void;
758
- /** Expand one data node */
759
- expand(dataNode: T): void;
760
- /** Collapse one data node */
761
- collapse(dataNode: T): void;
762
- /** Expand all the dataNodes in the tree */
763
- expandAll(): void;
764
- /** Collapse all the dataNodes in the tree */
765
- collapseAll(): void;
766
- /** Toggle a data node by expand/collapse it and all its descendants */
767
- toggleDescendants(dataNode: T): void;
768
- /** Expand a data node and all its descendants */
769
- expandDescendants(dataNode: T): void;
770
- /** Collapse a data node and all its descendants */
771
- collapseDescendants(dataNode: T): void;
772
- /** Get depth of a given data node, return the level number. This is for flat tree node. */
773
- readonly getLevel: (dataNode: T) => number;
774
- /**
775
- * Whether the data node is expandable. Returns true if expandable.
776
- * This is for flat tree node.
777
- */
778
- readonly isExpandable: (dataNode: T) => boolean;
779
- /** Gets a stream that emits whenever the given data node's children change. */
780
- readonly getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
711
+ declare class CdkTreeModule {
712
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeModule, never>;
713
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CdkTreeModule, never, [typeof CdkNestedTreeNode, typeof CdkTreeNodeDef, typeof CdkTreeNodePadding, typeof CdkTreeNodeToggle, typeof CdkTree, typeof CdkTreeNode, typeof CdkTreeNodeOutlet], [typeof CdkNestedTreeNode, typeof CdkTreeNodeDef, typeof CdkTreeNodePadding, typeof CdkTreeNodeToggle, typeof CdkTree, typeof CdkTreeNode, typeof CdkTreeNodeOutlet]>;
714
+ static ɵinj: i0.ɵɵInjectorDeclaration<CdkTreeModule>;
781
715
  }
782
716
 
783
- export { }
717
+ export { BaseTreeControl, CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeModule, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutlet, CdkTreeNodeOutletContext, CdkTreeNodePadding, CdkTreeNodeToggle, FlatTreeControl, type FlatTreeControlOptions, NestedTreeControl, type NestedTreeControlOptions, type TreeControl, getMultipleTreeControlsError, getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError };