@angular/material 8.1.1 → 8.1.2

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 (141) hide show
  1. package/_theming.scss +4 -2
  2. package/bundles/material-bottom-sheet.umd.js +15 -1
  3. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  4. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  5. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  6. package/bundles/material-button-toggle.umd.js +10 -5
  7. package/bundles/material-button-toggle.umd.js.map +1 -1
  8. package/bundles/material-button-toggle.umd.min.js +1 -1
  9. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  10. package/bundles/material-checkbox.umd.js +0 -1
  11. package/bundles/material-checkbox.umd.js.map +1 -1
  12. package/bundles/material-checkbox.umd.min.js +1 -1
  13. package/bundles/material-checkbox.umd.min.js.map +1 -1
  14. package/bundles/material-core.umd.js +2 -2
  15. package/bundles/material-core.umd.js.map +1 -1
  16. package/bundles/material-core.umd.min.js +1 -1
  17. package/bundles/material-core.umd.min.js.map +1 -1
  18. package/bundles/material-datepicker.umd.js +1 -1
  19. package/bundles/material-datepicker.umd.js.map +1 -1
  20. package/bundles/material-datepicker.umd.min.js +2 -2
  21. package/bundles/material-datepicker.umd.min.js.map +1 -1
  22. package/bundles/material-expansion.umd.js +2 -2
  23. package/bundles/material-expansion.umd.js.map +1 -1
  24. package/bundles/material-expansion.umd.min.js.map +1 -1
  25. package/bundles/material-grid-list.umd.js +1 -1
  26. package/bundles/material-grid-list.umd.min.js +1 -1
  27. package/bundles/material-slide-toggle.umd.js +63 -2
  28. package/bundles/material-slide-toggle.umd.js.map +1 -1
  29. package/bundles/material-slide-toggle.umd.min.js +1 -1
  30. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  31. package/bundles/material-table.umd.js +4 -4
  32. package/bundles/material-table.umd.js.map +1 -1
  33. package/bundles/material-table.umd.min.js +1 -1
  34. package/bundles/material-table.umd.min.js.map +1 -1
  35. package/bundles/material-tabs.umd.js +1 -1
  36. package/bundles/material-tabs.umd.js.map +1 -1
  37. package/bundles/material-tabs.umd.min.js +1 -1
  38. package/bundles/material-tabs.umd.min.js.map +1 -1
  39. package/bundles/material-tree.umd.js +71 -39
  40. package/bundles/material-tree.umd.js.map +1 -1
  41. package/bundles/material-tree.umd.min.js +1 -1
  42. package/bundles/material-tree.umd.min.js.map +1 -1
  43. package/bundles/material.umd.js +166 -55
  44. package/bundles/material.umd.js.map +1 -1
  45. package/bundles/material.umd.min.js +18 -18
  46. package/bundles/material.umd.min.js.map +1 -1
  47. package/button-toggle/typings/index.metadata.json +1 -1
  48. package/checkbox/typings/index.metadata.json +1 -1
  49. package/datepicker/typings/index.metadata.json +1 -1
  50. package/esm2015/bottom-sheet.js +15 -1
  51. package/esm2015/bottom-sheet.js.map +1 -1
  52. package/esm2015/button-toggle.js +10 -5
  53. package/esm2015/button-toggle.js.map +1 -1
  54. package/esm2015/checkbox.js +0 -1
  55. package/esm2015/checkbox.js.map +1 -1
  56. package/esm2015/core.js +2 -2
  57. package/esm2015/core.js.map +1 -1
  58. package/esm2015/datepicker.js +1 -1
  59. package/esm2015/datepicker.js.map +1 -1
  60. package/esm2015/expansion.js +1 -1
  61. package/esm2015/expansion.js.map +1 -1
  62. package/esm2015/grid-list.js +1 -1
  63. package/esm2015/material.js +2 -2
  64. package/esm2015/slide-toggle.js +57 -5
  65. package/esm2015/slide-toggle.js.map +1 -1
  66. package/esm2015/table.js +2 -2
  67. package/esm2015/table.js.map +1 -1
  68. package/esm2015/tabs.js +1 -1
  69. package/esm2015/tabs.js.map +1 -1
  70. package/esm2015/tree.js +63 -40
  71. package/esm2015/tree.js.map +1 -1
  72. package/esm5/bottom-sheet.es5.js +15 -1
  73. package/esm5/bottom-sheet.es5.js.map +1 -1
  74. package/esm5/button-toggle.es5.js +10 -5
  75. package/esm5/button-toggle.es5.js.map +1 -1
  76. package/esm5/checkbox.es5.js +0 -1
  77. package/esm5/checkbox.es5.js.map +1 -1
  78. package/esm5/core.es5.js +2 -2
  79. package/esm5/core.es5.js.map +1 -1
  80. package/esm5/datepicker.es5.js +1 -1
  81. package/esm5/datepicker.es5.js.map +1 -1
  82. package/esm5/expansion.es5.js +2 -2
  83. package/esm5/expansion.es5.js.map +1 -1
  84. package/esm5/grid-list.es5.js +1 -1
  85. package/esm5/material.es5.js +2 -2
  86. package/esm5/slide-toggle.es5.js +63 -5
  87. package/esm5/slide-toggle.es5.js.map +1 -1
  88. package/esm5/table.es5.js +4 -4
  89. package/esm5/table.es5.js.map +1 -1
  90. package/esm5/tabs.es5.js +1 -1
  91. package/esm5/tabs.es5.js.map +1 -1
  92. package/esm5/tree.es5.js +70 -37
  93. package/esm5/tree.es5.js.map +1 -1
  94. package/expansion/typings/expansion-panel.d.ts +1 -1
  95. package/grid-list/typings/index.d.ts +1 -1
  96. package/grid-list/typings/index.metadata.json +1 -1
  97. package/material.d.ts +1 -1
  98. package/material.metadata.json +3 -3
  99. package/package.json +4 -4
  100. package/prebuilt-themes/deeppurple-amber.css +1 -1
  101. package/prebuilt-themes/indigo-pink.css +1 -1
  102. package/prebuilt-themes/pink-bluegrey.css +1 -1
  103. package/prebuilt-themes/purple-green.css +1 -1
  104. package/slide-toggle/typings/index.metadata.json +1 -1
  105. package/slide-toggle/typings/public-api.d.ts +1 -0
  106. package/slide-toggle/typings/slide-toggle-module.d.ts +3 -0
  107. package/slide-toggle/typings/slide-toggle-required-validator.d.ts +20 -0
  108. package/table/typings/table-data-source.d.ts +1 -1
  109. package/tabs/typings/index.metadata.json +1 -1
  110. package/tree/typings/index.metadata.json +1 -1
  111. package/tree/typings/node.d.ts +8 -6
  112. package/typings/button-toggle/index.metadata.json +1 -1
  113. package/typings/checkbox/index.metadata.json +1 -1
  114. package/typings/core/index.metadata.json +1 -1
  115. package/typings/datepicker/index.metadata.json +1 -1
  116. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  117. package/typings/esm5/checkbox/index.metadata.json +1 -1
  118. package/typings/esm5/core/index.metadata.json +1 -1
  119. package/typings/esm5/datepicker/index.metadata.json +1 -1
  120. package/typings/esm5/expansion/expansion-panel.d.ts +1 -1
  121. package/typings/esm5/grid-list/index.d.ts +1 -1
  122. package/typings/esm5/grid-list/index.metadata.json +1 -1
  123. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  124. package/typings/esm5/slide-toggle/public-api.d.ts +1 -0
  125. package/typings/esm5/slide-toggle/slide-toggle-module.d.ts +3 -0
  126. package/typings/esm5/slide-toggle/slide-toggle-required-validator.d.ts +20 -0
  127. package/typings/esm5/table/table-data-source.d.ts +1 -1
  128. package/typings/esm5/tabs/index.metadata.json +1 -1
  129. package/typings/esm5/tree/index.metadata.json +1 -1
  130. package/typings/esm5/tree/node.d.ts +8 -6
  131. package/typings/expansion/expansion-panel.d.ts +1 -1
  132. package/typings/grid-list/index.d.ts +1 -1
  133. package/typings/grid-list/index.metadata.json +1 -1
  134. package/typings/slide-toggle/index.metadata.json +1 -1
  135. package/typings/slide-toggle/public-api.d.ts +1 -0
  136. package/typings/slide-toggle/slide-toggle-module.d.ts +3 -0
  137. package/typings/slide-toggle/slide-toggle-required-validator.d.ts +20 -0
  138. package/typings/table/table-data-source.d.ts +1 -1
  139. package/typings/tabs/index.metadata.json +1 -1
  140. package/typings/tree/index.metadata.json +1 -1
  141. package/typings/tree/node.d.ts +8 -6
@@ -6,10 +6,10 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  (function (global, factory) {
9
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/tree'), require('@angular/core'), require('@angular/material/core'), require('@angular/common'), require('@angular/cdk/collections'), require('rxjs'), require('rxjs/operators')) :
10
- typeof define === 'function' && define.amd ? define('@angular/material/tree', ['exports', '@angular/cdk/tree', '@angular/core', '@angular/material/core', '@angular/common', '@angular/cdk/collections', 'rxjs', 'rxjs/operators'], factory) :
11
- (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tree = {}),global.ng.cdk.tree,global.ng.core,global.ng.material.core,global.ng.common,global.ng.cdk.collections,global.rxjs,global.rxjs.operators));
12
- }(this, (function (exports,tree,core,core$1,common,collections,rxjs,operators) { 'use strict';
9
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/tree'), require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/coercion'), require('@angular/common'), require('@angular/cdk/collections'), require('rxjs'), require('rxjs/operators')) :
10
+ typeof define === 'function' && define.amd ? define('@angular/material/tree', ['exports', '@angular/cdk/tree', '@angular/core', '@angular/material/core', '@angular/cdk/coercion', '@angular/common', '@angular/cdk/collections', 'rxjs', 'rxjs/operators'], factory) :
11
+ (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tree = {}),global.ng.cdk.tree,global.ng.core,global.ng.material.core,global.ng.cdk.coercion,global.ng.common,global.ng.cdk.collections,global.rxjs,global.rxjs.operators));
12
+ }(this, (function (exports,tree,core,core$1,coercion,common,collections,rxjs,operators) { 'use strict';
13
13
 
14
14
  /*! *****************************************************************************
15
15
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -40,40 +40,12 @@ function __extends(d, b) {
40
40
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
41
41
  }
42
42
 
43
- /**
44
- * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
- */
47
- /**
48
- * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes
49
- * inside the outlet.
50
- */
51
- var MatTreeNodeOutlet = /** @class */ (function () {
52
- function MatTreeNodeOutlet(viewContainer, _node) {
53
- this.viewContainer = viewContainer;
54
- this._node = _node;
55
- }
56
- MatTreeNodeOutlet.decorators = [
57
- { type: core.Directive, args: [{
58
- selector: '[matTreeNodeOutlet]'
59
- },] },
60
- ];
61
- /** @nocollapse */
62
- MatTreeNodeOutlet.ctorParameters = function () { return [
63
- { type: core.ViewContainerRef },
64
- { type: undefined, decorators: [{ type: core.Inject, args: [tree.CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }
65
- ]; };
66
- return MatTreeNodeOutlet;
67
- }());
68
-
69
43
  /**
70
44
  * @fileoverview added by tsickle
71
45
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
72
46
  */
73
47
  /** @type {?} */
74
48
  var _MatTreeNodeMixinBase = core$1.mixinTabIndex(core$1.mixinDisabled(tree.CdkTreeNode));
75
- /** @type {?} */
76
- var _MatNestedTreeNodeMixinBase = core$1.mixinTabIndex(core$1.mixinDisabled(tree.CdkNestedTreeNode));
77
49
  /**
78
50
  * Wrapper for the CdkTree node with Material design styles.
79
51
  * @template T
@@ -147,9 +119,43 @@ var MatNestedTreeNode = /** @class */ (function (_super) {
147
119
  _this._elementRef = _elementRef;
148
120
  _this._tree = _tree;
149
121
  _this._differs = _differs;
122
+ _this._disabled = false;
150
123
  _this.tabIndex = Number(tabIndex) || 0;
151
124
  return _this;
152
125
  }
126
+ Object.defineProperty(MatNestedTreeNode.prototype, "disabled", {
127
+ /** Whether the node is disabled. */
128
+ get: /**
129
+ * Whether the node is disabled.
130
+ * @return {?}
131
+ */
132
+ function () { return this._disabled; },
133
+ set: /**
134
+ * @param {?} value
135
+ * @return {?}
136
+ */
137
+ function (value) { this._disabled = coercion.coerceBooleanProperty(value); },
138
+ enumerable: true,
139
+ configurable: true
140
+ });
141
+ Object.defineProperty(MatNestedTreeNode.prototype, "tabIndex", {
142
+ /** Tabindex for the node. */
143
+ get: /**
144
+ * Tabindex for the node.
145
+ * @return {?}
146
+ */
147
+ function () { return this.disabled ? -1 : this._tabIndex; },
148
+ set: /**
149
+ * @param {?} value
150
+ * @return {?}
151
+ */
152
+ function (value) {
153
+ // If the specified tabIndex value is null or undefined, fall back to the default value.
154
+ this._tabIndex = value != null ? value : 0;
155
+ },
156
+ enumerable: true,
157
+ configurable: true
158
+ });
153
159
  // This is a workaround for https://github.com/angular/angular/issues/23091
154
160
  // In aot mode, the lifecycle hooks from parent class are not called.
155
161
  // TODO(tinayuangao): Remove when the angular issue #23091 is fixed
@@ -187,7 +193,6 @@ var MatNestedTreeNode = /** @class */ (function (_super) {
187
193
  '[attr.role]': 'role',
188
194
  'class': 'mat-nested-tree-node',
189
195
  },
190
- inputs: ['disabled', 'tabIndex'],
191
196
  providers: [
192
197
  { provide: tree.CdkNestedTreeNode, useExisting: MatNestedTreeNode },
193
198
  { provide: tree.CdkTreeNode, useExisting: MatNestedTreeNode },
@@ -204,14 +209,11 @@ var MatNestedTreeNode = /** @class */ (function (_super) {
204
209
  ]; };
205
210
  MatNestedTreeNode.propDecorators = {
206
211
  node: [{ type: core.Input, args: ['matNestedTreeNode',] }],
207
- nodeOutlet: [{ type: core.ContentChildren, args: [MatTreeNodeOutlet, {
208
- // We need to use `descendants: true`, because Ivy will no longer match
209
- // indirect descendants if it's left as false.
210
- descendants: true
211
- },] }]
212
+ disabled: [{ type: core.Input }],
213
+ tabIndex: [{ type: core.Input }]
212
214
  };
213
215
  return MatNestedTreeNode;
214
- }(_MatNestedTreeNodeMixinBase));
216
+ }(tree.CdkNestedTreeNode));
215
217
 
216
218
  /**
217
219
  * @fileoverview added by tsickle
@@ -239,6 +241,36 @@ var MatTreeNodePadding = /** @class */ (function (_super) {
239
241
  return MatTreeNodePadding;
240
242
  }(tree.CdkTreeNodePadding));
241
243
 
244
+ /**
245
+ * @fileoverview added by tsickle
246
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
247
+ */
248
+ /**
249
+ * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes
250
+ * inside the outlet.
251
+ */
252
+ var MatTreeNodeOutlet = /** @class */ (function () {
253
+ function MatTreeNodeOutlet(viewContainer, _node) {
254
+ this.viewContainer = viewContainer;
255
+ this._node = _node;
256
+ }
257
+ MatTreeNodeOutlet.decorators = [
258
+ { type: core.Directive, args: [{
259
+ selector: '[matTreeNodeOutlet]',
260
+ providers: [{
261
+ provide: tree.CdkTreeNodeOutlet,
262
+ useExisting: MatTreeNodeOutlet
263
+ }]
264
+ },] },
265
+ ];
266
+ /** @nocollapse */
267
+ MatTreeNodeOutlet.ctorParameters = function () { return [
268
+ { type: core.ViewContainerRef },
269
+ { type: undefined, decorators: [{ type: core.Inject, args: [tree.CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }
270
+ ]; };
271
+ return MatTreeNodeOutlet;
272
+ }());
273
+
242
274
  /**
243
275
  * @fileoverview added by tsickle
244
276
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -1 +1 @@
1
- {"version":3,"file":"material-tree.umd.js","sources":["../../src/material/tree/data-source/nested-data-source.ts","../../src/material/tree/data-source/flat-data-source.ts","../../src/material/tree/tree-module.ts","../../src/material/tree/toggle.ts","../../src/material/tree/tree.ts","../../src/material/tree/padding.ts","../../src/material/tree/node.ts","../../src/material/tree/outlet.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private _treeControl: FlatTreeControl<F>,\n private _treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this._treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\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 CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\n\nimport {MatTreeNodeOutlet} from './outlet';\n\nconst _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nconst _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T> implements\n AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n @Input('matNestedTreeNode') node: T;\n\n /** The children node placeholder. */\n @ContentChildren(MatTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n })\n nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["DataSource","merge","map","BehaviorSubject","tslib_1.__extends","take","CdkTreeModule","CommonModule","MatCommonModule","NgModule","CdkTreeNodeToggle","Input","Directive","ViewEncapsulation","Component","CdkTreeNodePadding","ContentChildren","Attribute","IterableDiffers","CdkTree","ElementRef","CDK_TREE_NODE_OUTLET_NODE","CdkTreeNode","CdkNestedTreeNode","CdkTreeNodeDef","mixinTabIndex","mixinDisabled","Inject","Optional","ViewContainerRef"],"mappings":"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"}
1
+ {"version":3,"file":"material-tree.umd.js","sources":["../../src/material/tree/data-source/nested-data-source.ts","../../src/material/tree/data-source/flat-data-source.ts","../../src/material/tree/tree-module.ts","../../src/material/tree/toggle.ts","../../src/material/tree/tree.ts","../../src/material/tree/outlet.ts","../../src/material/tree/padding.ts","../../src/material/tree/node.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private _treeControl: FlatTreeControl<F>,\n private _treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this._treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [{\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }]\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\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 CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends CdkNestedTreeNode<T> implements AfterContentInit,\n OnDestroy {\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["DataSource","merge","map","BehaviorSubject","tslib_1.__extends","take","CdkTreeModule","CommonModule","MatCommonModule","NgModule","CdkTreeNodeToggle","Input","Directive","ViewEncapsulation","Component","Inject","CDK_TREE_NODE_OUTLET_NODE","Optional","ViewContainerRef","CdkTreeNodeOutlet","CdkTreeNodePadding","CdkNestedTreeNode","Attribute","IterableDiffers","CdkTree","ElementRef","CdkTreeNode","coerceBooleanProperty","CdkTreeNodeDef","mixinTabIndex","mixinDisabled"],"mappings":";;;;;;;;;;;;;AQAA;;;;;;;;;;;;;;;;AAgBA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;SAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC9B,CAAC;;AAEF,AAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAC5B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;CACxF;;;;;;;ADOD,IAAM,qBAAqB,GACvB6B,oBAAa,CAACC,oBAAa,CAACJ,gBAAW,CAAC,CAAC,CAD7C;;;;;AAMA,AAAA,IAAA,WAAA,kBAAA,UAAA,MAAA,EAAA;IAYoCtB,SAApC,CAAA,WAAA,EAAA,MAAA,CAAA,CAA4D;IAI1D,SAAF,WAAA,CAAwB,WAAoC,EACpC,KAAiB,EACJ,QAAgB,EAFrD;QAAE,IAAF,KAAA,GAGI,MAHJ,CAAA,IAAA,CAAA,IAAA,EAGU,WAAW,EAAE,KAAK,CAAC,IAH7B,IAAA,CAMG;QANqB,KAAxB,CAAA,WAAmC,GAAX,WAAW,CAAyB;QACpC,KAAxB,CAAA,KAA6B,GAAL,KAAK,CAAY;QAH9B,KAAX,CAAA,IAAe,GAAyB,UAAU,CAAC;QAO/C,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;KACvC;;QAtBH,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;oBAChC,IAAI,EAAE;wBACJ,sBAAsB,EAAE,YAAY;wBACpC,mBAAmB,EAAE,oCAAoC;wBACzD,aAAa,EAAE,MAAM;wBACrB,OAAO,EAAE,eAAe;qBACzB;oBACD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEc,gBAAW,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;iBAC9D,EAAD,EAAA;;;;QAhCA,EAAA,IAAA,EAAED,eAAU,EAAZ;QARA,EAAA,IAAA,EAAED,YAAO,EAAT;QA+CA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAeF,cAAS,EAAxB,IAAA,EAAA,CAAyB,UAAU,EAAnC,EAAA,CAAA,EAAA;;;QAJA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGX,UAAK,EAAR,CAAA;;IASA,OAAA,WAAC,CAAD;CAAC,CAXmC,qBAAqB,CAWzD,CAAA,CAAC;;;;;AAKD,AAAA,IAAA,cAAA,kBAAA,UAAA,MAAA,EAAA;IAOuCP,SAAvC,CAAA,cAAA,EAAA,MAAA,CAAA,CAAwD;IAPxD,SAAA,cAAA,GAAA;;KASC;;QATD,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,MAAM,EAAE;wBACN,0BAA0B;qBAC3B;oBACD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEgB,mBAAc,EAAE,WAAW,EAAE,cAAc,EAAC,CAAC;iBACpE,EAAD,EAAA;;;QAEA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGjB,UAAK,EAAR,IAAA,EAAA,CAAS,aAAa,EAAtB,EAAA,CAAA;;IACA,OAAA,cAAC,CAAD;CAAC,CAFsCiB,mBAAc,CAErD,CAAA,CAAC;;;;;AAKD,AAAA,IAAA,iBAAA,kBAAA,UAAA,MAAA,EAAA;IAc0CxB,SAA1C,CAAA,iBAAA,EAAA,MAAA,CAAA,CAA8D;IAmB5D,SAAF,iBAAA,CAAwB,WAAoC,EACpC,KAAiB,EACjB,QAAyB,EACZ,QAAgB,EAHrD;QAAE,IAAF,KAAA,GAII,MAJJ,CAAA,IAAA,CAAA,IAAA,EAIU,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,IAJvC,IAAA,CAMG;QANqB,KAAxB,CAAA,WAAmC,GAAX,WAAW,CAAyB;QACpC,KAAxB,CAAA,KAA6B,GAAL,KAAK,CAAY;QACjB,KAAxB,CAAA,QAAgC,GAAR,QAAQ,CAAiB;QAbvC,KAAV,CAAA,SAAmB,GAAG,KAAK,CAAC;QAgBxB,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;KACvC;IApBD,MAAF,CAAA,cAAA,CACM,iBADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF,EACmB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;;;;QACzC,UAAa,KAAU,EAAzB,EAA6B,IAAI,CAAC,SAAS,GAAGuB,8BAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;;;KAD7E,CAAA,CAA2C;IAKzC,MAAF,CAAA,cAAA,CACM,iBADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF,EAC2B,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;;;;;QACtE,UAAa,KAAa,EAA5B;;YAEI,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;SAC5C;;;KAJH,CAAA,CAAwE;;;;;;;;;;IAkBtE,iBAAF,CAAA,SAAA,CAAA,kBAAoB;;;;;;;IAAlB,YAAF;QACI,MAAJ,CAAA,SAAA,CAAU,kBAAkB,CAA5B,IAAA,CAAA,IAAA,CAA8B,CAAC;KAC5B,CAAH;;;;IAEE,iBAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,MAAJ,CAAA,SAAA,CAAU,WAAW,CAArB,IAAA,CAAA,IAAA,CAAuB,CAAC;KACrB,CAAH;;QAlDA,EAAA,IAAA,EAACf,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,mBAAmB;oBAC7B,IAAI,EAAE;wBACJ,sBAAsB,EAAE,YAAY;wBACpC,aAAa,EAAE,MAAM;wBACrB,OAAO,EAAE,sBAAsB;qBAChC;oBACD,SAAS,EAAE;wBACT,EAAC,OAAO,EAAES,sBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC;wBAC5D,EAAC,OAAO,EAAEK,gBAAW,EAAE,WAAW,EAAE,iBAAiB,EAAC;wBACtD,EAAC,OAAO,EAAEV,8BAAyB,EAAE,WAAW,EAAE,iBAAiB,EAAC;qBACrE;iBACF,EAAD,EAAA;;;;QA5EA,EAAA,IAAA,EAAES,eAAU,EAAZ;QARA,EAAA,IAAA,EAAED,YAAO,EAAT;QAUA,EAAA,IAAA,EAAED,oBAAe,EAAjB;QAiGA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAeD,cAAS,EAAxB,IAAA,EAAA,CAAyB,UAAU,EAAnC,EAAA,CAAA,EAAA;;;QApBA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAGX,UAAK,EAAR,IAAA,EAAA,CAAS,mBAAmB,EAA5B,EAAA,CAAA;QAGA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAGA,UAAK,EAAR,CAAA;QAMA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAGA,UAAK,EAAR,CAAA;;IA0BA,OAAA,iBAAC,CAAD;CAAC,CArCyCU,sBAAiB,CAqC3D,CAAA,CAAA;;;;;;;;;;ADxHA,AAAA,IAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;IAI2CjB,SAA3C,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAgE;IAJhE,SAAA,kBAAA,GAAA;;KAWC;;QAXD,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEQ,uBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC;iBAC5E,EAAD,EAAA;;;QAIA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAGT,UAAK,EAAR,IAAA,EAAA,CAAS,oBAAoB,EAA7B,EAAA,CAAA;QAGA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAGA,UAAK,EAAR,IAAA,EAAA,CAAS,0BAA0B,EAAnC,EAAA,CAAA;;IACA,OAAA,kBAAC,CAAD;CAAC,CAP0CS,uBAAkB,CAO7D,CAAA,CAAA;;;;;;;;;;ADLA,AAAA,IAAA,iBAAA,kBAAA,YAAA;IAQE,SAAF,iBAAA,CACa,aAA+B,EACgB,KAAW,EAFvE;QACa,IAAb,CAAA,aAA0B,GAAb,aAAa,CAAkB;QACgB,IAA5D,CAAA,KAAiE,GAAL,KAAK,CAAM;KAAI;;QAV3E,EAAA,IAAA,EAACR,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC;4BACV,OAAO,EAAEO,sBAAiB;4BAC1B,WAAW,EAAE,iBAAiB;yBAC/B,CAAC;iBACH,EAAD,EAAA;;;;QAbA,EAAA,IAAA,EAAED,qBAAgB,EAAlB;QAiBA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAOH,WAAM,EAAb,IAAA,EAAA,CAAcC,8BAAyB,EAAvC,EAAA,EAAA,EAAA,IAAA,EAA0CC,aAAQ,EAAlD,CAAA,EAAA;;IACA,OAAA,iBAAC,CAAD;CAAC,EAAD,CAAA,CAAA;;;;;;;;;;ADfA,AAAA,IAAA,OAAA,kBAAA,UAAA,MAAA,EAAA;IAgBgCb,SAAhC,CAAA,OAAA,EAAA,MAAA,CAAA,CAA0C;IAhB1C,SAAA,OAAA,GAAA;;KAmBC;;QAnBD,EAAA,IAAA,EAACU,cAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,UAAA;oBACE,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,iDAAZ;oBACE,IAAF,EAAA;wBACA,OAAA,EAAA,UAAA;wBACM,MAAN,EAAA,MAAA;qBACA;oBACA,MAAA,EAAA,CAAA,iLAAA,CAAA;oBACA,aAAA,EAAAD,sBAAA,CAAA,IAAA;;;;;iBAKA,EAAA,EAAA;KACA,CAAA;IACA,OAAA,CAAA,cAAA,GAAA;;;IAGA,OAAA,OAAA,CAAA;;;;;;;;;;;ADnBA,AAAA,IAAA,iBAAA,kBAAA,UAAA,MAAA,EAAA;IAI0CT,SAA1C,CAAA,iBAAA,EAAA,MAAA,CAAA,CAA8D;IAJ9D,SAAA,iBAAA,GAAA;QAAA,IAAA,KAAA,GAAA,MAAA,KAAA,IAAA,IAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,IAAA,IAAA,CAMC;QADsC,KAAvC,CAAA,SAAgD,GAAY,KAAK,CAAC;;KACjE;;QAND,EAAA,IAAA,EAACQ,cAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAEF,sBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC,CAAC;iBAC1E,EAAD,EAAA;;;QAEA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAGC,UAAK,EAAR,IAAA,EAAA,CAAS,4BAA4B,EAArC,EAAA,CAAA;;IACA,OAAA,iBAAC,CAAD;CAAC,CAFyCD,sBAAiB,CAE3D,CAAA,CAAA;;;;;;;ADDA,IAAM,mBAAmB,GAAG;IAC1B,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,OAAO;IACP,WAAW;IACX,iBAAiB;CAClB,CAAD;AAEA,AAAA,IAAA,aAAA,kBAAA,YAAA;IAAA,SAAA,aAAA,GAAA;KAK6B;;QAL7B,EAAA,IAAA,EAACD,aAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE,CAACH,kBAAa,EAAEC,mBAAY,EAAEC,sBAAe,CAAC;oBACvD,OAAO,EAAE,mBAAmB;oBAC5B,YAAY,EAAE,mBAAmB;iBAClC,EAAD,EAAA;;IAC4B,OAA5B,aAA6B,CAA7B;CAA6B,EAA7B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADaA,AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEE,SAAF,gBAAA,CAAqB,iBAAgD,EAChD,QAA6B,EAC7B,YAAkC,EAClC,WACqC,EAJ1D;QAAqB,IAArB,CAAA,iBAAsC,GAAjB,iBAAiB,CAA+B;QAChD,IAArB,CAAA,QAA6B,GAAR,QAAQ,CAAqB;QAC7B,IAArB,CAAA,YAAiC,GAAZ,YAAY,CAAsB;QAClC,IAArB,CAAA,WAAgC,GAAX,WAAW,CAC0B;KAAI;;;;;;;;IAE5D,gBAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;IAAZ,UAAa,IAAO,EAAE,KAAa,EACtB,WAAgB,EAAE,SAAoB,EADrD;QAAE,IAAF,KAAA,GAAA,IAAA,CAkBG;;QAhBH,IAAU,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAxD;QACI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;;YACrC,IAAY,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAlD;YACM,IAAI,aAAa,EAAE;gBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAChC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBACrE;qBAAM;oBACL,aAAa,CAAC,IAAI,CAACH,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;;;oBAAC,UAAA,QAAQ,EAAxD;wBACY,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;qBAChE,EAAC,CAAC;iBACJ;aACF;SACF;QACD,OAAO,WAAW,CAAC;KACpB,CAAH;;;;;;;;IAEE,gBAAF,CAAA,SAAA,CAAA,gBAAkB;;;;;;;IAAhB,UAAiB,QAAa,EAAE,KAAa,EAC5B,WAAgB,EAAE,SAAoB,EADzD;QAAE,IAAF,KAAA,GAAA,IAAA,CAOG;QALC,QAAQ,CAAC,OAAO;;;;;QAAC,UAAC,KAAK,EAAE,KAAK,EAAlC;;YACA,IAAU,cAAc,GAAc,SAAS,CAAC,KAAK,EAAE,CAAvD;YACM,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;SAClE,EAAC,CAAC;KACJ,CAAH;;;;;;;;;;;;;IAOE,gBAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;IAAZ,UAAa,cAAmB,EAAlC;QAAE,IAAF,KAAA,GAAA,IAAA,CAIG;;QAHH,IAAQ,WAAW,GAAQ,EAAE,CAA7B;QACI,cAAc,CAAC,OAAO;;;;QAAC,UAAA,IAAI,EAA/B,EAAmC,OAAA,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAA9E,EAA8E,EAAC,CAAC;QAC5E,OAAO,WAAW,CAAC;KACpB,CAAH;;;;;;;;;;;;IAME,gBAAF,CAAA,SAAA,CAAA,oBAAsB;;;;;;;IAApB,UAAqB,KAAU,EAAE,WAA2B,EAA9D;QAAE,IAAF,KAAA,GAAA,IAAA,CAkBG;;QAjBH,IAAQ,OAAO,GAAQ,EAAE,CAAzB;;QACA,IAAQ,aAAa,GAAc,EAAE,CAArC;QACI,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAExB,KAAK,CAAC,OAAO;;;;QAAC,UAAA,IAAI,EAAtB;;YACA,IAAU,MAAM,GAAG,IAAI,CAAvB;YACM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;YACD,IAAI,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC3B,aAAa,CAAC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACvE;SACF,EAAC,CAAC;QACH,OAAO,OAAO,CAAC;KAChB,CAAH;IACA,OAAA,gBAAC,CAAD;CAAC,EAAD,CAAA,CAAC;;;;;;;;;AAUD,AAAA,IAAA;;;;;;;;;IAAiDD,SAAjD,CAAA,qBAAA,EAAA,MAAA,CAAA,CAA8D;IAa5D,SAAF,qBAAA,CAAsB,YAAgC,EAChC,cAAsC,EAC9C,WAAqB,EAFnC;QAEc,IAAd,WAAA,KAAA,KAAA,CAAA,EAAc,EAAA,WAAd,GAAA,EAAmC,CAAnC,EAAA;QAFE,IAAF,KAAA,GAGI,MAHJ,CAAA,IAAA,CAAA,IAAA,CAGW,IAHX,IAAA,CAKG;QALmB,KAAtB,CAAA,YAAkC,GAAZ,YAAY,CAAoB;QAChC,KAAtB,CAAA,cAAoC,GAAd,cAAc,CAAwB;QAb1D,KAAF,CAAA,cAAgB,GAAG,IAAID,oBAAe,CAAM,EAAE,CAAC,CAAC;QAE9C,KAAF,CAAA,aAAe,GAAG,IAAIA,oBAAe,CAAM,EAAE,CAAC,CAAC;QAc3C,KAAI,CAAC,KAAK,GAAG,IAAIA,oBAAe,CAAM,WAAW,CAAC,CAAC;;KACpD;IAZD,MAAF,CAAA,cAAA,CAAM,qBAAN,CAAA,SAAA,EAAA,MAAU,EAAV;;;;QAAE,YAAF,EAAe,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;QACvC,UAAS,KAAU,EAArB;YACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACzD;;;KALH,CAAA,CAAyC;;;;;IAcvC,qBAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,UAAQ,gBAAkC,EAA5C;QAAE,IAAF,KAAA,GAAA,IAAA,CAWG;;QAVH,IAAU,OAAO,GAAG;YACd,gBAAgB,CAAC,UAAU;YAC3B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ;YACzC,IAAI,CAAC,cAAc;SACpB,CAAL;QACI,OAAOF,UAAK,CAAhB,KAAA,CAAA,KAAA,CAAA,EAAoB,OAAO,CAA3B,CAA6B,IAAI,CAACC,aAAG;;;QAAC,YAAtC;YACM,KAAI,CAAC,aAAa,CAAC,IAAI,CACrB,KAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1F,OAAO,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACjC,EAAC,CAAC,CAAC;KACL,CAAH;;;;IAEE,qBAAF,CAAA,SAAA,CAAA,UAAY;;;IAAV,YAAF;;KAEG,CAAH;IACA,OAAA,qBAAC,CAAD;CAAC,CApCgDF,sBAAU,CAoC3D,CAAA,CAAA;;;;;;;;;;;;;ADjJA,AAAA,IAAA;;;;;;;;IAAgDI,SAAhD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAA6D;IAA7D,SAAA,uBAAA,GAAA;QAAA,IAAA,KAAA,GAAA,MAAA,KAAA,IAAA,IAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,IAAA,IAAA,CAmBC;QAlBC,KAAF,CAAA,KAAO,GAAG,IAAID,oBAAe,CAAM,EAAE,CAAC,CAAC;;KAkBtC;IAbC,MAAF,CAAA,cAAA,CAAM,uBAAN,CAAA,SAAA,EAAA,MAAU,EAAV;;;;;;;;QAAE,YAAF,EAAe,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;QACvC,UAAS,KAAU,EAArB,EAAyB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;;;KADlD,CAAA,CAAyC;;;;;IAGvC,uBAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,UAAQ,gBAAkC,EAA5C;QAAE,IAAF,KAAA,GAAA,IAAA,CAKG;QAJC,OAAOF,UAAK,CAAhB,KAAA,CAAA,KAAA,CAAA,EAAoB,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAA7D,CACO,IAAI,CAACC,aAAG;;;QAAC,YAAhB;YACQ,OAAO,KAAI,CAAC,IAAI,CAAC;SAClB,EAAC,CAAC,CAAC;KACP,CAAH;;;;IAEE,uBAAF,CAAA,SAAA,CAAA,UAAY;;;IAAV,YAAF;;KAEG,CAAH;IACA,OAAA,uBAAC,CAAD;CAAC,CAnB+CF,sBAAU,CAmB1D,CAAA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,5 +5,5 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/tree"),require("@angular/core"),require("@angular/material/core"),require("@angular/common"),require("@angular/cdk/collections"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/material/tree",["exports","@angular/cdk/tree","@angular/core","@angular/material/core","@angular/common","@angular/cdk/collections","rxjs","rxjs/operators"],t):t((e.ng=e.ng||{},e.ng.material=e.ng.material||{},e.ng.material.tree={}),e.ng.cdk.tree,e.ng.core,e.ng.material.core,e.ng.common,e.ng.cdk.collections,e.rxjs,e.rxjs.operators)}(this,function(e,t,r,n,o,a,i,d){"use strict";function s(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},l=function(){function e(e,t){this.viewContainer=e,this._node=t}return e.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeOutlet]"}]}],e.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:void 0,decorators:[{type:r.Inject,args:[t.CDK_TREE_NODE_OUTLET_NODE]},{type:r.Optional}]}]},e}(),c=n.mixinTabIndex(n.mixinDisabled(t.CdkTreeNode)),p=n.mixinTabIndex(n.mixinDisabled(t.CdkNestedTreeNode)),f=function(e){function n(t,r,n){var o=e.call(this,t,r)||this;return o._elementRef=t,o._tree=r,o.role="treeitem",o.tabIndex=Number(n)||0,o}return s(n,e),n.decorators=[{type:r.Directive,args:[{selector:"mat-tree-node",exportAs:"matTreeNode",inputs:["disabled","tabIndex"],host:{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":'role === "treeitem" ? level : null',"[attr.role]":"role",class:"mat-tree-node"},providers:[{provide:t.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:r.ElementRef},{type:t.CdkTree},{type:String,decorators:[{type:r.Attribute,args:["tabindex"]}]}]},n.propDecorators={role:[{type:r.Input}]},n}(c),g=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeDef]",inputs:["when: matTreeNodeDefWhen"],providers:[{provide:t.CdkTreeNodeDef,useExisting:n}]}]}],n.propDecorators={data:[{type:r.Input,args:["matTreeNode"]}]},n}(t.CdkTreeNodeDef),h=function(e){function n(t,r,n,o){var a=e.call(this,t,r,n)||this;return a._elementRef=t,a._tree=r,a._differs=n,a.tabIndex=Number(o)||0,a}return s(n,e),n.prototype.ngAfterContentInit=function(){e.prototype.ngAfterContentInit.call(this)},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this)},n.decorators=[{type:r.Directive,args:[{selector:"mat-nested-tree-node",exportAs:"matNestedTreeNode",host:{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role",class:"mat-nested-tree-node"},inputs:["disabled","tabIndex"],providers:[{provide:t.CdkNestedTreeNode,useExisting:n},{provide:t.CdkTreeNode,useExisting:n},{provide:t.CDK_TREE_NODE_OUTLET_NODE,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:r.ElementRef},{type:t.CdkTree},{type:r.IterableDiffers},{type:String,decorators:[{type:r.Attribute,args:["tabindex"]}]}]},n.propDecorators={node:[{type:r.Input,args:["matNestedTreeNode"]}],nodeOutlet:[{type:r.ContentChildren,args:[l,{descendants:!0}]}]},n}(p),m=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodePadding]",providers:[{provide:t.CdkTreeNodePadding,useExisting:n}]}]}],n.propDecorators={level:[{type:r.Input,args:["matTreeNodePadding"]}],indent:[{type:r.Input,args:["matTreeNodePaddingIndent"]}]},n}(t.CdkTreeNodePadding),y=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return s(n,e),n.decorators=[{type:r.Component,args:[{selector:"mat-tree",exportAs:"matTree",template:"<ng-container matTreeNodeOutlet></ng-container>",host:{class:"mat-tree",role:"tree"},styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;min-height:48px;flex:1;overflow:hidden;word-wrap:break-word}.mat-nested-tree-ndoe{border-bottom-width:0}"],encapsulation:r.ViewEncapsulation.None,changeDetection:r.ChangeDetectionStrategy.Default,providers:[{provide:t.CdkTree,useExisting:n}]}]}],n.propDecorators={_nodeOutlet:[{type:r.ViewChild,args:[l,{static:!0}]}]},n}(t.CdkTree),v=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.recursive=!1,t}return s(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeToggle]",providers:[{provide:t.CdkTreeNodeToggle,useExisting:n}]}]}],n.propDecorators={recursive:[{type:r.Input,args:["matTreeNodeToggleRecursive"]}]},n}(t.CdkTreeNodeToggle),x=[h,g,m,v,y,f,l],T=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[t.CdkTreeModule,o.CommonModule,n.MatCommonModule],exports:x,declarations:x}]}],e}(),_=function(){function e(e,t,r,n){this.transformFunction=e,this.getLevel=t,this.isExpandable=r,this.getChildren=n}return e.prototype._flattenNode=function(e,t,r,n){var o=this,a=this.transformFunction(e,t);if(r.push(a),this.isExpandable(a)){var i=this.getChildren(e);i&&(Array.isArray(i)?this._flattenChildren(i,t,r,n):i.pipe(d.take(1)).subscribe(function(e){o._flattenChildren(e,t,r,n)}))}return r},e.prototype._flattenChildren=function(e,t,r,n){var o=this;e.forEach(function(a,i){var d=n.slice();d.push(i!=e.length-1),o._flattenNode(a,t+1,r,d)})},e.prototype.flattenNodes=function(e){var t=this,r=[];return e.forEach(function(e){return t._flattenNode(e,0,r,[])}),r},e.prototype.expandFlattenedNodes=function(e,t){var r=this,n=[],o=[];return o[0]=!0,e.forEach(function(e){for(var a=!0,i=0;i<=r.getLevel(e);i++)a=a&&o[i];a&&n.push(e),r.isExpandable(e)&&(o[r.getLevel(e)+1]=t.isExpanded(e))}),n},e}(),N=function(e){function t(t,r,n){void 0===n&&(n=[]);var o=e.call(this)||this;return o._treeControl=t,o._treeFlattener=r,o._flattenedData=new i.BehaviorSubject([]),o._expandedData=new i.BehaviorSubject([]),o._data=new i.BehaviorSubject(n),o}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this,r=[e.viewChange,this._treeControl.expansionModel.onChange,this._flattenedData];return i.merge.apply(void 0,r).pipe(d.map(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))},t.prototype.disconnect=function(){},t}(a.DataSource),D=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._data=new i.BehaviorSubject([]),t}return s(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e)},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this;return i.merge.apply(void 0,[e.viewChange,this._data]).pipe(d.map(function(){return t.data}))},t.prototype.disconnect=function(){},t}(a.DataSource);e.MatTreeNode=f,e.MatTreeNodeDef=g,e.MatNestedTreeNode=h,e.MatTreeNodePadding=m,e.MatTree=y,e.MatTreeModule=T,e.MatTreeNodeToggle=v,e.MatTreeNodeOutlet=l,e.MatTreeFlattener=_,e.MatTreeFlatDataSource=N,e.MatTreeNestedDataSource=D,Object.defineProperty(e,"__esModule",{value:!0})});
8
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/tree"),require("@angular/core"),require("@angular/material/core"),require("@angular/cdk/coercion"),require("@angular/common"),require("@angular/cdk/collections"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/material/tree",["exports","@angular/cdk/tree","@angular/core","@angular/material/core","@angular/cdk/coercion","@angular/common","@angular/cdk/collections","rxjs","rxjs/operators"],t):t((e.ng=e.ng||{},e.ng.material=e.ng.material||{},e.ng.material.tree={}),e.ng.cdk.tree,e.ng.core,e.ng.material.core,e.ng.cdk.coercion,e.ng.common,e.ng.cdk.collections,e.rxjs,e.rxjs.operators)}(this,function(e,t,r,n,o,a,i,d,s){"use strict";function u(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var c=function(e,t){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},l=n.mixinTabIndex(n.mixinDisabled(t.CdkTreeNode)),p=function(e){function n(t,r,n){var o=e.call(this,t,r)||this;return o._elementRef=t,o._tree=r,o.role="treeitem",o.tabIndex=Number(n)||0,o}return u(n,e),n.decorators=[{type:r.Directive,args:[{selector:"mat-tree-node",exportAs:"matTreeNode",inputs:["disabled","tabIndex"],host:{"[attr.aria-expanded]":"isExpanded","[attr.aria-level]":'role === "treeitem" ? level : null',"[attr.role]":"role",class:"mat-tree-node"},providers:[{provide:t.CdkTreeNode,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:r.ElementRef},{type:t.CdkTree},{type:String,decorators:[{type:r.Attribute,args:["tabindex"]}]}]},n.propDecorators={role:[{type:r.Input}]},n}(l),f=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeDef]",inputs:["when: matTreeNodeDefWhen"],providers:[{provide:t.CdkTreeNodeDef,useExisting:n}]}]}],n.propDecorators={data:[{type:r.Input,args:["matTreeNode"]}]},n}(t.CdkTreeNodeDef),g=function(e){function n(t,r,n,o){var a=e.call(this,t,r,n)||this;return a._elementRef=t,a._tree=r,a._differs=n,a._disabled=!1,a.tabIndex=Number(o)||0,a}return u(n,e),Object.defineProperty(n.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=o.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){this._tabIndex=null!=e?e:0},enumerable:!0,configurable:!0}),n.prototype.ngAfterContentInit=function(){e.prototype.ngAfterContentInit.call(this)},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this)},n.decorators=[{type:r.Directive,args:[{selector:"mat-nested-tree-node",exportAs:"matNestedTreeNode",host:{"[attr.aria-expanded]":"isExpanded","[attr.role]":"role",class:"mat-nested-tree-node"},providers:[{provide:t.CdkNestedTreeNode,useExisting:n},{provide:t.CdkTreeNode,useExisting:n},{provide:t.CDK_TREE_NODE_OUTLET_NODE,useExisting:n}]}]}],n.ctorParameters=function(){return[{type:r.ElementRef},{type:t.CdkTree},{type:r.IterableDiffers},{type:String,decorators:[{type:r.Attribute,args:["tabindex"]}]}]},n.propDecorators={node:[{type:r.Input,args:["matNestedTreeNode"]}],disabled:[{type:r.Input}],tabIndex:[{type:r.Input}]},n}(t.CdkNestedTreeNode),h=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodePadding]",providers:[{provide:t.CdkTreeNodePadding,useExisting:n}]}]}],n.propDecorators={level:[{type:r.Input,args:["matTreeNodePadding"]}],indent:[{type:r.Input,args:["matTreeNodePaddingIndent"]}]},n}(t.CdkTreeNodePadding),y=function(){function e(e,t){this.viewContainer=e,this._node=t}return e.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeOutlet]",providers:[{provide:t.CdkTreeNodeOutlet,useExisting:e}]}]}],e.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:void 0,decorators:[{type:r.Inject,args:[t.CDK_TREE_NODE_OUTLET_NODE]},{type:r.Optional}]}]},e}(),m=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return u(n,e),n.decorators=[{type:r.Component,args:[{selector:"mat-tree",exportAs:"matTree",template:"<ng-container matTreeNodeOutlet></ng-container>",host:{class:"mat-tree",role:"tree"},styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;min-height:48px;flex:1;overflow:hidden;word-wrap:break-word}.mat-nested-tree-ndoe{border-bottom-width:0}"],encapsulation:r.ViewEncapsulation.None,changeDetection:r.ChangeDetectionStrategy.Default,providers:[{provide:t.CdkTree,useExisting:n}]}]}],n.propDecorators={_nodeOutlet:[{type:r.ViewChild,args:[y,{static:!0}]}]},n}(t.CdkTree),v=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.recursive=!1,t}return u(n,e),n.decorators=[{type:r.Directive,args:[{selector:"[matTreeNodeToggle]",providers:[{provide:t.CdkTreeNodeToggle,useExisting:n}]}]}],n.propDecorators={recursive:[{type:r.Input,args:["matTreeNodeToggleRecursive"]}]},n}(t.CdkTreeNodeToggle),_=[g,f,h,v,m,p,y],x=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[t.CdkTreeModule,a.CommonModule,n.MatCommonModule],exports:_,declarations:_}]}],e}(),T=function(){function e(e,t,r,n){this.transformFunction=e,this.getLevel=t,this.isExpandable=r,this.getChildren=n}return e.prototype._flattenNode=function(e,t,r,n){var o=this,a=this.transformFunction(e,t);if(r.push(a),this.isExpandable(a)){var i=this.getChildren(e);i&&(Array.isArray(i)?this._flattenChildren(i,t,r,n):i.pipe(s.take(1)).subscribe(function(e){o._flattenChildren(e,t,r,n)}))}return r},e.prototype._flattenChildren=function(e,t,r,n){var o=this;e.forEach(function(a,i){var d=n.slice();d.push(i!=e.length-1),o._flattenNode(a,t+1,r,d)})},e.prototype.flattenNodes=function(e){var t=this,r=[];return e.forEach(function(e){return t._flattenNode(e,0,r,[])}),r},e.prototype.expandFlattenedNodes=function(e,t){var r=this,n=[],o=[];return o[0]=!0,e.forEach(function(e){for(var a=!0,i=0;i<=r.getLevel(e);i++)a=a&&o[i];a&&n.push(e),r.isExpandable(e)&&(o[r.getLevel(e)+1]=t.isExpanded(e))}),n},e}(),N=function(e){function t(t,r,n){void 0===n&&(n=[]);var o=e.call(this)||this;return o._treeControl=t,o._treeFlattener=r,o._flattenedData=new d.BehaviorSubject([]),o._expandedData=new d.BehaviorSubject([]),o._data=new d.BehaviorSubject(n),o}return u(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this,r=[e.viewChange,this._treeControl.expansionModel.onChange,this._flattenedData];return d.merge.apply(void 0,r).pipe(s.map(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))},t.prototype.disconnect=function(){},t}(i.DataSource),b=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._data=new d.BehaviorSubject([]),t}return u(t,e),Object.defineProperty(t.prototype,"data",{get:function(){return this._data.value},set:function(e){this._data.next(e)},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this;return d.merge.apply(void 0,[e.viewChange,this._data]).pipe(s.map(function(){return t.data}))},t.prototype.disconnect=function(){},t}(i.DataSource);e.MatTreeNode=p,e.MatTreeNodeDef=f,e.MatNestedTreeNode=g,e.MatTreeNodePadding=h,e.MatTree=m,e.MatTreeModule=x,e.MatTreeNodeToggle=v,e.MatTreeNodeOutlet=y,e.MatTreeFlattener=T,e.MatTreeFlatDataSource=N,e.MatTreeNestedDataSource=b,Object.defineProperty(e,"__esModule",{value:!0})});
9
9
  //# sourceMappingURL=material-tree.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"material-tree.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/material/tree/outlet.ts","../../src/material/tree/node.ts","../../src/material/tree/padding.ts","../../src/material/tree/tree.ts","../../src/material/tree/toggle.ts","../../src/material/tree/tree-module.ts","../../src/material/tree/data-source/flat-data-source.ts","../../src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]'\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\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 CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\n\nimport {MatTreeNodeOutlet} from './outlet';\n\nconst _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\nconst _MatNestedTreeNodeMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof CdkNestedTreeNode =\n mixinTabIndex(mixinDisabled(CdkNestedTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n inputs: ['disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends _MatNestedTreeNodeMixinBase<T> implements\n AfterContentInit, CanDisable, HasTabIndex, OnDestroy {\n @Input('matNestedTreeNode') node: T;\n\n /** The children node placeholder. */\n @ContentChildren(MatTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n })\n nodeOutlet: QueryList<MatTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private _treeControl: FlatTreeControl<F>,\n private _treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this._treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MatTreeNodeOutlet","viewContainer","_node","type","Directive","args","selector","ViewContainerRef","undefined","decorators","Inject","CDK_TREE_NODE_OUTLET_NODE","Optional","_MatTreeNodeMixinBase","mixinTabIndex","mixinDisabled","CdkTreeNode","_MatNestedTreeNodeMixinBase","CdkNestedTreeNode","MatTreeNode","_super","_elementRef","_tree","tabIndex","_this","call","role","Number","tslib_1.__extends","exportAs","inputs","host","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class","providers","provide","useExisting","ElementRef","CdkTree","String","Attribute","Input","MatTreeNodeDef","CdkTreeNodeDef","data","MatNestedTreeNode","_differs","ngAfterContentInit","ngOnDestroy","IterableDiffers","node","nodeOutlet","ContentChildren","descendants","MatTreeNodePadding","CdkTreeNodePadding","level","indent","MatTree","Component","template","styles","encapsulation","ViewEncapsulation","None","propDecorators","MatTreeNodeToggle","apply","arguments","recursive","CdkTreeNodeToggle","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","imports","CdkTreeModule","CommonModule","MatCommonModule","exports","declarations","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","_treeControl","_treeFlattener","initialData","_flattenedData","BehaviorSubject","_expandedData","_data","defineProperty","value","next","dataNodes","connect","collectionViewer","changes","viewChange","expansionModel","onChange","merge","map","disconnect","DataSource","MatTreeNestedDataSource"],"mappings":"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"}
1
+ {"version":3,"file":"material-tree.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/material/tree/node.ts","../../src/material/tree/padding.ts","../../src/material/tree/outlet.ts","../../src/material/tree/tree.ts","../../src/material/tree/toggle.ts","../../src/material/tree/tree-module.ts","../../src/material/tree/data-source/flat-data-source.ts","../../src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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 CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeMixinBase: HasTabIndexCtor & CanDisableCtor & typeof CdkTreeNode =\n mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['disabled', 'tabIndex'],\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'mat-tree-node'\n },\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}]\n})\nexport class MatTreeNode<T> extends _MatTreeNodeMixinBase<T>\n implements CanDisable, HasTabIndex {\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree);\n\n this.tabIndex = Number(tabIndex) || 0;\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}]\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'mat-nested-tree-node',\n },\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode}\n ]\n})\nexport class MatNestedTreeNode<T> extends CdkNestedTreeNode<T> implements AfterContentInit,\n OnDestroy {\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) { this._disabled = coerceBooleanProperty(value); }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string) {\n super(_elementRef, _tree, _differs);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #23091 is fixed\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}]\n})\nexport class MatTreeNodePadding<T> extends CdkTreeNodePadding<T> {\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding') level: number;\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent') indent: number;\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {\n Directive,\n Inject,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [{\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }]\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}]\n})\nexport class MatTree<T> extends CdkTree<T> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) _nodeOutlet: MatTreeNodeOutlet;\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}]\n})\nexport class MatTreeNodeToggle<T> extends CdkTreeNodeToggle<T> {\n @Input('matTreeNodeToggleRecursive') recursive: boolean = false;\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n];\n\n@NgModule({\n imports: [CdkTreeModule, CommonModule, MatCommonModule],\n exports: MAT_TREE_DIRECTIVES,\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F> {\n\n constructor(public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) =>\n Observable<T[]> | T[] | undefined | null) {}\n\n _flattenNode(node: T, level: number,\n resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number,\n resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F> extends DataSource<F> {\n _flattenedData = new BehaviorSubject<F[]>([]);\n\n _expandedData = new BehaviorSubject<F[]>([]);\n\n _data: BehaviorSubject<T[]>;\n get data() { return this._data.value; }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n\n constructor(private _treeControl: FlatTreeControl<F>,\n private _treeFlattener: MatTreeFlattener<T, F>,\n initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n const changes = [\n collectionViewer.viewChange,\n this._treeControl.expansionModel.onChange,\n this._flattenedData\n ];\n return merge(...changes).pipe(map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n\n disconnect() {\n // no op\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n _data = new BehaviorSubject<T[]>([]);\n\n /**\n * Data for the nested tree\n */\n get data() { return this._data.value; }\n set data(value: T[]) { this._data.next(value); }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => {\n return this.data;\n }));\n }\n\n disconnect() {\n // no op\n }\n}\n\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","_MatTreeNodeMixinBase","mixinTabIndex","mixinDisabled","CdkTreeNode","MatTreeNode","_super","_elementRef","_tree","tabIndex","_this","call","role","Number","tslib_1.__extends","type","Directive","args","selector","exportAs","inputs","host","[attr.aria-expanded]","[attr.aria-level]","[attr.role]","class","providers","provide","useExisting","ElementRef","CdkTree","String","decorators","Attribute","Input","MatTreeNodeDef","CdkTreeNodeDef","data","MatNestedTreeNode","_differs","_disabled","defineProperty","value","coerceBooleanProperty","disabled","_tabIndex","ngAfterContentInit","ngOnDestroy","CdkNestedTreeNode","CDK_TREE_NODE_OUTLET_NODE","IterableDiffers","node","MatTreeNodePadding","CdkTreeNodePadding","level","indent","MatTreeNodeOutlet","viewContainer","_node","CdkTreeNodeOutlet","ViewContainerRef","undefined","Inject","Optional","MatTree","Component","template","styles","encapsulation","ViewEncapsulation","None","propDecorators","MatTreeNodeToggle","apply","arguments","recursive","CdkTreeNodeToggle","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","imports","CdkTreeModule","CommonModule","MatCommonModule","exports","declarations","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","_treeControl","_treeFlattener","initialData","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","connect","collectionViewer","changes","viewChange","expansionModel","onChange","merge","map","disconnect","DataSource","MatTreeNestedDataSource"],"mappings":"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"}